{"version":3,"sources":["./node_modules/core-js/modules/es.array.slice.js","./node_modules/core-js/modules/es.reflect.to-string-tag.js","./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","./node_modules/core-js/modules/es.math.cosh.js","./node_modules/core-js/internals/to-indexed-object.js","./node_modules/core-js/internals/use-symbol-as-uid.js","./node_modules/core-js/internals/dom-iterables.js","../../../src/internal/operators/repeat.ts","../../../src/internal/operators/distinctUntilChanged.ts","../../../src/internal/operators/distinct.ts","../../../src/internal/observable/fromEventPattern.ts","../../../src/internal/operators/publishReplay.ts","./node_modules/core-js/modules/es.object.to-string.js","./node_modules/core-js/internals/hidden-keys.js","./node_modules/core-js/internals/fails.js","../../../src/internal/operators/concatAll.ts","./node_modules/core-js/internals/get-built-in.js","../../../src/internal/operators/endWith.ts","./node_modules/zone.js/dist/zone.js","./node_modules/core-js/internals/object-property-is-enumerable.js","./node_modules/core-js/modules/es.symbol.iterator.js","./node_modules/core-js/internals/object-set-prototype-of.js","../../../src/internal/operators/reduce.ts","./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","./node_modules/core-js/internals/set-to-string-tag.js","../../../src/internal/operators/takeUntil.ts","./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","./node_modules/core-js/internals/array-reduce.js","../../../src/internal/operators/sampleTime.ts","./node_modules/core-js/modules/es.reflect.prevent-extensions.js","../../../src/internal/observable/zip.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","./node_modules/core-js/modules/es.reflect.is-extensible.js","./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","./node_modules/core-js/modules/es.string.raw.js","./node_modules/core-js/modules/es.array.map.js","../../../src/internal/symbol/rxSubscriber.ts","../../../src/internal/observable/partition.ts","../../src/internal/BehaviorSubject.ts","./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../src/internal/config.ts","./node_modules/core-js/internals/global.js","../../../src/internal/operators/skipWhile.ts","./node_modules/core-js/internals/object-keys.js","../../../src/internal/operators/delay.ts","./node_modules/core-js/modules/es.symbol.has-instance.js","./node_modules/core-js/modules/es.object.freeze.js","../../../src/internal/scheduler/AsyncAction.ts","../../../src/internal/operators/auditTime.ts","./node_modules/core-js/modules/web.dom-collections.iterator.js","../../../src/internal/operators/ignoreElements.ts","./node_modules/core-js/modules/es.symbol.description.js","../../../src/internal/util/ArgumentOutOfRangeError.ts","../../../src/internal/observable/bindNodeCallback.ts","./node_modules/core-js/internals/object-get-prototype-of.js","./node_modules/core-js/internals/correct-prototype-getter.js","../../../src/internal/operators/race.ts","./node_modules/core-js/modules/es.object.is-frozen.js","../../../src/internal/operators/timeInterval.ts","./node_modules/core-js/modules/es.parse-int.js","./node_modules/core-js/modules/es.array.iterator.js","./node_modules/core-js/internals/number-is-finite.js","./node_modules/core-js/internals/redefine-all.js","../../../src/internal/scheduled/schedulePromise.ts","../../../src/internal/operators/mergeMap.ts","../../../src/internal/operators/mergeScan.ts","../../src/internal/InnerSubscriber.ts","../../../src/internal/scheduled/scheduleObservable.ts","./node_modules/core-js/modules/es.object.is-sealed.js","./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","./node_modules/core-js/es/object/index.js","./node_modules/core-js/internals/well-known-symbol-wrapped.js","./node_modules/core-js/internals/array-last-index-of.js","./node_modules/core-js/modules/es.number.min-safe-integer.js","./node_modules/core-js/modules/es.object.define-setter.js","../../../src/internal/observable/never.ts","./node_modules/classlist.js/classList.js","./node_modules/core-js/internals/copy-constructor-properties.js","./node_modules/core-js/internals/is-array.js","./node_modules/core-js/internals/is-array-iterator-method.js","./node_modules/web-animations-js/web-animations.min.js","../../../src/internal/operators/debounce.ts","./node_modules/core-js/es/math/index.js","./node_modules/core-js/internals/object-prototype-accessors-forced.js","../../../src/internal/util/isObservable.ts","./node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","./node_modules/core-js/modules/es.date.to-primitive.js","../../../src/internal/scheduled/scheduled.ts","../../../src/internal/scheduler/asap.ts","../../src/internal/Subscriber.ts","./node_modules/core-js/es/number/index.js","./node_modules/core-js/modules/es.string.trim-start.js","../../../src/internal/scheduler/Action.ts","../../../src/internal/operators/combineAll.ts","./node_modules/core-js/modules/es.number.is-finite.js","../../../src/internal/util/canReportError.ts","./node_modules/core-js/internals/internal-metadata.js","./node_modules/core-js/internals/math-sign.js","./node_modules/core-js/internals/shared-key.js","./node_modules/core-js/modules/es.array.species.js","./node_modules/core-js/modules/es.date.to-json.js","../../../src/internal/operators/bufferCount.ts","./node_modules/core-js/modules/es.array.reduce-right.js","./node_modules/core-js/modules/es.string.code-point-at.js","./node_modules/core-js/internals/classof.js","../../../src/internal/operators/elementAt.ts","./node_modules/core-js/modules/es.math.fround.js","../../../src/internal/util/ObjectUnsubscribedError.ts","./node_modules/core-js/modules/es.string.from-code-point.js","./node_modules/core-js/internals/function-bind-context.js","../../../src/internal/operators/partition.ts","./node_modules/core-js/modules/es.regexp.test.js","./node_modules/core-js/internals/to-string-tag-support.js","./node_modules/core-js/modules/es.math.sinh.js","./node_modules/core-js/modules/es.object.values.js","../../../src/internal/operators/takeLast.ts","./node_modules/core-js/modules/es.array.flat.js","./node_modules/core-js/modules/es.string.blink.js","./node_modules/core-js/internals/function-bind.js","./node_modules/core-js/internals/object-get-own-property-names-external.js","./node_modules/core-js/internals/object-get-own-property-descriptor.js","./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../src/internal/util/isIterable.ts","./node_modules/core-js/es/parse-int.js","../../../src/internal/util/subscribeToObservable.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../src/internal/observable/from.ts","../../../src/internal/operators/mapTo.ts","./node_modules/core-js/modules/es.math.expm1.js","../../../src/internal/scheduler/async.ts","./node_modules/core-js/modules/es.json.to-string-tag.js","../../../src/internal/util/isArray.ts","./node_modules/core-js/internals/get-substitution.js","./node_modules/core-js/internals/string-pad.js","./node_modules/core-js/internals/ie8-dom-define.js","./node_modules/core-js/modules/es.date.to-string.js","./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","./node_modules/core-js/modules/es.string.big.js","./node_modules/core-js/modules/es.array.reduce.js","./node_modules/core-js/modules/es.weak-map.js","../../../src/internal/observable/ConnectableObservable.ts","./node_modules/core-js/internals/string-repeat.js","../../../src/internal/observable/empty.ts","./node_modules/core-js/modules/es.string.split.js","./node_modules/core-js/internals/same-value.js","./node_modules/core-js/modules/es.object.define-getter.js","./node_modules/core-js/modules/es.object.set-prototype-of.js","./node_modules/core-js/internals/array-for-each.js","../../../src/internal/util/not.ts","../../../src/internal/operators/bufferToggle.ts","./node_modules/core-js/internals/array-copy-within.js","./node_modules/core-js/internals/regexp-exec-abstract.js","../../../src/internal/operators/expand.ts","../../../src/internal/operators/min.ts","./node_modules/core-js/internals/html.js","./node_modules/core-js/modules/es.reflect.own-keys.js","../../../src/internal/operators/takeWhile.ts","./node_modules/core-js/modules/es.string.anchor.js","./node_modules/core-js/modules/es.string.fontsize.js","./node_modules/core-js/modules/es.symbol.species.js","./node_modules/core-js/internals/an-instance.js","../../../src/internal/operators/every.ts","../../../src/internal/operators/zip.ts","../../../src/internal/operators/repeatWhen.ts","../../../src/internal/observable/concat.ts","./node_modules/core-js/es/symbol/index.js","./node_modules/core-js/internals/a-function.js","../../src/internal/Observable.ts","./node_modules/core-js/internals/check-correctness-of-iteration.js","./node_modules/core-js/modules/es.object.define-properties.js","./node_modules/core-js/internals/require-object-coercible.js","./node_modules/core-js/internals/array-method-has-species-support.js","../../../src/internal/scheduler/QueueScheduler.ts","./node_modules/core-js/modules/es.string.trim-end.js","../../../src/internal/observable/onErrorResumeNext.ts","../../../src/internal/operators/count.ts","./node_modules/core-js/internals/math-log1p.js","./node_modules/core-js/internals/export.js","./node_modules/core-js/modules/es.symbol.split.js","../../../src/internal/util/isArrayLike.ts","./node_modules/core-js/internals/to-absolute-index.js","./node_modules/core-js/modules/es.math.to-string-tag.js","../../../src/internal/operators/toArray.ts","../../../src/internal/scheduler/AsyncScheduler.ts","./node_modules/core-js/internals/iterate.js","./node_modules/core-js/modules/es.string.strike.js","../../../src/internal/operators/take.ts","./node_modules/core-js/modules/es.array.is-array.js","./node_modules/core-js/internals/object-get-own-property-names.js","../../../src/internal/operators/catchError.ts","./node_modules/core-js/modules/es.string.includes.js","./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../src/internal/operators/startWith.ts","./node_modules/core-js/modules/es.number.parse-int.js","./node_modules/core-js/modules/es.regexp.to-string.js","./node_modules/@babel/runtime/helpers/esm/inherits.js","./node_modules/core-js/internals/set-species.js","../../../src/internal/operators/zipAll.ts","./node_modules/core-js/modules/es.array.reverse.js","../../../src/internal/operators/findIndex.ts","./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","./node_modules/core-js/modules/es.symbol.match.js","../../../src/internal/operators/debounceTime.ts","./node_modules/core-js/internals/iterator-close.js","../../../src/internal/operators/scan.ts","../../../src/internal/util/noop.ts","./node_modules/core-js/es/regexp/index.js","./node_modules/core-js/modules/es.math.sign.js","./node_modules/core-js/modules/es.object.is.js","./node_modules/core-js/modules/es.regexp.sticky.js","./node_modules/@babel/runtime/helpers/esm/createSuper.js","./node_modules/core-js/modules/es.string.starts-with.js","./node_modules/core-js/internals/engine-v8-version.js","../../../src/internal/observable/of.ts","../../../src/internal/symbol/iterator.ts","../../../src/internal/scheduled/scheduleIterable.ts","../../../src/internal/operators/retryWhen.ts","./node_modules/core-js/internals/object-define-properties.js","./node_modules/core-js/modules/es.object.get-prototype-of.js","./node_modules/core-js/internals/engine-user-agent.js","./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../src/internal/AsyncSubject.ts","../../../src/internal/util/hostReportError.ts","../../../src/internal/operators/last.ts","../../../src/internal/observable/range.ts","../../../src/internal/observable/defer.ts","./node_modules/core-js/internals/get-iterator-method.js","./node_modules/core-js/modules/es.number.epsilon.js","../../../src/internal/operators/publish.ts","../../../src/internal/observable/race.ts","../../../src/internal/observable/SubscribeOnObservable.ts","./node_modules/core-js/internals/a-possible-prototype.js","./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","./node_modules/core-js/modules/es.string.repeat.js","../../../src/internal/operators/groupBy.ts","../../../src/internal/operators/bufferTime.ts","./node_modules/core-js/internals/iterators.js","./node_modules/core-js/modules/es.string.iterator.js","./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../src/internal/operators/distinctUntilKeyChanged.ts","../../../src/internal/operators/bufferWhen.ts","./node_modules/core-js/modules/es.math.cbrt.js","../../../src/internal/observable/timer.ts","../../../src/internal/scheduler/AsapAction.ts","./node_modules/core-js/modules/es.reflect.define-property.js","./node_modules/core-js/modules/es.math.hypot.js","./node_modules/core-js/modules/es.array.unscopables.flat.js","../../../src/internal/util/isInteropObservable.ts","./node_modules/core-js/internals/this-number-value.js","./node_modules/core-js/modules/es.math.clz32.js","./node_modules/core-js/modules/es.array.for-each.js","../../../src/internal/observable/using.ts","./node_modules/core-js/internals/path.js","../../../src/internal/observable/bindCallback.ts","../../../../../../packages/animations/src/animation_builder.ts","../../../../../../packages/animations/src/animation_metadata.ts","../../../../../../packages/animations/src/util.ts","../../../../../../packages/animations/src/players/animation_player.ts","../../../../../../packages/animations/src/players/animation_group_player.ts","../../../../../../packages/animations/src/private_export.ts","../../../../../../packages/animations/src/animations.ts","../../../../../../packages/animations/public_api.ts","../../../../../../packages/animations/index.ts","../../../../../../packages/animations/animations.ts","../../../../../../packages/platform-browser/animations/src/animation_builder.ts","../../../../../../packages/platform-browser/animations/src/animation_renderer.ts","../../../../../../packages/platform-browser/animations/src/providers.ts","../../../../../../packages/platform-browser/animations/src/module.ts","../../../../../../packages/platform-browser/animations/src/private_export.ts","../../../../../../packages/platform-browser/animations/src/animations.ts","../../../../../../packages/platform-browser/animations/public_api.ts","../../../../../../packages/platform-browser/animations/index.ts","../../../../../../packages/platform-browser/animations/animations.ts","./node_modules/@babel/runtime/helpers/esm/construct.js","./node_modules/core-js/internals/indexed-object.js","./node_modules/core-js/internals/add-to-unscopables.js","./node_modules/core-js/internals/is-regexp.js","../../../src/internal/scheduler/AsapScheduler.ts","./node_modules/@babel/runtime/helpers/esm/get.js","./node_modules/core-js/modules/es.array.some.js","./node_modules/core-js/modules/es.string.match.js","./node_modules/core-js/internals/species-constructor.js","./node_modules/core-js/internals/native-symbol.js","./node_modules/core-js/modules/es.string.trim.js","../../../src/internal/util/subscribeTo.ts","./node_modules/core-js/es/reflect/index.js","../../../src/internal/util/identity.ts","./node_modules/core-js/modules/es.reflect.construct.js","../../../src/internal/operators/first.ts","./node_modules/@babel/runtime/helpers/esm/toArray.js","./node_modules/core-js/modules/es.object.entries.js","./node_modules/core-js/modules/es.string.sub.js","./node_modules/core-js/modules/es.regexp.constructor.js","./node_modules/core-js/internals/array-includes.js","./node_modules/core-js/modules/es.string.pad-start.js","./node_modules/core-js/modules/es.array.filter.js","./node_modules/core-js/internals/array-from.js","./node_modules/core-js/modules/es.array.sort.js","./node_modules/core-js/modules/es.map.js","./node_modules/core-js/modules/es.regexp.flags.js","./node_modules/@babel/runtime/helpers/esm/typeof.js","../../../src/internal/operators/publishBehavior.ts","../../../src/internal/operators/windowTime.ts","./node_modules/core-js/internals/to-length.js","./node_modules/core-js/internals/has.js","../../../src/internal/operators/mergeMapTo.ts","../../../src/internal/operators/shareReplay.ts","./node_modules/core-js/internals/date-to-primitive.js","./node_modules/core-js/modules/es.string.replace.js","./node_modules/core-js/modules/es.math.acosh.js","./node_modules/core-js/modules/es.number.to-precision.js","../../../src/internal/observable/merge.ts","./node_modules/core-js/internals/shared.js","../../../src/internal/scheduler/AnimationFrameAction.ts","./node_modules/core-js/internals/own-keys.js","./node_modules/core-js/modules/es.object.lookup-setter.js","./node_modules/core-js/modules/es.string.replace-all.js","./node_modules/core-js/modules/es.number.is-safe-integer.js","./node_modules/core-js/internals/whitespaces.js","./node_modules/core-js/internals/string-trim.js","../../src/internal/Notification.ts","../../../src/internal/observable/generate.ts","./node_modules/core-js/internals/not-a-regexp.js","../../../src/internal/util/toSubscriber.ts","../../../src/internal/operators/throwIfEmpty.ts","./node_modules/core-js/internals/create-property-descriptor.js","../../src/internal/Subject.ts","./node_modules/@babel/runtime/helpers/esm/superPropBase.js","./node_modules/core-js/modules/es.reflect.get.js","./node_modules/core-js/modules/es.array.flat-map.js","./node_modules/core-js/modules/es.array.of.js","../../../src/internal/util/isObject.ts","./node_modules/core-js/internals/is-integer.js","../../../src/internal/operators/exhaustMap.ts","./node_modules/core-js/es/map/index.js","../../src/internal/Scheduler.ts","../../../src/internal/util/TimeoutError.ts","../../../src/internal/operators/switchAll.ts","../../../src/internal/util/isNumeric.ts","./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","./node_modules/core-js/internals/engine-is-node.js","./node_modules/core-js/modules/es.set.js","./node_modules/core-js/internals/object-assign.js","../../src/internal/SubjectSubscription.ts","../../../src/internal/scheduler/QueueAction.ts","./node_modules/core-js/internals/date-to-iso-string.js","../../../src/internal/util/subscribeToResult.ts","./node_modules/core-js/internals/string-multibyte.js","./node_modules/core-js/internals/collection-strong.js","./node_modules/core-js/internals/array-species-create.js","../../../projects/ngx-page-scroll-core/src/lib/page-scroll-instance.ts","../../../projects/ngx-page-scroll-core/src/lib/providers/config.provider.ts","../../../projects/ngx-page-scroll-core/src/lib/providers/ngx-page-scroll.service.ts","../../../projects/ngx-page-scroll-core/src/lib/ngx-page-scroll-core.module.ts","../../../projects/ngx-page-scroll-core/src/public-api.ts","../../../projects/ngx-page-scroll-core/src/ngx-page-scroll-core.ts","./node_modules/core-js/modules/es.string.sup.js","../../../src/internal/operators/pairwise.ts","../../../src/internal/operators/sequenceEqual.ts","./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","./node_modules/core-js/modules/es.symbol.search.js","./node_modules/core-js/modules/es.math.log10.js","../../../src/internal/util/subscribeToPromise.ts","../../../src/internal/operators/switchMapTo.ts","./node_modules/core-js/internals/internal-state.js","./node_modules/core-js/internals/object-to-array.js","../../../src/internal/operators/mergeAll.ts","../../../src/internal/operators/concatMap.ts","./node_modules/core-js/internals/collection.js","./node_modules/core-js/modules/es.date.now.js","./node_modules/core-js/internals/redefine.js","../../../src/internal/util/isPromise.ts","../../../src/internal/operators/sample.ts","../../../src/internal/util/Immediate.ts","./node_modules/core-js/modules/es.array.unscopables.flat-map.js","../../../src/internal/operators/find.ts","./node_modules/core-js/modules/es.object.get-own-property-names.js","./node_modules/core-js/es/function/index.js","./node_modules/core-js/internals/inherit-if-required.js","../../../src/internal/operators/delayWhen.ts","../../../src/internal/observable/forkJoin.ts","../../../src/internal/operators/single.ts","./node_modules/core-js/internals/object-get-own-property-symbols.js","./node_modules/core-js/internals/define-well-known-symbol.js","../../../src/internal/operators/materialize.ts","./node_modules/core-js/internals/enum-bug-keys.js","../../../src/internal/operators/switchMap.ts","./node_modules/core-js/modules/es.math.tanh.js","../../../src/internal/scheduler/animationFrame.ts","./node_modules/core-js/modules/es.math.asinh.js","./node_modules/core-js/modules/es.object.define-property.js","./node_modules/core-js/internals/to-object.js","../../../src/internal/operators/concat.ts","./node_modules/core-js/modules/es.reflect.get-prototype-of.js","./node_modules/core-js/internals/native-weak-map.js","../../../src/internal/operators/combineLatest.ts","./node_modules/core-js/internals/object-create.js","./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","./node_modules/core-js/modules/es.array.find.js","./node_modules/core-js/internals/define-iterator.js","./node_modules/core-js/internals/number-parse-float.js","./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","./node_modules/core-js/es/date/index.js","./node_modules/core-js/modules/es.reflect.set.js","./node_modules/core-js/internals/descriptors.js","./node_modules/core-js/modules/es.symbol.replace.js","../../src/internal/Observer.ts","./node_modules/core-js/modules/es.symbol.to-primitive.js","./node_modules/core-js/modules/es.symbol.unscopables.js","../../../src/internal/operators/throttleTime.ts","./node_modules/core-js/internals/array-fill.js","./node_modules/core-js/internals/an-object.js","./node_modules/core-js/internals/create-property.js","./node_modules/core-js/modules/es.string.search.js","./node_modules/core-js/modules/es.string.pad-end.js","../../../src/internal/observable/pairs.ts","./node_modules/core-js/internals/create-html.js","./node_modules/core-js/internals/is-object.js","./node_modules/core-js/modules/es.reflect.set-prototype-of.js","./node_modules/core-js/modules/es.number.is-integer.js","../../../src/internal/scheduler/VirtualTimeScheduler.ts","./node_modules/core-js/internals/inspect-source.js","./node_modules/core-js/modules/es.string.ends-with.js","./node_modules/core-js/internals/advance-string-index.js","../../../src/internal/observable/combineLatest.ts","../../../src/internal/scheduled/scheduleArray.ts","../../../../../../packages/platform-browser/src/browser/generic_browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/browser_adapter.ts","../../../../../../packages/platform-browser/src/browser/server-transition.ts","../../../../../../packages/platform-browser/src/browser/testability.ts","../../../../../../packages/platform-browser/src/dom/util.ts","../../../../../../packages/platform-browser/src/dom/debug/ng_probe.ts","../../../../../../packages/platform-browser/src/dom/events/event_manager.ts","../../../../../../packages/platform-browser/src/dom/shared_styles_host.ts","../../../../../../packages/platform-browser/src/dom/dom_renderer.ts","../../../../../../packages/platform-browser/src/dom/events/dom_events.ts","../../../../../../packages/platform-browser/src/dom/events/hammer_gestures.ts","../../../../../../packages/platform-browser/src/dom/events/key_events.ts","../../../../../../packages/platform-browser/src/security/dom_sanitization_service.ts","../../../../../../packages/platform-browser/src/browser.ts","../../../../../../packages/platform-browser/src/browser/meta.ts","../../../../../../packages/platform-browser/src/browser/title.ts","../../../../../../packages/platform-browser/src/browser/tools/browser.ts","../../../../../../packages/platform-browser/src/browser/tools/common_tools.ts","../../../../../../packages/platform-browser/src/browser/tools/tools.ts","../../../../../../packages/platform-browser/src/browser/transfer_state.ts","../../../../../../packages/platform-browser/src/dom/debug/by.ts","../../../../../../packages/platform-browser/src/private_export.ts","../../../../../../packages/platform-browser/src/version.ts","../../../../../../packages/platform-browser/src/platform-browser.ts","../../../../../../packages/platform-browser/public_api.ts","../../../../../../packages/platform-browser/index.ts","../../../../../../packages/platform-browser/platform-browser.ts","./node_modules/core-js/internals/math-expm1.js","./node_modules/core-js/modules/es.symbol.match-all.js","../../src/internal/ReplaySubject.ts","./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../../../src/internal/symbol/observable.ts","./node_modules/core-js/modules/es.math.log2.js","./node_modules/core-js/internals/uid.js","./node_modules/core-js/internals/create-non-enumerable-property.js","./node_modules/core-js/modules/es.number.is-nan.js","../../src/operators/index.ts","../../../src/internal/operators/skipLast.ts","../../../src/internal/operators/dematerialize.ts","./node_modules/core-js/internals/regexp-exec.js","./node_modules/core-js/es/array/index.js","./node_modules/core-js/modules/es.string.fontcolor.js","../../../src/internal/observable/interval.ts","../../src/internal/OuterSubscriber.ts","./node_modules/core-js/modules/es.symbol.to-string-tag.js","../../../src/internal/operators/map.ts","./node_modules/core-js/internals/is-forced.js","../../../src/internal/operators/windowCount.ts","./node_modules/core-js/internals/object-define-property.js","../../../src/internal/operators/isEmpty.ts","./node_modules/core-js/internals/call-with-safe-iteration-closing.js","../../../src/internal/util/pipe.ts","./node_modules/core-js/es/string/index.js","./node_modules/core-js/modules/es.string.link.js","./node_modules/core-js/modules/es.array.concat.js","./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","./node_modules/core-js/internals/string-pad-webkit-bug.js","./node_modules/core-js/es/set/index.js","../../../src/internal/operators/window.ts","../../../src/internal/util/isDate.ts","./node_modules/core-js/modules/es.math.atanh.js","./node_modules/core-js/internals/regexp-sticky-helpers.js","../../../projects/ngx-page-scroll/src/lib/ngx-page-scroll.directive.ts","../../../projects/ngx-page-scroll/src/lib/ngx-page-scroll.module.ts","../../../projects/ngx-page-scroll/src/public-api.ts","../../../projects/ngx-page-scroll/src/ngx-page-scroll.ts","../../../src/internal/util/isFunction.ts","../../../src/internal/operators/finalize.ts","../../../src/internal/util/subscribeToArray.ts","./node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js","./node_modules/core-js/internals/create-iterator-constructor.js","../../../src/internal/operators/multicast.ts","./node_modules/core-js/modules/es.array.join.js","./node_modules/core-js/modules/es.string.match-all.js","../../../../../../packages/common/src/dom_adapter.ts","../../../../../../packages/common/src/dom_tokens.ts","../../../../../../packages/common/src/location/platform_location.ts","../../../../../../packages/common/src/private_export.ts","../../../../../../packages/common/src/location/util.ts","../../../../../../packages/common/src/location/location_strategy.ts","../../../../../../packages/common/src/location/hash_location_strategy.ts","../../../../../../packages/common/src/location/location.ts","../../../../../../packages/common/src/location/index.ts","../../../../../../packages/common/src/i18n/currencies.ts","../../../../../../packages/common/src/i18n/locale_data_api.ts","../../../../../../packages/common/src/i18n/format_date.ts","../../../../../../packages/common/src/i18n/format_number.ts","../../../../../../packages/common/src/i18n/localization.ts","../../../../../../packages/common/src/i18n/locale_data.ts","../../../../../../packages/common/src/cookie.ts","../../../../../../packages/common/src/directives/ng_class.ts","../../../../../../packages/common/src/directives/ng_component_outlet.ts","../../../../../../packages/common/src/directives/ng_for_of.ts","../../../../../../packages/common/src/directives/ng_if.ts","../../../../../../packages/common/src/directives/ng_switch.ts","../../../../../../packages/common/src/directives/ng_plural.ts","../../../../../../packages/common/src/directives/ng_style.ts","../../../../../../packages/common/src/directives/ng_template_outlet.ts","../../../../../../packages/common/src/directives/index.ts","../../../../../../packages/common/src/pipes/invalid_pipe_argument_error.ts","../../../../../../packages/common/src/pipes/async_pipe.ts","../../../../../../packages/common/src/pipes/case_conversion_pipes.ts","../../../../../../packages/common/src/pipes/date_pipe.ts","../../../../../../packages/common/src/pipes/i18n_plural_pipe.ts","../../../../../../packages/common/src/pipes/i18n_select_pipe.ts","../../../../../../packages/common/src/pipes/json_pipe.ts","../../../../../../packages/common/src/pipes/keyvalue_pipe.ts","../../../../../../packages/common/src/pipes/number_pipe.ts","../../../../../../packages/common/src/pipes/slice_pipe.ts","../../../../../../packages/common/src/pipes/index.ts","../../../../../../packages/common/src/common_module.ts","../../../../../../packages/common/src/platform_id.ts","../../../../../../packages/common/src/version.ts","../../../../../../packages/common/src/viewport_scroller.ts","../../../../../../packages/common/src/common.ts","../../../../../../packages/common/public_api.ts","../../../../../../packages/common/index.ts","../../../../../../packages/common/common.ts","./node_modules/core-js/internals/flatten-into-array.js","../../../src/internal/operators/buffer.ts","./node_modules/core-js/modules/es.array.splice.js","../../../src/internal/operators/filter.ts","../../../src/internal/util/subscribeToIterable.ts","./node_modules/core-js/modules/es.symbol.js","../../../src/internal/operators/windowWhen.ts","./node_modules/core-js/modules/es.array.every.js","../../../src/internal/util/UnsubscriptionError.ts","./node_modules/core-js/modules/es.array.from.js","./node_modules/core-js/internals/array-method-is-strict.js","./node_modules/core-js/internals/to-integer.js","./node_modules/core-js/modules/es.reflect.apply.js","../../../src/internal/operators/observeOn.ts","../../../src/internal/operators/concatMapTo.ts","../../../src/internal/operators/merge.ts","../src/index.ts","./node_modules/core-js/modules/es.array.copy-within.js","../../../src/internal/operators/publishLast.ts","./node_modules/core-js/modules/es.number.constructor.js","../../../src/internal/scheduler/queue.ts","../src/backends/browser_xhr.ts","../src/enums.ts","../src/headers.ts","../src/base_response_options.ts","../src/interfaces.ts","../src/http_utils.ts","../src/url_search_params.ts","../src/body.ts","../src/static_response.ts","../src/backends/browser_jsonp.ts","../src/backends/jsonp_backend.ts","../src/backends/xhr_backend.ts","../src/base_request_options.ts","../src/static_request.ts","../src/http.ts","../src/http_module.ts","../src/version.ts","../http.ts","../../src/internal/Subscription.ts","./node_modules/core-js/internals/correct-is-regexp-logic.js","./node_modules/core-js/modules/es.number.max-safe-integer.js","../../../src/internal/operators/timestamp.ts","../../../src/internal/observable/iif.ts","./node_modules/core-js/modules/es.object.seal.js","./node_modules/core-js/modules/es.regexp.exec.js","./node_modules/core-js/modules/es.reflect.delete-property.js","./node_modules/core-js/internals/collection-weak.js","./node_modules/core-js/modules/es.date.to-iso-string.js","./node_modules/core-js/modules/es.parse-float.js","./node_modules/core-js/internals/regexp-flags.js","./node_modules/core-js/es/weak-map/index.js","./node_modules/@babel/runtime/helpers/esm/defineProperty.js","./node_modules/core-js/internals/iterators-core.js","./node_modules/core-js/internals/string-html-forced.js","./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","./node_modules/core-js/internals/object-to-string.js","./node_modules/core-js/modules/es.function.name.js","../../../src/internal/operators/windowToggle.ts","../../../src/internal/util/EmptyError.ts","../../../src/internal/operators/timeoutWith.ts","../../../../../../packages/animations/browser/src/render/shared.ts","../../../../../../packages/animations/browser/src/render/animation_driver.ts","../../../../../../packages/animations/browser/src/util.ts","../../../../../../packages/animations/browser/src/dsl/animation_transition_expr.ts","../../../../../../packages/animations/browser/src/dsl/animation_ast_builder.ts","../../../../../../packages/animations/browser/src/dsl/animation_timeline_instruction.ts","../../../../../../packages/animations/browser/src/dsl/element_instruction_map.ts","../../../../../../packages/animations/browser/src/dsl/animation_timeline_builder.ts","../../../../../../packages/animations/browser/src/dsl/animation.ts","../../../../../../packages/animations/browser/src/dsl/style_normalization/animation_style_normalizer.ts","../../../../../../packages/animations/browser/src/dsl/style_normalization/web_animations_style_normalizer.ts","../../../../../../packages/animations/browser/src/dsl/animation_transition_instruction.ts","../../../../../../packages/animations/browser/src/dsl/animation_transition_factory.ts","../../../../../../packages/animations/browser/src/dsl/animation_trigger.ts","../../../../../../packages/animations/browser/src/render/timeline_animation_engine.ts","../../../../../../packages/animations/browser/src/render/transition_animation_engine.ts","../../../../../../packages/animations/browser/src/render/animation_engine_next.ts","../../../../../../packages/animations/browser/src/render/special_cased_styles.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/element_animation_style_handler.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/css_keyframes_player.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/direct_style_player.ts","../../../../../../packages/animations/browser/src/render/css_keyframes/css_keyframes_driver.ts","../../../../../../packages/animations/browser/src/render/web_animations/web_animations_player.ts","../../../../../../packages/animations/browser/src/render/web_animations/web_animations_driver.ts","../../../../../../packages/animations/browser/src/private_export.ts","../../../../../../packages/animations/browser/src/browser.ts","../../../../../../packages/animations/browser/public_api.ts","../../../../../../packages/animations/browser/index.ts","../../../../../../packages/animations/browser/browser.ts","../../../src/internal/operators/timeout.ts","./node_modules/core-js/modules/es.function.has-instance.js","../../../src/internal/operators/subscribeOn.ts","./node_modules/core-js/es/parse-float.js","./node_modules/core-js/internals/well-known-symbol.js","./node_modules/core-js/modules/es.symbol.async-iterator.js","./node_modules/core-js/modules/es.object.keys.js","./node_modules/core-js/modules/es.math.trunc.js","../../../src/internal/operators/audit.ts","./node_modules/core-js/modules/es.number.to-fixed.js","../../../../../../packages/router/src/events.ts","../../../../../../packages/router/src/shared.ts","../../../../../../packages/router/src/utils/collection.ts","../../../../../../packages/router/src/url_tree.ts","../../../../../../packages/router/src/utils/tree.ts","../../../../../../packages/router/src/router_state.ts","../../../../../../packages/router/src/create_router_state.ts","../../../../../../packages/router/src/create_url_tree.ts","../../../../../../packages/router/src/operators/activate_routes.ts","../../../../../../packages/router/src/config.ts","../../../../../../packages/router/src/utils/type_guards.ts","../../../../../../packages/router/src/operators/prioritized_guard_value.ts","../../../../../../packages/router/src/components/empty_outlet.ts","../../../../../../packages/router/src/utils/config.ts","../../../../../../packages/router/src/utils/config_matching.ts","../../../../../../packages/router/src/apply_redirects.ts","../../../../../../packages/router/src/operators/apply_redirects.ts","../../../../../../packages/router/src/utils/preactivation.ts","../../../../../../packages/router/src/operators/check_guards.ts","../../../../../../packages/router/src/recognize.ts","../../../../../../packages/router/src/operators/recognize.ts","../../../../../../packages/router/src/operators/resolve_data.ts","../../../../../../packages/router/src/operators/switch_tap.ts","../../../../../../packages/router/src/route_reuse_strategy.ts","../../../../../../packages/router/src/router_config_loader.ts","../../../../../../packages/router/src/router_outlet_context.ts","../../../../../../packages/router/src/url_handling_strategy.ts","../../../../../../packages/router/src/router.ts","../../../../../../packages/router/src/directives/router_link.ts","../../../../../../packages/router/src/directives/router_link_active.ts","../../../../../../packages/router/src/directives/router_outlet.ts","../../../../../../packages/router/src/router_preloader.ts","../../../../../../packages/router/src/router_scroller.ts","../../../../../../packages/router/src/router_module.ts","../../../../../../packages/router/src/version.ts","../../../../../../packages/router/src/private_export.ts","../../../../../../packages/router/src/index.ts","../../../../../../packages/router/public_api.ts","../../../../../../packages/router/index.ts","../../../../../../packages/router/router.ts","./node_modules/core-js/internals/array-iteration.js","./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","./node_modules/core-js/modules/es.object.create.js","../../../src/internal/operators/onErrorResumeNext.ts","../../../src/internal/operators/retry.ts","./node_modules/core-js/modules/es.array.last-index-of.js","./node_modules/core-js/internals/freezing.js","./node_modules/core-js/modules/es.object.lookup-getter.js","./node_modules/core-js/modules/es.math.imul.js","../../../src/internal/operators/tap.ts","./node_modules/core-js/internals/math-fround.js","../../../src/internal/operators/skipUntil.ts","./node_modules/@babel/runtime/helpers/esm/createClass.js","./node_modules/core-js/modules/es.number.parse-float.js","../../../src/internal/operators/share.ts","./node_modules/core-js/internals/to-primitive.js","./node_modules/core-js/modules/es.function.bind.js","../../../src/internal/operators/pluck.ts","./node_modules/core-js/modules/es.object.from-entries.js","./node_modules/core-js/internals/number-parse-int.js","../../../src/internal/operators/refCount.ts","./node_modules/core-js/modules/es.array.find-index.js","./node_modules/core-js/modules/es.reflect.has.js","./node_modules/core-js/modules/es.string.fixed.js","./node_modules/core-js/internals/is-pure.js","../../../src/internal/operators/defaultIfEmpty.ts","./node_modules/core-js/modules/es.string.italics.js","../../../src/internal/observable/fromEvent.ts","./node_modules/core-js/internals/classof-raw.js","./node_modules/core-js/internals/shared-store.js","../../../src/internal/observable/fromArray.ts","../../../src/internal/operators/max.ts","./node_modules/core-js/internals/string-trim-forced.js","./node_modules/core-js/modules/es.object.is-extensible.js","./node_modules/core-js/modules/es.string.small.js","./node_modules/core-js/modules/es.array.index-of.js","./node_modules/core-js/modules/es.math.log1p.js","./node_modules/core-js/internals/object-keys-internal.js","./node_modules/core-js/modules/es.array.includes.js","../../../src/internal/operators/throttle.ts","./node_modules/core-js/modules/es.array.fill.js","../../../src/internal/util/isScheduler.ts","../../../src/internal/observable/throwError.ts","./node_modules/core-js/internals/document-create-element.js","./node_modules/core-js/modules/es.string.bold.js","./node_modules/core-js/modules/es.object.assign.js","../../../src/internal/operators/skip.ts","./node_modules/core-js/internals/set-global.js","../../../src/internal/scheduler/AnimationFrameScheduler.ts","../../../src/internal/operators/withLatestFrom.ts","../../../src/internal/operators/exhaust.ts","./node_modules/core-js/modules/es.object.prevent-extensions.js","../../src/internal/innerSubscribe.ts"],"names":["factory","define","Zone$1","global","performance","mark","name","performanceMeasure","label","symbolPrefix","__symbol__","checkDuplicate","Error","Zone","parent","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","ZoneDelegate","assertZonePatched","patches","Object","defineProperty","get","zone","current","enumerable","configurable","_currentZoneFrame","_currentTask","__load_patch","fn","hasOwnProperty","perfName","_api","prototype","key","getZoneWith","fork","wrap","callback","source","_callback","intercept","runGuarded","arguments","run","applyThis","applyArgs","invoke","error","handleError","runTask","task","NO_ZONE","state","notScheduled","type","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","data","isPeriodic","cancelFn","undefined","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","err","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","count","i","length","DELEGATE_ZS","onHasTask","delegate","_","target","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","apply","returnTask","push","scheduleFn","value","isEmpty","counts","prev","next","change","options","_state","self","useG","call","args","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","toString","handleId","toJSON","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeMicroTaskQueuePromise","resolve","nativeThen","queue","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","setNativePromise","NativePromise","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","window","api","getOwnPropertyDescriptor","readableObjectToString","obj","className","constructor","JSON","stringify","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","creationTrace","e","rejection","console","message","stack","_loop_1","uncaughtPromiseError","shift","handleUnhandledRejection","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handler","isThenable","then","forwardResolution","forwardRejection","ZoneAwarePromise","reject","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","promise","v","resolvePromise","once","wasCalled","wrapper","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","TypeError","clearRejectedNoCatch","trace","currentTask","writable","scheduleResolveOrReject","REJECTION_HANDLED_HANDLER","splice","chainPromise","onFulfilled","onRejected","promiseState","parentPromiseValue","isFinallyPromise","ZONE_AWARE_PROMISE_TO_STRING","executor","race","values","res","rej","onResolve","onReject","_i","values_1","all","allWithCallback","allSettled","P","thenCallback","status","errorCallback","reason","unresolvedCount","valueIndex","resolvedValues","_loop_2","this_1","curValueIndex","thenErr","values_2","Symbol","toStringTag","species","C","catch","finally","onFinally","ZONE_AWARE_PROMISE","desc","set","NewNativePromise","symbolThenPatched","Ctor","proto","prop","originalThen","_this","wrapped","zoneify","resultPromise","ctor","fetch_1","Promise","ObjectGetPrototypeOf","getPrototypeOf","create","Array","slice","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","NULL_ON_PROP_VALUE","patchPrototype","fnNames","_loop_3","name_1","prototypeDesc","isPropertyWritable","patched","propertyDesc","isWebWorker","WorkerGlobalScope","isNode","process","isBrowser","isMix","zoneSymbolEventNames","wrapFn","event","eventNameSymbol","listener","result","errorEvent","filename","lineno","colno","preventDefault","patchProperty","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","substr","newValue","previousValue","removeEventListener","addEventListener","removeAttribute","onProperties","j","originalInstanceKey","OriginalClass","a","instance","copySymbolProperties","src","dest","getOwnPropertySymbols","symbols","forEach","shouldCopySymbolProperties","patchFn","delegateName","patchDelegate_1","funcName","metaCreator","setNative","cbIdx","meta","original","isDetectedIEOrEdge","ieOrEdge","isIE","ua","navigator","userAgent","indexOf","originalFunctionToString","Function","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","PROMISE_OBJECT_TO_STRING","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames$1","globalSources","EVENT_NAME_SYMBOL_REGX","RegExp","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbolCapture","apis","patchOptions","ADD_EVENT_LISTENER","add","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","delegate_1","globalZoneAwareCallback","tasks","copyTasks","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","rt","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","nativePrependEventListener","prepend","buildEventListenerOptions","passive","capture","assign","customScheduleGlobal","isExisting","customCancelGlobal","symbolEventNames","symbolEventName","existingTasks","existingTask","allRemoved","customScheduleNonGlobal","customSchedulePrepend","customCancelNonGlobal","compareTaskCallbackVsDelegate","typeOfDelegate","compare","diff","blackListedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","constructorName","targetSource","unshift","onPropertySymbol","findEventTasks","keys","match","exec","evtName","symbolCaptureEventName","captureTasks","removeTasks","results","foundTasks","captureFalseTasks","captureTrueTasks","concat","Event","targetName","method","callbacks","nativeDelegate","opts","descriptor","globalEventHandlersEventNames","documentEventNames","windowEventNames","htmlElementEventNames","mediaElementEventNames","ieElementEventNames","webglEventNames","formEventNames","detailEventNames","frameEventNames","frameSetEventNames","marqueeEventNames","XMLHttpRequestEventNames","IDBIndexEventNames","websocketEventNames","workerEventNames","eventNames","ignoreProperties","tip","filter","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","propertyDescriptorPatch","supportsWebSocket","WebSocket","internalWindow_1","ignoreErrorProperties","Document","Element","HTMLElement","HTMLMediaElement","HTMLFrameSetElement","HTMLBodyElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement_1","Worker_1","XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","zoneSymbol$1","_defineProperty","_getOwnPropertyDescriptor","_create","unconfigurablesKey","propertyPatch","isUnconfigurable","originalConfigurableFlag","rewriteDescriptor","_tryDefineProperty","defineProperties","props","isFrozen","descJson","log","eventTargetLegacyPatch","_a","WTF_ISSUE_555","NO_EVENT_TARGET","split","EVENT_TARGET","isWtf","WTF_ISSUE_555_ARRAY","map","isDisableIECheck","isEnableCrossContextCheck","FUNCTION_WRAPPER","BROWSER_TOOLS","pointerEventsMap","targets","checkIEAndCrossContext","testString","apiTypes","pointerEventName","WS","EventTarget","x","y","socket","proxySocket","proxySocketProto","onmessageDesc","propName","propertySymbol","globalWebSocket","propertyDescriptorLegacyPatch","canPatchViaPropertyDescriptor","patchViaCapturingAllTheEvents","div","document","createElement","onclick","ON_READY_STATE_CHANGE","XMLHttpRequestPrototype","xhrDesc","req","onreadystatechange","SYMBOL_FAKE_ONREADYSTATECHANGE_1","detectFunc","unboundKey","_loop_4","property","onproperty","elt","bound","parentElement","registerElementPatch","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","timer","clearTask","delay","handle","ref","unref","bind","id","patchCustomElements","customElements","eventTargetPatch","patchEvent","legacyPatch","clear","blockingMethods","name_2","s","patchXHR","XHR_TASK","XHR_SYNC","XHR_LISTENER","XHR_SCHEDULED","XHR_URL","XHR_ERROR_BEFORE_SCHEDULED","findPendingTask","oriAddListener","oriRemoveListener","XMLHttpRequestEventTarget_1","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","newListener","readyState","DONE","aborted","loadTasks","oriInvoke_1","storedTask","sendNative","placeholderCallback","abortNative","openNative","XMLHTTPREQUEST_SOURCE","fetchTaskAborting","fetchTaskScheduling","url","geolocation","findPromiseRejectionHandler","eventTasks","PromiseRejectionEvent","evt","createElementNS","view","classListProp","protoProp","elemCtrProto","objCtr","strTrim","String","trim","replace","arrIndexOf","item","len","DOMEx","code","DOMException","checkTokenAndGetIndex","classList","token","test","ClassList","elem","trimmedClasses","getAttribute","classes","_updateClassName","setAttribute","classListProto","classListGetter","contains","tokens","l","updated","remove","index","toggle","force","join","classListPropDesc","ex","number","__defineGetter__","testElement","createMethod","DOMTokenList","_toggle","AnimationEngine","AnimationStyleNormalizer","supportsWebAnimations","WebAnimationsDriver","CssKeyframesDriver","WebAnimationsStyleNormalizer","DomRendererFactory2","NoopAnimationDriver","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","isArray","overriddenName","newLineIndex","substring","concatStringsWithSpace","before","after","__forward_ref__","forwardRef","forwardRefFn","resolveForwardRef","isForwardRef","ERROR_DETAILS_PAGE_BASE_URL","RuntimeError","formatRuntimeError","RUNTIME_ERRORS_WITH_GUIDES","Set","fullCode","errorMessage","ngDevMode","has","renderStringify","stringifyForError","throwCyclicDependencyError","path","depPath","throwMixedMultiProviderError","throwInvalidProviderError","ngModuleType","providers","provider","ngModuleDetail","providerDetail","throwProviderNotFoundError","injectorName","injectorDetails","assertNumber","actual","msg","throwError","assertNumberInRange","minInclusive","maxInclusive","assertLessThanOrEqual","assertGreaterThanOrEqual","assertString","assertFunction","assertEqual","expected","assertNotEqual","assertSame","assertNotSame","assertLessThan","assertGreaterThan","assertNotDefined","assertDefined","comparison","assertDomNode","node","Node","assertIndexInRange","arr","maxLen","assertOneOf","validValues","ɵɵdefineInjectable","providedIn","defineInjectable","ɵɵdefineInjector","imports","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","field","getInheritedInjectableDef","def","typeName","getTypeName","warn","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ɵprov","ɵinj","ngInjectableDef","ngInjectorDef","InjectFlags","_injectImplementation","getInjectImplementation","setInjectImplementation","impl","previous","injectRootLimpMode","notFoundValue","flags","injectableDef","Optional","assertInjectImplementationNotEqual","noSideEffects","ChangeDetectionStrategy","ChangeDetectorStatus","isDefaultChangeDetectionStrategy","changeDetectionStrategy","Default","ViewEncapsulation","__globalThis","globalThis","__window","__self","__global","ngDevModeResetPerfCounters","locationString","location","newCounters","namedConstructors","firstCreatePass","tNode","tView","rendererCreateTextNode","rendererSetText","rendererCreateElement","rendererAddEventListener","rendererSetAttribute","rendererRemoveAttribute","rendererSetProperty","rendererSetClassName","rendererAddClass","rendererRemoveClass","rendererSetStyle","rendererRemoveStyle","rendererDestroy","rendererDestroyNode","rendererMoveNode","rendererRemoveNode","rendererAppendChild","rendererInsertBefore","rendererCreateComment","allowNgDevModeTrue","initNgDevMode","EMPTY_OBJ","EMPTY_ARRAY","freeze","EMPTY_ARRAY$1","NG_COMP_DEF","ɵcmp","NG_DIR_DEF","ɵdir","NG_PIPE_DEF","ɵpipe","NG_MOD_DEF","ɵmod","NG_LOC_ID_DEF","ɵloc","NG_FACTORY_DEF","ɵfac","NG_ELEMENT_ID","__NG_ELEMENT_ID__","_renderCompCount","ɵɵdefineComponent","componentDefinition","declaredInputs","providersResolver","decls","vars","template","consts","ngContentSelectors","hostBindings","hostVars","hostAttrs","contentQueries","inputs","outputs","exportAs","onPush","changeDetection","OnPush","directiveDefs","pipeDefs","selectors","viewQuery","features","encapsulation","Emulated","styles","setInput","schemas","directiveTypes","directives","feature","pipeTypes","pipes","invertObject","extractDirectiveDef","extractPipeDef","ɵɵsetComponentScope","getComponentDef","getDirectiveDef","getPipeDef","autoRegisterModuleById","ɵɵdefineNgModule","bootstrap","declarations","exports","transitiveCompileScopes","ɵɵsetNgModuleScope","scope","ngModuleDef","getNgModuleDef","secondary","newLookup","minifiedKey","publicName","declaredName","ɵɵdefineDirective","ɵɵdefinePipe","pipeDef","pure","onDestroy","ngOnDestroy","throwNotFound","getNgLocaleIdDef","HOST","TVIEW","FLAGS","PARENT","NEXT","TRANSPLANTED_VIEWS_TO_REFRESH","T_HOST","CLEANUP","CONTEXT","INJECTOR","RENDERER_FACTORY","RENDERER","SANITIZER","CHILD_HEAD","CHILD_TAIL","DECLARATION_VIEW","DECLARATION_COMPONENT_VIEW","DECLARATION_LCONTAINER","PREORDER_HOOK_FLAGS","QUERIES","HEADER_OFFSET","TViewTypeAsString","unusedValueExportToPlacateAjd","TYPE","HAS_TRANSPLANTED_VIEWS","NATIVE","VIEW_REFS","MOVED_VIEWS","CONTAINER_HEADER_OFFSET","unusedValueExportToPlacateAjd$1","isLView","isLContainer","isContentQueryHost","isComponentHost","isDirectiveHost","isComponentDef","isRootView","assertTNodeForLView","lView","assertTNodeForTView","assertTNode","tView_","assertTIcu","tIcu","currentCaseLViewIndex","assertComponentType","assertNgModuleType","assertCurrentTNodeIsParent","isParent","assertHasParent","assertDataNext","assertLContainer","assertLViewOrUndefined","assertLView","assertFirstCreatePass","errMessage","assertFirstUpdatePass","firstUpdatePass","assertDirectiveDef","assertIndexInDeclRange","assertBetween","bindingStartIndex","assertIndexInVarsRange","expandoStartIndex","assertIndexInExpandoRange","lower","upper","assertProjectionSlots","projection","assertParentView","assertNodeInjector","injectorIndex","getFactoryDef","hasFactoryDef","SimpleChange","currentValue","firstChange","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","definition","ngOnChanges","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","ngInherit","simpleChangesStore","getSimpleChangesStore","privateName","setSimpleChangesStore","previousChange","SIMPLE_CHANGES_STORE","store","SVG_NAMESPACE","MATH_ML_NAMESPACE","MONKEY_PATCH_KEY_NAME","DOCUMENT","setDocument","getDocument","RendererStyleFlags3","isProceduralRenderer","renderer","listen","ɵ0","hostElement","rendererType","domRendererFactory3","createRenderer","unusedValueExportToPlacateAjd$2","unwrapRNode","unwrapLView","unwrapLContainer","getNativeByIndex","getNativeByTNode","getNativeByTNodeOrNull","getTNode","load","getComponentLViewByIndex","nodeIndex","hostView","slotValue","readPatchedData","readPatchedLView","isCreationMode","viewAttachedToChangeDetector","viewAttachedToContainer","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","amount","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","isInCheckNoChangesMode","specOnlyIsInstructionStateEmpty","getElementDepthCount","elementDepthCount","increaseElementDepthCount","decreaseElementDepthCount","getBindingsEnabled","ɵɵenableBindings","ɵɵdisableBindings","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","getCurrentTNode","currentTNode","getCurrentTNodePlaceholderOk","getCurrentParentTNode","setCurrentTNode","isCurrentTNodeParent","setCurrentTNodeAsNotParent","setCurrentTNodeAsParent","getContextLView","setIsInCheckNoChangesMode","mode","getBindingRoot","bindingRootIndex","getBindingIndex","bindingIndex","setBindingIndex","nextBindingIndex","incrementBindingIndex","isInI18nBlock","inI18n","setInI18nBlock","setBindingRootForHostBindings","currentDirectiveIndex","setCurrentDirectiveIndex","getCurrentDirectiveIndex","getCurrentDirectiveDef","tData","getCurrentQueryIndex","currentQueryIndex","setCurrentQueryIndex","getDeclarationTNode","declTNode","enterDI","SkipSelf","parentTNode","parentLView","Host","allocLFrame","enterView","newView","newLFrame","selectedIndex","currentNamespace","firstChild","currentLFrame","childLFrame","child","leaveViewLight","oldLFrame","leaveDI","leaveView","nextContextImpl","level","walkUpViews","nestingLevel","currentView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceMathML","ɵɵnamespaceHTML","namespaceHTMLInternal","getNamespace","registerPreOrderHooks","directiveIndex","directiveDef","ngOnInit","ngDoCheck","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","registerPostOrderHooks","directiveStart","end","directiveEnd","lifecycleHooks","ngAfterContentInit","ngAfterContentChecked","ngAfterViewInit","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentNodeIndex","startIndex","nodeIndexLimit","max","lastNodeIndexFound","hook","isInitHook","callHook","directive","indexWithintInitPhase","NO_PARENT_INJECTOR","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","isFactory","unusedValueExportToPlacateAjd$3","toTNodeTypeAsString","tNodeType","text","unusedValueExportToPlacateAjd$4","hasClassInput","hasStyleInput","assertTNodeType","expectedTypes","assertPureTNodeType","setUpAttributes","native","attrs","isProc","namespaceURI","attrName","attrVal","setAttributeNS","isAnimationProp","setProperty","isNameOnlyAttributeMarker","marker","charCodeAt","mergeHostAttrs","dst","srcMarker","mergeHostAttribute","key1","key2","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","parentInjectorIndex","getParentInjectorViewOffset","getParentInjectorView","startView","viewOffset","parentView","includeViewProviders","setIncludeViewProviders","oldValue","BLOOM_SIZE","BLOOM_MASK","BLOOM_BUCKET_BITS","nextNgElementId","bloomAdd","bloomHash","mask","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentData","footer","declarationViewOffset","lViewCursor","tViewType","diPublicInInjector","injectAttributeImpl","attrNameToInject","attrsLength","notFoundValueOrThrow","lookupTokenUsingModuleInjector","Self","moduleInjector","previousInjectImplementation","getOrCreateInjectable","bloomHashBitOrFactory","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","searchTokensOnInjector","NOT_FOUND","createNodeInjector","NodeInjector","currentTView","canAccessViewProviders","isHostSpecialCase","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","startingIndex","endIndex","providerTokenOrDef","dirDef","previousIncludeViewProviders","success","tokenId","injectorView","isFirstHostTNode","_tNode","_lView","ɵɵgetInheritedFactory","ownConstructor","ownFactory","getFactoryOf","objectPrototype","t","ɵɵinjectAttribute","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","annotationInstance","TypeDecorator","cls","annotations","ngMetadataName","annotationCls","makeParamDecorator","ParamDecoratorFactory","ParamDecorator","annotation","unusedKey","parameters","makePropDecorator","PropDecoratorFactory","decoratorInstance","PropDecorator","CREATE_ATTRIBUTE_DECORATOR__PRE_R3__","attributeName","CREATE_ATTRIBUTE_DECORATOR__POST_R3__","CREATE_ATTRIBUTE_DECORATOR_IMPL","Attribute","InjectionToken","_desc","ANALYZE_FOR_ENTRY_COMPONENTS","emitDistinctChangesOnlyDefaultValue","Query","ɵ0$1","selector","first","isViewQuery","descendants","emitDistinctChangesOnly","ContentChildren","ɵ1","ContentChild","ɵ2","ViewChildren","ɵ3","ViewChild","R3ResolvedDependencyType","R3FactoryTarget","ViewEncapsulation$1","getCompilerFacade","globalNg","ɵcompilerFacade","Type","isType","addAllToArray","items","arrayEquals","b","identityAccessor","valueA","valueB","flatten","list","deepForEach","input","addToArray","removeFromArray","pop","newArray","size","arraySplice","array","arrayInsert","previousEnd","arrayInsert2","value1","value2","arrayInsertSorted","arrayIndexOfSorted","arrayRemoveSorted","_arrayIndexOfSorted","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","keyValueArrayGet","keyValueArrayDelete","start","middle","ES5_DELEGATE_CTOR","ES2015_INHERITED_CLASS","ES2015_INHERITED_CLASS_WITH_CTOR","ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR","isDelegateCtor","typeStr","ReflectionCapabilities","reflect","_reflect","paramTypes","paramAnnotations","parentCtor","tsickleCtorParams","ctorParameters","ctorParam","convertTsickleDecoratorIntoMetadata","decorators","_zipTypesAndAnnotations","getOwnMetadata","getParentCtor","_ownParameters","typeOrFunc","ownAnnotations","_ownAnnotations","parentAnnotations","propMetadata","propDecorators","parentPropMetadata","ownPropMetadata","_ownPropMetadata","lcProperty","functionBody","moduleUrl","members","runtime","enumIdentifier","decoratorInvocations","decoratorInvocation","decoratorType","annotationArgs","parentProto","_THROW_IF_NOT_FOUND","THROW_IF_NOT_FOUND","DI_DECORATOR_FLAG","NG_TEMP_TOKEN_PATH","NG_TOKEN_PATH","NEW_LINE","NO_NEW_LINE","SOURCE","ɵ0$2","USE_VALUE","provide","useValue","_currentInjector","setCurrentInjector","injector","former","injectInjectorOnly","ɵɵinject","ɵɵinvalidFactoryDep","inject","injectArgs","types","arg","flag","getInjectFlag","attachInjectFlag","decorator","catchInjectorError","injectorErrorName","tokenPath","formatError","charAt","context","parts","ɵ0$3","Inject","getReflect","reflectDependencies","convertDependencies","deps","compiler","dep","reflectDependency","host","optional","resolved","Token","skipSelf","setTokenAndResolvedType","param","__ChangeDetectorRef__","ChangeDetectorRef","Invalid","resolveComponentResources","resourceResolver","componentResolved","urlMap","Map","cachedResourceResolve","resp","unwrapResponse","componentResourceResolutionQueue","component","promises","templateUrl","styleUrls","styleOffset","styleUrl","style","fullyResolved","componentDefResolved","clearResolutionOfComponentResourcesQueue","componentDefPendingResolution","maybeQueueResolutionOfComponentResources","metadata","componentNeedsResolution","isComponentDefPendingResolution","old","restoreComponentResolutionQueue","isComponentResourceResolutionQueueEmpty","response","delete","policy","getPolicy","trustedTypes","createPolicy","createHTML","createScript","createScriptURL","trustedHTMLFromString","html","trustedScriptFromString","script","trustedScriptURLFromString","newTrustedFunctionForDev","fnArgs","fnBody","body","policy$1","getPolicy$1","trustedHTMLFromStringBypass","trustedScriptFromStringBypass","trustedScriptURLFromStringBypass","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","getInertBodyHelper","defaultDoc","inertDocumentHelper","InertDocumentHelper","isDOMParserAvailable","DOMParserHelper","DOMParser","parseFromString","getInertBodyElement","removeChild","inertDocument","implementation","createHTMLDocument","inertHtml","appendChild","inertBodyElement","templateEl","innerHTML","inertBody","documentMode","stripCustomNsAttrs","el","elAttrs","attributes","attrib","childNode","nodeType","ELEMENT_NODE","nextSibling","SAFE_URL_PATTERN","SAFE_SRCSET_PATTERN","DATA_URL_PATTERN","_sanitizeUrl","sanitizeSrcset","srcset","tagSet","tags","merge","sets","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","OPTIONAL_END_TAG_ELEMENTS","BLOCK_ELEMENTS","INLINE_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","SRCSET_ATTRS","HTML_ATTRS","ARIA_ATTRS","VALID_ATTRS","SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS","SanitizingHtmlSerializer","sanitizedSomething","buf","traverseContent","startElement","TEXT_NODE","chars","nodeValue","endElement","checkClobberedElement","parentNode","element","tagName","nodeName","toLowerCase","elAttr","encodeEntities","nextNode","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","outerHTML","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","hi","low","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","mXSSAttempts","parsedHtml","sanitizer","safeHtml","sanitizeChildren","getTemplateContent","isTemplateElement","content","SecurityContext","ɵɵsanitizeHtml","getSanitizer","sanitize","HTML","ɵɵsanitizeStyle","unsafeStyle","STYLE","ɵɵsanitizeUrl","unsafeUrl","URL","ɵɵsanitizeResourceUrl","unsafeResourceUrl","RESOURCE_URL","ɵɵsanitizeScript","unsafeScript","SCRIPT","ɵɵtrustConstantHtml","raw","ɵɵtrustConstantResourceUrl","getUrlSanitizer","tag","ɵɵsanitizeUrlOrResourceUrl","validateAgainstEventProperties","startsWith","validateAgainstEventAttributes","ERROR_TYPE","ERROR_DEBUG_CONTEXT","ERROR_ORIGINAL_ERROR","ERROR_LOGGER","wrappedError","originalError","getType","getDebugContext","getOriginalError","getErrorLogger","defaultErrorLogger","ErrorHandler","_console","_findOriginalError","_findContext","errorLogger","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","COMMENT_DISALLOWED","COMMENT_DELIMITER","COMMENT_DELIMITER_ESCAPED","escapeCommentText","createNamedArrayType","normalizeDebugBindingName","camelCaseToDashCase","CAMEL_CASE_REGEXP","m","normalizeDebugBindingValue","getLContext","mpValue","isComponentInstance","findViaComponent","isDirectiveInstance","findViaDirective","getDirectivesAtNodeIndex","findViaNativeElement","existingCtx","createLContext","attachPatchData","rElement","parentContext","localRefs","getComponentViewByInstance","componentInstance","traverseNextElement","componentIndices","components","elementComponentIndex","componentView","rootComponentView","rootComponent","directiveInstance","directiveIndexStart","directiveIndexEnd","includeComponents","directiveStartIndex","directiveEndIndex","getComponentAtNodeIndex","discoverLocalRefs","localNames","localIndex","ɵ0$4","requestAnimationFrame","setTimeout","defaultScheduler","ɵɵresolveWindow","ownerDocument","defaultView","ɵɵresolveDocument","ɵɵresolveBody","INTERPOLATION_DELIMITER","maybeUnwrapFn","throwMultipleComponentError","throwErrorIfNoChangesMode","creationMode","currValue","constructDetailsForInterpolation","rootIndex","expressionIndex","changedValue","prefix","chunks","slotIdx","getExpressionChangedErrorDetails","idx","matches","RendererStyleFlags2","_icuContainerIterate","icuContainerIterate","tIcuContainerNode","ensureIcuContainerVisitorLoaded","loader","unusedValueExportToPlacateAjd$5","getLViewParent","getRootView","componentOrLView","getRootContext","viewOrComponent","rootView","getFirstLContainer","getNearestLContainer","getNextLContainer","container","unusedValueToPlacateAjd","applyToElementOrContainer","action","lNodeToHandle","beforeNode","isComponent","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","destroyNode","applyContainer","createTextNode","createText","updateTextNode","setValue","textContent","createCommentNode","createComment","createElementNode","namespace","removeViewFromContainer","applyView","addViewToContainer","parentNativeNode","renderDetachView","destroyViewTree","lViewOrLContainer","cleanUpView","firstView","insertView","indexInContainer","containerLength","declarationLContainer","trackMovedView","lQueries","declarationContainer","movedViews","insertedLContainer","insertedComponentLView","declaredComponentLView","detachMovedView","declarationViewIndex","insertionLContainer","detachView","removeIndex","viewToDetach","removedLView","destroyLView","executeOnDestroys","processCleanups","destroy","tCleanup","cleanup","lCleanup","lastLCleanupIndex","idxOrTargetGetter","useCaptureOrSubIdx","unsubscribe","instanceCleanupFn","toCall","getParentRElement","getClosestRElement","None","isMove","insertBefore","nativeAppendOrInsertBefore","nativeRemoveChild","isHostElement","nativeParentNode","nativeNextSibling","getInsertInFrontOfRNode","_getInsertInFrontOfRNodeWithI18n","getInsertInFrontOfRNodeWithNoI18n","_processI18nInsertBefore","setI18nHandling","getInsertInFrontOfRNodeWithI18n","processI18nInsertBefore","childRNode","childTNode","parentRNode","anchorNode","getFirstNativeNode","getBeforeNodeForView","elIcuContainerChild","rNodeOrLContainer","nextRNode","projectionNodes","getProjectionNodes","componentHost","viewIndexInContainer","nextViewIndex","firstTNodeOfView","nativeParent","applyNodes","parentRElement","isProjection","rawSlotValue","applyProjectionRecursive","projectionNext","applyProjection","tProjectionNode","componentLView","componentNode","nodeToProjectOrRNodes","nodeToProject","projectedComponentLView","anchor","applyStyling","isClassBased","isProcedural","removeClass","addClass","DashCase","removeStyle","removeProperty","isImportant","endsWith","Important","setStyle","writeDirectStyle","cssText","writeDirectClass","classIndexOf","classToSearch","foundIndex","unusedValueToPlacateAjd$1","NG_TEMPLATE_SELECTOR","isCssClassMatching","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","tagNameToCompare","isNodeMatchingSelector","nodeAttrs","nameOnlyMarkerIdx","getNameOnlyMarkerIndex","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","compareAgainstClassName","bindingsMode","maybeAttrName","matchTemplateAttribute","isNodeMatchingSelectorList","getProjectAsAttrValue","ngProjectAsAttrIdx","nodeAttr","attr","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","chunk","stringifyCSSSelector","currentChunk","valueOrMarker","attrValue","stringifyCSSSelectorList","selectorList","extractAttrsAndClassesFromSelector","NO_CHANGE","__brand__","ɵɵadvance","delta","selectIndexInternal","checkNoChangesMode","hooksInitPhaseCompleted","toTStylingRange","getTStylingRangePrev","tStylingRange","getTStylingRangePrevDuplicate","setTStylingRangePrev","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","getTStylingRangeNextDuplicate","setTStylingRangeNextDuplicate","getTStylingRangeTail","attachDebugObject","debug","attachDebugGetter","debugGetter","NG_DEV_MODE","LVIEW_COMPONENT_CACHE","LVIEW_EMBEDDED_CACHE","LVIEW_ROOT","cloneToLViewFromTViewBlueprint","debugTView","getLViewToClone","componentArray","embeddedArray","lastIndexOf","TViewConstructor","queries","hostBindingOpCodes","staticViewQueries","staticContentQueries","directiveRegistry","pipeRegistry","incompleteFirstPass","_decls","_vars","processTNodeChildren","TNode","insertBeforeIndex","directiveStylingLast","propertyBindings","mergedAttrs","initialInputs","tViews","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","buildDebugNode","type_","flags_","toDebugStyleBinding","providerIndexStart_","TNodeDebug","bindings","range","isTemplate","cursor","itemKey","itemRange","prevDuplicate","nextDuplicate","nextIndex","prevIndex","template_","TViewData","TVIEWDATA_EMPTY","cloneToTViewData","LViewBlueprint","MatchesArray","TViewComponents","TNodeLocalNames","TNodeInitialInputs","TNodeInitialData","LCleanup","TCleanup","attachLViewDebug","LViewDebug","attachLContainerDebug","LContainerDebug","toDebug","toHtml","includeChildren","COMMENT_NODE","_raw_lView","__raw__flags__","initPhaseState","firstViewPass","checkAlways","dirty","attached","destroyed","isRoot","indexWithinInitPhase","nodes","mapToHTML","toDebugNodes","toLViewRange","childViews","childHead","children","debugNodes","tNodeCursor","rawValue","factories","instances","buildNodeInjectorDebug","injectorResolutionPath","debugNodeInjectorPath","viewProviders","providerIndexEnd_","nodeInjectorDebug","bloom","toBloom","cumulativeBloom","binary","_raw_lContainer","ɵ0$5","_CLEAN_PROMISE","processHostBindingOpCodes","opCode","directiveIdx","bindingRootIndx","hostBindingFn","refreshContentQueries","queryStartIdx","directiveDefIdx","refreshChildComponents","hostLView","refreshComponent","renderChildComponents","renderComponent","createLView","tHostNode","rendererFactory","getOrCreateTNode","createTNodeAtIndex","createTNode","allocExpando","numSlotsToAlloc","initialValue","allocIdx","renderView","executeViewQueryFn","templateFn","executeTemplate","refreshView","isInCheckNoChangesPass","markTransplantedViewsForRefresh","refreshEmbeddedViews","renderComponentOrTemplate","normalExecutionPath","creationModeIsActive","begin","rf","prevSelectedIndex","executeContentQueries","createDirectivesInstances","instantiateAllDirectives","invokeDirectivesHostBindings","saveResolvedLocalsInData","viewData","localRefExtractor","getOrCreateTComponentView","createTView","constsOrFactory","initialViewLength","createViewBlueprint","fill","seal","createError","assertHostNodeExists","elementOrSelector","locateHostElement","preserveContent","ShadowDom","selectRootElement","querySelector","storeCleanupWithContext","cleanupFn","getOrCreateLViewCleanup","getOrCreateTViewCleanup","tParent","generatePropertyAliases","inputAliasMap","propStore","internalName","initializeInputAndOutputAliases","tViewData","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","directiveInputs","generateInitialInputs","mapPropName","elementPropertyInternal","nativeOnly","inputData","dataValue","setInputsForProperty","markDirtyIfOnPush","setNgReflectProperties","validateProperty","logUnknownPropertyError","matchingSchemas","viewIndex","childComponentLView","setNgReflectProperty","debugValue","schema","instantiateRootComponent","rootTNode","configureViewWithDirective","resolveDirectives","hasDirectives","findDirectiveDefMatches","exportsMap","initTNodeFlags","preOrderHooksFound","preOrderCheckHooksFound","saveNameToExportMap","lifeCycleHooks","cacheMatchingLocalNames","registerHostBindingOpCodes","directiveVarsIdx","elementIndx","lastSelectedElementIdx","addComponentLogic","setInputsFromAttrs","elementIndex","dirIndex","invokeHostBindingsInCreationMode","registry","markAsComponentHost","hostTNode","numberOfDirectives","directiveFactory","nodeInjectorFactory","addToViewTree","elementAttributeInternal","setElementAttribute","strValue","initialInputData","nativeElement","inputsToStore","LContainerArray","createLContainer","hostNative","embeddedLView","embeddedTView","movedLView","componentHostIdx","refreshContainsDirtyView","componentTView","syncViewWithBlueprint","markViewDirty","scheduleTick","rootContext","nothingScheduled","clean","r","scheduler","tickRootContext","playerHandler","flushPlayers","detectChangesInternal","detectChangesInRootView","checkNoChangesInternal","checkNoChangesInRootView","viewQueryFn","storePropertyBindingMetadata","propertyName","propBindingIdxs","bindingMetadata","interpolationParts","CLEAN_PROMISE","loadComponentRenderer","currentDef","errorHandler","textBindingInternal","computeStaticStyling","writeToHost","styleValue","detectChanges","markDirty","tick","INJECTOR$1","NullInjector","INJECTOR_SCOPE","NOT_YET","CIRCULAR","EMPTY_ARRAY$2","NULL_INJECTOR","getNullInjector","createInjector","defType","additionalProviders","createInjectorWithoutInjectorInstances","_resolveInjectorDefTypes","R3Injector","records","injectorDefTypes","_destroyed","dedupStack","processProvider","injectorDef","processInjectorType","makeRecord","record","assertNotDestroyed","service","previousInjector","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","nextInjector","defOrWrappedDef","parents","ngModule","defName","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","isTypeProvider","providerToRecord","multi","multiRecord","existing","hasOnDestroy","getUndecoratedInjectableFactory","paramLength","inheritedInjectableDef","isValueProvider","providerToFactory","unwrappedProvider","isFactoryProvider","useFactory","isExistingProvider","useExisting","classRef","useClass","hasDeps","isClassProvider","INJECTOR_IMPL__PRE_R3__","StaticInjector","INJECTOR_IMPL__POST_R3__","INJECTOR_IMPL","Injector","NULL","IDENT","ɵ0$6","EMPTY","CIRCULAR$1","MULTI_PROVIDER_FN","ɵ1$1","NO_NEW_LINE$1","_records","useNew","recursivelyProcessProviders","resolveProvider","lastInjector","tryResolveToken","computeDeps","staticError","multiProviderMixError","resolvedProvider","multiProvider","resolveToken","depRecords","depRecord","childRecord","providerDeps","getComponent","assertDomElement","loadLContext","getContext","getOwningComponent","elementOrDir","getRootComponents","getInjector","getInjectionTokens","providerTokens","isDirectiveDefHack","getDirectives","throwOnNotFound","getLocalRefs","getHostElement","componentOrDirective","getRenderedText","loadLContextFromNode","getListeners","lContext","firstParam","secondParam","listenerElement","useCaptureOrIndx","useCapture","sort","sortListeners","getDebugNode","debugNode","valueInLView","getComponentLView","nodeIndx","applyChanges","GLOBAL_PUBLISH_EXPANDO_KEY","_published","publishDefaultGlobalUtils","publishGlobalUtil","COMPILED","w","ɵ0$7","NULL_INJECTOR$1","renderComponent$1","componentType","componentDef","componentTag","hostRenderer","hostRNode","rootFlags","createRootContext","rootTView","createRootComponentView","createRootComponent","hostFeatures","viewRenderer","rootLView","LifecycleHooksFeature","whenRendered","getSuperType","ɵɵInheritDefinitionFeature","superType","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","animation","defData","mergeHostAttrsAcrossInheritance","prevViewQuery","ctx","prevContentQueries","prevHostBindings","COPY_DIRECTIVE_FIELDS","COPY_COMPONENT_FIELDS","ɵɵCopyDefinitionFeature","defAny","_symbolIterator","getSymbolIterator","iterator","getOwnPropertyNames","devModeEqual","isListLikeIterableA","isListLikeIterable","isListLikeIterableB","areIterablesEqual","isAObject","isBObject","is","WrappedValue","isWrapped","isJsObject","comparator","iterator1","iterator2","item1","item2","done","iterateListLike","o","updateBinding","getBinding","bindingUpdated","oldValueToCompare","details","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","v0","suffix","interpolation2","i0","v1","interpolation3","i1","v2","interpolation4","i2","v3","interpolation5","i3","v4","interpolation6","i4","v5","interpolation7","i5","v6","interpolation8","i6","v7","ɵɵattributeInterpolate1","interpolatedValue","ɵɵattributeInterpolate2","ɵɵattributeInterpolate3","ɵɵattributeInterpolate4","ɵɵattributeInterpolate5","ɵɵattributeInterpolate6","ɵɵattributeInterpolate7","ɵɵattributeInterpolate8","ɵɵattributeInterpolateV","interpolated","interpolationInBetween","templateFirstCreatePass","attrsIndex","localRefsIndex","tViewConsts","ɵɵtemplate","adjustedIndex","comment","ɵɵreference","angularCoreDiEnv","compileInjectable","srcMeta","ngFactoryDef","getInjectableMetadata","compileFactory","typeArgumentCount","injectFn","Injectable","ɵ0$8","USE_VALUE$1","isUseClassProvider","isUseValueProvider","isUseFactoryProvider","isUseExistingProvider","compilerMeta","userDeps","ɵ0$9","USE_VALUE$2","EMPTY_ARRAY$3","convertInjectableProviderToFactory","reflectionCapabilities","valueProvider","existingProvider","factoryProvider","classProvider","ɵ0$a","SWITCH_COMPILE_INJECTABLE","render2CompileInjectable","injectableType","SWITCH_COMPILE_INJECTABLE__POST_R3__","SWITCH_COMPILE_INJECTABLE__PRE_R3__","findFirstClosedCycle","constructResolvingPath","reversed","reverse","tokenStrs","k","injectionError","constructResolvingMessage","errMsg","addKey","injectors","noProviderError","cyclicDependencyError","instantiationError","originalException","originalStack","invalidProviderError","noAnnotationError","params","signature","ii","parameter","outOfBoundsError","mixingMultiProvidersWithRegularProvidersError","provider1","provider2","ReflectiveKey","displayName","_globalKeyRegistry","numberOfKeys","KeyRegistry","_allKeys","newKey","Reflector","caps","hasLifecycleHook","getter","setter","importUri","resourceUri","resolveIdentifier","identifier","resolveEnum","reflector","ReflectiveDependency","visibility","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","resolvedFactory","ResolvedReflectiveFactory","dependencies","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","fromKey","constructDependencies","resolveReflectiveProvider","resolveReflectiveProviders","normalized","_normalizeProviders","resolvedProviderMap","mergeResolvedReflectiveProviders","from","normalizedProvidersMap","_extractToken","some","p","_createDependency","paramMetadata","UNDEFINED","ReflectiveInjector","ResolvedReflectiveProviders","fromResolvedProviders","ReflectiveInjector_","_providers","_constructionCounter","keyIds","objs","_getByKey","createChildFromResolved","inj","instantiateResolved","_instantiateProvider","_getMaxNumberOfObjects","_instantiate","_getByReflectiveDependency","INJECTOR_KEY","_getByKeySelf","_getByKeyDefault","keyId","_new","_getObjByKeyId","_throwOrNull","inj_","_mapProviders","getProviderAtIndex","ɵɵdirectiveInject","ɵɵinvalidFactory","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","elementStartFirstCreatePass","logUnknownElementError","elementStart","ɵɵelementStart","ɵɵelementEnd","elementEnd","ɵɵelement","isUnknown","HTMLUnknownElement","elementContainerStartFirstCreatePass","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","isPromise","isSubscribable","subscribe","isObservable","ɵɵlistener","listenerFn","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","findExistingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","isTNodeDirectiveHost","processOutputs","lCleanupIndex","existingListener","lastListenerFn","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","propsLength","minifiedName","output","subscription","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","returnValue","ɵɵnextContext","matchingProjectionSlotIndex","projectionSlots","wildcardNgContentIndex","ngProjectAsAttrVal","ɵɵprojectionDef","numProjectionSlots","projectionHeads","tails","componentChild","slotIndex","ɵɵprojection","selectorIndex","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","ɵɵpropertyInterpolate2","ɵɵpropertyInterpolate3","ɵɵpropertyInterpolate4","ɵɵpropertyInterpolate5","ɵɵpropertyInterpolate6","ɵɵpropertyInterpolate7","ɵɵpropertyInterpolate8","ɵɵpropertyInterpolateV","__unused_const_as_closure_does_not_like_standalone_comment_blocks__","insertTStylingBinding","tStylingKeyWithStatic","isHostBinding","isClassBinding","tBindings","tmplHead","tmplTail","isKeyDuplicateOfStatic","tStylingKey","staticKeyValueArray","hasTemplateBindings","previousNode","markDuplicates","markDuplicateOfResidualStyling","residual","isPrevDir","tStylingAtIndex","isMap","foundDuplicate","tStylingValueAtCursor","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","getLastParsedValue","parseClassName","resetParserState","parseClassNameNext","consumeWhitespace","consumeClassToken","parseStyle","parseStyleNext","consumeStyleKey","consumeSeparator","consumeStyleValue","ch","separator","malformedStyleError","fromCharCode","ch1","ch2","ch3","lastChIndex","consumeQuotedText","quoteCharCode","expecting","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵstyleMap","checkStylingMap","styleKeyValueArraySet","styleStringParser","ɵɵclassMap","classStringParser","stylingFirstUpdatePass","updateStyling","normalizeSuffix","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","updateStylingMap","toStylingKeyValueArray","isHostBindings","wrapInStaticStylingKey","stylingKey","hostDirectiveDef","isFirstStylingInstructionInTemplate","collectStylingFromDirectives","collectStylingFromTAttrs","isFirstStylingInstructionInHostBinding","templateStylingKey","getTemplateHeadTStylingKey","setTemplateHeadTStylingKey","collectResidual","currentDirective","desiredMarker","currentMarker","styleKeyValueArray","unwrappedValue","oldKeyValueArray","newKeyValueArray","oldIndex","newIndex","oldKey","setKey","tRange","higherPriorityValue","findStylingValue","isStylingValuePresent","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵtext","textNative","ɵɵtextInterpolate","ɵɵtextInterpolate1","ɵɵtextInterpolate2","ɵɵtextInterpolate3","ɵɵtextInterpolate4","ɵɵtextInterpolate5","ɵɵtextInterpolate6","ɵɵtextInterpolate7","ɵɵtextInterpolate8","ɵɵtextInterpolateV","ɵɵclassMapInterpolate1","ɵɵclassMapInterpolate2","ɵɵclassMapInterpolate3","ɵɵclassMapInterpolate4","ɵɵclassMapInterpolate5","ɵɵclassMapInterpolate6","ɵɵclassMapInterpolate7","ɵɵclassMapInterpolate8","ɵɵclassMapInterpolateV","ɵɵstyleMapInterpolate1","ɵɵstyleMapInterpolate2","ɵɵstyleMapInterpolate3","ɵɵstyleMapInterpolate4","ɵɵstyleMapInterpolate5","ɵɵstyleMapInterpolate6","ɵɵstyleMapInterpolate7","ɵɵstyleMapInterpolate8","ɵɵstyleMapInterpolateV","ɵɵstylePropInterpolate1","valueSuffix","ɵɵstylePropInterpolate2","ɵɵstylePropInterpolate3","ɵɵstylePropInterpolate4","ɵɵstylePropInterpolate5","ɵɵstylePropInterpolate6","ɵɵstylePropInterpolate7","ɵɵstylePropInterpolate8","ɵɵstylePropInterpolateV","ɵɵhostProperty","ɵɵsyntheticHostProperty","ngI18nClosureMode","goog","getMsg","u","plural","n","Math","floor","abs","localeEn","LOCALE_DATA","registerLocaleData","localeId","extraData","LocaleDataIndex","LocaleId","ExtraData","findLocaleData","locale","normalizedLocale","normalizeLocale","getLocaleData","parentLocale","getLocaleCurrencyCode","CurrencyCode","getLocalePluralCase","PluralCase","ng","common","locales","unregisterAllLocaleData","pluralMapping","getPluralCase","parseInt","DEFAULT_LOCALE_ID","USD_CURRENCY_CODE","ELEMENT_MARKER","ICU_MARKER","I18nCreateOpCode","unusedValueExportToPlacateAjd$6","LOCALE_ID","setLocaleId","getLocaleId","tNodeInsertBeforeIndex","i18nParent","anchorRNode","i18nChild","addTNodeAndUpdateInsertBeforeIndex","previousTNodes","newTNode","existingTNode","isI18nText","isNewTNodeCreatedBefore","getInsertBeforeIndex","setInsertBeforeIndex","getTIcu","setTIcu","setTNodeInsertBeforeIndex","createTNodePlaceholder","getCurrentICUCaseIndex","currentCase","getParentFromIcuCreateOpCode","mergedCode","getRefFromIcuCreateOpCode","getInstructionFromIcuCreateOpCode","icuCreateOpCode","parentIdx","refIdx","changeMask","changeMaskCounter","setMaskBit","hasChange","min","applyI18n","tI18n","updateOpCodes","update","bindingsStartIndex","applyUpdateOpCodes","applyCreateOpCodes","createOpCodes","insertInFrontOf","isComment","COMMENT","appendNow","APPEND_EAGERLY","SHIFT","applyMutableOpCodes","mutableOpCodes","rootIdx","rootRNode","textNodeIndex","caseIndex","anchorIdx","elementNodeIndex","commentValue","commentNodeIndex","commentRNode","elementRNode","checkBit","skipCodes","sanitizeFn","tNodeOrTagName","rText","applyIcuSwitchCase","applyIcuUpdateCase","currentIndex","activeCaseIndex","getCaseIndex","applyIcuSwitchCaseRemove","removeCodes","nodeOrIcuIndex","icuExpression","bindingValue","cases","resolvedCase","loadIcuContainerVisitor","_stack","_index","_removes","icuContainerIteratorStart","enterIcu","icuContainerIteratorNext","removeOpCode","tIcuIndex","i18nCreateOpCodesToString","opcodes","lines","i18nUpdateOpCodesToString","parser","OpCodeParser","consumeOpCode","consumeString","sanitizationFn","consumeFunction","hasMore","consumeNumber","statements","statement","consumeNumberOrString","opCodeText","icuCreateOpCodesToString","lastRef","consumeNumberStringOrMarker","line","i18nRemoveOpCodesToString","codes","BINDING_REGEXP","ICU_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","MARKER","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","replaceNgsp","i18nStartFirstCreatePass","parentTNodeIndex","subTemplateIndex","existingTNodeStack","getTranslationForTemplate","msgParts","i18nParseTextIntoPartsAndICU","part","i18nStartFirstCreatePassProcessTextNode","icuContainerTNode","createTNodeAndAddOpCode","mainBinding","icuNodeIndex","icuStart","isClosing","Number","existingTNodes","isICU","i18nNodeIdx","hasBinding","generateBindingUpdateOpCodes","i18nAttributesFirstPass","previousElement","previousElementIndex","str","destinationNode","maskIndex","sizeIndex","textParts","textValue","toMaskBit","isRootTemplateMessage","removeInnerTemplateTranslation","inTemplate","tagMatched","search","bindingMask","addUpdateIcuSwitch","valueArr","nestedIcus","icuIndex","parseIcuCase","addUpdateIcuUpdate","parseICUBlock","pattern","icuType","binding","pos","blocks","prevPos","braceStack","braces","lastIndex","block","caseName","unsafeCaseHtml","inertRootNode","walkIcuTree","sharedUpdateOpCodes","depth","currentNode","addCreateNodeAndAppend","lowerAttrName","addCreateAttribute","addRemoveNode","isNestedIcu","nestedIcuIndex","addRemoveNestedIcu","appendToParentIdx","createAtIdx","ROOT_TEMPLATE_ID","PP_MULTI_VALUE_PLACEHOLDERS_REGEXP","PP_PLACEHOLDERS_REGEXP","PP_ICU_VARS_REGEXP","PP_ICU_PLACEHOLDERS_REGEXP","PP_ICUS_REGEXP","PP_CLOSE_TEMPLATE_REGEXP","PP_TEMPLATE_ID_REGEXP","i18nPostprocess","replacements","templateIdsStack","phs","tmpl","placeholders","placeholder","templateId","isCloseTemplateTag","currentTemplateId","_type","_idx","ɵɵi18nStart","messageIndex","sameViewParentTNode","ɵɵi18nEnd","ɵɵi18n","ɵɵi18nAttributes","ɵɵi18nExp","ɵɵi18nApply","ɵɵi18nPostprocess","resolveProvider$1","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesProvidersFactoryExist","doesViewProvidersFactoryExist","multiFactory","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","indexInFactory","multiFactoryAdd","componentProviders","contextIndex","providerIsTypeProvider","existingCallbacksIndex","isComponentProvider","lData","multiResolve","componentCount","multiProviders","f","ɵɵProvidersFeature","processProvidersFn","ComponentRef","ComponentFactory","noComponentFactoryError","ERROR_COMPONENT","getComponent$1","_NullComponentFactoryResolver","ComponentFactoryResolver","CodegenComponentFactoryResolver","_ngModule","_factories","resolveComponentFactory","ComponentFactoryBoundToModule","projectableNodes","rootSelectorOrNode","injectElementRef","createElementRef","ElementRef","SWITCH_ELEMENT_REF_FACTORY__POST_R3__","SWITCH_ELEMENT_REF_FACTORY__PRE_R3__","SWITCH_ELEMENT_REF_FACTORY","unwrapElementRef","Renderer2Interceptor","RendererFactory2","Renderer2","SWITCH_RENDERER2_FACTORY","SWITCH_RENDERER2_FACTORY__POST_R3__","injectRenderer2","SWITCH_RENDERER2_FACTORY__PRE_R3__","getOrCreateRenderer2","nodeAtIndex","Sanitizer","Version","full","major","minor","patch","VERSION","DefaultIterableDifferFactory","trackByFn","DefaultIterableDiffer","trackByIdentity","ɵ0$b","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","_trackByFn","_next","nextIt","nextRemove","addRemoveOffset","moveOffsets","getPreviousIndex","adjPreviousIndex","_nextRemoved","previousIndex","localMovePreviousIndex","localCurrentIndex","offset","_nextPrevious","_nextAdded","_nextMoved","_nextIdentityChange","collection","check","_reset","mayBeDirty","itemTrackBy","trackById","_mismatch","_verifyReinsertion","_addIdentityChange","_truncate","isDirty","previousRecord","_prev","_remove","_reinsertAfter","_moveAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","nextRecord","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","put","toIndex","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","defaultIterableDiffersFactory","IterableDiffers","iterable","find","supports","getTypeNameForDebugging","copied","defaultKeyValueDiffersFactory","KeyValueDiffers","kv","collectNativeNodes","lNode","lViewInAContainer","lViewFirstChildTNode","nodesInSlot","ViewRef","_cdRefInjectingView","_appRef","_attachedToViewContainer","viewRefs","appRef","RootViewRef","_view","SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__","injectChangeDetectorRef","SWITCH_CHANGE_DETECTOR_REF_FACTORY__PRE_R3__","SWITCH_CHANGE_DETECTOR_REF_FACTORY","isPipe","createViewRef","isComponentView","hostComponentView","keyValDiff","iterableDiff","defaultIterableDiffers","defaultKeyValueDiffers","SWITCH_TEMPLATE_REF_FACTORY__POST_R3__","injectTemplateRef","SWITCH_TEMPLATE_REF_FACTORY__PRE_R3__","SWITCH_TEMPLATE_REF_FACTORY","TemplateRef","ViewEngineTemplateRef","R3TemplateRef","_declarationLView","_declarationTContainer","elementRef","declarationViewLQueries","createEmbeddedView","createTemplateRef","NgModuleRef","NgModuleFactory","SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__","injectViewContainerRef","SWITCH_VIEW_CONTAINER_REF_FACTORY__PRE_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY","ViewContainerRef","previousTNode","createContainerRef","VE_ViewContainerRef","R3ViewContainerRef","_lContainer","_hostTNode","_hostLView","getViewRefs","templateRef","viewRef","insert","componentFactory","ngModuleRef","contextInjector","parentInjector","componentRef","prevIdx","detach","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","attachToViewContainerRef","getOrCreateViewRefs","viewRefsArr","detachedView","wasDetached","commentNode","parentOfHostNative","expressionChangedAfterItHasBeenCheckedError","isFirstCheck","viewDebugError","viewWrappedDebugError","_addDebugContext","logError","isViewDebugError","viewDestroyedError","shiftInitState","priorInitState","newInitState","initState","initIndex","shouldCallLifecycleInitHook","NodeData","asTextData","asElementData","asProviderData","asPureExpressionData","asQueryList","DebugContext","Services","setCurrentNode","createRootView","createComponentView","createNgModuleRef","overrideProvider","overrideComponentView","clearOverrides","checkAndUpdateView","checkNoChangesView","destroyView","resolveDep","createDebugContext","updateDirectives","updateRenderer","dirtyParentQueries","NOOP","_tokenKeyCache","tokenKey","unwrapValue","nodeIdx","bindingIdx","unwrap","globalBindingIdx","oldValues","UNDEFINED_RENDERER_TYPE_ID","EMPTY_RENDERER_TYPE_ID","createRendererType2","_renderCompCount$1","resolveRendererType2","isFilled","checkBinding","checkAndUpdateBinding","checkBindingNoChanges","bindingName","markParentViewsForCheck","currView","viewContainerParent","markParentViewsForCheckProjectedViews","endView","dispatchEvent","nodeDef","root","declaredViewContainer","parentNodeDef","viewParentEl","renderNode","renderElement","renderText","elementEventFullName","isEmbeddedView","filterQueryId","queryId","splitMatchedQueriesDsl","matchedQueriesDsl","matchedQueries","matchedQueryIds","references","valueType","splitDepsDsl","sourceName","getParentRenderElement","renderHost","renderParent","componentRendererType","DEFINITION_CACHE","WeakMap","resolveDefinition","rootRenderNodes","renderNodes","visitRootRenderNodes","lastRenderRootNode","visitSiblingRenderNodes","visitRenderNode","childCount","visitProjectedRenderNodes","ngContentIndex","compView","hostElDef","projectedNodes","execRenderNodeAction","ngContent","rn","bindingFlags","embeddedViews","viewContainer","_embeddedViews","NS_PREFIX_RE","splitNamespace","calcBindingFlags","interpolate","valueCount","constAndInterp","_toStringWithNull","inlineInterpolate","c0","a1","c1","a2","c2","a3","c3","a4","c4","a5","c5","a6","c6","a7","c7","a8","c8","a9","c9","EMPTY_ARRAY$4","EMPTY_MAP","UNDEFINED_VALUE","InjectorRefTokenKey","INJECTORRefTokenKey","NgModuleRefTokenKey","moduleProvideDef","depDefs","moduleDef","providersByKey","modules","initNgModule","_def","provDef","_createProviderInstance","resolveNgModuleDep","depDef","providerDef","providerInstance","targetsModule","moduleTransitivelyPresent","injectable","_createClass","_callFactory","depValues","callNgModuleLifecycle","lifecycles","attachEmbeddedView","elementData","attachProjectedView","prevView","renderAttachEmbeddedView","vcElementData","dvcElementData","projectedViews","_projectedViews","markNodeAsProjectedTemplate","viewDef","nodeFlags","childFlags","detachEmbeddedView","renderDetachView$1","detachProjectedView","moveEmbeddedView","oldViewIndex","newViewIndex","prevRenderNode","EMPTY_CONTEXT","createComponentFactory","viewDefFactory","ComponentFactory_","getComponentViewDefinitionFactory","_inputs","_outputs","inputsArr","templateName","outputsArr","componentNodeIndex","componentProvider","ComponentRef_","ViewRef_","_viewRef","_component","_elDef","changeDetectorRef","Injector_","createViewContainerData","elDef","elData","ViewContainerRef_","_data","viewRef_","createChangeDetectorRef","_viewContainerRef","fs","disposables","vcRef","createTemplateData","TemplateRef_","_parentView","createInjector$1","allowPrivateServices","moduleType","bootstrapComponents","NgModuleRef_","_moduleType","_bootstrapComponents","_destroyListeners","injectFlags","Renderer2TokenKey","ElementRefTokenKey","ViewContainerRefTokenKey","TemplateRefTokenKey","ChangeDetectorRefTokenKey","InjectorRefTokenKey$1","INJECTORRefTokenKey$1","checkIndex","nonMinifiedName","ns","securityContext","outputDefs","outputIndex","directChildFlags","childMatchedQueries","query","createProviderInstance","_createProviderInstance$1","createPipeInstance","createClass","createDirectiveInstance","outputObservable","eventHandlerClosure","checkAndUpdateDirectiveInline","v8","v9","providerData","changed","changes","bindLen","updateProp","checkAndUpdateDirectiveDynamic","callFactory","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","searchView","findCompView","cdView","allProviders","publicProviders","callLifecycleHooksChildrenFirst","callProviderLifecycles","callElementProvidersLifecycles","ComponentFactoryResolver$1","ComponentFactory$1","toRefArray","nonMinified","minified","getNamespace$1","elementName","SCHEDULER","createChainedInjector","rootViewInjector","isBoundToModule","tElementNode","nodesforSlot","ComponentRef$1","componentFactoryResolver","injectComponentFactoryResolver","_rootLView","setClassMetadata","clazz","registerModuleFactory","assertSameOrNotExisting","incoming","registerNgModuleType","visited","recurse","clearModulesForTest","getRegisteredNgModuleType","NgModuleRef$1","destroyCbs","ngLocaleIdDef","_r3Injector","NgModuleFactory$1","ɵɵpureFunction0","slotOffset","pureFn","thisArg","ɵɵpureFunction1","exp","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","pureFunction4Internal","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunction8","exp8","ɵɵpureFunctionV","exps","pureFunctionVInternal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","pipeName","getPipeDef$1","pipeFactory","pipeInstance","ɵɵpipeBind1","unwrapValue$1","isPure","transform","ɵɵpipeBind2","ɵɵpipeBind3","ɵɵpipeBind4","ɵɵpipeBindV","bindingToInvalidateIdx","EventEmitter_","isAsync","__isAsync","observerOrNext","complete","schedulerFn","errorFn","completeFn","sink","Subscription","Subject","EventEmitter","symbolIterator","_results","QueryList","_emitDistinctChangesOnly","_changesDetected","_changes","last","init","reduce","resultsTree","newResultFlat","emit","unusedValueExportToPlacateAjd$7","unusedValueExportToPlacateAjd$8","unusedValueToPlacateAjd$2","LQuery_","queryList","setDirty","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","parentLQuery","indexInDeclarationView","clone","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","predicate","read","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","matchIdx","createResultByTNodeType","createResultForNode","matchingIdx","createSpecialToken","materializeViewResults","queryIndex","lQuery","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","ɵɵqueryRefresh","reset","notifyOnChanges","ɵɵviewQuery","createTQuery","createLQuery","ɵɵcontentQuery","saveContentQueryAndDirectiveIndex","ɵɵloadQuery","loadQueryInternal","track","tViewContentQueries","lastSavedDirectiveIndex","ɵɵtemplateRefExtractor","ɵɵinjectPipeChangeDetectorRef","ɵ0$c","angularCoreEnv","jitOptions","setJitOptions","defaultEncapsulation","preserveWhitespaces","getJitOptions","resetJitOptions","EMPTY_ARRAY$5","moduleQueue","enqueueModuleForDelayedScoping","flushingModuleQueue","flushModuleScopingQueueAsMuchAsPossible","every","isResolvedDeclaration","setScopeOnDeclaredComponents","declaration","compileNgModule","compileNgModuleDefs","allowDuplicateDeclarationsInRoot","expandModuleWithProviders","NgModule","verifySemanticsOfNgModuleDef","compileInjector","importingModule","verifiedNgModule","errors","unwrapModuleWithProvidersImports","mod","verifySemanticsOfNgModuleImport","verifyDeclarationsHaveDefinitions","verifyDirectivesHaveSelector","combinedDeclarations","computeCombinedExports","verifyExportsAreDeclaredOrReExported","decl","verifyDeclarationIsUnique","verifyComponentEntryComponentsIsPartOfNgModule","getAnnotation","verifyCorrectBootstrapType","verifyComponentIsPartOfNgModule","entryComponents","kind","suppressErrors","existingModule","ownerNgModule","typeOrWithProviders","collect","__annotations__","readAnnotation","resetCompiledComponents","transitiveScopes","transitiveScopesFor","patchComponentDefWithScope","ngSelectorScope","compilation","dir","pipe","isNgModule","scopes","exported","importedType","importedScope","entry","declared","declaredWithDefs","exportedType","exportedScope","isModuleWithProviders","compilationDepth","compileComponent","ngComponentDef","addDirectiveFactoryDef","directiveMetadata","typeSourceSpan","createParseSourceSpan","animations","interpolation","usesInheritance","addDirectiveDefToUndecoratedParents","hasSelectorScope","compileDirective","ngDirectiveDef","getDirectiveMetadata","sourceMapUrl","facade","Directive","extendsDirectlyFromObject","extractQueriesMetadata","isContentQuery","lifecycle","usesOnChanges","extractExportAs","viewQueries","objPrototype","shouldAddAbstractDirective","convertToR3QueryPredicate","splitByComma","convertToR3QueryMetadata","ann","static","isQueryAnn","queriesMeta","isInputAnnotation","piece","LIFECYCLE_HOOKS","hookName","metadataName","compilePipe","ngPipeDef","getPipeMetadata","Pipe","ɵ0$d","ɵ1$2","SWITCH_COMPILE_DIRECTIVE","ɵ2$1","c","ɵ3$1","SWITCH_COMPILE_COMPONENT","Component","ɵ4","ɵ5","SWITCH_COMPILE_PIPE","ɵ6","bindingPropertyName","Input","ɵ7","Output","ɵ8","hostPropertyName","HostBinding","ɵ9","HostListener","SWITCH_COMPILE_COMPONENT__POST_R3__","SWITCH_COMPILE_DIRECTIVE__POST_R3__","SWITCH_COMPILE_PIPE__POST_R3__","SWITCH_COMPILE_COMPONENT__PRE_R3__","SWITCH_COMPILE_DIRECTIVE__PRE_R3__","SWITCH_COMPILE_PIPE__PRE_R3__","ɵ0$e","ɵ1$3","SWITCH_COMPILE_NGMODULE","preR3NgModuleCompile","moduleInjectorType","SWITCH_COMPILE_NGMODULE__POST_R3__","SWITCH_COMPILE_NGMODULE__PRE_R3__","APP_INITIALIZER","ApplicationInitStatus","appInits","initialized","donePromise","asyncInitPromises","initResult","ApplicationInitStatus_Factory","APP_ID","_appIdRandomProviderFactory","_randomChar","APP_ID_RANDOM_PROVIDER","random","PLATFORM_INITIALIZER","PLATFORM_ID","APP_BOOTSTRAP_LISTENER","PACKAGE_ROOT_URL","Console","Console_Factory","LOCALE_ID$1","DEFAULT_CURRENCY_CODE","TRANSLATIONS","TRANSLATIONS_FORMAT","MissingTranslationStrategy","SWITCH_IVY_ENABLED__POST_R3__","SWITCH_IVY_ENABLED__PRE_R3__","ivyEnabled","ModuleWithComponentFactories","ngModuleFactory","componentFactories","_throwError","Compiler_compileModuleSync__PRE_R3__","Compiler_compileModuleSync__POST_R3__","Compiler_compileModuleSync","Compiler_compileModuleAsync__PRE_R3__","Compiler_compileModuleAsync__POST_R3__","Compiler_compileModuleAsync","Compiler_compileModuleAndAllComponentsSync__PRE_R3__","Compiler_compileModuleAndAllComponentsSync__POST_R3__","Compiler_compileModuleAndAllComponentsSync","Compiler_compileModuleAndAllComponentsAsync__PRE_R3__","Compiler_compileModuleAndAllComponentsAsync__POST_R3__","Compiler_compileModuleAndAllComponentsAsync","Compiler","compileModuleSync","compileModuleAsync","compileModuleAndAllComponentsSync","compileModuleAndAllComponentsAsync","Compiler_Factory","COMPILER_OPTIONS","CompilerFactory","getNativeRequestAnimationFrame","nativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","unpatchedCancelAnimationFrame","NgZone","enableLongStackTrace","shouldCoalesceEventChangeDetection","shouldCoalesceRunChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","isStable","onUnstable","onMicrotaskEmpty","onStable","onError","_nesting","_outer","_inner","lastRequestAnimationFrameId","forkInnerZoneWithAngularBehavior","EMPTY_PAYLOAD","isInAngularZone","checkStable","runOutsideAngular","delayChangeDetectionForEvents","fakeTopEventTask","updateMicroTaskStatus","delayChangeDetectionForEventsDelegate","onEnter","onLeave","_hasPendingMicrotasks","NoopNgZone","Testability","_ngZone","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","cb","clearTimeout","timeoutId","doneCb","pending","getPendingTasks","updateCb","macroTasks","creationLocation","timeout","addCallback","using","exactMatch","Testability_Factory","TestabilityRegistry","_applications","_testabilityGetter","addToWindow","testability","findInAncestors","findTestabilityInTree","TestabilityRegistry_Factory","_NoopGetTestability","setTestabilityGetter","_devMode","_runModeLocked","isDevMode","enableProdMode","_platform","compileNgModuleFactory","compileNgModuleFactory__POST_R3__","compileNgModuleFactory__PRE_R3__","compilerFactory","createCompiler","moduleFactory","ngJitMode","compilerOptions","_lastDefined","compilerProviders","_mergeArrays","compilerInjector","resourceLoader","ResourceLoader","publishDefaultGlobalUtils__PRE_R3__","publishDefaultGlobalUtils__POST_R3__","publishDefaultGlobalUtils$1","isBoundToModule__POST_R3__","isBoundToModule__PRE_R3__","cf","ALLOW_MULTIPLE_PLATFORMS","NgProbeToken","createPlatform","PlatformRef","inits","createPlatformFactory","parentPlatformFactory","extraProviders","platform","getPlatform","injectedProviders","assertPlatform","requiredToken","destroyPlatform","_injector","_modules","ngZoneOption","ngZone","ngZoneEventCoalescing","ngZoneRunCoalescing","getNgZone","ngZoneInjector","moduleRef","exceptionHandler","_callAndReportToErrorHandler","initStatus","runInitializers","_moduleDoBootstrap","optionsReducer","bootstrapModuleFactory","ApplicationRef","ngDoBootstrap","module","PlatformRef_Factory","extra","_exceptionHandler","_componentFactoryResolver","_initStatus","_bootstrapListeners","_views","_runningTick","_stable","componentTypes","_onMicrotaskEmptySubscription","isCurrentlyStable","Observable","observer","stableSub","unstableSub","assertInAngularZone","merge$1","share","componentOrFactory","selectorOrNode","compRef","testabilityRegistry","registerApplication","unregisterApplication","_loadComponent","checkNoChanges","attachToAppRef","detachFromAppRef","attachView","ApplicationRef_Factory","NgModuleFactoryLoader","getModuleFactory__PRE_R3__","noModuleError","getModuleFactory__POST_R3__","getModuleFactory","_SEPARATOR","FACTORY_CLASS_SUFFIX","SystemJsNgModuleLoaderConfig","DEFAULT_CONFIG","factoryPathPrefix","factoryPathSuffix","SystemJsNgModuleLoader","_compiler","config","_config","legacyOfflineMode","loadFactory","loadAndCompile","exportName","System","checkNotEmpty","factoryClassSuffix","SystemJsNgModuleLoader_Factory","modulePath","ViewRef$1","EmbeddedViewRef","DebugEventListener","DebugNode__PRE_R3__","nativeNode","_debugContext","DebugElement__PRE_R3__","addChild","childNodes","childIndex","newChildren","siblingIndex","refChild","newChild","refIndex","queryAll","_queryElementChildren","_queryNodeChildren","eventObj","asNativeElements","debugEls","DebugNode__POST_R3__","DebugElement__POST_R3__","copyDomProperties","collectPropertyBindings","lowercaseTNodeAttrs","eAttrs","lowercaseName","baseVal","getDebugNode__POST_R3__","_queryAllR3","invokedListeners","eventListeners","unwrappedListener","NodePrototype","descriptors","getOwnPropertyDescriptors","isPrimitiveValue","elementsOnly","_queryNodeChildrenR3","_queryNativeNodeDescendants","rootNativeNode","_addQueryMatchR3","nodeOrContainer","_queryNodeChildrenInContainerR3","head","nextLView","nextTNode","childView","getDebugNode$1","bindingIndexes","metadataParts","_nativeNodeToDebugNode","getDebugNode__PRE_R3__","NG_DEBUG_PROPERTY","getDebugNodeR2__PRE_R3__","getDebugNodeR2__POST_R3__","_nativeNode","getDebugNodeR2","getAllDebugNodes","indexDebugNode","removeDebugNodeFromIndex","DebugNode","DebugElement","_CORE_PLATFORM_PROVIDERS","platformCore","_iterableDiffersFactory","_keyValueDiffersFactory","_localeFactory","getGlobalLocale","LOCALE","$localize","ɵ0$f","APPLICATION_MODULE_PROVIDERS","zoneSchedulerFactory","ApplicationModule","ApplicationModule_Factory","anchorDef","templateFactory","elementDef","namespaceAndName","fixedAttrs","bindingDefs","suffixOrSecurityContext","parentEl","listenToElementOutputs","handleEventClosure","renderEventHandlerClosure","listenTarget","listenerView","disposable","checkAndUpdateElementInline","checkAndUpdateElementValue","checkAndUpdateElementDynamic","setElementAttribute$1","setElementClass","setElementStyle","bindView","setElementProperty","renderValue","unit","queryDef","bindingType","filterId","createQuery","queryIds","nodeMatchedQueries","tplDef","checkAndUpdateQuery","newValues","calcQueryValues","notify","boundValue","getQueryValue","embeddedView","dvc","projectedView","queryValueType","ngContentDef","appendNgContent","purePipeDef","argCount","_pureExpressionDef","pureArrayDef","pureObjectDef","propToIndex","nbKeys","propertyNames","createPureExpression","checkAndUpdatePureExpressionInline","checkAndUpdatePureExpressionDynamic","textDef","staticText","checkAndUpdateTextInline","_addInterpolationPart","checkAndUpdateTextDynamic","valueStr","viewBindingCount","viewDisposableCount","viewNodeFlags","viewRootNodeFlags","viewMatchedQueries","currentParent","currentRenderParent","currentElementHasPublicProviders","currentElementHasPrivateProviders","validateNode","isPrivateService","isNgContainer","newParent","rootNodeFlags","bindingCount","outputCount","nodeCount","parentFlags","parentEnd","createView","initView","createViewNodes","compRenderer","hostDef","nodeData","compViewDef","execComponentViewsAction","ViewAction","CreateViewNodes","execQueriesAction","markProjectedViewsForCheck","execEmbeddedViewsAction","CheckNoChanges","CheckAndUpdate","callInit","checkAndUpdateNode","argStyle","checkAndUpdateNodeInline","checkAndUpdateNodeDynamic","checkNoChangesNode","checkNoChangesNodeInline","checkNoChangesNodeDynamic","checkNoChangesQuery","Destroy","destroyViewNodes","callViewAction","viewState","execProjectedViewsAction","CheckNoChangesProjectedViews","CheckAndUpdateProjectedViews","queryFlags","staticDynamicQueryFlag","checkType","initServicesIfNeeded","services","createDebugServices","createProdServices","createProdRootView","DebugContext_","prodCheckAndUpdateNode","prodCheckNoChangesNode","debugSetCurrentNode","debugCreateRootView","debugCreateEmbeddedView","debugCreateComponentView","debugCreateNgModuleRef","debugOverrideProvider","debugOverrideComponentView","debugClearOverrides","debugCheckAndUpdateView","debugCheckNoChangesView","debugDestroyView","debugHandleEvent","debugUpdateDirectives","debugUpdateRenderer","elInjector","createRootData","DebugRendererFactory2","defWithOverride","applyProviderOverridesToView","callWithDebugContext","DebugAction","viewDefOverrides","applyProviderOverridesToNgModule","providerOverrides","providerOverridesWithScope","override","comp","compFactory","hostViewDef","elementIndicesWithOverwrittenProviders","findElementIndicesWithOverwrittenProviders","applyProviderOverridesToElement","elIndicesWithOverwrittenProviders","lastElementDef","elIndex","calcHasOverrides","hasOverrides","hasDeprecatedOverrides","applyProviderOverrides","deprecatedBehavior","moduleSet","_currentAction","_currentView","_currentNodeIndex","nextDirectiveWithBinding","debugCheckDirectivesFn","debugCheckAndUpdateNode","debugCheckNoChangesNode","nextRenderNodeWithBinding","debugCheckRenderNodeFn","givenValues","bindingValues","elView","elOrCompView","childDef","collectReferences","findHostElement","logViewDef","logNodeIndex","renderNodeIndex","getRenderNodeIndex","currRenderNodeIndex","nodeLogger","refName","oldAction","oldView","oldNodeIndex","getCurrentDebugContext","renderData","DebugRenderer2","whenRenderingDone","debugContextFactory","debugCtx","debugEl","debugChildEl","debugRefEl","oldChild","fullName","createNgModuleFactory","defFactory","NgModuleFactory_","cloneNgModuleDefinition","_ngModuleDefFactory","ɵɵngDeclareDirective","compileDirectiveDeclaration","ɵɵngDeclareComponent","compileComponentDeclaration","ɵɵngDeclarePipe","compilePipeDeclaration","DomAdapter","parseCookieValue","setRootDomAdapter","getDOM","allowSanitizationBypassOrThrow","PLATFORM_BROWSER_ID","ArrayBuffer","Blob","PRE_STYLE","AnimationGroupPlayer","ONE_SECOND","EmptyOutletComponent","noMatch","applyRedirects","applyRedirectsFn","NoMatch","recognize","recognizeFn"],"mappings":"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CAAmC;AACpE,eAAe,mBAAO,CAAC,oCAAwB;AAC/C,qBAAqB,mBAAO,CAAC,+CAAmC;AAChE,iBAAiB,mBAAO,CAAC,sCAA0B;AACnD,YAAY,mBAAO,CAAC,gCAAoB;;AAExC;AACA;AACA;;AAEA;AACA,qCAAqC,iCAAiC,EAAE;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E;AAC/E;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,yBAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACvID;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACNa;AACb,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,kBAAkB,mBAAO,CAAC,sCAA0B;AACpD,aAAa,mBAAO,CAAC,4DAAgD;AACrE,eAAe,mBAAO,CAAC,oCAAwB;AAC/C,gBAAgB,mBAAO,CAAC,qCAAyB;AACjD,2BAA2B,mBAAO,CAAC,iDAAqC;;AAExE;AACA;AACA;AACA,KAAK,gDAAgD;AACrD;AACA,iDAAiD,+DAA+D;AAChH;AACA,GAAG;AACH;;;;;;;;;;;;AChBA,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,qBAAqB,mBAAO,CAAC,kDAAsC;;AAEnE;AA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,gB;;;ACvEtB;AACA;AACA;AACA;AACA;AACA;AACA;;AA+JA;AACA;AACA;AACA;AACA;;;AACA,IAAa,UAAU,GAAG,GAA1B;AAyRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAgB,OAAhB,CAAwB,IAAxB,EAAsC,WAAtC,EAAsE;AACpE,SAAO;AAAC,QAAI;AAAA;AAAL;AAAsC,QAAI,EAAJ,IAAtC;AAA4C,eAAW,EAAX,WAA5C;AAAyD,WAAO,EAAE;AAAlE,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,OAAhB,CACI,OADJ,EAGY;AAAA,MADR,MACQ,uEAAJ,IAAI;AACV,SAAO;AAAC,QAAI;AAAA;AAAL;AAAsC,UAAM,EAAN,MAAtC;AAA8C,WAAO,EAAP;AAA9C,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,KAAhB,CACI,KADJ,EACqE;AAAA,MAArC,OAAqC,uEAAJ,IAAI;AACnE,SAAO;AAAC,QAAI;AAAA;AAAL;AAAoC,SAAK,EAAL,KAApC;AAA2C,WAAO,EAAP;AAA3C,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,QAAhB,CACI,KADJ,EACqE;AAAA,MAArC,OAAqC,uEAAJ,IAAI;AACnE,SAAO;AAAC,QAAI;AAAA;AAAL;AAAuC,SAAK,EAAL,KAAvC;AAA8C,WAAO,EAAP;AAA9C,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,KAAhB,CAAsB,MAAtB,EACiE;AAC/D,SAAO;AAAC,QAAI;AAAA;AAAL;AAAoC,UAAM,EAAE,MAA5C;AAAoD,UAAM,EAAE;AAA5D,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,KAAhB,CACI,IADJ,EACkB,MADlB,EAEI,OAFJ,EAE6C;AAC3C,SAAO;AAAC,QAAI;AAAA;AAAL;AAAoC,QAAI,EAAJ,IAApC;AAA0C,UAAM,EAAN,MAA1C;AAAkD,WAAO,EAAP;AAAlD,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,SAAhB,CAA0B,KAA1B,EAAyD;AACvD,SAAO;AAAC,QAAI;AAAA;AAAL;AAAwC,SAAK,EAAL;AAAxC,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,UAAhB,CACI,eADJ,EAGI,KAHJ,EAIyC;AAAA,MAArC,OAAqC,uEAAJ,IAAI;AACvC,SAAO;AAAC,QAAI;AAAA;AAAL;AAAyC,QAAI,EAAE,eAA/C;AAAgE,aAAS,EAAE,KAA3E;AAAkF,WAAO,EAAP;AAAlF,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,SAAhB,CACI,KADJ,EAEyC;AAAA,MAArC,OAAqC,uEAAJ,IAAI;AACvC,SAAO;AAAC,QAAI;AAAA;AAAL;AAAwC,aAAS,EAAE,KAAnD;AAA0D,WAAO,EAAP;AAA1D,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,YAAhB,GAAqE;AAAA,MAAxC,OAAwC,uEAAJ,IAAI;AAEnE,SAAO;AAAC,QAAI;AAAA;AAAL;AAA2C,WAAO,EAAP;AAA3C,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,YAAhB,CACI,SADJ,EAEyC;AAAA,MAArC,OAAqC,uEAAJ,IAAI;AACvC,SAAO;AAAC,QAAI;AAAA;AAAL;AAAyC,aAAS,EAAT,SAAzC;AAAoD,WAAO,EAAP;AAApD,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,KAAhB,CACI,QADJ,EACsB,SADtB,EAE8C;AAAA,MAA1C,OAA0C,uEAAJ,IAAI;AAC5C,SAAO;AAAC,QAAI;AAAA;AAAL;AAAoC,YAAQ,EAAR,QAApC;AAA8C,aAAS,EAAT,SAA9C;AAAyD,WAAO,EAAP;AAAzD,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,OAAhB,CAAwB,OAAxB,EAAgD,SAAhD,EAAgG;AAE9F,SAAO;AAAC,QAAI;AAAA;AAAL;AAAsC,WAAO,EAAP,OAAtC;AAA+C,aAAS,EAAT;AAA/C,GAAP;AACF;ACnyCA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAC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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,cAAc;AACd,KAAK;;AAEL;AACA;AACA;AACA;;;;;;;;;;;;ACzLA,eAAe,mBAAO,CAAC,oCAAwB;AAC/C,cAAc,mBAAO,CAAC,mCAAuB;AAC7C,sBAAsB,mBAAO,CAAC,4CAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;ACgCA;AACA;AACA;;;;IACa,kB;AACb;AACO;AAIH;AAAoD;AACnD;AA8BH,8BAAY,iBAAZ,EAAgD;AAAA;;AAClD;AAAY;AACL;;AAAY;AAzBV,+BAAsB,CAAtB;AACT;;AAWS,sCAA6B,KAA7B;AACT;AAEK;;AACI,iBAAa,IAAb;;AAQL,QAAI,CAAC,iBAAiB,CAAC,WAAnB,IAAkC,iBAAiB,CAAC,WAAlB,CAA8B,MAA9B,KAAyC,CAA/E,EAAkF;AAChF,uBAAiB,CAAC,WAAlB,GAAgC,CAC9B,iBAAiB,CAAC,QAAlB,CAA2B,eADG,EAE9B,iBAAiB,CAAC,QAAlB,CAA2B,IAFG,EAG9B,iBAAiB,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2lC,UAAU,GAAGxZ,GAAG,CAACnsB,CAAD,CAAH,GAAS,CAA5B;AACA,MAAM0lC,IAAI,GAAGvZ,GAAG,CAACnsB,CAAC,GAAG,CAAL,CAAhB;AACA,MAAM0jC,cAAc,GAAGiC,UAAU,GAAG,CAACxZ,GAAG,CAACnsB,CAAD,CAAP,GAAamsB,GAAG,CAACnsB,CAAD,CAAjD;AACA,MAAM6lC,SAAS,GAAG7C,WAAW,CAACU,cAAD,CAA7B;;AACA,MAAIiC,UAAJ,EAAgB;AACZ,QAAMG,qBAAqB,GAAG9C,WAAW,CAACzM,KAAD,CAAX,IAAsB;AAAG;AAAvD,KADY,CAEZ;;AACA,QAAIuP,qBAAqB,GACpB9C,WAAW,CAACzL,mBAAD,CAAX,IAAoC;AAAG;AADxC,OAEA,CAACyL,WAAW,CAACzM,KAAD,CAAX,GAAqB;AAAE;AAAxB,UAAsD4O,SAF1D,EAEqE;AACjEnC,iBAAW,CAACzM,KAAD,CAAX,IAAsB;AAAK;AAA3B;AACAmP,UAAI,CAAC7hC,IAAL,CAAUgiC,SAAV;AACH;AACJ,GATD,MAUK;AACDH,QAAI,CAAC7hC,IAAL,CAAUgiC,SAAV;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAME,kBAAkB,GAAG,CAAC,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,mB,GACF;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ACznD,KAAD,CAAf,GAAyBynD,eAAe,CAACznD,KAAD,CAAxC,GACH,KAAKgoD,YAAL,CAAkBN,gBAAgB,CAAC1nD,KAAD,CAAlC,CADJ;AAEH;;AACD,aAAO,IAAP;AACH;AACD;;;;WACA,4BAAmBA,KAAnB,EAA0B;AACtB,UAAIgK,CAAC,GAAG09C,gBAAgB,CAAC1nD,KAAD,CAAxB;;AACA,aAAOgK,CAAC,IAAI09C,gBAAgB,CAAC19C,CAAD,CAA5B,EAAiC;AAC7BA,SAAC,GAAG09C,gBAAgB,CAAC19C,CAAD,CAApB;AACH;;AACD,aAAOA,CAAP;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMk+C,sBAAsB,GAAG;AAC3BjrD,MAAI,EAAE;AADqB,CAA/B;AAGA;AACA;AACA;AACA;AACA;;AACA,IAAMkrD,gBAAgB,GAAG;AACrBlrD,MAAI,EAAE;AADe,CAAzB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMmrD,kBAAkB,GAAG,4BAA3B;AACA;AACA;AACA;;AACA,IAAMC,iBAAiB,GAAG,OAA1B;AACA,IAAMC,yBAAyB,GAAG,gBAAlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,iBAAT,CAA2B5iD,KAA3B,EAAkC;AAC9B,SAAOA,KAAK,CAACmiB,OAAN,CAAcsgC,kBAAd,EAAkC,UAAClf,IAAD;AAAA,WAAUA,IAAI,CAACphB,OAAL,CAAaugC,iBAAb,EAAgCC,yBAAhC,CAAV;AAAA,GAAlC,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,oBAAT,CAA8BvrD,IAA9B,EAAoC;AAChC;AAC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,SAAS,CAACuR,IAAI,CAAC,CAAD,CAAJ,CAAQoN,KAAT,CAAvB;AACA,qCAA0B8pB,KAA1B,cAAmCiqC,sBAAsB,CAACnhE,IAAD,CAAzD;AACH,GAHoB,CAArB;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8hE,qBAAT,CAA+BhkC,QAA/B,EAAyC/5C,GAAzC,EAA8C;AAC1C,SAAOy9E,cAAc,CAAC1jC,QAAD,EAAW/5C,GAAX,EAAgB,UAAUic,IAAV,EAAgB;AACjD,0DAA+CmhE,sBAAsB,CAACnhE,IAAD,CAArE;AACH,GAFoB,CAArB;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+hE,kBAAT,CAA4BjkC,QAA5B,EAAsCkkC,iBAAtC,EAAyDC,aAAzD,EAAwEl+E,GAAxE,EAA6E;AACzE,SAAOy9E,cAAc,CAAC1jC,QAAD,EAAW/5C,GAAX,EAAgB,UAAUic,IAAV,EAAgB;AACjD,QAAMk3B,KAAK,GAAGzoC,SAAS,CAACuR,IAAI,CAAC,CAAD,CAAJ,CAAQoN,KAAT,CAAvB;AACA,qBAAU40D,iBAAiB,CAAChzE,OAA5B,6CAAsEkoC,KAAtE,cAA+EiqC,sBAAsB,CAACnhE,IAAD,CAArG;AACH,GAHoB,EAGlBgiE,iBAHkB,CAArB;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,oBAAT,CAA8BzwD,QAA9B,EAAwC;AACpC,SAAOrvB,KAAK,oFAA6EqvB,QAA7E,EAAZ;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0wD,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CAA2Bp4D,KAA3B,EAAkCwyB,QAAlC,EAA4CmkC,UAA5C,EAAwD;AACpD,SAAO,IAAID,oBAAJ,CAAyBlB,aAAa,CAAC1/E,GAAd,CAAkBkqB,KAAlB,CAAzB,EAAmDwyB,QAAnD,EAA6DmkC,UAA7D,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM2B,SAAS,GAAG,EAAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,kB;;;;;;;;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,qBAAen0D,SAAf,EAA0B;AACtB,aAAOszD,0BAA0B,CAACtzD,SAAD,CAAjC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,0BAAwBA,SAAxB,EAAmClvB,MAAnC,EAA2C;AACvC,UAAMsjF,2BAA2B,GAAGD,kBAAkB,CAACx5E,OAAnB,CAA2BqlB,SAA3B,CAApC;AACA,aAAOm0D,kBAAkB,CAACE,qBAAnB,CAAyCD,2BAAzC,EAAsEtjF,MAAtE,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,+BAA6BkvB,SAA7B,EAAwClvB,MAAxC,EAAgD;AAC5C,aAAO,IAAIwjF,mBAAJ,CAAwBt0D,SAAxB,EAAmClvB,MAAnC,CAAP;AACH;;;;;;IAE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GAAGyP,QAAQ,EAAtB;AACA,QAAM1P,KAAK,GAAGwT,gBAAgB,EAA9B;AACAi/B,2BAAuB,CAACxyC,KAAD,EAAQD,KAAR,EAAegJ,KAAf,EAAsBjZ,QAAtB,EAAgCg3D,iBAAhC,EAAmD/9C,KAAK,CAAC3B,QAAD,CAAxD,EAAoE0rB,SAApE,EAA+E,KAA/E,CAAvB;;AACA,QAAIj5B,SAAJ,EAAe;AACX,UAAM2tD,sBAAsB,GAAG,CAACtsE,MAAM,CAAC,CAAD,CAAP,CAA/B,CADW,CACiC;;AAC5C,WAAK,IAAI9K,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG8K,MAAM,CAAC7K,MAA3B,EAAmCD,CAAC,IAAI,CAAxC,EAA2C;AACvCo3E,8BAAsB,CAACn0E,IAAvB,CAA4B6H,MAAM,CAAC9K,CAAD,CAAlC;AACH;;AACD+mE,kCAA4B,MAA5B,UAA6Bn3C,KAAK,CAACpxB,IAAnC,EAAyCmxB,KAAzC,EAAgDjQ,QAAhD,EAA0D4gB,eAAe,KAAK82C,sBAAsB,CAACn3E,MAA3C,GAAoD,CAA9G,SAAoHm3E,sBAApH;AACH;AACJ;;AACD,SAAOkN,sBAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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AACH;;;;EAbuCi1B,gB;AAgB5C;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS55F,IAAT,GAAuB,CACnB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy6F,gBAAT,GAA4B;AACxB,SAAOC,gBAAgB,CAACtgE,eAAe,EAAhB,EAAoBL,QAAQ,EAA5B,CAAvB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2gE,gBAAT,CAA0BpwE,KAA1B,EAAiCgJ,KAAjC,EAAwC;AACpC,SAAO,IAAIqnE,UAAJ,CAAe5iE,gBAAgB,CAACzN,KAAD,EAAQgJ,KAAR,CAA/B,CAAP;AACH;;AACD,IAAMsnE,qCAAqC,GAAGH,gBAA9C;AACA,IAAMI,oCAAoC,GAAG76F,IAA7C;AACA,IAAM86F,0BAA0B,GAAGF,qCAAnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMD,U,GACF,oBAAY56B,aAAZ,EAA2B;AAAA;;AACvB,OAAKA,aAAL,GAAqBA,aAArB;AACH,C;AAEL;AACA;AACA;AACA;;;AACA46B,UAAU,CAAC7tE,iBAAX,GAA+BguE,0BAA/B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,gBAAT,CAA0Bj9F,KAA1B,EAAiC;AAC7B,SAAOA,KAAK,YAAY68F,UAAjB,GAA8B78F,KAAK,CAACiiE,aAApC,GAAoDjiE,KAA3D;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMk9F,oBAAoB,GAAG,IAAI/wD,cAAJ,CAAmB,sBAAnB,CAA7B;AACA;AACA;AACA;AACA;AACA;;IACMgxD,gB;;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMC,S;;;AAEN;AACA;AACA;AACA;;;AACAA,SAAS,CAACpuE,iBAAV,GAA8B;AAAA,SAAMquE,wBAAwB,EAA9B;AAAA,CAA9B;;AACA,I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AAC;AACrFlzH,QAAI,EAAEs6E;AAD+E,GAAD,CAAV,EAE1E,IAF0E,EAEpE,IAFoE,CAAnE;AAEO,CAFtB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM84C,WAAW,GAAG,IAAI7hF,cAAJ,CAAmB,UAAnB,CAApB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAM8hF,qBAAqB,GAAG,IAAI9hF,cAAJ,CAAmB,qBAAnB,CAA9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAM+hF,YAAY,GAAG,IAAI/hF,cAAJ,CAAmB,cAAnB,CAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMgiF,mBAAmB,GAAG,IAAIhiF,cAAJ,CAAmB,oBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIiiF,0BAAJ;;AACA,CAAC,UAAUA,0BAAV,EAAsC;AACnCA,4BAA0B,CAACA,0BAA0B,CAAC,OAAD,CAA1B,GAAsC,CAAvC,CAA1B,GAAsE,OAAtE;AACAA,4BAA0B,CAACA,0BAA0B,CAAC,SAAD,CAA1B,GAAwC,CAAzC,CAA1B,GAAwE,SAAxE;AACAA,4BAA0B,CAACA,0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BA;AAA/B,GAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMG,M;AACF,yBAAoI;AAAA,sCAAtHC,oBAAsH;AAAA,QAAtHA,oBAAsH,sCAA/F,KAA+F;AAAA,sCAAxFC,kCAAwF;AAAA,QAAxFA,kCAAwF,sCAAnD,KAAmD;AAAA,sCAA5CC,gCAA4C;AAAA,QAA5CA,gCAA4C,sCAAT,KAAS;;AAAA;;AAChI,SAAKC,oBAAL,GAA4B,KAA5B;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACA;AACR;AACA;;AACQ,SAAKC,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;;AACQ,SAAKC,UAAL,GAAkB,IAAI/R,YAAJ,CAAiB,KAAjB,CAAlB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKgS,gBAAL,GAAwB,IAAIhS,YAAJ,CAAiB,KAAjB,CAAxB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKiS,QAAL,GAAgB,IAAIjS,YAAJ,CAAiB,KAAjB,CAAhB;AACA;AACR;AACA;;AACQ,SAAKkS,OAAL,GAAe,IAAIlS,YAAJ,CAAiB,KAAjB,CAAf;;AACA,QAAI,OAAOhnH,IAAP,IAAe,WAAnB,EAAgC;AAC5B,YAAM,IAAID,KAAJ,kDAAN;AACH;;AACDC,QAAI,CAACS,iBAAL;AACA,QAAMkI,IAAI,GAAG,IAAb;AACAA,QAAI,CAACwwH,QAAL,GAAgB,CAAhB;AACAxwH,QAAI,CAACywH,MAAL,GAAczwH,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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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AAe,mBAAO,CAAC,oCAAwB;AAC/C,qBAAqB,mBAAO,CAAC,uCAA2B;AACxD,kCAAkC,mBAAO,CAAC,yDAA6C;AACvF,YAAY,mBAAO,CAAC,gCAAoB;AACxC,sBAAsB,mBAAO,CAAC,4CAAgC;AAC9D,yBAAyB,mBAAO,CAAC,8CAAkC;AACnE,yBAAyB,mBAAO,CAAC,+CAAmC;AACpE,0BAA0B,mBAAO,CAAC,yCAA6B;AAC/D,cAAc,mBAAO,CAAC,kCAAsB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG,qEAAqE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7GA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAI,IAAI,GAAe,IAAvB;;AACA,SACgB,MADhB,GACsB;AACpB,SAAO,IAAP;AACD;;AACD,SACgB,MADhB,CACuB,OADvB,EAC0C;AACxC,MAAI,GAAG,OAAP;AACD;;AACD,SACgB,iBADhB,CACkC,OADlC,EACqD;AACnD,MAAI,CAAC,IAAL,EAAW;AACT,QAAI,GAAG,OAAP;AACD;AACF;AAED;;AACA;AACA;AACA;AACA;AACA;AACA;;;IACsB,U;;;AC/BtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAa,QAAQ,GAAG,IAAI,4DAAJ,CAA6B,eAA7B,CAAxB;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAMsB,gB;;;;;;AACrB,C;;AAAC;AAAA;AAAA;AAAA;AAAA;;;wBAND,W,IAAA,S,KAAW,gEACA,gBADA,EACY;kEAAA;QAEtB;AAAY,4BAAZ;AACD;;AADC;AAFsB,IADZ,E,IAAA,E,IAAA,C;AAKP,C;;AAAC,SAuBU,0BAvBV,GAuBoC;AACxC,SAAO,8DAAQ,CAAC,uBAAD,CAAf;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAa,oBAAoB,GAAG,IAAI,4DAAJ,CAAiC,sBAAjC,CAApC;AAsBA;AACA;AACA;AACA;AACA;;IAMa,uB;;;;;AAIX,mCAAsC,IAAtC,EAA+C;AAAA;;AAAA;;AAC7C;AADoC;;AAEpC,UAAK,KAAL;;AAF6C;AAG9C,G,CACH;;AAEC;;;;;WACC,iBAAK;AACF,WAA8B,QAA9B,GAAyC,MAAM,GAAG,WAAT,EAAzC;AACD,WAAK,QAAL,GAAgB,MAAM,GAAG,UAAT,EAAhB;AACD;;;WAED,8BAAkB;AAChB,aAAO,MAAM,GAAG,WAAT,CAAqB,KAAK,IAA1B,CAAP;AACD;;;WAED,oBAAW,EAAX,EAAqC;AACnC,YAAM,GAAG,oBAAT,CAA8B,KAAK,IAAnC,EAAyC,QAAzC,EAAmD,gBAAnD,CAAoE,UAApE,EAAgF,EAAhF,EAAoF,KAApF;AACD;;;WAED,sBAAa,EAAb,EAAuC;AACrC,YAAM,GAAG,oBAAT,CAA8B,KAAK,IAAnC,EAAyC,QAAzC,EAAmD,gBAAnD,CAAoE,YAApE,EAAkF,EAAlF,EAAsF,KAAtF;AACD;;;SAED,eAAQ;AACN,aAAO,KAAK,QAAL,CAAc,IAArB;AACD;;;SACD,eAAY;AACV,aAAO,KAAK,QAAL,CAAc,QAArB;AACD;;;SACD,eAAY;AACV,aAAO,KAAK,QAAL,CAAc,QAArB;AACD;;;SACD,eAAQ;AACN,aAAO,KAAK,QAAL,CAAc,IAArB;AACD;;;SACD,eAAY;AACV,aAAO,KAAK,QAAL,CAAc,QAArB;AACD,K;SAOD,aAAa,OAAb,EAA4B;AAC1B,WAAK,QAAL,CAAc,QAAd,GAAyB,OAAzB;AACD;;;SARD,eAAU;AACR,aAAO,KAAK,QAAL,CAAc,MAArB;AACD;;;SACD,eAAQ;AACN,aAAO,KAAK,QAAL,CAAc,IAArB;AACD;;;WAKD,mBAAU,KAAV,EAAsB,KAAtB,EAAqC,GAArC,EAAgD;AAC9C,UAAI,aAAa,EAAjB,EAAqB;AACnB,aAAK,QAAL,CAAc,SAAd,CAAwB,KAAxB,EAA+B,KAA/B,EAAsC,GAAtC;AACD,OAFD,MAEO;AACL,aAAK,QAAL,CAAc,IAAd,GAAqB,GAArB;AACD;AACF;;;WAED,sBAAa,KAAb,EAAyB,KAAzB,EAAwC,GAAxC,EAAmD;AACjD,UAAI,aAAa,EAAjB,EAAqB;AACnB,aAAK,QAAL,CAAc,YAAd,CAA2B,KAA3B,EAAkC,KAAlC,EAAyC,GAAzC;AACD,OAFD,MAEO;AACL,aAAK,QAAL,CAAc,IAAd,GAAqB,GAArB;AACD;AACF;;;WAED,mBAAO;AACL,WAAK,QAAL,CAAc,OAAd;AACD;;;WAED,gBAAI;AACF,WAAK,QAAL,CAAc,IAAd;AACD;;;WAED,oBAAQ;AACN,aAAO,KAAK,QAAL,CAAc,KAArB;AACD;;;;EA/E0C,gB;;;;AAgF5C,C;;AACD;AAAA;AAAA;AAAA,cAjFK;AAiFL;;AAjFM;AAAA,UALL;AAAA,UAAU,SAAV;AAAW;AAAA,UACV,EAAU,oDADA;AACE,aAAU,QAAV;AADF;AAAX,GAKK;AAAA;;;UAFJ,S,KAAA,W,IAAY,S,KAAA,gEACb,uBADa,EACb;kEAAA;;;;;;AAAA,IADa,E;;;;;;;;GAAA,E,IAAA,C;AAM0B,C;;AAAC,SA8EzB,aA9EyB,GA8EZ;AAC3B,SAAO,CAAC,CAAC,MAAM,CAAC,OAAP,CAAe,SAAxB;AACD;;AACD,SAAgB,6BAAhB,GAA6C;AAC3C,SAAO,IAAI,uBAAJ,CAA4B,8DAAQ,CAAC,QAAD,CAApC,CAAP;AACF;AC/LA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,aAAhB,CAA8B,KAA9B,EAA6C,GAA7C,EAAwD;AACtD,MAAI,KAAK,CAAC,MAAN,IAAgB,CAApB,EAAuB;AACrB,WAAO,GAAP;AACD;;AACD,MAAI,GAAG,CAAC,MAAJ,IAAc,CAAlB,EAAqB;AACnB,WAAO,KAAP;AACD;;AACD,MAAI,OAAO,GAAG,CAAd;;AACA,MAAI,KAAK,CAAC,QAAN,CAAe,GAAf,CAAJ,EAAyB;AACvB,WAAO;AACR;;AACD,MAAI,GAAG,CAAC,UAAJ,CAAe,GAAf,CAAJ,EAAyB;AACvB,WAAO;AACR;;AACD,MAAI,OAAO,IAAI,CAAf,EAAkB;AAChB,WAAO,KAAK,GAAG,GAAG,CAAC,SAAJ,CAAc,CAAd,CAAf;AACD;;AACD,MAAI,OAAO,IAAI,CAAf,EAAkB;AAChB,WAAO,KAAK,GAAG,GAAf;AACD;;AACD,SAAO,KAAK,GAAG,GAAR,GAAc,GAArB;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,kBAAhB,CAAmC,GAAnC,EAA8C;AAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAJ,CAAU,QAAV,CAAd;AACA,MAAM,UAAU,GAAG,KAAK,IAAI,KAAK,CAAC,KAAf,IAAwB,GAAG,CAAC,MAA/C;AACA,MAAM,eAAe,GAAG,UAAU,IAAI,GAAG,CAAC,UAAU,GAAG,CAAd,CAAH,KAAwB,GAAxB,GAA8B,CAA9B,GAAkC,CAAtC,CAAlC;AACA,SAAO,GAAG,CAAC,KAAJ,CAAU,CAAV,EAAa,eAAb,IAAgC,GAAG,CAAC,KAAJ,CAAU,UAAV,CAAvC;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,oBAAhB,CAAqC,MAArC,EAAmD;AACjD,SAAO,MAAM,IAAI,MAAM,CAAC,CAAD,CAAN,KAAc,GAAxB,GAA8B,MAAM,MAApC,GAA6C,MAApD;AACF;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEsB,gB;;;;;;AACrB,C;;AAAC;AAAA;AAAA;AAAA;AAAA;;;wBAFD,W,IAAA,S,KAAY,gEAAoB,gBAApB,EAAgC;AAAuB,QAAC,0DAAxB;;;;;AAAA,IAAhC,E,IAAA,E,IAAA,C;AACR,C;;AAAC,SAWU,uBAXV,CAWkC,gBAXlC,EAWoE;AAC1E;AACE,MAAM,QAAQ,GAAG,8DAAQ,CAAC,QAAD,CAAR,CAAmB,QAApC;AACA,SAAO,IAAI,oBAAJ,CACH,8DAAQ,CAAC,gBAAD,CADL,EACgC,QAAQ,IAAI,QAAQ,CAAC,MAArB,IAA+B,EAD/D,CAAP;AAED;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAa,aAAa,GAAG,IAAI,4DAAJ,CAA2B,aAA3B,CAA7B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEa,oB;;;;;AAGX,gCACY,iBADZ,EAEuC,IAFvC,EAEoD;AAAA;;AAAA;;AAClD;AAFU;;AAIV,QAAI,IAAI,IAAI,IAAZ,EAAkB;AAChB,UAAI,GAAG,OAAK,iBAAL,CAAuB,kBAAvB,EAAP;AACD;;AAED,QAAI,IAAI,IAAI,IAAZ,EAAkB;AAChB,YAAM,IAAI,KAAJ,+GAAN;AAED;;AAED,WAAK,SAAL,GAAiB,IAAjB;AAZkD;AAanD;;;;WAED,oBAAW,EAAX,EAAqC;AACnC,WAAK,iBAAL,CAAuB,UAAvB,CAAkC,EAAlC;;AACA,WAAK,iBAAL,CAAuB,YAAvB,CAAoC,EAApC;AACD;;;WAED,uBAAW;AACT,aAAO,KAAK,SAAZ;AACD;;;WAED,4BAAmB,QAAnB,EAAmC;AACjC,aAAO,aAAa,CAAC,KAAK,SAAN,EAAiB,QAAjB,CAApB;AACD;;;WAED,gBAAiC;AAAA,UAA5B,WAA4B,uEAAL,KAAK;AAC/B,UAAM,QAAQ,GACV,KAAK,iBAAL,CAAuB,QAAvB,GAAkC,oBAAoB,CAAC,KAAK,iBAAL,CAAuB,MAAxB,CAD1D;AAEA,UAAM,IAAI,GAAG,KAAK,iBAAL,CAAuB,IAApC;AACA,aAAO,IAAI,IAAI,WAAR,aAAyB,QAAzB,SAAoC,IAApC,IAA6C,QAApD;AACD;;;WAED,mBAAU,KAAV,EAAsB,KAAtB,EAAqC,GAArC,EAAkD,WAAlD,EAAqE;AACnE,UAAM,WAAW,GAAG,KAAK,kBAAL,CAAwB,GAAG,GAAG,oBAAoB,CAAC,WAAD,CAAlD,CAApB;;AACA,WAAK,iBAAL,CAAuB,SAAvB,CAAiC,KAAjC,EAAwC,KAAxC,EAA+C,WAA/C;AACD;;;WAED,sBAAa,KAAb,EAAyB,KAAzB,EAAwC,GAAxC,EAAqD,WAArD,EAAwE;AACtE,UAAM,WAAW,GAAG,KAAK,kBAAL,CAAwB,GAAG,GAAG,oBAAoB,CAAC,WAAD,CAAlD,CAApB;;AACA,WAAK,iBAAL,CAAuB,YAAvB,CAAoC,KAApC,EAA2C,KAA3C,EAAkD,WAAlD;AACD;;;WAED,mBAAO;AACL,WAAK,iBAAL,CAAuB,OAAvB;AACD;;;WAED,gBAAI;AACF,WAAK,iBAAL,CAAuB,IAAvB;AACD;;;;EAxDuC,gB;;qCADzC,4B,CAAU,C,EAAA;AAAA;AAAA,C;;;;gCACT;;;AAAC;AAAA,UAA8C;AAAA,UAjGjB;AAiGiB,GAA9C,EAjGiD;AAAA;AAAA;AAAA,YAsG7C,sDAAQ;AAtGqC,OAsGrC;AAAA,YAAI,oDAAJ;AAAU,aAAC,aAAD;AAAV,KAtGqC;AAAA,GAiGjD;AAAA;;;;;;;;;;;;;;;;;;AAK8C,C;AChHjD;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,oB;;;;;AAEX,gCACY,iBADZ,EAEuC,SAFvC,EAEyD;AAAA;;AAAA;;AACvD;AAFU;AAFJ,uBAAoB,EAApB;;AAKN,QAAI,SAAS,IAAI,IAAjB,EAAuB;AACrB,aAAK,SAAL,GAAiB,SAAjB;AACD;;AAJsD;AAKxD;;;;WAED,oBAAW,EAAX,EAAqC;AACnC,WAAK,iBAAL,CAAuB,UAAvB,CAAkC,EAAlC;;AACA,WAAK,iBAAL,CAAuB,YAAvB,CAAoC,EAApC;AACD;;;WAED,uBAAW;AACT,aAAO,KAAK,SAAZ;AACD;;;WAED,gBAAiC;AAAA,UAA5B,WAA4B,uEAAL,KAAK;AAAI;AACS;AAE5C,UAAI,IAAI,GAAG,KAAK,iBAAL,CAAuB,IAAlC;AACA,UAAI,IAAI,IAAI,IAAZ,EAAkB,IAAI,GAAG,GAAP;AAElB,aAAO,IAAI,CAAC,MAAL,GAAc,CAAd,GAAkB,IAAI,CAAC,SAAL,CAAe,CAAf,CAAlB,GAAsC,IAA7C;AACD;;;WAED,4BAAmB,QAAnB,EAAmC;AACjC,UAAM,GAAG,GAAG,aAAa,CAAC,KAAK,SAAN,EAAiB,QAAjB,CAAzB;AACA,aAAO,GAAG,CAAC,MAAJ,GAAa,CAAb,GAAkB,MAAM,GAAxB,GAA+B,GAAtC;AACD;;;WAED,mBAAU,KAAV,EAAsB,KAAtB,EAAqC,IAArC,EAAmD,WAAnD,EAAsE;AACpE,UAAI,GAAG,GAAgB,KAAK,kBAAL,CAAwB,IAAI,GAAG,oBAAoB,CAAC,WAAD,CAAnD,CAAvB;;AACA,UAAI,GAAG,CAAC,MAAJ,IAAc,CAAlB,EAAqB;AACnB,WAAG,GAAG,KAAK,iBAAL,CAAuB,QAA7B;AACD;;AACD,WAAK,iBAAL,CAAuB,SAAvB,CAAiC,KAAjC,EAAwC,KAAxC,EAA+C,GAA/C;AACD;;;WAED,sBAAa,KAAb,EAAyB,KAAzB,EAAwC,IAAxC,EAAsD,WAAtD,EAAyE;AACvE,UAAI,GAAG,GAAG,KAAK,kBAAL,CAAwB,IAAI,GAAG,oBAAoB,CAAC,WAAD,CAAnD,CAAV;;AACA,UAAI,GAAG,CAAC,MAAJ,IAAc,CAAlB,EAAqB;AACnB,WAAG,GAAG,KAAK,iBAAL,CAAuB,QAA7B;AACD;;AACD,WAAK,iBAAL,CAAuB,YAAvB,CAAoC,KAApC,EAA2C,KAA3C,EAAkD,GAAlD;AACD;;;WAED,mBAAO;AACL,WAAK,iBAAL,CAAuB,OAAvB;AACD;;;WAED,gBAAI;AACF,WAAK,iBAAL,CAAuB,IAAvB;AACD;;;;EAxDuC,gB;;qCADzC,4B,CAAU,C,EAAA;AAAA;AAAA,C;;;;gCACT;;;AAAC;AAAA,UAA8C;AAAA,UAxBjB;AAwBiB,GAA9C,EAxBiD;AAAA;AAAA;AAAA,YA4B7C,sDAAQ;AA5BqC,OA4BrC;AAAA,YAAI,oDAAJ;AAAU,aAAC,aAAD;AAAV,KA5BqC;AAAA,GAwBjD;AAAA;;;;;;;;;;;;;;;;;;AAI8C,C;ACtCjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAMa,Q;AAcX,oBAAY,gBAAZ,EAAgD,gBAAhD,EAAkF;AAAA;;AAAA;;AACpF;AAbE,oBAA8B,IAAI,0DAAJ,EAA9B;AACF;;AAOE,+BAAiE,EAAjE;AAKE,SAAK,iBAAL,GAAyB,gBAAzB;;AACA,QAAM,eAAe,GAAG,KAAK,iBAAL,CAAuB,WAAvB,EAAxB;;AACA,SAAK,iBAAL,GAAyB,gBAAzB;AACA,SAAK,SAAL,GAAiB,kBAAkB,CAAC,eAAe,CAAC,eAAD,CAAhB,CAAnC;;AACA,SAAK,iBAAL,CAAuB,UAAvB,CAAkC,UAAC,EAAD,EAAG;AACnC,YAAI,CAAC,QAAL,CAAc,IAAd,CAAmB;AACjB,eAAO,MAAI,CAAC,IAAL,CAAU,IAAV,CADU;AAEjB,eAAO,IAFU;AAGjB,iBAAS,EAAE,CAAC,KAHK;AAIjB,gBAAQ,EAAE,CAAC;AAJM,OAAnB;AAMD,KAPD;AAQD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEJ;AAAQ;AAEZ;;;;;WAAC,gBAAiC;AAAA,UAA5B,WAA4B,uEAAL,KAAK;AAC/B,aAAO,KAAK,SAAL,CAAe,KAAK,iBAAL,CAAuB,IAAvB,CAA4B,WAA5B,CAAf,CAAP;AACD;AACH;AAEC;AACE;AACE;;;;WACH,oBAAQ;AACN,aAAO,KAAK,iBAAL,CAAuB,QAAvB,EAAP;AACD;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AACE;AAEJ;;;;WAAP,8BAAqB,IAArB,EAAqD;AAAA,UAAlB,KAAkB,uEAAF,EAAE;AACnD,aAAO,KAAK,IAAL,MAAe,KAAK,SAAL,CAAe,IAAI,GAAG,oBAAoB,CAAC,KAAD,CAA1C,CAAtB;AACD;AACH;AAEC;AACE;AACE;AAEH;AAAO;AAEJ;;;;WAAH,mBAAU,GAAV,EAAqB;AACnB,aAAO,QAAQ,CAAC,kBAAT,CAA4B,cAAc,CAAC,KAAK,SAAN,EAAiB,eAAe,CAAC,GAAD,CAAhC,CAA1C,CAAP;AACD;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAEH;AAAO;AAEJ;;;;WAAT,4BAAmB,GAAnB,EAA8B;AAC5B,UAAI,GAAG,IAAI,GAAG,CAAC,CAAD,CAAH,KAAW,GAAtB,EAA2B;AACzB,WAAG,GAAG,MAAM,GAAZ;AACD;;AACD,aAAO,KAAK,iBAAL,CAAuB,kBAAvB,CAA0C,GAA1C,CAAP;AACD,K,CACH;;AAEC;AACE;AACE;AAEH;AAAO;AACE;AACE;AAGT;AAAO;;;;WAAT,YAAG,IAAH,EAAsD;AAAA,UAArC,KAAqC,uEAArB,EAAqB;AAAA,UAAjB,KAAiB,uEAAJ,IAAI;;AACpD,WAAK,iBAAL,CAAuB,SAAvB,CAAiC,KAAjC,EAAwC,EAAxC,EAA4C,IAA5C,EAAkD,KAAlD;;AACA,WAAK,yBAAL,CACI,KAAK,kBAAL,CAAwB,IAAI,GAAG,oBAAoB,CAAC,KAAD,CAAnD,CADJ,EACiE,KADjE;AAED;AACH;AAEC;AACE;AAEH;AAAO;AACE;AACE;AAEJ;;;;WAAL,sBAAa,IAAb,EAAgE;AAAA,UAArC,KAAqC,uEAArB,EAAqB;AAAA,UAAjB,KAAiB,uEAAJ,IAAI;;AAC9D,WAAK,iBAAL,CAAuB,YAAvB,CAAoC,KAApC,EAA2C,EAA3C,EAA+C,IAA/C,EAAqD,KAArD;;AACA,WAAK,yBAAL,CACI,KAAK,kBAAL,CAAwB,IAAI,GAAG,oBAAoB,CAAC,KAAD,CAAnD,CADJ,EACiE,KADjE;AAED;AACH;AAEC;AACE;;;;WACD,mBAAO;AACL,WAAK,iBAAL,CAAuB,OAAvB;AACD;AACH;AAEC;AACE;;;;WACD,gBAAI;AACF,WAAK,iBAAL,CAAuB,IAAvB;AACD;AACH;AAEC;AACE;AAEH;AAAO;AAEJ;;;;WAAD,qBAAY,EAAZ,EAAqD;AAAA;;AACnD,WAAK,mBAAL,CAAyB,IAAzB,CAA8B,EAA9B;;AAEA,UAAI,CAAC,KAAK,sBAAV,EAAkC;AAChC,aAAK,sBAAL,GAA8B,KAAK,SAAL,CAAe,WAAC;AAC5C,gBAAI,CAAC,yBAAL,CAA+B,CAAC,CAAC,GAAjC,EAAsC,CAAC,CAAC,KAAxC;AACD,SAF6B,CAA9B;AAGD;AACF;AACH;;;;WAEE,qCAA0D;AAAA,UAAhC,GAAgC,uEAAlB,EAAkB;AAAA,UAAd,KAAc;;AACxD,WAAK,mBAAL,CAAyB,OAAzB,CAAiC,YAAE;AAAA,eAAI,EAAE,CAAC,GAAD,EAAM,KAAN,CAAN;AAAA,OAAnC;AACD;AACH;AAEC;AACE;AACE;AACE;AAEH;AAAO;AAEJ;;;;WAAL,mBACI,MADJ,EAC4C,OAD5C,EAEI,QAFJ,EAEgC;AAC9B,aAAO,KAAK,QAAL,CAAc,SAAd,CAAwB;AAAC,YAAI,EAAE,MAAP;AAAe,aAAK,EAAE,OAAtB;AAA+B,gBAAQ,EAAE;AAAzC,OAAxB,CAAP;AACD;;;;;;;;AAEH,C;AAAE;AACF;AAA+D;AAC9D;AACuC;AAAG;AAED;;;AAE1B,gCAAmD,oBAAnD;AAEd;AACF;AAAoD;AACnD;AACuB;AACF;AAAG;AAAG;AAGL;;AAEP,yBAAwD,aAAxD;AAEd;AACF;AAAyD;AACa;AACF;AAAG;AAErD;AAAG;AAEe;;AAEpB,8BAA8C,kBAA9C;AAChB;AAAA;AAAA;AAAA,cAxMK;AAwML;;AAxMM;AAAA,UALL;AAAA,UAxCuB;AAwCvB,GAKK,EA7CsB;AAAA,QAyC1B,EAxCM;AADoB,GA6CtB;AAAA;;;wBAFJ,W,IAAY,S,KAAc,gEAC3B,QAD2B,EAC3B;kEAAA;;;;;;AAAA,IAD2B,E;;;;;;GAAA,E,IAAA,C;AA1CC,C;;AAAC,SAsPd,cAtPc,GAsPA;AAC5B,SAAO,IAAI,QAAJ,CAAa,8DAAQ,CAAC,gBAAD,CAArB,EAAgD,8DAAQ,CAAC,gBAAD,CAAxD,CAAP;AACD;;AAED,SAAS,cAAT,CAAwB,QAAxB,EAA0C,GAA1C,EAAqD;AACnD,SAAO,QAAQ,IAAI,GAAG,CAAC,UAAJ,CAAe,QAAf,CAAZ,GAAuC,GAAG,CAAC,SAAJ,CAAc,QAAQ,CAAC,MAAvB,CAAvC,GAAwE,GAA/E;AACD;;AAED,SAAS,eAAT,CAAyB,GAAzB,EAAoC;AAClC,SAAO,GAAG,CAAC,OAAJ,CAAY,eAAZ,EAA6B,EAA7B,CAAP;AACF;AC3QA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;;;AACO,IAAM,aAAa,GACiE;AACrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAD8E;AAErF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAF8E;AAGrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAH8E;AAIrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAJ8E;AAKrF,SAAO,CAAC,SAAD,EAAY,IAAZ,CAL8E;AAMrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAN8E;AAOrF,SAAO,CAAC,IAAD,EAAO,GAAP,CAP8E;AAQrF,SAAO,CAAC,SAAD,EAAY,IAAZ,CAR8E;AASrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAT8E;AAUrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAV8E;AAWrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAX8E;AAYrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAZ8E;AAarF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAb8E;AAcrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAd8E;AAerF,SAAO,CAAC,SAAD,EAAY,IAAZ,CAf8E;AAgBrF,SAAO,CAAC,IAAD,CAhB8E;AAiBrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAjB8E;AAkBrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAlB8E;AAmBrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAnB8E;AAoBrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CApB8E;AAqBrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CArB8E;AAsBrF,SAAO,CAAC,KAAD,EAAQ,GAAR,EAAa,CAAb,CAtB8E;AAuBrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAvB8E;AAwBrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAxB8E;AAyBrF,SAAO,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAzB8E;AA0BrF,SAAO,CAAC,KAAD,EAAQ,GAAR,CA1B8E;AA2BrF,SAAO,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CA3B8E;AA4BrF,SAAO,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CA5B8E;AA6BrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CA7B8E;AA8BrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CA9B8E;AA+BrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CA/B8E;AAgCrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAhC8E;AAiCrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAjC8E;AAkCrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAlC8E;AAmCrF,SAAO,CAAC,SAAD,EAAY,IAAZ,CAnC8E;AAoCrF,SAAO,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CApC8E;AAqCrF,SAAO,CAAC,GAAD,CArC8E;AAsCrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAtC8E;AAuCrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAvC8E;AAwCrF,SAAO,CAAC,GAAD,CAxC8E;AAyCrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAzC8E;AA0CrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CA1C8E;AA2CrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CA3C8E;AA4CrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CA5C8E;AA6CrF,SAAO,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CA7C8E;AA8CrF,SAAO,CAAC,KAAD,EAAQ,GAAR,CA9C8E;AA+CrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CA/C8E;AAgDrF,SAAO,CAAC,SAAD,EAAY,IAAZ,CAhD8E;AAiDrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAjD8E;AAkDrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAlD8E;AAmDrF,SAAO,CAAC,GAAD,CAnD8E;AAoDrF,SAAO,CAAC,GAAD,CApD8E;AAqDrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CArD8E;AAsDrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAtD8E;AAuDrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAvD8E;AAwDrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAxD8E;AAyDrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAzD8E;AA0DrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CA1D8E;AA2DrF,SAAO,CAAC,GAAD,EAAM,SAAN,EAAiB,CAAjB,CA3D8E;AA4DrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CA5D8E;AA6DrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CA7D8E;AA8DrF,SAAO,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CA9D8E;AA+DrF,SAAO,CAAC,GAAD,EAAM,SAAN,EAAiB,CAAjB,CA/D8E;AAgErF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAhE8E;AAiErF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAjE8E;AAkErF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAlE8E;AAmErF,SAAO,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CAnE8E;AAoErF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CApE8E;AAqErF,SAAO,CAAC,SAAD,EAAY,IAAZ,CArE8E;AAsErF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAtE8E;AAuErF,SAAO,CAAC,SAAD,EAAY,IAAZ,CAvE8E;AAwErF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAxE8E;AAyErF,SAAO,CAAC,SAAD,EAAY,IAAZ,CAzE8E;AA0ErF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CA1E8E;AA2ErF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CA3E8E;AA4ErF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CA5E8E;AA6ErF,SAAO,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CA7E8E;AA8ErF,SAAO,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CA9E8E;AA+ErF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CA/E8E;AAgFrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAhF8E;AAiFrF,SAAO,CAAC,KAAD,EAAQ,GAAR,CAjF8E;AAkFrF,SAAO,CAAC,SAAD,EAAY,IAAZ,CAlF8E;AAmFrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAnF8E;AAoFrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CApF8E;AAqFrF,SAAO,CAAC,SAAD,EAAY,IAAZ,CArF8E;AAsFrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAtF8E;AAuFrF,SAAO,CAAC,SAAD,EAAY,IAAZ,CAvF8E;AAwFrF,SAAO,CAAC,KAAD,EAAQ,GAAR,CAxF8E;AAyFrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAzF8E;AA0FrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CA1F8E;AA2FrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CA3F8E;AA4FrF,SAAO,CAAC,SAAD,EAAY,IAAZ,CA5F8E;AA6FrF,SAAO,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CA7F8E;AA8FrF,SAAO,CAAC,SAAD,EAAY,KAAZ,CA9F8E;AA+FrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CA/F8E;AAgGrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAhG8E;AAiGrF,SAAO,CAAC,SAAD,EAAY,IAAZ,CAjG8E;AAkGrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CAlG8E;AAmGrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAnG8E;AAoGrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CApG8E;AAqGrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CArG8E;AAsGrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAtG8E;AAuGrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAvG8E;AAwGrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAxG8E;AAyGrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAzG8E;AA0GrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CA1G8E;AA2GrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CA3G8E;AA4GrF,SAAO,CAAC,SAAD,EAAY,IAAZ,CA5G8E;AA6GrF,SAAO,CAAC,SAAD,EAAY,GAAZ,EAAiB,CAAjB,CA7G8E;AA8GrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CA9G8E;AA+GrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CA/G8E;AAgHrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAhH8E;AAiHrF,SAAO,CAAC,SAAD,EAAY,IAAZ,CAjH8E;AAkHrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAlH8E;AAmHrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAnH8E;AAoHrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CApH8E;AAqHrF,SAAO,CAAC,KAAD,EAAQ,GAAR,EAAa,CAAb,CArH8E;AAsHrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAtH8E;AAuHrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAvH8E;AAwHrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAxH8E;AAyHrF,SAAO,CAAC,GAAD,CAzH8E;AA0HrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CA1H8E;AA2HrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CA3H8E;AA4HrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CA5H8E;AA6HrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CA7H8E;AA8HrF,SAAO,CAAC,SAAD,EAAY,IAAZ,EAAkB,CAAlB,CA9H8E;AA+HrF,SAAO,CAAC,GAAD,EAAM,SAAN,EAAiB,CAAjB,CA/H8E;AAgIrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAhI8E;AAiIrF,SAAO,CAAC,MAAD,EAAS,SAAT,EAAoB,CAApB,CAjI8E;AAkIrF,SAAO,CAAC,KAAD,EAAQ,GAAR,CAlI8E;AAmIrF,SAAO,CAAC,KAAD,EAAQ,SAAR,EAAmB,CAAnB,CAnI8E;AAoIrF,SAAO,CAAC,MAAD,EAAS,SAAT,EAAoB,CAApB,CApI8E;AAqIrF,SAAO,CAAC,GAAD,CArI8E;AAsIrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAtI8E;AAuIrF,SAAO,CAAC,SAAD,EAAY,GAAZ,CAvI8E;AAwIrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB,CAxI8E;AAyIrF,SAAO,CAAC,SAAD,EAAY,IAAZ,CAzI8E;AA0IrF,SAAO,CAAC,SAAD,EAAY,SAAZ,EAAuB,CAAvB;AA1I8E,CADpF;ACdP;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAY,iBAAZ;;AAAA,WAAY,iBAAZ,EAA6B;AAC3B;AACA;AACA;AACA;AACD,CALD,EAAY,iBAAiB,KAAjB,iBAAiB,MAA7B;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAY,MAAZ;;AAAA,WAAY,MAAZ,EAAkB;AAChB;AACA;AACA;AACA;AACA;AACA;AACD,CAPD,EAAY,MAAM,KAAN,MAAM,MAAlB;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAY,SAAZ;;AAAA,WAAY,SAAZ,EAAqB;AACnB;AACA;AACD,CAHD,EAAY,SAAS,KAAT,SAAS,MAArB;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAY,gBAAZ;;AAAA,WAAY,gBAAZ,EAA4B;AAC3B;AACC;AAAO;;AAEP;AAAY;;AAEZ;AAAK;;AAEL;AACD,CATD,EAAY,gBAAgB,KAAhB,gBAAgB,MAA5B;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAY,WAAZ;;AAAA,WAAY,WAAZ,EAAuB;AACtB;AACE;AACE;AAEJ;AAAC;AAAM;AAEP;AACE;AACE;;AACH;AAAO;AAER;AACE;AACE;;AACH;AAAK;AAEN;AACE;AACE;;AACH;AACD,CArBD,EAAY,WAAW,KAAX,WAAW,MAAvB;AAuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAY,YAAZ;;AAAA,WAAY,YAAZ,EAAwB;AACvB;AACE;AACE;AACE;AAEJ;AAAD;AAAQ;AAET;AACE;AACE;AAEJ;;AAAC;AAAM;AAEP;AACE;AACE;;AACH;AAAK;AAEN;AACE;AACE;;AACH;AAAY;AAEb;AACE;AACE;;AACH;AAAS;AAEV;AACE;AACE;;AACH;AAAU;AAEX;AACE;AACE;;AACH;AAAY;AAEb;AACE;AACE;;AACH;AAAuB;AAExB;AACE;AACE;;AACH;AAAS;AAEV;AACE;AACE;;AACH;AAAS;AAEV;AACE;AACE;;AACH;AAAI;AAEL;AACE;AACE;;AACH;AAAc;AAEf;AACE;AACE;;AACH;AAAgB;AAEjB;AACE;AACE;;AACH;AACD,CAzED,EAAY,YAAY,KAAZ,YAAY,MAAxB;AA2EA;AACA;AACA;AACA;AACA;;;AACA,IAAY,OAAZ;;AAAA,WAAY,OAAZ,EAAmB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACD,CARD,EAAY,OAAO,KAAP,OAAO,MAAnB;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,WAAhB,CAA4B,MAA5B,EAA0C;AACxC,SAAO,qEAAe,CAAC,MAAD,CAAf,CAAwB,8DAAgB,CAAC,QAAzC,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,mBAAhB,CACI,MADJ,EACoB,SADpB,EAC0C,KAD1C,EACiE;AAC/D,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,MAAM,QAAQ,GAAyB,CACrC,IAAI,CAAC,8DAAgB,CAAC,gBAAlB,CADiC,EACI,IAAI,CAAC,8DAAgB,CAAC,oBAAlB,CADR,CAAvC;AAGA,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAD,EAAW,SAAX,CAAhC;AACA,SAAO,mBAAmB,CAAC,IAAD,EAAO,KAAP,CAA1B;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,iBAAhB,CACI,MADJ,EACoB,SADpB,EAC0C,KAD1C,EACiE;AAC/D,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,MAAM,QAAQ,GACI,CAAC,IAAI,CAAC,8DAAgB,CAAC,UAAlB,CAAL,EAAoC,IAAI,CAAC,8DAAgB,CAAC,cAAlB,CAAxC,CADlB;AAEA,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAD,EAAW,SAAX,CAAhC;AACA,SAAO,mBAAmB,CAAC,IAAD,EAAO,KAAP,CAA1B;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,mBAAhB,CACI,MADJ,EACoB,SADpB,EAC0C,KAD1C,EACiE;AAC/D,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,MAAM,UAAU,GACE,CAAC,IAAI,CAAC,8DAAgB,CAAC,YAAlB,CAAL,EAAsC,IAAI,CAAC,8DAAgB,CAAC,gBAAlB,CAA1C,CADlB;AAEA,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAD,EAAa,SAAb,CAAlC;AACA,SAAO,mBAAmB,CAAC,MAAD,EAAS,KAAT,CAA1B;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,iBAAhB,CACI,MADJ,EACoB,KADpB,EAC2C;AACzC,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,MAAM,QAAQ,GAAuB,IAAI,CAAC,8DAAgB,CAAC,IAAlB,CAAzC;AACA,SAAO,mBAAmB,CAAC,QAAD,EAAW,KAAX,CAA1B;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,uBAAhB,CAAwC,MAAxC,EAAsD;AACpD,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,SAAO,IAAI,CAAC,8DAAgB,CAAC,cAAlB,CAAX;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,qBAAhB,CAAsC,MAAtC,EAAoD;AAClD,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,SAAO,IAAI,CAAC,8DAAgB,CAAC,YAAlB,CAAX;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,mBAAhB,CAAoC,MAApC,EAAoD,KAApD,EAAsE;AACpE,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,SAAO,mBAAmB,CAAC,IAAI,CAAC,8DAAgB,CAAC,UAAlB,CAAL,EAAoC,KAApC,CAA1B;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,mBAAhB,CAAoC,MAApC,EAAoD,KAApD,EAAsE;AACpE,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,SAAO,mBAAmB,CAAC,IAAI,CAAC,8DAAgB,CAAC,UAAlB,CAAL,EAAoC,KAApC,CAA1B;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,uBAAhB,CAAwC,MAAxC,EAAwD,KAAxD,EAA0E;AACxE,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,MAAM,kBAAkB,GAAa,IAAI,CAAC,8DAAgB,CAAC,cAAlB,CAAzC;AACA,SAAO,mBAAmB,CAAC,kBAAD,EAAqB,KAArB,CAA1B;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,qBAAhB,CAAsC,MAAtC,EAAsD,MAAtD,EAA0E;AACxE,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,MAAM,GAAG,GAAG,IAAI,CAAC,8DAAgB,CAAC,aAAlB,CAAJ,CAAqC,MAArC,CAAZ;;AACA,MAAI,OAAO,GAAP,KAAe,WAAnB,EAAgC;AAC9B,QAAI,MAAM,KAAK,YAAY,CAAC,eAA5B,EAA6C;AAC3C,aAAO,IAAI,CAAC,8DAAgB,CAAC,aAAlB,CAAJ,CAAqC,YAAY,CAAC,OAAlD,CAAP;AACD,KAFD,MAEO,IAAI,MAAM,KAAK,YAAY,CAAC,aAA5B,EAA2C;AAChD,aAAO,IAAI,CAAC,8DAAgB,CAAC,aAAlB,CAAJ,CAAqC,YAAY,CAAC,KAAlD,CAAP;AACD;AACF;;AACD,SAAO,GAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,qBAAhB,CAAsC,MAAtC,EAAsD,IAAtD,EAA6E;AAC3E,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,SAAO,IAAI,CAAC,8DAAgB,CAAC,aAAlB,CAAJ,CAAqC,IAArC,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,uBAAhB,CAAwC,MAAxC,EAAsD;AACpD,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,SAAO,IAAI,CAAC,8DAAgB,CAAC,cAAlB,CAAJ,IAAyC,IAAhD;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,qBAAhB,CAAsC,MAAtC,EAAoD;AAClD,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,SAAO,IAAI,CAAC,8DAAgB,CAAC,YAAlB,CAAJ,IAAuC,IAA9C;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,qBAAhB,CAAsC,MAAtC,EAAoD;AAClD,SAAO,4EAAsB,CAAC,MAAD,CAA7B;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,mBAAT,CAA6B,MAA7B,EAA2C;AACzC,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,SAAO,IAAI,CAAC,8DAAgB,CAAC,UAAlB,CAAX;AACD;AAED;AACA;AACA;AACA;;;AACA,IAAa,mBAAmB,GAC5B,kEADJ;;AAGA,SAAS,aAAT,CAAuB,IAAvB,EAAgC;AAC9B,MAAI,CAAC,IAAI,CAAC,8DAAgB,CAAC,SAAlB,CAAT,EAAuC;AACrC,UAAM,IAAI,KAAJ,sDACF,IAAI,CAAC,8DAAgB,CACX,QADN,CADF,yGAAN;AAGD;AACF;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,4BAAhB,CAA6C,MAA7C,EAA2D;AACzD,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,eAAa,CAAC,IAAD,CAAb;AACA,MAAM,KAAK,GAAG,IAAI,CAAC,8DAAgB,CAAC,SAAlB,CAAJ,CAAgC;AAAA;AAAhC,OAAgF,EAA9F;AACA,SAAO,KAAK,CAAC,GAAN,CAAU,UAAC,IAAD,EAA8B;AAC7C,QAAI,OAAO,IAAP,KAAgB,QAApB,EAA8B;AAC5B,aAAO,WAAW,CAAC,IAAD,CAAlB;AACD;;AACD,WAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAD,CAAL,CAAZ,EAAuB,WAAW,CAAC,IAAI,CAAC,CAAD,CAAL,CAAlC,CAAP;AACD,GALM,CAAP;AAMD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,wBAAhB,CACI,MADJ,EACoB,SADpB,EAC0C,KAD1C,EACiE;AAC/D,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,eAAa,CAAC,IAAD,CAAb;AACA,MAAM,cAAc,GAAiB,CACnC,IAAI,CAAC,8DAAgB,CAAC,SAAlB,CAAJ,CAAgC;AAAA;AAAhC,GADmC,EAEnC,IAAI,CAAC,8DAAgB,CAAC,SAAlB,CAAJ,CAAgC;AAAA;AAAhC,GAFmC,CAArC;AAIA,MAAM,UAAU,GAAG,mBAAmB,CAAC,cAAD,EAAiB,SAAjB,CAAnB,IAAkD,EAArE;AACA,SAAO,mBAAmB,CAAC,UAAD,EAAa,KAAb,CAAnB,IAA0C,EAAjD;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,kBAAhB,CAAmC,MAAnC,EAAiD;AAC/C,MAAM,IAAI,GAAG,qEAAe,CAAC,MAAD,CAA5B;AACA,SAAO,IAAI,CAAC,8DAAgB,CAAC,cAAlB,CAAX;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,mBAAT,CAAgC,IAAhC,EAA2C,KAA3C,EAAwD;AACtD,OAAK,IAAI,CAAC,GAAG,KAAb,EAAoB,CAAC,GAAG,CAAC,CAAzB,EAA4B,CAAC,EAA7B,EAAiC;AAC/B,QAAI,OAAO,IAAI,CAAC,CAAD,CAAX,KAAmB,WAAvB,EAAoC;AAClC,aAAO,IAAI,CAAC,CAAD,CAAX;AACD;AACF;;AACD,QAAM,IAAI,KAAJ,CAAU,wCAAV,CAAN;AACD;AAYD;AACA;AACA;;;AACA,SAAS,WAAT,CAAqB,IAArB,EAAiC;AAAA,oBAChB,IAAI,CAAC,KAAL,CAAW,GAAX,CADgB;AAAA;AAAA,MACxB,CADwB;AAAA,MACrB,CADqB;;AAE/B,SAAO;AAAC,SAAK,EAAE,CAAC,CAAT;AAAY,WAAO,EAAE,CAAC;AAAtB,GAAP;AACD;AAID;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,iBAAhB,CAAkC,IAAlC,EAAgD,MAAhD,EAAsF;AAAA,MAAb,MAAa,uEAAJ,IAAI;AACpF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAD,CAAnB,CAA4B,IAA5B,KAAqC,aAAa,CAAC,IAAD,CAAlD,IAA4D,EAA7E;AACA,MAAM,YAAY,GAAG,QAAQ;AAAA;AAAA,GAA7B;;AAEA,MAAI,MAAM,KAAK,QAAX,IAAuB,OAAO,YAAP,KAAwB,QAAnD,EAA6D;AAC3D,WAAO,YAAP;AACD;;AAED,SAAO,QAAQ;AAAA;AAAA,GAAR,IAAmC,IAA1C;AACD,C,CAED;;;AACA,IAAM,6BAA6B,GAAG,CAAtC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAgB,yBAAhB,CAA0C,IAA1C,EAAsD;AACpD,MAAI,MAAJ;AACA,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAD,CAA9B;;AACA,MAAI,QAAJ,EAAc;AACZ,UAAM,GAAG,QAAQ;AAAA;AAAA,KAAjB;AACD;;AACD,SAAO,OAAO,MAAP,KAAkB,QAAlB,GAA6B,MAA7B,GAAsC,6BAA7C;AACF;ACxqBA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAIO,IAAM,kBAAkB,GAC3B,sGADG,C,CAEP;;AACA,IAAM,aAAa,GAAqD,EAAxE;AACA,IAAM,kBAAkB,GACpB,2MADJ;AAGA,IAAK,SAAL;;AAAA,WAAK,SAAL,EAAc;AACZ;AACA;AACA;AACA;AACD,CALD,EAAK,SAAS,KAAT,SAAS,MAAd;;AAOA,IAAK,QAAL;;AAAA,WAAK,QAAL,EAAa;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD,CATD,EAAK,QAAQ,KAAR,QAAQ,MAAb;;AAWA,IAAK,eAAL;;AAAA,WAAK,eAAL,EAAoB;AAClB;AACA;AACA;AACA;AACD,CALD,EAAK,eAAe,KAAf,eAAe,MAApB;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,UAAhB,CACI,KADJ,EAC+B,MAD/B,EAC+C,MAD/C,EAC+D,QAD/D,EACgF;AAC9E,MAAI,IAAI,GAAG,MAAM,CAAC,KAAD,CAAjB;AACA,MAAM,WAAW,GAAG,cAAc,CAAC,MAAD,EAAS,MAAT,CAAlC;AACA,QAAM,GAAG,WAAW,IAAI,MAAxB;AAEA,MAAI,KAAK,GAAa,EAAtB;AACA,MAAI,KAAJ;;AACA,SAAO,MAAP,EAAe;AACb,SAAK,GAAG,kBAAkB,CAAC,IAAnB,CAAwB,MAAxB,CAAR;;AACA,QAAI,KAAJ,EAAW;AACT,WAAK,GAAG,KAAK,CAAC,MAAN,CAAa,KAAK,CAAC,KAAN,CAAY,CAAZ,CAAb,CAAR;AACA,UAAM,IAAI,GAAG,KAAK,CAAC,GAAN,EAAb;;AACA,UAAI,CAAC,IAAL,EAAW;AACT;AACD;;AACD,YAAM,GAAG,IAAT;AACD,KAPD,MAOO;AACL,WAAK,CAAC,IAAN,CAAW,MAAX;AACA;AACD;AACF;;AAED,MAAI,kBAAkB,GAAG,IAAI,CAAC,iBAAL,EAAzB;;AACA,MAAI,QAAJ,EAAc;AACZ,sBAAkB,GAAG,gBAAgB,CAAC,QAAD,EAAW,kBAAX,CAArC;AACA,QAAI,GAAG,sBAAsB,CAAC,IAAD,EAAO,QAAP,EAAiB,IAAjB,CAA7B;AACD;;AAED,MAAI,IAAI,GAAG,EAAX;AACA,OAAK,CAAC,OAAN,CAAc,eAAK;AACjB,QAAM,aAAa,GAAG,gBAAgB,CAAC,KAAD,CAAtC;AACA,QAAI,IAAI,aAAa,GACjB,aAAa,CAAC,IAAD,EAAO,MAAP,EAAe,kBAAf,CADI,GAEjB,KAAK,KAAK,MAAV,GAAmB,IAAnB,GAA0B,KAAK,CAAC,OAAN,CAAc,UAAd,EAA0B,EAA1B,EAA8B,OAA9B,CAAsC,KAAtC,EAA6C,IAA7C,CAF9B;AAGD,GALD;AAOA,SAAO,IAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,IAApB,EAAkC,KAAlC,EAAiD,IAAjD,EAA6D;AAAI;AACJ;AACT;AAEpD;AACE,MAAM,OAAO,GAAG,IAAI,IAAJ,CAAS,CAAT,CAAhB,CAL2D,CAM7D;AAEC;AACE;AACE;AACE;;AAEL,SAAO,CAAC,WAAR,CAAoB,IAApB,EAA0B,KAA1B,EAAiC,IAAjC,EAb2D,CAc7D;AACE;AACE;;AACF,SAAO,CAAC,QAAR,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,CAAvB;AAEA,SAAO,OAAP;AACD;;AAED,SAAS,cAAT,CAAwB,MAAxB,EAAwC,MAAxC,EAAsD;AACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAD,CAA5B;AACA,eAAa,CAAC,QAAD,CAAb,GAA0B,aAAa,CAAC,QAAD,CAAb,IAA2B,EAArD;;AAEA,MAAI,aAAa,CAAC,QAAD,CAAb,CAAwB,MAAxB,CAAJ,EAAqC;AACnC,WAAO,aAAa,CAAC,QAAD,CAAb,CAAwB,MAAxB,CAAP;AACD;;AAED,MAAI,WAAW,GAAG,EAAlB;;AACA,UAAQ,MAAR;AACE,SAAK,WAAL;AACE,iBAAW,GAAG,mBAAmB,CAAC,MAAD,EAAS,WAAW,CAAC,KAArB,CAAjC;AACA;;AACF,SAAK,YAAL;AACE,iBAAW,GAAG,mBAAmB,CAAC,MAAD,EAAS,WAAW,CAAC,MAArB,CAAjC;AACA;;AACF,SAAK,UAAL;AACE,iBAAW,GAAG,mBAAmB,CAAC,MAAD,EAAS,WAAW,CAAC,IAArB,CAAjC;AACA;;AACF,SAAK,UAAL;AACE,iBAAW,GAAG,mBAAmB,CAAC,MAAD,EAAS,WAAW,CAAC,IAArB,CAAjC;AACA;;AACF,SAAK,WAAL;AACE,iBAAW,GAAG,mBAAmB,CAAC,MAAD,EAAS,WAAW,CAAC,KAArB,CAAjC;AACA;;AACF,SAAK,YAAL;AACE,iBAAW,GAAG,mBAAmB,CAAC,MAAD,EAAS,WAAW,CAAC,MAArB,CAAjC;AACA;;AACF,SAAK,UAAL;AACE,iBAAW,GAAG,mBAAmB,CAAC,MAAD,EAAS,WAAW,CAAC,IAArB,CAAjC;AACA;;AACF,SAAK,UAAL;AACE,iBAAW,GAAG,mBAAmB,CAAC,MAAD,EAAS,WAAW,CAAC,IAArB,CAAjC;AACA;;AACF,SAAK,OAAL;AACE,UAAM,SAAS,GAAG,cAAc,CAAC,MAAD,EAAS,WAAT,CAAhC;AACA,UAAM,SAAS,GAAG,cAAc,CAAC,MAAD,EAAS,WAAT,CAAhC;AACA,iBAAW,GAAG,cAAc,CACxB,uBAAuB,CAAC,MAAD,EAAS,WAAW,CAAC,KAArB,CADC,EAC4B,CAAC,SAAD,EAAY,SAAZ,CAD5B,CAA5B;AAEA;;AACF,SAAK,QAAL;AACE,UAAM,UAAU,GAAG,cAAc,CAAC,MAAD,EAAS,YAAT,CAAjC;AACA,UAAM,UAAU,GAAG,cAAc,CAAC,MAAD,EAAS,YAAT,CAAjC;AACA,iBAAW,GAAG,cAAc,CACxB,uBAAuB,CAAC,MAAD,EAAS,WAAW,CAAC,MAArB,CADC,EAC6B,CAAC,UAAD,EAAa,UAAb,CAD7B,CAA5B;AAEA;;AACF,SAAK,MAAL;AACE,UAAM,QAAQ,GAAG,cAAc,CAAC,MAAD,EAAS,UAAT,CAA/B;AACA,UAAM,QAAQ,GAAG,cAAc,CAAC,MAAD,EAAS,UAAT,CAA/B;AACA,iBAAW,GACP,cAAc,CAAC,uBAAuB,CAAC,MAAD,EAAS,WAAW,CAAC,IAArB,CAAxB,EAAoD,CAAC,QAAD,EAAW,QAAX,CAApD,CADlB;AAEA;;AACF,SAAK,MAAL;AACE,UAAM,QAAQ,GAAG,cAAc,CAAC,MAAD,EAAS,UAAT,CAA/B;AACA,UAAM,QAAQ,GAAG,cAAc,CAAC,MAAD,EAAS,UAAT,CAA/B;AACA,iBAAW,GACP,cAAc,CAAC,uBAAuB,CAAC,MAAD,EAAS,WAAW,CAAC,IAArB,CAAxB,EAAoD,CAAC,QAAD,EAAW,QAAX,CAApD,CADlB;AAEA;AAhDJ;;AAkDA,MAAI,WAAJ,EAAiB;AACf,iBAAa,CAAC,QAAD,CAAb,CAAwB,MAAxB,IAAkC,WAAlC;AACD;;AACD,SAAO,WAAP;AACD;;AAED,SAAS,cAAT,CAAwB,GAAxB,EAAqC,UAArC,EAAyD;AACvD,MAAI,UAAJ,EAAgB;AACd,OAAG,GAAG,GAAG,CAAC,OAAJ,CAAY,aAAZ,EAA2B,UAAS,KAAT,EAAgB,GAAhB,EAAmB;AAClD,aAAQ,UAAU,IAAI,IAAd,IAAsB,GAAG,IAAI,UAA9B,GAA4C,UAAU,CAAC,GAAD,CAAtD,GAA8D,KAArE;AACD,KAFK,CAAN;AAGD;;AACD,SAAO,GAAP;AACD;;AAED,SAAS,SAAT,CACI,GADJ,EACiB,MADjB,EACmF;AAAA,MAAlD,SAAkD,uEAAtC,GAAsC;AAAA,MAAjC,IAAiC;AAAA,MAAjB,OAAiB;AACjF,MAAI,GAAG,GAAG,EAAV;;AACA,MAAI,GAAG,GAAG,CAAN,IAAY,OAAO,IAAI,GAAG,IAAI,CAAlC,EAAsC;AACpC,QAAI,OAAJ,EAAa;AACX,SAAG,GAAG,CAAC,GAAD,GAAO,CAAb;AACD,KAFD,MAEO;AACL,SAAG,GAAG,CAAC,GAAP;AACA,SAAG,GAAG,SAAN;AACD;AACF;;AACD,MAAI,MAAM,GAAG,MAAM,CAAC,GAAD,CAAnB;;AACA,SAAO,MAAM,CAAC,MAAP,GAAgB,MAAvB,EAA+B;AAC7B,UAAM,GAAG,MAAM,MAAf;AACD;;AACD,MAAI,IAAJ,EAAU;AACR,UAAM,GAAG,MAAM,CAAC,MAAP,CAAc,MAAM,CAAC,MAAP,GAAgB,MAA9B,CAAT;AACD;;AACD,SAAO,GAAG,GAAG,MAAb;AACD;;AAED,SAAS,uBAAT,CAAiC,YAAjC,EAAuD,MAAvD,EAAqE;AACnE,MAAM,KAAK,GAAG,SAAS,CAAC,YAAD,EAAe,CAAf,CAAvB;AACA,SAAO,KAAK,CAAC,MAAN,CAAa,CAAb,EAAgB,MAAhB,CAAP;AACD;AAED;AACA;AACA;;;AACA,SAAS,UAAT,CACI,IADJ,EACoB,IADpB,EAEmB;AAAA,MADe,MACf,uEADgC,CAChC;AAAA,MADmC,IACnC,uEAD0C,KAC1C;AAAA,MAAf,OAAe,uEAAL,KAAK;AACjB,SAAO,UAAS,IAAT,EAAqB,MAArB,EAAmC;AACxC,QAAI,IAAI,GAAG,WAAW,CAAC,IAAD,EAAO,IAAP,CAAtB;;AACA,QAAI,MAAM,GAAG,CAAT,IAAc,IAAI,GAAG,CAAC,MAA1B,EAAkC;AAChC,UAAI,IAAI,MAAR;AACD;;AAED,QAAI,IAAI,KAAK,QAAQ,CAAC,KAAtB,EAA6B;AAC3B,UAAI,IAAI,KAAK,CAAT,IAAc,MAAM,KAAK,CAAC,EAA9B,EAAkC;AAChC,YAAI,GAAG,EAAP;AACD;AACF,KAJD,MAIO,IAAI,IAAI,KAAK,QAAQ,CAAC,iBAAtB,EAAyC;AAC9C,aAAO,uBAAuB,CAAC,IAAD,EAAO,IAAP,CAA9B;AACD;;AAED,QAAM,WAAW,GAAG,qBAAqB,CAAC,MAAD,EAAS,YAAY,CAAC,SAAtB,CAAzC;AACA,WAAO,SAAS,CAAC,IAAD,EAAO,IAAP,EAAa,WAAb,EAA0B,IAA1B,EAAgC,OAAhC,CAAhB;AACD,GAhBD;AAiBD;;AAED,SAAS,WAAT,CAAqB,IAArB,EAAqC,IAArC,EAA+C;AAC7C,UAAQ,IAAR;AACE,SAAK,QAAQ,CAAC,QAAd;AACE,aAAO,IAAI,CAAC,WAAL,EAAP;;AACF,SAAK,QAAQ,CAAC,KAAd;AACE,aAAO,IAAI,CAAC,QAAL,EAAP;;AACF,SAAK,QAAQ,CAAC,IAAd;AACE,aAAO,IAAI,CAAC,OAAL,EAAP;;AACF,SAAK,QAAQ,CAAC,KAAd;AACE,aAAO,IAAI,CAAC,QAAL,EAAP;;AACF,SAAK,QAAQ,CAAC,OAAd;AACE,aAAO,IAAI,CAAC,UAAL,EAAP;;AACF,SAAK,QAAQ,CAAC,OAAd;AACE,aAAO,IAAI,CAAC,UAAL,EAAP;;AACF,SAAK,QAAQ,CAAC,iBAAd;AACE,aAAO,IAAI,CAAC,eAAL,EAAP;;AACF,SAAK,QAAQ,CAAC,GAAd;AACE,aAAO,IAAI,CAAC,MAAL,EAAP;;AACF;AACE,YAAM,IAAI,KAAJ,oCAAqC,IAArC,SAAN;AAlBJ;AAoBD;AAED;AACA;AACA;;;AACA,SAAS,aAAT,CACI,IADJ,EAC2B,KAD3B,EAEoB;AAAA,MADgC,IAChC,uEADkD,SAAS,CAAC,MAC5D;AAAA,MAAhB,QAAgB,uEAAL,KAAK;AAClB,SAAO,UAAS,IAAT,EAAqB,MAArB,EAAmC;AACxC,WAAO,kBAAkB,CAAC,IAAD,EAAO,MAAP,EAAe,IAAf,EAAqB,KAArB,EAA4B,IAA5B,EAAkC,QAAlC,CAAzB;AACD,GAFD;AAGD;AAED;AACA;AACA;;;AACA,SAAS,kBAAT,CACI,IADJ,EACgB,MADhB,EACgC,IADhC,EACuD,KADvD,EACgF,IADhF,EAEI,QAFJ,EAEqB;AACnB,UAAQ,IAAR;AACE,SAAK,eAAe,CAAC,MAArB;AACE,aAAO,mBAAmB,CAAC,MAAD,EAAS,IAAT,EAAe,KAAf,CAAnB,CAAyC,IAAI,CAAC,QAAL,EAAzC,CAAP;;AACF,SAAK,eAAe,CAAC,IAArB;AACE,aAAO,iBAAiB,CAAC,MAAD,EAAS,IAAT,EAAe,KAAf,CAAjB,CAAuC,IAAI,CAAC,MAAL,EAAvC,CAAP;;AACF,SAAK,eAAe,CAAC,UAArB;AACE,UAAM,YAAY,GAAG,IAAI,CAAC,QAAL,EAArB;AACA,UAAM,cAAc,GAAG,IAAI,CAAC,UAAL,EAAvB;;AACA,UAAI,QAAJ,EAAc;AACZ,YAAM,KAAK,GAAG,4BAA4B,CAAC,MAAD,CAA1C;AACA,YAAM,UAAU,GAAG,wBAAwB,CAAC,MAAD,EAAS,IAAT,EAAe,KAAf,CAA3C;AACA,YAAM,KAAK,GAAG,KAAK,CAAC,SAAN,CAAgB,cAAI;AAChC,cAAI,KAAK,CAAC,OAAN,CAAc,IAAd,CAAJ,EAAyB;AACnC;AADmC,gJAEJ,IAFI;AAAA,gBAEhB,IAFgB;AAAA,gBAEV,EAFU;;AAGvB,gBAAM,SAAS,GAAG,YAAY,IAAI,IAAI,CAAC,KAArB,IAA8B,cAAc,IAAI,IAAI,CAAC,OAAvE;AACA,gBAAM,QAAQ,GACT,YAAY,GAAG,EAAE,CAAC,KAAlB,IACC,YAAY,KAAK,EAAE,CAAC,KAApB,IAA6B,cAAc,GAAG,EAAE,CAAC,OAFvD,CAJuB,CAOnC;AACY;AACY;AAEH;AAA2B;AAE5C;AACqD;AAA2B;AAEpF;AAEuC;;AAD3B,gBAAI,IAAI,CAAC,KAAL,GAAa,EAAE,CAAC,KAApB,EAA2B;AACzB,kBAAI,SAAS,IAAI,QAAjB,EAA2B;AACzB,uBAAO,IAAP;AACD;AACF,aAJD,MAIO,IAAI,SAAS,IAAI,QAAjB,EAA2B;AAChC,qBAAO,IAAP;AACD;AACF,WAxBD,MAwBO;AAAA;AACL,gBAAI,IAAI,CAAC,KAAL,KAAe,YAAf,IAA+B,IAAI,CAAC,OAAL,KAAiB,cAApD,EAAoE;AAClE,qBAAO,IAAP;AACD;AACF;;AACD,iBAAO,KAAP;AACD,SA/Ba,CAAd;;AAgCA,YAAI,KAAK,KAAK,CAAC,CAAf,EAAkB;AAChB,iBAAO,UAAU,CAAC,KAAD,CAAjB;AACD;AACF,OAzCH,CA0CJ;;;AACM,aAAO,mBAAmB,CAAC,MAAD,EAAS,IAAT,EAAiC,KAAjC,CAAnB,CAA2D,YAAY,GAAG,EAAf,GAAoB,CAApB,GAAwB,CAAnF,CAAP;;AACF,SAAK,eAAe,CAAC,IAArB;AACE,aAAO,iBAAiB,CAAC,MAAD,EAA2B,KAA3B,CAAjB,CAAmD,IAAI,CAAC,WAAL,MAAsB,CAAtB,GAA0B,CAA1B,GAA8B,CAAjF,CAAP;;AACF;AACJ;AACM;AACM;AACM;AACZ,UAAM,UAAU,GAAU,IAA1B;AACA,YAAM,IAAI,KAAJ,uCAAyC,UAAzC,EAAN;AAzDJ;AA2DD;AAED;AACA;AACA;AACA;AACA;;;AACA,SAAS,cAAT,CAAwB,KAAxB,EAAwC;AACtC,SAAO,UAAS,IAAT,EAAqB,MAArB,EAAqC,MAArC,EAAmD;AACxD,QAAM,IAAI,GAAG,CAAC,CAAD,GAAK,MAAlB;AACA,QAAM,SAAS,GAAG,qBAAqB,CAAC,MAAD,EAAS,YAAY,CAAC,SAAtB,CAAvC;AACA,QAAM,KAAK,GAAG,IAAI,GAAG,CAAP,GAAW,IAAI,CAAC,KAAL,CAAW,IAAI,GAAG,EAAlB,CAAX,GAAmC,IAAI,CAAC,IAAL,CAAU,IAAI,GAAG,EAAjB,CAAjD;;AACA,YAAQ,KAAR;AACE,WAAK,SAAS,CAAC,KAAf;AACE,eAAO,CAAE,IAAI,IAAI,CAAT,GAAc,GAAd,GAAoB,EAArB,IAA2B,SAAS,CAAC,KAAD,EAAQ,CAAR,EAAW,SAAX,CAApC,GACH,SAAS,CAAC,IAAI,CAAC,GAAL,CAAS,IAAI,GAAG,EAAhB,CAAD,EAAsB,CAAtB,EAAyB,SAAzB,CADb;;AAEF,WAAK,SAAS,CAAC,QAAf;AACE,eAAO,SAAU,IAAI,IAAI,CAAT,GAAc,GAAd,GAAoB,EAA7B,IAAmC,SAAS,CAAC,KAAD,EAAQ,CAAR,EAAW,SAAX,CAAnD;;AACF,WAAK,SAAS,CAAC,IAAf;AACE,eAAO,SAAU,IAAI,IAAI,CAAT,GAAc,GAAd,GAAoB,EAA7B,IAAmC,SAAS,CAAC,KAAD,EAAQ,CAAR,EAAW,SAAX,CAA5C,GAAoE,GAApE,GACH,SAAS,CAAC,IAAI,CAAC,GAAL,CAAS,IAAI,GAAG,EAAhB,CAAD,EAAsB,CAAtB,EAAyB,SAAzB,CADb;;AAEF,WAAK,SAAS,CAAC,QAAf;AACE,YAAI,MAAM,KAAK,CAAf,EAAkB;AAChB,iBAAO,GAAP;AACD,SAFD,MAEO;AACL,iBAAO,CAAE,IAAI,IAAI,CAAT,GAAc,GAAd,GAAoB,EAArB,IAA2B,SAAS,CAAC,KAAD,EAAQ,CAAR,EAAW,SAAX,CAApC,GAA4D,GAA5D,GACH,SAAS,CAAC,IAAI,CAAC,GAAL,CAAS,IAAI,GAAG,EAAhB,CAAD,EAAsB,CAAtB,EAAyB,SAAzB,CADb;AAED;;AACH;AACE,cAAM,IAAI,KAAJ,gCAAiC,KAAjC,QAAN;AAjBJ;AAmBD,GAvBD;AAwBD;;AAED,IAAM,OAAO,GAAG,CAAhB;AACA,IAAM,QAAQ,GAAG,CAAjB;;AACA,SAAS,sBAAT,CAAgC,IAAhC,EAA4C;AAC1C,MAAM,cAAc,GAAG,UAAU,CAAC,IAAD,EAAO,OAAP,EAAgB,CAAhB,CAAV,CAA6B,MAA7B,EAAvB;AACA,SAAO,UAAU,CACb,IADa,EACP,CADO,EACJ,KAAM,cAAc,IAAI,QAAnB,GAA+B,QAA/B,GAA0C,QAAQ,GAAG,CAA1D,IAA+D,cAD3D,CAAjB;AAED;;AAED,SAAS,mBAAT,CAA6B,QAA7B,EAA2C;AACzC,SAAO,UAAU,CACb,QAAQ,CAAC,WAAT,EADa,EACW,QAAQ,CAAC,QAAT,EADX,EAEb,QAAQ,CAAC,OAAT,MAAsB,QAAQ,GAAG,QAAQ,CAAC,MAAT,EAAjC,CAFa,CAAjB;AAGD;;AAED,SAAS,UAAT,CAAoB,IAApB,EAAoD;AAAA,MAAlB,UAAkB,uEAAL,KAAK;AAClD,SAAO,UAAS,IAAT,EAAqB,MAArB,EAAmC;AACxC,QAAI,MAAJ;;AACA,QAAI,UAAJ,EAAgB;AACd,UAAM,yBAAyB,GAC3B,IAAI,IAAJ,CAAS,IAAI,CAAC,WAAL,EAAT,EAA6B,IAAI,CAAC,QAAL,EAA7B,EAA8C,CAA9C,EAAiD,MAAjD,KAA4D,CADhE;AAEA,UAAM,KAAK,GAAG,IAAI,CAAC,OAAL,EAAd;AACA,YAAM,GAAG,IAAI,IAAI,CAAC,KAAL,CAAW,CAAC,KAAK,GAAG,yBAAT,IAAsC,CAAjD,CAAb;AACD,KALD,MAKO;AACL,UAAM,SAAS,GAAG,mBAAmB,CAAC,IAAD,CAArC,CADK,CAEX;AACM;;AACA,UAAM,UAAU,GAAG,sBAAsB,CAAC,SAAS,CAAC,WAAV,EAAD,CAAzC;AACA,UAAM,IAAI,GAAG,SAAS,CAAC,OAAV,KAAsB,UAAU,CAAC,OAAX,EAAnC;AACA,YAAM,GAAG,IAAI,IAAI,CAAC,KAAL,CAAW,IAAI,GAAG,OAAlB,CAAb,CANK,CAMmC;AACzC;;AAED,WAAO,SAAS,CAAC,MAAD,EAAS,IAAT,EAAe,qBAAqB,CAAC,MAAD,EAAS,YAAY,CAAC,SAAtB,CAApC,CAAhB;AACD,GAjBD;AAkBD;AAED;AACA;AACA;;;AACA,SAAS,uBAAT,CAAiC,IAAjC,EAA2D;AAAA,MAAZ,IAAY,uEAAL,KAAK;AACzD,SAAO,UAAS,IAAT,EAAqB,MAArB,EAAmC;AACxC,QAAM,SAAS,GAAG,mBAAmB,CAAC,IAAD,CAArC;AACA,QAAM,iBAAiB,GAAG,SAAS,CAAC,WAAV,EAA1B;AACA,WAAO,SAAS,CACZ,iBADY,EACO,IADP,EACa,qBAAqB,CAAC,MAAD,EAAS,YAAY,CAAC,SAAtB,CADlC,EACoE,IADpE,CAAhB;AAED,GALD;AAMD;;AAID,IAAM,YAAY,GAAsC,EAAxD,C,CAEA;AACA;AACA;AACA;;AACA,SAAS,gBAAT,CAA0B,MAA1B,EAAwC;AACtC,MAAI,YAAY,CAAC,MAAD,CAAhB,EAA0B;AACxB,WAAO,YAAY,CAAC,MAAD,CAAnB;AACD;;AACD,MAAI,SAAJ;;AACA,UAAQ,MAAR;AACF;AACI,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,IAAjB,EAAuB,gBAAgB,CAAC,WAAxC,CAAzB;AACA;;AACF,SAAK,MAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,IAAjB,EAAuB,gBAAgB,CAAC,IAAxC,CAAzB;AACA;;AACF,SAAK,OAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,IAAjB,EAAuB,gBAAgB,CAAC,MAAxC,CAAzB;AACA;AACN;;AAEI,SAAK,GAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAV,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,KAA1B,EAAiC,IAAjC,CAAtB;AACA;AACN;;AACI,SAAK,IAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAV,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,IAA1B,EAAgC,IAAhC,CAAtB;AACA;AACN;;AACI,SAAK,KAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAV,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,KAA1B,EAAiC,IAAjC,CAAtB;AACA;AACN;;AACI,SAAK,MAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAV,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,KAA1B,EAAiC,IAAjC,CAAtB;AACA;AACN;;AAEI,SAAK,GAAL;AACE,eAAS,GAAG,uBAAuB,CAAC,CAAD,CAAnC;AACA;AACN;AACI;;AACA,SAAK,IAAL;AACE,eAAS,GAAG,uBAAuB,CAAC,CAAD,EAAI,IAAJ,CAAnC;AACA;AACN;AACI;;AACA,SAAK,KAAL;AACE,eAAS,GAAG,uBAAuB,CAAC,CAAD,CAAnC;AACA;AACN;;AACI,SAAK,MAAL;AACE,eAAS,GAAG,uBAAuB,CAAC,CAAD,CAAnC;AACA;AACN;;AAEI,SAAK,GAAL;AACA,SAAK,GAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAV,EAAiB,CAAjB,EAAoB,CAApB,CAAtB;AACA;;AACF,SAAK,IAAL;AACA,SAAK,IAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAV,EAAiB,CAAjB,EAAoB,CAApB,CAAtB;AACA;AACN;;AAEI,SAAK,KAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,MAAjB,EAAyB,gBAAgB,CAAC,WAA1C,CAAzB;AACA;;AACF,SAAK,MAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,MAAjB,EAAyB,gBAAgB,CAAC,IAA1C,CAAzB;AACA;;AACF,SAAK,OAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,MAAjB,EAAyB,gBAAgB,CAAC,MAA1C,CAAzB;AACA;AACN;;AAEI,SAAK,KAAL;AACE,eAAS,GACL,aAAa,CAAC,eAAe,CAAC,MAAjB,EAAyB,gBAAgB,CAAC,WAA1C,EAAuD,SAAS,CAAC,UAAjE,CADjB;AAEA;;AACF,SAAK,MAAL;AACE,eAAS,GACL,aAAa,CAAC,eAAe,CAAC,MAAjB,EAAyB,gBAAgB,CAAC,IAA1C,EAAgD,SAAS,CAAC,UAA1D,CADjB;AAEA;;AACF,SAAK,OAAL;AACE,eAAS,GACL,aAAa,CAAC,eAAe,CAAC,MAAjB,EAAyB,gBAAgB,CAAC,MAA1C,EAAkD,SAAS,CAAC,UAA5D,CADjB;AAEA;AACN;;AAEI,SAAK,GAAL;AACE,eAAS,GAAG,UAAU,CAAC,CAAD,CAAtB;AACA;;AACF,SAAK,IAAL;AACE,eAAS,GAAG,UAAU,CAAC,CAAD,CAAtB;AACA;AACN;;AAEI,SAAK,GAAL;AACE,eAAS,GAAG,UAAU,CAAC,CAAD,EAAI,IAAJ,CAAtB;AACA;AACN;;AAEI,SAAK,GAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAV,EAAgB,CAAhB,CAAtB;AACA;;AACF,SAAK,IAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAV,EAAgB,CAAhB,CAAtB;AACA;AACN;;AAEI,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,IAAjB,EAAuB,gBAAgB,CAAC,WAAxC,CAAzB;AACA;;AACF,SAAK,MAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,IAAjB,EAAuB,gBAAgB,CAAC,IAAxC,CAAzB;AACA;;AACF,SAAK,OAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,IAAjB,EAAuB,gBAAgB,CAAC,MAAxC,CAAzB;AACA;;AACF,SAAK,QAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,IAAjB,EAAuB,gBAAgB,CAAC,KAAxC,CAAzB;AACA;AACN;;AAEI,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,UAAjB,EAA6B,gBAAgB,CAAC,WAA9C,CAAzB;AACA;;AACF,SAAK,MAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,UAAjB,EAA6B,gBAAgB,CAAC,IAA9C,CAAzB;AACA;;AACF,SAAK,OAAL;AACE,eAAS,GAAG,aAAa,CAAC,eAAe,CAAC,UAAjB,EAA6B,gBAAgB,CAAC,MAA9C,CAAzB;AACA;AACN;;AAEI,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACE,eAAS,GAAG,aAAa,CACrB,eAAe,CAAC,UADK,EACO,gBAAgB,CAAC,WADxB,EACqC,SAAS,CAAC,UAD/C,EAC2D,IAD3D,CAAzB;AAEA;;AACF,SAAK,MAAL;AACE,eAAS,GAAG,aAAa,CACrB,eAAe,CAAC,UADK,EACO,gBAAgB,CAAC,IADxB,EAC8B,SAAS,CAAC,UADxC,EACoD,IADpD,CAAzB;AAEA;;AACF,SAAK,OAAL;AACE,eAAS,GAAG,aAAa,CACrB,eAAe,CAAC,UADK,EACO,gBAAgB,CAAC,MADxB,EACgC,SAAS,CAAC,UAD1C,EACsD,IADtD,CAAzB;AAEA;AACN;;AAEI,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACE,eAAS,GAAG,aAAa,CACrB,eAAe,CAAC,UADK,EACO,gBAAgB,CAAC,WADxB,EACqC,SAAS,CAAC,MAD/C,EACuD,IADvD,CAAzB;AAEA;;AACF,SAAK,MAAL;AACE,eAAS,GACL,aAAa,CAAC,eAAe,CAAC,UAAjB,EAA6B,gBAAgB,CAAC,IAA9C,EAAoD,SAAS,CAAC,MAA9D,EAAsE,IAAtE,CADjB;AAEA;;AACF,SAAK,OAAL;AACE,eAAS,GAAG,aAAa,CACrB,eAAe,CAAC,UADK,EACO,gBAAgB,CAAC,MADxB,EACgC,SAAS,CAAC,MAD1C,EACkD,IADlD,CAAzB;AAEA;AACN;;AAEI,SAAK,GAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAV,EAAiB,CAAjB,EAAoB,CAAC,EAArB,CAAtB;AACA;;AACF,SAAK,IAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAV,EAAiB,CAAjB,EAAoB,CAAC,EAArB,CAAtB;AACA;AACN;;AAEI,SAAK,GAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAV,EAAiB,CAAjB,CAAtB;AACA;AACN;;AACI,SAAK,IAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAV,EAAiB,CAAjB,CAAtB;AACA;AACN;;AAEI,SAAK,GAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAV,EAAmB,CAAnB,CAAtB;AACA;;AACF,SAAK,IAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAV,EAAmB,CAAnB,CAAtB;AACA;AACN;;AAEI,SAAK,GAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAV,EAAmB,CAAnB,CAAtB;AACA;;AACF,SAAK,IAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAV,EAAmB,CAAnB,CAAtB;AACA;AACN;;AAEI,SAAK,GAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,iBAAV,EAA6B,CAA7B,CAAtB;AACA;;AACF,SAAK,IAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,iBAAV,EAA6B,CAA7B,CAAtB;AACA;;AACF,SAAK,KAAL;AACE,eAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,iBAAV,EAA6B,CAA7B,CAAtB;AACA;AACN;;AAGI,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACE,eAAS,GAAG,cAAc,CAAC,SAAS,CAAC,KAAX,CAA1B;AACA;AACN;;AACI,SAAK,OAAL;AACE,eAAS,GAAG,cAAc,CAAC,SAAS,CAAC,QAAX,CAA1B;AACA;AACN;;AAEI,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL,CAlOF,CAmOF;;AACI,SAAK,GAAL;AACA,SAAK,IAAL;AACA,SAAK,KAAL;AACE,eAAS,GAAG,cAAc,CAAC,SAAS,CAAC,QAAX,CAA1B;AACA;AACN;;AACI,SAAK,MAAL;AACA,SAAK,MAAL,CA3OF,CA4OF;;AACI,SAAK,MAAL;AACE,eAAS,GAAG,cAAc,CAAC,SAAS,CAAC,IAAX,CAA1B;AACA;;AACF;AACE,aAAO,IAAP;AAjPJ;;AAmPA,cAAY,CAAC,MAAD,CAAZ,GAAuB,SAAvB;AACA,SAAO,SAAP;AACD;;AAED,SAAS,gBAAT,CAA0B,QAA1B,EAA4C,QAA5C,EAA4D;AAAI;AAChC;AAE9B,UAAQ,GAAG,QAAQ,CAAC,OAAT,CAAiB,IAAjB,EAAuB,EAAvB,CAAX;AACA,MAAM,uBAAuB,GAAG,IAAI,CAAC,KAAL,CAAW,2BAA2B,QAAtC,IAAkD,KAAlF;AACA,SAAO,KAAK,CAAC,uBAAD,CAAL,GAAiC,QAAjC,GAA4C,uBAAnD;AACD;;AAED,SAAS,cAAT,CAAwB,IAAxB,EAAoC,OAApC,EAAmD;AACjD,MAAI,GAAG,IAAI,IAAJ,CAAS,IAAI,CAAC,OAAL,EAAT,CAAP;AACA,MAAI,CAAC,UAAL,CAAgB,IAAI,CAAC,UAAL,KAAoB,OAApC;AACA,SAAO,IAAP;AACD;;AAED,SAAS,sBAAT,CAAgC,IAAhC,EAA4C,QAA5C,EAA8D,OAA9D,EAA8E;AAC5E,MAAM,YAAY,GAAG,OAAO,GAAG,CAAC,CAAJ,GAAQ,CAApC;AACA,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAL,EAA3B;AACA,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAD,EAAW,kBAAX,CAAvC;AACA,SAAO,cAAc,CAAC,IAAD,EAAO,YAAY,IAAI,cAAc,GAAG,kBAArB,CAAnB,CAArB;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,MAAhB,CAAuB,KAAvB,EAAgD;AAC9C,MAAI,MAAM,CAAC,KAAD,CAAV,EAAmB;AACjB,WAAO,KAAP;AACD;;AAED,MAAI,OAAO,KAAP,KAAiB,QAAjB,IAA6B,CAAC,KAAK,CAAC,KAAD,CAAvC,EAAgD;AAC9C,WAAO,IAAI,IAAJ,CAAS,KAAT,CAAP;AACD;;AAED,MAAI,OAAO,KAAP,KAAiB,QAArB,EAA+B;AAC7B,SAAK,GAAG,KAAK,CAAC,IAAN,EAAR;;AAEA,QAAI,kCAAkC,IAAlC,CAAuC,KAAvC,CAAJ,EAAmD;AACvD;AACM;AACM;AACM;AACM;AAEZ;AAAwB;AAPmB,6BAQvB,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,GAAjB,CAAqB,UAAC,GAAD;AAAA,eAAiB,CAAC,GAAlB;AAAA,OAArB,CARuB;AAAA;AAAA,UAQ1C,CAR0C;AAAA;AAAA,UAQvC,CARuC,mCAQnC,CARmC;AAAA;AAAA,UAQhC,CARgC,oCAQ5B,CAR4B;;AASjD,aAAO,UAAU,CAAC,CAAD,EAAI,CAAC,GAAG,CAAR,EAAW,CAAX,CAAjB;AACD;;AAED,QAAM,QAAQ,GAAG,UAAU,CAAC,KAAD,CAA3B,CAf6B,CAgBjC;;AAEI,QAAI,CAAC,KAAK,CAAC,KAAY,GAAG,QAAhB,CAAV,EAAqC;AACnC,aAAO,IAAI,IAAJ,CAAS,QAAT,CAAP;AACD;;AAED,QAAI,KAAJ;;AACA,QAAI,KAAK,GAAG,KAAK,CAAC,KAAN,CAAY,kBAAZ,CAAZ,EAA6C;AAC3C,aAAO,eAAe,CAAC,KAAD,CAAtB;AACD;AACF;;AAED,MAAM,IAAI,GAAG,IAAI,IAAJ,CAAS,KAAT,CAAb;;AACA,MAAI,CAAC,MAAM,CAAC,IAAD,CAAX,EAAmB;AACjB,UAAM,IAAI,KAAJ,+BAAgC,KAAhC,oBAAN;AACD;;AACD,SAAO,IAAP;AACD;AAED;AACA;AACA;AACA;;;AACA,SAAgB,eAAhB,CAAgC,KAAhC,EAAuD;AACrD,MAAM,IAAI,GAAG,IAAI,IAAJ,CAAS,CAAT,CAAb;AACA,MAAI,MAAM,GAAG,CAAb;AACA,MAAI,KAAK,GAAG,CAAZ,CAHqD,CAIvD;;AAEE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAD,CAAL,GAAW,IAAI,CAAC,cAAhB,GAAiC,IAAI,CAAC,WAAzD;AACA,MAAM,UAAU,GAAG,KAAK,CAAC,CAAD,CAAL,GAAW,IAAI,CAAC,WAAhB,GAA8B,IAAI,CAAC,QAAtD,CAPqD,CAQvD;;AAEE,MAAI,KAAK,CAAC,CAAD,CAAT,EAAc;AACZ,UAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAC,EAAD,CAAjB,CAAf;AACA,SAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAD,CAAL,GAAW,KAAK,CAAC,EAAD,CAAjB,CAAd;AACD;;AACD,YAAU,CAAC,IAAX,CAAgB,IAAhB,EAAsB,MAAM,CAAC,KAAK,CAAC,CAAD,CAAN,CAA5B,EAAwC,MAAM,CAAC,KAAK,CAAC,CAAD,CAAN,CAAN,GAAmB,CAA3D,EAA8D,MAAM,CAAC,KAAK,CAAC,CAAD,CAAN,CAApE;AACA,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAD,CAAL,IAAY,CAAb,CAAN,GAAwB,MAAlC;AACA,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAD,CAAL,IAAY,CAAb,CAAN,GAAwB,KAAlC;AACA,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAD,CAAL,IAAY,CAAb,CAAhB,CAjBqD,CAkBvD;AACE;AACE;;AACF,MAAM,EAAE,GAAG,IAAI,CAAC,KAAL,CAAW,UAAU,CAAC,QAAQ,KAAK,CAAC,CAAD,CAAL,IAAY,CAApB,CAAD,CAAV,GAAqC,IAAhD,CAAX;AACA,YAAU,CAAC,IAAX,CAAgB,IAAhB,EAAsB,CAAtB,EAAyB,CAAzB,EAA4B,CAA5B,EAA+B,EAA/B;AACA,SAAO,IAAP;AACD;;AACD,SACgB,MADhB,CACuB,KADvB,EACiC;AAC/B,SAAO,KAAK,YAAY,IAAjB,IAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,OAAN,EAAD,CAAtC;AACF;ACzyBA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAIO,IAAM,oBAAoB,GAAG,6BAA7B;AACP,IAAM,UAAU,GAAG,EAAnB;AACA,IAAM,WAAW,GAAG,GAApB;AACA,IAAM,SAAS,GAAG,GAAlB;AACA,IAAM,WAAW,GAAG,GAApB;AACA,IAAM,SAAS,GAAG,GAAlB;AACA,IAAM,UAAU,GAAG,GAAnB;AACA,IAAM,aAAa,GAAG,GAAtB;AACA,IAAM,YAAY,GAAG,GAArB;AAEA;AACA;AACA;;AACA,SAAS,0BAAT,CACI,KADJ,EACmB,OADnB,EACgD,MADhD,EACgE,WADhE,EAEI,aAFJ,EAEiC,UAFjC,EAEuE;AAAA,MAAjB,SAAiB,uEAAL,KAAK;AACrE,MAAI,aAAa,GAAG,EAApB;AACA,MAAI,MAAM,GAAG,KAAb;;AAEA,MAAI,CAAC,QAAQ,CAAC,KAAD,CAAb,EAAsB;AACpB,iBAAa,GAAG,qBAAqB,CAAC,MAAD,EAAS,YAAY,CAAC,QAAtB,CAArC;AACD,GAFD,MAEO;AACL,QAAI,YAAY,GAAG,WAAW,CAAC,KAAD,CAA9B;;AAEA,QAAI,SAAJ,EAAe;AACb,kBAAY,GAAG,SAAS,CAAC,YAAD,CAAxB;AACD;;AAED,QAAI,MAAM,GAAG,OAAO,CAAC,MAArB;AACA,QAAI,WAAW,GAAG,OAAO,CAAC,OAA1B;AACA,QAAI,WAAW,GAAG,OAAO,CAAC,OAA1B;;AAEA,QAAI,UAAJ,EAAgB;AACd,UAAM,KAAK,GAAG,UAAU,CAAC,KAAX,CAAiB,oBAAjB,CAAd;;AACA,UAAI,KAAK,KAAK,IAAd,EAAoB;AAClB,cAAM,IAAI,KAAJ,WAAa,UAAb,gCAAN;AACD;;AACD,UAAM,UAAU,GAAG,KAAK,CAAC,CAAD,CAAxB;AACA,UAAM,eAAe,GAAG,KAAK,CAAC,CAAD,CAA7B;AACA,UAAM,eAAe,GAAG,KAAK,CAAC,CAAD,CAA7B;;AACA,UAAI,UAAU,IAAI,IAAlB,EAAwB;AACtB,cAAM,GAAG,iBAAiB,CAAC,UAAD,CAA1B;AACD;;AACD,UAAI,eAAe,IAAI,IAAvB,EAA6B;AAC3B,mBAAW,GAAG,iBAAiB,CAAC,eAAD,CAA/B;AACD;;AACD,UAAI,eAAe,IAAI,IAAvB,EAA6B;AAC3B,mBAAW,GAAG,iBAAiB,CAAC,eAAD,CAA/B;AACD,OAFD,MAEO,IAAI,eAAe,IAAI,IAAnB,IAA2B,WAAW,GAAG,WAA7C,EAA0D;AAC/D,mBAAW,GAAG,WAAd;AACD;AACF;;AAED,eAAW,CAAC,YAAD,EAAe,WAAf,EAA4B,WAA5B,CAAX;AAEA,QAAI,MAAM,GAAG,YAAY,CAAC,MAA1B;AACA,QAAI,UAAU,GAAG,YAAY,CAAC,UAA9B;AACA,QAAM,QAAQ,GAAG,YAAY,CAAC,QAA9B;AACA,QAAI,QAAQ,GAAG,EAAf;AACA,UAAM,GAAG,MAAM,CAAC,KAAP,CAAa,WAAC;AAAA,aAAI,CAAC,CAAL;AAAA,KAAd,CAAT,CAtCK,CAuCT;;AAEI,WAAO,UAAU,GAAG,MAApB,EAA4B,UAAU,EAAtC,EAA0C;AACxC,YAAM,CAAC,OAAP,CAAe,CAAf;AACD,KA3CI,CA4CT;;;AAEI,WAAO,UAAU,GAAG,CAApB,EAAuB,UAAU,EAAjC,EAAqC;AACnC,YAAM,CAAC,OAAP,CAAe,CAAf;AACD,KAhDI,CAiDT;;;AAEI,QAAI,UAAU,GAAG,CAAjB,EAAoB;AAClB,cAAQ,GAAG,MAAM,CAAC,MAAP,CAAc,UAAd,EAA0B,MAAM,CAAC,MAAjC,CAAX;AACD,KAFD,MAEO;AACL,cAAQ,GAAG,MAAX;AACA,YAAM,GAAG,CAAC,CAAD,CAAT;AACD,KAxDI,CAyDT;;;AAEI,QAAM,MAAM,GAAG,EAAf;;AACA,QAAI,MAAM,CAAC,MAAP,IAAiB,OAAO,CAAC,MAA7B,EAAqC;AACnC,YAAM,CAAC,OAAP,CAAe,MAAM,CAAC,MAAP,CAAc,CAAC,OAAO,CAAC,MAAvB,EAA+B,MAAM,CAAC,MAAtC,EAA8C,IAA9C,CAAmD,EAAnD,CAAf;AACD;;AAED,WAAO,MAAM,CAAC,MAAP,GAAgB,OAAO,CAAC,KAA/B,EAAsC;AACpC,YAAM,CAAC,OAAP,CAAe,MAAM,CAAC,MAAP,CAAc,CAAC,OAAO,CAAC,KAAvB,EAA8B,MAAM,CAAC,MAArC,EAA6C,IAA7C,CAAkD,EAAlD,CAAf;AACD;;AAED,QAAI,MAAM,CAAC,MAAX,EAAmB;AACjB,YAAM,CAAC,OAAP,CAAe,MAAM,CAAC,IAAP,CAAY,EAAZ,CAAf;AACD;;AAED,iBAAa,GAAG,MAAM,CAAC,IAAP,CAAY,qBAAqB,CAAC,MAAD,EAAS,WAAT,CAAjC,CAAhB,CAxEK,CAyET;;AAEI,QAAI,QAAQ,CAAC,MAAb,EAAqB;AACnB,mBAAa,IAAI,qBAAqB,CAAC,MAAD,EAAS,aAAT,CAArB,GAA+C,QAAQ,CAAC,IAAT,CAAc,EAAd,CAAhE;AACD;;AAED,QAAI,QAAJ,EAAc;AACZ,mBAAa,IAAI,qBAAqB,CAAC,MAAD,EAAS,YAAY,CAAC,WAAtB,CAArB,GAA0D,GAA1D,GAAgE,QAAjF;AACD;AACF;;AAED,MAAI,KAAK,GAAG,CAAR,IAAa,CAAC,MAAlB,EAA0B;AACxB,iBAAa,GAAG,OAAO,CAAC,MAAR,GAAiB,aAAjB,GAAiC,OAAO,CAAC,MAAzD;AACD,GAFD,MAEO;AACL,iBAAa,GAAG,OAAO,CAAC,MAAR,GAAiB,aAAjB,GAAiC,OAAO,CAAC,MAAzD;AACD;;AAED,SAAO,aAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,cAAhB,CACI,KADJ,EACmB,MADnB,EACmC,QADnC,EACqD,YADrD,EAEI,UAFJ,EAEuB;AACrB,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAD,EAAS,iBAAiB,CAAC,QAA3B,CAApC;AACA,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAD,EAAS,qBAAqB,CAAC,MAAD,EAAS,YAAY,CAAC,SAAtB,CAA9B,CAAjC;AAEA,SAAO,CAAC,OAAR,GAAkB,yBAAyB,CAAC,YAAD,CAA3C;AACA,SAAO,CAAC,OAAR,GAAkB,OAAO,CAAC,OAA1B;AAEA,MAAM,GAAG,GAAG,0BAA0B,CAClC,KADkC,EAC3B,OAD2B,EAClB,MADkB,EACV,YAAY,CAAC,aADH,EACkB,YAAY,CAAC,eAD/B,EACgD,UADhD,CAAtC;AAEA,SAAO,GAAG,CACL,OADE,CACM,aADN,EACqB,QADrB,EAET;AAFS,GAGF,OAHE,CAGM,aAHN,EAGqB,EAHrB,EAIT;AACE;AACE;AACE;AAPG,GAQF,IARE,EAAP;AASD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,aAAhB,CAA8B,KAA9B,EAA6C,MAA7C,EAA6D,UAA7D,EAAgF;AAC9E,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAD,EAAS,iBAAiB,CAAC,OAA3B,CAApC;AACA,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAD,EAAS,qBAAqB,CAAC,MAAD,EAAS,YAAY,CAAC,SAAtB,CAA9B,CAAjC;AACA,MAAM,GAAG,GAAG,0BAA0B,CAClC,KADkC,EAC3B,OAD2B,EAClB,MADkB,EACV,YAAY,CAAC,KADH,EACU,YAAY,CAAC,OADvB,EACgC,UADhC,EAC4C,IAD5C,CAAtC;AAEA,SAAO,GAAG,CAAC,OAAJ,CACH,IAAI,MAAJ,CAAW,YAAX,EAAyB,GAAzB,CADG,EAC4B,qBAAqB,CAAC,MAAD,EAAS,YAAY,CAAC,WAAtB,CADjD,CAAP;AAED;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,YAAhB,CAA6B,KAA7B,EAA4C,MAA5C,EAA4D,UAA5D,EAA+E;AAC7E,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAD,EAAS,iBAAiB,CAAC,OAA3B,CAApC;AACA,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAD,EAAS,qBAAqB,CAAC,MAAD,EAAS,YAAY,CAAC,SAAtB,CAA9B,CAAjC;AACA,SAAO,0BAA0B,CAC7B,KAD6B,EACtB,OADsB,EACb,MADa,EACL,YAAY,CAAC,KADR,EACe,YAAY,CAAC,OAD5B,EACqC,UADrC,CAAjC;AAED;;AAsBD,SAAS,iBAAT,CAA2B,MAA3B,EAA0D;AAAA,MAAf,SAAe,uEAAH,GAAG;AACxD,MAAM,CAAC,GAAG;AACR,UAAM,EAAE,CADA;AAER,WAAO,EAAE,CAFD;AAGR,WAAO,EAAE,CAHD;AAIR,UAAM,EAAE,EAJA;AAKR,UAAM,EAAE,EALA;AAMR,UAAM,EAAE,EANA;AAOR,UAAM,EAAE,EAPA;AAQR,SAAK,EAAE,CARC;AASR,UAAM,EAAE;AATA,GAAV;AAYA,MAAM,YAAY,GAAG,MAAM,CAAC,KAAP,CAAa,WAAb,CAArB;AACA,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAD,CAA7B;AACA,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAD,CAA7B;AAEA,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAT,CAAiB,WAAjB,MAAkC,CAAC,CAAnC,GAClB,QAAQ,CAAC,KAAT,CAAe,WAAf,CADkB,GAElB,CACE,QAAQ,CAAC,SAAT,CAAmB,CAAnB,EAAsB,QAAQ,CAAC,WAAT,CAAqB,SAArB,IAAkC,CAAxD,CADF,EAEE,QAAQ,CAAC,SAAT,CAAmB,QAAQ,CAAC,WAAT,CAAqB,SAArB,IAAkC,CAArD,CAFF,CAFJ;AAAA,MAMM,OAAO,GAAG,aAAa,CAAC,CAAD,CAN7B;AAAA,MAMkC,QAAQ,GAAG,aAAa,CAAC,CAAD,CAAb,IAAoB,EANjE;AAQA,GAAC,CAAC,MAAF,GAAW,OAAO,CAAC,MAAR,CAAe,CAAf,EAAkB,OAAO,CAAC,OAAR,CAAgB,UAAhB,CAAlB,CAAX;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,MAA7B,EAAqC,CAAC,EAAtC,EAA0C;AACxC,QAAM,EAAE,GAAG,QAAQ,CAAC,MAAT,CAAgB,CAAhB,CAAX;;AACA,QAAI,EAAE,KAAK,SAAX,EAAsB;AACpB,OAAC,CAAC,OAAF,GAAY,CAAC,CAAC,OAAF,GAAY,CAAC,GAAG,CAA5B;AACD,KAFD,MAEO,IAAI,EAAE,KAAK,UAAX,EAAuB;AAC5B,OAAC,CAAC,OAAF,GAAY,CAAC,GAAG,CAAhB;AACD,KAFM,MAEA;AACL,OAAC,CAAC,MAAF,IAAY,EAAZ;AACD;AACF;;AAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAR,CAAc,SAAd,CAAf;AACA,GAAC,CAAC,KAAF,GAAU,MAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,CAAD,CAAN,CAAU,MAAtB,GAA+B,CAAzC;AACA,GAAC,CAAC,MAAF,GAAY,MAAM,CAAC,CAAD,CAAN,IAAa,MAAM,CAAC,CAAD,CAApB,GAA2B,CAAC,MAAM,CAAC,CAAD,CAAN,IAAa,MAAM,CAAC,CAAD,CAApB,EAAyB,MAApD,GAA6D,CAAxE;;AAEA,MAAI,QAAJ,EAAc;AACZ,QAAM,QAAQ,GAAG,QAAQ,CAAC,MAAT,GAAkB,CAAC,CAAC,MAAF,CAAS,MAA3B,GAAoC,CAAC,CAAC,MAAF,CAAS,MAA9D;AAAA,QACM,GAAG,GAAG,QAAQ,CAAC,OAAT,CAAiB,UAAjB,CADZ;AAGA,KAAC,CAAC,MAAF,GAAW,QAAQ,CAAC,MAAT,CAAgB,CAAhB,EAAmB,GAAnB,EAAwB,OAAxB,CAAgC,IAAhC,EAAsC,EAAtC,CAAX;AACA,KAAC,CAAC,MAAF,GAAW,QAAQ,CAAC,MAAT,CAAgB,GAAG,GAAG,QAAtB,EAAgC,OAAhC,CAAwC,IAAxC,EAA8C,EAA9C,CAAX;AACD,GAND,MAMO;AACL,KAAC,CAAC,MAAF,GAAW,SAAS,GAAG,CAAC,CAAC,MAAzB;AACA,KAAC,CAAC,MAAF,GAAW,CAAC,CAAC,MAAb;AACD;;AAED,SAAO,CAAP;AACD,C,CAWD;;;AACA,SAAS,SAAT,CAAmB,YAAnB,EAA6C;AAAI;AAE/C,MAAI,YAAY,CAAC,MAAb,CAAoB,CAApB,MAA2B,CAA/B,EAAkC;AAChC,WAAO,YAAP;AACD,GAJ0C,CAK7C;;;AAEE,MAAM,WAAW,GAAG,YAAY,CAAC,MAAb,CAAoB,MAApB,GAA6B,YAAY,CAAC,UAA9D;;AACA,MAAI,YAAY,CAAC,QAAjB,EAA2B;AACzB,gBAAY,CAAC,QAAb,IAAyB,CAAzB;AACD,GAFD,MAEO;AACL,QAAI,WAAW,KAAK,CAApB,EAAuB;AACrB,kBAAY,CAAC,MAAb,CAAoB,IAApB,CAAyB,CAAzB,EAA4B,CAA5B;AACD,KAFD,MAEO,IAAI,WAAW,KAAK,CAApB,EAAuB;AAC5B,kBAAY,CAAC,MAAb,CAAoB,IAApB,CAAyB,CAAzB;AACD;;AACD,gBAAY,CAAC,UAAb,IAA2B,CAA3B;AACD;;AAED,SAAO,YAAP;AACD;AAED;AACA;AACA;AACA;;;AACA,SAAS,WAAT,CAAqB,GAArB,EAAgC;AAC9B,MAAI,MAAM,GAAG,IAAI,CAAC,GAAL,CAAS,GAAT,IAAgB,EAA7B;AACA,MAAI,QAAQ,GAAG,CAAf;AAAA,MAAkB,MAAlB;AAAA,MAA0B,UAA1B;AACA,MAAI,CAAJ,EAAO,CAAP,EAAU,KAAV,CAH8B,CAIhC;;AAEE,MAAI,CAAC,UAAU,GAAG,MAAM,CAAC,OAAP,CAAe,WAAf,CAAd,IAA6C,CAAC,CAAlD,EAAqD;AACnD,UAAM,GAAG,MAAM,CAAC,OAAP,CAAe,WAAf,EAA4B,EAA5B,CAAT;AACD,GAR6B,CAShC;;;AAEE,MAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAP,CAAc,IAAd,CAAL,IAA4B,CAAhC,EAAmC;AACrC;AACI,QAAI,UAAU,GAAG,CAAjB,EAAoB,UAAU,GAAG,CAAb;AACpB,cAAU,IAAI,CAAC,MAAM,CAAC,KAAP,CAAa,CAAC,GAAG,CAAjB,CAAf;AACA,UAAM,GAAG,MAAM,CAAC,SAAP,CAAiB,CAAjB,EAAoB,CAApB,CAAT;AACD,GALD,MAKO,IAAI,UAAU,GAAG,CAAjB,EAAoB;AAC7B;AACI,cAAU,GAAG,MAAM,CAAC,MAApB;AACD,GAnB6B,CAoBhC;;;AAEE,OAAK,CAAC,GAAG,CAAT,EAAY,MAAM,CAAC,MAAP,CAAc,CAAd,MAAqB,SAAjC,EAA4C,CAAC,EAA7C,EAAiD;AAAA;AAChD;;AAED,MAAI,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,MAArB,CAAL,EAAmC;AACrC;AACI,UAAM,GAAG,CAAC,CAAD,CAAT;AACA,cAAU,GAAG,CAAb;AACD,GAJD,MAIO;AACT;AACI,SAAK;;AACL,WAAO,MAAM,CAAC,MAAP,CAAc,KAAd,MAAyB,SAAhC;AAA2C,WAAK;AAAhD,KAHK,CAIT;;;AAEI,cAAU,IAAI,CAAd;AACA,UAAM,GAAG,EAAT,CAPK,CAQT;;AACI,SAAK,CAAC,GAAG,CAAT,EAAY,CAAC,IAAI,KAAjB,EAAwB,CAAC,IAAI,CAAC,EAA9B,EAAkC;AAChC,YAAM,CAAC,CAAD,CAAN,GAAY,MAAM,CAAC,MAAM,CAAC,MAAP,CAAc,CAAd,CAAD,CAAlB;AACD;AACF,GAzC6B,CA0ChC;;;AAEE,MAAI,UAAU,GAAG,UAAjB,EAA6B;AAC3B,UAAM,GAAG,MAAM,CAAC,MAAP,CAAc,CAAd,EAAiB,UAAU,GAAG,CAA9B,CAAT;AACA,YAAQ,GAAG,UAAU,GAAG,CAAxB;AACA,cAAU,GAAG,CAAb;AACD;;AAED,SAAO;AAAC,UAAM,EAAN,MAAD;AAAS,YAAQ,EAAR,QAAT;AAAmB,cAAU,EAAV;AAAnB,GAAP;AACD;AAED;AACA;AACA;AACA;;;AACA,SAAS,WAAT,CAAqB,YAArB,EAAiD,OAAjD,EAAkE,OAAlE,EAAiF;AAC/E,MAAI,OAAO,GAAG,OAAd,EAAuB;AACrB,UAAM,IAAI,KAAJ,wDACF,OADE,2CACsC,OADtC,QAAN;AAED;;AAED,MAAI,MAAM,GAAG,YAAY,CAAC,MAA1B;AACA,MAAI,WAAW,GAAG,MAAM,CAAC,MAAP,GAAgB,YAAY,CAAC,UAA/C;AACA,MAAM,YAAY,GAAG,IAAI,CAAC,GAAL,CAAS,IAAI,CAAC,GAAL,CAAS,OAAT,EAAkB,WAAlB,CAAT,EAAyC,OAAzC,CAArB,CAR+E,CASjF;;AAEE,MAAI,OAAO,GAAG,YAAY,GAAG,YAAY,CAAC,UAA1C;AACA,MAAI,KAAK,GAAG,MAAM,CAAC,OAAD,CAAlB;;AAEA,MAAI,OAAO,GAAG,CAAd,EAAiB;AACnB;AACI,UAAM,CAAC,MAAP,CAAc,IAAI,CAAC,GAAL,CAAS,YAAY,CAAC,UAAtB,EAAkC,OAAlC,CAAd,EAFe,CAGnB;;AAEI,SAAK,IAAI,CAAC,GAAG,OAAb,EAAsB,CAAC,GAAG,MAAM,CAAC,MAAjC,EAAyC,CAAC,EAA1C,EAA8C;AAC5C,YAAM,CAAC,CAAD,CAAN,GAAY,CAAZ;AACD;AACF,GARD,MAQO;AACT;AACI,eAAW,GAAG,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,WAAZ,CAAd;AACA,gBAAY,CAAC,UAAb,GAA0B,CAA1B;AACA,UAAM,CAAC,MAAP,GAAgB,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,OAAO,GAAG,YAAY,GAAG,CAArC,CAAhB;AACA,UAAM,CAAC,CAAD,CAAN,GAAY,CAAZ;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAApB,EAA6B,CAAC,EAA9B;AAAkC,YAAM,CAAC,CAAD,CAAN,GAAY,CAAZ;AAAlC;AACD;;AAED,MAAI,KAAK,IAAI,CAAb,EAAgB;AACd,QAAI,OAAO,GAAG,CAAV,GAAc,CAAlB,EAAqB;AACnB,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,OAApB,EAA6B,CAAC,EAA9B,EAAkC;AAChC,cAAM,CAAC,OAAP,CAAe,CAAf;AACA,oBAAY,CAAC,UAAb;AACD;;AACD,YAAM,CAAC,OAAP,CAAe,CAAf;AACA,kBAAY,CAAC,UAAb;AACD,KAPD,MAOO;AACL,YAAM,CAAC,OAAO,GAAG,CAAX,CAAN;AACD;AACF,GA1C8E,CA2CjF;;;AAEE,SAAO,WAAW,GAAG,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,YAAZ,CAArB,EAAgD,WAAW,EAA3D;AAA+D,UAAM,CAAC,IAAP,CAAY,CAAZ;AAA/D;;AAEA,MAAI,iBAAiB,GAAG,YAAY,KAAK,CAAzC,CA/C+E,CAgDjF;AACE;;AACA,MAAM,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC,UAAtC,CAlD+E,CAmDjF;;AACE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAP,CAAmB,UAAS,KAAT,EAAgB,CAAhB,EAAmB,CAAnB,EAAsB,MAAtB,EAA4B;AAC3D,KAAC,GAAG,CAAC,GAAG,KAAR;AACA,UAAM,CAAC,CAAD,CAAN,GAAY,CAAC,GAAG,EAAJ,GAAS,CAAT,GAAa,CAAC,GAAG,EAA7B,CAF2D,CAE3B;;AAChC,QAAI,iBAAJ,EAAuB;AAC3B;AACM,UAAI,MAAM,CAAC,CAAD,CAAN,KAAc,CAAd,IAAmB,CAAC,IAAI,MAA5B,EAAoC;AAClC,cAAM,CAAC,GAAP;AACD,OAFD,MAEO;AACL,yBAAiB,GAAG,KAApB;AACD;AACF;;AACD,WAAO,CAAC,IAAI,EAAL,GAAU,CAAV,GAAc,CAArB,CAX2D,CAWpC;AACxB,GAZa,EAYX,CAZW,CAAd;;AAaA,MAAI,KAAJ,EAAW;AACT,UAAM,CAAC,OAAP,CAAe,KAAf;AACA,gBAAY,CAAC,UAAb;AACD;AACF;;AACD,SACgB,iBADhB,CACkC,IADlC,EAC8C;AAC5C,MAAM,MAAM,GAAW,QAAQ,CAAC,IAAD,CAA/B;;AACA,MAAI,KAAK,CAAC,MAAD,CAAT,EAAmB;AACjB,UAAM,IAAI,KAAJ,CAAU,0CAA0C,IAApD,CAAN;AACD;;AACD,SAAO,MAAP;AACF;ACrdA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;;;IACsB,c;;;AAKtB;AACA;AACA;AACA;AACA;;;AACA,SAAgB,iBAAhB,CACI,KADJ,EACmB,KADnB,EACoC,cADpC,EACoE,MADpE,EACmF;AACjF,MAAI,GAAG,cAAO,KAAP,CAAP;;AAEA,MAAI,KAAK,CAAC,OAAN,CAAc,GAAd,IAAqB,CAAC,CAA1B,EAA6B;AAC3B,WAAO,GAAP;AACD;;AAED,KAAG,GAAG,cAAc,CAAC,iBAAf,CAAiC,KAAjC,EAAwC,MAAxC,CAAN;;AAEA,MAAI,KAAK,CAAC,OAAN,CAAc,GAAd,IAAqB,CAAC,CAA1B,EAA6B;AAC3B,WAAO,GAAP;AACD;;AAED,MAAI,KAAK,CAAC,OAAN,CAAc,OAAd,IAAyB,CAAC,CAA9B,EAAiC;AAC/B,WAAO,OAAP;AACD;;AAED,QAAM,IAAI,KAAJ,+CAAgD,KAAhD,QAAN;AACD;AAED;AACA;AACA;AACA;AACA;;;IAEa,oB;;;;;AACX,gCAAyC,MAAzC,EAAuD;AAAA;;AAAA;;AACrD;AADuC;AAAc;AAEtD;;;;WAED,2BAAkB,KAAlB,EAA8B,MAA9B,EAA6C;AAC3C,UAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,IAAI,KAAK,MAAhB,CAAnB,CAA2C,KAA3C,CAAf;;AAEA,cAAQ,MAAR;AACE,aAAK,MAAM,CAAC,IAAZ;AACE,iBAAO,MAAP;;AACF,aAAK,MAAM,CAAC,GAAZ;AACE,iBAAO,KAAP;;AACF,aAAK,MAAM,CAAC,GAAZ;AACE,iBAAO,KAAP;;AACF,aAAK,MAAM,CAAC,GAAZ;AACE,iBAAO,KAAP;;AACF,aAAK,MAAM,CAAC,IAAZ;AACE,iBAAO,MAAP;;AACF;AACE,iBAAO,OAAP;AAZJ;AAcD;;;;EAtBuC,c;;qCADzC,4B,CAAU,C,EAAA;AAAA;AAAA,C;;;;gCACT;;;AAAC;AAAA,UAA8C;AAAA;AAAA;AAAA,YAClC,oDADkC;AAC5B,aAAC,uDAAD;AAD4B;AAAA,GAA9C;AAAA;;;;;;;;;;;;;;AACsC,C;ACtDzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAgB,kBAAhB,CAAmC,IAAnC,EAA8C,QAA9C,EAAqE,SAArE,EAAoF;AAClF,SAAO,yEAAmB,CAAC,IAAD,EAAO,QAAP,EAAiB,SAAjB,CAA1B;AACF;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SACgB,gBADhB,CACiC,SADjC,EACoD,IADpD,EACgE;AAC9D,MAAI,GAAG,kBAAkB,CAAC,IAAD,CAAzB;;AAD8D,sJAEzC,SAAS,CAAC,KAAV,CAAgB,GAAhB,CAFyC;AAAA;;AAAA;AAE9D,wDAA2C;AAAA,UAAhC,MAAgC;AACzC,UAAM,OAAO,GAAG,MAAM,CAAC,OAAP,CAAe,GAAf,CAAhB;;AADyC,kBAGrC,OAAO,IAAI,CAAC,CAAZ,GAAgB,CAAC,MAAD,EAAS,EAAT,CAAhB,GAA+B,CAAC,MAAM,CAAC,KAAP,CAAa,CAAb,EAAgB,OAAhB,CAAD,EAA2B,MAAM,CAAC,KAAP,CAAa,OAAO,GAAG,CAAvB,CAA3B,CAHM;AAAA;AAAA,UAElC,UAFkC;AAAA,UAEtB,WAFsB;;AAIzC,UAAI,UAAU,CAAC,IAAX,OAAsB,IAA1B,EAAgC;AAC9B,eAAO,kBAAkB,CAAC,WAAD,CAAzB;AACD;AACF;AAT6D;AAAA;AAAA;AAAA;AAAA;;AAU9D,SAAO,IAAP;AACF;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,O;AAMX,mBACY,gBADZ,EACuD,gBADvD,EAEY,KAFZ,EAEuC,SAFvC,EAE2D;AAAA;;AAD/C;AAA2C;AAC3C;AAA2B;AAP/B,2BAA+C,IAA/C;AACA,2BAAoD,IAApD;AACA,2BAA4B,EAA5B;AACA,qBAAmC,IAAnC;AAIuD;;;;SAG/D,aACU,KADV,EACuB;AACrB,WAAK,cAAL,CAAoB,KAAK,eAAzB;;AACA,WAAK,eAAL,GAAuB,OAAO,KAAP,KAAiB,QAAjB,GAA4B,KAAK,CAAC,KAAN,CAAY,KAAZ,CAA5B,GAAiD,EAAxE;;AACA,WAAK,aAAL,CAAmB,KAAK,eAAxB;;AACA,WAAK,aAAL,CAAmB,KAAK,SAAxB;AACD;;;SAED,aACY,KADZ,EACqE;AACnE,WAAK,cAAL,CAAoB,KAAK,SAAzB;;AACA,WAAK,aAAL,CAAmB,KAAK,eAAxB;;AAEA,WAAK,eAAL,GAAuB,IAAvB;AACA,WAAK,eAAL,GAAuB,IAAvB;AAEA,WAAK,SAAL,GAAiB,OAAO,KAAP,KAAiB,QAAjB,GAA4B,KAAK,CAAC,KAAN,CAAY,KAAZ,CAA5B,GAAiD,KAAlE;;AAEA,UAAI,KAAK,SAAT,EAAoB;AAClB,YAAIz9D,yEAAkB,CAAC,KAAK,SAAN,CAAtB,EAAwC;AACtC,eAAK,eAAL,GAAuB,KAAK,gBAAL,CAAsB,IAAtB,CAA2B,KAAK,SAAhC,EAA2C,MAA3C,EAAvB;AACD,SAFD,MAEO;AACL,eAAK,eAAL,GAAuB,KAAK,gBAAL,CAAsB,IAAtB,CAA2B,KAAK,SAAhC,EAA2C,MAA3C,EAAvB;AACD;AACF;AACF;;;WAED,qBAAS;AACP,UAAI,KAAK,eAAT,EAA0B;AACxB,YAAM,eAAe,GAAG,KAAK,eAAL,CAAqB,IAArB,CAA0B,KAAK,SAA/B,CAAxB;;AACA,YAAI,eAAJ,EAAqB;AACnB,eAAK,qBAAL,CAA2B,eAA3B;AACD;AACF,OALD,MAKO,IAAI,KAAK,eAAT,EAA0B;AAC/B,YAAM,eAAe,GAAG,KAAK,eAAL,CAAqB,IAArB,CAA0B,KAAK,SAA/B,CAAxB;;AACA,YAAI,eAAJ,EAAqB;AACnB,eAAK,qBAAL,CAA2B,eAA3B;AACD;AACF;AACF;;;WAEO,+BAAsB,OAAtB,EAA2D;AAAA;;AACjE,aAAO,CAAC,gBAAR,CAAyB,UAAC,MAAD;AAAA,eAAY,MAAI,CAAC,YAAL,CAAkB,MAAM,CAAC,GAAzB,EAA8B,MAAM,CAAC,YAArC,CAAZ;AAAA,OAAzB;AACA,aAAO,CAAC,kBAAR,CAA2B,UAAC,MAAD;AAAA,eAAY,MAAI,CAAC,YAAL,CAAkB,MAAM,CAAC,GAAzB,EAA8B,MAAM,CAAC,YAArC,CAAZ;AAAA,OAA3B;AACA,aAAO,CAAC,kBAAR,CAA2B,UAAC,MAAD,EAAO;AAChC,YAAI,MAAM,CAAC,aAAX,EAA0B;AACxB,gBAAI,CAAC,YAAL,CAAkB,MAAM,CAAC,GAAzB,EAA8B,KAA9B;AACD;AACF,OAJD;AAKD;;;WAEO,+BAAsB,OAAtB,EAAsD;AAAA;;AAC5D,aAAO,CAAC,gBAAR,CAAyB,UAAC,MAAD,EAAO;AAC9B,YAAI,OAAO,MAAM,CAAC,IAAd,KAAuB,QAA3B,EAAqC;AACnC,gBAAI,CAAC,YAAL,CAAkB,MAAM,CAAC,IAAzB,EAA+B,IAA/B;AACD,SAFD,MAEO;AACL,gBAAM,IAAI,KAAJ,yEACF5rE,gEAAS,CAAC,MAAM,CAAC,IAAR,CADP,EAAN;AAED;AACF,OAPD;AASA,aAAO,CAAC,kBAAR,CAA2B,UAAC,MAAD;AAAA,eAAY,MAAI,CAAC,YAAL,CAAkB,MAAM,CAAC,IAAzB,EAA+B,KAA/B,CAAZ;AAAA,OAA3B;AACD;AACH;AAEC;AACE;AACE;AACE;AACE;AACE;AAEJ;;;;WAAG,uBAAc,WAAd,EAAgD;AAAA;;AACtD,UAAI,WAAJ,EAAiB;AACf,YAAI,KAAK,CAAC,OAAN,CAAc,WAAd,KAA8B,WAAW,YAAY,GAAzD,EAA8D;AACtD,qBAAY,CAAC,OAAb,CAAqB,UAAC,KAAD;AAAA,mBAAmB,MAAI,CAAC,YAAL,CAAkB,KAAlB,EAAyB,IAAzB,CAAnB;AAAA,WAArB;AACP,SAFD,MAEO;AACL,gBAAM,CAAC,IAAP,CAAY,WAAZ,EAAyB,OAAzB,CAAiC,eAAK;AAAA,mBAAI,MAAI,CAAC,YAAL,CAAkB,KAAlB,EAAyB,CAAC,CAAC,WAAW,CAAC,KAAD,CAAtC,CAAJ;AAAA,WAAtC;AACD;AACF;AACF;AACH;AAEC;AACE;AACE;;;;WACK,wBAAe,WAAf,EAAiD;AAAA;;AACvD,UAAI,WAAJ,EAAiB;AACf,YAAI,KAAK,CAAC,OAAN,CAAc,WAAd,KAA8B,WAAW,YAAY,GAAzD,EAA8D;AACtD,qBAAY,CAAC,OAAb,CAAqB,UAAC,KAAD;AAAA,mBAAmB,OAAI,CAAC,YAAL,CAAkB,KAAlB,EAAyB,KAAzB,CAAnB;AAAA,WAArB;AACP,SAFD,MAEO;AACL,gBAAM,CAAC,IAAP,CAAY,WAAZ,EAAyB,OAAzB,CAAiC,eAAK;AAAA,mBAAI,OAAI,CAAC,YAAL,CAAkB,KAAlB,EAAyB,KAAzB,CAAJ;AAAA,WAAtC;AACD;AACF;AACF;;;WAEO,sBAAa,KAAb,EAA4B,OAA5B,EAA4C;AAAA;;AAClD,WAAK,GAAG,KAAK,CAAC,IAAN,EAAR;;AACA,UAAI,KAAJ,EAAW;AACT,aAAK,CAAC,KAAN,CAAY,MAAZ,EAAoB,OAApB,CAA4B,eAAK;AAC/B,cAAI,OAAJ,EAAa;AACX,mBAAI,CAAC,SAAL,CAAe,QAAf,CAAwB,OAAI,CAAC,KAAL,CAAW,aAAnC,EAAkD,KAAlD;AACD,WAFD,MAEO;AACL,mBAAI,CAAC,SAAL,CAAe,WAAf,CAA2B,OAAI,CAAC,KAAL,CAAW,aAAtC,EAAqD,KAArD;AACD;AACF,SAND;AAOD;AACF;;;;;;wBAvHF,e,CAAA,C,EAAA;AAAS,cAAE,YAAF,EAAY,gEAAY,6DAAZ,CAAZ,EAAwB,8HAAxB,EAAwB,yHAAxB,EAAwB,wHAAxB;AAAwB,C;;;;;;;aAC7B;;;;AAAC;AAAA,UAAiC;AAAA,UAjCyC,6DAAe;AAiCxD,GAAjC,EAjC6F;AAAA,UAA+B,6DAAe;AAA9C,GAiC7F,EAjC+I;AAAA,UAAzH,wDAAU;AAA+G,GAiC/I,EAjCoC;AAAA,UAAyG,uDAAS;AAAlH,GAiCpC;AAAA;;AAjC4J;AAA2B;AAAA,UA4C1L,mDA5C0L;AA4CrL,WAAC,OAAD;AA5CqL,IAA3B;AA6C7J;AAAA,UAOF,mDAPE;AAOG,WAAC,SAAD;AAPH;AA7C6J;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqD5J,C;AC5DN;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,iB;AAaX,6BAAoB,iBAApB,EAAuD;AAAA;;AAAnC;AAHZ,yBAAwC,IAAxC;AACA,sBAAoC,IAApC;AAEmD;;;;WAE3D,qBAAY,OAAZ,EAAkC;AAChC,WAAK,iBAAL,CAAuB,KAAvB;;AACA,WAAK,aAAL,GAAqB,IAArB;;AAEA,UAAI,KAAK,iBAAT,EAA4B;AAC1B,YAAM,UAAU,GAAG,KAAK,yBAAL,IAAkC,KAAK,iBAAL,CAAuB,cAA5E;;AAEA,YAAI,OAAO,CAAC,kCAAD,CAAX,EAAiD;AAC/C,cAAI,KAAK,UAAT,EAAqB,KAAK,UAAL,CAAgB,OAAhB;;AAErB,cAAI,KAAK,gCAAT,EAA2C;AACzC,gBAAM,YAAY,GAAG,UAAU,CAAC,GAAX,CAAe,yDAAf,CAArB;AACA,iBAAK,UAAL,GAAkB,KAAK,gCAAL,CAAsC,MAAtC,CAA6C,YAAY,CAAC,QAA1D,CAAlB;AACD,WAHD,MAGO;AACL,iBAAK,UAAL,GAAkB,IAAlB;AACD;AACF;;AAED,YAAM,wBAAwB,GAAG,KAAK,UAAL,GAAkB,KAAK,UAAL,CAAgB,wBAAlC,GACkB,UAAU,CAAC,GAAX,CAAe,sEAAf,CADnD;AAGA,YAAM,gBAAgB,GAClB,wBAAwB,CAAC,uBAAzB,CAAiD,KAAK,iBAAtD,CADJ;AAGA,aAAK,aAAL,GAAqB,KAAK,iBAAL,CAAuB,eAAvB,CACjB,gBADiB,EACC,KAAK,iBAAL,CAAuB,MADxB,EACgC,UADhC,EAEjB,KAAK,wBAFY,CAArB;AAGD;AACF;;;WAED,uBAAW;AACT,UAAI,KAAK,UAAT,EAAqB,KAAK,UAAL,CAAgB,OAAhB;AACtB;;;;;;kCAhDF,yB,CAAS,C,EAAC;AAAC,cAAU,sBAAV,EAAgC,+HAAhC;AAAgC,C;;;;;;;;;;;;;;AACtC;AAAA,UAA2C;AAAA,UA3DoH,8DAAgB;AA2DpI,GAA3C;AAAA;;AA3DqL;AAI9K;AAAA,UAyDV,mDAAK;AAzDK,IAJ8K;AA6D9K;AAAA,UAEV,mDAAK;AAFK,IA7D8K;AA+D9K;AAAA,UAEV,mDAAK;AAFK,IA/D8K;AAiE9K;AAAA,UAEV,mDAAK;AAFK;AAjE8K;;;;;;;;;;;;;;;;;;;;;;;;;;AAmE7K,C;AC3Ed;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;;;IACa,c;AACX,0BAAmB,SAAnB,EAAwC,OAAxC,EAA2D,KAA3D,EAAiF,KAAjF,EAA8F;AAAA;;AAA3E;AAAqB;AAAmB;AAAsB;AAAiB;;;;SAElG,eAAS;AACP,aAAO,KAAK,KAAL,KAAe,CAAtB;AACD;;;SAED,eAAQ;AACN,aAAO,KAAK,KAAL,KAAe,KAAK,KAAL,GAAa,CAAnC;AACD;;;SAED,eAAQ;AACN,aAAO,KAAK,KAAL,GAAa,CAAb,KAAmB,CAA1B;AACD;;;SAED,eAAO;AACL,aAAO,CAAC,KAAK,IAAb;AACD;;;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,O;AAkDX,mBACY,cADZ,EAEY,SAFZ,EAEkE,QAFlE,EAE2F;AAAA;;AAD/E;AACA;AAAsD;AAR1D,oBAA6B,IAA7B;AACA,yBAAyB,IAAzB;AACA,mBAAkC,IAAlC;AAMuF;AACjG;AAEC;AAAoE;AACX;;;;;SAnDxD,aACY,OADZ,EACmD;AACjD,WAAK,QAAL,GAAgB,OAAhB;AACA,WAAK,aAAL,GAAqB,IAArB;AACD;AACH;AACE;AACE;AACE;AACE;AACE;AACE;AAEH;AAAO;AACE;AACE;AACE;AACE;AAEH;AAAO;AACE;AAGf;;;;SAYb,eAAgB;AACd,aAAO,KAAK,UAAZ;AACD;AACH;AACO;AAEA;AAC4B;;SApBjC,aACiB,EADjB,EACuC;AACrC,UAAI,CAAC,OAAO,SAAP,KAAqB,WAArB,IAAoC,SAArC,KAAmD,EAAE,IAAI,IAAzD,IAAiE,OAAO,EAAP,KAAc,UAAnF,EAA+F;AACnG;AACM,YAAS,OAAO,IAAS,OAAO,CAAC,IAAjC,EAAuC;AACrC,iBAAO,CAAC,IAAR,CACI,mDAA4C,IAAI,CAAC,SAAL,CAAe,EAAf,CAA5C,8FADJ;AAGD;AACF;;AACD,WAAK,UAAL,GAAkB,EAAlB;AACD;;;SAoBD,aACkB,KADlB,EAC0D;AAC5D;AACI;AACI;AACJ,UAAI,KAAJ,EAAW;AACT,aAAK,SAAL,GAAiB,KAAjB;AACD;AACF;AACH;AAEC;AACE;;;;WACD,qBAAS;AACP,UAAI,KAAK,aAAT,EAAwB;AACtB,aAAK,aAAL,GAAqB,KAArB,CADsB,CAE5B;;AACM,YAAM,KAAK,GAAG,KAAK,QAAnB;;AACA,YAAI,CAAC,KAAK,OAAN,IAAiB,KAArB,EAA4B;AAC1B,cAAI;AACF,iBAAK,OAAL,GAAe,KAAK,QAAL,CAAc,IAAd,CAAmB,KAAnB,EAA0B,MAA1B,CAAiC,KAAK,YAAtC,CAAf;AACD,WAFD,CAEE,WAAM;AACN,kBAAM,IAAI,KAAJ,mDAAqD,KAArD,wBACF,WAAW,CAAC,KAAD,CADT,iEAAN;AAED;AACF;AACF;;AACD,UAAI,KAAK,OAAT,EAAkB;AAChB,YAAM,OAAO,GAAG,KAAK,OAAL,CAAa,IAAb,CAAkB,KAAK,QAAvB,CAAhB;;AACA,YAAI,OAAJ,EAAa,KAAK,aAAL,CAAmB,OAAnB;AACd;AACF;;;WAEO,uBAAc,OAAd,EAAyC;AAAA;;AAC/C,UAAM,YAAY,GAA4B,EAA9C;AACA,aAAO,CAAC,gBAAR,CACI,UAAC,IAAD,EAAkC,qBAAlC,EACC,YADD,EAC0B;AACxB,YAAI,IAAI,CAAC,aAAL,IAAsB,IAA1B,EAAgC;AAC1C;AACI;AACI;AACI,cAAM,IAAI,GAAG,OAAI,CAAC,cAAL,CAAoB,kBAApB,CACT,OAAI,CAAC,SADI,EACO,IAAI,cAAJ,CAAyB,IAAzB,EAAgC,OAAI,CAAC,QAArC,EAAgD,CAAC,CAAjD,EAAoD,CAAC,CAArD,CADP,EAET,YAAY,KAAK,IAAjB,GAAwB,SAAxB,GAAoC,YAF3B,CAAb;;AAGA,cAAM,KAAK,GAAG,IAAI,eAAJ,CAA0B,IAA1B,EAAgC,IAAhC,CAAd;AACA,sBAAY,CAAC,IAAb,CAAkB,KAAlB;AACD,SATD,MASO,IAAI,YAAY,IAAI,IAApB,EAA0B;AAC/B,iBAAI,CAAC,cAAL,CAAoB,MAApB,CACI,qBAAqB,KAAK,IAA1B,GAAiC,SAAjC,GAA6C,qBADjD;AAED,SAHM,MAGA,IAAI,qBAAqB,KAAK,IAA9B,EAAoC;AACzC,cAAM,KAAI,GAAG,OAAI,CAAC,cAAL,CAAoB,GAApB,CAAwB,qBAAxB,CAAb;;AACA,iBAAI,CAAC,cAAL,CAAoB,IAApB,CAAyB,KAAzB,EAA+B,YAA/B;;AACA,cAAM,MAAK,GAAG,IAAI,eAAJ,CAAoB,IAApB,EAAiE,KAAjE,CAAd;;AACA,sBAAY,CAAC,IAAb,CAAkB,MAAlB;AACD;AACF,OArBL;;AAuBA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,YAAY,CAAC,MAAjC,EAAyC,CAAC,EAA1C,EAA8C;AAC5C,aAAK,cAAL,CAAoB,YAAY,CAAC,CAAD,CAAZ,CAAgB,IAApC,EAA0C,YAAY,CAAC,CAAD,CAAZ,CAAgB,MAA1D;AACD;;AAED,WAAK,IAAI,EAAC,GAAG,CAAR,EAAW,IAAI,GAAG,KAAK,cAAL,CAAoB,MAA3C,EAAmD,EAAC,GAAG,IAAvD,EAA6D,EAAC,EAA9D,EAAkE;AAChE,YAAM,OAAO,GAA0C,KAAK,cAAL,CAAoB,GAApB,CAAwB,EAAxB,CAAvD;;AACA,eAAO,CAAC,OAAR,CAAgB,KAAhB,GAAwB,EAAxB;AACA,eAAO,CAAC,OAAR,CAAgB,KAAhB,GAAwB,IAAxB;AACA,eAAO,CAAC,OAAR,CAAgB,OAAhB,GAA0B,KAAK,QAA/B;AACD;;AAED,aAAO,CAAC,qBAAR,CAA8B,UAAC,MAAD,EAAY;AACxC,YAAM,OAAO,GAC8B,OAAI,CAAC,cAAL,CAAoB,GAApB,CAAwB,MAAM,CAAC,YAA/B,CAD3C;;AAEA,eAAO,CAAC,OAAR,CAAgB,SAAhB,GAA4B,MAAM,CAAC,IAAnC;AACD,OAJD;AAKD;;;WAEO,wBACJ,IADI,EACyC,MADzC,EAC0E;AAChF,UAAI,CAAC,OAAL,CAAa,SAAb,GAAyB,MAAM,CAAC,IAAhC;AACD;AACH;AAEC;AACE;AACE;AACE;AAEJ;;;;WAAD,gCAA0D,GAA1D,EAA8E,GAA9E,EAAsF;AAEpF,aAAO,IAAP;AACD;;;;;;wBArJF,e,CAAA,C,EAAA;AAAS,cAAE,YAAF,EAAY,gEAAmB,8DAAnB,CAAZ,EAA+B,0HAA/B,EAA+B,8HAA/B;AAA+B,C;;;;;;;;mBACpC;;;;AAAC;AAAA,UAAiC;AAAA,UA5H+H,8DAAgB;AA4H/I,GAAjC,EA5HoL;AAAA,UAAlD,yDAAW;AAAuC,GA4HpL,EA5HiJ;AAAA,UAA5C,6DAAe;AAA6B,GA4HjJ;AAAA;;AA5H0H;AAA2B;AAAA,UAiIxJ,mDAAK;AAjImJ,IAA3B;AAkI9H;AAAA,UAqBC,mDAAK;AArBN,IAlI8H;AAwJ9H;AAAA,UA8BC,mDAAK;AA9BN;AAxJ8H;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuL7H,C;;IA4FG,e,GACJ,yBAAmB,MAAnB,EAAuC,IAAvC,EAAkF;AAAA;;AAA/D;AAAoB;AAA+C,C;;AAGxF,SAAS,WAAT,CAAqB,IAArB,EAA8B;AAC5B,SAAO,IAAI,CAAC,MAAD,CAAJ,IAAgB,OAAO,IAA9B;AACF;ACjSA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,I;AAOX,gBAAoB,cAApB,EAAsD,WAAtD,EAA8F;AAAA;;AAA1E;AANZ,oBAA2B,IAAI,WAAJ,EAA3B;AACA,4BAAqD,IAArD;AACA,4BAAqD,IAArD;AACA,wBAAqD,IAArD;AACA,wBAAqD,IAArD;AAGN,SAAK,gBAAL,GAAwB,WAAxB;AACD;AACH;AAEC;AACE;;;;;SACD,aACS,SADT,EACqB;AACnB,WAAK,QAAL,CAAc,SAAd,GAA0B,KAAK,QAAL,CAAc,IAAd,GAAqB,SAA/C;;AACA,WAAK,WAAL;AACD;AACH;AAEC;AACE;;;;SACD,aACa,WADb,EAC0D;AACxD,oBAAc,CAAC,UAAD,EAAa,WAAb,CAAd;AACA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OAAO,KAAP,KAAiB,QAArB,EAA+B;AAC7B,cAAM,wBAAwB,CAAC,aAAD,EAAgB,KAAhB,CAA9B;AACD;;AAED,aAAO,KAAK,CAAC,OAAN,CACH,gBADG,EACgB,aAAG;AAAA,eAAI,GAAG,CAAC,CAAD,CAAH,CAAO,WAAP,KAAuB,GAAG,CAAC,MAAJ,CAAW,CAAX,EAAc,WAAd,EAA3B;AAAA,OADnB,CAAP;AAED;;;;;;8BAhBF,qB,CAAI,C,EAAC;AAAC,SAAM,UAAW,aAAX,GAAN;AAAkB,C;;;;;;;;;;;;;;;AACpB,C;AAkBL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,a;;;;;;;WAOX,mBAAU,KAAV,EAAsC;AACpC,UAAI,KAAK,IAAI,IAAb,EAAmB,OAAO,IAAP;;AACnB,UAAI,OAAO,KAAP,KAAiB,QAArB,EAA+B;AAC7B,cAAM,wBAAwB,CAAC,aAAD,EAAgB,KAAhB,CAA9B;AACD;;AACD,aAAO,KAAK,CAAC,WAAN,EAAP;AACD;;;;;;8BAdF,qB,CAAI,C,EAAC;AAAC,SAAM,UAAW,aAAX,GAAN;AAAkB,C;;;;;;;;;;;;;;;AACpB,C;ACpGL;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,kCAAkC;AAChH;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gFAAgF,eAAe;AAC/F;AACA;AACA;;AAEA,GAAG,yEAAyE;AAC5E;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,GAAG,qDAAqD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,0BAA0B,mBAAmB,EAAE;AAC/C,0BAA0B,oBAAoB;AAC9C,CAAC;;AAED,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,GAAG,uDAAuD;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,GAAG,0DAA0D,kCAAkC,EAAE,GAAG;AACpG;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY,QAAQ;AACzC;AACA,0CAA0C;AAC1C,GAAG;;AAEH,KAAK,4DAA4D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;ACnTA;AAEA;AAEA;AAgDM,SAAU,UAAV,CAAwB,eAAxB,EAA8D;AAClE,SAAO,SAAS,0BAAT,CAAoC,MAApC,EAAyD;AAC9D,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,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6B;;AAE/D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iEAAiE,iCAAiC;AAClG,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;;;;;;;;;;;ACxHA,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,kBAAkB,mBAAO,CAAC,6CAAiC;;AAE3D;AACA;AACA;AACA,GAAG,kFAAkF;AACrF;AACA,CAAC;;;;;;;;;;;;ACRD,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,+BAA+B,mBAAO,CAAC,6CAAiC;;AAExE;AACA;AACA,GAAG,+DAA+D;AAClE;AACA,CAAC;;;;;;;;;;;;;ACPY;AACb,eAAe,mBAAO,CAAC,oCAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACfA,mBAAO,CAAC,+CAAmC;AAC3C,mBAAO,CAAC,uCAA2B;AACnC,mBAAO,CAAC,wDAA4C;AACpD,WAAW,mBAAO,CAAC,kCAAsB;;AAEzC;;;;;;;;;;;;;ACLA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACba;AACb,YAAY,mBAAO,CAAC,gCAAoB;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;AACb,aAAK,MAAL,CAAY,SAAZ;AACA,aAAK,SAAL,GAAiB,SAAjB;AACA,iBAAS,CAAC,WAAV;AACD;;AACD,UAAI,QAAJ,EAAc;AACZ,aAAK,KAAL,GAAa,SAAb;AACA,aAAK,QAAL,GAAgB,KAAhB;AACA,aAAK,WAAL,CAAiB,IAAjB,CAAuB,KAAvB;AACD;AACF;;;WAED,sBAAU;AACR,WAAK,aAAL;AACD;;;WAED,0BAAc;AACZ,WAAK,aAAL;AACD;;;;EAnDiC,qE;;;;;;;;;;;;ACzEvB;AACb,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,gBAAgB,mBAAO,CAAC,qCAAyB;AACjD,sBAAsB,mBAAO,CAAC,4CAAgC;AAC9D,aAAa,mBAAO,CAAC,wCAA4B;AACjD,YAAY,mBAAO,CAAC,gCAAoB;;AAExC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA;AACA,GAAG,gDAAgD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5HD;AACA;AACA;AACA;AACA;AA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,kDAAI;AA2W3E,GADV,EA1WyF;AAAA,UAoBlD;AApBkD,GA0WzF,EAtVwD;AAAA,UAJnD;AAImD,GAsVxD,EA1V+B;AAAA,UAjB1B,wDAAQ;AAiBkB,GA0V/B,EA3WiB;AAAA,UACU,sDAAQ;AADlB,GA2WjB,EA1WuC;AAAA,UAAF,mEAAqB;AAAnB,GA0WvC,EA1W8D;AAAA,UAAzD,sDAAQ;AAAiD,GA0W9D,EA1WiB;AAAA;AAAA,GA0WjB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;AA1W2C,C;;AA0zC9C,SAAS,gBAAT,CAA0B,QAA1B,EAA4C;AAC1C,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,QAAQ,CAAC,MAA7B,EAAqC,CAAC,EAAtC,EAA0C;AACxC,QAAM,GAAG,GAAG,QAAQ,CAAC,CAAD,CAApB;;AACA,QAAI,GAAG,IAAI,IAAX,EAAiB;AACf,YAAM,IAAI,KAAJ,uCAAyC,GAAzC,+BAAiE,CAAjE,EAAN;AACD;AACF;AACH;AC10CA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IAEa,U;AAsEX,sBACY,MADZ,EACoC,KADpC,EAE2B,QAF3B,EAE6C,QAF7C,EAEkE,EAFlE,EAEgF;AAAA;;AADpE;AAAwB;AAP5B,oBAAkB,EAAlB;AAC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E,kBAAV;AAA8B,cAAU,EAAE,oBAA1C;AAAgE,QAAI,EAAE,CAAC,iBAAD;AAAtE,GARK,EASL;AAAC,WAAO,EAAE,oEAAV;AAAkC,SAAK,EAAE,IAAzC;AAA+C,eAAW,EAAE;AAA5D,GATK,CAAP;AAWF;ACtlBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;;;AACA,IAAa,OAAO,GAAG,IAAI,qDAAJ,CAAY,QAAZ,CAAvB;AACC;AADqD;ACjBtD;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;ACNA;AACA;AACA;;;;;;;;;;;;;ACFA,WAAW,mBAAO,CAAC,gDAAoC;AACvD,oBAAoB,mBAAO,CAAC,yCAA6B;AACzD,eAAe,mBAAO,CAAC,oCAAwB;AAC/C,eAAe,mBAAO,CAAC,oCAAwB;AAC/C,yBAAyB,mBAAO,CAAC,+CAAmC;;AAEpE;;AAEA,qBAAqB,gEAAgE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B,+BAA+B;AAC/B,2CAA2C;AAC3C,SAAS;AACT,+BAA+B;AAC/B,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACvEA;AAAA;AAAA;AAA+F;AAChF;AACf;;AAEA;AACA,kCAAkC,qGAA0B;AAC5D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,C;;;;;;;;;;;ACxDA,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,kBAAkB,mBAAO,CAAC,sCAA0B;AACpD,aAAa,mBAAO,CAAC,wCAA4B;;AAEjD;AACA;AACA,GAAG,mDAAmD;AACtD;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPD;AAIA;AAEA;AAmFM,SAAU,iBAAV,GAC6E;AAAA,oCADxC,WACwC;AADxC,eACwC;AAAA;;AACjF,MAAI,WAAW,CAAC,MAAZ,KAAuB,CAAvB,IAA4B,6DAAO,CAAC,WAAW,CAAC,CAAD,CAAZ,CAAvC,EAAyD;AACvD,eAAW,GAA2B,WAAW,CAAC,CAAD,CAAjD;AACD;;AAED,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,yBAAJ,CAAoC,WAApC,CAAZ,CAA3B;AAAA,GAAP;AACD;AAaK,SAAU,uBAAV,GAE2B;AAAA,qCAFgB,WAEhB;AAFgB,eAEhB;AAAA;;AAC/B,MAAI,MAAM,GAAmC,SAA7C;;AAEA,MAAI,WAAW,CAAC,MAAZ,KAAuB,CAAvB,IAA4B,6DAAO,CAAC,WAAW,CAAC,CAAD,CAAZ,CAAvC,EAAyD;AACvD,eAAW,GAAG,WAAW,CAAC,CAAD,CAAzB;AACD;;AAED,QAAM,GAAG,WAAW,CAAC,KAAZ,EAAT;AAEA,SAAO,6DAAI,CAAC,MAAD,CAAJ,CAAa,IAAb,CAAkB,IAAI,yBAAJ,CAAoC,WAApC,CAAlB,CAAP;AACD;;IAEK,yB;AACJ,qCAAoB,WAApB,EAA4D;AAAA;;AAAxC;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,2BAAJ,CAAgC,UAAhC,EAA4C,KAAK,WAAjD,CAAjB,CAAP;AACD;;;;;;IAGG,2B;;;;;AACJ,uCAAsB,WAAtB,EACoB,WADpB,EAC4D;AAAA;;AAAA;;AAC1D,8BAAM,WAAN;AAFoB;AACF;AAAwC;AAE3D;;;;WAED,uBAAW;AACT,WAAK,qBAAL;AACD;;;WAED,0BAAc;AACZ,WAAK,qBAAL;AACD;;;WAES,gBAAO,GAAP,EAAe;AACvB,WAAK,qBAAL;AACA,WAAK,WAAL;AACD;;;WAES,qBAAS;AACjB,WAAK,qBAAL;AACA,WAAK,WAAL;AACD;;;WAEO,iCAAqB;AAC3B,UAAM,IAAI,GAAG,KAAK,WAAL,CAAiB,KAAjB,EAAb;;AACA,UAAI,CAAC,CAAC,IAAN,EAAY;AACV,YAAM,eAAe,GAAG,IAAI,qEAAJ,CAA0B,IAA1B,CAAxB;AACA,YAAM,WAAW,GAAG,KAAK,WAAzB;AACA,mBAAW,CAAC,GAAZ,CAAgB,eAAhB;AACA,YAAM,iBAAiB,GAAG,sEAAc,CAAC,IAAD,EAAO,eAAP,CAAxC;;AAIA,YAAI,iBAAiB,KAAK,eAA1B,EAA2C;AACzC,qBAAW,CAAC,GAAZ,CAAgB,iBAAhB;AACD;AACF,OAXD,MAWO;AACL,aAAK,WAAL,CAAiB,QAAjB;AACD;AACF;;;;EAxC6C,qE;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpIhD;AAmDM,SAAU,KAAV,GAAqC;AAAA,MAAlB,KAAkB,uEAAF,CAAC,CAAC;AACzC,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,aAAJ,CAAkB,KAAlB,EAAyB,MAAzB,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,a;AACJ,yBAAoB,KAApB,EACoB,MADpB,EACyC;AAAA;;AADrB;AACA;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,eAAJ,CAAoB,UAApB,EAAgC,KAAK,KAArC,EAA4C,KAAK,MAAjD,CAAjB,CAAP;AACD;;;;;;IAQG,e;;;;;AACJ,2BAAY,WAAZ,EACoB,KADpB,EAEoB,MAFpB,EAEyC;AAAA;;AAAA;;AACvC,8BAAM,WAAN;AAFkB;AACA;AAAqB;AAExC;;;;WACD,eAAM,GAAN,EAAc;AACZ,UAAI,CAAC,KAAK,SAAV,EAAqB;AAAA,YACX,MADW,GACO,IADP,CACX,MADW;AAAA,YACH,KADG,GACO,IADP,CACH,KADG;;AAEnB,YAAI,KAAK,KAAK,CAAd,EAAiB;AACf,8SAAmB,GAAnB;AACD,SAFD,MAEO,IAAI,KAAK,GAAG,CAAC,CAAb,EAAgB;AACrB,eAAK,KAAL,GAAa,KAAK,GAAG,CAArB;AACD;;AACD,cAAM,CAAC,SAAP,CAAiB,KAAK,sBAAL,EAAjB;AACD;AACF;;;;EAhB8B,sD;;;;;;;;;;;ACvEjC,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,kBAAkB,mBAAO,CAAC,8CAAkC;;AAE5D;AACA;AACA;AACA,GAAG,uEAAuE;AAC1E;AACA,CAAC;;;;;;;;;;;;ACRD,YAAY,mBAAO,CAAC,gCAAoB;;AAExC;AACA;AACA,wDAAwD;AACxD,CAAC;;;;;;;;;;;;;ACLY;AACb,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,kBAAkB,mBAAO,CAAC,sCAA0B;AACpD,aAAa,mBAAO,CAAC,4DAAgD;AACrE,eAAe,mBAAO,CAAC,oCAAwB;AAC/C,kBAAkB,mBAAO,CAAC,uCAA2B;AACrD,qBAAqB,mBAAO,CAAC,kDAAsC;AACnE,+BAA+B,mBAAO,CAAC,6DAAiD;;AAExF;AACA;AACA;AACA,KAAK,gDAAgD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;;;;;;;;;;;ACtBA,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,YAAY,mBAAO,CAAC,gCAAoB;;AAExC;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,GAAG,6CAA6C;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBD;AAGA;AACA;AA6DM,SAAU,GAAV,CAAiB,cAAjB,EACiB,KADjB,EAEiB,QAFjB,EAEsC;AAC1C,SAAO,SAAS,mBAAT,CAA6B,MAA7B,EAAkD;AACvD,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,UAAJ,CAAe,cAAf,EAA+B,KAA/B,EAAsC,QAAtC,CAAZ,CAAP;AACD,GAFD;AAGD;;IAEK,U;AACJ,sBAAoB,cAApB,EACoB,KADpB,EAEoB,QAFpB,EAEyC;AAAA;;AAFrB;AACA;AACA;AACnB;;;;WACD,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,aAAJ,CAAkB,UAAlB,EAA8B,KAAK,cAAnC,EAAmD,KAAK,KAAxD,EAA+D,KAAK,QAApE,CAAjB,CAAP;AACD;;;;;;IASG,a;;;;;AASJ,yBAAY,WAAZ,EACY,cADZ,EAEY,KAFZ,EAGY,QAHZ,EAGiC;AAAA;;AAAA;;AAC7B,8BAAM,WAAN;AAVI,qBAAiC,+CAAjC;AAEA,sBAAkC,+CAAlC;AAEA,yBAA6B,+CAA7B;AAOJ,UAAK,SAAL,GAAiB,KAAK,IAAI,+CAA1B;AACA,UAAK,YAAL,GAAoB,QAAQ,IAAI,+CAAhC;;AACA,QAAI,mEAAU,CAAC,cAAD,CAAd,EAAgC;AAC9B,YAAK,QAAL;AACA,YAAK,QAAL,GAAgB,cAAhB;AACD,KAHD,MAGO,IAAI,cAAJ,EAAoB;AACzB,YAAK,QAAL,GAAgB,cAAhB;AACA,YAAK,QAAL,GAAgB,cAAc,CAAC,IAAf,IAAuB,+CAAvC;AACA,YAAK,SAAL,GAAiB,cAAc,CAAC,KAAf,IAAwB,+CAAzC;AACA,YAAK,YAAL,GAAoB,cAAc,CAAC,QAAf,IAA2B,+CAA/C;AACD;;AAZ4B;AAa9B;;;;WAEH,eAAM,KAAN,EAAc;AACZ,UAAI;AACF,aAAK,QAAL,CAAc,IAAd,CAAmB,KAAK,QAAxB,EAAkC,KAAlC;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACA;AACD;;AACD,WAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAtB;AACD;;;WAED,gBAAO,GAAP,EAAe;AACb,UAAI;AACF,aAAK,SAAL,CAAe,IAAf,CAAoB,KAAK,QAAzB,EAAmC,GAAnC;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACA;AACD;;AACD,WAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACD;;;WAED,qBAAS;AACP,UAAI;AACF,aAAK,YAAL,CAAkB,IAAlB,CAAuB,KAAK,QAA5B;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACA;AACD;;AACD,aAAO,KAAK,WAAL,CAAiB,QAAjB,EAAP;AACD;;;;EAvD4B,sD;;;;;;;;;;;AC1F/B,WAAW,mBAAO,CAAC,oCAAwB;;AAE3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;AAyCM,SAAU,SAAV,CAAuB,QAAvB,EAAgD;AACpD,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,iBAAJ,CAAsB,QAAtB,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,iB;AACJ,6BAAoB,QAApB,EAA6C;AAAA;;AAAzB;AACnB;;;;WAED,cAAK,WAAL,EAAiC,MAAjC,EAA4C;AAC1C,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,mBAAJ,CAAwB,WAAxB,EAAqC,KAAK,QAA1C,CAAjB,CAAP;AACD;;;;;;IAQG,mB;;;;;AAKJ,+BAAY,WAAZ,EAAwC,QAAxC,EAAsE;AAAA;;AAAA;;AACpE,8BAAM,WAAN;AAJM,qBAAoB,KAApB;AAKN,QAAM,eAAe,GAAG,IAAI,qEAAJ,wIAAxB;;AACA,UAAK,GAAL,CAAS,eAAT;;AACA,UAAK,iBAAL,GAAyB,eAAzB;AACA,QAAM,iBAAiB,GAAG,sEAAc,CAAC,QAAD,EAAW,eAAX,CAAxC;;AAIA,QAAI,iBAAiB,KAAK,eAA1B,EAA2C;AACzC,YAAK,GAAL,CAAS,iBAAT;;AACA,YAAK,iBAAL,GAAyB,iBAAzB;AACD;;AAZmE;AAarE;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAI,KAAK,QAAT,EAAmB;AACjB,ySAAY,KAAZ;AACD;AACF;;;WAED,sBAAU;AACR,WAAK,QAAL,GAAgB,IAAhB;;AACA,UAAI,KAAK,iBAAT,EAA4B;AAC1B,aAAK,iBAAL,CAAuB,WAAvB;AACD;AACF;;;WAED,0BAAc,CAEb;;;;EAnCqC,qE;;;;;;;;;;;;AChExC;AAAA;AAAA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;ACdA,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,iBAAiB,mBAAO,CAAC,6CAAiC;;AAE1D;AACA;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA,CAAC;;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;AAIA,SAAS,mBAAT,GAA4B;AAC1B,SAAO,IAAI,gDAAJ,EAAP;AACD;;AAcK,SAAU,KAAV,GAAe;AACnB,SAAO,UAAC,MAAD;AAAA,WAA2B,0DAAQ,GAAG,4DAAS,CAAC,mBAAD,CAAT,CAA+B,MAA/B,CAAH,CAAnC;AAAA,GAAP;AACD,C;;;;;;;;;;;ACzBD,eAAe,mBAAO,CAAC,oCAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACbA,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,WAAW,mBAAO,CAAC,wCAA4B;;AAE/C;AACA;AACA,GAAG,kCAAkC;AACrC;AACA,CAAC;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AA6CM,SAAU,KAAV,GAA6C;AAAA,oCAApB,UAAoB;AAApB,cAAoB;AAAA;;AACjD,MAAM,MAAM,GAAG,UAAU,CAAC,MAA1B;;AACA,MAAI,MAAM,KAAK,CAAf,EAAkB;AAChB,UAAM,IAAI,KAAJ,CAAU,qCAAV,CAAN;AACD;;AACD,SAAO,UAAC,MAAD;AAAA,WAA2B,gDAAG,CAAC,OAAO,CAAC,UAAD,EAAa,MAAb,CAAR,CAAH,CAAiC,MAAjC,CAA3B;AAAA,GAAP;AACD;;AAED,SAAS,OAAT,CAAiB,KAAjB,EAAkC,MAAlC,EAAgD;AAC9C,MAAM,MAAM,GAAG,SAAT,MAAS,CAAC,CAAD,EAAc;AAC3B,QAAI,WAAW,GAAG,CAAlB;;AACA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAApB,EAA4B,CAAC,EAA7B,EAAiC;AAC/B,UAAM,CAAC,GAAG,WAAW,IAAI,IAAf,GAAsB,WAAW,CAAC,KAAK,CAAC,CAAD,CAAN,CAAjC,GAA8C,SAAxD;;AACA,UAAI,CAAC,KAAK,KAAK,CAAf,EAAkB;AAChB,mBAAW,GAAG,CAAd;AACD,OAFD,MAEO;AACL,eAAO,SAAP;AACD;AACF;;AACD,WAAO,WAAP;AACD,GAXD;;AAaA,SAAO,MAAP;AACD,C;;;;;;;;;;;ACrED,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,cAAc,mBAAO,CAAC,kCAAsB;AAC5C,qBAAqB,mBAAO,CAAC,0CAA8B;;AAE3D;AACA;AACA,GAAG,+BAA+B;AAClC;AACA;AACA;AACA;AACA,KAAK,GAAG,mBAAmB;AAC3B;AACA;AACA,CAAC;;;;;;;;;;;;ACdD,aAAa,mBAAO,CAAC,iCAAqB;AAC1C,WAAW,mBAAO,CAAC,sCAA0B;AAC7C,kBAAkB,mBAAO,CAAC,sCAA0B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACZD;AA2DM,SAAU,QAAV,GAAkB;AACtB,SAAO,SAAS,wBAAT,CAAkC,MAAlC,EAAkE;AACvE,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,gBAAJ,CAAqB,MAArB,CAAZ,CAAP;AAC8B,GAFhC;AAGD;;IAEK,gB;AACJ,4BAAoB,WAApB,EAAyD;AAAA;;AAArC;AACnB;;;;WACD,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AAAA,UAEjC,WAFiC,GAEjB,IAFiB,CAEjC,WAFiC;AAGlC,iBAAY,CAAC,SAAb;AAEP,UAAM,UAAU,GAAG,IAAI,kBAAJ,CAAuB,UAAvB,EAAmC,WAAnC,CAAnB;AACA,UAAM,YAAY,GAAG,MAAM,CAAC,SAAP,CAAiB,UAAjB,CAArB;;AAEA,UAAI,CAAC,UAAU,CAAC,MAAhB,EAAwB;AACf,kBAAW,CAAC,UAAZ,GAAyB,WAAW,CAAC,OAAZ,EAAzB;AACR;;AAED,aAAO,YAAP;AACD;;;;;;IAGG,kB;;;;;AAIJ,8BAAY,WAAZ,EACoB,WADpB,EACyD;AAAA;;AAAA;;AACvD,8BAAM,WAAN;AADkB;AAAqC;AAExD;;;;WAES,wBAAY;AAAA,UAEZ,WAFY,GAEI,IAFJ,CAEZ,WAFY;;AAGpB,UAAI,CAAC,WAAL,EAAkB;AAChB,aAAK,UAAL,GAAkB,IAAlB;AACA;AACD;;AAED,WAAK,WAAL,GAAmB,IAAnB;AACA,UAAM,QAAQ,GAAU,WAAY,CAAC,SAArC;;AACA,UAAI,QAAQ,IAAI,CAAhB,EAAmB;AACjB,aAAK,UAAL,GAAkB,IAAlB;AACA;AACD;;AAEM,iBAAY,CAAC,SAAb,GAAyB,QAAQ,GAAG,CAApC;;AACP,UAAI,QAAQ,GAAG,CAAf,EAAkB;AAChB,aAAK,UAAL,GAAkB,IAAlB;AACA;AACD;;AAnBmB,UA6CZ,UA7CY,GA6CG,IA7CH,CA6CZ,UA7CY;AA8CpB,UAAM,gBAAgB,GAAU,WAAY,CAAC,WAA7C;AACA,WAAK,UAAL,GAAkB,IAAlB;;AAEA,UAAI,gBAAgB,KAAK,CAAC,UAAD,IAAe,gBAAgB,KAAK,UAAzC,CAApB,EAA0E;AACxE,wBAAgB,CAAC,WAAjB;AACD;AACF;;;;EA7DiC,sD;;;;;;;;;;;;ACrFvB;AACb,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,iBAAiB,mBAAO,CAAC,0CAA8B;AACvD,uBAAuB,mBAAO,CAAC,6CAAiC;;AAEhE;AACA;;AAEA;AACA,wDAAwD,qBAAqB,EAAE;;AAE/E;AACA;AACA,GAAG,oDAAoD;AACvD;AACA;AACA;AACA,CAAC;;AAED;AACA;;;;;;;;;;;;ACpBA,QAAQ,mBAAO,CAAC,iCAAqB;;AAErC;AACA;AACA,GAAG,gCAAgC;AACnC;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACRY;AACb,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,iBAAiB,mBAAO,CAAC,sCAA0B;AACnD,6BAA6B,mBAAO,CAAC,6CAAiC;;AAEtE;AACA;AACA,GAAG,yEAAyE;AAC5E;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACXD;;;;;;;;;;;;;;;;;;;;;;;;ACEA;AA4CM,SAAU,cAAV,GAAqD;AAAA,MAAtB,YAAsB,uEAAJ,IAAI;AACzD,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,sBAAJ,CAA2B,YAA3B,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,sB;AAEJ,kCAAoB,YAApB,EAAmC;AAAA;;AAAf;AACnB;;;;WAED,cAAK,UAAL,EAAoC,MAApC,EAA+C;AAC7C,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,wBAAJ,CAA6B,UAA7B,EAAyC,KAAK,YAA9C,CAAjB,CAAP;AACD;;;;;;IAQG,wB;;;;;AAGJ,oCAAY,WAAZ,EAAoD,YAApD,EAAmE;AAAA;;AAAA;;AACjE,8BAAM,WAAN;AADkD;AAF5C,oBAAmB,IAAnB;AAE2D;AAElE;;;;WAES,eAAM,KAAN,EAAc;AACtB,WAAK,OAAL,GAAe,KAAf;AACA,WAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAtB;AACD;;;WAES,qBAAS;AACjB,UAAI,KAAK,OAAT,EAAkB;AAChB,aAAK,WAAL,CAAiB,IAAjB,CAAsB,KAAK,YAA3B;AACD;;AACD,WAAK,WAAL,CAAiB,QAAjB;AACD;;;;EAjB0C,sD;;;;;;;;;;;;ACjEhC;AACb,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,iBAAiB,mBAAO,CAAC,sCAA0B;AACnD,6BAA6B,mBAAO,CAAC,6CAAiC;;AAEtE;AACA;AACA,GAAG,2EAA2E;AAC9E;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;ACXD;AACA;AACA;AAEA;;AAEA,IAAM,QAAQ,GAAc;AAAA,SAAM,MAAM,CAAC,SAAP,CAAiB,QAAvB;AAAA,CAAD,EAA3B;;AA0KM,SAAU,SAAV,CACJ,MADI,EAEJ,SAFI,EAGJ,OAHI,EAIJ,cAJI,EAIoC;AAGxC,MAAI,mEAAU,CAAC,OAAD,CAAd,EAAyB;AAEvB,kBAAc,GAAG,OAAjB;AACA,WAAO,GAAG,SAAV;AACD;;AACD,MAAI,cAAJ,EAAoB;AAElB,WAAO,SAAS,CAAI,MAAJ,EAAY,SAAZ,EAAyD,OAAzD,CAAT,CAA2E,IAA3E,CACL,0DAAG,CAAC,cAAI;AAAA,aAAI,6DAAO,CAAC,IAAD,CAAP,GAAgB,cAAc,MAAd,qIAAkB,IAAlB,EAAhB,GAA0C,cAAc,CAAC,IAAD,CAA5D;AAAA,KAAL,CADE,CAAP;AAGD;;AAED,SAAO,IAAI,sDAAJ,CAAkB,oBAAU,EAAG;AACpC,aAAS,OAAT,CAAiB,CAAjB,EAAqB;AACnB,UAAI,SAAS,CAAC,MAAV,GAAmB,CAAvB,EAA0B;AACxB,kBAAU,CAAC,IAAX,CAAgB,KAAK,CAAC,SAAN,CAAgB,KAAhB,CAAsB,IAAtB,CAA2B,SAA3B,CAAhB;AACD,OAFD,MAEO;AACL,kBAAU,CAAC,IAAX,CAAgB,CAAhB;AACD;AACF;;AACD,qBAAiB,CAAC,MAAD,EAAS,SAAT,EAAoB,OAApB,EAA6B,UAA7B,EAAyC,OAAzC,CAAjB;AACD,GATM,CAAP;AAUD;;AAED,SAAS,iBAAT,CAA8B,SAA9B,EAA6D,SAA7D,EAC8B,OAD9B,EACiE,UADjE,EAE8B,OAF9B,EAE4D;AAC1D,MAAI,WAAJ;;AACA,MAAI,aAAa,CAAC,SAAD,CAAjB,EAA8B;AAC5B,QAAM,MAAM,GAAG,SAAf;AACA,aAAS,CAAC,gBAAV,CAA2B,SAA3B,EAAsC,OAAtC,EAA+C,OAA/C;;AACA,eAAW,GAAG;AAAA,aAAM,MAAM,CAAC,mBAAP,CAA2B,SAA3B,EAAsC,OAAtC,EAA+C,OAA/C,CAAN;AAAA,KAAd;AACD,GAJD,MAIO,IAAI,yBAAyB,CAAC,SAAD,CAA7B,EAA0C;AAC/C,QAAM,OAAM,GAAG,SAAf;AACA,aAAS,CAAC,EAAV,CAAa,SAAb,EAAwB,OAAxB;;AACA,eAAW,GAAG;AAAA,aAAM,OAAM,CAAC,GAAP,CAAW,SAAX,EAAsB,OAAtB,CAAN;AAAA,KAAd;AACD,GAJM,MAIA,IAAI,uBAAuB,CAAC,SAAD,CAA3B,EAAwC;AAC7C,QAAM,QAAM,GAAG,SAAf;AACA,aAAS,CAAC,WAAV,CAAsB,SAAtB,EAAiC,OAAjC;;AACA,eAAW,GAAG;AAAA,aAAM,QAAM,CAAC,cAAP,CAAsB,SAAtB,EAAiC,OAAjC,CAAN;AAAA,KAAd;AACD,GAJM,MAIA,IAAI,SAAS,IAAK,SAAiB,CAAC,MAApC,EAA4C;AACjD,SAAK,IAAI,CAAC,GAAG,CAAR,EAAW,GAAG,GAAI,SAAiB,CAAC,MAAzC,EAAiD,CAAC,GAAG,GAArD,EAA0D,CAAC,EAA3D,EAA+D;AAC7D,uBAAiB,CAAC,SAAS,CAAC,CAAD,CAAV,EAAe,SAAf,EAA0B,OAA1B,EAAmC,UAAnC,EAA+C,OAA/C,CAAjB;AACD;AACF,GAJM,MAIA;AACL,UAAM,IAAI,SAAJ,CAAc,sBAAd,CAAN;AACD;;AAED,YAAU,CAAC,GAAX,CAAe,WAAf;AACD;;AAED,SAAS,uBAAT,CAAiC,SAAjC,EAA+C;AAC7C,SAAO,SAAS,IAAI,OAAO,SAAS,CAAC,WAAjB,KAAiC,UAA9C,IAA4D,OAAO,SAAS,CAAC,cAAjB,KAAoC,UAAvG;AACD;;AAED,SAAS,yBAAT,CAAmC,SAAnC,EAAiD;AAC/C,SAAO,SAAS,IAAI,OAAO,SAAS,CAAC,EAAjB,KAAwB,UAArC,IAAmD,OAAO,SAAS,CAAC,GAAjB,KAAyB,UAAnF;AACD;;AAED,SAAS,aAAT,CAAuB,SAAvB,EAAqC;AACnC,SAAO,SAAS,IAAI,OAAO,SAAS,CAAC,gBAAjB,KAAsC,UAAnD,IAAiE,OAAO,SAAS,CAAC,mBAAjB,KAAyC,UAAjH;AACD,C;;;;;;;;;;;ACpPD,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;ACJA,aAAa,mBAAO,CAAC,iCAAqB;AAC1C,gBAAgB,mBAAO,CAAC,qCAAyB;;AAEjD;AACA,kDAAkD;;AAElD;;;;;;;;;;;;;ACNA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AAEM,SAAU,SAAV,CAAuB,KAAvB,EAA4C,SAA5C,EAAqE;AACzE,MAAI,CAAC,SAAL,EAAgB;AACd,WAAO,IAAI,sDAAJ,CAAkB,+EAAgB,CAAC,KAAD,CAAlC,CAAP;AACD,GAFD,MAEO;AACL,WAAO,8EAAa,CAAC,KAAD,EAAQ,SAAR,CAApB;AACD;AACF,C;;;;;;;;;;;;ACXD;AAAA;AAAA;AAAA;AAgDM,SAAU,GAAV,CAAiB,QAAjB,EAAkD;AACtD,MAAM,GAAG,GAAuB,OAAO,QAAP,KAAoB,UAArB,GAC3B,UAAC,CAAD,EAAI,CAAJ;AAAA,WAAU,QAAQ,CAAC,CAAD,EAAI,CAAJ,CAAR,GAAiB,CAAjB,GAAqB,CAArB,GAAyB,CAAnC;AAAA,GAD2B,GAE3B,UAAC,CAAD,EAAI,CAAJ;AAAA,WAAU,CAAC,GAAG,CAAJ,GAAQ,CAAR,GAAY,CAAtB;AAAA,GAFJ;AAIA,SAAO,sDAAM,CAAC,GAAD,CAAb;AACD,C;;;;;;;;;;;ACtDD,YAAY,mBAAO,CAAC,gCAAoB;AACxC,kBAAkB,mBAAO,CAAC,sCAA0B;;AAEpD;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACXA,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,YAAY,mBAAO,CAAC,gCAAoB;AACxC,eAAe,mBAAO,CAAC,oCAAwB;;AAE/C;AACA;AACA,6CAA6C,kBAAkB,EAAE;;AAEjE;AACA;AACA,GAAG,4DAA4D;AAC/D;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACdY;AACb,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,iBAAiB,mBAAO,CAAC,sCAA0B;AACnD,6BAA6B,mBAAO,CAAC,6CAAiC;;AAEtE;AACA;AACA,GAAG,yEAAyE;AAC5E;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACXY;AACb;AACA,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,eAAe,mBAAO,CAAC,yCAA6B;AACpD,0BAA0B,mBAAO,CAAC,iDAAqC;;AAEvE;;AAEA;AACA;;AAEA;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACpBD,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,YAAY,mBAAO,CAAC,qCAAyB;;AAE7C;AACA;AACA,GAAG,6BAA6B,GAAG,eAAe;;;;;;;;;;;;ACLlD,UAAU,mBAAO,CAAC,8BAAkB;AACpC,sBAAsB,mBAAO,CAAC,4CAAgC;AAC9D,cAAc,mBAAO,CAAC,yCAA6B;AACnD,iBAAiB,mBAAO,CAAC,sCAA0B;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AChBa;AACb,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,gBAAgB,mBAAO,CAAC,yCAA6B;AACrD,uBAAuB,mBAAO,CAAC,6CAAiC;;AAEhE;AACA;AACA,GAAG,+BAA+B;AAClC;AACA;AACA;AACA,CAAC;;AAED;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACRA;AAOO,IAAM,qBAAqB,GAAmB;AACnD,SAAO,EAAE,IAD0C;AAEnD,UAAQ,EAAE;AAFyC,CAA9C;AAmDD,SAAU,QAAV,CAAsB,gBAAtB,EACoE;AAAA,MAA9C,MAA8C,uEAArB,qBAAqB;AACxE,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,gBAAJ,CAAqB,gBAArB,EAAuC,CAAC,CAAC,MAAM,CAAC,OAAhD,EAAyD,CAAC,CAAC,MAAM,CAAC,QAAlE,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,gB;AACJ,4BAAoB,gBAApB,EACoB,OADpB,EAEoB,QAFpB,EAEqC;AAAA;;AAFjB;AACA;AACA;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CACL,IAAI,kBAAJ,CAAuB,UAAvB,EAAmC,KAAK,gBAAxC,EAA0D,KAAK,OAA/D,EAAwE,KAAK,QAA7E,CADK,CAAP;AAGD;;;;;;IAQG,kB;;;;;AAKJ,8BAAsB,WAAtB,EACoB,gBADpB,EAEoB,QAFpB,EAGoB,SAHpB,EAGsC;AAAA;;AAAA;;AACpC,8BAAM,WAAN;AAJoB;AACF;AACA;AACA;AALZ,sBAAY,KAAZ;AAK8B;AAErC;;;;WAES,eAAM,KAAN,EAAc;AACtB,WAAK,SAAL,GAAiB,IAAjB;AACA,WAAK,UAAL,GAAkB,KAAlB;;AAEA,UAAI,CAAC,KAAK,UAAV,EAAsB;AACpB,YAAI,KAAK,QAAT,EAAmB;AACjB,eAAK,IAAL;AACD,SAFD,MAEO;AACL,eAAK,QAAL,CAAc,KAAd;AACD;AACF;AACF;;;WAEO,gBAAI;AAAA,UACF,SADE,GACwB,IADxB,CACF,SADE;AAAA,UACS,UADT,GACwB,IADxB,CACS,UADT;;AAEV,UAAI,SAAJ,EAAe;AACb,aAAK,WAAL,CAAiB,IAAjB,CAAsB,UAAtB;AACA,aAAK,QAAL,CAAc,UAAd;AACD;;AACD,WAAK,SAAL,GAAiB,KAAjB;AACA,WAAK,UAAL,GAAkB,SAAlB;AACD;;;WAEO,kBAAS,KAAT,EAAiB;AACvB,UAAM,QAAQ,GAAG,KAAK,mBAAL,CAAyB,KAAzB,CAAjB;;AACA,UAAI,CAAC,CAAC,QAAN,EAAgB;AACd,aAAK,GAAL,CAAS,KAAK,UAAL,GAAkB,sEAAc,CAAC,QAAD,EAAW,IAAI,qEAAJ,CAA0B,IAA1B,CAAX,CAAzC;AACD;AACF;;;WAEO,6BAAoB,KAApB,EAA4B;AAClC,UAAI;AACF,eAAO,KAAK,gBAAL,CAAsB,KAAtB,CAAP;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACA,eAAO,IAAP;AACD;AACF;;;WAEO,0BAAc;AAAA,UACZ,UADY,GACc,IADd,CACZ,UADY;AAAA,UACA,SADA,GACc,IADd,CACA,SADA;;AAEpB,UAAI,UAAJ,EAAgB;AACd,kBAAU,CAAC,WAAX;AACD;;AACD,WAAK,UAAL,GAAkB,SAAlB;;AAEA,UAAI,SAAJ,EAAe;AACb,aAAK,IAAL;AACD;AACF;;;WAED,sBAAU;AACR,WAAK,cAAL;AACD;;;WAED,0BAAc;AACZ,WAAK,cAAL;AACD;;;;EArEoC,qE;;;;;;;;;;;ACvFvC,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,WAAW,mBAAO,CAAC,qCAAyB;AAC5C,uBAAuB,mBAAO,CAAC,6CAAiC;;AAEhE;AACA;AACA,GAAG,+BAA+B;AAClC;AACA,CAAC;;AAED;AACA;;;;;;;;;;;;;ACTA;AAAA;AAAM,SAAU,WAAV,CAAsB,KAAtB,EAAgC;AACpC,SAAO,KAAK,IAAI,OAAa,KAAM,CAAC,QAApB,KAAiC,UAAjD;AACD,C;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAoEM,SAAU,UAAV,CAAqB,KAArB,EAAiC,SAAjC,EAA0D;AAC9D,MAAI,CAAC,SAAL,EAAgB;AACd,WAAO,IAAI,sDAAJ,CAAe,oBAAU;AAAA,aAAI,UAAU,CAAC,KAAX,CAAiB,KAAjB,CAAJ;AAAA,KAAzB,CAAP;AACD,GAFD,MAEO;AACL,WAAO,IAAI,sDAAJ,CAAe,oBAAU;AAAA,aAAI,SAAS,CAAC,QAAV,CAAmB,QAAnB,EAA6B,CAA7B,EAAgC;AAAE,aAAK,EAAL,KAAF;AAAS,kBAAU,EAAV;AAAT,OAAhC,CAAJ;AAAA,KAAzB,CAAP;AACD;AACF;;AAOD,SAAS,QAAT,OAAoD;AAAA,MAAhC,KAAgC,QAAhC,KAAgC;AAAA,MAAzB,UAAyB,QAAzB,UAAyB;AAClD,YAAU,CAAC,KAAX,CAAiB,KAAjB;AACD,C;;;;;;;;;;;ACnFD,aAAa,mBAAO,CAAC,iCAAqB;AAC1C,eAAe,mBAAO,CAAC,oCAAwB;;AAE/C;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;ACTa;AACb,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,iBAAiB,mBAAO,CAAC,sCAA0B;AACnD,6BAA6B,mBAAO,CAAC,6CAAiC;;AAEtE;AACA;AACA,GAAG,wEAAwE;AAC3E;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACXD,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,aAAa,mBAAO,CAAC,wCAA4B;;AAEjD;AACA;AACA;AACA,GAAG,iEAAiE;AACpE;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACPD;AAeM,SAAU,IAAV,CAAkB,KAAlB,EAA+B;AACnC,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,YAAJ,CAAiB,KAAjB,CAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,Y;AACJ,wBAAoB,KAApB,EAAiC;AAAA;;AAAb;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,cAAJ,CAAmB,UAAnB,EAA+B,KAAK,KAApC,CAAjB,CAAP;AACD;;;;;;IAQG,c;;;;;AAGJ,0BAAY,WAAZ,EAAgD,KAAhD,EAA6D;AAAA;;AAAA;;AAC3D,8BAAM,WAAN;AAD8C;AAFhD,kBAAgB,CAAhB;AAE6D;AAE5D;;;;WAES,eAAM,CAAN,EAAU;AAClB,UAAI,EAAE,KAAK,KAAP,GAAe,KAAK,KAAxB,EAA+B;AAC7B,aAAK,WAAL,CAAiB,IAAjB,CAAsB,CAAtB;AACD;AACF;;;;EAX6B,sD;;;;;;;;;;;AClChC,aAAa,mBAAO,CAAC,iCAAqB;AAC1C,kCAAkC,mBAAO,CAAC,yDAA6C;;AAEvF;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;;;;;;ACRA;AAEA,IAAa,uBAAb;AAAA,EAAE;;AAAF;;AAAA;AAAA,IAAI;;AAAJ;AAAA;;AAAA,EAAE;AAAF;AAAA,WACS,eAAM,MAAN,EAA+B;AAEpC,WAAK,MAAL,GAAc,IAAd;AACA,WAAK,SAAL,GAAiB,SAAjB;AAHoC,UAK7B,OAL6B,GAKlB,IALkB,CAK7B,OAL6B;AAMpC,UAAI,KAAJ;AACA,UAAI,KAAK,GAAW,CAAC,CAArB;AACA,UAAI,KAAK,GAAW,OAAO,CAAC,MAA5B;AACA,YAAM,GAAG,MAAM,IAAI,OAAO,CAAC,KAAR,EAAnB;;AAEA,SAAG;AACD,YAAI,KAAK,GAAG,MAAM,CAAC,OAAP,CAAe,MAAM,CAAC,KAAtB,EAA6B,MAAM,CAAC,KAApC,CAAZ,EAAwD;AACtD;AACD;AACF,OAJD,QAIS,EAAE,KAAF,GAAU,KAAV,KAAoB,MAAM,GAAG,OAAO,CAAC,KAAR,EAA7B,CAJT;;AAMA,WAAK,MAAL,GAAc,KAAd;;AAEA,UAAI,KAAJ,EAAW;AACT,eAAO,EAAE,KAAF,GAAU,KAAV,KAAoB,MAAM,GAAG,OAAO,CAAC,KAAR,EAA7B,CAAP,EAAsD;AACpD,gBAAM,CAAC,WAAP;AACD;;AACD,cAAM,KAAN;AACD;AACF;AA1BH;;AAAA;AAAA,EAA6C,8DAA7C,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AAEA;AAiEM,SAAU,cAAV,GAAoG;AAAA,oCAAlE,IAAkE;AAAlE,QAAkE;AAAA;;AACxG,SAAO,UAAC,MAAD,EAA0B;AAC/B,QAAI,OAAJ;;AACA,QAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAL,GAAc,CAAf,CAAX,KAAiC,UAArC,EAAiD;AAC/C,aAAO,GAAG,IAAI,CAAC,GAAL,EAAV;AACD;;AACD,QAAM,WAAW,GAAsB,IAAvC;AACA,WAAO,MAAM,CAAC,IAAP,CAAY,IAAI,sBAAJ,CAA2B,WAA3B,EAAwC,OAAxC,CAAZ,CAAP;AACD,GAPD;AAQD;;IAEK,sB;AACJ,kCAAoB,WAApB,EACoB,OADpB,EACiE;AAAA;;AAD7C;AACA;AACnB;;;;WAED,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,wBAAJ,CAA6B,UAA7B,EAAyC,KAAK,WAA9C,EAA2D,KAAK,OAAhE,CAAjB,CAAP;AACD;;;;;;IAQG,wB;;;;;AAIJ,oCAAY,WAAZ,EACoB,WADpB,EAEoB,OAFpB,EAEiE;AAAA;;AAAA;;AAC/D,8BAAM,WAAN;AAFkB;AACA;AAJZ,sBAAsB,EAAtB;AAMN,QAAM,GAAG,GAAG,WAAW,CAAC,MAAxB;AACA,UAAK,MAAL,GAAc,IAAI,KAAJ,CAAU,GAAV,CAAd;;AAEA,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,CAAC,EAA1B,EAA8B;AAC5B,YAAK,SAAL,CAAe,IAAf,CAAoB,CAApB;AACD;;AAED,SAAK,IAAI,EAAC,GAAG,CAAb,EAAgB,EAAC,GAAG,GAApB,EAAyB,EAAC,EAA1B,EAA8B;AAC5B,UAAI,UAAU,GAAG,WAAW,CAAC,EAAD,CAA5B;;AACA,YAAK,GAAL,CAAS,iFAAiB,yIAAa,UAAb,EAAyB,SAAzB,EAAoC,EAApC,CAA1B;AACD;;AAZ8D;AAahE;;;;WAED,oBAAW,WAAX,EAA2B,UAA3B,EACW,UADX,EAC6B;AAC3B,WAAK,MAAL,CAAY,UAAZ,IAA0B,UAA1B;AACA,UAAM,SAAS,GAAG,KAAK,SAAvB;;AACA,UAAI,SAAS,CAAC,MAAV,GAAmB,CAAvB,EAA0B;AACxB,YAAM,KAAK,GAAG,SAAS,CAAC,OAAV,CAAkB,UAAlB,CAAd;;AACA,YAAI,KAAK,KAAK,CAAC,CAAf,EAAkB;AAChB,mBAAS,CAAC,MAAV,CAAiB,KAAjB,EAAwB,CAAxB;AACD;AACF;AACF;;;WAED,0BAAc,CAEb;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAI,KAAK,SAAL,CAAe,MAAf,KAA0B,CAA9B,EAAiC;AAC/B,YAAM,IAAI,IAAI,KAAJ,qIAAc,KAAK,MAAnB,EAAV;;AACA,YAAI,KAAK,OAAT,EAAkB;AAChB,eAAK,WAAL,CAAiB,IAAjB;AACD,SAFD,MAEO;AACL,eAAK,WAAL,CAAiB,IAAjB,CAAuB,IAAvB;AACD;AACF;AACF;;;WAEO,qBAAY,IAAZ,EAAuB;AAC7B,UAAI,MAAJ;;AACA,UAAI;AACF,cAAM,GAAG,KAAK,OAAL,CAAc,KAAd,CAAoB,IAApB,EAA0B,IAA1B,CAAT;AACD,OAFD,CAEE,OAAO,GAAP,EAAY;AACZ,aAAK,WAAL,CAAiB,KAAjB,CAAwB,GAAxB;AACA;AACD;;AACD,WAAK,WAAL,CAAiB,IAAjB,CAAuB,MAAvB;AACD;;;;EAzD0C,gE;;;;;;;;;;;;;;;;;;;;;;;AC5F7C;AAiDM,SAAU,OAAV,GAAiB;AACrB,SAAO,UAAC,MAAD;AAAA,WAA2B,MAAM,CAAC,IAAP,CAAY,IAAI,mBAAJ,EAAZ,CAA3B;AAAA,GAAP;AACD;;IAEK,mB;;;;;;;WACJ,cAAK,UAAL,EAAgC,MAAhC,EAA2C;AACzC,aAAO,MAAM,CAAC,SAAP,CAAiB,IAAI,qBAAJ,CAA0B,UAA1B,CAAjB,CAAP;AACD;;;;;;IAQG,qB;;;;;AAIJ,iCAAY,WAAZ,EAAsC;AAAA;;AAAA;;AACpC,8BAAM,WAAN;AAJM,yBAAwB,KAAxB;AACA,4BAA2B,KAA3B;AAE8B;AAErC;;;;WAES,eAAM,KAAN,EAAc;AACtB,UAAI,CAAC,KAAK,eAAV,EAA2B;AACzB,aAAK,eAAL,GAAuB,IAAvB;AACA,aAAK,GAAL,CAAS,sEAAc,CAAC,KAAD,EAAQ,IAAI,qEAAJ,CAA0B,IAA1B,CAAR,CAAvB;AACD;AACF;;;WAES,qBAAS;AACjB,WAAK,YAAL,GAAoB,IAApB;;AACA,UAAI,CAAC,KAAK,eAAV,EAA2B;AACzB,aAAK,WAAL,CAAiB,QAAjB;AACD;AACF;;;WAED,0BAAc;AACZ,WAAK,eAAL,GAAuB,KAAvB;;AACA,UAAI,KAAK,YAAT,EAAuB;AACrB,aAAK,WAAL,CAAiB,QAAjB;AACD;AACF;;;;EA3BoC,qE;;;;;;;;;;;ACpEvC,QAAQ,mBAAO,CAAC,iCAAqB;AACrC,eAAe,mBAAO,CAAC,oCAAwB;AAC/C,eAAe,mBAAO,CAAC,4CAAgC;AACvD,eAAe,mBAAO,CAAC,mCAAuB;AAC9C,YAAY,mBAAO,CAAC,gCAAoB;;AAExC;AACA;AACA,6CAA6C,uBAAuB,EAAE;;AAEtE;AACA;AACA,GAAG,6EAA6E;AAChF;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdD;AACA;AACA;AAmBA,IAAa,qBAAb;AAAA,EAAE;;AAAF;;AACE,iCAAoB,MAApB,EAA0D;AAAA;;AAAA;;AACxD;AADkB;AAAsC;AAEzD;;AAHH,EAAE;AAAF;AAAA,WAKY,eAAM,KAAN,EAAc;AACtB,WAAK,MAAL,CAAY,UAAZ,CAAuB,KAAvB;AACD;AAPH;AAAA;AAAA,WASY,gBAAO,KAAP,EAAiB;AACzB,WAAK,MAAL,CAAY,WAAZ,CAAwB,KAAxB;AACA,WAAK,WAAL;AACD;AAZH;AAAA;AAAA,WAcY,qBAAS;AACjB,WAAK,MAAL,CAAY,cAAZ;AACA,WAAK,WAAL;AACD;AAjBH;;AAAA;AAAA,EAA8C,sDAA9C;AAoBA,IAAa,sBAAb;AAAA,EAAE;;AAAF;;AACE,kCAAoB,MAApB,EAAiE,UAAjE,EAAuF,UAAvF,EAAyG;AAAA;;AAAA;;AACvG;AADkB;AAA6C;AAAsB;AAAkB;AAExG;;AAHH,EAAE;AAAF;AAAA,WAKY,eAAM,KAAN,EAAc;AACtB,WAAK,MAAL,CAAY,UAAZ,CAAuB,KAAK,UAA5B,EAAwC,KAAxC,EAA+C,KAAK,UAApD,EAAgE,IAAhE;AACD;AAPH;AAAA;AAAA,WASY,gBAAO,KAAP,EAAiB;AACzB,WAAK,MAAL,CAAY,WAAZ,CAAwB,KAAxB;AACA,WAAK,WAAL;AACD;AAZH;AAAA;AAAA,WAcY,qBAAS;AACjB,WAAK,MAAL,CAAY,cAAZ,CAA2B,IAA3B;AACA,WAAK,WAAL;AACD;AAjBH;;AAAA;AAAA,EAAkD,sDAAlD;AAoBA,IAAa,qBAAb;AAAA,EAAE;;AAAF;;AAAA;AAAA,IAAI;;AAAJ;AAAA;;AAAA,EAAE;AAAF;AAAA,WACE,oBAAW,UAAX,EAAwB;AACtB,WAAK,WAAL,CAAiB,IAAjB,CAAsB,UAAtB;AACD;AAHH;AAAA;AAAA,WAKE,qBAAY,GAAZ,EAAoB;AAClB,WAAK,WAAL,CAAiB,KAAjB,CAAuB,GAAvB;AACD;AAPH;AAAA;AAAA,WASE,0BAAc;AACZ,WAAK,WAAL,CAAiB,QAAjB;AACD;AAXH;;AAAA;AAAA,EAAiD,sDAAjD;AAmBA,IAAa,sBAAb;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA,WAOE,oBAAW,WAAX,EAA2B,UAA3B,EAA0C,WAA1C,EAA+D,SAA/D,EAAsG;AACpG,WAAK,WAAL,CAAiB,IAAjB,CAAsB,UAAtB;AACD;AATH;AAAA;AAAA,WAWE,qBAAY,KAAZ,EAAsB;AACpB,WAAK,WAAL,CAAiB,KAAjB,CAAuB,KAAvB;AACD;AAbH;AAAA;AAAA,WAkBE,wBAAe,SAAf,EAAsD;AACpD,WAAK,WAAL,CAAiB,QAAjB;AACD;AApBH;;AAAA;AAAA,EAAkD,sDAAlD;AAuBM,SAAU,cAAV,CAAyB,MAAzB,EAAsC,eAAtC,EAAsE;AAC1E,MAAI,eAAe,CAAC,MAApB,EAA4B;AAC1B,WAAO,SAAP;AACD;;AACD,MAAI,MAAM,YAAY,sDAAtB,EAAkC;AAChC,WAAO,MAAM,CAAC,SAAP,CAAiB,eAAjB,CAAP;AACD;;AACD,MAAI,YAAJ;;AACA,MAAI;AACF,gBAAY,GAAG,qEAAW,CAAC,MAAD,CAAX,CAAoB,eAApB,CAAf;AACD,GAFD,CAEE,OAAO,KAAP,EAAc;AACd,mBAAe,CAAC,KAAhB,CAAsB,KAAtB;AACD;;AACD,SAAO,YAAP;AACD,C","file":"vendor.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n$({ global: true }, { Reflect: {} });\n\n// Reflect[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-reflect-@@tostringtag\nsetToStringTag(global.Reflect, 'Reflect', true);\n","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","var $ = require('../internals/export');\nvar expm1 = require('../internals/math-expm1');\n\n// eslint-disable-next-line es/no-math-cosh -- required for testing\nvar $cosh = Math.cosh;\nvar abs = Math.abs;\nvar E = Math.E;\n\n// `Math.cosh` method\n// https://tc39.es/ecma262/#sec-math.cosh\n$({ target: 'Math', stat: true, forced: !$cosh || $cosh(710) === Infinity }, {\n cosh: function cosh(x) {\n var t = expm1(abs(x) - 1) + 1;\n return (t + 1 / (t * E * E)) * (E / 2);\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","import { Subscriber } from '../Subscriber';\nimport { empty } from '../observable/empty';\nexport function repeat(count = -1) {\n return (source) => {\n if (count === 0) {\n return empty();\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}\nclass RepeatOperator {\n constructor(count, source) {\n this.count = count;\n this.source = source;\n }\n call(subscriber, source) {\n return source.subscribe(new RepeatSubscriber(subscriber, this.count, this.source));\n }\n}\nclass RepeatSubscriber extends Subscriber {\n constructor(destination, count, source) {\n super(destination);\n this.count = count;\n this.source = source;\n }\n complete() {\n if (!this.isStopped) {\n const { source, count } = this;\n if (count === 0) {\n return super.complete();\n }\n else if (count > -1) {\n this.count = count - 1;\n }\n source.subscribe(this._unsubscribeAndRecycle());\n }\n }\n}\n//# sourceMappingURL=repeat.js.map","import { Subscriber } from '../Subscriber';\nexport function distinctUntilChanged(compare, keySelector) {\n return (source) => source.lift(new DistinctUntilChangedOperator(compare, keySelector));\n}\nclass DistinctUntilChangedOperator {\n constructor(compare, keySelector) {\n this.compare = compare;\n this.keySelector = keySelector;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctUntilChangedSubscriber(subscriber, this.compare, this.keySelector));\n }\n}\nclass DistinctUntilChangedSubscriber extends Subscriber {\n constructor(destination, compare, keySelector) {\n super(destination);\n this.keySelector = keySelector;\n this.hasKey = false;\n if (typeof compare === 'function') {\n this.compare = compare;\n }\n }\n compare(x, y) {\n return x === y;\n }\n _next(value) {\n let key;\n try {\n const { keySelector } = this;\n key = keySelector ? keySelector(value) : value;\n }\n catch (err) {\n return this.destination.error(err);\n }\n let result = false;\n if (this.hasKey) {\n try {\n const { compare } = this;\n result = compare(this.key, key);\n }\n catch (err) {\n return this.destination.error(err);\n }\n }\n else {\n this.hasKey = true;\n }\n if (!result) {\n this.key = key;\n this.destination.next(value);\n }\n }\n}\n//# sourceMappingURL=distinctUntilChanged.js.map","import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function distinct(keySelector, flushes) {\n return (source) => source.lift(new DistinctOperator(keySelector, flushes));\n}\nclass DistinctOperator {\n constructor(keySelector, flushes) {\n this.keySelector = keySelector;\n this.flushes = flushes;\n }\n call(subscriber, source) {\n return source.subscribe(new DistinctSubscriber(subscriber, this.keySelector, this.flushes));\n }\n}\nexport class DistinctSubscriber extends SimpleOuterSubscriber {\n constructor(destination, keySelector, flushes) {\n super(destination);\n this.keySelector = keySelector;\n this.values = new Set();\n if (flushes) {\n this.add(innerSubscribe(flushes, new SimpleInnerSubscriber(this)));\n }\n }\n notifyNext() {\n this.values.clear();\n }\n notifyError(error) {\n this._error(error);\n }\n _next(value) {\n if (this.keySelector) {\n this._useKeySelector(value);\n }\n else {\n this._finalizeNext(value, value);\n }\n }\n _useKeySelector(value) {\n let key;\n const { destination } = this;\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 _finalizeNext(key, value) {\n const { values } = this;\n if (!values.has(key)) {\n values.add(key);\n this.destination.next(value);\n }\n }\n}\n//# sourceMappingURL=distinct.js.map","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { isFunction } from '../util/isFunction';\nimport { map } from '../operators/map';\nexport function fromEventPattern(addHandler, removeHandler, resultSelector) {\n if (resultSelector) {\n return fromEventPattern(addHandler, removeHandler).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n return new Observable(subscriber => {\n const handler = (...e) => subscriber.next(e.length === 1 ? e[0] : e);\n let retValue;\n try {\n retValue = addHandler(handler);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!isFunction(removeHandler)) {\n return undefined;\n }\n return () => removeHandler(handler, retValue);\n });\n}\n//# sourceMappingURL=fromEventPattern.js.map","import { ReplaySubject } from '../ReplaySubject';\nimport { multicast } from './multicast';\nexport function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) {\n if (selectorOrScheduler && typeof selectorOrScheduler !== 'function') {\n scheduler = selectorOrScheduler;\n }\n const selector = typeof selectorOrScheduler === 'function' ? selectorOrScheduler : undefined;\n const subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n return (source) => multicast(() => subject, selector)(source);\n}\n//# sourceMappingURL=publishReplay.js.map","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","import { concat } from '../observable/concat';\nimport { of } from '../observable/of';\nexport function endWith(...array) {\n return (source) => concat(source, of(...array));\n}\n//# sourceMappingURL=endWith.js.map","/**\n* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes\n* (c) 2010-2020 Google LLC. https://angular.io/\n* License: MIT\n*/\n(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () {\n 'use strict';\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) { performance && performance['mark'] && performance['mark'](name); }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n var symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n var checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () { return _currentZoneFrame.zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () { return _currentTask; },\n enumerable: true,\n configurable: true\n });\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () { return this._parent; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () { return this._name; },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n return Zone;\n }());\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) { return delegate.scheduleTask(target, task); },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS =\n zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt = zoneSpec &&\n (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone = zoneSpec &&\n (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ?\n this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ?\n this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ?\n this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n // tslint:disable-next-line:require-internal-with-underscore\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () { return this._zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () { return this._state; },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () { this._transitionTo(notScheduled, scheduling); };\n // tslint:disable-next-line:require-internal-with-underscore\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n patchMacroTask: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n patchEventPrototype: function () { return noop; },\n isIEOrEdge: function () { return false; },\n getGlobalObjects: function () { return undefined; },\n ObjectDefineProperty: function () { return noop; },\n ObjectGetOwnPropertyDescriptor: function () { return undefined; },\n ObjectCreate: function () { return undefined; },\n ArraySlice: function () { return []; },\n patchClass: function () { return noop; },\n wrapWithCurrentZone: function () { return noop; },\n filterProperties: function () { return []; },\n attachOriginToPatched: function () { return noop; },\n _redefineProperty: function () { return noop; },\n patchCallbacks: function () { return noop; }\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n })(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () { throw uncaughtPromiseError; });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) { return value && value.then; }\n function forwardResolution(value) { return value; }\n function forwardRejection(rejection) { return ZoneAwarePromise.reject(rejection); }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () { resolvePromise(promise, false, err); })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () { resolvePromise(promise, false, err); })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n var uncaughtPromiseError = value;\n if (!isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // and the rejected value is an Error object,\n // use the value instead of wrapping it.\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var noop = function () { };\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () { return ZONE_AWARE_PROMISE_TO_STRING; };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) { resolve(value); }\n function onReject(error) { reject(error); }\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var value = values_1[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) { return ZoneAwarePromise.allWithCallback(values); };\n ZoneAwarePromise.allSettled = function (values) {\n var P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: function (value) { return ({ status: 'fulfilled', value: value }); },\n errorCallback: function (err) { return ({ status: 'rejected', reason: err }); }\n });\n };\n ZoneAwarePromise.allWithCallback = function (values, callback) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n try {\n value.then(function (value) {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, function (err) {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {\n var value = values_2[_i];\n _loop_2(value);\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.toStringTag, {\n get: function () { return 'Promise'; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.species, {\n get: function () { return ZoneAwarePromise; },\n enumerable: true,\n configurable: true\n });\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) { originalThen.call(_this, resolve, reject); });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function () {\n var resultPromise = fn.apply(this, arguments);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n var ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n var fetch_1 = global['fetch'];\n if (typeof fetch_1 == 'function') {\n global[api.symbol('fetch')] = fetch_1;\n global['fetch'] = zoneify(fetch_1);\n }\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n /// \n // issue #989, to reduce bundle size, use short name\n /** Object.getOwnPropertyDescriptor */\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n /** Object.defineProperty */\n var ObjectDefineProperty = Object.defineProperty;\n /** Object.getPrototypeOf */\n var ObjectGetPrototypeOf = Object.getPrototypeOf;\n /** Object.create */\n var ObjectCreate = Object.create;\n /** Array.prototype.slice */\n var ArraySlice = Array.prototype.slice;\n /** addEventListener string const */\n var ADD_EVENT_LISTENER_STR = 'addEventListener';\n /** removeEventListener string const */\n var REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n /** zoneSymbol addEventListener */\n var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n /** zoneSymbol removeEventListener */\n var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n /** true string const */\n var TRUE_STR = 'true';\n /** false string const */\n var FALSE_STR = 'false';\n /** Zone symbol prefix string const. */\n var ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\n function wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n }\n function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n }\n var zoneSymbol = Zone.__symbol__;\n var isWindowExists = typeof window !== 'undefined';\n var internalWindow = isWindowExists ? window : undefined;\n var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\n var REMOVE_ATTRIBUTE = 'removeAttribute';\n var NULL_ON_PROP_VALUE = [null];\n function bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n }\n function patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_3 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_3(i);\n }\n }\n function isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n }\n var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\n var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n // we are in electron of nw, so we are both browser and nodejs\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\n var zoneSymbolEventNames = {};\n var wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n };\n function patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n }\n function patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n }\n var originalInstanceKey = zoneSymbol('originalInstance');\n // wrap some native API on `window`\n function patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () { return this[originalInstanceKey][prop]; }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n }\n function copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () { return src[symbol]; },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n }\n var shouldCopySymbolProperties = false;\n function patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () { return patchDelegate_1(this, arguments); };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n }\n // TODO: @JiaLiPassion, support cancel task later if necessary\n function patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () { task.invoke.apply(this, arguments); };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n }\n function attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n }\n var isDetectedIEOrEdge = false;\n var ieOrEdge = false;\n function isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n }\n function isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // override Function.prototype.toString to make zone.js patched function\n // look like native function\n Zone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var passiveSupported = false;\n if (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', { get: function () { passiveSupported = true; } });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n }\n // an identifier to tell ZoneTask do not create a new invoke closure\n var OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n };\n var zoneSymbolEventNames$1 = {};\n var globalSources = {};\n var EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\n var IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\n function prepareEventNames(eventName, eventNameToString) {\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n function patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[zoneSymbol('BLACK_LISTED_EVENTS')];\n var passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n var options = buildEventListenerOptions(arguments[2], passive);\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var once = options && typeof options === 'object' ? options.once : false;\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames$1[eventName];\n }\n var symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var options = arguments[2];\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n var onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n }\n function findEventTasks(target, eventName) {\n if (!eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n var symbolEventName = zoneSymbolEventNames$1[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames$1[eventName];\n }\n var captureFalseTasks = target[symbolEventName[FALSE_STR]];\n var captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n }\n function patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCallbacks(api, target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n ];\n var documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n ];\n var windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplayconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n ];\n var htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n ];\n var mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\n var ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n ];\n var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\n var formEventNames = ['autocomplete', 'autocompleteerror'];\n var detailEventNames = ['toggle'];\n var frameEventNames = ['load'];\n var frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\n var marqueeEventNames = ['bounce', 'finish', 'start'];\n var XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n ];\n var IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\n var websocketEventNames = ['close', 'error', 'open', 'message'];\n var workerEventNames = ['error', 'message'];\n var eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\n function filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n }\n function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n }\n function propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow_1 = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow_1, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow_1, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow_1));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow_1['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow_1['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow_1['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow_1['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (XMLHttpRequest) {\n // XMLHttpRequest is not available in ServiceWorker, so we need to check here\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n var XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n var SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = function () { return ({ globalSources: globalSources, zoneSymbolEventNames: zoneSymbolEventNames$1, eventNames: eventNames, isBrowser: isBrowser, isMix: isMix, isNode: isNode, TRUE_STR: TRUE_STR,\n FALSE_STR: FALSE_STR, ZONE_SYMBOL_PREFIX: ZONE_SYMBOL_PREFIX, ADD_EVENT_LISTENER_STR: ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR: REMOVE_EVENT_LISTENER_STR }); };\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\n var zoneSymbol$1;\n var _defineProperty;\n var _getOwnPropertyDescriptor;\n var _create;\n var unconfigurablesKey;\n function propertyPatch() {\n zoneSymbol$1 = Zone.__symbol__;\n _defineProperty = Object[zoneSymbol$1('defineProperty')] = Object.defineProperty;\n _getOwnPropertyDescriptor = Object[zoneSymbol$1('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\n _create = Object.create;\n unconfigurablesKey = zoneSymbol$1('unconfigurables');\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) { Object.defineProperty(obj, prop, props[prop]); });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n }\n function _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n }\n function isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n }\n function rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n }\n function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetLegacyPatch(_global, api) {\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, globalSources = _a.globalSources, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = api.isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n var pointerEventsMap = {\n 'MSPointerCancel': 'pointercancel',\n 'MSPointerDown': 'pointerdown',\n 'MSPointerEnter': 'pointerenter',\n 'MSPointerHover': 'pointerhover',\n 'MSPointerLeave': 'pointerleave',\n 'MSPointerMove': 'pointermove',\n 'MSPointerOut': 'pointerout',\n 'MSPointerOver': 'pointerover',\n 'MSPointerUp': 'pointerup'\n };\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555_ARRAY.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n api.patchEventTarget(_global, apiTypes, {\n vh: checkIEAndCrossContext,\n transferEventName: function (eventName) {\n var pointerEventName = pointerEventsMap[eventName];\n return pointerEventName || eventName;\n }\n });\n Zone[api.symbol('patchEventTarget')] = !!_global[EVENT_TARGET];\n return true;\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // we have to patch the instance since the proto is non-configurable\n function apply(api, _global) {\n var _a = api.getGlobalObjects(), ADD_EVENT_LISTENER_STR = _a.ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR = _a.REMOVE_EVENT_LISTENER_STR;\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n api.patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = api.ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = api.ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = api.ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n api.patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function propertyDescriptorLegacyPatch(api, _global) {\n var _a = api.getGlobalObjects(), isNode = _a.isNode, isMix = _a.isMix;\n if (isNode && !isMix) {\n return;\n }\n if (!canPatchViaPropertyDescriptor(api, _global)) {\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents(api);\n api.patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n Zone[api.symbol('patchEvents')] = true;\n }\n }\n function canPatchViaPropertyDescriptor(api, _global) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((isBrowser || isMix) &&\n !api.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = api.ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n // try to use onclick to detect whether we can patch via propertyDescriptor\n // because XMLHttpRequest is not available in service worker\n if (desc) {\n api.ObjectDefineProperty(Element.prototype, 'onclick', { enumerable: true, configurable: true, get: function () { return true; } });\n var div = document.createElement('div');\n var result = !!div.onclick;\n api.ObjectDefineProperty(Element.prototype, 'onclick', desc);\n return result;\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = api.ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { enumerable: true, configurable: true, get: function () { return true; } });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = api.symbol('fake');\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () { return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1]; },\n set: function (value) { this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value; }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n }\n // Whenever any eventListener fires, we check the eventListener target and all parents\n // for `onwhatever` properties and replace them with zone-bound functions\n // - Chrome (for now)\n function patchViaCapturingAllTheEvents(api) {\n var eventNames = api.getGlobalObjects().eventNames;\n var unboundKey = api.symbol('unbound');\n var _loop_4 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = api.wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_4(i);\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function registerElementPatch(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, document, 'Document', 'registerElement', callbacks);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n (function (_global) {\n var symbolPrefix = _global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n _global[__symbol__('legacyPatch')] = function () {\n var Zone = _global['Zone'];\n Zone.__load_patch('defineProperty', function (global, Zone, api) {\n api._redefineProperty = _redefineProperty;\n propertyPatch();\n });\n Zone.__load_patch('registerElement', function (global, Zone, api) {\n registerElementPatch(global, api);\n });\n Zone.__load_patch('EventTargetLegacy', function (global, Zone, api) {\n eventTargetLegacyPatch(global, api);\n propertyDescriptorLegacyPatch(api, global);\n });\n };\n })(typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {});\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var taskSymbol = zoneSymbol('zoneTask');\n function patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) { return clearNative(task.data.handleId); }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCustomElements(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n var EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n }\n function patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('legacy', function (global) {\n var legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n });\n Zone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n });\n Zone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n });\n Zone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_2 = blockingMethods[i];\n patchMethod(global, name_2, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n });\n Zone.__load_patch('EventTarget', function (global, Zone, api) {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n });\n Zone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n });\n Zone.__load_patch('customElements', function (global, Zone, api) {\n patchCustomElements(global, api);\n });\n Zone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) { return target[XHR_TASK]; }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n });\n Zone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n });\n Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n });\n})));\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","import { scan } from './scan';\nimport { takeLast } from './takeLast';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { pipe } from '../util/pipe';\nexport function reduce(accumulator, seed) {\n if (arguments.length >= 2) {\n return function reduceOperatorFunctionWithSeed(source) {\n return pipe(scan(accumulator, seed), takeLast(1), defaultIfEmpty(seed))(source);\n };\n }\n return function reduceOperatorFunction(source) {\n return pipe(scan((acc, value, index) => accumulator(acc, value, index + 1)), takeLast(1))(source);\n };\n}\n//# sourceMappingURL=reduce.js.map","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","import { innerSubscribe, SimpleInnerSubscriber, SimpleOuterSubscriber } from '../innerSubscribe';\nexport function takeUntil(notifier) {\n return (source) => source.lift(new TakeUntilOperator(notifier));\n}\nclass TakeUntilOperator {\n constructor(notifier) {\n this.notifier = notifier;\n }\n call(subscriber, source) {\n const takeUntilSubscriber = new TakeUntilSubscriber(subscriber);\n const notifierSubscription = innerSubscribe(this.notifier, new SimpleInnerSubscriber(takeUntilSubscriber));\n if (notifierSubscription && !takeUntilSubscriber.seenValue) {\n takeUntilSubscriber.add(notifierSubscription);\n return source.subscribe(takeUntilSubscriber);\n }\n return takeUntilSubscriber;\n }\n}\nclass TakeUntilSubscriber extends SimpleOuterSubscriber {\n constructor(destination) {\n super(destination);\n this.seenValue = false;\n }\n notifyNext() {\n this.seenValue = true;\n this.complete();\n }\n notifyComplete() {\n }\n}\n//# sourceMappingURL=takeUntil.js.map","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function sampleTime(period, scheduler = async) {\n return (source) => source.lift(new SampleTimeOperator(period, scheduler));\n}\nclass SampleTimeOperator {\n constructor(period, scheduler) {\n this.period = period;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new SampleTimeSubscriber(subscriber, this.period, this.scheduler));\n }\n}\nclass SampleTimeSubscriber extends Subscriber {\n constructor(destination, period, scheduler) {\n super(destination);\n this.period = period;\n this.scheduler = scheduler;\n this.hasValue = false;\n this.add(scheduler.schedule(dispatchNotification, period, { subscriber: this, period }));\n }\n _next(value) {\n this.lastValue = value;\n this.hasValue = true;\n }\n notifyNext() {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.lastValue);\n }\n }\n}\nfunction dispatchNotification(state) {\n let { subscriber, period } = state;\n subscriber.notifyNext();\n this.schedule(state, period);\n}\n//# sourceMappingURL=sampleTime.js.map","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar anObject = require('../internals/an-object');\nvar FREEZING = require('../internals/freezing');\n\n// `Reflect.preventExtensions` method\n// https://tc39.es/ecma262/#sec-reflect.preventextensions\n$({ target: 'Reflect', stat: true, sham: !FREEZING }, {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions');\n if (objectPreventExtensions) objectPreventExtensions(target);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","import { fromArray } from './fromArray';\nimport { isArray } from '../util/isArray';\nimport { Subscriber } from '../Subscriber';\nimport { iterator as Symbol_iterator } from '../../internal/symbol/iterator';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function zip(...observables) {\n const resultSelector = observables[observables.length - 1];\n if (typeof resultSelector === 'function') {\n observables.pop();\n }\n return fromArray(observables, undefined).lift(new ZipOperator(resultSelector));\n}\nexport class ZipOperator {\n constructor(resultSelector) {\n this.resultSelector = resultSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new ZipSubscriber(subscriber, this.resultSelector));\n }\n}\nexport class ZipSubscriber extends Subscriber {\n constructor(destination, resultSelector, values = Object.create(null)) {\n super(destination);\n this.resultSelector = resultSelector;\n this.iterators = [];\n this.active = 0;\n this.resultSelector = (typeof resultSelector === 'function') ? resultSelector : undefined;\n }\n _next(value) {\n const iterators = this.iterators;\n if (isArray(value)) {\n iterators.push(new StaticArrayIterator(value));\n }\n else if (typeof value[Symbol_iterator] === 'function') {\n iterators.push(new StaticIterator(value[Symbol_iterator]()));\n }\n else {\n iterators.push(new ZipBufferIterator(this.destination, this, value));\n }\n }\n _complete() {\n const iterators = this.iterators;\n const len = iterators.length;\n this.unsubscribe();\n if (len === 0) {\n this.destination.complete();\n return;\n }\n this.active = len;\n for (let i = 0; i < len; i++) {\n let iterator = iterators[i];\n if (iterator.stillUnsubscribed) {\n const destination = this.destination;\n destination.add(iterator.subscribe());\n }\n else {\n this.active--;\n }\n }\n }\n notifyInactive() {\n this.active--;\n if (this.active === 0) {\n this.destination.complete();\n }\n }\n checkIterators() {\n const iterators = this.iterators;\n const len = iterators.length;\n const destination = this.destination;\n for (let i = 0; i < len; i++) {\n let iterator = iterators[i];\n if (typeof iterator.hasValue === 'function' && !iterator.hasValue()) {\n return;\n }\n }\n let shouldComplete = false;\n const args = [];\n for (let i = 0; i < len; i++) {\n let iterator = iterators[i];\n let result = iterator.next();\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.resultSelector) {\n this._tryresultSelector(args);\n }\n else {\n destination.next(args);\n }\n if (shouldComplete) {\n destination.complete();\n }\n }\n _tryresultSelector(args) {\n let result;\n try {\n result = this.resultSelector.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\nclass StaticIterator {\n constructor(iterator) {\n this.iterator = iterator;\n this.nextResult = iterator.next();\n }\n hasValue() {\n return true;\n }\n next() {\n const result = this.nextResult;\n this.nextResult = this.iterator.next();\n return result;\n }\n hasCompleted() {\n const nextResult = this.nextResult;\n return Boolean(nextResult && nextResult.done);\n }\n}\nclass StaticArrayIterator {\n constructor(array) {\n this.array = array;\n this.index = 0;\n this.length = 0;\n this.length = array.length;\n }\n [Symbol_iterator]() {\n return this;\n }\n next(value) {\n const i = this.index++;\n const array = this.array;\n return i < this.length ? { value: array[i], done: false } : { value: null, done: true };\n }\n hasValue() {\n return this.array.length > this.index;\n }\n hasCompleted() {\n return this.array.length === this.index;\n }\n}\nclass ZipBufferIterator extends SimpleOuterSubscriber {\n constructor(destination, parent, observable) {\n super(destination);\n this.parent = parent;\n this.observable = observable;\n this.stillUnsubscribed = true;\n this.buffer = [];\n this.isComplete = false;\n }\n [Symbol_iterator]() {\n return this;\n }\n next() {\n const 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 hasValue() {\n return this.buffer.length > 0;\n }\n hasCompleted() {\n return this.buffer.length === 0 && this.isComplete;\n }\n notifyComplete() {\n if (this.buffer.length > 0) {\n this.isComplete = true;\n this.parent.notifyInactive();\n }\n else {\n this.destination.complete();\n }\n }\n notifyNext(innerValue) {\n this.buffer.push(innerValue);\n this.parent.checkIterators();\n }\n subscribe() {\n return innerSubscribe(this.observable, new SimpleInnerSubscriber(this));\n }\n}\n//# sourceMappingURL=zip.js.map","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar objectIsExtensible = Object.isExtensible;\n\n// `Reflect.isExtensible` method\n// https://tc39.es/ecma262/#sec-reflect.isextensible\n$({ target: 'Reflect', stat: true }, {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return objectIsExtensible ? objectIsExtensible(target) : true;\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `String.raw` method\n// https://tc39.es/ecma262/#sec-string.raw\n$({ target: 'String', stat: true }, {\n raw: function raw(template) {\n var rawTemplate = toIndexedObject(template.raw);\n var literalSegments = toLength(rawTemplate.length);\n var argumentsLength = arguments.length;\n var elements = [];\n var i = 0;\n while (literalSegments > i) {\n elements.push(String(rawTemplate[i++]));\n if (i < argumentsLength) elements.push(String(arguments[i]));\n } return elements.join('');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","export const rxSubscriber = (() => typeof Symbol === 'function'\n ? Symbol('rxSubscriber')\n : '@@rxSubscriber_' + Math.random())();\nexport const $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map","import { not } from '../util/not';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { filter } from '../operators/filter';\nimport { Observable } from '../Observable';\nexport function partition(source, predicate, thisArg) {\n return [\n filter(predicate, thisArg)(new Observable(subscribeTo(source))),\n filter(not(predicate, thisArg))(new Observable(subscribeTo(source)))\n ];\n}\n//# sourceMappingURL=partition.js.map","import { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n }\n getValue() {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n }\n next(value) {\n super.next(this._value = value);\n }\n}\n//# sourceMappingURL=BehaviorSubject.js.map","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","let _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport const config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n const error = new Error();\n console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","import { Subscriber } from '../Subscriber';\nexport function skipWhile(predicate) {\n return (source) => source.lift(new SkipWhileOperator(predicate));\n}\nclass SkipWhileOperator {\n constructor(predicate) {\n this.predicate = predicate;\n }\n call(subscriber, source) {\n return source.subscribe(new SkipWhileSubscriber(subscriber, this.predicate));\n }\n}\nclass SkipWhileSubscriber extends Subscriber {\n constructor(destination, predicate) {\n super(destination);\n this.predicate = predicate;\n this.skipping = true;\n this.index = 0;\n }\n _next(value) {\n const destination = this.destination;\n if (this.skipping) {\n this.tryCallPredicate(value);\n }\n if (!this.skipping) {\n destination.next(value);\n }\n }\n tryCallPredicate(value) {\n try {\n const result = this.predicate(value, this.index++);\n this.skipping = Boolean(result);\n }\n catch (err) {\n this.destination.error(err);\n }\n }\n}\n//# sourceMappingURL=skipWhile.js.map","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","import { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function delay(delay, scheduler = async) {\n const absoluteDelay = isDate(delay);\n const delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n return (source) => source.lift(new DelayOperator(delayFor, scheduler));\n}\nclass DelayOperator {\n constructor(delay, scheduler) {\n this.delay = delay;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n }\n}\nclass DelaySubscriber extends Subscriber {\n constructor(destination, delay, scheduler) {\n super(destination);\n this.delay = delay;\n this.scheduler = scheduler;\n this.queue = [];\n this.active = false;\n this.errored = false;\n }\n static dispatch(state) {\n const source = state.source;\n const queue = source.queue;\n const scheduler = state.scheduler;\n const destination = state.destination;\n while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n queue.shift().notification.observe(destination);\n }\n if (queue.length > 0) {\n const delay = Math.max(0, queue[0].time - scheduler.now());\n this.schedule(state, delay);\n }\n else {\n this.unsubscribe();\n source.active = false;\n }\n }\n _schedule(scheduler) {\n this.active = true;\n const destination = this.destination;\n destination.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n source: this, destination: this.destination, scheduler: scheduler\n }));\n }\n scheduleNotification(notification) {\n if (this.errored === true) {\n return;\n }\n const scheduler = this.scheduler;\n const message = new DelayMessage(scheduler.now() + this.delay, notification);\n this.queue.push(message);\n if (this.active === false) {\n this._schedule(scheduler);\n }\n }\n _next(value) {\n this.scheduleNotification(Notification.createNext(value));\n }\n _error(err) {\n this.errored = true;\n this.queue = [];\n this.destination.error(err);\n this.unsubscribe();\n }\n _complete() {\n this.scheduleNotification(Notification.createComplete());\n this.unsubscribe();\n }\n}\nclass DelayMessage {\n constructor(time, notification) {\n this.time = time;\n this.notification = notification;\n }\n}\n//# sourceMappingURL=delay.js.map","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n freeze: function freeze(it) {\n return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n }\n});\n","import { Action } from './Action';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, delay) {\n let errored = false;\n let errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n _unsubscribe() {\n const id = this.id;\n const scheduler = this.scheduler;\n const actions = scheduler.actions;\n const index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n }\n}\n//# sourceMappingURL=AsyncAction.js.map","import { async } from '../scheduler/async';\nimport { audit } from './audit';\nimport { timer } from '../observable/timer';\nexport function auditTime(duration, scheduler = async) {\n return audit(() => timer(duration, scheduler));\n}\n//# sourceMappingURL=auditTime.js.map","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","import { Subscriber } from '../Subscriber';\nexport function ignoreElements() {\n return function ignoreElementsOperatorFunction(source) {\n return source.lift(new IgnoreElementsOperator());\n };\n}\nclass IgnoreElementsOperator {\n call(subscriber, source) {\n return source.subscribe(new IgnoreElementsSubscriber(subscriber));\n }\n}\nclass IgnoreElementsSubscriber extends Subscriber {\n _next(unused) {\n }\n}\n//# sourceMappingURL=ignoreElements.js.map","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","const ArgumentOutOfRangeErrorImpl = (() => {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nexport const ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map","import { Observable } from '../Observable';\nimport { AsyncSubject } from '../AsyncSubject';\nimport { map } from '../operators/map';\nimport { canReportError } from '../util/canReportError';\nimport { isScheduler } from '../util/isScheduler';\nimport { isArray } from '../util/isArray';\nexport function bindNodeCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return (...args) => bindNodeCallback(callbackFunc, scheduler)(...args).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n }\n return function (...args) {\n const params = {\n subject: undefined,\n args,\n callbackFunc,\n scheduler,\n context: this,\n };\n return new Observable(subscriber => {\n const { context } = params;\n let { subject } = params;\n if (!scheduler) {\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n const handler = (...innerArgs) => {\n const err = innerArgs.shift();\n if (err) {\n subject.error(err);\n return;\n }\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, [...args, handler]);\n }\n catch (err) {\n if (canReportError(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n return scheduler.schedule(dispatch, 0, { params, subscriber, context });\n }\n });\n };\n}\nfunction dispatch(state) {\n const { params, subscriber, context } = state;\n const { callbackFunc, args, scheduler } = params;\n let subject = params.subject;\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n const handler = (...innerArgs) => {\n const err = innerArgs.shift();\n if (err) {\n this.add(scheduler.schedule(dispatchError, 0, { err, subject }));\n }\n else {\n const value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n this.add(scheduler.schedule(dispatchNext, 0, { value, subject }));\n }\n };\n try {\n callbackFunc.apply(context, [...args, handler]);\n }\n catch (err) {\n this.add(scheduler.schedule(dispatchError, 0, { err, subject }));\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(arg) {\n const { value, subject } = arg;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(arg) {\n const { err, subject } = arg;\n subject.error(err);\n}\n//# sourceMappingURL=bindNodeCallback.js.map","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","import { isArray } from '../util/isArray';\nimport { race as raceStatic } from '../observable/race';\nexport function race(...observables) {\n return function raceOperatorFunction(source) {\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0];\n }\n return source.lift.call(raceStatic(source, ...observables));\n };\n}\n//# sourceMappingURL=race.js.map","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\n\n// eslint-disable-next-line es/no-object-isfrozen -- safe\nvar $isFrozen = Object.isFrozen;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isFrozen(1); });\n\n// `Object.isFrozen` method\n// https://tc39.es/ecma262/#sec-object.isfrozen\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n isFrozen: function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n }\n});\n","import { async } from '../scheduler/async';\nimport { scan } from './scan';\nimport { defer } from '../observable/defer';\nimport { map } from './map';\nexport function timeInterval(scheduler = async) {\n return (source) => defer(() => {\n return source.pipe(scan(({ current }, value) => ({ value, current: scheduler.now(), last: current }), { current: scheduler.now(), value: undefined, last: undefined }), map(({ current, last, value }) => new TimeInterval(value, current - last)));\n });\n}\nexport class TimeInterval {\n constructor(value, interval) {\n this.value = value;\n this.interval = interval;\n }\n}\n//# sourceMappingURL=timeInterval.js.map","var $ = require('../internals/export');\nvar parseIntImplementation = require('../internals/number-parse-int');\n\n// `parseInt` method\n// https://tc39.es/ecma262/#sec-parseint-string-radix\n$({ global: true, forced: parseInt != parseIntImplementation }, {\n parseInt: parseIntImplementation\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var global = require('../internals/global');\n\nvar globalIsFinite = global.isFinite;\n\n// `Number.isFinite` method\n// https://tc39.es/ecma262/#sec-number.isfinite\n// eslint-disable-next-line es/no-number-isfinite -- safe\nmodule.exports = Number.isFinite || function isFinite(it) {\n return typeof it == 'number' && globalIsFinite(it);\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => input.then(value => {\n sub.add(scheduler.schedule(() => {\n subscriber.next(value);\n sub.add(scheduler.schedule(() => subscriber.complete()));\n }));\n }, err => {\n sub.add(scheduler.schedule(() => subscriber.error(err)));\n })));\n return sub;\n });\n}\n//# sourceMappingURL=schedulePromise.js.map","import { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function mergeMap(project, resultSelector, concurrent = Number.POSITIVE_INFINITY) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(mergeMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii))), concurrent));\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return (source) => source.lift(new MergeMapOperator(project, concurrent));\n}\nexport class MergeMapOperator {\n constructor(project, concurrent = Number.POSITIVE_INFINITY) {\n this.project = project;\n this.concurrent = concurrent;\n }\n call(observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n }\n}\nexport class MergeMapSubscriber extends SimpleOuterSubscriber {\n constructor(destination, project, concurrent = Number.POSITIVE_INFINITY) {\n super(destination);\n this.project = project;\n this.concurrent = concurrent;\n this.hasCompleted = false;\n this.buffer = [];\n this.active = 0;\n this.index = 0;\n }\n _next(value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n }\n _tryNext(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result);\n }\n _innerSub(ish) {\n const innerSubscriber = new SimpleInnerSubscriber(this);\n const destination = this.destination;\n destination.add(innerSubscriber);\n const innerSubscription = innerSubscribe(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n _complete() {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n }\n notifyNext(innerValue) {\n this.destination.next(innerValue);\n }\n notifyComplete() {\n const buffer = this.buffer;\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}\nexport const flatMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map","import { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function mergeScan(accumulator, seed, concurrent = Number.POSITIVE_INFINITY) {\n return (source) => source.lift(new MergeScanOperator(accumulator, seed, concurrent));\n}\nexport class MergeScanOperator {\n constructor(accumulator, seed, concurrent) {\n this.accumulator = accumulator;\n this.seed = seed;\n this.concurrent = concurrent;\n }\n call(subscriber, source) {\n return source.subscribe(new MergeScanSubscriber(subscriber, this.accumulator, this.seed, this.concurrent));\n }\n}\nexport class MergeScanSubscriber extends SimpleOuterSubscriber {\n constructor(destination, accumulator, acc, concurrent) {\n super(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 _next(value) {\n if (this.active < this.concurrent) {\n const index = this.index++;\n const destination = this.destination;\n let ish;\n try {\n const { accumulator } = this;\n ish = accumulator(this.acc, value, index);\n }\n catch (e) {\n return destination.error(e);\n }\n this.active++;\n this._innerSub(ish);\n }\n else {\n this.buffer.push(value);\n }\n }\n _innerSub(ish) {\n const innerSubscriber = new SimpleInnerSubscriber(this);\n const destination = this.destination;\n destination.add(innerSubscriber);\n const innerSubscription = innerSubscribe(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n _complete() {\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 this.unsubscribe();\n }\n notifyNext(innerValue) {\n const { destination } = this;\n this.acc = innerValue;\n this.hasValue = true;\n destination.next(innerValue);\n }\n notifyComplete() {\n const buffer = this.buffer;\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}\n//# sourceMappingURL=mergeScan.js.map","import { Subscriber } from './Subscriber';\nexport class InnerSubscriber extends Subscriber {\n constructor(parent, outerValue, outerIndex) {\n super();\n this.parent = parent;\n this.outerValue = outerValue;\n this.outerIndex = outerIndex;\n this.index = 0;\n }\n _next(value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n }\n _error(error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n }\n _complete() {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n }\n}\n//# sourceMappingURL=InnerSubscriber.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => {\n const observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next(value) { sub.add(scheduler.schedule(() => subscriber.next(value))); },\n error(err) { sub.add(scheduler.schedule(() => subscriber.error(err))); },\n complete() { sub.add(scheduler.schedule(() => subscriber.complete())); },\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleObservable.js.map","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\n\n// eslint-disable-next-line es/no-object-issealed -- safe\nvar $isSealed = Object.isSealed;\nvar FAILS_ON_PRIMITIVES = fails(function () { $isSealed(1); });\n\n// `Object.isSealed` method\n// https://tc39.es/ecma262/#sec-object.issealed\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n isSealed: function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","require('../../modules/es.symbol');\nrequire('../../modules/es.object.assign');\nrequire('../../modules/es.object.create');\nrequire('../../modules/es.object.define-property');\nrequire('../../modules/es.object.define-properties');\nrequire('../../modules/es.object.entries');\nrequire('../../modules/es.object.freeze');\nrequire('../../modules/es.object.from-entries');\nrequire('../../modules/es.object.get-own-property-descriptor');\nrequire('../../modules/es.object.get-own-property-descriptors');\nrequire('../../modules/es.object.get-own-property-names');\nrequire('../../modules/es.object.get-prototype-of');\nrequire('../../modules/es.object.is');\nrequire('../../modules/es.object.is-extensible');\nrequire('../../modules/es.object.is-frozen');\nrequire('../../modules/es.object.is-sealed');\nrequire('../../modules/es.object.keys');\nrequire('../../modules/es.object.prevent-extensions');\nrequire('../../modules/es.object.seal');\nrequire('../../modules/es.object.set-prototype-of');\nrequire('../../modules/es.object.values');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.object.define-getter');\nrequire('../../modules/es.object.define-setter');\nrequire('../../modules/es.object.lookup-getter');\nrequire('../../modules/es.object.lookup-setter');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar min = Math.min;\nvar $lastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $lastIndexOf.apply(this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $lastIndexOf;\n","var $ = require('../internals/export');\n\n// `Number.MIN_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.min_safe_integer\n$({ target: 'Number', stat: true }, {\n MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar aFunction = require('../internals/a-function');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineSetter__: function __defineSetter__(P, setter) {\n definePropertyModule.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n }\n });\n}\n","import { Observable } from '../Observable';\nimport { noop } from '../util/noop';\nexport const NEVER = new Observable(noop);\nexport function never() {\n return NEVER;\n}\n//# sourceMappingURL=never.js.map","/*\n * classList.js: Cross-browser full element.classList implementation.\n * 1.1.20150312\n *\n * By Eli Grey, http://eligrey.com\n * License: Dedicated to the public domain.\n * See https://github.com/eligrey/classList.js/blob/master/LICENSE.md\n */\n\n/*global self, document, DOMException */\n\n/*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js */\n\nif (\"document\" in self) {\n\n// Full polyfill for browsers with no classList support\n// Including IE < Edge missing SVGElement.classList\nif (!(\"classList\" in document.createElement(\"_\")) \n\t|| document.createElementNS && !(\"classList\" in document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"))) {\n\n(function (view) {\n\n\"use strict\";\n\nif (!('Element' in view)) return;\n\nvar\n\t classListProp = \"classList\"\n\t, protoProp = \"prototype\"\n\t, elemCtrProto = view.Element[protoProp]\n\t, objCtr = Object\n\t, strTrim = String[protoProp].trim || function () {\n\t\treturn this.replace(/^\\s+|\\s+$/g, \"\");\n\t}\n\t, arrIndexOf = Array[protoProp].indexOf || function (item) {\n\t\tvar\n\t\t\t i = 0\n\t\t\t, len = this.length\n\t\t;\n\t\tfor (; i < len; i++) {\n\t\t\tif (i in this && this[i] === item) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t}\n\t// Vendors: please allow content code to instantiate DOMExceptions\n\t, DOMEx = function (type, message) {\n\t\tthis.name = type;\n\t\tthis.code = DOMException[type];\n\t\tthis.message = message;\n\t}\n\t, checkTokenAndGetIndex = function (classList, token) {\n\t\tif (token === \"\") {\n\t\t\tthrow new DOMEx(\n\t\t\t\t \"SYNTAX_ERR\"\n\t\t\t\t, \"An invalid or illegal string was specified\"\n\t\t\t);\n\t\t}\n\t\tif (/\\s/.test(token)) {\n\t\t\tthrow new DOMEx(\n\t\t\t\t \"INVALID_CHARACTER_ERR\"\n\t\t\t\t, \"String contains an invalid character\"\n\t\t\t);\n\t\t}\n\t\treturn arrIndexOf.call(classList, token);\n\t}\n\t, ClassList = function (elem) {\n\t\tvar\n\t\t\t trimmedClasses = strTrim.call(elem.getAttribute(\"class\") || \"\")\n\t\t\t, classes = trimmedClasses ? trimmedClasses.split(/\\s+/) : []\n\t\t\t, i = 0\n\t\t\t, len = classes.length\n\t\t;\n\t\tfor (; i < len; i++) {\n\t\t\tthis.push(classes[i]);\n\t\t}\n\t\tthis._updateClassName = function () {\n\t\t\telem.setAttribute(\"class\", this.toString());\n\t\t};\n\t}\n\t, classListProto = ClassList[protoProp] = []\n\t, classListGetter = function () {\n\t\treturn new ClassList(this);\n\t}\n;\n// Most DOMException implementations don't allow calling DOMException's toString()\n// on non-DOMExceptions. Error's toString() is sufficient here.\nDOMEx[protoProp] = Error[protoProp];\nclassListProto.item = function (i) {\n\treturn this[i] || null;\n};\nclassListProto.contains = function (token) {\n\ttoken += \"\";\n\treturn checkTokenAndGetIndex(this, token) !== -1;\n};\nclassListProto.add = function () {\n\tvar\n\t\t tokens = arguments\n\t\t, i = 0\n\t\t, l = tokens.length\n\t\t, token\n\t\t, updated = false\n\t;\n\tdo {\n\t\ttoken = tokens[i] + \"\";\n\t\tif (checkTokenAndGetIndex(this, token) === -1) {\n\t\t\tthis.push(token);\n\t\t\tupdated = true;\n\t\t}\n\t}\n\twhile (++i < l);\n\n\tif (updated) {\n\t\tthis._updateClassName();\n\t}\n};\nclassListProto.remove = function () {\n\tvar\n\t\t tokens = arguments\n\t\t, i = 0\n\t\t, l = tokens.length\n\t\t, token\n\t\t, updated = false\n\t\t, index\n\t;\n\tdo {\n\t\ttoken = tokens[i] + \"\";\n\t\tindex = checkTokenAndGetIndex(this, token);\n\t\twhile (index !== -1) {\n\t\t\tthis.splice(index, 1);\n\t\t\tupdated = true;\n\t\t\tindex = checkTokenAndGetIndex(this, token);\n\t\t}\n\t}\n\twhile (++i < l);\n\n\tif (updated) {\n\t\tthis._updateClassName();\n\t}\n};\nclassListProto.toggle = function (token, force) {\n\ttoken += \"\";\n\n\tvar\n\t\t result = this.contains(token)\n\t\t, method = result ?\n\t\t\tforce !== true && \"remove\"\n\t\t:\n\t\t\tforce !== false && \"add\"\n\t;\n\n\tif (method) {\n\t\tthis[method](token);\n\t}\n\n\tif (force === true || force === false) {\n\t\treturn force;\n\t} else {\n\t\treturn !result;\n\t}\n};\nclassListProto.toString = function () {\n\treturn this.join(\" \");\n};\n\nif (objCtr.defineProperty) {\n\tvar classListPropDesc = {\n\t\t get: classListGetter\n\t\t, enumerable: true\n\t\t, configurable: true\n\t};\n\ttry {\n\t\tobjCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);\n\t} catch (ex) { // IE 8 doesn't support enumerable:true\n\t\tif (ex.number === -0x7FF5EC54) {\n\t\t\tclassListPropDesc.enumerable = false;\n\t\t\tobjCtr.defineProperty(elemCtrProto, classListProp, classListPropDesc);\n\t\t}\n\t}\n} else if (objCtr[protoProp].__defineGetter__) {\n\telemCtrProto.__defineGetter__(classListProp, classListGetter);\n}\n\n}(self));\n\n} else {\n// There is full or partial native classList support, so just check if we need\n// to normalize the add/remove and toggle APIs.\n\n(function () {\n\t\"use strict\";\n\n\tvar testElement = document.createElement(\"_\");\n\n\ttestElement.classList.add(\"c1\", \"c2\");\n\n\t// Polyfill for IE 10/11 and Firefox <26, where classList.add and\n\t// classList.remove exist but support only one argument at a time.\n\tif (!testElement.classList.contains(\"c2\")) {\n\t\tvar createMethod = function(method) {\n\t\t\tvar original = DOMTokenList.prototype[method];\n\n\t\t\tDOMTokenList.prototype[method] = function(token) {\n\t\t\t\tvar i, len = arguments.length;\n\n\t\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\t\ttoken = arguments[i];\n\t\t\t\t\toriginal.call(this, token);\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\tcreateMethod('add');\n\t\tcreateMethod('remove');\n\t}\n\n\ttestElement.classList.toggle(\"c3\", false);\n\n\t// Polyfill for IE 10 and Firefox <24, where classList.toggle does not\n\t// support the second argument.\n\tif (testElement.classList.contains(\"c3\")) {\n\t\tvar _toggle = DOMTokenList.prototype.toggle;\n\n\t\tDOMTokenList.prototype.toggle = function(token, force) {\n\t\t\tif (1 in arguments && !this.contains(token) === !force) {\n\t\t\t\treturn force;\n\t\t\t} else {\n\t\t\t\treturn _toggle.call(this, token);\n\t\t\t}\n\t\t};\n\n\t}\n\n\ttestElement = null;\n}());\n\n}\n\n}\n\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","// Copyright 2014 Google Inc. All rights reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n!function(){var a={},b={};!function(a,b){function c(a){if(\"number\"==typeof a)return a;var b={};for(var c in a)b[c]=a[c];return b}function d(){this._delay=0,this._endDelay=0,this._fill=\"none\",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction=\"normal\",this._easing=\"linear\",this._easingFunction=x}function e(){return a.isDeprecated(\"Invalid timing inputs\",\"2016-03-02\",\"TypeError exceptions will be thrown instead.\",!0)}function f(b,c,e){var f=new d;return c&&(f.fill=\"both\",f.duration=\"auto\"),\"number\"!=typeof b||isNaN(b)?void 0!==b&&Object.getOwnPropertyNames(b).forEach(function(c){if(\"auto\"!=b[c]){if((\"number\"==typeof f[c]||\"duration\"==c)&&(\"number\"!=typeof b[c]||isNaN(b[c])))return;if(\"fill\"==c&&-1==v.indexOf(b[c]))return;if(\"direction\"==c&&-1==w.indexOf(b[c]))return;if(\"playbackRate\"==c&&1!==b[c]&&a.isDeprecated(\"AnimationEffectTiming.playbackRate\",\"2014-11-28\",\"Use Animation.playbackRate instead.\"))return;f[c]=b[c]}}):f.duration=b,f}function g(a){return\"number\"==typeof a&&(a=isNaN(a)?{duration:0}:{duration:a}),a}function h(b,c){return b=a.numericTimingToObject(b),f(b,c)}function i(a,b,c,d){return a<0||a>1||c<0||c>1?x:function(e){function f(a,b,c){return 3*a*(1-c)*(1-c)*c+3*b*(1-c)*c*c+c*c*c}if(e<=0){var g=0;return a>0?g=b/a:!b&&c>0&&(g=d/c),g*e}if(e>=1){var h=0;return c<1?h=(d-1)/(c-1):1==c&&a<1&&(h=(b-1)/(a-1)),1+h*(e-1)}for(var i=0,j=1;i=1)return 1;var d=1/a;return(c+=b*d)-c%d}}function k(a){C||(C=document.createElement(\"div\").style),C.animationTimingFunction=\"\",C.animationTimingFunction=a;var b=C.animationTimingFunction;if(\"\"==b&&e())throw new TypeError(a+\" is not a valid value for easing\");return b}function l(a){if(\"linear\"==a)return x;var b=E.exec(a);if(b)return i.apply(this,b.slice(1).map(Number));var c=F.exec(a);if(c)return j(Number(c[1]),A);var d=G.exec(a);return d?j(Number(d[1]),{start:y,middle:z,end:A}[d[2]]):B[a]||x}function m(a){return Math.abs(n(a)/a.playbackRate)}function n(a){return 0===a.duration||0===a.iterations?0:a.duration*a.iterations}function o(a,b,c){if(null==b)return H;var d=c.delay+a+c.endDelay;return b=Math.min(c.delay+a,d)?J:K}function p(a,b,c,d,e){switch(d){case I:return\"backwards\"==b||\"both\"==b?0:null;case K:return c-e;case J:return\"forwards\"==b||\"both\"==b?a:null;case H:return null}}function q(a,b,c,d,e){var f=e;return 0===a?b!==I&&(f+=c):f+=d/a,f}function r(a,b,c,d,e,f){var g=a===1/0?b%1:a%1;return 0!==g||c!==J||0===d||0===e&&0!==f||(g=1),g}function s(a,b,c,d){return a===J&&b===1/0?1/0:1===c?Math.floor(d)-1:Math.floor(d)}function t(a,b,c){var d=a;if(\"normal\"!==a&&\"reverse\"!==a){var e=b;\"alternate-reverse\"===a&&(e+=1),d=\"normal\",e!==1/0&&e%2!=0&&(d=\"reverse\")}return\"normal\"===d?c:1-c}function u(a,b,c){var d=o(a,b,c),e=p(a,c.fill,b,d,c.delay);if(null===e)return null;var f=q(c.duration,d,c.iterations,e,c.iterationStart),g=r(f,c.iterationStart,d,c.iterations,e,c.duration),h=s(d,c.iterations,g,f),i=t(c.direction,h,g);return c._easingFunction(i)}var v=\"backwards|forwards|both|none\".split(\"|\"),w=\"reverse|alternate|alternate-reverse\".split(\"|\"),x=function(a){return a};d.prototype={_setMember:function(b,c){this[\"_\"+b]=c,this._effect&&(this._effect._timingInput[b]=c,this._effect._timing=a.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=a.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(a){this._setMember(\"delay\",a)},get delay(){return this._delay},set endDelay(a){this._setMember(\"endDelay\",a)},get endDelay(){return this._endDelay},set fill(a){this._setMember(\"fill\",a)},get fill(){return this._fill},set iterationStart(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterationStart must be a non-negative number, received: \"+a);this._setMember(\"iterationStart\",a)},get iterationStart(){return this._iterationStart},set duration(a){if(\"auto\"!=a&&(isNaN(a)||a<0)&&e())throw new TypeError(\"duration must be non-negative or auto, received: \"+a);this._setMember(\"duration\",a)},get duration(){return this._duration},set direction(a){this._setMember(\"direction\",a)},get direction(){return this._direction},set easing(a){this._easingFunction=l(k(a)),this._setMember(\"easing\",a)},get easing(){return this._easing},set iterations(a){if((isNaN(a)||a<0)&&e())throw new TypeError(\"iterations must be non-negative, received: \"+a);this._setMember(\"iterations\",a)},get iterations(){return this._iterations}};var y=1,z=.5,A=0,B={ease:i(.25,.1,.25,1),\"ease-in\":i(.42,0,1,1),\"ease-out\":i(0,0,.58,1),\"ease-in-out\":i(.42,0,.58,1),\"step-start\":j(1,y),\"step-middle\":j(1,z),\"step-end\":j(1,A)},C=null,D=\"\\\\s*(-?\\\\d+\\\\.?\\\\d*|-?\\\\.\\\\d+)\\\\s*\",E=new RegExp(\"cubic-bezier\\\\(\"+D+\",\"+D+\",\"+D+\",\"+D+\"\\\\)\"),F=/steps\\(\\s*(\\d+)\\s*\\)/,G=/steps\\(\\s*(\\d+)\\s*,\\s*(start|middle|end)\\s*\\)/,H=0,I=1,J=2,K=3;a.cloneTimingInput=c,a.makeTiming=f,a.numericTimingToObject=g,a.normalizeTimingInput=h,a.calculateActiveDuration=m,a.calculateIterationProgress=u,a.calculatePhase=o,a.normalizeEasing=k,a.parseEasingFunction=l}(a),function(a,b){function c(a,b){return a in k?k[a][b]||b:b}function d(a){return\"display\"===a||0===a.lastIndexOf(\"animation\",0)||0===a.lastIndexOf(\"transition\",0)}function e(a,b,e){if(!d(a)){var f=h[a];if(f){i.style[a]=b;for(var g in f){var j=f[g],k=i.style[j];e[j]=c(j,k)}}else e[a]=c(a,b)}}function f(a){var b=[];for(var c in a)if(!(c in[\"easing\",\"offset\",\"composite\"])){var d=a[c];Array.isArray(d)||(d=[d]);for(var e,f=d.length,g=0;g1&&null==d[0].offset&&(d[0].offset=0);for(var b=0,c=d[0].offset,e=1;e1)throw new TypeError(\"Keyframe offsets must be between 0 and 1.\")}}else if(\"composite\"==d){if(\"add\"==f||\"accumulate\"==f)throw{type:DOMException.NOT_SUPPORTED_ERR,name:\"NotSupportedError\",message:\"add compositing is not supported\"};if(\"replace\"!=f)throw new TypeError(\"Invalid composite mode \"+f+\".\")}else f=\"easing\"==d?a.normalizeEasing(f):\"\"+f;e(d,f,c)}return void 0==c.offset&&(c.offset=null),void 0==c.easing&&(c.easing=\"linear\"),c}),g=!0,h=-1/0,i=0;i=0&&a.offset<=1}),g||c(),d}var h={background:[\"backgroundImage\",\"backgroundPosition\",\"backgroundSize\",\"backgroundRepeat\",\"backgroundAttachment\",\"backgroundOrigin\",\"backgroundClip\",\"backgroundColor\"],border:[\"borderTopColor\",\"borderTopStyle\",\"borderTopWidth\",\"borderRightColor\",\"borderRightStyle\",\"borderRightWidth\",\"borderBottomColor\",\"borderBottomStyle\",\"borderBottomWidth\",\"borderLeftColor\",\"borderLeftStyle\",\"borderLeftWidth\"],borderBottom:[\"borderBottomWidth\",\"borderBottomStyle\",\"borderBottomColor\"],borderColor:[\"borderTopColor\",\"borderRightColor\",\"borderBottomColor\",\"borderLeftColor\"],borderLeft:[\"borderLeftWidth\",\"borderLeftStyle\",\"borderLeftColor\"],borderRadius:[\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderBottomRightRadius\",\"borderBottomLeftRadius\"],borderRight:[\"borderRightWidth\",\"borderRightStyle\",\"borderRightColor\"],borderTop:[\"borderTopWidth\",\"borderTopStyle\",\"borderTopColor\"],borderWidth:[\"borderTopWidth\",\"borderRightWidth\",\"borderBottomWidth\",\"borderLeftWidth\"],flex:[\"flexGrow\",\"flexShrink\",\"flexBasis\"],font:[\"fontFamily\",\"fontSize\",\"fontStyle\",\"fontVariant\",\"fontWeight\",\"lineHeight\"],margin:[\"marginTop\",\"marginRight\",\"marginBottom\",\"marginLeft\"],outline:[\"outlineColor\",\"outlineStyle\",\"outlineWidth\"],padding:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"]},i=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"div\"),j={thin:\"1px\",medium:\"3px\",thick:\"5px\"},k={borderBottomWidth:j,borderLeftWidth:j,borderRightWidth:j,borderTopWidth:j,fontSize:{\"xx-small\":\"60%\",\"x-small\":\"75%\",small:\"89%\",medium:\"100%\",large:\"120%\",\"x-large\":\"150%\",\"xx-large\":\"200%\"},fontWeight:{normal:\"400\",bold:\"700\"},outlineWidth:j,textShadow:{none:\"0px 0px 0px transparent\"},boxShadow:{none:\"0px 0px 0px 0px transparent\"}};a.convertToArrayForm=f,a.normalizeKeyframes=g}(a),function(a){var b={};a.isDeprecated=function(a,c,d,e){var f=e?\"are\":\"is\",g=new Date,h=new Date(c);return h.setMonth(h.getMonth()+3),!(g=a.applyFrom&&cthis._surrogateStyle.length;)this._length--,Object.defineProperty(this,this._length,{configurable:!0,enumerable:!1,value:void 0})},_set:function(b,c){this._style[b]=c,this._isAnimatedProperty[b]=!0,this._updateSvgTransformAttr&&\"transform\"==a.unprefixedPropertyName(b)&&(null==this._savedTransformAttr&&(this._savedTransformAttr=this._element.getAttribute(\"transform\")),this._element.setAttribute(\"transform\",a.transformToSvgMatrix(c)))},_clear:function(b){this._style[b]=this._surrogateStyle[b],this._updateSvgTransformAttr&&\"transform\"==a.unprefixedPropertyName(b)&&(this._savedTransformAttr?this._element.setAttribute(\"transform\",this._savedTransformAttr):this._element.removeAttribute(\"transform\"),this._savedTransformAttr=null),delete this._isAnimatedProperty[b]}};for(var k in i)e.prototype[k]=function(a,b){return function(){var c=this._surrogateStyle[a].apply(this._surrogateStyle,arguments);return b&&(this._isAnimatedProperty[arguments[0]]||this._style[a].apply(this._style,arguments),this._updateIndices()),c}}(k,k in j);for(var l in document.documentElement.style)l in h||l in i||function(a){d(e.prototype,a,{get:function(){return this._surrogateStyle[a]},set:function(b){this._surrogateStyle[a]=b,this._updateIndices(),this._isAnimatedProperty[a]||(this._style[a]=b)}})}(l);a.apply=function(b,c,d){f(b),b.style._set(a.propertyName(c),d)},a.clear=function(b,c){b._webAnimationsPatchedStyle&&b.style._clear(a.propertyName(c))}}(b),function(a){window.Element.prototype.animate=function(b,c){var d=\"\";return c&&c.id&&(d=c.id),a.timeline._play(a.KeyframeEffect(this,b,c,d))}}(b),function(a,b){function c(a,b,d){if(\"number\"==typeof a&&\"number\"==typeof b)return a*(1-d)+b*d;if(\"boolean\"==typeof a&&\"boolean\"==typeof b)return d<.5?a:b;if(a.length==b.length){for(var e=[],f=0;f0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(a){a=+a,isNaN(a)||(b.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-a/this._playbackRate),this._currentTimePending=!1,this._currentTime!=a&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(a,!0),b.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(a){a=+a,isNaN(a)||this._paused||this._idle||(this._startTime=a,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),b.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(a){if(a!=this._playbackRate){var c=this.currentTime;this._playbackRate=a,this._startTime=null,\"paused\"!=this.playState&&\"idle\"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)),null!=c&&(this.currentTime=c)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?\"idle\":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?\"pending\":this._paused?\"paused\":this._isFinished?\"finished\":\"running\"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException(\"Unable to rewind negative playback rate animation with infinite duration\",\"InvalidStateError\");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),b.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,b.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),b.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(a,b){\"function\"==typeof b&&\"finish\"==a&&this._finishHandlers.push(b)},removeEventListener:function(a,b){if(\"finish\"==a){var c=this._finishHandlers.indexOf(b);c>=0&&this._finishHandlers.splice(c,1)}},_fireEvents:function(a){if(this._isFinished){if(!this._finishedFlag){var b=new d(this,this._currentTime,a),c=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){c.forEach(function(a){a.call(b.target,b)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(a,b){this._idle||this._paused||(null==this._startTime?b&&(this.startTime=a-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((a-this._startTime)*this.playbackRate)),b&&(this._currentTimePending=!1,this._fireEvents(a))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var a=this._effect._target;return a._activeAnimations||(a._activeAnimations=[]),a._activeAnimations},_markTarget:function(){var a=this._targetAnimations();-1===a.indexOf(this)&&a.push(this)},_unmarkTarget:function(){var a=this._targetAnimations(),b=a.indexOf(this);-1!==b&&a.splice(b,1)}}}(a,b),function(a,b,c){function d(a){var b=j;j=[],a1e-4?(u=.5/Math.sqrt(w),v=[(q[2][1]-q[1][2])*u,(q[0][2]-q[2][0])*u,(q[1][0]-q[0][1])*u,.25/u]):q[0][0]>q[1][1]&&q[0][0]>q[2][2]?(u=2*Math.sqrt(1+q[0][0]-q[1][1]-q[2][2]),v=[.25*u,(q[0][1]+q[1][0])/u,(q[0][2]+q[2][0])/u,(q[2][1]-q[1][2])/u]):q[1][1]>q[2][2]?(u=2*Math.sqrt(1+q[1][1]-q[0][0]-q[2][2]),v=[(q[0][1]+q[1][0])/u,.25*u,(q[1][2]+q[2][1])/u,(q[0][2]-q[2][0])/u]):(u=2*Math.sqrt(1+q[2][2]-q[0][0]-q[1][1]),v=[(q[0][2]+q[2][0])/u,(q[1][2]+q[2][1])/u,.25*u,(q[1][0]-q[0][1])/u]),[p,r,s,v,n]}return j}();a.dot=c,a.makeMatrixDecomposition=h,a.transformListToMatrix=g}(b),function(a){function b(a,b){var c=a.exec(b);if(c)return c=a.ignoreCase?c[0].toLowerCase():c[0],[c,b.substr(c.length)]}function c(a,b){b=b.replace(/^\\s*/,\"\");var c=a(b);if(c)return[c[0],c[1].replace(/^\\s*/,\"\")]}function d(a,d,e){a=c.bind(null,a);for(var f=[];;){var g=a(e);if(!g)return[f,e];if(f.push(g[0]),e=g[1],!(g=b(d,e))||\"\"==g[1])return[f,e];e=g[1]}}function e(a,b){for(var c=0,d=0;dd?c%=d:d%=c;return c=a*b/(c+d)}function g(a){return function(b){var c=a(b);return c&&(c[0]=void 0),c}}function h(a,b){return function(c){return a(c)||[b,c]}}function i(b,c){for(var d=[],e=0;e=1?b:\"visible\"}]}a.addPropertiesHandler(String,c,[\"visibility\"])}(b),function(a,b){function c(a){a=a.trim(),f.fillStyle=\"#000\",f.fillStyle=a;var b=f.fillStyle;if(f.fillStyle=\"#fff\",f.fillStyle=a,b==f.fillStyle){f.fillRect(0,0,1,1);var c=f.getImageData(0,0,1,1).data;f.clearRect(0,0,1,1);var d=c[3]/255;return[c[0]*d,c[1]*d,c[2]*d,d]}}function d(b,c){return[b,c,function(b){function c(a){return Math.max(0,Math.min(255,a))}if(b[3])for(var d=0;d<3;d++)b[d]=Math.round(c(b[d]/b[3]));return b[3]=a.numberToString(a.clamp(0,1,b[3])),\"rgba(\"+b.join(\",\")+\")\"}]}var e=document.createElementNS(\"http://www.w3.org/1999/xhtml\",\"canvas\");e.width=e.height=1;var f=e.getContext(\"2d\");a.addPropertiesHandler(c,d,[\"background-color\",\"border-bottom-color\",\"border-left-color\",\"border-right-color\",\"border-top-color\",\"color\",\"fill\",\"flood-color\",\"lighting-color\",\"outline-color\",\"stop-color\",\"stroke\",\"text-decoration-color\"]),a.consumeColor=a.consumeParenthesised.bind(null,c),a.mergeColors=d}(b),function(a,b){function c(a){function b(){var b=h.exec(a);g=b?b[0]:void 0}function c(){var a=Number(g);return b(),a}function d(){if(\"(\"!==g)return c();b();var a=f();return\")\"!==g?NaN:(b(),a)}function e(){for(var a=d();\"*\"===g||\"/\"===g;){var c=g;b();var e=d();\"*\"===c?a*=e:a/=e}return a}function f(){for(var a=e();\"+\"===g||\"-\"===g;){var c=g;b();var d=e();\"+\"===c?a+=d:a-=d}return a}var g,h=/([\\+\\-\\w\\.]+|[\\(\\)\\*\\/])/g;return b(),f()}function d(a,b){if(\"0\"==(b=b.trim().toLowerCase())&&\"px\".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\\(/g,\"(\");var d={};b=b.replace(a,function(a){return d[a]=null,\"U\"+a});for(var e=\"U(\"+a.source+\")\",f=b.replace(/[-+]?(\\d*\\.)?\\d+([Ee][-+]?\\d+)?/g,\"N\").replace(new RegExp(\"N\"+e,\"g\"),\"D\").replace(/\\s[+-]\\s/g,\"O\").replace(/\\s/g,\"\"),g=[/N\\*(D)/g,/(N|D)[*\\/]N/g,/(N|D)O\\1/g,/\\((N|D)\\)/g],h=0;h1?\"calc(\"+c+\")\":c}]}var g=\"px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc\",h=d.bind(null,new RegExp(g,\"g\")),i=d.bind(null,new RegExp(g+\"|%\",\"g\")),j=d.bind(null,/deg|rad|grad|turn/g);a.parseLength=h,a.parseLengthOrPercent=i,a.consumeLengthOrPercent=a.consumeParenthesised.bind(null,i),a.parseAngle=j,a.mergeDimensions=f;var k=a.consumeParenthesised.bind(null,h),l=a.consumeRepeated.bind(void 0,k,/^/),m=a.consumeRepeated.bind(void 0,l,/^,/);a.consumeSizePairList=m;var n=function(a){var b=m(a);if(b&&\"\"==b[1])return b[0]},o=a.mergeNestedRepeated.bind(void 0,e,\" \"),p=a.mergeNestedRepeated.bind(void 0,o,\",\");a.mergeNonNegativeSizePair=o,a.addPropertiesHandler(n,p,[\"background-size\"]),a.addPropertiesHandler(i,e,[\"border-bottom-width\",\"border-image-width\",\"border-left-width\",\"border-right-width\",\"border-top-width\",\"flex-basis\",\"font-size\",\"height\",\"line-height\",\"max-height\",\"max-width\",\"outline-width\",\"width\"]),a.addPropertiesHandler(i,f,[\"border-bottom-left-radius\",\"border-bottom-right-radius\",\"border-top-left-radius\",\"border-top-right-radius\",\"bottom\",\"left\",\"letter-spacing\",\"margin-bottom\",\"margin-left\",\"margin-right\",\"margin-top\",\"min-height\",\"min-width\",\"outline-offset\",\"padding-bottom\",\"padding-left\",\"padding-right\",\"padding-top\",\"perspective\",\"right\",\"shape-margin\",\"stroke-dashoffset\",\"text-indent\",\"top\",\"vertical-align\",\"word-spacing\"])}(b),function(a,b){function c(b){return a.consumeLengthOrPercent(b)||a.consumeToken(/^auto/,b)}function d(b){var d=a.consumeList([a.ignore(a.consumeToken.bind(null,/^rect/)),a.ignore(a.consumeToken.bind(null,/^\\(/)),a.consumeRepeated.bind(null,c,/^,/),a.ignore(a.consumeToken.bind(null,/^\\)/))],b);if(d&&4==d[0].length)return d[0]}function e(b,c){return\"auto\"==b||\"auto\"==c?[!0,!1,function(d){var e=d?b:c;if(\"auto\"==e)return\"auto\";var f=a.mergeDimensions(e,e);return f[2](f[0])}]:a.mergeDimensions(b,c)}function f(a){return\"rect(\"+a+\")\"}var g=a.mergeWrappedNestedRepeated.bind(null,f,e,\", \");a.parseBox=d,a.mergeBoxes=g,a.addPropertiesHandler(d,g,[\"clip\"])}(b),function(a,b){function c(a){return function(b){var c=0;return a.map(function(a){return a===k?b[c++]:a})}}function d(a){return a}function e(b){if(\"none\"==(b=b.toLowerCase().trim()))return[];for(var c,d=/\\s*(\\w+)\\(([^)]*)\\)/g,e=[],f=0;c=d.exec(b);){if(c.index!=f)return;f=c.index+c[0].length;var g=c[1],h=n[g];if(!h)return;var i=c[2].split(\",\"),j=h[0];if(j.length900||b%100!=0))return b}function c(b){return b=100*Math.round(b/100),b=a.clamp(100,900,b),400===b?\"normal\":700===b?\"bold\":String(b)}function d(a,b){return[a,b,c]}a.addPropertiesHandler(b,d,[\"font-weight\"])}(b),function(a){function b(a){var b={};for(var c in a)b[c]=-a[c];return b}function c(b){return a.consumeToken(/^(left|center|right|top|bottom)\\b/i,b)||a.consumeLengthOrPercent(b)}function d(b,d){var e=a.consumeRepeated(c,/^/,d);if(e&&\"\"==e[1]){var f=e[0];if(f[0]=f[0]||\"center\",f[1]=f[1]||\"center\",3==b&&(f[2]=f[2]||{px:0}),f.length==b){if(/top|bottom/.test(f[0])||/left|right/.test(f[1])){var h=f[0];f[0]=f[1],f[1]=h}if(/left|right|center|Object/.test(f[0])&&/top|bottom|center|Object/.test(f[1]))return f.map(function(a){return\"object\"==typeof a?a:g[a]})}}}function e(d){var e=a.consumeRepeated(c,/^/,d);if(e){for(var f=e[0],h=[{\"%\":50},{\"%\":50}],i=0,j=!1,k=0;k=0&&this._cancelHandlers.splice(c,1)}else i.call(this,a,b)},f}}}(),function(a){var b=document.documentElement,c=null,d=!1;try{var e=getComputedStyle(b).getPropertyValue(\"opacity\"),f=\"0\"==e?\"1\":\"0\";c=b.animate({opacity:[f,f]},{duration:1}),c.currentTime=0,d=getComputedStyle(b).getPropertyValue(\"opacity\")==f}catch(a){}finally{c&&c.cancel()}if(!d){var g=window.Element.prototype.animate;window.Element.prototype.animate=function(b,c){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&b[Symbol.iterator]&&(b=Array.from(b)),Array.isArray(b)||null===b||(b=a.convertToArrayForm(b)),g.call(this,b,c)}}}(a)}();\n//# sourceMappingURL=web-animations.min.js.map","import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function debounce(durationSelector) {\n return (source) => source.lift(new DebounceOperator(durationSelector));\n}\nclass DebounceOperator {\n constructor(durationSelector) {\n this.durationSelector = durationSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new DebounceSubscriber(subscriber, this.durationSelector));\n }\n}\nclass DebounceSubscriber extends SimpleOuterSubscriber {\n constructor(destination, durationSelector) {\n super(destination);\n this.durationSelector = durationSelector;\n this.hasValue = false;\n }\n _next(value) {\n try {\n const 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 _complete() {\n this.emitValue();\n this.destination.complete();\n }\n _tryNext(value, duration) {\n let subscription = this.durationSubscription;\n this.value = value;\n this.hasValue = true;\n if (subscription) {\n subscription.unsubscribe();\n this.remove(subscription);\n }\n subscription = innerSubscribe(duration, new SimpleInnerSubscriber(this));\n if (subscription && !subscription.closed) {\n this.add(this.durationSubscription = subscription);\n }\n }\n notifyNext() {\n this.emitValue();\n }\n notifyComplete() {\n this.emitValue();\n }\n emitValue() {\n if (this.hasValue) {\n const value = this.value;\n const subscription = this.durationSubscription;\n if (subscription) {\n this.durationSubscription = undefined;\n subscription.unsubscribe();\n this.remove(subscription);\n }\n this.value = undefined;\n this.hasValue = false;\n super._next(value);\n }\n }\n}\n//# sourceMappingURL=debounce.js.map","require('../../modules/es.math.acosh');\nrequire('../../modules/es.math.asinh');\nrequire('../../modules/es.math.atanh');\nrequire('../../modules/es.math.cbrt');\nrequire('../../modules/es.math.clz32');\nrequire('../../modules/es.math.cosh');\nrequire('../../modules/es.math.expm1');\nrequire('../../modules/es.math.fround');\nrequire('../../modules/es.math.hypot');\nrequire('../../modules/es.math.imul');\nrequire('../../modules/es.math.log10');\nrequire('../../modules/es.math.log1p');\nrequire('../../modules/es.math.log2');\nrequire('../../modules/es.math.sign');\nrequire('../../modules/es.math.sinh');\nrequire('../../modules/es.math.tanh');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.math.trunc');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Math;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\n\n// Forced replacement object prototype accessors methods\nmodule.exports = IS_PURE || !fails(function () {\n var key = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call -- required for testing\n __defineSetter__.call(null, key, function () { /* empty */ });\n delete global[key];\n});\n","import { Observable } from '../Observable';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (typeof obj.lift === 'function' && typeof obj.subscribe === 'function'));\n}\n//# sourceMappingURL=isObservable.js.map","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar dateToPrimitive = require('../internals/date-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar DatePrototype = Date.prototype;\n\n// `Date.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive\nif (!(TO_PRIMITIVE in DatePrototype)) {\n createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive);\n}\n","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n else if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n else if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n else if (isIterable(input) || typeof input === 'string') {\n return scheduleIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n//# sourceMappingURL=scheduled.js.map","import { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport const asapScheduler = new AsapScheduler(AsapAction);\nexport const asap = asapScheduler;\n//# sourceMappingURL=asap.js.map","import { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport class Subscriber extends Subscription {\n constructor(destinationOrNext, error, complete) {\n super();\n this.syncErrorValue = null;\n this.syncErrorThrown = false;\n this.syncErrorThrowable = false;\n this.isStopped = false;\n switch (arguments.length) {\n case 0:\n this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n this.destination = destinationOrNext;\n destinationOrNext.add(this);\n }\n else {\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext);\n }\n break;\n }\n default:\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n break;\n }\n }\n [rxSubscriberSymbol]() { return this; }\n static create(next, error, complete) {\n const subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n }\n next(value) {\n if (!this.isStopped) {\n this._next(value);\n }\n }\n error(err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n super.unsubscribe();\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n this.destination.error(err);\n this.unsubscribe();\n }\n _complete() {\n this.destination.complete();\n this.unsubscribe();\n }\n _unsubscribeAndRecycle() {\n const { _parentOrParents } = this;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(_parentSubscriber, observerOrNext, error, complete) {\n super();\n this._parentSubscriber = _parentSubscriber;\n let next;\n let context = this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = this.unsubscribe.bind(this);\n }\n }\n this._context = context;\n this._next = next;\n this._error = error;\n this._complete = complete;\n }\n next(value) {\n if (!this.isStopped && this._next) {\n const { _parentSubscriber } = this;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n }\n error(err) {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n const { useDeprecatedSynchronousErrorHandling } = config;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n }\n complete() {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n if (this._complete) {\n const wrappedComplete = () => this._complete.call(this._context);\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n }\n __tryOrUnsub(fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n }\n __tryOrSetError(parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n }\n _unsubscribe() {\n const { _parentSubscriber } = this;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscriber.js.map","require('../../modules/es.number.constructor');\nrequire('../../modules/es.number.epsilon');\nrequire('../../modules/es.number.is-finite');\nrequire('../../modules/es.number.is-integer');\nrequire('../../modules/es.number.is-nan');\nrequire('../../modules/es.number.is-safe-integer');\nrequire('../../modules/es.number.max-safe-integer');\nrequire('../../modules/es.number.min-safe-integer');\nrequire('../../modules/es.number.parse-float');\nrequire('../../modules/es.number.parse-int');\nrequire('../../modules/es.number.to-fixed');\nrequire('../../modules/es.number.to-precision');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number;\n","'use strict';\nvar $ = require('../internals/export');\nvar $trimStart = require('../internals/string-trim').start;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\nvar FORCED = forcedStringTrimMethod('trimStart');\n\nvar trimStart = FORCED ? function trimStart() {\n return $trimStart(this);\n// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe\n} : ''.trimStart;\n\n// `String.prototype.{ trimStart, trimLeft }` methods\n// https://tc39.es/ecma262/#sec-string.prototype.trimstart\n// https://tc39.es/ecma262/#String.prototype.trimleft\n$({ target: 'String', proto: true, forced: FORCED }, {\n trimStart: trimStart,\n trimLeft: trimStart\n});\n","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n//# sourceMappingURL=Action.js.map","import { CombineLatestOperator } from '../observable/combineLatest';\nexport function combineAll(project) {\n return (source) => source.lift(new CombineLatestOperator(project));\n}\n//# sourceMappingURL=combineAll.js.map","var $ = require('../internals/export');\nvar numberIsFinite = require('../internals/number-is-finite');\n\n// `Number.isFinite` method\n// https://tc39.es/ecma262/#sec-number.isfinite\n$({ target: 'Number', stat: true }, { isFinite: numberIsFinite });\n","import { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n const { closed, destination, isStopped } = observer;\n if (closed || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","// `Math.sign` method implementation\n// https://tc39.es/ecma262/#sec-math.sign\n// eslint-disable-next-line es/no-math-sign -- safe\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var setSpecies = require('../internals/set-species');\n\n// `Array[@@species]` getter\n// https://tc39.es/ecma262/#sec-get-array-@@species\nsetSpecies('Array');\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar FORCED = fails(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n});\n\n// `Date.prototype.toJSON` method\n// https://tc39.es/ecma262/#sec-date.prototype.tojson\n$({ target: 'Date', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","import { Subscriber } from '../Subscriber';\nexport function bufferCount(bufferSize, startBufferEvery = null) {\n return function bufferCountOperatorFunction(source) {\n return source.lift(new BufferCountOperator(bufferSize, startBufferEvery));\n };\n}\nclass BufferCountOperator {\n constructor(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 call(subscriber, source) {\n return source.subscribe(new this.subscriberClass(subscriber, this.bufferSize, this.startBufferEvery));\n }\n}\nclass BufferCountSubscriber extends Subscriber {\n constructor(destination, bufferSize) {\n super(destination);\n this.bufferSize = bufferSize;\n this.buffer = [];\n }\n _next(value) {\n const buffer = this.buffer;\n buffer.push(value);\n if (buffer.length == this.bufferSize) {\n this.destination.next(buffer);\n this.buffer = [];\n }\n }\n _complete() {\n const buffer = this.buffer;\n if (buffer.length > 0) {\n this.destination.next(buffer);\n }\n super._complete();\n }\n}\nclass BufferSkipCountSubscriber extends Subscriber {\n constructor(destination, bufferSize, startBufferEvery) {\n super(destination);\n this.bufferSize = bufferSize;\n this.startBufferEvery = startBufferEvery;\n this.buffers = [];\n this.count = 0;\n }\n _next(value) {\n const { bufferSize, startBufferEvery, buffers, count } = this;\n this.count++;\n if (count % startBufferEvery === 0) {\n buffers.push([]);\n }\n for (let i = buffers.length; i--;) {\n const 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 _complete() {\n const { buffers, destination } = this;\n while (buffers.length > 0) {\n let buffer = buffers.shift();\n if (buffer.length > 0) {\n destination.next(buffer);\n }\n }\n super._complete();\n }\n}\n//# sourceMappingURL=bufferCount.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $reduceRight = require('../internals/array-reduce').right;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduceRight');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduceRight` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduceright\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.es/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","import { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { filter } from './filter';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { take } from './take';\nexport function elementAt(index, defaultValue) {\n if (index < 0) {\n throw new ArgumentOutOfRangeError();\n }\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(filter((v, i) => i === index), take(1), hasDefaultValue\n ? defaultIfEmpty(defaultValue)\n : throwIfEmpty(() => new ArgumentOutOfRangeError()));\n}\n//# sourceMappingURL=elementAt.js.map","var $ = require('../internals/export');\nvar fround = require('../internals/math-fround');\n\n// `Math.fround` method\n// https://tc39.es/ecma262/#sec-math.fround\n$({ target: 'Math', stat: true }, { fround: fround });\n","const ObjectUnsubscribedErrorImpl = (() => {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport const ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\n// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n );\n } return elements.join('');\n }\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","import { not } from '../util/not';\nimport { filter } from './filter';\nexport function partition(predicate, thisArg) {\n return (source) => [\n filter(predicate, thisArg)(source),\n filter(not(predicate, thisArg))(source)\n ];\n}\n//# sourceMappingURL=partition.js.map","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\n\nvar DELEGATES_TO_EXEC = function () {\n var execCalled = false;\n var re = /[ac]/;\n re.exec = function () {\n execCalled = true;\n return /./.exec.apply(this, arguments);\n };\n return re.test('abc') === true && execCalled;\n}();\n\nvar nativeTest = /./.test;\n\n// `RegExp.prototype.test` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.test\n$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {\n test: function (str) {\n if (typeof this.exec !== 'function') {\n return nativeTest.call(this, str);\n }\n var result = this.exec(str);\n if (result !== null && !isObject(result)) {\n throw new Error('RegExp exec method returned something other than an Object or null');\n }\n return !!result;\n }\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar expm1 = require('../internals/math-expm1');\n\nvar abs = Math.abs;\nvar exp = Math.exp;\nvar E = Math.E;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-math-sinh -- required for testing\n return Math.sinh(-2e-17) != -2e-17;\n});\n\n// `Math.sinh` method\n// https://tc39.es/ecma262/#sec-math.sinh\n// V8 near Chromium 38 has a problem with very small numbers\n$({ target: 'Math', stat: true, forced: FORCED }, {\n sinh: function sinh(x) {\n return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2);\n }\n});\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function takeLast(count) {\n return function takeLastOperatorFunction(source) {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeLastOperator(count));\n }\n };\n}\nclass TakeLastOperator {\n constructor(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n call(subscriber, source) {\n return source.subscribe(new TakeLastSubscriber(subscriber, this.total));\n }\n}\nclass TakeLastSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.ring = new Array();\n this.count = 0;\n }\n _next(value) {\n const ring = this.ring;\n const total = this.total;\n const count = this.count++;\n if (ring.length < total) {\n ring.push(value);\n }\n else {\n const index = count % total;\n ring[index] = value;\n }\n }\n _complete() {\n const destination = this.destination;\n let count = this.count;\n if (count > 0) {\n const total = this.count >= this.total ? this.total : this.count;\n const ring = this.ring;\n for (let i = 0; i < total; i++) {\n const idx = (count++) % total;\n destination.next(ring[idx]);\n }\n }\n destination.complete();\n }\n}\n//# sourceMappingURL=takeLast.js.map","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.blink` method\n// https://tc39.es/ecma262/#sec-string.prototype.blink\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, {\n blink: function blink() {\n return createHTML(this, 'blink', '', '');\n }\n});\n","'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n return input && typeof input[Symbol_iterator] === 'function';\n}\n//# sourceMappingURL=isIterable.js.map","require('../modules/es.parse-int');\nvar path = require('../internals/path');\n\nmodule.exports = path.parseInt;\n","import { observable as Symbol_observable } from '../symbol/observable';\nexport const subscribeToObservable = (obj) => (subscriber) => {\n const obs = obj[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n};\n//# sourceMappingURL=subscribeToObservable.js.map","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable) {\n return input;\n }\n return new Observable(subscribeTo(input));\n }\n else {\n return scheduled(input, scheduler);\n }\n}\n//# sourceMappingURL=from.js.map","import { Subscriber } from '../Subscriber';\nexport function mapTo(value) {\n return (source) => source.lift(new MapToOperator(value));\n}\nclass MapToOperator {\n constructor(value) {\n this.value = value;\n }\n call(subscriber, source) {\n return source.subscribe(new MapToSubscriber(subscriber, this.value));\n }\n}\nclass MapToSubscriber extends Subscriber {\n constructor(destination, value) {\n super(destination);\n this.value = value;\n }\n _next(x) {\n this.destination.next(this.value);\n }\n}\n//# sourceMappingURL=mapTo.js.map","var $ = require('../internals/export');\nvar expm1 = require('../internals/math-expm1');\n\n// `Math.expm1` method\n// https://tc39.es/ecma262/#sec-math.expm1\n// eslint-disable-next-line es/no-math-expm1 -- required for testing\n$({ target: 'Math', stat: true, forced: expm1 != Math.expm1 }, { expm1: expm1 });\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\nexport const async = asyncScheduler;\n//# sourceMappingURL=async.js.map","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","export const isArray = (() => Array.isArray || ((x) => x && typeof x.length === 'number'))();\n//# sourceMappingURL=isArray.js.map","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var redefine = require('../internals/redefine');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar nativeDateToString = DatePrototype[TO_STRING];\nvar getTime = DatePrototype.getTime;\n\n// `Date.prototype.toString` method\n// https://tc39.es/ecma262/#sec-date.prototype.tostring\nif (new Date(NaN) + '' != INVALID_DATE) {\n redefine(DatePrototype, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare -- NaN check\n return value === value ? nativeDateToString.call(this) : INVALID_DATE;\n });\n}\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.big` method\n// https://tc39.es/ecma262/#sec-string.prototype.big\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, {\n big: function big() {\n return createHTML(this, 'big', '', '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (init) {\n return function WeakMap() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.es/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n } return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n } return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n } return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n","import { SubjectSubscriber } from '../Subject';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nexport class ConnectableObservable extends Observable {\n constructor(source, subjectFactory) {\n super();\n this.source = source;\n this.subjectFactory = subjectFactory;\n this._refCount = 0;\n this._isComplete = false;\n }\n _subscribe(subscriber) {\n return this.getSubject().subscribe(subscriber);\n }\n getSubject() {\n const subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n }\n connect() {\n let connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n }\n refCount() {\n return higherOrderRefCount()(this);\n }\n}\nexport const connectableObservableDescriptor = (() => {\n const connectableProto = ConnectableObservable.prototype;\n return {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n };\n})();\nclass ConnectableSubscriber extends SubjectSubscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _error(err) {\n this._unsubscribe();\n super._error(err);\n }\n _complete() {\n this.connectable._isComplete = true;\n this._unsubscribe();\n super._complete();\n }\n _unsubscribe() {\n const connectable = this.connectable;\n if (connectable) {\n this.connectable = null;\n const connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n }\n}\nclass RefCountOperator {\n constructor(connectable) {\n this.connectable = connectable;\n }\n call(subscriber, source) {\n const { connectable } = this;\n connectable._refCount++;\n const refCounter = new RefCountSubscriber(subscriber, connectable);\n const subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n }\n}\nclass RefCountSubscriber extends Subscriber {\n constructor(destination, connectable) {\n super(destination);\n this.connectable = connectable;\n }\n _unsubscribe() {\n const { connectable } = this;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n const refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n const { connection } = this;\n const sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n }\n}\n//# sourceMappingURL=ConnectableObservable.js.map","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","import { Observable } from '../Observable';\nexport const EMPTY = new Observable(subscriber => subscriber.complete());\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(subscriber => scheduler.schedule(() => subscriber.complete()));\n}\n//# sourceMappingURL=empty.js.map","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar aFunction = require('../internals/a-function');\nvar definePropertyModule = require('../internals/object-define-property');\n\n// `Object.prototype.__defineGetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __defineGetter__: function __defineGetter__(P, getter) {\n definePropertyModule.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n }\n });\n}\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","export function 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}\n//# sourceMappingURL=not.js.map","import { Subscription } from '../Subscription';\nimport { subscribeToResult } from '../util/subscribeToResult';\nimport { OuterSubscriber } from '../OuterSubscriber';\nexport function bufferToggle(openings, closingSelector) {\n return function bufferToggleOperatorFunction(source) {\n return source.lift(new BufferToggleOperator(openings, closingSelector));\n };\n}\nclass BufferToggleOperator {\n constructor(openings, closingSelector) {\n this.openings = openings;\n this.closingSelector = closingSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new BufferToggleSubscriber(subscriber, this.openings, this.closingSelector));\n }\n}\nclass BufferToggleSubscriber extends OuterSubscriber {\n constructor(destination, openings, closingSelector) {\n super(destination);\n this.closingSelector = closingSelector;\n this.contexts = [];\n this.add(subscribeToResult(this, openings));\n }\n _next(value) {\n const contexts = this.contexts;\n const len = contexts.length;\n for (let i = 0; i < len; i++) {\n contexts[i].buffer.push(value);\n }\n }\n _error(err) {\n const contexts = this.contexts;\n while (contexts.length > 0) {\n const context = contexts.shift();\n context.subscription.unsubscribe();\n context.buffer = null;\n context.subscription = null;\n }\n this.contexts = null;\n super._error(err);\n }\n _complete() {\n const contexts = this.contexts;\n while (contexts.length > 0) {\n const 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._complete();\n }\n notifyNext(outerValue, innerValue) {\n outerValue ? this.closeBuffer(outerValue) : this.openBuffer(innerValue);\n }\n notifyComplete(innerSub) {\n this.closeBuffer(innerSub.context);\n }\n openBuffer(value) {\n try {\n const closingSelector = this.closingSelector;\n const closingNotifier = closingSelector.call(this, value);\n if (closingNotifier) {\n this.trySubscribe(closingNotifier);\n }\n }\n catch (err) {\n this._error(err);\n }\n }\n closeBuffer(context) {\n const contexts = this.contexts;\n if (contexts && context) {\n const { buffer, subscription } = context;\n this.destination.next(buffer);\n contexts.splice(contexts.indexOf(context), 1);\n this.remove(subscription);\n subscription.unsubscribe();\n }\n }\n trySubscribe(closingNotifier) {\n const contexts = this.contexts;\n const buffer = [];\n const subscription = new Subscription();\n const context = { buffer, subscription };\n contexts.push(context);\n const innerSubscription = 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}\n//# sourceMappingURL=bufferToggle.js.map","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function expand(project, concurrent = Number.POSITIVE_INFINITY, scheduler) {\n concurrent = (concurrent || 0) < 1 ? Number.POSITIVE_INFINITY : concurrent;\n return (source) => source.lift(new ExpandOperator(project, concurrent, scheduler));\n}\nexport class ExpandOperator {\n constructor(project, concurrent, scheduler) {\n this.project = project;\n this.concurrent = concurrent;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new ExpandSubscriber(subscriber, this.project, this.concurrent, this.scheduler));\n }\n}\nexport class ExpandSubscriber extends SimpleOuterSubscriber {\n constructor(destination, project, concurrent, scheduler) {\n super(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 static dispatch(arg) {\n const { subscriber, result, value, index } = arg;\n subscriber.subscribeToProjection(result, value, index);\n }\n _next(value) {\n const destination = this.destination;\n if (destination.closed) {\n this._complete();\n return;\n }\n const index = this.index++;\n if (this.active < this.concurrent) {\n destination.next(value);\n try {\n const { project } = this;\n const result = project(value, index);\n if (!this.scheduler) {\n this.subscribeToProjection(result, value, index);\n }\n else {\n const state = { subscriber: this, result, value, index };\n const destination = this.destination;\n destination.add(this.scheduler.schedule(ExpandSubscriber.dispatch, 0, state));\n }\n }\n catch (e) {\n destination.error(e);\n }\n }\n else {\n this.buffer.push(value);\n }\n }\n subscribeToProjection(result, value, index) {\n this.active++;\n const destination = this.destination;\n destination.add(innerSubscribe(result, new SimpleInnerSubscriber(this)));\n }\n _complete() {\n this.hasCompleted = true;\n if (this.hasCompleted && this.active === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n }\n notifyNext(innerValue) {\n this._next(innerValue);\n }\n notifyComplete() {\n const buffer = this.buffer;\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}\n//# sourceMappingURL=expand.js.map","import { reduce } from './reduce';\nexport function min(comparer) {\n const min = (typeof comparer === 'function')\n ? (x, y) => comparer(x, y) < 0 ? x : y\n : (x, y) => x < y ? x : y;\n return reduce(min);\n}\n//# sourceMappingURL=min.js.map","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var $ = require('../internals/export');\nvar ownKeys = require('../internals/own-keys');\n\n// `Reflect.ownKeys` method\n// https://tc39.es/ecma262/#sec-reflect.ownkeys\n$({ target: 'Reflect', stat: true }, {\n ownKeys: ownKeys\n});\n","import { Subscriber } from '../Subscriber';\nexport function takeWhile(predicate, inclusive = false) {\n return (source) => source.lift(new TakeWhileOperator(predicate, inclusive));\n}\nclass TakeWhileOperator {\n constructor(predicate, inclusive) {\n this.predicate = predicate;\n this.inclusive = inclusive;\n }\n call(subscriber, source) {\n return source.subscribe(new TakeWhileSubscriber(subscriber, this.predicate, this.inclusive));\n }\n}\nclass TakeWhileSubscriber extends Subscriber {\n constructor(destination, predicate, inclusive) {\n super(destination);\n this.predicate = predicate;\n this.inclusive = inclusive;\n this.index = 0;\n }\n _next(value) {\n const destination = this.destination;\n let 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 nextOrComplete(value, predicateResult) {\n const destination = this.destination;\n if (Boolean(predicateResult)) {\n destination.next(value);\n }\n else {\n if (this.inclusive) {\n destination.next(value);\n }\n destination.complete();\n }\n }\n}\n//# sourceMappingURL=takeWhile.js.map","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.anchor` method\n// https://tc39.es/ecma262/#sec-string.prototype.anchor\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, {\n anchor: function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.fontsize` method\n// https://tc39.es/ecma262/#sec-string.prototype.fontsize\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, {\n fontsize: function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n }\n});\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","import { Subscriber } from '../Subscriber';\nexport function every(predicate, thisArg) {\n return (source) => source.lift(new EveryOperator(predicate, thisArg, source));\n}\nclass EveryOperator {\n constructor(predicate, thisArg, source) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.source = source;\n }\n call(observer, source) {\n return source.subscribe(new EverySubscriber(observer, this.predicate, this.thisArg, this.source));\n }\n}\nclass EverySubscriber extends Subscriber {\n constructor(destination, predicate, thisArg, source) {\n super(destination);\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.source = source;\n this.index = 0;\n this.thisArg = thisArg || this;\n }\n notifyComplete(everyValueMatch) {\n this.destination.next(everyValueMatch);\n this.destination.complete();\n }\n _next(value) {\n let 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 _complete() {\n this.notifyComplete(true);\n }\n}\n//# sourceMappingURL=every.js.map","import { zip as zipStatic } from '../observable/zip';\nexport function zip(...observables) {\n return function zipOperatorFunction(source) {\n return source.lift.call(zipStatic(source, ...observables));\n };\n}\n//# sourceMappingURL=zip.js.map","import { Subject } from '../Subject';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function repeatWhen(notifier) {\n return (source) => source.lift(new RepeatWhenOperator(notifier));\n}\nclass RepeatWhenOperator {\n constructor(notifier) {\n this.notifier = notifier;\n }\n call(subscriber, source) {\n return source.subscribe(new RepeatWhenSubscriber(subscriber, this.notifier, source));\n }\n}\nclass RepeatWhenSubscriber extends SimpleOuterSubscriber {\n constructor(destination, notifier, source) {\n super(destination);\n this.notifier = notifier;\n this.source = source;\n this.sourceIsBeingSubscribedTo = true;\n }\n notifyNext() {\n this.sourceIsBeingSubscribedTo = true;\n this.source.subscribe(this);\n }\n notifyComplete() {\n if (this.sourceIsBeingSubscribedTo === false) {\n return super.complete();\n }\n }\n complete() {\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.complete();\n }\n this._unsubscribeAndRecycle();\n this.notifications.next(undefined);\n }\n }\n _unsubscribe() {\n const { notifications, retriesSubscription } = this;\n if (notifications) {\n notifications.unsubscribe();\n this.notifications = undefined;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = undefined;\n }\n this.retries = undefined;\n }\n _unsubscribeAndRecycle() {\n const { _unsubscribe } = this;\n this._unsubscribe = null;\n super._unsubscribeAndRecycle();\n this._unsubscribe = _unsubscribe;\n return this;\n }\n subscribeToRetries() {\n this.notifications = new Subject();\n let retries;\n try {\n const { notifier } = this;\n retries = notifier(this.notifications);\n }\n catch (e) {\n return super.complete();\n }\n this.retries = retries;\n this.retriesSubscription = innerSubscribe(retries, new SimpleInnerSubscriber(this));\n }\n}\n//# sourceMappingURL=repeatWhen.js.map","import { of } from './of';\nimport { concatAll } from '../operators/concatAll';\nexport function concat(...observables) {\n return concatAll()(of(...observables));\n}\n//# sourceMappingURL=concat.js.map","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","import { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nexport class Observable {\n constructor(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const { operator } = this;\n const sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let subscription;\n subscription = this.subscribe((value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n }\n _subscribe(subscriber) {\n const { source } = this;\n return source && source.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => value = x, (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class QueueScheduler extends AsyncScheduler {\n}\n//# sourceMappingURL=QueueScheduler.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $trimEnd = require('../internals/string-trim').end;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\nvar FORCED = forcedStringTrimMethod('trimEnd');\n\nvar trimEnd = FORCED ? function trimEnd() {\n return $trimEnd(this);\n// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe\n} : ''.trimEnd;\n\n// `String.prototype.{ trimEnd, trimRight }` methods\n// https://tc39.es/ecma262/#sec-string.prototype.trimend\n// https://tc39.es/ecma262/#String.prototype.trimright\n$({ target: 'String', proto: true, forced: FORCED }, {\n trimEnd: trimEnd,\n trimRight: trimEnd\n});\n","import { Observable } from '../Observable';\nimport { from } from './from';\nimport { isArray } from '../util/isArray';\nimport { EMPTY } from './empty';\nexport function onErrorResumeNext(...sources) {\n if (sources.length === 0) {\n return EMPTY;\n }\n const [first, ...remainder] = sources;\n if (sources.length === 1 && isArray(first)) {\n return onErrorResumeNext(...first);\n }\n return new Observable(subscriber => {\n const subNext = () => subscriber.add(onErrorResumeNext(...remainder).subscribe(subscriber));\n return from(first).subscribe({\n next(value) { subscriber.next(value); },\n error: subNext,\n complete: subNext,\n });\n });\n}\n//# sourceMappingURL=onErrorResumeNext.js.map","import { Subscriber } from '../Subscriber';\nexport function count(predicate) {\n return (source) => source.lift(new CountOperator(predicate, source));\n}\nclass CountOperator {\n constructor(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n call(subscriber, source) {\n return source.subscribe(new CountSubscriber(subscriber, this.predicate, this.source));\n }\n}\nclass CountSubscriber extends Subscriber {\n constructor(destination, predicate, source) {\n super(destination);\n this.predicate = predicate;\n this.source = source;\n this.count = 0;\n this.index = 0;\n }\n _next(value) {\n if (this.predicate) {\n this._tryPredicate(value);\n }\n else {\n this.count++;\n }\n }\n _tryPredicate(value) {\n let 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 _complete() {\n this.destination.next(this.count);\n this.destination.complete();\n }\n}\n//# sourceMappingURL=count.js.map","var log = Math.log;\n\n// `Math.log1p` method implementation\n// https://tc39.es/ecma262/#sec-math.log1p\n// eslint-disable-next-line es/no-math-log1p -- safe\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n//# sourceMappingURL=isArrayLike.js.map","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","import { reduce } from './reduce';\nfunction toArrayReducer(arr, item, index) {\n if (index === 0) {\n return [item];\n }\n arr.push(item);\n return arr;\n}\nexport function toArray() {\n return reduce(toArrayReducer, []);\n}\n//# sourceMappingURL=toArray.js.map","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, () => {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n });\n this.actions = [];\n this.active = false;\n this.scheduled = undefined;\n }\n schedule(work, delay = 0, state) {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return super.schedule(work, delay, state);\n }\n }\n flush(action) {\n const { actions } = this;\n if (this.active) {\n actions.push(action);\n return;\n }\n let error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n//# sourceMappingURL=AsyncScheduler.js.map","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.strike` method\n// https://tc39.es/ecma262/#sec-string.prototype.strike\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, {\n strike: function strike() {\n return createHTML(this, 'strike', '', '');\n }\n});\n","import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function take(count) {\n return (source) => {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nclass TakeOperator {\n constructor(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n call(subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n }\n}\nclass TakeSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.count = 0;\n }\n _next(value) {\n const total = this.total;\n const count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n }\n}\n//# sourceMappingURL=take.js.map","var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","import { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function catchError(selector) {\n return function catchErrorOperatorFunction(source) {\n const operator = new CatchOperator(selector);\n const caught = source.lift(operator);\n return (operator.caught = caught);\n };\n}\nclass CatchOperator {\n constructor(selector) {\n this.selector = selector;\n }\n call(subscriber, source) {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n }\n}\nclass CatchSubscriber extends SimpleOuterSubscriber {\n constructor(destination, selector, caught) {\n super(destination);\n this.selector = selector;\n this.caught = caught;\n }\n error(err) {\n if (!this.isStopped) {\n let result;\n try {\n result = this.selector(err, this.caught);\n }\n catch (err2) {\n super.error(err2);\n return;\n }\n this._unsubscribeAndRecycle();\n const innerSubscriber = new SimpleInnerSubscriber(this);\n this.add(innerSubscriber);\n const innerSubscription = innerSubscribe(result, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n this.add(innerSubscription);\n }\n }\n }\n}\n//# sourceMappingURL=catchError.js.map","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import { concat } from '../observable/concat';\nimport { isScheduler } from '../util/isScheduler';\nexport function startWith(...array) {\n const scheduler = array[array.length - 1];\n if (isScheduler(scheduler)) {\n array.pop();\n return (source) => concat(array, source, scheduler);\n }\n else {\n return (source) => concat(array, source);\n }\n}\n//# sourceMappingURL=startWith.js.map","var $ = require('../internals/export');\nvar parseInt = require('../internals/number-parse-int');\n\n// `Number.parseInt` method\n// https://tc39.es/ecma262/#sec-number.parseint\n// eslint-disable-next-line es/no-number-parseint -- required for testing\n$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, {\n parseInt: parseInt\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","import { ZipOperator } from '../observable/zip';\nexport function zipAll(project) {\n return (source) => source.lift(new ZipOperator(project));\n}\n//# sourceMappingURL=zipAll.js.map","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\nvar nativeReverse = [].reverse;\nvar test = [1, 2];\n\n// `Array.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-array.prototype.reverse\n// fix for Safari 12.0 bug\n// https://bugs.webkit.org/show_bug.cgi?id=188794\n$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {\n reverse: function reverse() {\n // eslint-disable-next-line no-self-assign -- dirty hack\n if (isArray(this)) this.length = this.length;\n return nativeReverse.call(this);\n }\n});\n","import { FindValueOperator } from '../operators/find';\nexport function findIndex(predicate, thisArg) {\n return (source) => source.lift(new FindValueOperator(predicate, source, true, thisArg));\n}\n//# sourceMappingURL=findIndex.js.map","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","import { Subscriber } from '../Subscriber';\nimport { async } from '../scheduler/async';\nexport function debounceTime(dueTime, scheduler = async) {\n return (source) => source.lift(new DebounceTimeOperator(dueTime, scheduler));\n}\nclass DebounceTimeOperator {\n constructor(dueTime, scheduler) {\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new DebounceTimeSubscriber(subscriber, this.dueTime, this.scheduler));\n }\n}\nclass DebounceTimeSubscriber extends Subscriber {\n constructor(destination, dueTime, scheduler) {\n super(destination);\n this.dueTime = dueTime;\n this.scheduler = scheduler;\n this.debouncedSubscription = null;\n this.lastValue = null;\n this.hasValue = false;\n }\n _next(value) {\n this.clearDebounce();\n this.lastValue = value;\n this.hasValue = true;\n this.add(this.debouncedSubscription = this.scheduler.schedule(dispatchNext, this.dueTime, this));\n }\n _complete() {\n this.debouncedNext();\n this.destination.complete();\n }\n debouncedNext() {\n this.clearDebounce();\n if (this.hasValue) {\n const { lastValue } = this;\n this.lastValue = null;\n this.hasValue = false;\n this.destination.next(lastValue);\n }\n }\n clearDebounce() {\n const debouncedSubscription = this.debouncedSubscription;\n if (debouncedSubscription !== null) {\n this.remove(debouncedSubscription);\n debouncedSubscription.unsubscribe();\n this.debouncedSubscription = null;\n }\n }\n}\nfunction dispatchNext(subscriber) {\n subscriber.debouncedNext();\n}\n//# sourceMappingURL=debounceTime.js.map","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","import { Subscriber } from '../Subscriber';\nexport function scan(accumulator, seed) {\n let hasSeed = false;\n if (arguments.length >= 2) {\n hasSeed = true;\n }\n return function scanOperatorFunction(source) {\n return source.lift(new ScanOperator(accumulator, seed, hasSeed));\n };\n}\nclass ScanOperator {\n constructor(accumulator, seed, hasSeed = false) {\n this.accumulator = accumulator;\n this.seed = seed;\n this.hasSeed = hasSeed;\n }\n call(subscriber, source) {\n return source.subscribe(new ScanSubscriber(subscriber, this.accumulator, this.seed, this.hasSeed));\n }\n}\nclass ScanSubscriber extends Subscriber {\n constructor(destination, accumulator, _seed, hasSeed) {\n super(destination);\n this.accumulator = accumulator;\n this._seed = _seed;\n this.hasSeed = hasSeed;\n this.index = 0;\n }\n get seed() {\n return this._seed;\n }\n set seed(value) {\n this.hasSeed = true;\n this._seed = value;\n }\n _next(value) {\n if (!this.hasSeed) {\n this.seed = value;\n this.destination.next(value);\n }\n else {\n return this._tryNext(value);\n }\n }\n _tryNext(value) {\n const index = this.index++;\n let result;\n try {\n result = this.accumulator(this.seed, value, index);\n }\n catch (err) {\n this.destination.error(err);\n }\n this.seed = result;\n this.destination.next(result);\n }\n}\n//# sourceMappingURL=scan.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","require('../../modules/es.regexp.constructor');\nrequire('../../modules/es.regexp.to-string');\nrequire('../../modules/es.regexp.exec');\nrequire('../../modules/es.regexp.flags');\nrequire('../../modules/es.regexp.sticky');\nrequire('../../modules/es.regexp.test');\nrequire('../../modules/es.string.match');\nrequire('../../modules/es.string.replace');\nrequire('../../modules/es.string.search');\nrequire('../../modules/es.string.split');\n","var $ = require('../internals/export');\nvar sign = require('../internals/math-sign');\n\n// `Math.sign` method\n// https://tc39.es/ecma262/#sec-math.sign\n$({ target: 'Math', stat: true }, {\n sign: sign\n});\n","var $ = require('../internals/export');\nvar is = require('../internals/same-value');\n\n// `Object.is` method\n// https://tc39.es/ecma262/#sec-object.is\n$({ target: 'Object', stat: true }, {\n is: is\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar UNSUPPORTED_Y = require('../internals/regexp-sticky-helpers').UNSUPPORTED_Y;\nvar defineProperty = require('../internals/object-define-property').f;\nvar getInternalState = require('../internals/internal-state').get;\nvar RegExpPrototype = RegExp.prototype;\n\n// `RegExp.prototype.sticky` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky\nif (DESCRIPTORS && UNSUPPORTED_Y) {\n defineProperty(RegExp.prototype, 'sticky', {\n configurable: true,\n get: function () {\n if (this === RegExpPrototype) return undefined;\n // We can't use InternalStateModule.getterFor because\n // we don't add metadata for regexps created by a literal.\n if (this instanceof RegExp) {\n return !!getInternalState(this).sticky;\n }\n throw TypeError('Incompatible receiver, RegExp required');\n }\n });\n}\n","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-startswith -- safe\nvar $startsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","import { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function of(...args) {\n let scheduler = args[args.length - 1];\n if (isScheduler(scheduler)) {\n args.pop();\n return scheduleArray(args, scheduler);\n }\n else {\n return fromArray(args);\n }\n}\n//# sourceMappingURL=of.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\nexport const $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(subscriber => {\n const sub = new Subscription();\n let iterator;\n sub.add(() => {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(() => {\n iterator = input[Symbol_iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n let value;\n let done;\n try {\n const result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map","import { Subject } from '../Subject';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function retryWhen(notifier) {\n return (source) => source.lift(new RetryWhenOperator(notifier, source));\n}\nclass RetryWhenOperator {\n constructor(notifier, source) {\n this.notifier = notifier;\n this.source = source;\n }\n call(subscriber, source) {\n return source.subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source));\n }\n}\nclass RetryWhenSubscriber extends SimpleOuterSubscriber {\n constructor(destination, notifier, source) {\n super(destination);\n this.notifier = notifier;\n this.source = source;\n }\n error(err) {\n if (!this.isStopped) {\n let errors = this.errors;\n let retries = this.retries;\n let retriesSubscription = this.retriesSubscription;\n if (!retries) {\n errors = new Subject();\n try {\n const { notifier } = this;\n retries = notifier(errors);\n }\n catch (e) {\n return super.error(e);\n }\n retriesSubscription = innerSubscribe(retries, new SimpleInnerSubscriber(this));\n }\n else {\n this.errors = undefined;\n this.retriesSubscription = undefined;\n }\n this._unsubscribeAndRecycle();\n this.errors = errors;\n this.retries = retries;\n this.retriesSubscription = retriesSubscription;\n errors.next(err);\n }\n }\n _unsubscribe() {\n const { errors, retriesSubscription } = this;\n if (errors) {\n errors.unsubscribe();\n this.errors = undefined;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = undefined;\n }\n this.retries = undefined;\n }\n notifyNext() {\n const { _unsubscribe } = this;\n this._unsubscribe = null;\n this._unsubscribeAndRecycle();\n this._unsubscribe = _unsubscribe;\n this.source.subscribe(this);\n }\n}\n//# sourceMappingURL=retryWhen.js.map","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { Subject } from './Subject';\nimport { Subscription } from './Subscription';\nexport class AsyncSubject extends Subject {\n constructor() {\n super(...arguments);\n this.value = null;\n this.hasNext = false;\n this.hasCompleted = false;\n }\n _subscribe(subscriber) {\n if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.hasCompleted && this.hasNext) {\n subscriber.next(this.value);\n subscriber.complete();\n return Subscription.EMPTY;\n }\n return super._subscribe(subscriber);\n }\n next(value) {\n if (!this.hasCompleted) {\n this.value = value;\n this.hasNext = true;\n }\n }\n error(error) {\n if (!this.hasCompleted) {\n super.error(error);\n }\n }\n complete() {\n this.hasCompleted = true;\n if (this.hasNext) {\n super.next(this.value);\n }\n super.complete();\n }\n}\n//# sourceMappingURL=AsyncSubject.js.map","export function hostReportError(err) {\n setTimeout(() => { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { takeLast } from './takeLast';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { identity } from '../util/identity';\nexport function last(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, takeLast(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n//# sourceMappingURL=last.js.map","import { Observable } from '../Observable';\nexport function range(start = 0, count, scheduler) {\n return new Observable(subscriber => {\n if (count === undefined) {\n count = start;\n start = 0;\n }\n let index = 0;\n let current = start;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n index, count, start, subscriber\n });\n }\n else {\n do {\n if (index++ >= count) {\n subscriber.complete();\n break;\n }\n subscriber.next(current++);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n }\n return undefined;\n });\n}\nexport function dispatch(state) {\n const { start, index, count, subscriber } = state;\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//# sourceMappingURL=range.js.map","import { Observable } from '../Observable';\nimport { from } from './from';\nimport { empty } from './empty';\nexport function defer(observableFactory) {\n return new Observable(subscriber => {\n let input;\n try {\n input = observableFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n const source = input ? from(input) : empty();\n return source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=defer.js.map","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var $ = require('../internals/export');\n\n// `Number.EPSILON` constant\n// https://tc39.es/ecma262/#sec-number.epsilon\n$({ target: 'Number', stat: true }, {\n EPSILON: Math.pow(2, -52)\n});\n","import { Subject } from '../Subject';\nimport { multicast } from './multicast';\nexport function publish(selector) {\n return selector ?\n multicast(() => new Subject(), selector) :\n multicast(new Subject());\n}\n//# sourceMappingURL=publish.js.map","import { isArray } from '../util/isArray';\nimport { fromArray } from './fromArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function race(...observables) {\n if (observables.length === 1) {\n if (isArray(observables[0])) {\n observables = observables[0];\n }\n else {\n return observables[0];\n }\n }\n return fromArray(observables, undefined).lift(new RaceOperator());\n}\nexport class RaceOperator {\n call(subscriber, source) {\n return source.subscribe(new RaceSubscriber(subscriber));\n }\n}\nexport class RaceSubscriber extends OuterSubscriber {\n constructor(destination) {\n super(destination);\n this.hasFirst = false;\n this.observables = [];\n this.subscriptions = [];\n }\n _next(observable) {\n this.observables.push(observable);\n }\n _complete() {\n const observables = this.observables;\n const len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n for (let i = 0; i < len && !this.hasFirst; i++) {\n const observable = observables[i];\n const subscription = subscribeToResult(this, observable, undefined, i);\n if (this.subscriptions) {\n this.subscriptions.push(subscription);\n }\n this.add(subscription);\n }\n this.observables = null;\n }\n }\n notifyNext(_outerValue, innerValue, outerIndex) {\n if (!this.hasFirst) {\n this.hasFirst = true;\n for (let i = 0; i < this.subscriptions.length; i++) {\n if (i !== outerIndex) {\n let 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}\n//# sourceMappingURL=race.js.map","import { Observable } from '../Observable';\nimport { asap } from '../scheduler/asap';\nimport { isNumeric } from '../util/isNumeric';\nexport class SubscribeOnObservable extends Observable {\n constructor(source, delayTime = 0, scheduler = asap) {\n super();\n this.source = source;\n this.delayTime = delayTime;\n this.scheduler = scheduler;\n if (!isNumeric(delayTime) || delayTime < 0) {\n this.delayTime = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n this.scheduler = asap;\n }\n }\n static create(source, delay = 0, scheduler = asap) {\n return new SubscribeOnObservable(source, delay, scheduler);\n }\n static dispatch(arg) {\n const { source, subscriber } = arg;\n return this.add(source.subscribe(subscriber));\n }\n _subscribe(subscriber) {\n const delay = this.delayTime;\n const source = this.source;\n const scheduler = this.scheduler;\n return scheduler.schedule(SubscribeOnObservable.dispatch, delay, {\n source, subscriber\n });\n }\n}\n//# sourceMappingURL=SubscribeOnObservable.js.map","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","var $ = require('../internals/export');\nvar repeat = require('../internals/string-repeat');\n\n// `String.prototype.repeat` method\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\n$({ target: 'String', proto: true }, {\n repeat: repeat\n});\n","import { Subscriber } from '../Subscriber';\nimport { Subscription } from '../Subscription';\nimport { Observable } from '../Observable';\nimport { Subject } from '../Subject';\nexport function groupBy(keySelector, elementSelector, durationSelector, subjectSelector) {\n return (source) => source.lift(new GroupByOperator(keySelector, elementSelector, durationSelector, subjectSelector));\n}\nclass GroupByOperator {\n constructor(keySelector, elementSelector, durationSelector, subjectSelector) {\n this.keySelector = keySelector;\n this.elementSelector = elementSelector;\n this.durationSelector = durationSelector;\n this.subjectSelector = subjectSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new GroupBySubscriber(subscriber, this.keySelector, this.elementSelector, this.durationSelector, this.subjectSelector));\n }\n}\nclass GroupBySubscriber extends Subscriber {\n constructor(destination, keySelector, elementSelector, durationSelector, subjectSelector) {\n super(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 _next(value) {\n let 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 _group(value, key) {\n let groups = this.groups;\n if (!groups) {\n groups = this.groups = new Map();\n }\n let group = groups.get(key);\n let 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());\n groups.set(key, group);\n const groupedObservable = new GroupedObservable(key, group, this);\n this.destination.next(groupedObservable);\n if (this.durationSelector) {\n let duration;\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 _error(err) {\n const groups = this.groups;\n if (groups) {\n groups.forEach((group, key) => {\n group.error(err);\n });\n groups.clear();\n }\n this.destination.error(err);\n }\n _complete() {\n const groups = this.groups;\n if (groups) {\n groups.forEach((group, key) => {\n group.complete();\n });\n groups.clear();\n }\n this.destination.complete();\n }\n removeGroup(key) {\n this.groups.delete(key);\n }\n unsubscribe() {\n if (!this.closed) {\n this.attemptedToUnsubscribe = true;\n if (this.count === 0) {\n super.unsubscribe();\n }\n }\n }\n}\nclass GroupDurationSubscriber extends Subscriber {\n constructor(key, group, parent) {\n super(group);\n this.key = key;\n this.group = group;\n this.parent = parent;\n }\n _next(value) {\n this.complete();\n }\n _unsubscribe() {\n const { parent, key } = this;\n this.key = this.parent = null;\n if (parent) {\n parent.removeGroup(key);\n }\n }\n}\nexport class GroupedObservable extends Observable {\n constructor(key, groupSubject, refCountSubscription) {\n super();\n this.key = key;\n this.groupSubject = groupSubject;\n this.refCountSubscription = refCountSubscription;\n }\n _subscribe(subscriber) {\n const subscription = new Subscription();\n const { refCountSubscription, groupSubject } = this;\n if (refCountSubscription && !refCountSubscription.closed) {\n subscription.add(new InnerRefCountSubscription(refCountSubscription));\n }\n subscription.add(groupSubject.subscribe(subscriber));\n return subscription;\n }\n}\nclass InnerRefCountSubscription extends Subscription {\n constructor(parent) {\n super();\n this.parent = parent;\n parent.count++;\n }\n unsubscribe() {\n const parent = this.parent;\n if (!parent.closed && !this.closed) {\n super.unsubscribe();\n parent.count -= 1;\n if (parent.count === 0 && parent.attemptedToUnsubscribe) {\n parent.unsubscribe();\n }\n }\n }\n}\n//# sourceMappingURL=groupBy.js.map","import { async } from '../scheduler/async';\nimport { Subscriber } from '../Subscriber';\nimport { isScheduler } from '../util/isScheduler';\nexport function bufferTime(bufferTimeSpan) {\n let length = arguments.length;\n let scheduler = async;\n if (isScheduler(arguments[arguments.length - 1])) {\n scheduler = arguments[arguments.length - 1];\n length--;\n }\n let bufferCreationInterval = null;\n if (length >= 2) {\n bufferCreationInterval = arguments[1];\n }\n let 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}\nclass BufferTimeOperator {\n constructor(bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n this.bufferTimeSpan = bufferTimeSpan;\n this.bufferCreationInterval = bufferCreationInterval;\n this.maxBufferSize = maxBufferSize;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new BufferTimeSubscriber(subscriber, this.bufferTimeSpan, this.bufferCreationInterval, this.maxBufferSize, this.scheduler));\n }\n}\nclass Context {\n constructor() {\n this.buffer = [];\n }\n}\nclass BufferTimeSubscriber extends Subscriber {\n constructor(destination, bufferTimeSpan, bufferCreationInterval, maxBufferSize, scheduler) {\n super(destination);\n this.bufferTimeSpan = bufferTimeSpan;\n this.bufferCreationInterval = bufferCreationInterval;\n this.maxBufferSize = maxBufferSize;\n this.scheduler = scheduler;\n this.contexts = [];\n const context = this.openContext();\n this.timespanOnly = bufferCreationInterval == null || bufferCreationInterval < 0;\n if (this.timespanOnly) {\n const timeSpanOnlyState = { subscriber: this, context, bufferTimeSpan };\n this.add(context.closeAction = scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n else {\n const closeState = { subscriber: this, context };\n const creationState = { bufferTimeSpan, bufferCreationInterval, subscriber: this, scheduler };\n this.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, closeState));\n this.add(scheduler.schedule(dispatchBufferCreation, bufferCreationInterval, creationState));\n }\n }\n _next(value) {\n const contexts = this.contexts;\n const len = contexts.length;\n let filledBufferContext;\n for (let i = 0; i < len; i++) {\n const context = contexts[i];\n const 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 _error(err) {\n this.contexts.length = 0;\n super._error(err);\n }\n _complete() {\n const { contexts, destination } = this;\n while (contexts.length > 0) {\n const context = contexts.shift();\n destination.next(context.buffer);\n }\n super._complete();\n }\n _unsubscribe() {\n this.contexts = null;\n }\n onBufferFull(context) {\n this.closeContext(context);\n const closeAction = context.closeAction;\n closeAction.unsubscribe();\n this.remove(closeAction);\n if (!this.closed && this.timespanOnly) {\n context = this.openContext();\n const bufferTimeSpan = this.bufferTimeSpan;\n const timeSpanOnlyState = { subscriber: this, context, bufferTimeSpan };\n this.add(context.closeAction = this.scheduler.schedule(dispatchBufferTimeSpanOnly, bufferTimeSpan, timeSpanOnlyState));\n }\n }\n openContext() {\n const context = new Context();\n this.contexts.push(context);\n return context;\n }\n closeContext(context) {\n this.destination.next(context.buffer);\n const contexts = this.contexts;\n const spliceIndex = contexts ? contexts.indexOf(context) : -1;\n if (spliceIndex >= 0) {\n contexts.splice(contexts.indexOf(context), 1);\n }\n }\n}\nfunction dispatchBufferTimeSpanOnly(state) {\n const subscriber = state.subscriber;\n const 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 const { bufferCreationInterval, bufferTimeSpan, subscriber, scheduler } = state;\n const context = subscriber.openContext();\n const action = this;\n if (!subscriber.closed) {\n subscriber.add(context.closeAction = scheduler.schedule(dispatchBufferClose, bufferTimeSpan, { subscriber, context }));\n action.schedule(state, bufferCreationInterval);\n }\n}\nfunction dispatchBufferClose(arg) {\n const { subscriber, context } = arg;\n subscriber.closeContext(context);\n}\n//# sourceMappingURL=bufferTime.js.map","module.exports = {};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { distinctUntilChanged } from './distinctUntilChanged';\nexport function distinctUntilKeyChanged(key, compare) {\n return distinctUntilChanged((x, y) => compare ? compare(x[key], y[key]) : x[key] === y[key]);\n}\n//# sourceMappingURL=distinctUntilKeyChanged.js.map","import { Subscription } from '../Subscription';\nimport { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function bufferWhen(closingSelector) {\n return function (source) {\n return source.lift(new BufferWhenOperator(closingSelector));\n };\n}\nclass BufferWhenOperator {\n constructor(closingSelector) {\n this.closingSelector = closingSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new BufferWhenSubscriber(subscriber, this.closingSelector));\n }\n}\nclass BufferWhenSubscriber extends SimpleOuterSubscriber {\n constructor(destination, closingSelector) {\n super(destination);\n this.closingSelector = closingSelector;\n this.subscribing = false;\n this.openBuffer();\n }\n _next(value) {\n this.buffer.push(value);\n }\n _complete() {\n const buffer = this.buffer;\n if (buffer) {\n this.destination.next(buffer);\n }\n super._complete();\n }\n _unsubscribe() {\n this.buffer = undefined;\n this.subscribing = false;\n }\n notifyNext() {\n this.openBuffer();\n }\n notifyComplete() {\n if (this.subscribing) {\n this.complete();\n }\n else {\n this.openBuffer();\n }\n }\n openBuffer() {\n let { closingSubscription } = this;\n if (closingSubscription) {\n this.remove(closingSubscription);\n closingSubscription.unsubscribe();\n }\n const buffer = this.buffer;\n if (this.buffer) {\n this.destination.next(buffer);\n }\n this.buffer = [];\n let closingNotifier;\n try {\n const { closingSelector } = this;\n closingNotifier = closingSelector();\n }\n catch (err) {\n return this.error(err);\n }\n closingSubscription = new Subscription();\n this.closingSubscription = closingSubscription;\n this.add(closingSubscription);\n this.subscribing = true;\n closingSubscription.add(innerSubscribe(closingNotifier, new SimpleInnerSubscriber(this)));\n this.subscribing = false;\n }\n}\n//# sourceMappingURL=bufferWhen.js.map","var $ = require('../internals/export');\nvar sign = require('../internals/math-sign');\n\nvar abs = Math.abs;\nvar pow = Math.pow;\n\n// `Math.cbrt` method\n// https://tc39.es/ecma262/#sec-math.cbrt\n$({ target: 'Math', stat: true }, {\n cbrt: function cbrt(x) {\n return sign(x = +x) * pow(abs(x), 1 / 3);\n }\n});\n","import { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isNumeric } from '../util/isNumeric';\nimport { isScheduler } from '../util/isScheduler';\nexport function timer(dueTime = 0, periodOrScheduler, scheduler) {\n let period = -1;\n if (isNumeric(periodOrScheduler)) {\n period = Number(periodOrScheduler) < 1 && 1 || Number(periodOrScheduler);\n }\n else if (isScheduler(periodOrScheduler)) {\n scheduler = periodOrScheduler;\n }\n if (!isScheduler(scheduler)) {\n scheduler = async;\n }\n return new Observable(subscriber => {\n const due = isNumeric(dueTime)\n ? dueTime\n : (+dueTime - scheduler.now());\n return scheduler.schedule(dispatch, due, {\n index: 0, period, subscriber\n });\n });\n}\nfunction dispatch(state) {\n const { index, period, subscriber } = state;\n subscriber.next(index);\n if (subscriber.closed) {\n return;\n }\n else if (period === -1) {\n return subscriber.complete();\n }\n state.index = index + 1;\n this.schedule(state, period);\n}\n//# sourceMappingURL=timer.js.map","import { Immediate } from '../util/Immediate';\nimport { AsyncAction } from './AsyncAction';\nexport class AsapAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = Immediate.setImmediate(scheduler.flush.bind(scheduler, null)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n Immediate.clearImmediate(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n }\n}\n//# sourceMappingURL=AsapAction.js.map","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar fails = require('../internals/fails');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\nvar ERROR_INSTEAD_OF_FALSE = fails(function () {\n // eslint-disable-next-line es/no-reflect -- required for testing\n Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 });\n});\n\n// `Reflect.defineProperty` method\n// https://tc39.es/ecma262/#sec-reflect.defineproperty\n$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n var key = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n definePropertyModule.f(target, key, attributes);\n return true;\n } catch (error) {\n return false;\n }\n }\n});\n","var $ = require('../internals/export');\n\n// eslint-disable-next-line es/no-math-hypot -- required for testing\nvar $hypot = Math.hypot;\nvar abs = Math.abs;\nvar sqrt = Math.sqrt;\n\n// Chrome 77 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=9546\nvar BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity;\n\n// `Math.hypot` method\n// https://tc39.es/ecma262/#sec-math.hypot\n$({ target: 'Math', stat: true, forced: BUGGY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n hypot: function hypot(value1, value2) {\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * sqrt(sum);\n }\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","import { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n return input && typeof input[Symbol_observable] === 'function';\n}\n//# sourceMappingURL=isInteropObservable.js.map","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","var $ = require('../internals/export');\n\nvar floor = Math.floor;\nvar log = Math.log;\nvar LOG2E = Math.LOG2E;\n\n// `Math.clz32` method\n// https://tc39.es/ecma262/#sec-math.clz32\n$({ target: 'Math', stat: true }, {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","import { Observable } from '../Observable';\nimport { from } from './from';\nimport { EMPTY } from './empty';\nexport function using(resourceFactory, observableFactory) {\n return new Observable(subscriber => {\n let resource;\n try {\n resource = resourceFactory();\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n let result;\n try {\n result = observableFactory(resource);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n const source = result ? from(result) : EMPTY;\n const subscription = source.subscribe(subscriber);\n return () => {\n subscription.unsubscribe();\n if (resource) {\n resource.unsubscribe();\n }\n };\n });\n}\n//# sourceMappingURL=using.js.map","var global = require('../internals/global');\n\nmodule.exports = global;\n","import { Observable } from '../Observable';\nimport { AsyncSubject } from '../AsyncSubject';\nimport { map } from '../operators/map';\nimport { canReportError } from '../util/canReportError';\nimport { isArray } from '../util/isArray';\nimport { isScheduler } from '../util/isScheduler';\nexport function bindCallback(callbackFunc, resultSelector, scheduler) {\n if (resultSelector) {\n if (isScheduler(resultSelector)) {\n scheduler = resultSelector;\n }\n else {\n return (...args) => bindCallback(callbackFunc, scheduler)(...args).pipe(map((args) => isArray(args) ? resultSelector(...args) : resultSelector(args)));\n }\n }\n return function (...args) {\n const context = this;\n let subject;\n const params = {\n context,\n subject,\n callbackFunc,\n scheduler,\n };\n return new Observable(subscriber => {\n if (!scheduler) {\n if (!subject) {\n subject = new AsyncSubject();\n const handler = (...innerArgs) => {\n subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs);\n subject.complete();\n };\n try {\n callbackFunc.apply(context, [...args, handler]);\n }\n catch (err) {\n if (canReportError(subject)) {\n subject.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n return subject.subscribe(subscriber);\n }\n else {\n const state = {\n args, subscriber, params,\n };\n return scheduler.schedule(dispatch, 0, state);\n }\n });\n };\n}\nfunction dispatch(state) {\n const self = this;\n const { args, subscriber, params } = state;\n const { callbackFunc, context, scheduler } = params;\n let { subject } = params;\n if (!subject) {\n subject = params.subject = new AsyncSubject();\n const handler = (...innerArgs) => {\n const value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs;\n this.add(scheduler.schedule(dispatchNext, 0, { value, subject }));\n };\n try {\n callbackFunc.apply(context, [...args, handler]);\n }\n catch (err) {\n subject.error(err);\n }\n }\n this.add(subject.subscribe(subscriber));\n}\nfunction dispatchNext(state) {\n const { value, subject } = state;\n subject.next(value);\n subject.complete();\n}\nfunction dispatchError(state) {\n const { err, subject } = state;\n subject.error(err);\n}\n//# sourceMappingURL=bindCallback.js.map","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationMetadata, AnimationOptions} from './animation_metadata';\nimport {AnimationPlayer} from './players/animation_player';\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the `build()` method to create a programmatic animation using the\n * `animate()` function. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nexport abstract class AnimationBuilder {\n /**\n * Builds a factory for producing a defined animation.\n * @param animation A reusable animation definition.\n * @returns A factory object that can create a player for the defined animation.\n * @see `animate()`\n */\n abstract build(animation: AnimationMetadata|AnimationMetadata[]): AnimationFactory;\n}\n\n/**\n * A factory object returned from the `AnimationBuilder`.`build()` method.\n *\n * @publicApi\n */\nexport abstract class AnimationFactory {\n /**\n * Creates an `AnimationPlayer` instance for the reusable animation defined by\n * the `AnimationBuilder`.`build()` method that created this factory.\n * Attaches the new player a DOM element.\n * @param element The DOM element to which to attach the animation.\n * @param options A set of options that can include a time delay and\n * additional developer-defined parameters.\n */\n abstract create(element: any, options?: AnimationOptions): AnimationPlayer;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Represents a set of CSS styles for use in an animation style.\n */\nexport interface ɵStyleData {\n [key: string]: string|number;\n}\n\n/**\n * Represents animation-step timing parameters for an animation step.\n * @see `animate()`\n *\n * @publicApi\n */\nexport declare type AnimateTimings = {\n /**\n * The full duration of an animation step. A number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n */\n duration: number,\n /**\n * The delay in applying an animation step. A number and optional time unit.\n * The default unit is milliseconds.\n */\n delay: number,\n /**\n * An easing style that controls how an animations step accelerates\n * and decelerates during its run time. An easing function such as `cubic-bezier()`,\n * or one of the following constants:\n * - `ease-in`\n * - `ease-out`\n * - `ease-in-and-out`\n */\n easing: string | null\n};\n\n/**\n * @description Options that control animation styling and timing.\n *\n * The following animation functions accept `AnimationOptions` data:\n *\n * - `transition()`\n * - `sequence()`\n * - `{@link animations/group group()}`\n * - `query()`\n * - `animation()`\n * - `useAnimation()`\n * - `animateChild()`\n *\n * Programmatic animations built using the `AnimationBuilder` service also\n * make use of `AnimationOptions`.\n *\n * @publicApi\n */\nexport declare interface AnimationOptions {\n /**\n * Sets a time-delay for initiating an animation action.\n * A number and optional time unit, such as \"1s\" or \"10ms\" for one second\n * and 10 milliseconds, respectively.The default unit is milliseconds.\n * Default value is 0, meaning no delay.\n */\n delay?: number|string;\n /**\n * A set of developer-defined parameters that modify styling and timing\n * when an animation action starts. An array of key-value pairs, where the provided value\n * is used as a default.\n */\n params?: {[name: string]: any};\n}\n\n/**\n * Adds duration options to control animation styling and timing for a child animation.\n *\n * @see `animateChild()`\n *\n * @publicApi\n */\nexport declare interface AnimateChildOptions extends AnimationOptions {\n duration?: number|string;\n}\n\n/**\n * @description Constants for the categories of parameters that can be defined for animations.\n *\n * A corresponding function defines a set of parameters for each category, and\n * collects them into a corresponding `AnimationMetadata` object.\n *\n * @publicApi\n */\nexport const enum AnimationMetadataType {\n /**\n * Associates a named animation state with a set of CSS styles.\n * See `state()`\n */\n State = 0,\n /**\n * Data for a transition from one animation state to another.\n * See `transition()`\n */\n Transition = 1,\n /**\n * Contains a set of animation steps.\n * See `sequence()`\n */\n Sequence = 2,\n /**\n * Contains a set of animation steps.\n * See `{@link animations/group group()}`\n */\n Group = 3,\n /**\n * Contains an animation step.\n * See `animate()`\n */\n Animate = 4,\n /**\n * Contains a set of animation steps.\n * See `keyframes()`\n */\n Keyframes = 5,\n /**\n * Contains a set of CSS property-value pairs into a named style.\n * See `style()`\n */\n Style = 6,\n /**\n * Associates an animation with an entry trigger that can be attached to an element.\n * See `trigger()`\n */\n Trigger = 7,\n /**\n * Contains a re-usable animation.\n * See `animation()`\n */\n Reference = 8,\n /**\n * Contains data to use in executing child animations returned by a query.\n * See `animateChild()`\n */\n AnimateChild = 9,\n /**\n * Contains animation parameters for a re-usable animation.\n * See `useAnimation()`\n */\n AnimateRef = 10,\n /**\n * Contains child-animation query data.\n * See `query()`\n */\n Query = 11,\n /**\n * Contains data for staggering an animation sequence.\n * See `stagger()`\n */\n Stagger = 12\n}\n\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nexport const AUTO_STYLE = '*';\n\n/**\n * Base for animation data structures.\n *\n * @publicApi\n */\nexport interface AnimationMetadata {\n type: AnimationMetadataType;\n}\n\n/**\n * Contains an animation trigger. Instantiated and returned by the\n * `trigger()` function.\n *\n * @publicApi\n */\nexport interface AnimationTriggerMetadata extends AnimationMetadata {\n /**\n * The trigger name, used to associate it with an element. Unique within the component.\n */\n name: string;\n /**\n * An animation definition object, containing an array of state and transition declarations.\n */\n definitions: AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: {params?: {[name: string]: any}}|null;\n}\n\n/**\n * Encapsulates an animation state by associating a state name with a set of CSS styles.\n * Instantiated and returned by the `state()` function.\n *\n * @publicApi\n */\nexport interface AnimationStateMetadata extends AnimationMetadata {\n /**\n * The state name, unique within the component.\n */\n name: string;\n /**\n * The CSS styles associated with this state.\n */\n styles: AnimationStyleMetadata;\n /**\n * An options object containing\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n */\n options?: {params: {[name: string]: any}};\n}\n\n/**\n * Encapsulates an animation transition. Instantiated and returned by the\n * `transition()` function.\n *\n * @publicApi\n */\nexport interface AnimationTransitionMetadata extends AnimationMetadata {\n /**\n * An expression that describes a state change.\n */\n expr: string|\n ((fromState: string, toState: string, element?: any,\n params?: {[key: string]: any}) => boolean);\n /**\n * One or more animation objects to which this transition applies.\n */\n animation: AnimationMetadata|AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates a reusable animation, which is a collection of individual animation steps.\n * Instantiated and returned by the `animation()` function, and\n * passed to the `useAnimation()` function.\n *\n * @publicApi\n */\nexport interface AnimationReferenceMetadata extends AnimationMetadata {\n /**\n * One or more animation step objects.\n */\n animation: AnimationMetadata|AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates an animation query. Instantiated and returned by\n * the `query()` function.\n *\n * @publicApi\n */\nexport interface AnimationQueryMetadata extends AnimationMetadata {\n /**\n * The CSS selector for this query.\n */\n selector: string;\n /**\n * One or more animation step objects.\n */\n animation: AnimationMetadata|AnimationMetadata[];\n /**\n * A query options object.\n */\n options: AnimationQueryOptions|null;\n}\n\n/**\n * Encapsulates a keyframes sequence. Instantiated and returned by\n * the `keyframes()` function.\n *\n * @publicApi\n */\nexport interface AnimationKeyframesSequenceMetadata extends AnimationMetadata {\n /**\n * An array of animation styles.\n */\n steps: AnimationStyleMetadata[];\n}\n\n/**\n * Encapsulates an animation style. Instantiated and returned by\n * the `style()` function.\n *\n * @publicApi\n */\nexport interface AnimationStyleMetadata extends AnimationMetadata {\n /**\n * A set of CSS style properties.\n */\n styles: '*'|{[key: string]: string | number}|Array<{[key: string]: string | number}|'*'>;\n /**\n * A percentage of the total animate time at which the style is to be applied.\n */\n offset: number|null;\n}\n\n/**\n * Encapsulates an animation step. Instantiated and returned by\n * the `animate()` function.\n *\n * @publicApi\n */\nexport interface AnimationAnimateMetadata extends AnimationMetadata {\n /**\n * The timing data for the step.\n */\n timings: string|number|AnimateTimings;\n /**\n * A set of styles used in the step.\n */\n styles: AnimationStyleMetadata|AnimationKeyframesSequenceMetadata|null;\n}\n\n/**\n * Encapsulates a child animation, that can be run explicitly when the parent is run.\n * Instantiated and returned by the `animateChild` function.\n *\n * @publicApi\n */\nexport interface AnimationAnimateChildMetadata extends AnimationMetadata {\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates a reusable animation.\n * Instantiated and returned by the `useAnimation()` function.\n *\n * @publicApi\n */\nexport interface AnimationAnimateRefMetadata extends AnimationMetadata {\n /**\n * An animation reference object.\n */\n animation: AnimationReferenceMetadata;\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates an animation sequence.\n * Instantiated and returned by the `sequence()` function.\n *\n * @publicApi\n */\nexport interface AnimationSequenceMetadata extends AnimationMetadata {\n /**\n * An array of animation step objects.\n */\n steps: AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates an animation group.\n * Instantiated and returned by the `{@link animations/group group()}` function.\n *\n * @publicApi\n */\nexport interface AnimationGroupMetadata extends AnimationMetadata {\n /**\n * One or more animation or style steps that form this group.\n */\n steps: AnimationMetadata[];\n /**\n * An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation. Default delay is 0.\n */\n options: AnimationOptions|null;\n}\n\n/**\n * Encapsulates animation query options.\n * Passed to the `query()` function.\n *\n * @publicApi\n */\nexport declare interface AnimationQueryOptions extends AnimationOptions {\n /**\n * True if this query is optional, false if it is required. Default is false.\n * A required query throws an error if no elements are retrieved when\n * the query is executed. An optional query does not.\n *\n */\n optional?: boolean;\n /**\n * A maximum total number of results to return from the query.\n * If negative, results are limited from the end of the query list towards the beginning.\n * By default, results are not limited.\n */\n limit?: number;\n}\n\n/**\n * Encapsulates parameters for staggering the start times of a set of animation steps.\n * Instantiated and returned by the `stagger()` function.\n *\n * @publicApi\n **/\nexport interface AnimationStaggerMetadata extends AnimationMetadata {\n /**\n * The timing data for the steps.\n */\n timings: string|number;\n /**\n * One or more animation steps.\n */\n animation: AnimationMetadata|AnimationMetadata[];\n}\n\n/**\n * Creates a named animation trigger, containing a list of `state()`\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of `state()`\n * and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nexport function trigger(name: string, definitions: AnimationMetadata[]): AnimationTriggerMetadata {\n return {type: AnimationMetadataType.Trigger, name, definitions, options: {}};\n}\n\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" }),\n * style({ background: \"red\" })\n * ])\n * ```\n *\n * @publicApi\n */\nexport function animate(\n timings: string|number,\n styles: AnimationStyleMetadata|AnimationKeyframesSequenceMetadata|null =\n null): AnimationAnimateMetadata {\n return {type: AnimationMetadataType.Animate, styles, timings};\n}\n\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nexport function group(\n steps: AnimationMetadata[], options: AnimationOptions|null = null): AnimationGroupMetadata {\n return {type: AnimationMetadataType.Group, steps, options};\n}\n\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nexport function sequence(\n steps: AnimationMetadata[], options: AnimationOptions|null = null): AnimationSequenceMetadata {\n return {type: AnimationMetadataType.Sequence, steps, options};\n}\n\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation `state`, within an animation `sequence`,\n * or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow a component to animate from\n * a height of 0 up to the height of the parent element:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nexport function style(tokens: '*'|{[key: string]: string | number}|\n Array<'*'|{[key: string]: string | number}>): AnimationStyleMetadata {\n return {type: AnimationMetadataType.Style, styles: tokens, offset: null};\n}\n\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nexport function state(\n name: string, styles: AnimationStyleMetadata,\n options?: {params: {[name: string]: any}}): AnimationStateMetadata {\n return {type: AnimationMetadataType.State, name, styles, options};\n}\n\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nexport function keyframes(steps: AnimationStyleMetadata[]): AnimationKeyframesSequenceMetadata {\n return {type: AnimationMetadataType.Keyframes, steps};\n}\n\n/**\n * Declares an animation transition as a sequence of animation steps to run when a given\n * condition is satisfied. The condition is a Boolean expression or function that compares\n * the previous and current animation states, and returns true if this transition should occur.\n * When the state criteria of a defined transition are met, the associated animation is\n * triggered.\n *\n * @param stateChangeExpr A Boolean expression or function that compares the previous and current\n * animation states, and returns true if this transition should occur. Note that \"true\" and \"false\"\n * match 1 and 0, respectively. An expression is evaluated each time a state change occurs in the\n * animation trigger element.\n * The animation steps run when the expression evaluates to true.\n *\n * - A state-change string takes the form \"state1 => state2\", where each side is a defined animation\n * state, or an asterix (*) to refer to a dynamic start or end state.\n * - The expression string can contain multiple comma-separated statements;\n * for example \"state1 => state2, state3 => state4\".\n * - Special values `:enter` and `:leave` initiate a transition on the entry and exit states,\n * equivalent to \"void => *\" and \"* => void\".\n * - Special values `:increment` and `:decrement` initiate a transition when a numeric value has\n * increased or decreased in value.\n * - A function is executed each time a state change occurs in the animation trigger element.\n * The animation steps run when the function returns true.\n *\n * @param steps One or more animation objects, as returned by the `animate()` or\n * `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the animation,\n * and additional developer-defined parameters. Provided values for additional parameters are used\n * as defaults, and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n * The template associated with a component binds an animation trigger to an element.\n *\n * ```HTML\n * \n *
...
\n * ```\n *\n * All transitions are defined within an animation trigger,\n * along with named states that the transitions change to and from.\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * // define states\n * state(\"on\", style({ background: \"green\" })),\n * state(\"off\", style({ background: \"grey\" })),\n * ...]\n * ```\n *\n * Note that when you call the `sequence()` function within a `{@link animations/group group()}`\n * or a `transition()` call, execution does not continue to the next instruction\n * until each of the inner animation steps have completed.\n *\n * ### Syntax examples\n *\n * The following examples define transitions between the two defined states (and default states),\n * using various options:\n *\n * ```typescript\n * // Transition occurs when the state value\n * // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n * transition(\"on => off\", animate(500))\n * // Run the same animation for both directions\n * transition(\"on <=> off\", animate(500))\n * // Define multiple state-change pairs separated by commas\n * transition(\"on => off, off => void\", animate(500))\n * ```\n *\n * ### Special values for state-change expressions\n *\n * - Catch-all state change for when an element is inserted into the page and the\n * destination state is unknown:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n *\n * - Capture a state change between any states:\n *\n * `transition(\"* => *\", animate(\"1s 0s\"))`\n *\n * - Entry and exit transitions:\n *\n * ```typescript\n * transition(\":enter\", [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n * animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * - Use `:increment` and `:decrement` to initiate transitions:\n *\n * ```typescript\n * transition(\":increment\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n *\n * transition(\":decrement\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n * ```\n *\n * ### State-change functions\n *\n * Here is an example of a `fromState` specified as a state-change function that invokes an\n * animation when true:\n *\n * ```typescript\n * transition((fromState, toState) =>\n * {\n * return fromState == \"off\" && toState == \"on\";\n * },\n * animate(\"1s 0s\"))\n * ```\n *\n * ### Animating to the final state\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no style data, that step is automatically considered the final animation arc,\n * for the element to reach the final state. Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n * The following example defines a transition that starts by hiding the element,\n * then makes sure that it animates properly to whatever state is currently active for trigger:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n * ### Boolean value matching\n * If a trigger binding value is a Boolean, it can be matched using a transition expression\n * that compares true and false or 1 and 0. For example:\n *\n * ```\n * // in the template\n *
...
\n * // in the component metadata\n * trigger('openClose', [\n * state('true', style({ height: '*' })),\n * state('false', style({ height: '0px' })),\n * transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * @publicApi\n **/\nexport function transition(\n stateChangeExpr: string|\n ((fromState: string, toState: string, element?: any, params?: {[key: string]: any}) => boolean),\n steps: AnimationMetadata|AnimationMetadata[],\n options: AnimationOptions|null = null): AnimationTransitionMetadata {\n return {type: AnimationMetadataType.Transition, expr: stateChangeExpr, animation: steps, options};\n}\n\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nexport function animation(\n steps: AnimationMetadata|AnimationMetadata[],\n options: AnimationOptions|null = null): AnimationReferenceMetadata {\n return {type: AnimationMetadataType.Reference, animation: steps, options};\n}\n\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nexport function animateChild(options: AnimateChildOptions|null = null):\n AnimationAnimateChildMetadata {\n return {type: AnimationMetadataType.AnimateChild, options};\n}\n\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nexport function useAnimation(\n animation: AnimationReferenceMetadata,\n options: AnimationOptions|null = null): AnimationAnimateRefMetadata {\n return {type: AnimationMetadataType.AnimateRef, animation, options};\n}\n\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements.\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nexport function query(\n selector: string, animation: AnimationMetadata|AnimationMetadata[],\n options: AnimationQueryOptions|null = null): AnimationQueryMetadata {\n return {type: AnimationMetadataType.Query, selector, animation, options};\n}\n\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nexport function stagger(timings: string|number, animation: AnimationMetadata|AnimationMetadata[]):\n AnimationStaggerMetadata {\n return {type: AnimationMetadataType.Stagger, timings, animation};\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport function scheduleMicroTask(cb: () => any) {\n Promise.resolve(null).then(cb);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {scheduleMicroTask} from '../util';\n\n/**\n * Provides programmatic control of a reusable animation sequence,\n * built using the `build()` method of `AnimationBuilder`. The `build()` method\n * returns a factory, whose `create()` method instantiates and initializes this interface.\n *\n * @see `AnimationBuilder`\n * @see `AnimationFactory`\n * @see `animate()`\n *\n * @publicApi\n */\nexport interface AnimationPlayer {\n /**\n * Provides a callback to invoke when the animation finishes.\n * @param fn The callback function.\n * @see `finish()`\n */\n onDone(fn: () => void): void;\n /**\n * Provides a callback to invoke when the animation starts.\n * @param fn The callback function.\n * @see `run()`\n */\n onStart(fn: () => void): void;\n /**\n * Provides a callback to invoke after the animation is destroyed.\n * @param fn The callback function.\n * @see `destroy()`\n * @see `beforeDestroy()`\n */\n onDestroy(fn: () => void): void;\n /**\n * Initializes the animation.\n */\n init(): void;\n /**\n * Reports whether the animation has started.\n * @returns True if the animation has started, false otherwise.\n */\n hasStarted(): boolean;\n /**\n * Runs the animation, invoking the `onStart()` callback.\n */\n play(): void;\n /**\n * Pauses the animation.\n */\n pause(): void;\n /**\n * Restarts the paused animation.\n */\n restart(): void;\n /**\n * Ends the animation, invoking the `onDone()` callback.\n */\n finish(): void;\n /**\n * Destroys the animation, after invoking the `beforeDestroy()` callback.\n * Calls the `onDestroy()` callback when destruction is completed.\n */\n destroy(): void;\n /**\n * Resets the animation to its initial state.\n */\n reset(): void;\n /**\n * Sets the position of the animation.\n * @param position A 0-based offset into the duration, in milliseconds.\n */\n setPosition(position: any /** TODO #9100 */): void;\n /**\n * Reports the current position of the animation.\n * @returns A 0-based offset into the duration, in milliseconds.\n */\n getPosition(): number;\n /**\n * The parent of this player, if any.\n */\n parentPlayer: AnimationPlayer|null;\n /**\n * The total run time of the animation, in milliseconds.\n */\n readonly totalTime: number;\n /**\n * Provides a callback to invoke before the animation is destroyed.\n */\n beforeDestroy?: () => any;\n /**\n * @internal\n * Internal\n */\n triggerCallback?: (phaseName: string) => void;\n /**\n * @internal\n * Internal\n */\n disabled?: boolean;\n}\n\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nexport class NoopAnimationPlayer implements AnimationPlayer {\n private _onDoneFns: Function[] = [];\n private _onStartFns: Function[] = [];\n private _onDestroyFns: Function[] = [];\n private _started = false;\n private _destroyed = false;\n private _finished = false;\n private _position = 0;\n public parentPlayer: AnimationPlayer|null = null;\n public readonly totalTime: number;\n constructor(duration: number = 0, delay: number = 0) {\n this.totalTime = duration + delay;\n }\n private _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn: () => void): void {\n this._onStartFns.push(fn);\n }\n onDone(fn: () => void): void {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn: () => void): void {\n this._onDestroyFns.push(fn);\n }\n hasStarted(): boolean {\n return this._started;\n }\n init(): void {}\n play(): void {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n\n private _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n\n pause(): void {}\n restart(): void {}\n finish(): void {\n this._onFinish();\n }\n destroy(): void {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset(): void {}\n setPosition(position: number): void {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition(): number {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n\n /** @internal */\n triggerCallback(phaseName: string): void {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {scheduleMicroTask} from '../util';\nimport {AnimationPlayer} from './animation_player';\n\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nexport class AnimationGroupPlayer implements AnimationPlayer {\n private _onDoneFns: Function[] = [];\n private _onStartFns: Function[] = [];\n private _finished = false;\n private _started = false;\n private _destroyed = false;\n private _onDestroyFns: Function[] = [];\n\n public parentPlayer: AnimationPlayer|null = null;\n public totalTime: number = 0;\n public readonly players: AnimationPlayer[];\n\n constructor(_players: AnimationPlayer[]) {\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n } else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n\n private _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n\n init(): void {\n this.players.forEach(player => player.init());\n }\n\n onStart(fn: () => void): void {\n this._onStartFns.push(fn);\n }\n\n private _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n\n onDone(fn: () => void): void {\n this._onDoneFns.push(fn);\n }\n\n onDestroy(fn: () => void): void {\n this._onDestroyFns.push(fn);\n }\n\n hasStarted() {\n return this._started;\n }\n\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n\n pause(): void {\n this.players.forEach(player => player.pause());\n }\n\n restart(): void {\n this.players.forEach(player => player.restart());\n }\n\n finish(): void {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n\n destroy(): void {\n this._onDestroy();\n }\n\n private _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n\n reset(): void {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n\n setPosition(p: number): void {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n\n getPosition(): number {\n const longestPlayer =\n this.players.reduce((longestSoFar: AnimationPlayer|null, player: AnimationPlayer) => {\n const newPlayerIsLongest =\n longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n\n beforeDestroy(): void {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n\n /** @internal */\n triggerCallback(phaseName: string): void {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport {AnimationGroupPlayer as ɵAnimationGroupPlayer} from './players/animation_group_player';\nexport const ɵPRE_STYLE = '!';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation package.\n */\nexport {AnimationBuilder, AnimationFactory} from './animation_builder';\nexport {AnimationEvent} from './animation_event';\nexport {animate, animateChild, AnimateChildOptions, AnimateTimings, animation, AnimationAnimateChildMetadata, AnimationAnimateMetadata, AnimationAnimateRefMetadata, AnimationGroupMetadata, AnimationKeyframesSequenceMetadata, AnimationMetadata, AnimationMetadataType, AnimationOptions, AnimationQueryMetadata, AnimationQueryOptions, AnimationReferenceMetadata, AnimationSequenceMetadata, AnimationStaggerMetadata, AnimationStateMetadata, AnimationStyleMetadata, AnimationTransitionMetadata, AnimationTriggerMetadata, AUTO_STYLE, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, ɵStyleData} from './animation_metadata';\nexport {AnimationPlayer, NoopAnimationPlayer} from './players/animation_player';\n\nexport * from './private_export';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/animations';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verification. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationBuilder, AnimationFactory, AnimationMetadata, AnimationOptions, AnimationPlayer, sequence} from '@angular/animations';\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, RendererFactory2, RendererType2, ViewEncapsulation} from '@angular/core';\n\nimport {AnimationRenderer} from './animation_renderer';\n\n@Injectable()\nexport class BrowserAnimationBuilder extends AnimationBuilder {\n private _nextAnimationId = 0;\n private _renderer: AnimationRenderer;\n\n constructor(rootRenderer: RendererFactory2, @Inject(DOCUMENT) doc: any) {\n super();\n const typeData =\n {id: '0', encapsulation: ViewEncapsulation.None, styles: [], data: {animation: []}} as\n RendererType2;\n this._renderer = rootRenderer.createRenderer(doc.body, typeData) as AnimationRenderer;\n }\n\n build(animation: AnimationMetadata|AnimationMetadata[]): AnimationFactory {\n const id = this._nextAnimationId.toString();\n this._nextAnimationId++;\n const entry = Array.isArray(animation) ? sequence(animation) : animation;\n issueAnimationCommand(this._renderer, null, id, 'register', [entry]);\n return new BrowserAnimationFactory(id, this._renderer);\n }\n}\n\nexport class BrowserAnimationFactory extends AnimationFactory {\n constructor(private _id: string, private _renderer: AnimationRenderer) {\n super();\n }\n\n create(element: any, options?: AnimationOptions): AnimationPlayer {\n return new RendererAnimationPlayer(this._id, element, options || {}, this._renderer);\n }\n}\n\nexport class RendererAnimationPlayer implements AnimationPlayer {\n public parentPlayer: AnimationPlayer|null = null;\n private _started = false;\n\n constructor(\n public id: string, public element: any, options: AnimationOptions,\n private _renderer: AnimationRenderer) {\n this._command('create', options);\n }\n\n private _listen(eventName: string, callback: (event: any) => any): () => void {\n return this._renderer.listen(this.element, `@@${this.id}:${eventName}`, callback);\n }\n\n private _command(command: string, ...args: any[]) {\n return issueAnimationCommand(this._renderer, this.element, this.id, command, args);\n }\n\n onDone(fn: () => void): void {\n this._listen('done', fn);\n }\n\n onStart(fn: () => void): void {\n this._listen('start', fn);\n }\n\n onDestroy(fn: () => void): void {\n this._listen('destroy', fn);\n }\n\n init(): void {\n this._command('init');\n }\n\n hasStarted(): boolean {\n return this._started;\n }\n\n play(): void {\n this._command('play');\n this._started = true;\n }\n\n pause(): void {\n this._command('pause');\n }\n\n restart(): void {\n this._command('restart');\n }\n\n finish(): void {\n this._command('finish');\n }\n\n destroy(): void {\n this._command('destroy');\n }\n\n reset(): void {\n this._command('reset');\n }\n\n setPosition(p: number): void {\n this._command('setPosition', p);\n }\n\n getPosition(): number {\n return this._renderer.engine.players[+this.id]?.getPosition() ?? 0;\n }\n\n public totalTime = 0;\n}\n\nfunction issueAnimationCommand(\n renderer: AnimationRenderer, element: any, id: string, command: string, args: any[]): any {\n return renderer.setProperty(element, `@@${id}:${command}`, args);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {AnimationTriggerMetadata} from '@angular/animations';\nimport {ɵAnimationEngine as AnimationEngine} from '@angular/animations/browser';\nimport {Injectable, NgZone, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2} from '@angular/core';\n\nconst ANIMATION_PREFIX = '@';\nconst DISABLE_ANIMATIONS_FLAG = '@.disabled';\n\n// Define a recursive type to allow for nested arrays of `AnimationTriggerMetadata`. Note that an\n// interface declaration is used as TypeScript prior to 3.7 does not support recursive type\n// references, see https://github.com/microsoft/TypeScript/pull/33050 for details.\ntype NestedAnimationTriggerMetadata = AnimationTriggerMetadata|RecursiveAnimationTriggerMetadata;\ninterface RecursiveAnimationTriggerMetadata extends Array {}\n\n@Injectable()\nexport class AnimationRendererFactory implements RendererFactory2 {\n private _currentId: number = 0;\n private _microtaskId: number = 1;\n private _animationCallbacksBuffer: [(e: any) => any, any][] = [];\n private _rendererCache = new Map();\n private _cdRecurDepth = 0;\n private promise: Promise = Promise.resolve(0);\n\n constructor(\n private delegate: RendererFactory2, private engine: AnimationEngine, private _zone: NgZone) {\n engine.onRemovalComplete = (element: any, delegate: Renderer2) => {\n // Note: if an component element has a leave animation, and the component\n // a host leave animation, the view engine will call `removeChild` for the parent\n // component renderer as well as for the child component renderer.\n // Therefore, we need to check if we already removed the element.\n if (delegate && delegate.parentNode(element)) {\n delegate.removeChild(element.parentNode, element);\n }\n };\n }\n\n createRenderer(hostElement: any, type: RendererType2): Renderer2 {\n const EMPTY_NAMESPACE_ID = '';\n\n // cache the delegates to find out which cached delegate can\n // be used by which cached renderer\n const delegate = this.delegate.createRenderer(hostElement, type);\n if (!hostElement || !type || !type.data || !type.data['animation']) {\n let renderer: BaseAnimationRenderer|undefined = this._rendererCache.get(delegate);\n if (!renderer) {\n renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine);\n // only cache this result when the base renderer is used\n this._rendererCache.set(delegate, renderer);\n }\n return renderer;\n }\n\n const componentId = type.id;\n const namespaceId = type.id + '-' + this._currentId;\n this._currentId++;\n\n this.engine.register(namespaceId, hostElement);\n\n const registerTrigger = (trigger: NestedAnimationTriggerMetadata) => {\n if (Array.isArray(trigger)) {\n trigger.forEach(registerTrigger);\n } else {\n this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger);\n }\n };\n const animationTriggers = type.data['animation'] as NestedAnimationTriggerMetadata[];\n animationTriggers.forEach(registerTrigger);\n\n return new AnimationRenderer(this, namespaceId, delegate, this.engine);\n }\n\n begin() {\n this._cdRecurDepth++;\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n }\n\n private _scheduleCountTask() {\n // always use promise to schedule microtask instead of use Zone\n this.promise.then(() => {\n this._microtaskId++;\n });\n }\n\n /** @internal */\n scheduleListenerCallback(count: number, fn: (e: any) => any, data: any) {\n if (count >= 0 && count < this._microtaskId) {\n this._zone.run(() => fn(data));\n return;\n }\n\n if (this._animationCallbacksBuffer.length == 0) {\n Promise.resolve(null).then(() => {\n this._zone.run(() => {\n this._animationCallbacksBuffer.forEach(tuple => {\n const [fn, data] = tuple;\n fn(data);\n });\n this._animationCallbacksBuffer = [];\n });\n });\n }\n\n this._animationCallbacksBuffer.push([fn, data]);\n }\n\n end() {\n this._cdRecurDepth--;\n\n // this is to prevent animations from running twice when an inner\n // component does CD when a parent component instead has inserted it\n if (this._cdRecurDepth == 0) {\n this._zone.runOutsideAngular(() => {\n this._scheduleCountTask();\n this.engine.flush(this._microtaskId);\n });\n }\n if (this.delegate.end) {\n this.delegate.end();\n }\n }\n\n whenRenderingDone(): Promise {\n return this.engine.whenRenderingDone();\n }\n}\n\nexport class BaseAnimationRenderer implements Renderer2 {\n constructor(\n protected namespaceId: string, public delegate: Renderer2, public engine: AnimationEngine) {\n this.destroyNode = this.delegate.destroyNode ? (n) => delegate.destroyNode!(n) : null;\n }\n\n get data() {\n return this.delegate.data;\n }\n\n destroyNode: ((n: any) => void)|null;\n\n destroy(): void {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.delegate.destroy();\n }\n\n createElement(name: string, namespace?: string|null|undefined) {\n return this.delegate.createElement(name, namespace);\n }\n\n createComment(value: string) {\n return this.delegate.createComment(value);\n }\n\n createText(value: string) {\n return this.delegate.createText(value);\n }\n\n appendChild(parent: any, newChild: any): void {\n this.delegate.appendChild(parent, newChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, false);\n }\n\n insertBefore(parent: any, newChild: any, refChild: any, isMove: boolean = true): void {\n this.delegate.insertBefore(parent, newChild, refChild);\n // If `isMove` true than we should animate this insert.\n this.engine.onInsert(this.namespaceId, newChild, parent, isMove);\n }\n\n removeChild(parent: any, oldChild: any, isHostElement: boolean): void {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate, isHostElement);\n }\n\n selectRootElement(selectorOrNode: any, preserveContent?: boolean) {\n return this.delegate.selectRootElement(selectorOrNode, preserveContent);\n }\n\n parentNode(node: any) {\n return this.delegate.parentNode(node);\n }\n\n nextSibling(node: any) {\n return this.delegate.nextSibling(node);\n }\n\n setAttribute(el: any, name: string, value: string, namespace?: string|null|undefined): void {\n this.delegate.setAttribute(el, name, value, namespace);\n }\n\n removeAttribute(el: any, name: string, namespace?: string|null|undefined): void {\n this.delegate.removeAttribute(el, name, namespace);\n }\n\n addClass(el: any, name: string): void {\n this.delegate.addClass(el, name);\n }\n\n removeClass(el: any, name: string): void {\n this.delegate.removeClass(el, name);\n }\n\n setStyle(el: any, style: string, value: any, flags?: RendererStyleFlags2|undefined): void {\n this.delegate.setStyle(el, style, value, flags);\n }\n\n removeStyle(el: any, style: string, flags?: RendererStyleFlags2|undefined): void {\n this.delegate.removeStyle(el, style, flags);\n }\n\n setProperty(el: any, name: string, value: any): void {\n if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {\n this.disableAnimations(el, !!value);\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n\n setValue(node: any, value: string): void {\n this.delegate.setValue(node, value);\n }\n\n listen(target: any, eventName: string, callback: (event: any) => boolean | void): () => void {\n return this.delegate.listen(target, eventName, callback);\n }\n\n protected disableAnimations(element: any, value: boolean) {\n this.engine.disableAnimations(element, value);\n }\n}\n\nexport class AnimationRenderer extends BaseAnimationRenderer implements Renderer2 {\n constructor(\n public factory: AnimationRendererFactory, namespaceId: string, delegate: Renderer2,\n engine: AnimationEngine) {\n super(namespaceId, delegate, engine);\n this.namespaceId = namespaceId;\n }\n\n setProperty(el: any, name: string, value: any): void {\n if (name.charAt(0) == ANIMATION_PREFIX) {\n if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {\n value = value === undefined ? true : !!value;\n this.disableAnimations(el, value as boolean);\n } else {\n this.engine.process(this.namespaceId, el, name.substr(1), value);\n }\n } else {\n this.delegate.setProperty(el, name, value);\n }\n }\n\n listen(target: 'window'|'document'|'body'|any, eventName: string, callback: (event: any) => any):\n () => void {\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n const element = resolveElementFromTarget(target);\n let name = eventName.substr(1);\n let phase = '';\n // @listener.phase is for trigger animation callbacks\n // @@listener is for animation builder callbacks\n if (name.charAt(0) != ANIMATION_PREFIX) {\n [name, phase] = parseTriggerCallbackName(name);\n }\n return this.engine.listen(this.namespaceId, element, name, phase, event => {\n const countId = (event as any)['_data'] || -1;\n this.factory.scheduleListenerCallback(countId, callback, event);\n });\n }\n return this.delegate.listen(target, eventName, callback);\n }\n}\n\nfunction resolveElementFromTarget(target: 'window'|'document'|'body'|any): any {\n switch (target) {\n case 'body':\n return document.body;\n case 'document':\n return document;\n case 'window':\n return window;\n default:\n return target;\n }\n}\n\nfunction parseTriggerCallbackName(triggerName: string) {\n const dotIndex = triggerName.indexOf('.');\n const trigger = triggerName.substring(0, dotIndex);\n const phase = triggerName.substr(dotIndex + 1);\n return [trigger, phase];\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AnimationBuilder} from '@angular/animations';\nimport {AnimationDriver, ɵAnimationEngine as AnimationEngine, ɵAnimationStyleNormalizer as AnimationStyleNormalizer, ɵCssKeyframesDriver as CssKeyframesDriver, ɵNoopAnimationDriver as NoopAnimationDriver, ɵsupportsWebAnimations as supportsWebAnimations, ɵWebAnimationsDriver as WebAnimationsDriver, ɵWebAnimationsStyleNormalizer as WebAnimationsStyleNormalizer} from '@angular/animations/browser';\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable, InjectionToken, NgZone, Provider, RendererFactory2} from '@angular/core';\nimport {ɵDomRendererFactory2 as DomRendererFactory2} from '@angular/platform-browser';\n\nimport {BrowserAnimationBuilder} from './animation_builder';\nimport {AnimationRendererFactory} from './animation_renderer';\n\n@Injectable()\nexport class InjectableAnimationEngine extends AnimationEngine {\n constructor(\n @Inject(DOCUMENT) doc: any, driver: AnimationDriver, normalizer: AnimationStyleNormalizer) {\n super(doc.body, driver, normalizer);\n }\n}\n\nexport function instantiateSupportedAnimationDriver() {\n return supportsWebAnimations() ? new WebAnimationsDriver() : new CssKeyframesDriver();\n}\n\nexport function instantiateDefaultStyleNormalizer() {\n return new WebAnimationsStyleNormalizer();\n}\n\nexport function instantiateRendererFactory(\n renderer: DomRendererFactory2, engine: AnimationEngine, zone: NgZone) {\n return new AnimationRendererFactory(renderer, engine, zone);\n}\n\n/**\n * @publicApi\n */\nexport const ANIMATION_MODULE_TYPE =\n new InjectionToken<'NoopAnimations'|'BrowserAnimations'>('AnimationModuleType');\n\nconst SHARED_ANIMATION_PROVIDERS: Provider[] = [\n {provide: AnimationBuilder, useClass: BrowserAnimationBuilder},\n {provide: AnimationStyleNormalizer, useFactory: instantiateDefaultStyleNormalizer},\n {provide: AnimationEngine, useClass: InjectableAnimationEngine}, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [DomRendererFactory2, AnimationEngine, NgZone]\n }\n];\n\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nexport const BROWSER_ANIMATIONS_PROVIDERS: Provider[] = [\n {provide: AnimationDriver, useFactory: instantiateSupportedAnimationDriver},\n {provide: ANIMATION_MODULE_TYPE, useValue: 'BrowserAnimations'}, ...SHARED_ANIMATION_PROVIDERS\n];\n\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nexport const BROWSER_NOOP_ANIMATIONS_PROVIDERS: Provider[] = [\n {provide: AnimationDriver, useClass: NoopAnimationDriver},\n {provide: ANIMATION_MODULE_TYPE, useValue: 'NoopAnimations'}, ...SHARED_ANIMATION_PROVIDERS\n];\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\nimport {BrowserModule} from '@angular/platform-browser';\n\nimport {BROWSER_ANIMATIONS_PROVIDERS, BROWSER_NOOP_ANIMATIONS_PROVIDERS} from './providers';\n\n/**\n * Exports `BrowserModule` with additional [dependency-injection providers](guide/glossary#provider)\n * for use with animations. See [Animations](guide/animations).\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n})\nexport class BrowserAnimationsModule {\n}\n\n/**\n * A null player that must be imported to allow disabling of animations.\n * @publicApi\n */\n@NgModule({\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n})\nexport class NoopAnimationsModule {\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport {BrowserAnimationBuilder as ɵBrowserAnimationBuilder, BrowserAnimationFactory as ɵBrowserAnimationFactory} from './animation_builder';\nexport {AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory} from './animation_renderer';\nexport {InjectableAnimationEngine as ɵInjectableAnimationEngine} from './providers';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\nexport {BrowserAnimationsModule, NoopAnimationsModule} from './module';\n\nexport {ANIMATION_MODULE_TYPE} from './providers';\n\nexport * from './private_export';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport * from './src/animations';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// This file is not used to build this module. It is only used during editing\n// by the TypeScript language service and during build for verifcation. `ngc`\n// replaces this file with production index.ts when it rewrites private symbol\n// names.\n\nexport * from './public_api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {BaseAnimationRenderer as ɵangular_packages_platform_browser_animations_animations_f} from './src/animation_renderer';\nexport {BROWSER_ANIMATIONS_PROVIDERS as ɵangular_packages_platform_browser_animations_animations_d,BROWSER_NOOP_ANIMATIONS_PROVIDERS as ɵangular_packages_platform_browser_animations_animations_e,instantiateDefaultStyleNormalizer as ɵangular_packages_platform_browser_animations_animations_b,instantiateRendererFactory as ɵangular_packages_platform_browser_animations_animations_c,instantiateSupportedAnimationDriver as ɵangular_packages_platform_browser_animations_animations_a} from './src/providers';","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nimport isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AsapScheduler extends AsyncScheduler {\n flush(action) {\n this.active = true;\n this.scheduled = undefined;\n const { actions } = this;\n let error;\n let index = -1;\n let count = actions.length;\n action = action || actions.shift();\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (++index < count && (action = actions.shift()));\n this.active = false;\n if (error) {\n while (++index < count && (action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n//# sourceMappingURL=AsapScheduler.js.map","import superPropBase from \"@babel/runtime/helpers/esm/superPropBase\";\nexport default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}","'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/array-iteration').some;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\n\n// `Array.prototype.some` method\n// https://tc39.es/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, {\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // eslint-disable-next-line es/no-symbol -- required for testing\n return !Symbol.sham &&\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n (IS_NODE ? V8_VERSION === 38 : V8_VERSION > 37 && V8_VERSION < 41);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","import { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport const subscribeTo = (result) => {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else {\n const value = isObject(result) ? 'an invalid object' : `'${result}'`;\n const msg = `You provided ${value} where a stream was expected.`\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n//# sourceMappingURL=subscribeTo.js.map","require('../../modules/es.reflect.apply');\nrequire('../../modules/es.reflect.construct');\nrequire('../../modules/es.reflect.define-property');\nrequire('../../modules/es.reflect.delete-property');\nrequire('../../modules/es.reflect.get');\nrequire('../../modules/es.reflect.get-own-property-descriptor');\nrequire('../../modules/es.reflect.get-prototype-of');\nrequire('../../modules/es.reflect.has');\nrequire('../../modules/es.reflect.is-extensible');\nrequire('../../modules/es.reflect.own-keys');\nrequire('../../modules/es.reflect.prevent-extensions');\nrequire('../../modules/es.reflect.set');\nrequire('../../modules/es.reflect.set-prototype-of');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Reflect;\n","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n//# sourceMappingURL=first.js.map","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.sub` method\n// https://tc39.es/ecma262/#sec-string.prototype.sub\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, {\n sub: function sub() {\n return createHTML(this, 'sub', '', '');\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar test = [];\nvar nativeSort = test.sort;\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? nativeSort.call(toObject(this))\n : nativeSort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModule = require('../internals/object-define-property');\nvar regExpFlags = require('../internals/regexp-flags');\nvar UNSUPPORTED_Y = require('../internals/regexp-sticky-helpers').UNSUPPORTED_Y;\n\n// `RegExp.prototype.flags` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\n// eslint-disable-next-line es/no-regexp-prototype-flags -- required for testing\nif (DESCRIPTORS && (/./g.flags != 'g' || UNSUPPORTED_Y)) {\n objectDefinePropertyModule.f(RegExp.prototype, 'flags', {\n configurable: true,\n get: regExpFlags\n });\n}\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import { BehaviorSubject } from '../BehaviorSubject';\nimport { multicast } from './multicast';\nexport function publishBehavior(value) {\n return (source) => multicast(new BehaviorSubject(value))(source);\n}\n//# sourceMappingURL=publishBehavior.js.map","import { Subject } from '../Subject';\nimport { async } from '../scheduler/async';\nimport { Subscriber } from '../Subscriber';\nimport { isNumeric } from '../util/isNumeric';\nimport { isScheduler } from '../util/isScheduler';\nexport function windowTime(windowTimeSpan) {\n let scheduler = async;\n let windowCreationInterval = null;\n let maxWindowSize = Number.POSITIVE_INFINITY;\n if (isScheduler(arguments[3])) {\n scheduler = arguments[3];\n }\n if (isScheduler(arguments[2])) {\n scheduler = arguments[2];\n }\n else if (isNumeric(arguments[2])) {\n maxWindowSize = Number(arguments[2]);\n }\n if (isScheduler(arguments[1])) {\n scheduler = arguments[1];\n }\n else if (isNumeric(arguments[1])) {\n windowCreationInterval = Number(arguments[1]);\n }\n return function windowTimeOperatorFunction(source) {\n return source.lift(new WindowTimeOperator(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler));\n };\n}\nclass WindowTimeOperator {\n constructor(windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) {\n this.windowTimeSpan = windowTimeSpan;\n this.windowCreationInterval = windowCreationInterval;\n this.maxWindowSize = maxWindowSize;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new WindowTimeSubscriber(subscriber, this.windowTimeSpan, this.windowCreationInterval, this.maxWindowSize, this.scheduler));\n }\n}\nclass CountedSubject extends Subject {\n constructor() {\n super(...arguments);\n this._numberOfNextedValues = 0;\n }\n next(value) {\n this._numberOfNextedValues++;\n super.next(value);\n }\n get numberOfNextedValues() {\n return this._numberOfNextedValues;\n }\n}\nclass WindowTimeSubscriber extends Subscriber {\n constructor(destination, windowTimeSpan, windowCreationInterval, maxWindowSize, scheduler) {\n super(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 const window = this.openWindow();\n if (windowCreationInterval !== null && windowCreationInterval >= 0) {\n const closeState = { subscriber: this, window, context: null };\n const creationState = { windowTimeSpan, windowCreationInterval, subscriber: this, scheduler };\n this.add(scheduler.schedule(dispatchWindowClose, windowTimeSpan, closeState));\n this.add(scheduler.schedule(dispatchWindowCreation, windowCreationInterval, creationState));\n }\n else {\n const timeSpanOnlyState = { subscriber: this, window, windowTimeSpan };\n this.add(scheduler.schedule(dispatchWindowTimeSpanOnly, windowTimeSpan, timeSpanOnlyState));\n }\n }\n _next(value) {\n const windows = this.windows;\n const len = windows.length;\n for (let i = 0; i < len; i++) {\n const window = windows[i];\n if (!window.closed) {\n window.next(value);\n if (window.numberOfNextedValues >= this.maxWindowSize) {\n this.closeWindow(window);\n }\n }\n }\n }\n _error(err) {\n const windows = this.windows;\n while (windows.length > 0) {\n windows.shift().error(err);\n }\n this.destination.error(err);\n }\n _complete() {\n const windows = this.windows;\n while (windows.length > 0) {\n const window = windows.shift();\n if (!window.closed) {\n window.complete();\n }\n }\n this.destination.complete();\n }\n openWindow() {\n const window = new CountedSubject();\n this.windows.push(window);\n const destination = this.destination;\n destination.next(window);\n return window;\n }\n closeWindow(window) {\n window.complete();\n const windows = this.windows;\n windows.splice(windows.indexOf(window), 1);\n }\n}\nfunction dispatchWindowTimeSpanOnly(state) {\n const { subscriber, windowTimeSpan, window } = state;\n if (window) {\n subscriber.closeWindow(window);\n }\n state.window = subscriber.openWindow();\n this.schedule(state, windowTimeSpan);\n}\nfunction dispatchWindowCreation(state) {\n const { windowTimeSpan, subscriber, scheduler, windowCreationInterval } = state;\n const window = subscriber.openWindow();\n const action = this;\n let context = { action, subscription: null };\n const timeSpanState = { subscriber, window, context };\n context.subscription = scheduler.schedule(dispatchWindowClose, windowTimeSpan, timeSpanState);\n action.add(context.subscription);\n action.schedule(state, windowCreationInterval);\n}\nfunction dispatchWindowClose(state) {\n const { subscriber, window, context } = state;\n if (context && context.action && context.subscription) {\n context.action.remove(context.subscription);\n }\n subscriber.closeWindow(window);\n}\n//# sourceMappingURL=windowTime.js.map","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","import { mergeMap } from './mergeMap';\nexport function mergeMapTo(innerObservable, resultSelector, concurrent = Number.POSITIVE_INFINITY) {\n if (typeof resultSelector === 'function') {\n return mergeMap(() => innerObservable, resultSelector, concurrent);\n }\n if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return mergeMap(() => innerObservable, concurrent);\n}\n//# sourceMappingURL=mergeMapTo.js.map","import { ReplaySubject } from '../ReplaySubject';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n let config;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n config = configOrBufferSize;\n }\n else {\n config = {\n bufferSize: configOrBufferSize,\n windowTime,\n refCount: false,\n scheduler,\n };\n }\n return (source) => source.lift(shareReplayOperator(config));\n}\nfunction shareReplayOperator({ bufferSize = Number.POSITIVE_INFINITY, windowTime = Number.POSITIVE_INFINITY, refCount: useRefCount, scheduler, }) {\n let subject;\n let refCount = 0;\n let subscription;\n let hasError = false;\n let isComplete = false;\n return function shareReplayOperation(source) {\n refCount++;\n let innerSub;\n if (!subject || hasError) {\n hasError = false;\n subject = new ReplaySubject(bufferSize, windowTime, scheduler);\n innerSub = subject.subscribe(this);\n subscription = source.subscribe({\n next(value) {\n subject.next(value);\n },\n error(err) {\n hasError = true;\n subject.error(err);\n },\n complete() {\n isComplete = true;\n subscription = undefined;\n subject.complete();\n },\n });\n if (isComplete) {\n subscription = undefined;\n }\n }\n else {\n innerSub = subject.subscribe(this);\n }\n this.add(() => {\n refCount--;\n innerSub.unsubscribe();\n innerSub = undefined;\n if (subscription && !isComplete && useRefCount && refCount === 0) {\n subscription.unsubscribe();\n subscription = undefined;\n subject = undefined;\n }\n });\n };\n}\n//# sourceMappingURL=shareReplay.js.map","'use strict';\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== 'number' && hint !== 'default') {\n throw TypeError('Incorrect hint');\n } return toPrimitive(anObject(this), hint !== 'number');\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n","var $ = require('../internals/export');\nvar log1p = require('../internals/math-log1p');\n\n// eslint-disable-next-line es/no-math-acosh -- required for testing\nvar $acosh = Math.acosh;\nvar log = Math.log;\nvar sqrt = Math.sqrt;\nvar LN2 = Math.LN2;\n\nvar FORCED = !$acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n || Math.floor($acosh(Number.MAX_VALUE)) != 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n || $acosh(Infinity) != Infinity;\n\n// `Math.acosh` method\n// https://tc39.es/ecma262/#sec-math.acosh\n$({ target: 'Math', stat: true, forced: FORCED }, {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? log(x) + LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar thisNumberValue = require('../internals/this-number-value');\n\nvar nativeToPrecision = 1.0.toPrecision;\n\nvar FORCED = fails(function () {\n // IE7-\n return nativeToPrecision.call(1, undefined) !== '1';\n}) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToPrecision.call({});\n});\n\n// `Number.prototype.toPrecision` method\n// https://tc39.es/ecma262/#sec-number.prototype.toprecision\n$({ target: 'Number', proto: true, forced: FORCED }, {\n toPrecision: function toPrecision(precision) {\n return precision === undefined\n ? nativeToPrecision.call(thisNumberValue(this))\n : nativeToPrecision.call(thisNumberValue(this), precision);\n }\n});\n","import { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function merge(...observables) {\n let concurrent = Number.POSITIVE_INFINITY;\n let scheduler = null;\n let last = observables[observables.length - 1];\n if (isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n return observables[0];\n }\n return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n//# sourceMappingURL=merge.js.map","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.10.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","import { AsyncAction } from './AsyncAction';\nexport class AnimationFrameAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler.scheduled || (scheduler.scheduled = requestAnimationFrame(() => scheduler.flush(null)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n if (scheduler.actions.length === 0) {\n cancelAnimationFrame(id);\n scheduler.scheduled = undefined;\n }\n return undefined;\n }\n}\n//# sourceMappingURL=AnimationFrameAction.js.map","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FORCED = require('../internals/object-prototype-accessors-forced');\nvar toObject = require('../internals/to-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\n\n// `Object.prototype.__lookupSetter__` method\n// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__\nif (DESCRIPTORS) {\n $({ target: 'Object', proto: true, forced: FORCED }, {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var key = toPrimitive(P, true);\n var desc;\n do {\n if (desc = getOwnPropertyDescriptor(O, key)) return desc.set;\n } while (O = getPrototypeOf(O));\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isRegExp = require('../internals/is-regexp');\nvar getRegExpFlags = require('../internals/regexp-flags');\nvar getSubstitution = require('../internals/get-substitution');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar RegExpPrototype = RegExp.prototype;\nvar max = Math.max;\n\nvar stringIndexOf = function (string, searchValue, fromIndex) {\n if (fromIndex > string.length) return -1;\n if (searchValue === '') return fromIndex;\n return string.indexOf(searchValue, fromIndex);\n};\n\n// `String.prototype.replaceAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.replaceall\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;\n var position = 0;\n var endOfLastMatch = 0;\n var result = '';\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = String(requireObjectCoercible('flags' in RegExpPrototype\n ? searchValue.flags\n : getRegExpFlags.call(searchValue)\n ));\n if (!~flags.indexOf('g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = searchValue[REPLACE];\n if (replacer !== undefined) {\n return replacer.call(searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return String(O).replace(searchValue, replaceValue);\n }\n }\n string = String(O);\n searchString = String(searchValue);\n functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n searchLength = searchString.length;\n advanceBy = max(1, searchLength);\n position = stringIndexOf(string, searchString, 0);\n while (position !== -1) {\n if (functionalReplace) {\n replacement = String(replaceValue(searchString, position, string));\n } else {\n replacement = getSubstitution(searchString, string, position, [], undefined, replaceValue);\n }\n result += string.slice(endOfLastMatch, position) + replacement;\n endOfLastMatch = position + searchLength;\n position = stringIndexOf(string, searchString, position + advanceBy);\n }\n if (endOfLastMatch < string.length) {\n result += string.slice(endOfLastMatch);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar isInteger = require('../internals/is-integer');\n\nvar abs = Math.abs;\n\n// `Number.isSafeInteger` method\n// https://tc39.es/ecma262/#sec-number.issafeinteger\n$({ target: 'Number', stat: true }, {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF;\n }\n});\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","import { empty } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nexport var NotificationKind;\n(function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nexport class Notification {\n constructor(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n observe(observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n }\n do(next, error, complete) {\n const kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n }\n accept(nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n }\n toObservable() {\n const kind = this.kind;\n switch (kind) {\n case 'N':\n return of(this.value);\n case 'E':\n return throwError(this.error);\n case 'C':\n return empty();\n }\n throw new Error('unexpected notification kind value');\n }\n static createNext(value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n }\n static createError(err) {\n return new Notification('E', undefined, err);\n }\n static createComplete() {\n return Notification.completeNotification;\n }\n}\nNotification.completeNotification = new Notification('C');\nNotification.undefinedValueNotification = new Notification('N', undefined);\n//# sourceMappingURL=Notification.js.map","import { Observable } from '../Observable';\nimport { identity } from '../util/identity';\nimport { isScheduler } from '../util/isScheduler';\nexport function generate(initialStateOrOptions, condition, iterate, resultSelectorOrObservable, scheduler) {\n let resultSelector;\n let initialState;\n if (arguments.length == 1) {\n const options = initialStateOrOptions;\n initialState = options.initialState;\n condition = options.condition;\n iterate = options.iterate;\n resultSelector = options.resultSelector || identity;\n scheduler = options.scheduler;\n }\n else if (resultSelectorOrObservable === undefined || isScheduler(resultSelectorOrObservable)) {\n initialState = initialStateOrOptions;\n resultSelector = identity;\n scheduler = resultSelectorOrObservable;\n }\n else {\n initialState = initialStateOrOptions;\n resultSelector = resultSelectorOrObservable;\n }\n return new Observable(subscriber => {\n let state = initialState;\n if (scheduler) {\n return scheduler.schedule(dispatch, 0, {\n subscriber,\n iterate,\n condition,\n resultSelector,\n state\n });\n }\n do {\n if (condition) {\n let conditionResult;\n try {\n conditionResult = condition(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n break;\n }\n }\n let value;\n try {\n value = resultSelector(state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\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 undefined;\n }\n } while (true);\n return undefined;\n });\n}\nfunction dispatch(state) {\n const { subscriber, condition } = state;\n if (subscriber.closed) {\n return undefined;\n }\n if (state.needIterate) {\n try {\n state.state = state.iterate(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n }\n else {\n state.needIterate = true;\n }\n if (condition) {\n let conditionResult;\n try {\n conditionResult = condition(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (!conditionResult) {\n subscriber.complete();\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n }\n let value;\n try {\n value = state.resultSelector(state.state);\n }\n catch (err) {\n subscriber.error(err);\n return undefined;\n }\n if (subscriber.closed) {\n return undefined;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n return undefined;\n }\n return this.schedule(state);\n}\n//# sourceMappingURL=generate.js.map","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","import { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map","import { EmptyError } from '../util/EmptyError';\nimport { Subscriber } from '../Subscriber';\nexport function throwIfEmpty(errorFactory = defaultErrorFactory) {\n return (source) => {\n return source.lift(new ThrowIfEmptyOperator(errorFactory));\n };\n}\nclass ThrowIfEmptyOperator {\n constructor(errorFactory) {\n this.errorFactory = errorFactory;\n }\n call(subscriber, source) {\n return source.subscribe(new ThrowIfEmptySubscriber(subscriber, this.errorFactory));\n }\n}\nclass ThrowIfEmptySubscriber extends Subscriber {\n constructor(destination, errorFactory) {\n super(destination);\n this.errorFactory = errorFactory;\n this.hasValue = false;\n }\n _next(value) {\n this.hasValue = true;\n this.destination.next(value);\n }\n _complete() {\n if (!this.hasValue) {\n let err;\n try {\n err = this.errorFactory();\n }\n catch (e) {\n err = e;\n }\n this.destination.error(err);\n }\n else {\n return this.destination.complete();\n }\n }\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n//# sourceMappingURL=throwIfEmpty.js.map","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","import { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nexport class SubjectSubscriber extends Subscriber {\n constructor(destination) {\n super(destination);\n this.destination = destination;\n }\n}\nexport class Subject extends Observable {\n constructor() {\n super();\n this.observers = [];\n this.closed = false;\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n [rxSubscriberSymbol]() {\n return new SubjectSubscriber(this);\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n next(value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n }\n error(err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n }\n complete() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n }\n unsubscribe() {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n }\n _trySubscribe(subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return super._trySubscribe(subscriber);\n }\n }\n _subscribe(subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n const { destination } = this;\n if (destination && destination.next) {\n destination.next(value);\n }\n }\n error(err) {\n const { destination } = this;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n }\n complete() {\n const { destination } = this;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n }\n _subscribe(subscriber) {\n const { source } = this;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n }\n}\n//# sourceMappingURL=Subject.js.map","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nexport default function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}","var $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar has = require('../internals/has');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\n\n// `Reflect.get` method\n// https://tc39.es/ecma262/#sec-reflect.get\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var descriptor, prototype;\n if (anObject(target) === receiver) return target[propertyKey];\n if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')\n ? descriptor.value\n : descriptor.get === undefined\n ? undefined\n : descriptor.get.call(receiver);\n if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);\n}\n\n$({ target: 'Reflect', stat: true }, {\n get: get\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar aFunction = require('../internals/a-function');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://tc39.es/ecma262/#sec-array.prototype.flatmap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A;\n aFunction(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar createProperty = require('../internals/create-property');\n\nvar ISNT_GENERIC = fails(function () {\n function F() { /* empty */ }\n // eslint-disable-next-line es/no-array-of -- required for testing\n return !(Array.of.call(F) instanceof F);\n});\n\n// `Array.of` method\n// https://tc39.es/ecma262/#sec-array.of\n// WebKit Array.of isn't generic\n$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {\n of: function of(/* ...args */) {\n var index = 0;\n var argumentsLength = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(argumentsLength);\n while (argumentsLength > index) createProperty(result, index, arguments[index++]);\n result.length = argumentsLength;\n return result;\n }\n});\n","export function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `Number.isInteger` method implementation\n// https://tc39.es/ecma262/#sec-number.isinteger\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","import { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function exhaustMap(project, resultSelector) {\n if (resultSelector) {\n return (source) => source.pipe(exhaustMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii)))));\n }\n return (source) => source.lift(new ExhaustMapOperator(project));\n}\nclass ExhaustMapOperator {\n constructor(project) {\n this.project = project;\n }\n call(subscriber, source) {\n return source.subscribe(new ExhaustMapSubscriber(subscriber, this.project));\n }\n}\nclass ExhaustMapSubscriber extends SimpleOuterSubscriber {\n constructor(destination, project) {\n super(destination);\n this.project = project;\n this.hasSubscription = false;\n this.hasCompleted = false;\n this.index = 0;\n }\n _next(value) {\n if (!this.hasSubscription) {\n this.tryNext(value);\n }\n }\n tryNext(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.hasSubscription = true;\n this._innerSub(result);\n }\n _innerSub(result) {\n const innerSubscriber = new SimpleInnerSubscriber(this);\n const destination = this.destination;\n destination.add(innerSubscriber);\n const innerSubscription = innerSubscribe(result, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n _complete() {\n this.hasCompleted = true;\n if (!this.hasSubscription) {\n this.destination.complete();\n }\n this.unsubscribe();\n }\n notifyNext(innerValue) {\n this.destination.next(innerValue);\n }\n notifyError(err) {\n this.destination.error(err);\n }\n notifyComplete() {\n this.hasSubscription = false;\n if (this.hasCompleted) {\n this.destination.complete();\n }\n }\n}\n//# sourceMappingURL=exhaustMap.js.map","require('../../modules/es.map');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Map;\n","export class Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.SchedulerAction(this, work).schedule(state, delay);\n }\n}\nScheduler.now = () => Date.now();\n//# sourceMappingURL=Scheduler.js.map","const TimeoutErrorImpl = (() => {\n function TimeoutErrorImpl() {\n Error.call(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n return this;\n }\n TimeoutErrorImpl.prototype = Object.create(Error.prototype);\n return TimeoutErrorImpl;\n})();\nexport const TimeoutError = TimeoutErrorImpl;\n//# sourceMappingURL=TimeoutError.js.map","import { switchMap } from './switchMap';\nimport { identity } from '../util/identity';\nexport function switchAll() {\n return switchMap(identity);\n}\n//# sourceMappingURL=switchAll.js.map","import { isArray } from './isArray';\nexport function isNumeric(val) {\n return !isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\n//# sourceMappingURL=isNumeric.js.map","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\nmodule.exports = collection('Set', function (init) {\n return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","import { Subscription } from './Subscription';\nexport class SubjectSubscription extends Subscription {\n constructor(subject, subscriber) {\n super();\n this.subject = subject;\n this.subscriber = subscriber;\n this.closed = false;\n }\n unsubscribe() {\n if (this.closed) {\n return;\n }\n this.closed = true;\n const subject = this.subject;\n const observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n const subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n }\n}\n//# sourceMappingURL=SubjectSubscription.js.map","import { AsyncAction } from './AsyncAction';\nexport class QueueAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n schedule(state, delay = 0) {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n execute(state, delay) {\n return (delay > 0 || this.closed) ?\n super.execute(state, delay) :\n this._execute(state, delay);\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if ((delay !== null && delay > 0) || (delay === null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n return scheduler.flush(this);\n }\n}\n//# sourceMappingURL=QueueAction.js.map","'use strict';\nvar fails = require('../internals/fails');\nvar padStart = require('../internals/string-pad').start;\n\nvar abs = Math.abs;\nvar DatePrototype = Date.prototype;\nvar getTime = DatePrototype.getTime;\nvar nativeDateToISOString = DatePrototype.toISOString;\n\n// `Date.prototype.toISOString` method implementation\n// https://tc39.es/ecma262/#sec-date.prototype.toisostring\n// PhantomJS / old WebKit fails here:\nmodule.exports = (fails(function () {\n return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n nativeDateToISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var date = this;\n var year = date.getUTCFullYear();\n var milliseconds = date.getUTCMilliseconds();\n var sign = year < 0 ? '-' : year > 9999 ? '+' : '';\n return sign + padStart(abs(year), sign ? 6 : 4, 0) +\n '-' + padStart(date.getUTCMonth() + 1, 2, 0) +\n '-' + padStart(date.getUTCDate(), 2, 0) +\n 'T' + padStart(date.getUTCHours(), 2, 0) +\n ':' + padStart(date.getUTCMinutes(), 2, 0) +\n ':' + padStart(date.getUTCSeconds(), 2, 0) +\n '.' + padStart(milliseconds, 3, 0) +\n 'Z';\n} : nativeDateToISOString;\n","import { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeTo } from './subscribeTo';\nimport { Observable } from '../Observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex)) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n//# sourceMappingURL=subscribeToResult.js.map","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","import { EventEmitter } from '@angular/core';\nimport { PageScrollConfig } from './types/page-scroll.config';\nimport { PageScrollTarget } from './types/page-scroll-target';\nimport { PageScrollViews } from './types/page-scroll-view';\nimport { EasingLogic } from './types/easing-logic';\n\n/**\n * An Interface specifying the possible options to be passed into the newInstance() factory method\n */\nexport interface PageScrollOptions extends PageScrollConfig {\n /**\n * The document object of the current app\n */\n document: Document;\n\n /**\n * A specification of the DOM element to scroll to. Either a string referring to an\n * element using a valid css selector (`#target`, `.class`, `div.class`) or a HTMLElement\n * that is attached to the document's DOM tree.\n */\n scrollTarget: PageScrollTarget;\n\n /**\n * Array of HTMLElements or the body object that should be manipulated while performing\n * the scroll animation.\n */\n scrollViews?: PageScrollViews[];\n\n /**\n * Maximum speed to be used for the scroll animation. Only taken\n * into account of no duration is provided\n */\n speed?: number;\n\n /**\n * A listener to be called whenever the scroll animation stops\n */\n scrollFinishListener?: EventEmitter;\n\n namespace?: string;\n verticalScrolling?: boolean;\n duration?: number;\n scrollOffset?: number;\n advancedInlineOffsetCalculation?: boolean;\n interruptEvents?: string[];\n interruptKeys?: string[];\n interruptible?: boolean;\n scrollInView?: boolean;\n easingLogic?: EasingLogic;\n}\n\n/**\n * Represents a scrolling action\n */\nexport class PageScrollInstance {\n\n public pageScrollOptions: PageScrollOptions;\n\n private isInlineScrolling: boolean;\n\n /* The listener that this scroll instance attaches to the body to listen for interrupt events\n We're keeping a reference to it so we can properly remove it when the animation finishes */\n private interruptListener: EventListenerOrEventListenerObject;\n\n /**\n * These properties will be set/manipulated if the scroll animation starts\n */\n /* The initial value of the scrollTop or scrollLeft position when the animation starts */\n public startScrollPosition = 0;\n /* The target value of the scrollTop or scrollLeft position for the animation (aka \"the final destination\") */\n public targetScrollPosition: number;\n /* Difference between startScrollPosition and targetScrollPosition. Pre-calculated to minimize computations during animation */\n public distanceToScroll: number;\n /* The timestamp when the animation starts/got started */\n public startTime: number;\n /* The estimate end time of the animation, calculated by startTime + duration */\n public endTime: number;\n /* The duration a started animation takes. This may match the _duration or be adjusted due to the _speed option */\n public executionDuration: number;\n /* Whether an interrupt listener is attached to the body or not */\n public interruptListenersAttached = false;\n\n /* References to the timer instance that is used to perform the scroll animation to be\n able to clear it on animation end*/\n public timer: any = null;\n\n /**\n * Private constructor, requires the properties assumed to be the bare minimum.\n * Use the factory methods to create instances:\n * {@link PageScrollService#create}\n */\n constructor(pageScrollOptions: PageScrollOptions) {\n if (!pageScrollOptions.scrollViews || pageScrollOptions.scrollViews.length === 0) {\n pageScrollOptions.scrollViews = [\n pageScrollOptions.document.documentElement,\n pageScrollOptions.document.body,\n pageScrollOptions.document.body.parentNode,\n ];\n this.isInlineScrolling = false;\n } else {\n this.isInlineScrolling = true;\n }\n\n this.pageScrollOptions = pageScrollOptions;\n }\n\n private static getScrollingTargetPosition(pageScrollOptions: PageScrollOptions,\n scrollTargetElement: HTMLElement): { top: number, left: number } {\n const body = pageScrollOptions.document.body;\n const docEl = pageScrollOptions.document.documentElement;\n\n const windowPageYOffset: number = pageScrollOptions.document.defaultView &&\n pageScrollOptions.document.defaultView.pageYOffset || undefined;\n const windowPageXOffset: number = pageScrollOptions.document.defaultView &&\n pageScrollOptions.document.defaultView.pageXOffset || undefined;\n\n const scrollTop = windowPageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = windowPageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n if (scrollTargetElement === undefined || scrollTargetElement === null) {\n // No element found, so return the current position to not cause any change in scroll position\n return {top: scrollTop, left: scrollLeft};\n }\n const box = scrollTargetElement.getBoundingClientRect();\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n }\n\n private static getInlineScrollingTargetPosition(pageScrollOptions: PageScrollOptions,\n scrollTargetElement: HTMLElement): { top: number, left: number } {\n const position = {top: scrollTargetElement.offsetTop, left: scrollTargetElement.offsetLeft};\n if (pageScrollOptions.advancedInlineOffsetCalculation && pageScrollOptions.scrollViews.length === 1) {\n const accumulatedParentsPos = {top: 0, left: 0};\n // not named window to make sure we're not getting the global window variable by accident\n const theWindow = scrollTargetElement.ownerDocument.defaultView;\n let parentFound = false;\n\n // Start parent is the immediate parent\n let parent = scrollTargetElement.parentElement;\n\n // Iterate upwards all parents\n while (!parentFound && parent !== undefined && parent !== null) {\n if (theWindow.getComputedStyle(parent).getPropertyValue('position') === 'relative') {\n accumulatedParentsPos.top += parent.offsetTop;\n accumulatedParentsPos.left += parent.offsetLeft;\n }\n // Next iteration\n parent = parent.parentElement;\n parentFound = parent === pageScrollOptions.scrollViews[0];\n }\n if (parentFound) {\n // Only use the results if we found the parent, otherwise we accumulated too much anyway\n position.top += accumulatedParentsPos.top;\n position.left += accumulatedParentsPos.left;\n } else {\n /* TODO Uncomment\n if (PageScrollConfig._logLevel >= 2 || (PageScrollConfig._logLevel >= 1 && isDevMode())) {\n console.warn('Unable to find nested scrolling targets parent!');\n }*/\n }\n }\n\n return position;\n }\n\n public getScrollPropertyValue(scrollingView: any): number {\n if (!this.pageScrollOptions.verticalScrolling) {\n return scrollingView.scrollLeft;\n }\n\n return scrollingView.scrollTop;\n }\n\n public getScrollClientPropertyValue(scrollingView: any): number {\n if (!this.pageScrollOptions.verticalScrolling) {\n return scrollingView.clientWidth;\n }\n\n return scrollingView.clientHeight;\n }\n\n /**\n * Extract the exact location of the scrollTarget element.\n *\n * Extract the scrollTarget HTMLElement from the given PageScrollTarget object. The latter one may be\n * a string like \"#heading2\", then this method returns the corresponding DOM element for that id.\n *\n */\n public extractScrollTargetPosition(): { top: number, left: number } {\n const scrollTargetElement = this.getScrollTargetElement();\n\n if (scrollTargetElement === null || scrollTargetElement === undefined) {\n // Scroll target not found\n return {top: NaN, left: NaN};\n }\n\n if (this.isInlineScrolling) {\n return PageScrollInstance.getInlineScrollingTargetPosition(this.pageScrollOptions, scrollTargetElement);\n }\n\n return PageScrollInstance.getScrollingTargetPosition(this.pageScrollOptions, scrollTargetElement);\n }\n\n /**\n * Get the top offset of the scroll animation.\n * This automatically takes the offset location of the scrolling container/scrolling view\n * into account (for nested/inline scrolling).\n */\n public getCurrentOffset(): number {\n return this.pageScrollOptions.scrollOffset;\n }\n\n /**\n * Sets the \"scrollTop\" or \"scrollLeft\" property for all scrollViews to the provided value\n * @return true if at least for one ScrollTopSource the scrollTop/scrollLeft value could be set and it kept the new value.\n * false if it failed for all ScrollViews, meaning that we should stop the animation\n * (probably because we're at the end of the scrolling region)\n */\n public setScrollPosition(position: number): boolean {\n // Set the new scrollTop/scrollLeft to all scrollViews elements\n return this.pageScrollOptions.scrollViews.reduce((oneAlreadyWorked: any, scrollingView: any) => {\n const startScrollPropertyValue = this.getScrollPropertyValue(scrollingView);\n if (scrollingView && startScrollPropertyValue !== undefined && startScrollPropertyValue !== null) {\n const scrollDistance = Math.abs(startScrollPropertyValue - position);\n\n // The movement we need to perform is less than 2px\n // This we consider a small movement which some browser may not perform when\n // changing the scrollTop/scrollLeft property\n // Thus in this cases we do not stop the scroll animation, although setting the\n // scrollTop/scrollLeft value \"fails\"\n const isSmallMovement = scrollDistance < this.pageScrollOptions._minScrollDistance;\n\n if (!this.pageScrollOptions.verticalScrolling) {\n scrollingView.scrollLeft = position;\n } else {\n scrollingView.scrollTop = position;\n }\n\n // Return true if setting the new scrollTop/scrollLeft value worked\n // We consider that it worked if the new scrollTop/scrollLeft value is closer to the\n // desired scrollTop/scrollLeft than before (it might not be exactly the value we\n // set due to dpi or rounding irregularities)\n if (isSmallMovement || scrollDistance > Math.abs(this.getScrollPropertyValue(scrollingView) - position)) {\n return true;\n }\n }\n\n return oneAlreadyWorked;\n }, false);\n }\n\n /**\n * Trigger firing a animation finish event\n * @param value Whether the animation finished at the target (true) or got interrupted (false)\n */\n public fireEvent(value: boolean): void {\n if (this.pageScrollOptions.scrollFinishListener) {\n this.pageScrollOptions.scrollFinishListener.emit(value);\n }\n }\n\n /**\n * Attach the interrupt listeners to the PageScrollInstance body. The given interruptReporter\n * will be called if any of the attached events is fired.\n *\n * Possibly attached interruptListeners are automatically removed from the body before the new one will be attached.\n */\n public attachInterruptListeners(interruptReporter: InterruptReporter): void {\n if (this.interruptListenersAttached) {\n // Detach possibly existing listeners first\n this.detachInterruptListeners();\n }\n this.interruptListener = (event: Event): void => {\n interruptReporter.report(event, this);\n };\n this.pageScrollOptions.interruptEvents.forEach(\n (event: string) => this.pageScrollOptions.document.body.addEventListener(event, this.interruptListener)\n );\n this.interruptListenersAttached = true;\n }\n\n /**\n * Remove event listeners from the body and stop listening for events that might be treated as \"animation\n * interrupt\" events.\n */\n public detachInterruptListeners(): void {\n this.pageScrollOptions.interruptEvents.forEach(\n (event: string) => this.pageScrollOptions.document.body.removeEventListener(event, this.interruptListener)\n );\n this.interruptListenersAttached = false;\n }\n\n private getScrollTargetElement(): HTMLElement {\n if (typeof this.pageScrollOptions.scrollTarget === 'string') {\n const targetSelector = this.pageScrollOptions.scrollTarget as string;\n if (targetSelector.match(/^#[^\\s]+$/g) !== null) {\n // It's an id selector and a valid id, as it does not contain any white space characters\n\n return this.pageScrollOptions.document.getElementById(targetSelector.substr(1));\n }\n\n return this.pageScrollOptions.document.querySelector(targetSelector) as HTMLElement;\n }\n\n return this.pageScrollOptions.scrollTarget as HTMLElement;\n }\n}\n\n/**\n * An Interface a listener should implement to be notified about possible interrupt events\n * that happened due to user interaction while a scroll animation takes place.\n *\n * The PageScrollService provides an implementation to a PageScrollInstance to be notified\n * about scroll animation interrupts and stop related animations.\n */\nexport interface InterruptReporter {\n report(event: Event, pageScrollInstance: PageScrollInstance): void;\n}\n","import { InjectionToken } from '@angular/core';\nimport { PageScrollConfig } from '../types/page-scroll.config';\n\nexport const NGXPS_CONFIG = new InjectionToken('ngxps_config');\n\nexport const defaultPageScrollConfig: PageScrollConfig = {\n _interval: 10,\n _minScrollDistance: 2,\n _logLevel: 1,\n namespace: 'default',\n verticalScrolling: true,\n duration: 1250,\n scrollOffset: 0,\n advancedInlineOffsetCalculation: false,\n interruptEvents: ['mousedown', 'wheel', 'DOMMouseScroll', 'mousewheel', 'keyup', 'touchmove'],\n interruptKeys: [' ', 'Escape', 'Tab', 'Enter', 'PageUp', 'PageDown', 'Home', 'End', 'ArrowUp', 'ArrowRight', 'ArrowLeft', 'ArrowDown'],\n interruptible: true,\n scrollInView: true,\n easingLogic: (t: number, b: number, c: number, d: number): number => {\n // Linear easing\n return c * t / d + b;\n },\n};\n","import { Inject, Injectable, isDevMode } from '@angular/core';\n\nimport { PageScrollConfig } from '../types/page-scroll.config';\nimport { InterruptReporter, PageScrollInstance, PageScrollOptions } from '../page-scroll-instance';\nimport { defaultPageScrollConfig, NGXPS_CONFIG } from './config.provider';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PageScrollService {\n private static instanceCounter = 0;\n\n private readonly config: PageScrollConfig;\n\n private runningInstances: PageScrollInstance[] = [];\n\n private onInterrupted: InterruptReporter = {\n report: (event: Event, pageScrollInstance: PageScrollInstance): void => {\n if (!pageScrollInstance.pageScrollOptions.interruptible) {\n // Non-interruptible anyway, so do not stop anything\n return;\n }\n\n let shouldStop = true;\n\n if (event.type === 'keyup') {\n // Only stop if specific keys have been pressed, for all others don't stop anything\n if (this.config.interruptKeys.indexOf((event as KeyboardEvent).key) === -1) {\n // The pressed key is not in the list of interrupting keys\n shouldStop = false;\n }\n } else if (event.type === 'mousedown') {\n // For mousedown events we only stop the scroll animation of the mouse has\n // been clicked inside the scrolling container\n if (!pageScrollInstance.pageScrollOptions.scrollViews.some(scrollingView => scrollingView.contains(event.target as Node))) {\n // Mouse clicked an element which is not inside any of the the scrolling containers\n shouldStop = false;\n }\n }\n\n if (shouldStop) {\n this.stopAll(pageScrollInstance.pageScrollOptions.namespace);\n }\n },\n };\n\n private stopInternal(interrupted: boolean, pageScrollInstance: PageScrollInstance): boolean {\n const index: number = this.runningInstances.indexOf(pageScrollInstance);\n if (index >= 0) {\n this.runningInstances.splice(index, 1);\n }\n\n if (pageScrollInstance.interruptListenersAttached) {\n pageScrollInstance.detachInterruptListeners();\n }\n\n if (pageScrollInstance.timer) {\n // Clear/Stop the timer\n clearInterval(pageScrollInstance.timer);\n // Clear the reference to this timer\n pageScrollInstance.timer = undefined;\n pageScrollInstance.fireEvent(!interrupted);\n\n return true;\n }\n\n return false;\n }\n\n public create(options: PageScrollOptions): PageScrollInstance {\n return new PageScrollInstance({...this.config, ...options} as PageScrollOptions);\n }\n\n /**\n * Start a scroll animation. All properties of the animation are stored in the given {@link PageScrollInstance} object.\n *\n * This is the core functionality of the whole library.\n */\n // tslint:disable-next-line:cyclomatic-complexity\n public start(pageScrollInstance: PageScrollInstance): void {\n // Merge the default options in the pageScrollInstance options\n pageScrollInstance.pageScrollOptions = {...this.config, ...pageScrollInstance.pageScrollOptions} as PageScrollOptions;\n\n // Stop all possibly running scroll animations in the same namespace\n this.stopAll(pageScrollInstance.pageScrollOptions.namespace);\n\n if (pageScrollInstance.pageScrollOptions.scrollViews === null || pageScrollInstance.pageScrollOptions.scrollViews.length === 0) {\n // No scrollViews specified, thus we can't animate anything\n if (this.config._logLevel >= 2 || (this.config._logLevel >= 1 && isDevMode())) {\n console.warn('No scrollViews specified, thus ngx-page-scroll does not know which DOM elements to scroll');\n }\n\n return;\n }\n\n let startScrollPositionFound = false;\n let scrollRange = pageScrollInstance.getScrollClientPropertyValue(pageScrollInstance.pageScrollOptions.scrollViews[0]);\n // Reset start scroll position to 0. If any of the scrollViews has a different one, it will be extracted next\n pageScrollInstance.startScrollPosition = 0;\n\n // Get the start scroll position from the scrollViews (e.g. if the user already scrolled down the content)\n pageScrollInstance.pageScrollOptions.scrollViews.forEach(scrollingView => {\n if (scrollingView === undefined || scrollingView === null) {\n return;\n }\n // Get the scrollTop or scrollLeft value of the first scrollingView that returns a value for its \"scrollTop\"\n // or \"scrollLeft\" property that is not undefined and unequal to 0\n\n const scrollPosition = pageScrollInstance.getScrollPropertyValue(scrollingView);\n if (!startScrollPositionFound && scrollPosition) {\n // We found a scrollingView that does not have scrollTop or scrollLeft 0\n\n // Return the scroll position value, as this will be our startScrollPosition\n pageScrollInstance.startScrollPosition = scrollPosition;\n startScrollPositionFound = true;\n\n // Remember te scrollRange of this scrollingView\n scrollRange = pageScrollInstance.getScrollClientPropertyValue(scrollingView);\n }\n });\n\n const pageScrollOffset = pageScrollInstance.getCurrentOffset();\n\n // Calculate the target position that the scroll animation should go to\n\n const scrollTargetPosition = pageScrollInstance.extractScrollTargetPosition();\n pageScrollInstance.targetScrollPosition = Math.round(\n (pageScrollInstance.pageScrollOptions.verticalScrolling ? scrollTargetPosition.top : scrollTargetPosition.left) - pageScrollOffset);\n\n // Calculate the distance we need to go in total\n pageScrollInstance.distanceToScroll = pageScrollInstance.targetScrollPosition - pageScrollInstance.startScrollPosition;\n\n if (isNaN(pageScrollInstance.distanceToScroll)) {\n // We weren't able to find the target position, maybe the element does not exist?\n\n if (this.config._logLevel >= 2 || (this.config._logLevel >= 1 && isDevMode())) {\n console.log('Scrolling not possible, as we can\\'t find the specified target');\n }\n pageScrollInstance.fireEvent(false);\n\n return;\n }\n\n // We're at the final destination already\n // OR we need to scroll down but are already at the end\n // OR we need to scroll up but are at the top already\n const allReadyAtDestination = Math.abs(pageScrollInstance.distanceToScroll) < pageScrollInstance.pageScrollOptions._minScrollDistance;\n\n // Check how long we need to scroll if a speed option is given\n // Default executionDuration is the specified duration\n pageScrollInstance.executionDuration = pageScrollInstance.pageScrollOptions.duration;\n // Maybe we need to pay attention to the speed option?\n if ((pageScrollInstance.pageScrollOptions.speed !== undefined && pageScrollInstance.pageScrollOptions.speed !== null) &&\n (pageScrollInstance.pageScrollOptions.duration === undefined || pageScrollInstance.pageScrollOptions.duration === null)) {\n // Speed option is set and no duration => calculate duration based on speed and scroll distance\n pageScrollInstance.executionDuration =\n Math.abs(pageScrollInstance.distanceToScroll) / pageScrollInstance.pageScrollOptions.speed * 1000;\n }\n\n // We should go there directly, as our \"animation\" would have one big step\n // only anyway and this way we save the interval stuff\n const tooShortInterval = pageScrollInstance.executionDuration <= pageScrollInstance.pageScrollOptions._interval;\n\n if (allReadyAtDestination || tooShortInterval) {\n if (this.config._logLevel >= 2 || (this.config._logLevel >= 1 && isDevMode())) {\n if (allReadyAtDestination) {\n console.log('Scrolling not possible, as we can\\'t get any closer to the destination');\n } else {\n console.log('Scroll duration shorter that interval length, jumping to target');\n }\n }\n pageScrollInstance.setScrollPosition(pageScrollInstance.targetScrollPosition);\n pageScrollInstance.fireEvent(true);\n\n return;\n }\n\n if (!pageScrollInstance.pageScrollOptions.scrollInView) {\n const alreadyInView = pageScrollInstance.targetScrollPosition > pageScrollInstance.startScrollPosition &&\n pageScrollInstance.targetScrollPosition <= pageScrollInstance.startScrollPosition + scrollRange;\n if (alreadyInView) {\n if (this.config._logLevel >= 2 || (this.config._logLevel >= 1 && isDevMode())) {\n console.log('Not scrolling, as target already in view');\n }\n pageScrollInstance.fireEvent(true);\n\n return;\n }\n }\n\n // Register the interrupt listeners if we want an interruptible scroll animation\n if (pageScrollInstance.pageScrollOptions.interruptible) {\n pageScrollInstance.attachInterruptListeners(this.onInterrupted);\n }\n\n // Let's get started, get the start time...\n pageScrollInstance.startTime = new Date().getTime();\n // .. and calculate the end time (when we need to finish at last)\n pageScrollInstance.endTime = pageScrollInstance.startTime + pageScrollInstance.executionDuration;\n\n pageScrollInstance.timer = setInterval((instance: PageScrollInstance) => {\n // Take the current time\n const currentTime: number = new Date().getTime();\n\n // Determine the new scroll position\n let newScrollPosition: number;\n let stopNow = false;\n if (instance.endTime <= currentTime) {\n // We're over the time already, so go the targetScrollPosition (aka destination)\n newScrollPosition = instance.targetScrollPosition;\n stopNow = true;\n } else {\n // Calculate the scroll position based on the current time using the easing function\n newScrollPosition = Math.round(instance.pageScrollOptions.easingLogic(\n currentTime - instance.startTime,\n instance.startScrollPosition,\n instance.distanceToScroll,\n instance.executionDuration));\n }\n if (this.config._logLevel >= 5 && isDevMode()) {\n console.warn('Scroll Position: ' + newScrollPosition);\n }\n // Set the new scrollPosition to all scrollViews elements\n if (!instance.setScrollPosition(newScrollPosition)) {\n // Setting the new scrollTop/scrollLeft value failed for all ScrollViews\n // early stop the scroll animation to save resources\n stopNow = true;\n }\n\n // At the end do the internal stop maintenance and fire the pageScrollFinish event\n // (otherwise the event might arrive at \"too early\")\n if (stopNow) {\n this.stopInternal(false, instance);\n }\n\n }, this.config._interval, pageScrollInstance);\n\n // Register the instance as running one\n this.runningInstances.push(pageScrollInstance);\n }\n\n public scroll(options: PageScrollOptions): void {\n this.start(this.create(options));\n }\n\n /**\n * Stop all running scroll animations. Optionally limit to stop only the ones of specific namespace.\n */\n public stopAll(namespace?: string): boolean {\n if (this.runningInstances.length > 0) {\n let stoppedSome = false;\n\n for (let i = 0; i < this.runningInstances.length; ++i) {\n const pageScrollInstance = this.runningInstances[i];\n if (!namespace || pageScrollInstance.pageScrollOptions.namespace === namespace) {\n stoppedSome = true;\n this.stopInternal(true, pageScrollInstance);\n // Decrease the counter, as we removed an item from the array we iterate over\n i--;\n }\n }\n\n return stoppedSome;\n }\n\n return false;\n }\n\n public stop(pageScrollInstance: PageScrollInstance): boolean {\n return this.stopInternal(true, pageScrollInstance);\n }\n\n constructor(@Inject(NGXPS_CONFIG) customConfig: PageScrollConfig) {\n this.config = {...defaultPageScrollConfig, ...customConfig};\n\n if (PageScrollService.instanceCounter > 0 &&\n (this.config._logLevel >= 2 || (this.config._logLevel >= 1 && isDevMode()))) {\n console.warn('An instance of PageScrollService already exists, usually ' +\n 'including one provider should be enough, so double check.');\n }\n PageScrollService.instanceCounter++;\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { PageScrollService } from './providers/ngx-page-scroll.service';\nimport { NGXPS_CONFIG } from './providers/config.provider';\nimport { PageScrollConfig } from './types/page-scroll.config';\n\n@NgModule({\n providers: [\n PageScrollService,\n {provide: NGXPS_CONFIG, useValue: {}},\n ],\n})\nexport class NgxPageScrollCoreModule {\n static forRoot(config?: PageScrollConfig): ModuleWithProviders {\n return {\n ngModule: NgxPageScrollCoreModule,\n providers: [PageScrollService, {provide: NGXPS_CONFIG, useValue: config}],\n };\n }\n}\n","/*\n * Public API Surface of ngx-page-scroll-core\n */\n\nexport { NgxPageScrollCoreModule } from './lib/ngx-page-scroll-core.module';\n\nexport { defaultPageScrollConfig, NGXPS_CONFIG } from './lib/providers/config.provider';\nexport { PageScrollService } from './lib/providers/ngx-page-scroll.service';\n\nexport { EasingLogic } from './lib/types/easing-logic';\nexport { PageScrollInstance, InterruptReporter, PageScrollOptions } from './lib/page-scroll-instance';\nexport { PageScrollTarget } from './lib/types/page-scroll-target';\nexport { PageScrollViews } from './lib/types/page-scroll-view';\nexport { PageScrollConfig } from './lib/types/page-scroll.config';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.sup` method\n// https://tc39.es/ecma262/#sec-string.prototype.sup\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, {\n sup: function sup() {\n return createHTML(this, 'sup', '', '');\n }\n});\n","import { Subscriber } from '../Subscriber';\nexport function pairwise() {\n return (source) => source.lift(new PairwiseOperator());\n}\nclass PairwiseOperator {\n call(subscriber, source) {\n return source.subscribe(new PairwiseSubscriber(subscriber));\n }\n}\nclass PairwiseSubscriber extends Subscriber {\n constructor(destination) {\n super(destination);\n this.hasPrev = false;\n }\n _next(value) {\n let pair;\n if (this.hasPrev) {\n pair = [this.prev, value];\n }\n else {\n this.hasPrev = true;\n }\n this.prev = value;\n if (pair) {\n this.destination.next(pair);\n }\n }\n}\n//# sourceMappingURL=pairwise.js.map","import { Subscriber } from '../Subscriber';\nexport function sequenceEqual(compareTo, comparator) {\n return (source) => source.lift(new SequenceEqualOperator(compareTo, comparator));\n}\nexport class SequenceEqualOperator {\n constructor(compareTo, comparator) {\n this.compareTo = compareTo;\n this.comparator = comparator;\n }\n call(subscriber, source) {\n return source.subscribe(new SequenceEqualSubscriber(subscriber, this.compareTo, this.comparator));\n }\n}\nexport class SequenceEqualSubscriber extends Subscriber {\n constructor(destination, compareTo, comparator) {\n super(destination);\n this.compareTo = compareTo;\n this.comparator = comparator;\n this._a = [];\n this._b = [];\n this._oneComplete = false;\n this.destination.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination, this)));\n }\n _next(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 _complete() {\n if (this._oneComplete) {\n this.emit(this._a.length === 0 && this._b.length === 0);\n }\n else {\n this._oneComplete = true;\n }\n this.unsubscribe();\n }\n checkValues() {\n const { _a, _b, comparator } = this;\n while (_a.length > 0 && _b.length > 0) {\n let a = _a.shift();\n let b = _b.shift();\n let areEqual = false;\n try {\n areEqual = comparator ? comparator(a, b) : a === b;\n }\n catch (e) {\n this.destination.error(e);\n }\n if (!areEqual) {\n this.emit(false);\n }\n }\n }\n emit(value) {\n const { destination } = this;\n destination.next(value);\n destination.complete();\n }\n nextB(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 completeB() {\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}\nclass SequenceEqualCompareToSubscriber extends Subscriber {\n constructor(destination, parent) {\n super(destination);\n this.parent = parent;\n }\n _next(value) {\n this.parent.nextB(value);\n }\n _error(err) {\n this.parent.error(err);\n this.unsubscribe();\n }\n _complete() {\n this.parent.completeB();\n this.unsubscribe();\n }\n}\n//# sourceMappingURL=sequenceEqual.js.map","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var $ = require('../internals/export');\n\nvar log = Math.log;\nvar LOG10E = Math.LOG10E;\n\n// `Math.log10` method\n// https://tc39.es/ecma262/#sec-math.log10\n$({ target: 'Math', stat: true }, {\n log10: function log10(x) {\n return log(x) * LOG10E;\n }\n});\n","import { hostReportError } from './hostReportError';\nexport const subscribeToPromise = (promise) => (subscriber) => {\n promise.then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, hostReportError);\n return subscriber;\n};\n//# sourceMappingURL=subscribeToPromise.js.map","import { switchMap } from './switchMap';\nexport function switchMapTo(innerObservable, resultSelector) {\n return resultSelector ? switchMap(() => innerObservable, resultSelector) : switchMap(() => innerObservable);\n}\n//# sourceMappingURL=switchMapTo.js.map","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Number.POSITIVE_INFINITY) {\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map","import { mergeMap } from './mergeMap';\nexport function concatMap(project, resultSelector) {\n return mergeMap(project, resultSelector, 1);\n}\n//# sourceMappingURL=concatMap.js.map","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n var REPLACE = isForced(\n CONSTRUCTOR_NAME,\n typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n }))\n );\n\n if (REPLACE) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new -- required for testing\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var $ = require('../internals/export');\n\n// `Date.now` method\n// https://tc39.es/ecma262/#sec-date.now\n$({ target: 'Date', stat: true }, {\n now: function now() {\n return new Date().getTime();\n }\n});\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","export function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n//# sourceMappingURL=isPromise.js.map","import { SimpleOuterSubscriber, innerSubscribe, SimpleInnerSubscriber } from '../innerSubscribe';\nexport function sample(notifier) {\n return (source) => source.lift(new SampleOperator(notifier));\n}\nclass SampleOperator {\n constructor(notifier) {\n this.notifier = notifier;\n }\n call(subscriber, source) {\n const sampleSubscriber = new SampleSubscriber(subscriber);\n const subscription = source.subscribe(sampleSubscriber);\n subscription.add(innerSubscribe(this.notifier, new SimpleInnerSubscriber(sampleSubscriber)));\n return subscription;\n }\n}\nclass SampleSubscriber extends SimpleOuterSubscriber {\n constructor() {\n super(...arguments);\n this.hasValue = false;\n }\n _next(value) {\n this.value = value;\n this.hasValue = true;\n }\n notifyNext() {\n this.emitValue();\n }\n notifyComplete() {\n this.emitValue();\n }\n emitValue() {\n if (this.hasValue) {\n this.hasValue = false;\n this.destination.next(this.value);\n }\n }\n}\n//# sourceMappingURL=sample.js.map","let nextHandle = 1;\nconst RESOLVED = (() => Promise.resolve())();\nconst activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport const Immediate = {\n setImmediate(cb) {\n const handle = nextHandle++;\n activeHandles[handle] = true;\n RESOLVED.then(() => findAndClearHandle(handle) && cb());\n return handle;\n },\n clearImmediate(handle) {\n findAndClearHandle(handle);\n },\n};\nexport const TestTools = {\n pending() {\n return Object.keys(activeHandles).length;\n }\n};\n//# sourceMappingURL=Immediate.js.map","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","import { Subscriber } from '../Subscriber';\nexport function find(predicate, thisArg) {\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate is not a function');\n }\n return (source) => source.lift(new FindValueOperator(predicate, source, false, thisArg));\n}\nexport class FindValueOperator {\n constructor(predicate, source, yieldIndex, thisArg) {\n this.predicate = predicate;\n this.source = source;\n this.yieldIndex = yieldIndex;\n this.thisArg = thisArg;\n }\n call(observer, source) {\n return source.subscribe(new FindValueSubscriber(observer, this.predicate, this.source, this.yieldIndex, this.thisArg));\n }\n}\nexport class FindValueSubscriber extends Subscriber {\n constructor(destination, predicate, source, yieldIndex, thisArg) {\n super(destination);\n this.predicate = predicate;\n this.source = source;\n this.yieldIndex = yieldIndex;\n this.thisArg = thisArg;\n this.index = 0;\n }\n notifyComplete(value) {\n const destination = this.destination;\n destination.next(value);\n destination.complete();\n this.unsubscribe();\n }\n _next(value) {\n const { predicate, thisArg } = this;\n const index = this.index++;\n try {\n const 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 _complete() {\n this.notifyComplete(this.yieldIndex ? -1 : undefined);\n }\n}\n//# sourceMappingURL=find.js.map","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names-external').f;\n\n// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing\nvar FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); });\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n getOwnPropertyNames: getOwnPropertyNames\n});\n","require('../../modules/es.function.bind');\nrequire('../../modules/es.function.name');\nrequire('../../modules/es.function.has-instance');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Function;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","import { Subscriber } from '../Subscriber';\nimport { Observable } from '../Observable';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return (source) => new SubscriptionDelayObservable(source, subscriptionDelay)\n .lift(new DelayWhenOperator(delayDurationSelector));\n }\n return (source) => source.lift(new DelayWhenOperator(delayDurationSelector));\n}\nclass DelayWhenOperator {\n constructor(delayDurationSelector) {\n this.delayDurationSelector = delayDurationSelector;\n }\n call(subscriber, source) {\n return source.subscribe(new DelayWhenSubscriber(subscriber, this.delayDurationSelector));\n }\n}\nclass DelayWhenSubscriber extends OuterSubscriber {\n constructor(destination, delayDurationSelector) {\n super(destination);\n this.delayDurationSelector = delayDurationSelector;\n this.completed = false;\n this.delayNotifierSubscriptions = [];\n this.index = 0;\n }\n notifyNext(outerValue, _innerValue, _outerIndex, _innerIndex, innerSub) {\n this.destination.next(outerValue);\n this.removeSubscription(innerSub);\n this.tryComplete();\n }\n notifyError(error, innerSub) {\n this._error(error);\n }\n notifyComplete(innerSub) {\n const value = this.removeSubscription(innerSub);\n if (value) {\n this.destination.next(value);\n }\n this.tryComplete();\n }\n _next(value) {\n const index = this.index++;\n try {\n const delayNotifier = this.delayDurationSelector(value, index);\n if (delayNotifier) {\n this.tryDelay(delayNotifier, value);\n }\n }\n catch (err) {\n this.destination.error(err);\n }\n }\n _complete() {\n this.completed = true;\n this.tryComplete();\n this.unsubscribe();\n }\n removeSubscription(subscription) {\n subscription.unsubscribe();\n const subscriptionIdx = this.delayNotifierSubscriptions.indexOf(subscription);\n if (subscriptionIdx !== -1) {\n this.delayNotifierSubscriptions.splice(subscriptionIdx, 1);\n }\n return subscription.outerValue;\n }\n tryDelay(delayNotifier, value) {\n const notifierSubscription = subscribeToResult(this, delayNotifier, value);\n if (notifierSubscription && !notifierSubscription.closed) {\n const destination = this.destination;\n destination.add(notifierSubscription);\n this.delayNotifierSubscriptions.push(notifierSubscription);\n }\n }\n tryComplete() {\n if (this.completed && this.delayNotifierSubscriptions.length === 0) {\n this.destination.complete();\n }\n }\n}\nclass SubscriptionDelayObservable extends Observable {\n constructor(source, subscriptionDelay) {\n super();\n this.source = source;\n this.subscriptionDelay = subscriptionDelay;\n }\n _subscribe(subscriber) {\n this.subscriptionDelay.subscribe(new SubscriptionDelaySubscriber(subscriber, this.source));\n }\n}\nclass SubscriptionDelaySubscriber extends Subscriber {\n constructor(parent, source) {\n super();\n this.parent = parent;\n this.source = source;\n this.sourceSubscribed = false;\n }\n _next(unused) {\n this.subscribeToSource();\n }\n _error(err) {\n this.unsubscribe();\n this.parent.error(err);\n }\n _complete() {\n this.unsubscribe();\n this.subscribeToSource();\n }\n subscribeToSource() {\n if (!this.sourceSubscribed) {\n this.sourceSubscribed = true;\n this.unsubscribe();\n this.source.subscribe(this.parent);\n }\n }\n}\n//# sourceMappingURL=delayWhen.js.map","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { map } from '../operators/map';\nimport { isObject } from '../util/isObject';\nimport { from } from './from';\nexport function forkJoin(...sources) {\n if (sources.length === 1) {\n const first = sources[0];\n if (isArray(first)) {\n return forkJoinInternal(first, null);\n }\n if (isObject(first) && Object.getPrototypeOf(first) === Object.prototype) {\n const keys = Object.keys(first);\n return forkJoinInternal(keys.map(key => first[key]), keys);\n }\n }\n if (typeof sources[sources.length - 1] === 'function') {\n const resultSelector = sources.pop();\n sources = (sources.length === 1 && isArray(sources[0])) ? sources[0] : sources;\n return forkJoinInternal(sources, null).pipe(map((args) => resultSelector(...args)));\n }\n return forkJoinInternal(sources, null);\n}\nfunction forkJoinInternal(sources, keys) {\n return new Observable(subscriber => {\n const len = sources.length;\n if (len === 0) {\n subscriber.complete();\n return;\n }\n const values = new Array(len);\n let completed = 0;\n let emitted = 0;\n for (let i = 0; i < len; i++) {\n const source = from(sources[i]);\n let hasValue = false;\n subscriber.add(source.subscribe({\n next: value => {\n if (!hasValue) {\n hasValue = true;\n emitted++;\n }\n values[i] = value;\n },\n error: err => subscriber.error(err),\n complete: () => {\n completed++;\n if (completed === len || !hasValue) {\n if (emitted === len) {\n subscriber.next(keys ?\n keys.reduce((result, key, i) => (result[key] = values[i], result), {}) :\n values);\n }\n subscriber.complete();\n }\n }\n }));\n }\n });\n}\n//# sourceMappingURL=forkJoin.js.map","import { Subscriber } from '../Subscriber';\nimport { EmptyError } from '../util/EmptyError';\nexport function single(predicate) {\n return (source) => source.lift(new SingleOperator(predicate, source));\n}\nclass SingleOperator {\n constructor(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n call(subscriber, source) {\n return source.subscribe(new SingleSubscriber(subscriber, this.predicate, this.source));\n }\n}\nclass SingleSubscriber extends Subscriber {\n constructor(destination, predicate, source) {\n super(destination);\n this.predicate = predicate;\n this.source = source;\n this.seenValue = false;\n this.index = 0;\n }\n applySingleValue(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 _next(value) {\n const index = this.index++;\n if (this.predicate) {\n this.tryNext(value, index);\n }\n else {\n this.applySingleValue(value);\n }\n }\n tryNext(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 _complete() {\n const 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);\n }\n }\n}\n//# sourceMappingURL=single.js.map","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","import { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function materialize() {\n return function materializeOperatorFunction(source) {\n return source.lift(new MaterializeOperator());\n };\n}\nclass MaterializeOperator {\n call(subscriber, source) {\n return source.subscribe(new MaterializeSubscriber(subscriber));\n }\n}\nclass MaterializeSubscriber extends Subscriber {\n constructor(destination) {\n super(destination);\n }\n _next(value) {\n this.destination.next(Notification.createNext(value));\n }\n _error(err) {\n const destination = this.destination;\n destination.next(Notification.createError(err));\n destination.complete();\n }\n _complete() {\n const destination = this.destination;\n destination.next(Notification.createComplete());\n destination.complete();\n }\n}\n//# sourceMappingURL=materialize.js.map","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","import { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(switchMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii)))));\n }\n return (source) => source.lift(new SwitchMapOperator(project));\n}\nclass SwitchMapOperator {\n constructor(project) {\n this.project = project;\n }\n call(subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project));\n }\n}\nclass SwitchMapSubscriber extends SimpleOuterSubscriber {\n constructor(destination, project) {\n super(destination);\n this.project = project;\n this.index = 0;\n }\n _next(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result);\n }\n _innerSub(result) {\n const innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n const innerSubscriber = new SimpleInnerSubscriber(this);\n const destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = innerSubscribe(result, innerSubscriber);\n if (this.innerSubscription !== innerSubscriber) {\n destination.add(this.innerSubscription);\n }\n }\n _complete() {\n const { innerSubscription } = this;\n if (!innerSubscription || innerSubscription.closed) {\n super._complete();\n }\n this.unsubscribe();\n }\n _unsubscribe() {\n this.innerSubscription = undefined;\n }\n notifyComplete() {\n this.innerSubscription = undefined;\n if (this.isStopped) {\n super._complete();\n }\n }\n notifyNext(innerValue) {\n this.destination.next(innerValue);\n }\n}\n//# sourceMappingURL=switchMap.js.map","var $ = require('../internals/export');\nvar expm1 = require('../internals/math-expm1');\n\nvar exp = Math.exp;\n\n// `Math.tanh` method\n// https://tc39.es/ecma262/#sec-math.tanh\n$({ target: 'Math', stat: true }, {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\nexport const animationFrame = animationFrameScheduler;\n//# sourceMappingURL=animationFrame.js.map","var $ = require('../internals/export');\n\n// eslint-disable-next-line es/no-math-asinh -- required for testing\nvar $asinh = Math.asinh;\nvar log = Math.log;\nvar sqrt = Math.sqrt;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1));\n}\n\n// `Math.asinh` method\n// https://tc39.es/ecma262/#sec-math.asinh\n// Tor Browser bug: Math.asinh(0) -> -0\n$({ target: 'Math', stat: true, forced: !($asinh && 1 / $asinh(0) > 0) }, {\n asinh: asinh\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModile = require('../internals/object-define-property');\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {\n defineProperty: objectDefinePropertyModile.f\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","import { concat as concatStatic } from '../observable/concat';\nexport function concat(...observables) {\n return (source) => source.lift.call(concatStatic(source, ...observables));\n}\n//# sourceMappingURL=concat.js.map","var $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar objectGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\n// `Reflect.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-reflect.getprototypeof\n$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(target) {\n return objectGetPrototypeOf(anObject(target));\n }\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","import { isArray } from '../util/isArray';\nimport { CombineLatestOperator } from '../observable/combineLatest';\nimport { from } from '../observable/from';\nconst none = {};\nexport function combineLatest(...observables) {\n let project = null;\n if (typeof observables[observables.length - 1] === 'function') {\n project = observables.pop();\n }\n if (observables.length === 1 && isArray(observables[0])) {\n observables = observables[0].slice();\n }\n return (source) => source.lift.call(from([source, ...observables]), new CombineLatestOperator(project));\n}\n//# sourceMappingURL=combineLatest.js.map","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","/**\n * @license Angular v11.2.8\n * (c) 2010-2021 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { Subject, Subscription, Observable, merge as merge$1 } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction getClosureSafeProperty(objWithPropertyToExtract) {\n for (let key in objWithPropertyToExtract) {\n if (objWithPropertyToExtract[key] === getClosureSafeProperty) {\n return key;\n }\n }\n throw Error('Could not find renamed property on target object.');\n}\n/**\n * Sets properties on a target object from a source object, but only if\n * the property doesn't already exist on the target object.\n * @param target The target to set properties on\n * @param source The source of the property keys and values to set\n */\nfunction fillProperties(target, source) {\n for (const key in source) {\n if (source.hasOwnProperty(key) && !target.hasOwnProperty(key)) {\n target[key] = source[key];\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction stringify(token) {\n if (typeof token === 'string') {\n return token;\n }\n if (Array.isArray(token)) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n if (token == null) {\n return '' + token;\n }\n if (token.overriddenName) {\n return `${token.overriddenName}`;\n }\n if (token.name) {\n return `${token.name}`;\n }\n const res = token.toString();\n if (res == null) {\n return '' + res;\n }\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n/**\n * Concatenates two strings with separator, allocating new strings only when necessary.\n *\n * @param before before string.\n * @param separator separator string.\n * @param after after string.\n * @returns concatenated string.\n */\nfunction concatStringsWithSpace(before, after) {\n return (before == null || before === '') ?\n (after === null ? '' : after) :\n ((after == null || after === '') ? before : before + ' ' + after);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst __forward_ref__ = getClosureSafeProperty({ __forward_ref__: getClosureSafeProperty });\n/**\n * Allows to refer to references which are not yet defined.\n *\n * For instance, `forwardRef` is used when the `token` which we need to refer to for the purposes of\n * DI is declared, but not yet defined. It is also used when the `token` which we use when creating\n * a query is not yet defined.\n *\n * @usageNotes\n * ### Example\n * {@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref'}\n * @publicApi\n */\nfunction forwardRef(forwardRefFn) {\n forwardRefFn.__forward_ref__ = forwardRef;\n forwardRefFn.toString = function () {\n return stringify(this());\n };\n return forwardRefFn;\n}\n/**\n * Lazily retrieves the reference value from a forwardRef.\n *\n * Acts as the identity function when given a non-forward-ref value.\n *\n * @usageNotes\n * ### Example\n *\n * {@example core/di/ts/forward_ref/forward_ref_spec.ts region='resolve_forward_ref'}\n *\n * @see `forwardRef`\n * @publicApi\n */\nfunction resolveForwardRef(type) {\n return isForwardRef(type) ? type() : type;\n}\n/** Checks whether a function is wrapped by a `forwardRef`. */\nfunction isForwardRef(fn) {\n return typeof fn === 'function' && fn.hasOwnProperty(__forward_ref__) &&\n fn.__forward_ref__ === forwardRef;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Base URL for the error details page.\n// Keep this value in sync with a similar const in\n// `packages/compiler-cli/src/ngtsc/diagnostics/src/error_code.ts`.\nconst ERROR_DETAILS_PAGE_BASE_URL = 'https://angular.io/errors';\nclass RuntimeError extends Error {\n constructor(code, message) {\n super(formatRuntimeError(code, message));\n this.code = code;\n }\n}\n// Contains a set of error messages that have details guides at angular.io.\n// Full list of available error guides can be found at https://angular.io/errors\n/* tslint:disable:no-toplevel-property-access */\nconst RUNTIME_ERRORS_WITH_GUIDES = new Set([\n \"100\" /* EXPRESSION_CHANGED_AFTER_CHECKED */,\n \"200\" /* CYCLIC_DI_DEPENDENCY */,\n \"201\" /* PROVIDER_NOT_FOUND */,\n \"300\" /* MULTIPLE_COMPONENTS_MATCH */,\n \"301\" /* EXPORT_NOT_FOUND */,\n \"302\" /* PIPE_NOT_FOUND */,\n]);\n/* tslint:enable:no-toplevel-property-access */\n/** Called to format a runtime error */\nfunction formatRuntimeError(code, message) {\n const fullCode = code ? `NG0${code}: ` : '';\n let errorMessage = `${fullCode}${message}`;\n // Some runtime errors are still thrown without `ngDevMode` (for example\n // `throwProviderNotFoundError`), so we add `ngDevMode` check here to avoid pulling\n // `RUNTIME_ERRORS_WITH_GUIDES` symbol into prod bundles.\n // TODO: revisit all instances where `RuntimeError` is thrown and see if `ngDevMode` can be added\n // there instead to tree-shake more devmode-only code (and eventually remove `ngDevMode` check\n // from this code).\n if (ngDevMode && RUNTIME_ERRORS_WITH_GUIDES.has(code)) {\n errorMessage = `${errorMessage}. Find more at ${ERROR_DETAILS_PAGE_BASE_URL}/NG0${code}`;\n }\n return errorMessage;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Used for stringify render output in Ivy.\n * Important! This function is very performance-sensitive and we should\n * be extra careful not to introduce megamorphic reads in it.\n * Check `core/test/render3/perf/render_stringify` for benchmarks and alternate implementations.\n */\nfunction renderStringify(value) {\n if (typeof value === 'string')\n return value;\n if (value == null)\n return '';\n // Use `String` so that it invokes the `toString` method of the value. Note that this\n // appears to be faster than calling `value.toString` (see `render_stringify` benchmark).\n return String(value);\n}\n/**\n * Used to stringify a value so that it can be displayed in an error message.\n * Important! This function contains a megamorphic read and should only be\n * used for error messages.\n */\nfunction stringifyForError(value) {\n if (typeof value === 'function')\n return value.name || value.toString();\n if (typeof value === 'object' && value != null && typeof value.type === 'function') {\n return value.type.name || value.type.toString();\n }\n return renderStringify(value);\n}\n\n/** Called when directives inject each other (creating a circular dependency) */\nfunction throwCyclicDependencyError(token, path) {\n const depPath = path ? `. Dependency path: ${path.join(' > ')} > ${token}` : '';\n throw new RuntimeError(\"200\" /* CYCLIC_DI_DEPENDENCY */, `Circular dependency in DI detected for ${token}${depPath}`);\n}\nfunction throwMixedMultiProviderError() {\n throw new Error(`Cannot mix multi providers and regular providers`);\n}\nfunction throwInvalidProviderError(ngModuleType, providers, provider) {\n let ngModuleDetail = '';\n if (ngModuleType && providers) {\n const providerDetail = providers.map(v => v == provider ? '?' + provider + '?' : '...');\n ngModuleDetail =\n ` - only instances of Provider and Type are allowed, got: [${providerDetail.join(', ')}]`;\n }\n throw new Error(`Invalid provider for the NgModule '${stringify(ngModuleType)}'` + ngModuleDetail);\n}\n/** Throws an error when a token is not found in DI. */\nfunction throwProviderNotFoundError(token, injectorName) {\n const injectorDetails = injectorName ? ` in ${injectorName}` : '';\n throw new RuntimeError(\"201\" /* PROVIDER_NOT_FOUND */, `No provider for ${stringifyForError(token)} found${injectorDetails}`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction assertNumber(actual, msg) {\n if (!(typeof actual === 'number')) {\n throwError(msg, typeof actual, 'number', '===');\n }\n}\nfunction assertNumberInRange(actual, minInclusive, maxInclusive) {\n assertNumber(actual, 'Expected a number');\n assertLessThanOrEqual(actual, maxInclusive, 'Expected number to be less than or equal to');\n assertGreaterThanOrEqual(actual, minInclusive, 'Expected number to be greater than or equal to');\n}\nfunction assertString(actual, msg) {\n if (!(typeof actual === 'string')) {\n throwError(msg, actual === null ? 'null' : typeof actual, 'string', '===');\n }\n}\nfunction assertFunction(actual, msg) {\n if (!(typeof actual === 'function')) {\n throwError(msg, actual === null ? 'null' : typeof actual, 'function', '===');\n }\n}\nfunction assertEqual(actual, expected, msg) {\n if (!(actual == expected)) {\n throwError(msg, actual, expected, '==');\n }\n}\nfunction assertNotEqual(actual, expected, msg) {\n if (!(actual != expected)) {\n throwError(msg, actual, expected, '!=');\n }\n}\nfunction assertSame(actual, expected, msg) {\n if (!(actual === expected)) {\n throwError(msg, actual, expected, '===');\n }\n}\nfunction assertNotSame(actual, expected, msg) {\n if (!(actual !== expected)) {\n throwError(msg, actual, expected, '!==');\n }\n}\nfunction assertLessThan(actual, expected, msg) {\n if (!(actual < expected)) {\n throwError(msg, actual, expected, '<');\n }\n}\nfunction assertLessThanOrEqual(actual, expected, msg) {\n if (!(actual <= expected)) {\n throwError(msg, actual, expected, '<=');\n }\n}\nfunction assertGreaterThan(actual, expected, msg) {\n if (!(actual > expected)) {\n throwError(msg, actual, expected, '>');\n }\n}\nfunction assertGreaterThanOrEqual(actual, expected, msg) {\n if (!(actual >= expected)) {\n throwError(msg, actual, expected, '>=');\n }\n}\nfunction assertNotDefined(actual, msg) {\n if (actual != null) {\n throwError(msg, actual, null, '==');\n }\n}\nfunction assertDefined(actual, msg) {\n if (actual == null) {\n throwError(msg, actual, null, '!=');\n }\n}\nfunction throwError(msg, actual, expected, comparison) {\n throw new Error(`ASSERTION ERROR: ${msg}` +\n (comparison == null ? '' : ` [Expected=> ${expected} ${comparison} ${actual} <=Actual]`));\n}\nfunction assertDomNode(node) {\n // If we're in a worker, `Node` will not be defined.\n if (!(typeof Node !== 'undefined' && node instanceof Node) &&\n !(typeof node === 'object' && node != null &&\n node.constructor.name === 'WebWorkerRenderNode')) {\n throwError(`The provided value must be an instance of a DOM Node but got ${stringify(node)}`);\n }\n}\nfunction assertIndexInRange(arr, index) {\n assertDefined(arr, 'Array must be defined.');\n const maxLen = arr.length;\n if (index < 0 || index >= maxLen) {\n throwError(`Index expected to be less than ${maxLen} but got ${index}`);\n }\n}\nfunction assertOneOf(value, ...validValues) {\n if (validValues.indexOf(value) !== -1)\n return true;\n throwError(`Expected value to be one of ${JSON.stringify(validValues)} but was ${JSON.stringify(value)}.`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Construct an `InjectableDef` which defines how a token will be constructed by the DI system, and\n * in which injectors (if any) it will be available.\n *\n * This should be assigned to a static `ɵprov` field on a type, which will then be an\n * `InjectableType`.\n *\n * Options:\n * * `providedIn` determines which injectors will include the injectable, by either associating it\n * with an `@NgModule` or other `InjectorType`, or by specifying that this injectable should be\n * provided in the `'root'` injector, which will be the application-level injector in most apps.\n * * `factory` gives the zero argument function which will create an instance of the injectable.\n * The factory can call `inject` to access the `Injector` and request injection of dependencies.\n *\n * @codeGenApi\n * @publicApi This instruction has been emitted by ViewEngine for some time and is deployed to npm.\n */\nfunction ɵɵdefineInjectable(opts) {\n return {\n token: opts.token,\n providedIn: opts.providedIn || null,\n factory: opts.factory,\n value: undefined,\n };\n}\n/**\n * @deprecated in v8, delete after v10. This API should be used only by generated code, and that\n * code should now use ɵɵdefineInjectable instead.\n * @publicApi\n */\nconst defineInjectable = ɵɵdefineInjectable;\n/**\n * Construct an `InjectorDef` which configures an injector.\n *\n * This should be assigned to a static injector def (`ɵinj`) field on a type, which will then be an\n * `InjectorType`.\n *\n * Options:\n *\n * * `providers`: an optional array of providers to add to the injector. Each provider must\n * either have a factory or point to a type which has a `ɵprov` static property (the\n * type must be an `InjectableType`).\n * * `imports`: an optional array of imports of other `InjectorType`s or `InjectorTypeWithModule`s\n * whose providers will also be added to the injector. Locally provided types will override\n * providers from imports.\n *\n * @codeGenApi\n */\nfunction ɵɵdefineInjector(options) {\n return { providers: options.providers || [], imports: options.imports || [] };\n}\n/**\n * Read the injectable def (`ɵprov`) for `type` in a way which is immune to accidentally reading\n * inherited value.\n *\n * @param type A type which may have its own (non-inherited) `ɵprov`.\n */\nfunction getInjectableDef(type) {\n return getOwnDefinition(type, NG_PROV_DEF) || getOwnDefinition(type, NG_INJECTABLE_DEF);\n}\n/**\n * Return definition only if it is defined directly on `type` and is not inherited from a base\n * class of `type`.\n */\nfunction getOwnDefinition(type, field) {\n return type.hasOwnProperty(field) ? type[field] : null;\n}\n/**\n * Read the injectable def (`ɵprov`) for `type` or read the `ɵprov` from one of its ancestors.\n *\n * @param type A type which may have `ɵprov`, via inheritance.\n *\n * @deprecated Will be removed in a future version of Angular, where an error will occur in the\n * scenario if we find the `ɵprov` on an ancestor only.\n */\nfunction getInheritedInjectableDef(type) {\n const def = type && (type[NG_PROV_DEF] || type[NG_INJECTABLE_DEF]);\n if (def) {\n const typeName = getTypeName(type);\n // TODO(FW-1307): Re-add ngDevMode when closure can handle it\n // ngDevMode &&\n console.warn(`DEPRECATED: DI is instantiating a token \"${typeName}\" that inherits its @Injectable decorator but does not provide one itself.\\n` +\n `This will become an error in a future version of Angular. Please add @Injectable() to the \"${typeName}\" class.`);\n return def;\n }\n else {\n return null;\n }\n}\n/** Gets the name of a type, accounting for some cross-browser differences. */\nfunction getTypeName(type) {\n // `Function.prototype.name` behaves differently between IE and other browsers. In most browsers\n // it'll always return the name of the function itself, no matter how many other functions it\n // inherits from. On IE the function doesn't have its own `name` property, but it takes it from\n // the lowest level in the prototype chain. E.g. if we have `class Foo extends Parent` most\n // browsers will evaluate `Foo.name` to `Foo` while IE will return `Parent`. We work around\n // the issue by converting the function to a string and parsing its name out that way via a regex.\n if (type.hasOwnProperty('name')) {\n return type.name;\n }\n const match = ('' + type).match(/^function\\s*([^\\s(]+)/);\n return match === null ? '' : match[1];\n}\n/**\n * Read the injector def type in a way which is immune to accidentally reading inherited value.\n *\n * @param type type which may have an injector def (`ɵinj`)\n */\nfunction getInjectorDef(type) {\n return type && (type.hasOwnProperty(NG_INJ_DEF) || type.hasOwnProperty(NG_INJECTOR_DEF)) ?\n type[NG_INJ_DEF] :\n null;\n}\nconst NG_PROV_DEF = getClosureSafeProperty({ ɵprov: getClosureSafeProperty });\nconst NG_INJ_DEF = getClosureSafeProperty({ ɵinj: getClosureSafeProperty });\n// We need to keep these around so we can read off old defs if new defs are unavailable\nconst NG_INJECTABLE_DEF = getClosureSafeProperty({ ngInjectableDef: getClosureSafeProperty });\nconst NG_INJECTOR_DEF = getClosureSafeProperty({ ngInjectorDef: getClosureSafeProperty });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection flags for DI.\n *\n * @publicApi\n */\nvar InjectFlags;\n(function (InjectFlags) {\n // TODO(alxhub): make this 'const' (and remove `InternalInjectFlags` enum) when ngc no longer\n // writes exports of it into ngfactory files.\n /** Check self and check parent injector if needed */\n InjectFlags[InjectFlags[\"Default\"] = 0] = \"Default\";\n /**\n * Specifies that an injector should retrieve a dependency from any injector until reaching the\n * host element of the current component. (Only used with Element Injector)\n */\n InjectFlags[InjectFlags[\"Host\"] = 1] = \"Host\";\n /** Don't ascend to ancestors of the node requesting injection. */\n InjectFlags[InjectFlags[\"Self\"] = 2] = \"Self\";\n /** Skip the node that is requesting injection. */\n InjectFlags[InjectFlags[\"SkipSelf\"] = 4] = \"SkipSelf\";\n /** Inject `defaultValue` instead if token not found. */\n InjectFlags[InjectFlags[\"Optional\"] = 8] = \"Optional\";\n})(InjectFlags || (InjectFlags = {}));\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Current implementation of inject.\n *\n * By default, it is `injectInjectorOnly`, which makes it `Injector`-only aware. It can be changed\n * to `directiveInject`, which brings in the `NodeInjector` system of ivy. It is designed this\n * way for two reasons:\n * 1. `Injector` should not depend on ivy logic.\n * 2. To maintain tree shake-ability we don't want to bring in unnecessary code.\n */\nlet _injectImplementation;\nfunction getInjectImplementation() {\n return _injectImplementation;\n}\n/**\n * Sets the current inject implementation.\n */\nfunction setInjectImplementation(impl) {\n const previous = _injectImplementation;\n _injectImplementation = impl;\n return previous;\n}\n/**\n * Injects `root` tokens in limp mode.\n *\n * If no injector exists, we can still inject tree-shakable providers which have `providedIn` set to\n * `\"root\"`. This is known as the limp mode injection. In such case the value is stored in the\n * `InjectableDef`.\n */\nfunction injectRootLimpMode(token, notFoundValue, flags) {\n const injectableDef = getInjectableDef(token);\n if (injectableDef && injectableDef.providedIn == 'root') {\n return injectableDef.value === undefined ? injectableDef.value = injectableDef.factory() :\n injectableDef.value;\n }\n if (flags & InjectFlags.Optional)\n return null;\n if (notFoundValue !== undefined)\n return notFoundValue;\n throwProviderNotFoundError(stringify(token), 'Injector');\n}\n/**\n * Assert that `_injectImplementation` is not `fn`.\n *\n * This is useful, to prevent infinite recursion.\n *\n * @param fn Function which it should not equal to\n */\nfunction assertInjectImplementationNotEqual(fn) {\n ngDevMode &&\n assertNotEqual(_injectImplementation, fn, 'Calling ɵɵinject would cause infinite recursion');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Convince closure compiler that the wrapped function has no side-effects.\n *\n * Closure compiler always assumes that `toString` has no side-effects. We use this quirk to\n * allow us to execute a function but have closure compiler mark the call as no-side-effects.\n * It is important that the return value for the `noSideEffects` function be assigned\n * to something which is retained otherwise the call to `noSideEffects` will be removed by closure\n * compiler.\n */\nfunction noSideEffects(fn) {\n return { toString: fn }.toString();\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The strategy that the default change detector uses to detect changes.\n * When set, takes effect the next time change detection is triggered.\n *\n * @see {@link ChangeDetectorRef#usage-notes Change detection usage}\n *\n * @publicApi\n */\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n /**\n * Use the `CheckOnce` strategy, meaning that automatic change detection is deactivated\n * until reactivated by setting the strategy to `Default` (`CheckAlways`).\n * Change detection can still be explicitly invoked.\n * This strategy applies to all child directives and cannot be overridden.\n */\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n /**\n * Use the default `CheckAlways` strategy, in which change detection is automatic until\n * explicitly deactivated.\n */\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n/**\n * Defines the possible states of the default change detector.\n * @see `ChangeDetectorRef`\n */\nvar ChangeDetectorStatus;\n(function (ChangeDetectorStatus) {\n /**\n * A state in which, after calling `detectChanges()`, the change detector\n * state becomes `Checked`, and must be explicitly invoked or reactivated.\n */\n ChangeDetectorStatus[ChangeDetectorStatus[\"CheckOnce\"] = 0] = \"CheckOnce\";\n /**\n * A state in which change detection is skipped until the change detector mode\n * becomes `CheckOnce`.\n */\n ChangeDetectorStatus[ChangeDetectorStatus[\"Checked\"] = 1] = \"Checked\";\n /**\n * A state in which change detection continues automatically until explicitly\n * deactivated.\n */\n ChangeDetectorStatus[ChangeDetectorStatus[\"CheckAlways\"] = 2] = \"CheckAlways\";\n /**\n * A state in which a change detector sub tree is not a part of the main tree and\n * should be skipped.\n */\n ChangeDetectorStatus[ChangeDetectorStatus[\"Detached\"] = 3] = \"Detached\";\n /**\n * Indicates that the change detector encountered an error checking a binding\n * or calling a directive lifecycle method and is now in an inconsistent state. Change\n * detectors in this state do not detect changes.\n */\n ChangeDetectorStatus[ChangeDetectorStatus[\"Errored\"] = 4] = \"Errored\";\n /**\n * Indicates that the change detector has been destroyed.\n */\n ChangeDetectorStatus[ChangeDetectorStatus[\"Destroyed\"] = 5] = \"Destroyed\";\n})(ChangeDetectorStatus || (ChangeDetectorStatus = {}));\n/**\n * Reports whether a given strategy is currently the default for change detection.\n * @param changeDetectionStrategy The strategy to check.\n * @returns True if the given strategy is the current default, false otherwise.\n * @see `ChangeDetectorStatus`\n * @see `ChangeDetectorRef`\n */\nfunction isDefaultChangeDetectionStrategy(changeDetectionStrategy) {\n return changeDetectionStrategy == null ||\n changeDetectionStrategy === ChangeDetectionStrategy.Default;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Defines template and style encapsulation options available for Component's {@link Component}.\n *\n * See {@link Component#encapsulation encapsulation}.\n *\n * @usageNotes\n * ### Example\n *\n * {@example core/ts/metadata/encapsulation.ts region='longform'}\n *\n * @publicApi\n */\nvar ViewEncapsulation;\n(function (ViewEncapsulation) {\n /**\n * Emulate `Native` scoping of styles by adding an attribute containing surrogate id to the Host\n * Element and pre-processing the style rules provided via {@link Component#styles styles} or\n * {@link Component#styleUrls styleUrls}, and adding the new Host Element attribute to all\n * selectors.\n *\n * This is the default option.\n */\n ViewEncapsulation[ViewEncapsulation[\"Emulated\"] = 0] = \"Emulated\";\n // Historically the 1 value was for `Native` encapsulation which has been removed as of v11.\n /**\n * Don't provide any template or style encapsulation.\n */\n ViewEncapsulation[ViewEncapsulation[\"None\"] = 2] = \"None\";\n /**\n * Use Shadow DOM to encapsulate styles.\n *\n * For the DOM this means using modern [Shadow\n * DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM) and\n * creating a ShadowRoot for Component's Host Element.\n */\n ViewEncapsulation[ViewEncapsulation[\"ShadowDom\"] = 3] = \"ShadowDom\";\n})(ViewEncapsulation || (ViewEncapsulation = {}));\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst __globalThis = typeof globalThis !== 'undefined' && globalThis;\nconst __window = typeof window !== 'undefined' && window;\nconst __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nconst __global = typeof global !== 'undefined' && global;\n// Always use __globalThis if available, which is the spec-defined global variable across all\n// environments, then fallback to __global first, because in Node tests both __global and\n// __window may be defined and _global should be __global in that case.\nconst _global = __globalThis || __global || __window || __self;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction ngDevModeResetPerfCounters() {\n const locationString = typeof location !== 'undefined' ? location.toString() : '';\n const newCounters = {\n namedConstructors: locationString.indexOf('ngDevMode=namedConstructors') != -1,\n firstCreatePass: 0,\n tNode: 0,\n tView: 0,\n rendererCreateTextNode: 0,\n rendererSetText: 0,\n rendererCreateElement: 0,\n rendererAddEventListener: 0,\n rendererSetAttribute: 0,\n rendererRemoveAttribute: 0,\n rendererSetProperty: 0,\n rendererSetClassName: 0,\n rendererAddClass: 0,\n rendererRemoveClass: 0,\n rendererSetStyle: 0,\n rendererRemoveStyle: 0,\n rendererDestroy: 0,\n rendererDestroyNode: 0,\n rendererMoveNode: 0,\n rendererRemoveNode: 0,\n rendererAppendChild: 0,\n rendererInsertBefore: 0,\n rendererCreateComment: 0,\n };\n // Make sure to refer to ngDevMode as ['ngDevMode'] for closure.\n const allowNgDevModeTrue = locationString.indexOf('ngDevMode=false') === -1;\n _global['ngDevMode'] = allowNgDevModeTrue && newCounters;\n return newCounters;\n}\n/**\n * This function checks to see if the `ngDevMode` has been set. If yes,\n * then we honor it, otherwise we default to dev mode with additional checks.\n *\n * The idea is that unless we are doing production build where we explicitly\n * set `ngDevMode == false` we should be helping the developer by providing\n * as much early warning and errors as possible.\n *\n * `ɵɵdefineComponent` is guaranteed to have been called before any component template functions\n * (and thus Ivy instructions), so a single initialization there is sufficient to ensure ngDevMode\n * is defined for the entire instruction set.\n *\n * When checking `ngDevMode` on toplevel, always init it before referencing it\n * (e.g. `((typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode())`), otherwise you can\n * get a `ReferenceError` like in https://github.com/angular/angular/issues/31595.\n *\n * Details on possible values for `ngDevMode` can be found on its docstring.\n *\n * NOTE:\n * - changes to the `ngDevMode` name must be synced with `compiler-cli/src/tooling.ts`.\n */\nfunction initNgDevMode() {\n // The below checks are to ensure that calling `initNgDevMode` multiple times does not\n // reset the counters.\n // If the `ngDevMode` is not an object, then it means we have not created the perf counters\n // yet.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (typeof ngDevMode !== 'object') {\n ngDevModeResetPerfCounters();\n }\n return typeof ngDevMode !== 'undefined' && !!ngDevMode;\n }\n return false;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This file contains reuseable \"empty\" symbols that can be used as default return values\n * in different parts of the rendering code. Because the same symbols are returned, this\n * allows for identity checks against these values to be consistently used by the framework\n * code.\n */\nconst EMPTY_OBJ = {};\nconst EMPTY_ARRAY = [];\n// freezing the values prevents any code from accidentally inserting new values in\nif ((typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode()) {\n // These property accesses can be ignored because ngDevMode will be set to false\n // when optimizing code and the whole if statement will be dropped.\n // tslint:disable-next-line:no-toplevel-property-access\n Object.freeze(EMPTY_OBJ);\n // tslint:disable-next-line:no-toplevel-property-access\n Object.freeze(EMPTY_ARRAY);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This file contains reuseable \"empty\" symbols that can be used as default return values\n * in different parts of the rendering code. Because the same symbols are returned, this\n * allows for identity checks against these values to be consistently used by the framework\n * code.\n */\nconst EMPTY_ARRAY$1 = [];\n// freezing the values prevents any code from accidentally inserting new values in\nif ((typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode()) {\n // These property accesses can be ignored because ngDevMode will be set to false\n // when optimizing code and the whole if statement will be dropped.\n // tslint:disable-next-line:no-toplevel-property-access\n Object.freeze(EMPTY_ARRAY$1);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_COMP_DEF = getClosureSafeProperty({ ɵcmp: getClosureSafeProperty });\nconst NG_DIR_DEF = getClosureSafeProperty({ ɵdir: getClosureSafeProperty });\nconst NG_PIPE_DEF = getClosureSafeProperty({ ɵpipe: getClosureSafeProperty });\nconst NG_MOD_DEF = getClosureSafeProperty({ ɵmod: getClosureSafeProperty });\nconst NG_LOC_ID_DEF = getClosureSafeProperty({ ɵloc: getClosureSafeProperty });\nconst NG_FACTORY_DEF = getClosureSafeProperty({ ɵfac: getClosureSafeProperty });\n/**\n * If a directive is diPublic, bloomAdd sets a property on the type with this constant as\n * the key and the directive's unique ID as the value. This allows us to map directives to their\n * bloom filter bit for DI.\n */\n// TODO(misko): This is wrong. The NG_ELEMENT_ID should never be minified.\nconst NG_ELEMENT_ID = getClosureSafeProperty({ __NG_ELEMENT_ID__: getClosureSafeProperty });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet _renderCompCount = 0;\n/**\n * Create a component definition object.\n *\n *\n * # Example\n * ```\n * class MyDirective {\n * // Generated by Angular Template Compiler\n * // [Symbol] syntax will not be supported by TypeScript until v2.7\n * static ɵcmp = defineComponent({\n * ...\n * });\n * }\n * ```\n * @codeGenApi\n */\nfunction ɵɵdefineComponent(componentDefinition) {\n return noSideEffects(() => {\n // Initialize ngDevMode. This must be the first statement in ɵɵdefineComponent.\n // See the `initNgDevMode` docstring for more information.\n (typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode();\n const type = componentDefinition.type;\n const declaredInputs = {};\n const def = {\n type: type,\n providersResolver: null,\n decls: componentDefinition.decls,\n vars: componentDefinition.vars,\n factory: null,\n template: componentDefinition.template || null,\n consts: componentDefinition.consts || null,\n ngContentSelectors: componentDefinition.ngContentSelectors,\n hostBindings: componentDefinition.hostBindings || null,\n hostVars: componentDefinition.hostVars || 0,\n hostAttrs: componentDefinition.hostAttrs || null,\n contentQueries: componentDefinition.contentQueries || null,\n declaredInputs: declaredInputs,\n inputs: null,\n outputs: null,\n exportAs: componentDefinition.exportAs || null,\n onPush: componentDefinition.changeDetection === ChangeDetectionStrategy.OnPush,\n directiveDefs: null,\n pipeDefs: null,\n selectors: componentDefinition.selectors || EMPTY_ARRAY$1,\n viewQuery: componentDefinition.viewQuery || null,\n features: componentDefinition.features || null,\n data: componentDefinition.data || {},\n // TODO(misko): convert ViewEncapsulation into const enum so that it can be used\n // directly in the next line. Also `None` should be 0 not 2.\n encapsulation: componentDefinition.encapsulation || ViewEncapsulation.Emulated,\n id: 'c',\n styles: componentDefinition.styles || EMPTY_ARRAY$1,\n _: null,\n setInput: null,\n schemas: componentDefinition.schemas || null,\n tView: null,\n };\n const directiveTypes = componentDefinition.directives;\n const feature = componentDefinition.features;\n const pipeTypes = componentDefinition.pipes;\n def.id += _renderCompCount++;\n def.inputs = invertObject(componentDefinition.inputs, declaredInputs),\n def.outputs = invertObject(componentDefinition.outputs),\n feature && feature.forEach((fn) => fn(def));\n def.directiveDefs = directiveTypes ?\n () => (typeof directiveTypes === 'function' ? directiveTypes() : directiveTypes)\n .map(extractDirectiveDef) :\n null;\n def.pipeDefs = pipeTypes ?\n () => (typeof pipeTypes === 'function' ? pipeTypes() : pipeTypes).map(extractPipeDef) :\n null;\n return def;\n });\n}\n/**\n * Generated next to NgModules to monkey-patch directive and pipe references onto a component's\n * definition, when generating a direct reference in the component file would otherwise create an\n * import cycle.\n *\n * See [this explanation](https://hackmd.io/Odw80D0pR6yfsOjg_7XCJg?view) for more details.\n *\n * @codeGenApi\n */\nfunction ɵɵsetComponentScope(type, directives, pipes) {\n const def = type.ɵcmp;\n def.directiveDefs = () => directives.map(extractDirectiveDef);\n def.pipeDefs = () => pipes.map(extractPipeDef);\n}\nfunction extractDirectiveDef(type) {\n const def = getComponentDef(type) || getDirectiveDef(type);\n if (ngDevMode && !def) {\n throw new Error(`'${type.name}' is neither 'ComponentType' or 'DirectiveType'.`);\n }\n return def;\n}\nfunction extractPipeDef(type) {\n const def = getPipeDef(type);\n if (ngDevMode && !def) {\n throw new Error(`'${type.name}' is not a 'PipeType'.`);\n }\n return def;\n}\nconst autoRegisterModuleById = {};\n/**\n * @codeGenApi\n */\nfunction ɵɵdefineNgModule(def) {\n const res = {\n type: def.type,\n bootstrap: def.bootstrap || EMPTY_ARRAY$1,\n declarations: def.declarations || EMPTY_ARRAY$1,\n imports: def.imports || EMPTY_ARRAY$1,\n exports: def.exports || EMPTY_ARRAY$1,\n transitiveCompileScopes: null,\n schemas: def.schemas || null,\n id: def.id || null,\n };\n if (def.id != null) {\n noSideEffects(() => {\n autoRegisterModuleById[def.id] = def.type;\n });\n }\n return res;\n}\n/**\n * Adds the module metadata that is necessary to compute the module's transitive scope to an\n * existing module definition.\n *\n * Scope metadata of modules is not used in production builds, so calls to this function can be\n * marked pure to tree-shake it from the bundle, allowing for all referenced declarations\n * to become eligible for tree-shaking as well.\n *\n * @codeGenApi\n */\nfunction ɵɵsetNgModuleScope(type, scope) {\n return noSideEffects(() => {\n const ngModuleDef = getNgModuleDef(type, true);\n ngModuleDef.declarations = scope.declarations || EMPTY_ARRAY$1;\n ngModuleDef.imports = scope.imports || EMPTY_ARRAY$1;\n ngModuleDef.exports = scope.exports || EMPTY_ARRAY$1;\n });\n}\n/**\n * Inverts an inputs or outputs lookup such that the keys, which were the\n * minified keys, are part of the values, and the values are parsed so that\n * the publicName of the property is the new key\n *\n * e.g. for\n *\n * ```\n * class Comp {\n * @Input()\n * propName1: string;\n *\n * @Input('publicName2')\n * declaredPropName2: number;\n * }\n * ```\n *\n * will be serialized as\n *\n * ```\n * {\n * propName1: 'propName1',\n * declaredPropName2: ['publicName2', 'declaredPropName2'],\n * }\n * ```\n *\n * which is than translated by the minifier as:\n *\n * ```\n * {\n * minifiedPropName1: 'propName1',\n * minifiedPropName2: ['publicName2', 'declaredPropName2'],\n * }\n * ```\n *\n * becomes: (public name => minifiedName)\n *\n * ```\n * {\n * 'propName1': 'minifiedPropName1',\n * 'publicName2': 'minifiedPropName2',\n * }\n * ```\n *\n * Optionally the function can take `secondary` which will result in: (public name => declared name)\n *\n * ```\n * {\n * 'propName1': 'propName1',\n * 'publicName2': 'declaredPropName2',\n * }\n * ```\n *\n\n */\nfunction invertObject(obj, secondary) {\n if (obj == null)\n return EMPTY_OBJ;\n const newLookup = {};\n for (const minifiedKey in obj) {\n if (obj.hasOwnProperty(minifiedKey)) {\n let publicName = obj[minifiedKey];\n let declaredName = publicName;\n if (Array.isArray(publicName)) {\n declaredName = publicName[1];\n publicName = publicName[0];\n }\n newLookup[publicName] = minifiedKey;\n if (secondary) {\n (secondary[publicName] = declaredName);\n }\n }\n }\n return newLookup;\n}\n/**\n * Create a directive definition object.\n *\n * # Example\n * ```ts\n * class MyDirective {\n * // Generated by Angular Template Compiler\n * // [Symbol] syntax will not be supported by TypeScript until v2.7\n * static ɵdir = ɵɵdefineDirective({\n * ...\n * });\n * }\n * ```\n *\n * @codeGenApi\n */\nconst ɵɵdefineDirective = ɵɵdefineComponent;\n/**\n * Create a pipe definition object.\n *\n * # Example\n * ```\n * class MyPipe implements PipeTransform {\n * // Generated by Angular Template Compiler\n * static ɵpipe = definePipe({\n * ...\n * });\n * }\n * ```\n * @param pipeDef Pipe definition generated by the compiler\n *\n * @codeGenApi\n */\nfunction ɵɵdefinePipe(pipeDef) {\n return {\n type: pipeDef.type,\n name: pipeDef.name,\n factory: null,\n pure: pipeDef.pure !== false,\n onDestroy: pipeDef.type.prototype.ngOnDestroy || null\n };\n}\n/**\n * The following getter methods retrieve the definition from the type. Currently the retrieval\n * honors inheritance, but in the future we may change the rule to require that definitions are\n * explicit. This would require some sort of migration strategy.\n */\nfunction getComponentDef(type) {\n return type[NG_COMP_DEF] || null;\n}\nfunction getDirectiveDef(type) {\n return type[NG_DIR_DEF] || null;\n}\nfunction getPipeDef(type) {\n return type[NG_PIPE_DEF] || null;\n}\nfunction getNgModuleDef(type, throwNotFound) {\n const ngModuleDef = type[NG_MOD_DEF] || null;\n if (!ngModuleDef && throwNotFound === true) {\n throw new Error(`Type ${stringify(type)} does not have 'ɵmod' property.`);\n }\n return ngModuleDef;\n}\nfunction getNgLocaleIdDef(type) {\n return type[NG_LOC_ID_DEF] || null;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Below are constants for LView indices to help us look up LView members\n// without having to remember the specific indices.\n// Uglify will inline these when minifying so there shouldn't be a cost.\nconst HOST = 0;\nconst TVIEW = 1;\nconst FLAGS = 2;\nconst PARENT = 3;\nconst NEXT = 4;\nconst TRANSPLANTED_VIEWS_TO_REFRESH = 5;\nconst T_HOST = 6;\nconst CLEANUP = 7;\nconst CONTEXT = 8;\nconst INJECTOR = 9;\nconst RENDERER_FACTORY = 10;\nconst RENDERER = 11;\nconst SANITIZER = 12;\nconst CHILD_HEAD = 13;\nconst CHILD_TAIL = 14;\n// FIXME(misko): Investigate if the three declarations aren't all same thing.\nconst DECLARATION_VIEW = 15;\nconst DECLARATION_COMPONENT_VIEW = 16;\nconst DECLARATION_LCONTAINER = 17;\nconst PREORDER_HOOK_FLAGS = 18;\nconst QUERIES = 19;\n/**\n * Size of LView's header. Necessary to adjust for it when setting slots.\n *\n * IMPORTANT: `HEADER_OFFSET` should only be referred to the in the `ɵɵ*` instructions to translate\n * instruction index into `LView` index. All other indexes should be in the `LView` index space and\n * there should be no need to refer to `HEADER_OFFSET` anywhere else.\n */\nconst HEADER_OFFSET = 20;\n/**\n * Converts `TViewType` into human readable text.\n * Make sure this matches with `TViewType`\n */\nconst TViewTypeAsString = [\n 'Root',\n 'Component',\n 'Embedded',\n];\n// Note: This hack is necessary so we don't erroneously get a circular dependency\n// failure based on types.\nconst unusedValueExportToPlacateAjd = 1;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Special location which allows easy identification of type. If we have an array which was\n * retrieved from the `LView` and that array has `true` at `TYPE` location, we know it is\n * `LContainer`.\n */\nconst TYPE = 1;\n/**\n * Below are constants for LContainer indices to help us look up LContainer members\n * without having to remember the specific indices.\n * Uglify will inline these when minifying so there shouldn't be a cost.\n */\n/**\n * Flag to signify that this `LContainer` may have transplanted views which need to be change\n * detected. (see: `LView[DECLARATION_COMPONENT_VIEW])`.\n *\n * This flag, once set, is never unset for the `LContainer`. This means that when unset we can skip\n * a lot of work in `refreshEmbeddedViews`. But when set we still need to verify\n * that the `MOVED_VIEWS` are transplanted and on-push.\n */\nconst HAS_TRANSPLANTED_VIEWS = 2;\n// PARENT, NEXT, TRANSPLANTED_VIEWS_TO_REFRESH are indices 3, 4, and 5\n// As we already have these constants in LView, we don't need to re-create them.\n// T_HOST is index 6\n// We already have this constants in LView, we don't need to re-create it.\nconst NATIVE = 7;\nconst VIEW_REFS = 8;\nconst MOVED_VIEWS = 9;\n/**\n * Size of LContainer's header. Represents the index after which all views in the\n * container will be inserted. We need to keep a record of current views so we know\n * which views are already in the DOM (and don't need to be re-added) and so we can\n * remove views from the DOM when they are no longer required.\n */\nconst CONTAINER_HEADER_OFFSET = 10;\n// Note: This hack is necessary so we don't erroneously get a circular dependency\n// failure based on types.\nconst unusedValueExportToPlacateAjd$1 = 1;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * True if `value` is `LView`.\n * @param value wrapped value of `RNode`, `LView`, `LContainer`\n */\nfunction isLView(value) {\n return Array.isArray(value) && typeof value[TYPE] === 'object';\n}\n/**\n * True if `value` is `LContainer`.\n * @param value wrapped value of `RNode`, `LView`, `LContainer`\n */\nfunction isLContainer(value) {\n return Array.isArray(value) && value[TYPE] === true;\n}\nfunction isContentQueryHost(tNode) {\n return (tNode.flags & 8 /* hasContentQuery */) !== 0;\n}\nfunction isComponentHost(tNode) {\n return (tNode.flags & 2 /* isComponentHost */) === 2 /* isComponentHost */;\n}\nfunction isDirectiveHost(tNode) {\n return (tNode.flags & 1 /* isDirectiveHost */) === 1 /* isDirectiveHost */;\n}\nfunction isComponentDef(def) {\n return def.template !== null;\n}\nfunction isRootView(target) {\n return (target[FLAGS] & 512 /* IsRoot */) !== 0;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// [Assert functions do not constraint type when they are guarded by a truthy\n// expression.](https://github.com/microsoft/TypeScript/issues/37295)\nfunction assertTNodeForLView(tNode, lView) {\n assertTNodeForTView(tNode, lView[TVIEW]);\n}\nfunction assertTNodeForTView(tNode, tView) {\n assertTNode(tNode);\n tNode.hasOwnProperty('tView_') &&\n assertEqual(tNode.tView_, tView, 'This TNode does not belong to this TView.');\n}\nfunction assertTNode(tNode) {\n assertDefined(tNode, 'TNode must be defined');\n if (!(tNode && typeof tNode === 'object' && tNode.hasOwnProperty('directiveStylingLast'))) {\n throwError('Not of type TNode, got: ' + tNode);\n }\n}\nfunction assertTIcu(tIcu) {\n assertDefined(tIcu, 'Expected TIcu to be defined');\n if (!(typeof tIcu.currentCaseLViewIndex === 'number')) {\n throwError('Object is not of TIcu type.');\n }\n}\nfunction assertComponentType(actual, msg = 'Type passed in is not ComponentType, it does not have \\'ɵcmp\\' property.') {\n if (!getComponentDef(actual)) {\n throwError(msg);\n }\n}\nfunction assertNgModuleType(actual, msg = 'Type passed in is not NgModuleType, it does not have \\'ɵmod\\' property.') {\n if (!getNgModuleDef(actual)) {\n throwError(msg);\n }\n}\nfunction assertCurrentTNodeIsParent(isParent) {\n assertEqual(isParent, true, 'currentTNode should be a parent');\n}\nfunction assertHasParent(tNode) {\n assertDefined(tNode, 'currentTNode should exist!');\n assertDefined(tNode.parent, 'currentTNode should have a parent');\n}\nfunction assertDataNext(lView, index, arr) {\n if (arr == null)\n arr = lView;\n assertEqual(arr.length, index, `index ${index} expected to be at the end of arr (length ${arr.length})`);\n}\nfunction assertLContainer(value) {\n assertDefined(value, 'LContainer must be defined');\n assertEqual(isLContainer(value), true, 'Expecting LContainer');\n}\nfunction assertLViewOrUndefined(value) {\n value && assertEqual(isLView(value), true, 'Expecting LView or undefined or null');\n}\nfunction assertLView(value) {\n assertDefined(value, 'LView must be defined');\n assertEqual(isLView(value), true, 'Expecting LView');\n}\nfunction assertFirstCreatePass(tView, errMessage) {\n assertEqual(tView.firstCreatePass, true, errMessage || 'Should only be called in first create pass.');\n}\nfunction assertFirstUpdatePass(tView, errMessage) {\n assertEqual(tView.firstUpdatePass, true, errMessage || 'Should only be called in first update pass.');\n}\n/**\n * This is a basic sanity check that an object is probably a directive def. DirectiveDef is\n * an interface, so we can't do a direct instanceof check.\n */\nfunction assertDirectiveDef(obj) {\n if (obj.type === undefined || obj.selectors == undefined || obj.inputs === undefined) {\n throwError(`Expected a DirectiveDef/ComponentDef and this object does not seem to have the expected shape.`);\n }\n}\nfunction assertIndexInDeclRange(lView, index) {\n const tView = lView[1];\n assertBetween(HEADER_OFFSET, tView.bindingStartIndex, index);\n}\nfunction assertIndexInVarsRange(lView, index) {\n const tView = lView[1];\n assertBetween(tView.bindingStartIndex, tView.expandoStartIndex, index);\n}\nfunction assertIndexInExpandoRange(lView, index) {\n const tView = lView[1];\n assertBetween(tView.expandoStartIndex, lView.length, index);\n}\nfunction assertBetween(lower, upper, index) {\n if (!(lower <= index && index < upper)) {\n throwError(`Index out of range (expecting ${lower} <= ${index} < ${upper})`);\n }\n}\nfunction assertProjectionSlots(lView, errMessage) {\n assertDefined(lView[DECLARATION_COMPONENT_VIEW], 'Component views should exist.');\n assertDefined(lView[DECLARATION_COMPONENT_VIEW][T_HOST].projection, errMessage ||\n 'Components with projection nodes () must have projection slots defined.');\n}\nfunction assertParentView(lView, errMessage) {\n assertDefined(lView, errMessage || 'Component views should always have a parent view (component\\'s host view)');\n}\n/**\n * This is a basic sanity check that the `injectorIndex` seems to point to what looks like a\n * NodeInjector data structure.\n *\n * @param lView `LView` which should be checked.\n * @param injectorIndex index into the `LView` where the `NodeInjector` is expected.\n */\nfunction assertNodeInjector(lView, injectorIndex) {\n assertIndexInExpandoRange(lView, injectorIndex);\n assertIndexInExpandoRange(lView, injectorIndex + 8 /* PARENT */);\n assertNumber(lView[injectorIndex + 0], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 1], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 2], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 3], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 4], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 5], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 6], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 7], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 8 /* PARENT */], 'injectorIndex should point to parent injector');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction getFactoryDef(type, throwNotFound) {\n const hasFactoryDef = type.hasOwnProperty(NG_FACTORY_DEF);\n if (!hasFactoryDef && throwNotFound === true && ngDevMode) {\n throw new Error(`Type ${stringify(type)} does not have 'ɵfac' property.`);\n }\n return hasFactoryDef ? type[NG_FACTORY_DEF] : null;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents a basic change from a previous to a new value for a single\n * property on a directive instance. Passed as a value in a\n * {@link SimpleChanges} object to the `ngOnChanges` hook.\n *\n * @see `OnChanges`\n *\n * @publicApi\n */\nclass SimpleChange {\n constructor(previousValue, currentValue, firstChange) {\n this.previousValue = previousValue;\n this.currentValue = currentValue;\n this.firstChange = firstChange;\n }\n /**\n * Check whether the new value is the first value assigned.\n */\n isFirstChange() {\n return this.firstChange;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The NgOnChangesFeature decorates a component with support for the ngOnChanges\n * lifecycle hook, so it should be included in any component that implements\n * that hook.\n *\n * If the component or directive uses inheritance, the NgOnChangesFeature MUST\n * be included as a feature AFTER {@link InheritDefinitionFeature}, otherwise\n * inherited properties will not be propagated to the ngOnChanges lifecycle\n * hook.\n *\n * Example usage:\n *\n * ```\n * static ɵcmp = defineComponent({\n * ...\n * inputs: {name: 'publicName'},\n * features: [NgOnChangesFeature]\n * });\n * ```\n *\n * @codeGenApi\n */\nfunction ɵɵNgOnChangesFeature() {\n return NgOnChangesFeatureImpl;\n}\nfunction NgOnChangesFeatureImpl(definition) {\n if (definition.type.prototype.ngOnChanges) {\n definition.setInput = ngOnChangesSetInput;\n }\n return rememberChangeHistoryAndInvokeOnChangesHook;\n}\n// This option ensures that the ngOnChanges lifecycle hook will be inherited\n// from superclasses (in InheritDefinitionFeature).\n/** @nocollapse */\n// tslint:disable-next-line:no-toplevel-property-access\nɵɵNgOnChangesFeature.ngInherit = true;\n/**\n * This is a synthetic lifecycle hook which gets inserted into `TView.preOrderHooks` to simulate\n * `ngOnChanges`.\n *\n * The hook reads the `NgSimpleChangesStore` data from the component instance and if changes are\n * found it invokes `ngOnChanges` on the component instance.\n *\n * @param this Component instance. Because this function gets inserted into `TView.preOrderHooks`,\n * it is guaranteed to be called with component instance.\n */\nfunction rememberChangeHistoryAndInvokeOnChangesHook() {\n const simpleChangesStore = getSimpleChangesStore(this);\n const current = simpleChangesStore === null || simpleChangesStore === void 0 ? void 0 : simpleChangesStore.current;\n if (current) {\n const previous = simpleChangesStore.previous;\n if (previous === EMPTY_OBJ) {\n simpleChangesStore.previous = current;\n }\n else {\n // New changes are copied to the previous store, so that we don't lose history for inputs\n // which were not changed this time\n for (let key in current) {\n previous[key] = current[key];\n }\n }\n simpleChangesStore.current = null;\n this.ngOnChanges(current);\n }\n}\nfunction ngOnChangesSetInput(instance, value, publicName, privateName) {\n const simpleChangesStore = getSimpleChangesStore(instance) ||\n setSimpleChangesStore(instance, { previous: EMPTY_OBJ, current: null });\n const current = simpleChangesStore.current || (simpleChangesStore.current = {});\n const previous = simpleChangesStore.previous;\n const declaredName = this.declaredInputs[publicName];\n const previousChange = previous[declaredName];\n current[declaredName] = new SimpleChange(previousChange && previousChange.currentValue, value, previous === EMPTY_OBJ);\n instance[privateName] = value;\n}\nconst SIMPLE_CHANGES_STORE = '__ngSimpleChanges__';\nfunction getSimpleChangesStore(instance) {\n return instance[SIMPLE_CHANGES_STORE] || null;\n}\nfunction setSimpleChangesStore(instance, store) {\n return instance[SIMPLE_CHANGES_STORE] = store;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\nconst MATH_ML_NAMESPACE = 'http://www.w3.org/1998/MathML/';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This property will be monkey-patched on elements, components and directives\n */\nconst MONKEY_PATCH_KEY_NAME = '__ngContext__';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Most of the use of `document` in Angular is from within the DI system so it is possible to simply\n * inject the `DOCUMENT` token and are done.\n *\n * Ivy is special because it does not rely upon the DI and must get hold of the document some other\n * way.\n *\n * The solution is to define `getDocument()` and `setDocument()` top-level functions for ivy.\n * Wherever ivy needs the global document, it calls `getDocument()` instead.\n *\n * When running ivy outside of a browser environment, it is necessary to call `setDocument()` to\n * tell ivy what the global `document` is.\n *\n * Angular does this for us in each of the standard platforms (`Browser`, `Server`, and `WebWorker`)\n * by calling `setDocument()` when providing the `DOCUMENT` token.\n */\nlet DOCUMENT = undefined;\n/**\n * Tell ivy what the `document` is for this platform.\n *\n * It is only necessary to call this if the current platform is not a browser.\n *\n * @param document The object representing the global `document` in this environment.\n */\nfunction setDocument(document) {\n DOCUMENT = document;\n}\n/**\n * Access the object that represents the `document` for this platform.\n *\n * Ivy calls this whenever it needs to access the `document` object.\n * For example to create the renderer or to do sanitization.\n */\nfunction getDocument() {\n if (DOCUMENT !== undefined) {\n return DOCUMENT;\n }\n else if (typeof document !== 'undefined') {\n return document;\n }\n // No \"document\" can be found. This should only happen if we are running ivy outside Angular and\n // the current platform is not a browser. Since this is not a supported scenario at the moment\n // this should not happen in Angular apps.\n // Once we support running ivy outside of Angular we will need to publish `setDocument()` as a\n // public API. Meanwhile we just return `undefined` and let the application fail.\n return undefined;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// TODO: cleanup once the code is merged in angular/angular\nvar RendererStyleFlags3;\n(function (RendererStyleFlags3) {\n RendererStyleFlags3[RendererStyleFlags3[\"Important\"] = 1] = \"Important\";\n RendererStyleFlags3[RendererStyleFlags3[\"DashCase\"] = 2] = \"DashCase\";\n})(RendererStyleFlags3 || (RendererStyleFlags3 = {}));\n/** Returns whether the `renderer` is a `ProceduralRenderer3` */\nfunction isProceduralRenderer(renderer) {\n return !!(renderer.listen);\n}\nconst ɵ0 = (hostElement, rendererType) => {\n return getDocument();\n};\nconst domRendererFactory3 = {\n createRenderer: ɵ0\n};\n// Note: This hack is necessary so we don't erroneously get a circular dependency\n// failure based on types.\nconst unusedValueExportToPlacateAjd$2 = 1;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * For efficiency reasons we often put several different data types (`RNode`, `LView`, `LContainer`)\n * in same location in `LView`. This is because we don't want to pre-allocate space for it\n * because the storage is sparse. This file contains utilities for dealing with such data types.\n *\n * How do we know what is stored at a given location in `LView`.\n * - `Array.isArray(value) === false` => `RNode` (The normal storage value)\n * - `Array.isArray(value) === true` => then the `value[0]` represents the wrapped value.\n * - `typeof value[TYPE] === 'object'` => `LView`\n * - This happens when we have a component at a given location\n * - `typeof value[TYPE] === true` => `LContainer`\n * - This happens when we have `LContainer` binding at a given location.\n *\n *\n * NOTE: it is assumed that `Array.isArray` and `typeof` operations are very efficient.\n */\n/**\n * Returns `RNode`.\n * @param value wrapped value of `RNode`, `LView`, `LContainer`\n */\nfunction unwrapRNode(value) {\n while (Array.isArray(value)) {\n value = value[HOST];\n }\n return value;\n}\n/**\n * Returns `LView` or `null` if not found.\n * @param value wrapped value of `RNode`, `LView`, `LContainer`\n */\nfunction unwrapLView(value) {\n while (Array.isArray(value)) {\n // This check is same as `isLView()` but we don't call at as we don't want to call\n // `Array.isArray()` twice and give JITer more work for inlining.\n if (typeof value[TYPE] === 'object')\n return value;\n value = value[HOST];\n }\n return null;\n}\n/**\n * Returns `LContainer` or `null` if not found.\n * @param value wrapped value of `RNode`, `LView`, `LContainer`\n */\nfunction unwrapLContainer(value) {\n while (Array.isArray(value)) {\n // This check is same as `isLContainer()` but we don't call at as we don't want to call\n // `Array.isArray()` twice and give JITer more work for inlining.\n if (value[TYPE] === true)\n return value;\n value = value[HOST];\n }\n return null;\n}\n/**\n * Retrieves an element value from the provided `viewData`, by unwrapping\n * from any containers, component views, or style contexts.\n */\nfunction getNativeByIndex(index, lView) {\n ngDevMode && assertIndexInRange(lView, index);\n ngDevMode && assertGreaterThanOrEqual(index, HEADER_OFFSET, 'Expected to be past HEADER_OFFSET');\n return unwrapRNode(lView[index]);\n}\n/**\n * Retrieve an `RNode` for a given `TNode` and `LView`.\n *\n * This function guarantees in dev mode to retrieve a non-null `RNode`.\n *\n * @param tNode\n * @param lView\n */\nfunction getNativeByTNode(tNode, lView) {\n ngDevMode && assertTNodeForLView(tNode, lView);\n ngDevMode && assertIndexInRange(lView, tNode.index);\n const node = unwrapRNode(lView[tNode.index]);\n ngDevMode && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);\n return node;\n}\n/**\n * Retrieve an `RNode` or `null` for a given `TNode` and `LView`.\n *\n * Some `TNode`s don't have associated `RNode`s. For example `Projection`\n *\n * @param tNode\n * @param lView\n */\nfunction getNativeByTNodeOrNull(tNode, lView) {\n const index = tNode === null ? -1 : tNode.index;\n if (index !== -1) {\n ngDevMode && assertTNodeForLView(tNode, lView);\n const node = unwrapRNode(lView[index]);\n ngDevMode && node !== null && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);\n return node;\n }\n return null;\n}\n// fixme(misko): The return Type should be `TNode|null`\nfunction getTNode(tView, index) {\n ngDevMode && assertGreaterThan(index, -1, 'wrong index for TNode');\n ngDevMode && assertLessThan(index, tView.data.length, 'wrong index for TNode');\n const tNode = tView.data[index];\n ngDevMode && tNode !== null && assertTNode(tNode);\n return tNode;\n}\n/** Retrieves a value from any `LView` or `TData`. */\nfunction load(view, index) {\n ngDevMode && assertIndexInRange(view, index);\n return view[index];\n}\nfunction getComponentLViewByIndex(nodeIndex, hostView) {\n // Could be an LView or an LContainer. If LContainer, unwrap to find LView.\n ngDevMode && assertIndexInRange(hostView, nodeIndex);\n const slotValue = hostView[nodeIndex];\n const lView = isLView(slotValue) ? slotValue : slotValue[HOST];\n return lView;\n}\n/**\n * Returns the monkey-patch value data present on the target (which could be\n * a component, directive or a DOM node).\n */\nfunction readPatchedData(target) {\n ngDevMode && assertDefined(target, 'Target expected');\n return target[MONKEY_PATCH_KEY_NAME] || null;\n}\nfunction readPatchedLView(target) {\n const value = readPatchedData(target);\n if (value) {\n return Array.isArray(value) ? value : value.lView;\n }\n return null;\n}\n/** Checks whether a given view is in creation mode */\nfunction isCreationMode(view) {\n return (view[FLAGS] & 4 /* CreationMode */) === 4 /* CreationMode */;\n}\n/**\n * Returns a boolean for whether the view is attached to the change detection tree.\n *\n * Note: This determines whether a view should be checked, not whether it's inserted\n * into a container. For that, you'll want `viewAttachedToContainer` below.\n */\nfunction viewAttachedToChangeDetector(view) {\n return (view[FLAGS] & 128 /* Attached */) === 128 /* Attached */;\n}\n/** Returns a boolean for whether the view is attached to a container. */\nfunction viewAttachedToContainer(view) {\n return isLContainer(view[PARENT]);\n}\nfunction getConstant(consts, index) {\n if (index === null || index === undefined)\n return null;\n ngDevMode && assertIndexInRange(consts, index);\n return consts[index];\n}\n/**\n * Resets the pre-order hook flags of the view.\n * @param lView the LView on which the flags are reset\n */\nfunction resetPreOrderHookFlags(lView) {\n lView[PREORDER_HOOK_FLAGS] = 0;\n}\n/**\n * Updates the `TRANSPLANTED_VIEWS_TO_REFRESH` counter on the `LContainer` as well as the parents\n * whose\n * 1. counter goes from 0 to 1, indicating that there is a new child that has a view to refresh\n * or\n * 2. counter goes from 1 to 0, indicating there are no more descendant views to refresh\n */\nfunction updateTransplantedViewCount(lContainer, amount) {\n lContainer[TRANSPLANTED_VIEWS_TO_REFRESH] += amount;\n let viewOrContainer = lContainer;\n let parent = lContainer[PARENT];\n while (parent !== null &&\n ((amount === 1 && viewOrContainer[TRANSPLANTED_VIEWS_TO_REFRESH] === 1) ||\n (amount === -1 && viewOrContainer[TRANSPLANTED_VIEWS_TO_REFRESH] === 0))) {\n parent[TRANSPLANTED_VIEWS_TO_REFRESH] += amount;\n viewOrContainer = parent;\n parent = parent[PARENT];\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst instructionState = {\n lFrame: createLFrame(null),\n bindingsEnabled: true,\n isInCheckNoChangesMode: false,\n};\n/**\n * Returns true if the instruction state stack is empty.\n *\n * Intended to be called from tests only (tree shaken otherwise).\n */\nfunction specOnlyIsInstructionStateEmpty() {\n return instructionState.lFrame.parent === null;\n}\nfunction getElementDepthCount() {\n return instructionState.lFrame.elementDepthCount;\n}\nfunction increaseElementDepthCount() {\n instructionState.lFrame.elementDepthCount++;\n}\nfunction decreaseElementDepthCount() {\n instructionState.lFrame.elementDepthCount--;\n}\nfunction getBindingsEnabled() {\n return instructionState.bindingsEnabled;\n}\n/**\n * Enables directive matching on elements.\n *\n * * Example:\n * ```\n * \n * Should match component / directive.\n * \n *
\n * \n * \n * Should not match component / directive because we are in ngNonBindable.\n * \n * \n *
\n * ```\n *\n * @codeGenApi\n */\nfunction ɵɵenableBindings() {\n instructionState.bindingsEnabled = true;\n}\n/**\n * Disables directive matching on element.\n *\n * * Example:\n * ```\n * \n * Should match component / directive.\n * \n *
\n * \n * \n * Should not match component / directive because we are in ngNonBindable.\n * \n * \n *
\n * ```\n *\n * @codeGenApi\n */\nfunction ɵɵdisableBindings() {\n instructionState.bindingsEnabled = false;\n}\n/**\n * Return the current `LView`.\n */\nfunction getLView() {\n return instructionState.lFrame.lView;\n}\n/**\n * Return the current `TView`.\n */\nfunction getTView() {\n return instructionState.lFrame.tView;\n}\n/**\n * Restores `contextViewData` to the given OpaqueViewState instance.\n *\n * Used in conjunction with the getCurrentView() instruction to save a snapshot\n * of the current view and restore it when listeners are invoked. This allows\n * walking the declaration view tree in listeners to get vars from parent views.\n *\n * @param viewToRestore The OpaqueViewState instance to restore.\n *\n * @codeGenApi\n */\nfunction ɵɵrestoreView(viewToRestore) {\n instructionState.lFrame.contextLView = viewToRestore;\n}\nfunction getCurrentTNode() {\n let currentTNode = getCurrentTNodePlaceholderOk();\n while (currentTNode !== null && currentTNode.type === 64 /* Placeholder */) {\n currentTNode = currentTNode.parent;\n }\n return currentTNode;\n}\nfunction getCurrentTNodePlaceholderOk() {\n return instructionState.lFrame.currentTNode;\n}\nfunction getCurrentParentTNode() {\n const lFrame = instructionState.lFrame;\n const currentTNode = lFrame.currentTNode;\n return lFrame.isParent ? currentTNode : currentTNode.parent;\n}\nfunction setCurrentTNode(tNode, isParent) {\n ngDevMode && tNode && assertTNodeForTView(tNode, instructionState.lFrame.tView);\n const lFrame = instructionState.lFrame;\n lFrame.currentTNode = tNode;\n lFrame.isParent = isParent;\n}\nfunction isCurrentTNodeParent() {\n return instructionState.lFrame.isParent;\n}\nfunction setCurrentTNodeAsNotParent() {\n instructionState.lFrame.isParent = false;\n}\nfunction setCurrentTNodeAsParent() {\n instructionState.lFrame.isParent = true;\n}\nfunction getContextLView() {\n return instructionState.lFrame.contextLView;\n}\nfunction isInCheckNoChangesMode() {\n // TODO(misko): remove this from the LView since it is ngDevMode=true mode only.\n return instructionState.isInCheckNoChangesMode;\n}\nfunction setIsInCheckNoChangesMode(mode) {\n instructionState.isInCheckNoChangesMode = mode;\n}\n// top level variables should not be exported for performance reasons (PERF_NOTES.md)\nfunction getBindingRoot() {\n const lFrame = instructionState.lFrame;\n let index = lFrame.bindingRootIndex;\n if (index === -1) {\n index = lFrame.bindingRootIndex = lFrame.tView.bindingStartIndex;\n }\n return index;\n}\nfunction getBindingIndex() {\n return instructionState.lFrame.bindingIndex;\n}\nfunction setBindingIndex(value) {\n return instructionState.lFrame.bindingIndex = value;\n}\nfunction nextBindingIndex() {\n return instructionState.lFrame.bindingIndex++;\n}\nfunction incrementBindingIndex(count) {\n const lFrame = instructionState.lFrame;\n const index = lFrame.bindingIndex;\n lFrame.bindingIndex = lFrame.bindingIndex + count;\n return index;\n}\nfunction isInI18nBlock() {\n return instructionState.lFrame.inI18n;\n}\nfunction setInI18nBlock(isInI18nBlock) {\n instructionState.lFrame.inI18n = isInI18nBlock;\n}\n/**\n * Set a new binding root index so that host template functions can execute.\n *\n * Bindings inside the host template are 0 index. But because we don't know ahead of time\n * how many host bindings we have we can't pre-compute them. For this reason they are all\n * 0 index and we just shift the root so that they match next available location in the LView.\n *\n * @param bindingRootIndex Root index for `hostBindings`\n * @param currentDirectiveIndex `TData[currentDirectiveIndex]` will point to the current directive\n * whose `hostBindings` are being processed.\n */\nfunction setBindingRootForHostBindings(bindingRootIndex, currentDirectiveIndex) {\n const lFrame = instructionState.lFrame;\n lFrame.bindingIndex = lFrame.bindingRootIndex = bindingRootIndex;\n setCurrentDirectiveIndex(currentDirectiveIndex);\n}\n/**\n * When host binding is executing this points to the directive index.\n * `TView.data[getCurrentDirectiveIndex()]` is `DirectiveDef`\n * `LView[getCurrentDirectiveIndex()]` is directive instance.\n */\nfunction getCurrentDirectiveIndex() {\n return instructionState.lFrame.currentDirectiveIndex;\n}\n/**\n * Sets an index of a directive whose `hostBindings` are being processed.\n *\n * @param currentDirectiveIndex `TData` index where current directive instance can be found.\n */\nfunction setCurrentDirectiveIndex(currentDirectiveIndex) {\n instructionState.lFrame.currentDirectiveIndex = currentDirectiveIndex;\n}\n/**\n * Retrieve the current `DirectiveDef` which is active when `hostBindings` instruction is being\n * executed.\n *\n * @param tData Current `TData` where the `DirectiveDef` will be looked up at.\n */\nfunction getCurrentDirectiveDef(tData) {\n const currentDirectiveIndex = instructionState.lFrame.currentDirectiveIndex;\n return currentDirectiveIndex === -1 ? null : tData[currentDirectiveIndex];\n}\nfunction getCurrentQueryIndex() {\n return instructionState.lFrame.currentQueryIndex;\n}\nfunction setCurrentQueryIndex(value) {\n instructionState.lFrame.currentQueryIndex = value;\n}\n/**\n * Returns a `TNode` of the location where the current `LView` is declared at.\n *\n * @param lView an `LView` that we want to find parent `TNode` for.\n */\nfunction getDeclarationTNode(lView) {\n const tView = lView[TVIEW];\n // Return the declaration parent for embedded views\n if (tView.type === 2 /* Embedded */) {\n ngDevMode && assertDefined(tView.declTNode, 'Embedded TNodes should have declaration parents.');\n return tView.declTNode;\n }\n // Components don't have `TView.declTNode` because each instance of component could be\n // inserted in different location, hence `TView.declTNode` is meaningless.\n // Falling back to `T_HOST` in case we cross component boundary.\n if (tView.type === 1 /* Component */) {\n return lView[T_HOST];\n }\n // Remaining TNode type is `TViewType.Root` which doesn't have a parent TNode.\n return null;\n}\n/**\n * This is a light weight version of the `enterView` which is needed by the DI system.\n *\n * @param lView `LView` location of the DI context.\n * @param tNode `TNode` for DI context\n * @param flags DI context flags. if `SkipSelf` flag is set than we walk up the declaration\n * tree from `tNode` until we find parent declared `TElementNode`.\n * @returns `true` if we have successfully entered DI associated with `tNode` (or with declared\n * `TNode` if `flags` has `SkipSelf`). Failing to enter DI implies that no associated\n * `NodeInjector` can be found and we should instead use `ModuleInjector`.\n * - If `true` than this call must be fallowed by `leaveDI`\n * - If `false` than this call failed and we should NOT call `leaveDI`\n */\nfunction enterDI(lView, tNode, flags) {\n ngDevMode && assertLViewOrUndefined(lView);\n if (flags & InjectFlags.SkipSelf) {\n ngDevMode && assertTNodeForTView(tNode, lView[TVIEW]);\n let parentTNode = tNode;\n let parentLView = lView;\n while (true) {\n ngDevMode && assertDefined(parentTNode, 'Parent TNode should be defined');\n parentTNode = parentTNode.parent;\n if (parentTNode === null && !(flags & InjectFlags.Host)) {\n parentTNode = getDeclarationTNode(parentLView);\n if (parentTNode === null)\n break;\n // In this case, a parent exists and is definitely an element. So it will definitely\n // have an existing lView as the declaration view, which is why we can assume it's defined.\n ngDevMode && assertDefined(parentLView, 'Parent LView should be defined');\n parentLView = parentLView[DECLARATION_VIEW];\n // In Ivy there are Comment nodes that correspond to ngIf and NgFor embedded directives\n // We want to skip those and look only at Elements and ElementContainers to ensure\n // we're looking at true parent nodes, and not content or other types.\n if (parentTNode.type & (2 /* Element */ | 8 /* ElementContainer */)) {\n break;\n }\n }\n else {\n break;\n }\n }\n if (parentTNode === null) {\n // If we failed to find a parent TNode this means that we should use module injector.\n return false;\n }\n else {\n tNode = parentTNode;\n lView = parentLView;\n }\n }\n ngDevMode && assertTNodeForLView(tNode, lView);\n const lFrame = instructionState.lFrame = allocLFrame();\n lFrame.currentTNode = tNode;\n lFrame.lView = lView;\n return true;\n}\n/**\n * Swap the current lView with a new lView.\n *\n * For performance reasons we store the lView in the top level of the module.\n * This way we minimize the number of properties to read. Whenever a new view\n * is entered we have to store the lView for later, and when the view is\n * exited the state has to be restored\n *\n * @param newView New lView to become active\n * @returns the previously active lView;\n */\nfunction enterView(newView) {\n ngDevMode && assertNotEqual(newView[0], newView[1], '????');\n ngDevMode && assertLViewOrUndefined(newView);\n const newLFrame = allocLFrame();\n if (ngDevMode) {\n assertEqual(newLFrame.isParent, true, 'Expected clean LFrame');\n assertEqual(newLFrame.lView, null, 'Expected clean LFrame');\n assertEqual(newLFrame.tView, null, 'Expected clean LFrame');\n assertEqual(newLFrame.selectedIndex, -1, 'Expected clean LFrame');\n assertEqual(newLFrame.elementDepthCount, 0, 'Expected clean LFrame');\n assertEqual(newLFrame.currentDirectiveIndex, -1, 'Expected clean LFrame');\n assertEqual(newLFrame.currentNamespace, null, 'Expected clean LFrame');\n assertEqual(newLFrame.bindingRootIndex, -1, 'Expected clean LFrame');\n assertEqual(newLFrame.currentQueryIndex, 0, 'Expected clean LFrame');\n }\n const tView = newView[TVIEW];\n instructionState.lFrame = newLFrame;\n ngDevMode && tView.firstChild && assertTNodeForTView(tView.firstChild, tView);\n newLFrame.currentTNode = tView.firstChild;\n newLFrame.lView = newView;\n newLFrame.tView = tView;\n newLFrame.contextLView = newView;\n newLFrame.bindingIndex = tView.bindingStartIndex;\n newLFrame.inI18n = false;\n}\n/**\n * Allocates next free LFrame. This function tries to reuse the `LFrame`s to lower memory pressure.\n */\nfunction allocLFrame() {\n const currentLFrame = instructionState.lFrame;\n const childLFrame = currentLFrame === null ? null : currentLFrame.child;\n const newLFrame = childLFrame === null ? createLFrame(currentLFrame) : childLFrame;\n return newLFrame;\n}\nfunction createLFrame(parent) {\n const lFrame = {\n currentTNode: null,\n isParent: true,\n lView: null,\n tView: null,\n selectedIndex: -1,\n contextLView: null,\n elementDepthCount: 0,\n currentNamespace: null,\n currentDirectiveIndex: -1,\n bindingRootIndex: -1,\n bindingIndex: -1,\n currentQueryIndex: 0,\n parent: parent,\n child: null,\n inI18n: false,\n };\n parent !== null && (parent.child = lFrame); // link the new LFrame for reuse.\n return lFrame;\n}\n/**\n * A lightweight version of leave which is used with DI.\n *\n * This function only resets `currentTNode` and `LView` as those are the only properties\n * used with DI (`enterDI()`).\n *\n * NOTE: This function is reexported as `leaveDI`. However `leaveDI` has return type of `void` where\n * as `leaveViewLight` has `LFrame`. This is so that `leaveViewLight` can be used in `leaveView`.\n */\nfunction leaveViewLight() {\n const oldLFrame = instructionState.lFrame;\n instructionState.lFrame = oldLFrame.parent;\n oldLFrame.currentTNode = null;\n oldLFrame.lView = null;\n return oldLFrame;\n}\n/**\n * This is a lightweight version of the `leaveView` which is needed by the DI system.\n *\n * NOTE: this function is an alias so that we can change the type of the function to have `void`\n * return type.\n */\nconst leaveDI = leaveViewLight;\n/**\n * Leave the current `LView`\n *\n * This pops the `LFrame` with the associated `LView` from the stack.\n *\n * IMPORTANT: We must zero out the `LFrame` values here otherwise they will be retained. This is\n * because for performance reasons we don't release `LFrame` but rather keep it for next use.\n */\nfunction leaveView() {\n const oldLFrame = leaveViewLight();\n oldLFrame.isParent = true;\n oldLFrame.tView = null;\n oldLFrame.selectedIndex = -1;\n oldLFrame.contextLView = null;\n oldLFrame.elementDepthCount = 0;\n oldLFrame.currentDirectiveIndex = -1;\n oldLFrame.currentNamespace = null;\n oldLFrame.bindingRootIndex = -1;\n oldLFrame.bindingIndex = -1;\n oldLFrame.currentQueryIndex = 0;\n}\nfunction nextContextImpl(level) {\n const contextLView = instructionState.lFrame.contextLView =\n walkUpViews(level, instructionState.lFrame.contextLView);\n return contextLView[CONTEXT];\n}\nfunction walkUpViews(nestingLevel, currentView) {\n while (nestingLevel > 0) {\n ngDevMode &&\n assertDefined(currentView[DECLARATION_VIEW], 'Declaration view should be defined if nesting level is greater than 0.');\n currentView = currentView[DECLARATION_VIEW];\n nestingLevel--;\n }\n return currentView;\n}\n/**\n * Gets the currently selected element index.\n *\n * Used with {@link property} instruction (and more in the future) to identify the index in the\n * current `LView` to act on.\n */\nfunction getSelectedIndex() {\n return instructionState.lFrame.selectedIndex;\n}\n/**\n * Sets the most recent index passed to {@link select}\n *\n * Used with {@link property} instruction (and more in the future) to identify the index in the\n * current `LView` to act on.\n *\n * (Note that if an \"exit function\" was set earlier (via `setElementExitFn()`) then that will be\n * run if and when the provided `index` value is different from the current selected index value.)\n */\nfunction setSelectedIndex(index) {\n ngDevMode && index !== -1 &&\n assertGreaterThanOrEqual(index, HEADER_OFFSET, 'Index must be past HEADER_OFFSET (or -1).');\n ngDevMode &&\n assertLessThan(index, instructionState.lFrame.lView.length, 'Can\\'t set index passed end of LView');\n instructionState.lFrame.selectedIndex = index;\n}\n/**\n * Gets the `tNode` that represents currently selected element.\n */\nfunction getSelectedTNode() {\n const lFrame = instructionState.lFrame;\n return getTNode(lFrame.tView, lFrame.selectedIndex);\n}\n/**\n * Sets the namespace used to create elements to `'http://www.w3.org/2000/svg'` in global state.\n *\n * @codeGenApi\n */\nfunction ɵɵnamespaceSVG() {\n instructionState.lFrame.currentNamespace = SVG_NAMESPACE;\n}\n/**\n * Sets the namespace used to create elements to `'http://www.w3.org/1998/MathML/'` in global state.\n *\n * @codeGenApi\n */\nfunction ɵɵnamespaceMathML() {\n instructionState.lFrame.currentNamespace = MATH_ML_NAMESPACE;\n}\n/**\n * Sets the namespace used to create elements to `null`, which forces element creation to use\n * `createElement` rather than `createElementNS`.\n *\n * @codeGenApi\n */\nfunction ɵɵnamespaceHTML() {\n namespaceHTMLInternal();\n}\n/**\n * Sets the namespace used to create elements to `null`, which forces element creation to use\n * `createElement` rather than `createElementNS`.\n */\nfunction namespaceHTMLInternal() {\n instructionState.lFrame.currentNamespace = null;\n}\nfunction getNamespace() {\n return instructionState.lFrame.currentNamespace;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Adds all directive lifecycle hooks from the given `DirectiveDef` to the given `TView`.\n *\n * Must be run *only* on the first template pass.\n *\n * Sets up the pre-order hooks on the provided `tView`,\n * see {@link HookData} for details about the data structure.\n *\n * @param directiveIndex The index of the directive in LView\n * @param directiveDef The definition containing the hooks to setup in tView\n * @param tView The current TView\n */\nfunction registerPreOrderHooks(directiveIndex, directiveDef, tView) {\n ngDevMode && assertFirstCreatePass(tView);\n const { ngOnChanges, ngOnInit, ngDoCheck } = directiveDef.type.prototype;\n if (ngOnChanges) {\n const wrappedOnChanges = NgOnChangesFeatureImpl(directiveDef);\n (tView.preOrderHooks || (tView.preOrderHooks = [])).push(directiveIndex, wrappedOnChanges);\n (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = []))\n .push(directiveIndex, wrappedOnChanges);\n }\n if (ngOnInit) {\n (tView.preOrderHooks || (tView.preOrderHooks = [])).push(0 - directiveIndex, ngOnInit);\n }\n if (ngDoCheck) {\n (tView.preOrderHooks || (tView.preOrderHooks = [])).push(directiveIndex, ngDoCheck);\n (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = [])).push(directiveIndex, ngDoCheck);\n }\n}\n/**\n *\n * Loops through the directives on the provided `tNode` and queues hooks to be\n * run that are not initialization hooks.\n *\n * Should be executed during `elementEnd()` and similar to\n * preserve hook execution order. Content, view, and destroy hooks for projected\n * components and directives must be called *before* their hosts.\n *\n * Sets up the content, view, and destroy hooks on the provided `tView`,\n * see {@link HookData} for details about the data structure.\n *\n * NOTE: This does not set up `onChanges`, `onInit` or `doCheck`, those are set up\n * separately at `elementStart`.\n *\n * @param tView The current TView\n * @param tNode The TNode whose directives are to be searched for hooks to queue\n */\nfunction registerPostOrderHooks(tView, tNode) {\n ngDevMode && assertFirstCreatePass(tView);\n // It's necessary to loop through the directives at elementEnd() (rather than processing in\n // directiveCreate) so we can preserve the current hook order. Content, view, and destroy\n // hooks for projected components and directives must be called *before* their hosts.\n for (let i = tNode.directiveStart, end = tNode.directiveEnd; i < end; i++) {\n const directiveDef = tView.data[i];\n ngDevMode && assertDefined(directiveDef, 'Expecting DirectiveDef');\n const lifecycleHooks = directiveDef.type.prototype;\n const { ngAfterContentInit, ngAfterContentChecked, ngAfterViewInit, ngAfterViewChecked, ngOnDestroy } = lifecycleHooks;\n if (ngAfterContentInit) {\n (tView.contentHooks || (tView.contentHooks = [])).push(-i, ngAfterContentInit);\n }\n if (ngAfterContentChecked) {\n (tView.contentHooks || (tView.contentHooks = [])).push(i, ngAfterContentChecked);\n (tView.contentCheckHooks || (tView.contentCheckHooks = [])).push(i, ngAfterContentChecked);\n }\n if (ngAfterViewInit) {\n (tView.viewHooks || (tView.viewHooks = [])).push(-i, ngAfterViewInit);\n }\n if (ngAfterViewChecked) {\n (tView.viewHooks || (tView.viewHooks = [])).push(i, ngAfterViewChecked);\n (tView.viewCheckHooks || (tView.viewCheckHooks = [])).push(i, ngAfterViewChecked);\n }\n if (ngOnDestroy != null) {\n (tView.destroyHooks || (tView.destroyHooks = [])).push(i, ngOnDestroy);\n }\n }\n}\n/**\n * Executing hooks requires complex logic as we need to deal with 2 constraints.\n *\n * 1. Init hooks (ngOnInit, ngAfterContentInit, ngAfterViewInit) must all be executed once and only\n * once, across many change detection cycles. This must be true even if some hooks throw, or if\n * some recursively trigger a change detection cycle.\n * To solve that, it is required to track the state of the execution of these init hooks.\n * This is done by storing and maintaining flags in the view: the {@link InitPhaseState},\n * and the index within that phase. They can be seen as a cursor in the following structure:\n * [[onInit1, onInit2], [afterContentInit1], [afterViewInit1, afterViewInit2, afterViewInit3]]\n * They are are stored as flags in LView[FLAGS].\n *\n * 2. Pre-order hooks can be executed in batches, because of the select instruction.\n * To be able to pause and resume their execution, we also need some state about the hook's array\n * that is being processed:\n * - the index of the next hook to be executed\n * - the number of init hooks already found in the processed part of the array\n * They are are stored as flags in LView[PREORDER_HOOK_FLAGS].\n */\n/**\n * Executes pre-order check hooks ( OnChanges, DoChanges) given a view where all the init hooks were\n * executed once. This is a light version of executeInitAndCheckPreOrderHooks where we can skip read\n * / write of the init-hooks related flags.\n * @param lView The LView where hooks are defined\n * @param hooks Hooks to be run\n * @param nodeIndex 3 cases depending on the value:\n * - undefined: all hooks from the array should be executed (post-order case)\n * - null: execute hooks only from the saved index until the end of the array (pre-order case, when\n * flushing the remaining hooks)\n * - number: execute hooks only from the saved index until that node index exclusive (pre-order\n * case, when executing select(number))\n */\nfunction executeCheckHooks(lView, hooks, nodeIndex) {\n callHooks(lView, hooks, 3 /* InitPhaseCompleted */, nodeIndex);\n}\n/**\n * Executes post-order init and check hooks (one of AfterContentInit, AfterContentChecked,\n * AfterViewInit, AfterViewChecked) given a view where there are pending init hooks to be executed.\n * @param lView The LView where hooks are defined\n * @param hooks Hooks to be run\n * @param initPhase A phase for which hooks should be run\n * @param nodeIndex 3 cases depending on the value:\n * - undefined: all hooks from the array should be executed (post-order case)\n * - null: execute hooks only from the saved index until the end of the array (pre-order case, when\n * flushing the remaining hooks)\n * - number: execute hooks only from the saved index until that node index exclusive (pre-order\n * case, when executing select(number))\n */\nfunction executeInitAndCheckHooks(lView, hooks, initPhase, nodeIndex) {\n ngDevMode &&\n assertNotEqual(initPhase, 3 /* InitPhaseCompleted */, 'Init pre-order hooks should not be called more than once');\n if ((lView[FLAGS] & 3 /* InitPhaseStateMask */) === initPhase) {\n callHooks(lView, hooks, initPhase, nodeIndex);\n }\n}\nfunction incrementInitPhaseFlags(lView, initPhase) {\n ngDevMode &&\n assertNotEqual(initPhase, 3 /* InitPhaseCompleted */, 'Init hooks phase should not be incremented after all init hooks have been run.');\n let flags = lView[FLAGS];\n if ((flags & 3 /* InitPhaseStateMask */) === initPhase) {\n flags &= 2047 /* IndexWithinInitPhaseReset */;\n flags += 1 /* InitPhaseStateIncrementer */;\n lView[FLAGS] = flags;\n }\n}\n/**\n * Calls lifecycle hooks with their contexts, skipping init hooks if it's not\n * the first LView pass\n *\n * @param currentView The current view\n * @param arr The array in which the hooks are found\n * @param initPhaseState the current state of the init phase\n * @param currentNodeIndex 3 cases depending on the value:\n * - undefined: all hooks from the array should be executed (post-order case)\n * - null: execute hooks only from the saved index until the end of the array (pre-order case, when\n * flushing the remaining hooks)\n * - number: execute hooks only from the saved index until that node index exclusive (pre-order\n * case, when executing select(number))\n */\nfunction callHooks(currentView, arr, initPhase, currentNodeIndex) {\n ngDevMode &&\n assertEqual(isInCheckNoChangesMode(), false, 'Hooks should never be run when in check no changes mode.');\n const startIndex = currentNodeIndex !== undefined ?\n (currentView[PREORDER_HOOK_FLAGS] & 65535 /* IndexOfTheNextPreOrderHookMaskMask */) :\n 0;\n const nodeIndexLimit = currentNodeIndex != null ? currentNodeIndex : -1;\n const max = arr.length - 1; // Stop the loop at length - 1, because we look for the hook at i + 1\n let lastNodeIndexFound = 0;\n for (let i = startIndex; i < max; i++) {\n const hook = arr[i + 1];\n if (typeof hook === 'number') {\n lastNodeIndexFound = arr[i];\n if (currentNodeIndex != null && lastNodeIndexFound >= currentNodeIndex) {\n break;\n }\n }\n else {\n const isInitHook = arr[i] < 0;\n if (isInitHook)\n currentView[PREORDER_HOOK_FLAGS] += 65536 /* NumberOfInitHooksCalledIncrementer */;\n if (lastNodeIndexFound < nodeIndexLimit || nodeIndexLimit == -1) {\n callHook(currentView, initPhase, arr, i);\n currentView[PREORDER_HOOK_FLAGS] =\n (currentView[PREORDER_HOOK_FLAGS] & 4294901760 /* NumberOfInitHooksCalledMask */) + i +\n 2;\n }\n i++;\n }\n }\n}\n/**\n * Execute one hook against the current `LView`.\n *\n * @param currentView The current view\n * @param initPhaseState the current state of the init phase\n * @param arr The array in which the hooks are found\n * @param i The current index within the hook data array\n */\nfunction callHook(currentView, initPhase, arr, i) {\n const isInitHook = arr[i] < 0;\n const hook = arr[i + 1];\n const directiveIndex = isInitHook ? -arr[i] : arr[i];\n const directive = currentView[directiveIndex];\n if (isInitHook) {\n const indexWithintInitPhase = currentView[FLAGS] >> 11 /* IndexWithinInitPhaseShift */;\n // The init phase state must be always checked here as it may have been recursively updated.\n if (indexWithintInitPhase <\n (currentView[PREORDER_HOOK_FLAGS] >> 16 /* NumberOfInitHooksCalledShift */) &&\n (currentView[FLAGS] & 3 /* InitPhaseStateMask */) === initPhase) {\n currentView[FLAGS] += 2048 /* IndexWithinInitPhaseIncrementer */;\n hook.call(directive);\n }\n }\n else {\n hook.call(directive);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NO_PARENT_INJECTOR = -1;\n/**\n * Each injector is saved in 9 contiguous slots in `LView` and 9 contiguous slots in\n * `TView.data`. This allows us to store information about the current node's tokens (which\n * can be shared in `TView`) as well as the tokens of its ancestor nodes (which cannot be\n * shared, so they live in `LView`).\n *\n * Each of these slots (aside from the last slot) contains a bloom filter. This bloom filter\n * determines whether a directive is available on the associated node or not. This prevents us\n * from searching the directives array at this level unless it's probable the directive is in it.\n *\n * See: https://en.wikipedia.org/wiki/Bloom_filter for more about bloom filters.\n *\n * Because all injectors have been flattened into `LView` and `TViewData`, they cannot typed\n * using interfaces as they were previously. The start index of each `LInjector` and `TInjector`\n * will differ based on where it is flattened into the main array, so it's not possible to know\n * the indices ahead of time and save their types here. The interfaces are still included here\n * for documentation purposes.\n *\n * export interface LInjector extends Array {\n *\n * // Cumulative bloom for directive IDs 0-31 (IDs are % BLOOM_SIZE)\n * [0]: number;\n *\n * // Cumulative bloom for directive IDs 32-63\n * [1]: number;\n *\n * // Cumulative bloom for directive IDs 64-95\n * [2]: number;\n *\n * // Cumulative bloom for directive IDs 96-127\n * [3]: number;\n *\n * // Cumulative bloom for directive IDs 128-159\n * [4]: number;\n *\n * // Cumulative bloom for directive IDs 160 - 191\n * [5]: number;\n *\n * // Cumulative bloom for directive IDs 192 - 223\n * [6]: number;\n *\n * // Cumulative bloom for directive IDs 224 - 255\n * [7]: number;\n *\n * // We need to store a reference to the injector's parent so DI can keep looking up\n * // the injector tree until it finds the dependency it's looking for.\n * [PARENT_INJECTOR]: number;\n * }\n *\n * export interface TInjector extends Array {\n *\n * // Shared node bloom for directive IDs 0-31 (IDs are % BLOOM_SIZE)\n * [0]: number;\n *\n * // Shared node bloom for directive IDs 32-63\n * [1]: number;\n *\n * // Shared node bloom for directive IDs 64-95\n * [2]: number;\n *\n * // Shared node bloom for directive IDs 96-127\n * [3]: number;\n *\n * // Shared node bloom for directive IDs 128-159\n * [4]: number;\n *\n * // Shared node bloom for directive IDs 160 - 191\n * [5]: number;\n *\n * // Shared node bloom for directive IDs 192 - 223\n * [6]: number;\n *\n * // Shared node bloom for directive IDs 224 - 255\n * [7]: number;\n *\n * // Necessary to find directive indices for a particular node.\n * [TNODE]: TElementNode|TElementContainerNode|TContainerNode;\n * }\n */\n/**\n * Factory for creating instances of injectors in the NodeInjector.\n *\n * This factory is complicated by the fact that it can resolve `multi` factories as well.\n *\n * NOTE: Some of the fields are optional which means that this class has two hidden classes.\n * - One without `multi` support (most common)\n * - One with `multi` values, (rare).\n *\n * Since VMs can cache up to 4 inline hidden classes this is OK.\n *\n * - Single factory: Only `resolving` and `factory` is defined.\n * - `providers` factory: `componentProviders` is a number and `index = -1`.\n * - `viewProviders` factory: `componentProviders` is a number and `index` points to `providers`.\n */\nclass NodeInjectorFactory {\n constructor(\n /**\n * Factory to invoke in order to create a new instance.\n */\n factory, \n /**\n * Set to `true` if the token is declared in `viewProviders` (or if it is component).\n */\n isViewProvider, injectImplementation) {\n this.factory = factory;\n /**\n * Marker set to true during factory invocation to see if we get into recursive loop.\n * Recursive loop causes an error to be displayed.\n */\n this.resolving = false;\n ngDevMode && assertDefined(factory, 'Factory not specified');\n ngDevMode && assertEqual(typeof factory, 'function', 'Expected factory function.');\n this.canSeeViewProviders = isViewProvider;\n this.injectImpl = injectImplementation;\n }\n}\nfunction isFactory(obj) {\n return obj instanceof NodeInjectorFactory;\n}\n// Note: This hack is necessary so we don't erroneously get a circular dependency\n// failure based on types.\nconst unusedValueExportToPlacateAjd$3 = 1;\n\n/**\n * Converts `TNodeType` into human readable text.\n * Make sure this matches with `TNodeType`\n */\nfunction toTNodeTypeAsString(tNodeType) {\n let text = '';\n (tNodeType & 1 /* Text */) && (text += '|Text');\n (tNodeType & 2 /* Element */) && (text += '|Element');\n (tNodeType & 4 /* Container */) && (text += '|Container');\n (tNodeType & 8 /* ElementContainer */) && (text += '|ElementContainer');\n (tNodeType & 16 /* Projection */) && (text += '|Projection');\n (tNodeType & 32 /* Icu */) && (text += '|IcuContainer');\n (tNodeType & 64 /* Placeholder */) && (text += '|Placeholder');\n return text.length > 0 ? text.substring(1) : text;\n}\n// Note: This hack is necessary so we don't erroneously get a circular dependency\n// failure based on types.\nconst unusedValueExportToPlacateAjd$4 = 1;\n/**\n * Returns `true` if the `TNode` has a directive which has `@Input()` for `class` binding.\n *\n * ```\n *
\n * ```\n * and\n * ```\n * @Directive({\n * })\n * class MyDirective {\n * @Input()\n * class: string;\n * }\n * ```\n *\n * In the above case it is necessary to write the reconciled styling information into the\n * directive's input.\n *\n * @param tNode\n */\nfunction hasClassInput(tNode) {\n return (tNode.flags & 16 /* hasClassInput */) !== 0;\n}\n/**\n * Returns `true` if the `TNode` has a directive which has `@Input()` for `style` binding.\n *\n * ```\n *
\n * ```\n * and\n * ```\n * @Directive({\n * })\n * class MyDirective {\n * @Input()\n * class: string;\n * }\n * ```\n *\n * In the above case it is necessary to write the reconciled styling information into the\n * directive's input.\n *\n * @param tNode\n */\nfunction hasStyleInput(tNode) {\n return (tNode.flags & 32 /* hasStyleInput */) !== 0;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction assertTNodeType(tNode, expectedTypes, message) {\n assertDefined(tNode, 'should be called with a TNode');\n if ((tNode.type & expectedTypes) === 0) {\n throwError(message ||\n `Expected [${toTNodeTypeAsString(expectedTypes)}] but got ${toTNodeTypeAsString(tNode.type)}.`);\n }\n}\nfunction assertPureTNodeType(type) {\n if (!(type === 2 /* Element */ || //\n type === 1 /* Text */ || //\n type === 4 /* Container */ || //\n type === 8 /* ElementContainer */ || //\n type === 32 /* Icu */ || //\n type === 16 /* Projection */ || //\n type === 64 /* Placeholder */)) {\n throwError(`Expected TNodeType to have only a single type selected, but got ${toTNodeTypeAsString(type)}.`);\n }\n}\n\n/**\n * Assigns all attribute values to the provided element via the inferred renderer.\n *\n * This function accepts two forms of attribute entries:\n *\n * default: (key, value):\n * attrs = [key1, value1, key2, value2]\n *\n * namespaced: (NAMESPACE_MARKER, uri, name, value)\n * attrs = [NAMESPACE_MARKER, uri, name, value, NAMESPACE_MARKER, uri, name, value]\n *\n * The `attrs` array can contain a mix of both the default and namespaced entries.\n * The \"default\" values are set without a marker, but if the function comes across\n * a marker value then it will attempt to set a namespaced value. If the marker is\n * not of a namespaced value then the function will quit and return the index value\n * where it stopped during the iteration of the attrs array.\n *\n * See [AttributeMarker] to understand what the namespace marker value is.\n *\n * Note that this instruction does not support assigning style and class values to\n * an element. See `elementStart` and `elementHostAttrs` to learn how styling values\n * are applied to an element.\n * @param renderer The renderer to be used\n * @param native The element that the attributes will be assigned to\n * @param attrs The attribute array of values that will be assigned to the element\n * @returns the index value that was last accessed in the attributes array\n */\nfunction setUpAttributes(renderer, native, attrs) {\n const isProc = isProceduralRenderer(renderer);\n let i = 0;\n while (i < attrs.length) {\n const value = attrs[i];\n if (typeof value === 'number') {\n // only namespaces are supported. Other value types (such as style/class\n // entries) are not supported in this function.\n if (value !== 0 /* NamespaceURI */) {\n break;\n }\n // we just landed on the marker value ... therefore\n // we should skip to the next entry\n i++;\n const namespaceURI = attrs[i++];\n const attrName = attrs[i++];\n const attrVal = attrs[i++];\n ngDevMode && ngDevMode.rendererSetAttribute++;\n isProc ?\n renderer.setAttribute(native, attrName, attrVal, namespaceURI) :\n native.setAttributeNS(namespaceURI, attrName, attrVal);\n }\n else {\n // attrName is string;\n const attrName = value;\n const attrVal = attrs[++i];\n // Standard attributes\n ngDevMode && ngDevMode.rendererSetAttribute++;\n if (isAnimationProp(attrName)) {\n if (isProc) {\n renderer.setProperty(native, attrName, attrVal);\n }\n }\n else {\n isProc ?\n renderer.setAttribute(native, attrName, attrVal) :\n native.setAttribute(attrName, attrVal);\n }\n i++;\n }\n }\n // another piece of code may iterate over the same attributes array. Therefore\n // it may be helpful to return the exact spot where the attributes array exited\n // whether by running into an unsupported marker or if all the static values were\n // iterated over.\n return i;\n}\n/**\n * Test whether the given value is a marker that indicates that the following\n * attribute values in a `TAttributes` array are only the names of attributes,\n * and not name-value pairs.\n * @param marker The attribute marker to test.\n * @returns true if the marker is a \"name-only\" marker (e.g. `Bindings`, `Template` or `I18n`).\n */\nfunction isNameOnlyAttributeMarker(marker) {\n return marker === 3 /* Bindings */ || marker === 4 /* Template */ ||\n marker === 6 /* I18n */;\n}\nfunction isAnimationProp(name) {\n // Perf note: accessing charCodeAt to check for the first character of a string is faster as\n // compared to accessing a character at index 0 (ex. name[0]). The main reason for this is that\n // charCodeAt doesn't allocate memory to return a substring.\n return name.charCodeAt(0) === 64 /* AT_SIGN */;\n}\n/**\n * Merges `src` `TAttributes` into `dst` `TAttributes` removing any duplicates in the process.\n *\n * This merge function keeps the order of attrs same.\n *\n * @param dst Location of where the merged `TAttributes` should end up.\n * @param src `TAttributes` which should be appended to `dst`\n */\nfunction mergeHostAttrs(dst, src) {\n if (src === null || src.length === 0) {\n // do nothing\n }\n else if (dst === null || dst.length === 0) {\n // We have source, but dst is empty, just make a copy.\n dst = src.slice();\n }\n else {\n let srcMarker = -1 /* ImplicitAttributes */;\n for (let i = 0; i < src.length; i++) {\n const item = src[i];\n if (typeof item === 'number') {\n srcMarker = item;\n }\n else {\n if (srcMarker === 0 /* NamespaceURI */) {\n // Case where we need to consume `key1`, `key2`, `value` items.\n }\n else if (srcMarker === -1 /* ImplicitAttributes */ ||\n srcMarker === 2 /* Styles */) {\n // Case where we have to consume `key1` and `value` only.\n mergeHostAttribute(dst, srcMarker, item, null, src[++i]);\n }\n else {\n // Case where we have to consume `key1` only.\n mergeHostAttribute(dst, srcMarker, item, null, null);\n }\n }\n }\n }\n return dst;\n}\n/**\n * Append `key`/`value` to existing `TAttributes` taking region marker and duplicates into account.\n *\n * @param dst `TAttributes` to append to.\n * @param marker Region where the `key`/`value` should be added.\n * @param key1 Key to add to `TAttributes`\n * @param key2 Key to add to `TAttributes` (in case of `AttributeMarker.NamespaceURI`)\n * @param value Value to add or to overwrite to `TAttributes` Only used if `marker` is not Class.\n */\nfunction mergeHostAttribute(dst, marker, key1, key2, value) {\n let i = 0;\n // Assume that new markers will be inserted at the end.\n let markerInsertPosition = dst.length;\n // scan until correct type.\n if (marker === -1 /* ImplicitAttributes */) {\n markerInsertPosition = -1;\n }\n else {\n while (i < dst.length) {\n const dstValue = dst[i++];\n if (typeof dstValue === 'number') {\n if (dstValue === marker) {\n markerInsertPosition = -1;\n break;\n }\n else if (dstValue > marker) {\n // We need to save this as we want the markers to be inserted in specific order.\n markerInsertPosition = i - 1;\n break;\n }\n }\n }\n }\n // search until you find place of insertion\n while (i < dst.length) {\n const item = dst[i];\n if (typeof item === 'number') {\n // since `i` started as the index after the marker, we did not find it if we are at the next\n // marker\n break;\n }\n else if (item === key1) {\n // We already have same token\n if (key2 === null) {\n if (value !== null) {\n dst[i + 1] = value;\n }\n return;\n }\n else if (key2 === dst[i + 1]) {\n dst[i + 2] = value;\n return;\n }\n }\n // Increment counter.\n i++;\n if (key2 !== null)\n i++;\n if (value !== null)\n i++;\n }\n // insert at location.\n if (markerInsertPosition !== -1) {\n dst.splice(markerInsertPosition, 0, marker);\n i = markerInsertPosition + 1;\n }\n dst.splice(i++, 0, key1);\n if (key2 !== null) {\n dst.splice(i++, 0, key2);\n }\n if (value !== null) {\n dst.splice(i++, 0, value);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/// Parent Injector Utils ///////////////////////////////////////////////////////////////\nfunction hasParentInjector(parentLocation) {\n return parentLocation !== NO_PARENT_INJECTOR;\n}\nfunction getParentInjectorIndex(parentLocation) {\n ngDevMode && assertNumber(parentLocation, 'Number expected');\n ngDevMode && assertNotEqual(parentLocation, -1, 'Not a valid state.');\n const parentInjectorIndex = parentLocation & 32767 /* InjectorIndexMask */;\n ngDevMode &&\n assertGreaterThan(parentInjectorIndex, HEADER_OFFSET, 'Parent injector must be pointing past HEADER_OFFSET.');\n return parentLocation & 32767 /* InjectorIndexMask */;\n}\nfunction getParentInjectorViewOffset(parentLocation) {\n return parentLocation >> 16 /* ViewOffsetShift */;\n}\n/**\n * Unwraps a parent injector location number to find the view offset from the current injector,\n * then walks up the declaration view tree until the view is found that contains the parent\n * injector.\n *\n * @param location The location of the parent injector, which contains the view offset\n * @param startView The LView instance from which to start walking up the view tree\n * @returns The LView instance that contains the parent injector\n */\nfunction getParentInjectorView(location, startView) {\n let viewOffset = getParentInjectorViewOffset(location);\n let parentView = startView;\n // For most cases, the parent injector can be found on the host node (e.g. for component\n // or container), but we must keep the loop here to support the rarer case of deeply nested\n // tags or inline views, where the parent injector might live many views\n // above the child injector.\n while (viewOffset > 0) {\n parentView = parentView[DECLARATION_VIEW];\n viewOffset--;\n }\n return parentView;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Defines if the call to `inject` should include `viewProviders` in its resolution.\n *\n * This is set to true when we try to instantiate a component. This value is reset in\n * `getNodeInjectable` to a value which matches the declaration location of the token about to be\n * instantiated. This is done so that if we are injecting a token which was declared outside of\n * `viewProviders` we don't accidentally pull `viewProviders` in.\n *\n * Example:\n *\n * ```\n * @Injectable()\n * class MyService {\n * constructor(public value: String) {}\n * }\n *\n * @Component({\n * providers: [\n * MyService,\n * {provide: String, value: 'providers' }\n * ]\n * viewProviders: [\n * {provide: String, value: 'viewProviders'}\n * ]\n * })\n * class MyComponent {\n * constructor(myService: MyService, value: String) {\n * // We expect that Component can see into `viewProviders`.\n * expect(value).toEqual('viewProviders');\n * // `MyService` was not declared in `viewProviders` hence it can't see it.\n * expect(myService.value).toEqual('providers');\n * }\n * }\n *\n * ```\n */\nlet includeViewProviders = true;\nfunction setIncludeViewProviders(v) {\n const oldValue = includeViewProviders;\n includeViewProviders = v;\n return oldValue;\n}\n/**\n * The number of slots in each bloom filter (used by DI). The larger this number, the fewer\n * directives that will share slots, and thus, the fewer false positives when checking for\n * the existence of a directive.\n */\nconst BLOOM_SIZE = 256;\nconst BLOOM_MASK = BLOOM_SIZE - 1;\n/**\n * The number of bits that is represented by a single bloom bucket. JS bit operations are 32 bits,\n * so each bucket represents 32 distinct tokens which accounts for log2(32) = 5 bits of a bloom hash\n * number.\n */\nconst BLOOM_BUCKET_BITS = 5;\n/** Counter used to generate unique IDs for directives. */\nlet nextNgElementId = 0;\n/**\n * Registers this directive as present in its node's injector by flipping the directive's\n * corresponding bit in the injector's bloom filter.\n *\n * @param injectorIndex The index of the node injector where this token should be registered\n * @param tView The TView for the injector's bloom filters\n * @param type The directive token to register\n */\nfunction bloomAdd(injectorIndex, tView, type) {\n ngDevMode && assertEqual(tView.firstCreatePass, true, 'expected firstCreatePass to be true');\n let id;\n if (typeof type === 'string') {\n id = type.charCodeAt(0) || 0;\n }\n else if (type.hasOwnProperty(NG_ELEMENT_ID)) {\n id = type[NG_ELEMENT_ID];\n }\n // Set a unique ID on the directive type, so if something tries to inject the directive,\n // we can easily retrieve the ID and hash it into the bloom bit that should be checked.\n if (id == null) {\n id = type[NG_ELEMENT_ID] = nextNgElementId++;\n }\n // We only have BLOOM_SIZE (256) slots in our bloom filter (8 buckets * 32 bits each),\n // so all unique IDs must be modulo-ed into a number from 0 - 255 to fit into the filter.\n const bloomHash = id & BLOOM_MASK;\n // Create a mask that targets the specific bit associated with the directive.\n // JS bit operations are 32 bits, so this will be a number between 2^0 and 2^31, corresponding\n // to bit positions 0 - 31 in a 32 bit integer.\n const mask = 1 << bloomHash;\n // Each bloom bucket in `tData` represents `BLOOM_BUCKET_BITS` number of bits of `bloomHash`.\n // Any bits in `bloomHash` beyond `BLOOM_BUCKET_BITS` indicate the bucket offset that the mask\n // should be written to.\n tView.data[injectorIndex + (bloomHash >> BLOOM_BUCKET_BITS)] |= mask;\n}\n/**\n * Creates (or gets an existing) injector for a given element or container.\n *\n * @param tNode for which an injector should be retrieved / created.\n * @param lView View where the node is stored\n * @returns Node injector\n */\nfunction getOrCreateNodeInjectorForNode(tNode, lView) {\n const existingInjectorIndex = getInjectorIndex(tNode, lView);\n if (existingInjectorIndex !== -1) {\n return existingInjectorIndex;\n }\n const tView = lView[TVIEW];\n if (tView.firstCreatePass) {\n tNode.injectorIndex = lView.length;\n insertBloom(tView.data, tNode); // foundation for node bloom\n insertBloom(lView, null); // foundation for cumulative bloom\n insertBloom(tView.blueprint, null);\n }\n const parentLoc = getParentInjectorLocation(tNode, lView);\n const injectorIndex = tNode.injectorIndex;\n // If a parent injector can't be found, its location is set to -1.\n // In that case, we don't need to set up a cumulative bloom\n if (hasParentInjector(parentLoc)) {\n const parentIndex = getParentInjectorIndex(parentLoc);\n const parentLView = getParentInjectorView(parentLoc, lView);\n const parentData = parentLView[TVIEW].data;\n // Creates a cumulative bloom filter that merges the parent's bloom filter\n // and its own cumulative bloom (which contains tokens for all ancestors)\n for (let i = 0; i < 8 /* BLOOM_SIZE */; i++) {\n lView[injectorIndex + i] = parentLView[parentIndex + i] | parentData[parentIndex + i];\n }\n }\n lView[injectorIndex + 8 /* PARENT */] = parentLoc;\n return injectorIndex;\n}\nfunction insertBloom(arr, footer) {\n arr.push(0, 0, 0, 0, 0, 0, 0, 0, footer);\n}\nfunction getInjectorIndex(tNode, lView) {\n if (tNode.injectorIndex === -1 ||\n // If the injector index is the same as its parent's injector index, then the index has been\n // copied down from the parent node. No injector has been created yet on this node.\n (tNode.parent && tNode.parent.injectorIndex === tNode.injectorIndex) ||\n // After the first template pass, the injector index might exist but the parent values\n // might not have been calculated yet for this instance\n lView[tNode.injectorIndex + 8 /* PARENT */] === null) {\n return -1;\n }\n else {\n ngDevMode && assertIndexInRange(lView, tNode.injectorIndex);\n return tNode.injectorIndex;\n }\n}\n/**\n * Finds the index of the parent injector, with a view offset if applicable. Used to set the\n * parent injector initially.\n *\n * @returns Returns a number that is the combination of the number of LViews that we have to go up\n * to find the LView containing the parent inject AND the index of the injector within that LView.\n */\nfunction getParentInjectorLocation(tNode, lView) {\n if (tNode.parent && tNode.parent.injectorIndex !== -1) {\n // If we have a parent `TNode` and there is an injector associated with it we are done, because\n // the parent injector is within the current `LView`.\n return tNode.parent.injectorIndex; // ViewOffset is 0\n }\n // When parent injector location is computed it may be outside of the current view. (ie it could\n // be pointing to a declared parent location). This variable stores number of declaration parents\n // we need to walk up in order to find the parent injector location.\n let declarationViewOffset = 0;\n let parentTNode = null;\n let lViewCursor = lView;\n // The parent injector is not in the current `LView`. We will have to walk the declared parent\n // `LView` hierarchy and look for it. If we walk of the top, that means that there is no parent\n // `NodeInjector`.\n while (lViewCursor !== null) {\n // First determine the `parentTNode` location. The parent pointer differs based on `TView.type`.\n const tView = lViewCursor[TVIEW];\n const tViewType = tView.type;\n if (tViewType === 2 /* Embedded */) {\n ngDevMode &&\n assertDefined(tView.declTNode, 'Embedded TNodes should have declaration parents.');\n parentTNode = tView.declTNode;\n }\n else if (tViewType === 1 /* Component */) {\n // Components don't have `TView.declTNode` because each instance of component could be\n // inserted in different location, hence `TView.declTNode` is meaningless.\n parentTNode = lViewCursor[T_HOST];\n }\n else {\n ngDevMode && assertEqual(tView.type, 0 /* Root */, 'Root type expected');\n parentTNode = null;\n }\n if (parentTNode === null) {\n // If we have no parent, than we are done.\n return NO_PARENT_INJECTOR;\n }\n ngDevMode && parentTNode && assertTNodeForLView(parentTNode, lViewCursor[DECLARATION_VIEW]);\n // Every iteration of the loop requires that we go to the declared parent.\n declarationViewOffset++;\n lViewCursor = lViewCursor[DECLARATION_VIEW];\n if (parentTNode.injectorIndex !== -1) {\n // We found a NodeInjector which points to something.\n return (parentTNode.injectorIndex |\n (declarationViewOffset << 16 /* ViewOffsetShift */));\n }\n }\n return NO_PARENT_INJECTOR;\n}\n/**\n * Makes a type or an injection token public to the DI system by adding it to an\n * injector's bloom filter.\n *\n * @param di The node injector in which a directive will be added\n * @param token The type or the injection token to be made public\n */\nfunction diPublicInInjector(injectorIndex, tView, token) {\n bloomAdd(injectorIndex, tView, token);\n}\n/**\n * Inject static attribute value into directive constructor.\n *\n * This method is used with `factory` functions which are generated as part of\n * `defineDirective` or `defineComponent`. The method retrieves the static value\n * of an attribute. (Dynamic attributes are not supported since they are not resolved\n * at the time of injection and can change over time.)\n *\n * # Example\n * Given:\n * ```\n * @Component(...)\n * class MyComponent {\n * constructor(@Attribute('title') title: string) { ... }\n * }\n * ```\n * When instantiated with\n * ```\n * \n * ```\n *\n * Then factory method generated is:\n * ```\n * MyComponent.ɵcmp = defineComponent({\n * factory: () => new MyComponent(injectAttribute('title'))\n * ...\n * })\n * ```\n *\n * @publicApi\n */\nfunction injectAttributeImpl(tNode, attrNameToInject) {\n ngDevMode && assertTNodeType(tNode, 12 /* AnyContainer */ | 3 /* AnyRNode */);\n ngDevMode && assertDefined(tNode, 'expecting tNode');\n if (attrNameToInject === 'class') {\n return tNode.classes;\n }\n if (attrNameToInject === 'style') {\n return tNode.styles;\n }\n const attrs = tNode.attrs;\n if (attrs) {\n const attrsLength = attrs.length;\n let i = 0;\n while (i < attrsLength) {\n const value = attrs[i];\n // If we hit a `Bindings` or `Template` marker then we are done.\n if (isNameOnlyAttributeMarker(value))\n break;\n // Skip namespaced attributes\n if (value === 0 /* NamespaceURI */) {\n // we skip the next two values\n // as namespaced attributes looks like\n // [..., AttributeMarker.NamespaceURI, 'http://someuri.com/test', 'test:exist',\n // 'existValue', ...]\n i = i + 2;\n }\n else if (typeof value === 'number') {\n // Skip to the first value of the marked attribute.\n i++;\n while (i < attrsLength && typeof attrs[i] === 'string') {\n i++;\n }\n }\n else if (value === attrNameToInject) {\n return attrs[i + 1];\n }\n else {\n i = i + 2;\n }\n }\n }\n return null;\n}\nfunction notFoundValueOrThrow(notFoundValue, token, flags) {\n if (flags & InjectFlags.Optional) {\n return notFoundValue;\n }\n else {\n throwProviderNotFoundError(token, 'NodeInjector');\n }\n}\n/**\n * Returns the value associated to the given token from the ModuleInjector or throws exception\n *\n * @param lView The `LView` that contains the `tNode`\n * @param token The token to look for\n * @param flags Injection flags\n * @param notFoundValue The value to return when the injection flags is `InjectFlags.Optional`\n * @returns the value from the injector or throws an exception\n */\nfunction lookupTokenUsingModuleInjector(lView, token, flags, notFoundValue) {\n if (flags & InjectFlags.Optional && notFoundValue === undefined) {\n // This must be set or the NullInjector will throw for optional deps\n notFoundValue = null;\n }\n if ((flags & (InjectFlags.Self | InjectFlags.Host)) === 0) {\n const moduleInjector = lView[INJECTOR];\n // switch to `injectInjectorOnly` implementation for module injector, since module injector\n // should not have access to Component/Directive DI scope (that may happen through\n // `directiveInject` implementation)\n const previousInjectImplementation = setInjectImplementation(undefined);\n try {\n if (moduleInjector) {\n return moduleInjector.get(token, notFoundValue, flags & InjectFlags.Optional);\n }\n else {\n return injectRootLimpMode(token, notFoundValue, flags & InjectFlags.Optional);\n }\n }\n finally {\n setInjectImplementation(previousInjectImplementation);\n }\n }\n return notFoundValueOrThrow(notFoundValue, token, flags);\n}\n/**\n * Returns the value associated to the given token from the NodeInjectors => ModuleInjector.\n *\n * Look for the injector providing the token by walking up the node injector tree and then\n * the module injector tree.\n *\n * This function patches `token` with `__NG_ELEMENT_ID__` which contains the id for the bloom\n * filter. `-1` is reserved for injecting `Injector` (implemented by `NodeInjector`)\n *\n * @param tNode The Node where the search for the injector should start\n * @param lView The `LView` that contains the `tNode`\n * @param token The token to look for\n * @param flags Injection flags\n * @param notFoundValue The value to return when the injection flags is `InjectFlags.Optional`\n * @returns the value from the injector, `null` when not found, or `notFoundValue` if provided\n */\nfunction getOrCreateInjectable(tNode, lView, token, flags = InjectFlags.Default, notFoundValue) {\n if (tNode !== null) {\n const bloomHash = bloomHashBitOrFactory(token);\n // If the ID stored here is a function, this is a special object like ElementRef or TemplateRef\n // so just call the factory function to create it.\n if (typeof bloomHash === 'function') {\n if (!enterDI(lView, tNode, flags)) {\n // Failed to enter DI, try module injector instead. If a token is injected with the @Host\n // flag, the module injector is not searched for that token in Ivy.\n return (flags & InjectFlags.Host) ?\n notFoundValueOrThrow(notFoundValue, token, flags) :\n lookupTokenUsingModuleInjector(lView, token, flags, notFoundValue);\n }\n try {\n const value = bloomHash();\n if (value == null && !(flags & InjectFlags.Optional)) {\n throwProviderNotFoundError(token);\n }\n else {\n return value;\n }\n }\n finally {\n leaveDI();\n }\n }\n else if (typeof bloomHash === 'number') {\n // A reference to the previous injector TView that was found while climbing the element\n // injector tree. This is used to know if viewProviders can be accessed on the current\n // injector.\n let previousTView = null;\n let injectorIndex = getInjectorIndex(tNode, lView);\n let parentLocation = NO_PARENT_INJECTOR;\n let hostTElementNode = flags & InjectFlags.Host ? lView[DECLARATION_COMPONENT_VIEW][T_HOST] : null;\n // If we should skip this injector, or if there is no injector on this node, start by\n // searching the parent injector.\n if (injectorIndex === -1 || flags & InjectFlags.SkipSelf) {\n parentLocation = injectorIndex === -1 ? getParentInjectorLocation(tNode, lView) :\n lView[injectorIndex + 8 /* PARENT */];\n if (parentLocation === NO_PARENT_INJECTOR || !shouldSearchParent(flags, false)) {\n injectorIndex = -1;\n }\n else {\n previousTView = lView[TVIEW];\n injectorIndex = getParentInjectorIndex(parentLocation);\n lView = getParentInjectorView(parentLocation, lView);\n }\n }\n // Traverse up the injector tree until we find a potential match or until we know there\n // *isn't* a match.\n while (injectorIndex !== -1) {\n ngDevMode && assertNodeInjector(lView, injectorIndex);\n // Check the current injector. If it matches, see if it contains token.\n const tView = lView[TVIEW];\n ngDevMode &&\n assertTNodeForLView(tView.data[injectorIndex + 8 /* TNODE */], lView);\n if (bloomHasToken(bloomHash, injectorIndex, tView.data)) {\n // At this point, we have an injector which *may* contain the token, so we step through\n // the providers and directives associated with the injector's corresponding node to get\n // the instance.\n const instance = searchTokensOnInjector(injectorIndex, lView, token, previousTView, flags, hostTElementNode);\n if (instance !== NOT_FOUND) {\n return instance;\n }\n }\n parentLocation = lView[injectorIndex + 8 /* PARENT */];\n if (parentLocation !== NO_PARENT_INJECTOR &&\n shouldSearchParent(flags, lView[TVIEW].data[injectorIndex + 8 /* TNODE */] === hostTElementNode) &&\n bloomHasToken(bloomHash, injectorIndex, lView)) {\n // The def wasn't found anywhere on this node, so it was a false positive.\n // Traverse up the tree and continue searching.\n previousTView = tView;\n injectorIndex = getParentInjectorIndex(parentLocation);\n lView = getParentInjectorView(parentLocation, lView);\n }\n else {\n // If we should not search parent OR If the ancestor bloom filter value does not have the\n // bit corresponding to the directive we can give up on traversing up to find the specific\n // injector.\n injectorIndex = -1;\n }\n }\n }\n }\n return lookupTokenUsingModuleInjector(lView, token, flags, notFoundValue);\n}\nconst NOT_FOUND = {};\nfunction createNodeInjector() {\n return new NodeInjector(getCurrentTNode(), getLView());\n}\nfunction searchTokensOnInjector(injectorIndex, lView, token, previousTView, flags, hostTElementNode) {\n const currentTView = lView[TVIEW];\n const tNode = currentTView.data[injectorIndex + 8 /* TNODE */];\n // First, we need to determine if view providers can be accessed by the starting element.\n // There are two possibilities\n const canAccessViewProviders = previousTView == null ?\n // 1) This is the first invocation `previousTView == null` which means that we are at the\n // `TNode` of where injector is starting to look. In such a case the only time we are allowed\n // to look into the ViewProviders is if:\n // - we are on a component\n // - AND the injector set `includeViewProviders` to true (implying that the token can see\n // ViewProviders because it is the Component or a Service which itself was declared in\n // ViewProviders)\n (isComponentHost(tNode) && includeViewProviders) :\n // 2) `previousTView != null` which means that we are now walking across the parent nodes.\n // In such a case we are only allowed to look into the ViewProviders if:\n // - We just crossed from child View to Parent View `previousTView != currentTView`\n // - AND the parent TNode is an Element.\n // This means that we just came from the Component's View and therefore are allowed to see\n // into the ViewProviders.\n (previousTView != currentTView && ((tNode.type & 3 /* AnyRNode */) !== 0));\n // This special case happens when there is a @host on the inject and when we are searching\n // on the host element node.\n const isHostSpecialCase = (flags & InjectFlags.Host) && hostTElementNode === tNode;\n const injectableIdx = locateDirectiveOrProvider(tNode, currentTView, token, canAccessViewProviders, isHostSpecialCase);\n if (injectableIdx !== null) {\n return getNodeInjectable(lView, currentTView, injectableIdx, tNode);\n }\n else {\n return NOT_FOUND;\n }\n}\n/**\n * Searches for the given token among the node's directives and providers.\n *\n * @param tNode TNode on which directives are present.\n * @param tView The tView we are currently processing\n * @param token Provider token or type of a directive to look for.\n * @param canAccessViewProviders Whether view providers should be considered.\n * @param isHostSpecialCase Whether the host special case applies.\n * @returns Index of a found directive or provider, or null when none found.\n */\nfunction locateDirectiveOrProvider(tNode, tView, token, canAccessViewProviders, isHostSpecialCase) {\n const nodeProviderIndexes = tNode.providerIndexes;\n const tInjectables = tView.data;\n const injectablesStart = nodeProviderIndexes & 1048575 /* ProvidersStartIndexMask */;\n const directivesStart = tNode.directiveStart;\n const directiveEnd = tNode.directiveEnd;\n const cptViewProvidersCount = nodeProviderIndexes >> 20 /* CptViewProvidersCountShift */;\n const startingIndex = canAccessViewProviders ? injectablesStart : injectablesStart + cptViewProvidersCount;\n // When the host special case applies, only the viewProviders and the component are visible\n const endIndex = isHostSpecialCase ? injectablesStart + cptViewProvidersCount : directiveEnd;\n for (let i = startingIndex; i < endIndex; i++) {\n const providerTokenOrDef = tInjectables[i];\n if (i < directivesStart && token === providerTokenOrDef ||\n i >= directivesStart && providerTokenOrDef.type === token) {\n return i;\n }\n }\n if (isHostSpecialCase) {\n const dirDef = tInjectables[directivesStart];\n if (dirDef && isComponentDef(dirDef) && dirDef.type === token) {\n return directivesStart;\n }\n }\n return null;\n}\n/**\n * Retrieve or instantiate the injectable from the `LView` at particular `index`.\n *\n * This function checks to see if the value has already been instantiated and if so returns the\n * cached `injectable`. Otherwise if it detects that the value is still a factory it\n * instantiates the `injectable` and caches the value.\n */\nfunction getNodeInjectable(lView, tView, index, tNode) {\n let value = lView[index];\n const tData = tView.data;\n if (isFactory(value)) {\n const factory = value;\n if (factory.resolving) {\n throwCyclicDependencyError(stringifyForError(tData[index]));\n }\n const previousIncludeViewProviders = setIncludeViewProviders(factory.canSeeViewProviders);\n factory.resolving = true;\n const previousInjectImplementation = factory.injectImpl ? setInjectImplementation(factory.injectImpl) : null;\n const success = enterDI(lView, tNode, InjectFlags.Default);\n ngDevMode &&\n assertEqual(success, true, 'Because flags do not contain \\`SkipSelf\\' we expect this to always succeed.');\n try {\n value = lView[index] = factory.factory(undefined, tData, lView, tNode);\n // This code path is hit for both directives and providers.\n // For perf reasons, we want to avoid searching for hooks on providers.\n // It does no harm to try (the hooks just won't exist), but the extra\n // checks are unnecessary and this is a hot path. So we check to see\n // if the index of the dependency is in the directive range for this\n // tNode. If it's not, we know it's a provider and skip hook registration.\n if (tView.firstCreatePass && index >= tNode.directiveStart) {\n ngDevMode && assertDirectiveDef(tData[index]);\n registerPreOrderHooks(index, tData[index], tView);\n }\n }\n finally {\n previousInjectImplementation !== null &&\n setInjectImplementation(previousInjectImplementation);\n setIncludeViewProviders(previousIncludeViewProviders);\n factory.resolving = false;\n leaveDI();\n }\n }\n return value;\n}\n/**\n * Returns the bit in an injector's bloom filter that should be used to determine whether or not\n * the directive might be provided by the injector.\n *\n * When a directive is public, it is added to the bloom filter and given a unique ID that can be\n * retrieved on the Type. When the directive isn't public or the token is not a directive `null`\n * is returned as the node injector can not possibly provide that token.\n *\n * @param token the injection token\n * @returns the matching bit to check in the bloom filter or `null` if the token is not known.\n * When the returned value is negative then it represents special values such as `Injector`.\n */\nfunction bloomHashBitOrFactory(token) {\n ngDevMode && assertDefined(token, 'token must be defined');\n if (typeof token === 'string') {\n return token.charCodeAt(0) || 0;\n }\n const tokenId = \n // First check with `hasOwnProperty` so we don't get an inherited ID.\n token.hasOwnProperty(NG_ELEMENT_ID) ? token[NG_ELEMENT_ID] : undefined;\n // Negative token IDs are used for special objects such as `Injector`\n if (typeof tokenId === 'number') {\n if (tokenId >= 0) {\n return tokenId & BLOOM_MASK;\n }\n else {\n ngDevMode &&\n assertEqual(tokenId, -1 /* Injector */, 'Expecting to get Special Injector Id');\n return createNodeInjector;\n }\n }\n else {\n return tokenId;\n }\n}\nfunction bloomHasToken(bloomHash, injectorIndex, injectorView) {\n // Create a mask that targets the specific bit associated with the directive we're looking for.\n // JS bit operations are 32 bits, so this will be a number between 2^0 and 2^31, corresponding\n // to bit positions 0 - 31 in a 32 bit integer.\n const mask = 1 << bloomHash;\n // Each bloom bucket in `injectorView` represents `BLOOM_BUCKET_BITS` number of bits of\n // `bloomHash`. Any bits in `bloomHash` beyond `BLOOM_BUCKET_BITS` indicate the bucket offset\n // that should be used.\n const value = injectorView[injectorIndex + (bloomHash >> BLOOM_BUCKET_BITS)];\n // If the bloom filter value has the bit corresponding to the directive's bloomBit flipped on,\n // this injector is a potential match.\n return !!(value & mask);\n}\n/** Returns true if flags prevent parent injector from being searched for tokens */\nfunction shouldSearchParent(flags, isFirstHostTNode) {\n return !(flags & InjectFlags.Self) && !(flags & InjectFlags.Host && isFirstHostTNode);\n}\nclass NodeInjector {\n constructor(_tNode, _lView) {\n this._tNode = _tNode;\n this._lView = _lView;\n }\n get(token, notFoundValue) {\n return getOrCreateInjectable(this._tNode, this._lView, token, undefined, notFoundValue);\n }\n}\n/**\n * @codeGenApi\n */\nfunction ɵɵgetInheritedFactory(type) {\n return noSideEffects(() => {\n const ownConstructor = type.prototype.constructor;\n const ownFactory = ownConstructor[NG_FACTORY_DEF] || getFactoryOf(ownConstructor);\n const objectPrototype = Object.prototype;\n let parent = Object.getPrototypeOf(type.prototype).constructor;\n // Go up the prototype until we hit `Object`.\n while (parent && parent !== objectPrototype) {\n const factory = parent[NG_FACTORY_DEF] || getFactoryOf(parent);\n // If we hit something that has a factory and the factory isn't the same as the type,\n // we've found the inherited factory. Note the check that the factory isn't the type's\n // own factory is redundant in most cases, but if the user has custom decorators on the\n // class, this lookup will start one level down in the prototype chain, causing us to\n // find the own factory first and potentially triggering an infinite loop downstream.\n if (factory && factory !== ownFactory) {\n return factory;\n }\n parent = Object.getPrototypeOf(parent);\n }\n // There is no factory defined. Either this was improper usage of inheritance\n // (no Angular decorator on the superclass) or there is no constructor at all\n // in the inheritance chain. Since the two cases cannot be distinguished, the\n // latter has to be assumed.\n return t => new t();\n });\n}\nfunction getFactoryOf(type) {\n if (isForwardRef(type)) {\n return () => {\n const factory = getFactoryOf(resolveForwardRef(type));\n return factory && factory();\n };\n }\n return getFactoryDef(type);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Facade for the attribute injection from DI.\n *\n * @codeGenApi\n */\nfunction ɵɵinjectAttribute(attrNameToInject) {\n return injectAttributeImpl(getCurrentTNode(), attrNameToInject);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ANNOTATIONS = '__annotations__';\nconst PARAMETERS = '__parameters__';\nconst PROP_METADATA = '__prop__metadata__';\n/**\n * @suppress {globalThis}\n */\nfunction makeDecorator(name, props, parentClass, additionalProcessing, typeFn) {\n return noSideEffects(() => {\n const metaCtor = makeMetadataCtor(props);\n function DecoratorFactory(...args) {\n if (this instanceof DecoratorFactory) {\n metaCtor.call(this, ...args);\n return this;\n }\n const annotationInstance = new DecoratorFactory(...args);\n return function TypeDecorator(cls) {\n if (typeFn)\n typeFn(cls, ...args);\n // Use of Object.defineProperty is important since it creates non-enumerable property which\n // prevents the property is copied during subclassing.\n const annotations = cls.hasOwnProperty(ANNOTATIONS) ?\n cls[ANNOTATIONS] :\n Object.defineProperty(cls, ANNOTATIONS, { value: [] })[ANNOTATIONS];\n annotations.push(annotationInstance);\n if (additionalProcessing)\n additionalProcessing(cls);\n return cls;\n };\n }\n if (parentClass) {\n DecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n DecoratorFactory.prototype.ngMetadataName = name;\n DecoratorFactory.annotationCls = DecoratorFactory;\n return DecoratorFactory;\n });\n}\nfunction makeMetadataCtor(props) {\n return function ctor(...args) {\n if (props) {\n const values = props(...args);\n for (const propName in values) {\n this[propName] = values[propName];\n }\n }\n };\n}\nfunction makeParamDecorator(name, props, parentClass) {\n return noSideEffects(() => {\n const metaCtor = makeMetadataCtor(props);\n function ParamDecoratorFactory(...args) {\n if (this instanceof ParamDecoratorFactory) {\n metaCtor.apply(this, args);\n return this;\n }\n const annotationInstance = new ParamDecoratorFactory(...args);\n ParamDecorator.annotation = annotationInstance;\n return ParamDecorator;\n function ParamDecorator(cls, unusedKey, index) {\n // Use of Object.defineProperty is important since it creates non-enumerable property which\n // prevents the property is copied during subclassing.\n const parameters = cls.hasOwnProperty(PARAMETERS) ?\n cls[PARAMETERS] :\n Object.defineProperty(cls, PARAMETERS, { value: [] })[PARAMETERS];\n // there might be gaps if some in between parameters do not have annotations.\n // we pad with nulls.\n while (parameters.length <= index) {\n parameters.push(null);\n }\n (parameters[index] = parameters[index] || []).push(annotationInstance);\n return cls;\n }\n }\n if (parentClass) {\n ParamDecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n ParamDecoratorFactory.prototype.ngMetadataName = name;\n ParamDecoratorFactory.annotationCls = ParamDecoratorFactory;\n return ParamDecoratorFactory;\n });\n}\nfunction makePropDecorator(name, props, parentClass, additionalProcessing) {\n return noSideEffects(() => {\n const metaCtor = makeMetadataCtor(props);\n function PropDecoratorFactory(...args) {\n if (this instanceof PropDecoratorFactory) {\n metaCtor.apply(this, args);\n return this;\n }\n const decoratorInstance = new PropDecoratorFactory(...args);\n function PropDecorator(target, name) {\n const constructor = target.constructor;\n // Use of Object.defineProperty is important because it creates a non-enumerable property\n // which prevents the property from being copied during subclassing.\n const meta = constructor.hasOwnProperty(PROP_METADATA) ?\n constructor[PROP_METADATA] :\n Object.defineProperty(constructor, PROP_METADATA, { value: {} })[PROP_METADATA];\n meta[name] = meta.hasOwnProperty(name) && meta[name] || [];\n meta[name].unshift(decoratorInstance);\n if (additionalProcessing)\n additionalProcessing(target, name, ...args);\n }\n return PropDecorator;\n }\n if (parentClass) {\n PropDecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n PropDecoratorFactory.prototype.ngMetadataName = name;\n PropDecoratorFactory.annotationCls = PropDecoratorFactory;\n return PropDecoratorFactory;\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction CREATE_ATTRIBUTE_DECORATOR__PRE_R3__() {\n return makeParamDecorator('Attribute', (attributeName) => ({ attributeName }));\n}\nfunction CREATE_ATTRIBUTE_DECORATOR__POST_R3__() {\n return makeParamDecorator('Attribute', (attributeName) => ({ attributeName, __NG_ELEMENT_ID__: () => ɵɵinjectAttribute(attributeName) }));\n}\nconst CREATE_ATTRIBUTE_DECORATOR_IMPL = CREATE_ATTRIBUTE_DECORATOR__POST_R3__;\n/**\n * Attribute decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst Attribute = CREATE_ATTRIBUTE_DECORATOR_IMPL();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Creates a token that can be used in a DI Provider.\n *\n * Use an `InjectionToken` whenever the type you are injecting is not reified (does not have a\n * runtime representation) such as when injecting an interface, callable type, array or\n * parameterized type.\n *\n * `InjectionToken` is parameterized on `T` which is the type of object which will be returned by\n * the `Injector`. This provides additional level of type safety.\n *\n * ```\n * interface MyInterface {...}\n * var myInterface = injector.get(new InjectionToken('SomeToken'));\n * // myInterface is inferred to be MyInterface.\n * ```\n *\n * When creating an `InjectionToken`, you can optionally specify a factory function which returns\n * (possibly by creating) a default value of the parameterized type `T`. This sets up the\n * `InjectionToken` using this factory as a provider as if it was defined explicitly in the\n * application's root injector. If the factory function, which takes zero arguments, needs to inject\n * dependencies, it can do so using the `inject` function. See below for an example.\n *\n * Additionally, if a `factory` is specified you can also specify the `providedIn` option, which\n * overrides the above behavior and marks the token as belonging to a particular `@NgModule`. As\n * mentioned above, `'root'` is the default value for `providedIn`.\n *\n * @usageNotes\n * ### Basic Example\n *\n * ### Plain InjectionToken\n *\n * {@example core/di/ts/injector_spec.ts region='InjectionToken'}\n *\n * ### Tree-shakable InjectionToken\n *\n * {@example core/di/ts/injector_spec.ts region='ShakableInjectionToken'}\n *\n *\n * @publicApi\n */\nclass InjectionToken {\n constructor(_desc, options) {\n this._desc = _desc;\n /** @internal */\n this.ngMetadataName = 'InjectionToken';\n this.ɵprov = undefined;\n if (typeof options == 'number') {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n assertLessThan(options, 0, 'Only negative numbers are supported here');\n // This is a special hack to assign __NG_ELEMENT_ID__ to this instance.\n // See `InjectorMarkers`\n this.__NG_ELEMENT_ID__ = options;\n }\n else if (options !== undefined) {\n this.ɵprov = ɵɵdefineInjectable({\n token: this,\n providedIn: options.providedIn || 'root',\n factory: options.factory,\n });\n }\n }\n toString() {\n return `InjectionToken ${this._desc}`;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A DI token that you can use to create a virtual [provider](guide/glossary#provider)\n * that will populate the `entryComponents` field of components and NgModules\n * based on its `useValue` property value.\n * All components that are referenced in the `useValue` value (either directly\n * or in a nested array or map) are added to the `entryComponents` property.\n *\n * @usageNotes\n *\n * The following example shows how the router can populate the `entryComponents`\n * field of an NgModule based on a router configuration that refers\n * to components.\n *\n * ```typescript\n * // helper function inside the router\n * function provideRoutes(routes) {\n * return [\n * {provide: ROUTES, useValue: routes},\n * {provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: routes, multi: true}\n * ];\n * }\n *\n * // user code\n * let routes = [\n * {path: '/root', component: RootComp},\n * {path: '/teams', component: TeamsComp}\n * ];\n *\n * @NgModule({\n * providers: [provideRoutes(routes)]\n * })\n * class ModuleWithRoutes {}\n * ```\n *\n * @publicApi\n * @deprecated Since 9.0.0. With Ivy, this property is no longer necessary.\n */\nconst ANALYZE_FOR_ENTRY_COMPONENTS = new InjectionToken('AnalyzeForEntryComponents');\n// Stores the default value of `emitDistinctChangesOnly` when the `emitDistinctChangesOnly` is not\n// explicitly set. This value will be changed to `true` in v12.\n// TODO(misko): switch the default in v12 to `true`. See: packages/compiler/src/core.ts\nconst emitDistinctChangesOnlyDefaultValue = false;\n/**\n * Base class for query metadata.\n *\n * @see `ContentChildren`.\n * @see `ContentChild`.\n * @see `ViewChildren`.\n * @see `ViewChild`.\n *\n * @publicApi\n */\nclass Query {\n}\nconst ɵ0$1 = (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false, emitDistinctChangesOnly: emitDistinctChangesOnlyDefaultValue }, data));\n/**\n * ContentChildren decorator and metadata.\n *\n *\n * @Annotation\n * @publicApi\n */\nconst ContentChildren = makePropDecorator('ContentChildren', ɵ0$1, Query);\nconst ɵ1 = (selector, data = {}) => (Object.assign({ selector, first: true, isViewQuery: false, descendants: true }, data));\n/**\n * ContentChild decorator and metadata.\n *\n *\n * @Annotation\n *\n * @publicApi\n */\nconst ContentChild = makePropDecorator('ContentChild', ɵ1, Query);\nconst ɵ2 = (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true, emitDistinctChangesOnly: emitDistinctChangesOnlyDefaultValue }, data));\n/**\n * ViewChildren decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst ViewChildren = makePropDecorator('ViewChildren', ɵ2, Query);\nconst ɵ3 = (selector, data) => (Object.assign({ selector, first: true, isViewQuery: true, descendants: true }, data));\n/**\n * ViewChild decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst ViewChild = makePropDecorator('ViewChild', ɵ3, Query);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar R3ResolvedDependencyType;\n(function (R3ResolvedDependencyType) {\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Token\"] = 0] = \"Token\";\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Attribute\"] = 1] = \"Attribute\";\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"ChangeDetectorRef\"] = 2] = \"ChangeDetectorRef\";\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Invalid\"] = 3] = \"Invalid\";\n})(R3ResolvedDependencyType || (R3ResolvedDependencyType = {}));\nvar R3FactoryTarget;\n(function (R3FactoryTarget) {\n R3FactoryTarget[R3FactoryTarget[\"Directive\"] = 0] = \"Directive\";\n R3FactoryTarget[R3FactoryTarget[\"Component\"] = 1] = \"Component\";\n R3FactoryTarget[R3FactoryTarget[\"Injectable\"] = 2] = \"Injectable\";\n R3FactoryTarget[R3FactoryTarget[\"Pipe\"] = 3] = \"Pipe\";\n R3FactoryTarget[R3FactoryTarget[\"NgModule\"] = 4] = \"NgModule\";\n})(R3FactoryTarget || (R3FactoryTarget = {}));\nvar ViewEncapsulation$1;\n(function (ViewEncapsulation) {\n ViewEncapsulation[ViewEncapsulation[\"Emulated\"] = 0] = \"Emulated\";\n // Historically the 1 value was for `Native` encapsulation which has been removed as of v11.\n ViewEncapsulation[ViewEncapsulation[\"None\"] = 2] = \"None\";\n ViewEncapsulation[ViewEncapsulation[\"ShadowDom\"] = 3] = \"ShadowDom\";\n})(ViewEncapsulation$1 || (ViewEncapsulation$1 = {}));\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction getCompilerFacade() {\n const globalNg = _global['ng'];\n if (!globalNg || !globalNg.ɵcompilerFacade) {\n throw new Error(`Angular JIT compilation failed: '@angular/compiler' not loaded!\\n` +\n ` - JIT compilation is discouraged for production use-cases! Consider AOT mode instead.\\n` +\n ` - Did you bootstrap using '@angular/platform-browser-dynamic' or '@angular/platform-server'?\\n` +\n ` - Alternatively provide the compiler with 'import \"@angular/compiler\";' before bootstrapping.`);\n }\n return globalNg.ɵcompilerFacade;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n *\n * Represents a type that a Component or other object is instances of.\n *\n * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is represented by\n * the `MyCustomComponent` constructor function.\n *\n * @publicApi\n */\nconst Type = Function;\nfunction isType(v) {\n return typeof v === 'function';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Equivalent to ES6 spread, add each item to an array.\n *\n * @param items The items to add\n * @param arr The array to which you want to add the items\n */\nfunction addAllToArray(items, arr) {\n for (let i = 0; i < items.length; i++) {\n arr.push(items[i]);\n }\n}\n/**\n * Determines if the contents of two arrays is identical\n *\n * @param a first array\n * @param b second array\n * @param identityAccessor Optional function for extracting stable object identity from a value in\n * the array.\n */\nfunction arrayEquals(a, b, identityAccessor) {\n if (a.length !== b.length)\n return false;\n for (let i = 0; i < a.length; i++) {\n let valueA = a[i];\n let valueB = b[i];\n if (identityAccessor) {\n valueA = identityAccessor(valueA);\n valueB = identityAccessor(valueB);\n }\n if (valueB !== valueA) {\n return false;\n }\n }\n return true;\n}\n/**\n * Flattens an array.\n */\nfunction flatten(list, dst) {\n if (dst === undefined)\n dst = list;\n for (let i = 0; i < list.length; i++) {\n let item = list[i];\n if (Array.isArray(item)) {\n // we need to inline it.\n if (dst === list) {\n // Our assumption that the list was already flat was wrong and\n // we need to clone flat since we need to write to it.\n dst = list.slice(0, i);\n }\n flatten(item, dst);\n }\n else if (dst !== list) {\n dst.push(item);\n }\n }\n return dst;\n}\nfunction deepForEach(input, fn) {\n input.forEach(value => Array.isArray(value) ? deepForEach(value, fn) : fn(value));\n}\nfunction addToArray(arr, index, value) {\n // perf: array.push is faster than array.splice!\n if (index >= arr.length) {\n arr.push(value);\n }\n else {\n arr.splice(index, 0, value);\n }\n}\nfunction removeFromArray(arr, index) {\n // perf: array.pop is faster than array.splice!\n if (index >= arr.length - 1) {\n return arr.pop();\n }\n else {\n return arr.splice(index, 1)[0];\n }\n}\nfunction newArray(size, value) {\n const list = [];\n for (let i = 0; i < size; i++) {\n list.push(value);\n }\n return list;\n}\n/**\n * Remove item from array (Same as `Array.splice()` but faster.)\n *\n * `Array.splice()` is not as fast because it has to allocate an array for the elements which were\n * removed. This causes memory pressure and slows down code when most of the time we don't\n * care about the deleted items array.\n *\n * https://jsperf.com/fast-array-splice (About 20x faster)\n *\n * @param array Array to splice\n * @param index Index of element in array to remove.\n * @param count Number of items to remove.\n */\nfunction arraySplice(array, index, count) {\n const length = array.length - count;\n while (index < length) {\n array[index] = array[index + count];\n index++;\n }\n while (count--) {\n array.pop(); // shrink the array\n }\n}\n/**\n * Same as `Array.splice(index, 0, value)` but faster.\n *\n * `Array.splice()` is not fast because it has to allocate an array for the elements which were\n * removed. This causes memory pressure and slows down code when most of the time we don't\n * care about the deleted items array.\n *\n * @param array Array to splice.\n * @param index Index in array where the `value` should be added.\n * @param value Value to add to array.\n */\nfunction arrayInsert(array, index, value) {\n ngDevMode && assertLessThanOrEqual(index, array.length, 'Can\\'t insert past array end.');\n let end = array.length;\n while (end > index) {\n const previousEnd = end - 1;\n array[end] = array[previousEnd];\n end = previousEnd;\n }\n array[index] = value;\n}\n/**\n * Same as `Array.splice2(index, 0, value1, value2)` but faster.\n *\n * `Array.splice()` is not fast because it has to allocate an array for the elements which were\n * removed. This causes memory pressure and slows down code when most of the time we don't\n * care about the deleted items array.\n *\n * @param array Array to splice.\n * @param index Index in array where the `value` should be added.\n * @param value1 Value to add to array.\n * @param value2 Value to add to array.\n */\nfunction arrayInsert2(array, index, value1, value2) {\n ngDevMode && assertLessThanOrEqual(index, array.length, 'Can\\'t insert past array end.');\n let end = array.length;\n if (end == index) {\n // inserting at the end.\n array.push(value1, value2);\n }\n else if (end === 1) {\n // corner case when we have less items in array than we have items to insert.\n array.push(value2, array[0]);\n array[0] = value1;\n }\n else {\n end--;\n array.push(array[end - 1], array[end]);\n while (end > index) {\n const previousEnd = end - 2;\n array[end] = array[previousEnd];\n end--;\n }\n array[index] = value1;\n array[index + 1] = value2;\n }\n}\n/**\n * Insert a `value` into an `array` so that the array remains sorted.\n *\n * NOTE:\n * - Duplicates are not allowed, and are ignored.\n * - This uses binary search algorithm for fast inserts.\n *\n * @param array A sorted array to insert into.\n * @param value The value to insert.\n * @returns index of the inserted value.\n */\nfunction arrayInsertSorted(array, value) {\n let index = arrayIndexOfSorted(array, value);\n if (index < 0) {\n // if we did not find it insert it.\n index = ~index;\n arrayInsert(array, index, value);\n }\n return index;\n}\n/**\n * Remove `value` from a sorted `array`.\n *\n * NOTE:\n * - This uses binary search algorithm for fast removals.\n *\n * @param array A sorted array to remove from.\n * @param value The value to remove.\n * @returns index of the removed value.\n * - positive index if value found and removed.\n * - negative index if value not found. (`~index` to get the value where it should have been\n * inserted)\n */\nfunction arrayRemoveSorted(array, value) {\n const index = arrayIndexOfSorted(array, value);\n if (index >= 0) {\n arraySplice(array, index, 1);\n }\n return index;\n}\n/**\n * Get an index of an `value` in a sorted `array`.\n *\n * NOTE:\n * - This uses binary search algorithm for fast removals.\n *\n * @param array A sorted array to binary search.\n * @param value The value to look for.\n * @returns index of the value.\n * - positive index if value found.\n * - negative index if value not found. (`~index` to get the value where it should have been\n * located)\n */\nfunction arrayIndexOfSorted(array, value) {\n return _arrayIndexOfSorted(array, value, 0);\n}\n/**\n * Set a `value` for a `key`.\n *\n * @param keyValueArray to modify.\n * @param key The key to locate or create.\n * @param value The value to set for a `key`.\n * @returns index (always even) of where the value vas set.\n */\nfunction keyValueArraySet(keyValueArray, key, value) {\n let index = keyValueArrayIndexOf(keyValueArray, key);\n if (index >= 0) {\n // if we found it set it.\n keyValueArray[index | 1] = value;\n }\n else {\n index = ~index;\n arrayInsert2(keyValueArray, index, key, value);\n }\n return index;\n}\n/**\n * Retrieve a `value` for a `key` (on `undefined` if not found.)\n *\n * @param keyValueArray to search.\n * @param key The key to locate.\n * @return The `value` stored at the `key` location or `undefined if not found.\n */\nfunction keyValueArrayGet(keyValueArray, key) {\n const index = keyValueArrayIndexOf(keyValueArray, key);\n if (index >= 0) {\n // if we found it retrieve it.\n return keyValueArray[index | 1];\n }\n return undefined;\n}\n/**\n * Retrieve a `key` index value in the array or `-1` if not found.\n *\n * @param keyValueArray to search.\n * @param key The key to locate.\n * @returns index of where the key is (or should have been.)\n * - positive (even) index if key found.\n * - negative index if key not found. (`~index` (even) to get the index where it should have\n * been inserted.)\n */\nfunction keyValueArrayIndexOf(keyValueArray, key) {\n return _arrayIndexOfSorted(keyValueArray, key, 1);\n}\n/**\n * Delete a `key` (and `value`) from the `KeyValueArray`.\n *\n * @param keyValueArray to modify.\n * @param key The key to locate or delete (if exist).\n * @returns index of where the key was (or should have been.)\n * - positive (even) index if key found and deleted.\n * - negative index if key not found. (`~index` (even) to get the index where it should have\n * been.)\n */\nfunction keyValueArrayDelete(keyValueArray, key) {\n const index = keyValueArrayIndexOf(keyValueArray, key);\n if (index >= 0) {\n // if we found it remove it.\n arraySplice(keyValueArray, index, 2);\n }\n return index;\n}\n/**\n * INTERNAL: Get an index of an `value` in a sorted `array` by grouping search by `shift`.\n *\n * NOTE:\n * - This uses binary search algorithm for fast removals.\n *\n * @param array A sorted array to binary search.\n * @param value The value to look for.\n * @param shift grouping shift.\n * - `0` means look at every location\n * - `1` means only look at every other (even) location (the odd locations are to be ignored as\n * they are values.)\n * @returns index of the value.\n * - positive index if value found.\n * - negative index if value not found. (`~index` to get the value where it should have been\n * inserted)\n */\nfunction _arrayIndexOfSorted(array, value, shift) {\n ngDevMode && assertEqual(Array.isArray(array), true, 'Expecting an array');\n let start = 0;\n let end = array.length >> shift;\n while (end !== start) {\n const middle = start + ((end - start) >> 1); // find the middle.\n const current = array[middle << shift];\n if (value === current) {\n return (middle << shift);\n }\n else if (current > value) {\n end = middle;\n }\n else {\n start = middle + 1; // We already searched middle so make it non-inclusive by adding 1\n }\n }\n return ~(end << shift);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * #########################\n * Attention: These Regular expressions have to hold even if the code is minified!\n * ##########################\n */\n/**\n * Regular expression that detects pass-through constructors for ES5 output. This Regex\n * intends to capture the common delegation pattern emitted by TypeScript and Babel. Also\n * it intends to capture the pattern where existing constructors have been downleveled from\n * ES2015 to ES5 using TypeScript w/ downlevel iteration. e.g.\n *\n * ```\n * function MyClass() {\n * var _this = _super.apply(this, arguments) || this;\n * ```\n *\n * ```\n * function MyClass() {\n * var _this = _super.apply(this, __spread(arguments)) || this;\n * ```\n *\n * More details can be found in: https://github.com/angular/angular/issues/38453.\n */\nconst ES5_DELEGATE_CTOR = /^function\\s+\\S+\\(\\)\\s*{[\\s\\S]+\\.apply\\(this,\\s*(arguments|[^()]+\\(arguments\\))\\)/;\n/** Regular expression that detects ES2015 classes which extend from other classes. */\nconst ES2015_INHERITED_CLASS = /^class\\s+[A-Za-z\\d$_]*\\s*extends\\s+[^{]+{/;\n/**\n * Regular expression that detects ES2015 classes which extend from other classes and\n * have an explicit constructor defined.\n */\nconst ES2015_INHERITED_CLASS_WITH_CTOR = /^class\\s+[A-Za-z\\d$_]*\\s*extends\\s+[^{]+{[\\s\\S]*constructor\\s*\\(/;\n/**\n * Regular expression that detects ES2015 classes which extend from other classes\n * and inherit a constructor.\n */\nconst ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR = /^class\\s+[A-Za-z\\d$_]*\\s*extends\\s+[^{]+{[\\s\\S]*constructor\\s*\\(\\)\\s*{\\s*super\\(\\.\\.\\.arguments\\)/;\n/**\n * Determine whether a stringified type is a class which delegates its constructor\n * to its parent.\n *\n * This is not trivial since compiled code can actually contain a constructor function\n * even if the original source code did not. For instance, when the child class contains\n * an initialized instance property.\n */\nfunction isDelegateCtor(typeStr) {\n return ES5_DELEGATE_CTOR.test(typeStr) ||\n ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR.test(typeStr) ||\n (ES2015_INHERITED_CLASS.test(typeStr) && !ES2015_INHERITED_CLASS_WITH_CTOR.test(typeStr));\n}\nclass ReflectionCapabilities {\n constructor(reflect) {\n this._reflect = reflect || _global['Reflect'];\n }\n isReflectionEnabled() {\n return true;\n }\n factory(t) {\n return (...args) => new t(...args);\n }\n /** @internal */\n _zipTypesAndAnnotations(paramTypes, paramAnnotations) {\n let result;\n if (typeof paramTypes === 'undefined') {\n result = newArray(paramAnnotations.length);\n }\n else {\n result = newArray(paramTypes.length);\n }\n for (let i = 0; i < result.length; i++) {\n // TS outputs Object for parameters without types, while Traceur omits\n // the annotations. For now we preserve the Traceur behavior to aid\n // migration, but this can be revisited.\n if (typeof paramTypes === 'undefined') {\n result[i] = [];\n }\n else if (paramTypes[i] && paramTypes[i] != Object) {\n result[i] = [paramTypes[i]];\n }\n else {\n result[i] = [];\n }\n if (paramAnnotations && paramAnnotations[i] != null) {\n result[i] = result[i].concat(paramAnnotations[i]);\n }\n }\n return result;\n }\n _ownParameters(type, parentCtor) {\n const typeStr = type.toString();\n // If we have no decorators, we only have function.length as metadata.\n // In that case, to detect whether a child class declared an own constructor or not,\n // we need to look inside of that constructor to check whether it is\n // just calling the parent.\n // This also helps to work around for https://github.com/Microsoft/TypeScript/issues/12439\n // that sets 'design:paramtypes' to []\n // if a class inherits from another class but has no ctor declared itself.\n if (isDelegateCtor(typeStr)) {\n return null;\n }\n // Prefer the direct API.\n if (type.parameters && type.parameters !== parentCtor.parameters) {\n return type.parameters;\n }\n // API of tsickle for lowering decorators to properties on the class.\n const tsickleCtorParams = type.ctorParameters;\n if (tsickleCtorParams && tsickleCtorParams !== parentCtor.ctorParameters) {\n // Newer tsickle uses a function closure\n // Retain the non-function case for compatibility with older tsickle\n const ctorParameters = typeof tsickleCtorParams === 'function' ? tsickleCtorParams() : tsickleCtorParams;\n const paramTypes = ctorParameters.map((ctorParam) => ctorParam && ctorParam.type);\n const paramAnnotations = ctorParameters.map((ctorParam) => ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators));\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n // API for metadata created by invoking the decorators.\n const paramAnnotations = type.hasOwnProperty(PARAMETERS) && type[PARAMETERS];\n const paramTypes = this._reflect && this._reflect.getOwnMetadata &&\n this._reflect.getOwnMetadata('design:paramtypes', type);\n if (paramTypes || paramAnnotations) {\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n // If a class has no decorators, at least create metadata\n // based on function.length.\n // Note: We know that this is a real constructor as we checked\n // the content of the constructor above.\n return newArray(type.length);\n }\n parameters(type) {\n // Note: only report metadata if we have at least one class decorator\n // to stay in sync with the static reflector.\n if (!isType(type)) {\n return [];\n }\n const parentCtor = getParentCtor(type);\n let parameters = this._ownParameters(type, parentCtor);\n if (!parameters && parentCtor !== Object) {\n parameters = this.parameters(parentCtor);\n }\n return parameters || [];\n }\n _ownAnnotations(typeOrFunc, parentCtor) {\n // Prefer the direct API.\n if (typeOrFunc.annotations && typeOrFunc.annotations !== parentCtor.annotations) {\n let annotations = typeOrFunc.annotations;\n if (typeof annotations === 'function' && annotations.annotations) {\n annotations = annotations.annotations;\n }\n return annotations;\n }\n // API of tsickle for lowering decorators to properties on the class.\n if (typeOrFunc.decorators && typeOrFunc.decorators !== parentCtor.decorators) {\n return convertTsickleDecoratorIntoMetadata(typeOrFunc.decorators);\n }\n // API for metadata created by invoking the decorators.\n if (typeOrFunc.hasOwnProperty(ANNOTATIONS)) {\n return typeOrFunc[ANNOTATIONS];\n }\n return null;\n }\n annotations(typeOrFunc) {\n if (!isType(typeOrFunc)) {\n return [];\n }\n const parentCtor = getParentCtor(typeOrFunc);\n const ownAnnotations = this._ownAnnotations(typeOrFunc, parentCtor) || [];\n const parentAnnotations = parentCtor !== Object ? this.annotations(parentCtor) : [];\n return parentAnnotations.concat(ownAnnotations);\n }\n _ownPropMetadata(typeOrFunc, parentCtor) {\n // Prefer the direct API.\n if (typeOrFunc.propMetadata &&\n typeOrFunc.propMetadata !== parentCtor.propMetadata) {\n let propMetadata = typeOrFunc.propMetadata;\n if (typeof propMetadata === 'function' && propMetadata.propMetadata) {\n propMetadata = propMetadata.propMetadata;\n }\n return propMetadata;\n }\n // API of tsickle for lowering decorators to properties on the class.\n if (typeOrFunc.propDecorators &&\n typeOrFunc.propDecorators !== parentCtor.propDecorators) {\n const propDecorators = typeOrFunc.propDecorators;\n const propMetadata = {};\n Object.keys(propDecorators).forEach(prop => {\n propMetadata[prop] = convertTsickleDecoratorIntoMetadata(propDecorators[prop]);\n });\n return propMetadata;\n }\n // API for metadata created by invoking the decorators.\n if (typeOrFunc.hasOwnProperty(PROP_METADATA)) {\n return typeOrFunc[PROP_METADATA];\n }\n return null;\n }\n propMetadata(typeOrFunc) {\n if (!isType(typeOrFunc)) {\n return {};\n }\n const parentCtor = getParentCtor(typeOrFunc);\n const propMetadata = {};\n if (parentCtor !== Object) {\n const parentPropMetadata = this.propMetadata(parentCtor);\n Object.keys(parentPropMetadata).forEach((propName) => {\n propMetadata[propName] = parentPropMetadata[propName];\n });\n }\n const ownPropMetadata = this._ownPropMetadata(typeOrFunc, parentCtor);\n if (ownPropMetadata) {\n Object.keys(ownPropMetadata).forEach((propName) => {\n const decorators = [];\n if (propMetadata.hasOwnProperty(propName)) {\n decorators.push(...propMetadata[propName]);\n }\n decorators.push(...ownPropMetadata[propName]);\n propMetadata[propName] = decorators;\n });\n }\n return propMetadata;\n }\n ownPropMetadata(typeOrFunc) {\n if (!isType(typeOrFunc)) {\n return {};\n }\n return this._ownPropMetadata(typeOrFunc, getParentCtor(typeOrFunc)) || {};\n }\n hasLifecycleHook(type, lcProperty) {\n return type instanceof Type && lcProperty in type.prototype;\n }\n guards(type) {\n return {};\n }\n getter(name) {\n return new Function('o', 'return o.' + name + ';');\n }\n setter(name) {\n return new Function('o', 'v', 'return o.' + name + ' = v;');\n }\n method(name) {\n const functionBody = `if (!o.${name}) throw new Error('\"${name}\" is undefined');\n return o.${name}.apply(o, args);`;\n return new Function('o', 'args', functionBody);\n }\n // There is not a concept of import uri in Js, but this is useful in developing Dart applications.\n importUri(type) {\n // StaticSymbol\n if (typeof type === 'object' && type['filePath']) {\n return type['filePath'];\n }\n // Runtime type\n return `./${stringify(type)}`;\n }\n resourceUri(type) {\n return `./${stringify(type)}`;\n }\n resolveIdentifier(name, moduleUrl, members, runtime) {\n return runtime;\n }\n resolveEnum(enumIdentifier, name) {\n return enumIdentifier[name];\n }\n}\nfunction convertTsickleDecoratorIntoMetadata(decoratorInvocations) {\n if (!decoratorInvocations) {\n return [];\n }\n return decoratorInvocations.map(decoratorInvocation => {\n const decoratorType = decoratorInvocation.type;\n const annotationCls = decoratorType.annotationCls;\n const annotationArgs = decoratorInvocation.args ? decoratorInvocation.args : [];\n return new annotationCls(...annotationArgs);\n });\n}\nfunction getParentCtor(ctor) {\n const parentProto = ctor.prototype ? Object.getPrototypeOf(ctor.prototype) : null;\n const parentCtor = parentProto ? parentProto.constructor : null;\n // Note: We always use `Object` as the null value\n // to simplify checking later on.\n return parentCtor || Object;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _THROW_IF_NOT_FOUND = {};\nconst THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;\n/*\n * Name of a property (that we patch onto DI decorator), which is used as an annotation of which\n * InjectFlag this decorator represents. This allows to avoid direct references to the DI decorators\n * in the code, thus making them tree-shakable.\n */\nconst DI_DECORATOR_FLAG = '__NG_DI_FLAG__';\nconst NG_TEMP_TOKEN_PATH = 'ngTempTokenPath';\nconst NG_TOKEN_PATH = 'ngTokenPath';\nconst NEW_LINE = /\\n/gm;\nconst NO_NEW_LINE = 'ɵ';\nconst SOURCE = '__source';\nconst ɵ0$2 = getClosureSafeProperty;\nconst USE_VALUE = getClosureSafeProperty({ provide: String, useValue: ɵ0$2 });\n/**\n * Current injector value used by `inject`.\n * - `undefined`: it is an error to call `inject`\n * - `null`: `inject` can be called but there is no injector (limp-mode).\n * - Injector instance: Use the injector for resolution.\n */\nlet _currentInjector = undefined;\nfunction setCurrentInjector(injector) {\n const former = _currentInjector;\n _currentInjector = injector;\n return former;\n}\nfunction injectInjectorOnly(token, flags = InjectFlags.Default) {\n if (_currentInjector === undefined) {\n throw new Error(`inject() must be called from an injection context`);\n }\n else if (_currentInjector === null) {\n return injectRootLimpMode(token, undefined, flags);\n }\n else {\n return _currentInjector.get(token, flags & InjectFlags.Optional ? null : undefined, flags);\n }\n}\nfunction ɵɵinject(token, flags = InjectFlags.Default) {\n return (getInjectImplementation() || injectInjectorOnly)(resolveForwardRef(token), flags);\n}\n/**\n * Throws an error indicating that a factory function could not be generated by the compiler for a\n * particular class.\n *\n * This instruction allows the actual error message to be optimized away when ngDevMode is turned\n * off, saving bytes of generated code while still providing a good experience in dev mode.\n *\n * The name of the class is not mentioned here, but will be in the generated factory function name\n * and thus in the stack trace.\n *\n * @codeGenApi\n */\nfunction ɵɵinvalidFactoryDep(index) {\n const msg = ngDevMode ?\n `This constructor is not compatible with Angular Dependency Injection because its dependency at index ${index} of the parameter list is invalid.\nThis can happen if the dependency type is a primitive like a string or if an ancestor of this class is missing an Angular decorator.\n\nPlease check that 1) the type for the parameter at index ${index} is correct and 2) the correct Angular decorators are defined for this class and its ancestors.` :\n 'invalid';\n throw new Error(msg);\n}\n/**\n * Injects a token from the currently active injector.\n *\n * Must be used in the context of a factory function such as one defined for an\n * `InjectionToken`. Throws an error if not called from such a context.\n *\n * Within such a factory function, using this function to request injection of a dependency\n * is faster and more type-safe than providing an additional array of dependencies\n * (as has been common with `useFactory` providers).\n *\n * @param token The injection token for the dependency to be injected.\n * @param flags Optional flags that control how injection is executed.\n * The flags correspond to injection strategies that can be specified with\n * parameter decorators `@Host`, `@Self`, `@SkipSef`, and `@Optional`.\n * @returns the injected value if injection is successful, `null` otherwise.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example core/di/ts/injector_spec.ts region='ShakableInjectionToken'}\n *\n * @publicApi\n */\nconst inject = ɵɵinject;\nfunction injectArgs(types) {\n const args = [];\n for (let i = 0; i < types.length; i++) {\n const arg = resolveForwardRef(types[i]);\n if (Array.isArray(arg)) {\n if (arg.length === 0) {\n throw new Error('Arguments array must have arguments.');\n }\n let type = undefined;\n let flags = InjectFlags.Default;\n for (let j = 0; j < arg.length; j++) {\n const meta = arg[j];\n const flag = getInjectFlag(meta);\n if (typeof flag === 'number') {\n // Special case when we handle @Inject decorator.\n if (flag === -1 /* Inject */) {\n type = meta.token;\n }\n else {\n flags |= flag;\n }\n }\n else {\n type = meta;\n }\n }\n args.push(ɵɵinject(type, flags));\n }\n else {\n args.push(ɵɵinject(arg));\n }\n }\n return args;\n}\n/**\n * Attaches a given InjectFlag to a given decorator using monkey-patching.\n * Since DI decorators can be used in providers `deps` array (when provider is configured using\n * `useFactory`) without initialization (e.g. `Host`) and as an instance (e.g. `new Host()`), we\n * attach the flag to make it available both as a static property and as a field on decorator\n * instance.\n *\n * @param decorator Provided DI decorator.\n * @param flag InjectFlag that should be applied.\n */\nfunction attachInjectFlag(decorator, flag) {\n decorator[DI_DECORATOR_FLAG] = flag;\n decorator.prototype[DI_DECORATOR_FLAG] = flag;\n return decorator;\n}\n/**\n * Reads monkey-patched property that contains InjectFlag attached to a decorator.\n *\n * @param token Token that may contain monkey-patched DI flags property.\n */\nfunction getInjectFlag(token) {\n return token[DI_DECORATOR_FLAG];\n}\nfunction catchInjectorError(e, token, injectorErrorName, source) {\n const tokenPath = e[NG_TEMP_TOKEN_PATH];\n if (token[SOURCE]) {\n tokenPath.unshift(token[SOURCE]);\n }\n e.message = formatError('\\n' + e.message, tokenPath, injectorErrorName, source);\n e[NG_TOKEN_PATH] = tokenPath;\n e[NG_TEMP_TOKEN_PATH] = null;\n throw e;\n}\nfunction formatError(text, obj, injectorErrorName, source = null) {\n text = text && text.charAt(0) === '\\n' && text.charAt(1) == NO_NEW_LINE ? text.substr(2) : text;\n let context = stringify(obj);\n if (Array.isArray(obj)) {\n context = obj.map(stringify).join(' -> ');\n }\n else if (typeof obj === 'object') {\n let parts = [];\n for (let key in obj) {\n if (obj.hasOwnProperty(key)) {\n let value = obj[key];\n parts.push(key + ':' + (typeof value === 'string' ? JSON.stringify(value) : stringify(value)));\n }\n }\n context = `{${parts.join(', ')}}`;\n }\n return `${injectorErrorName}${source ? '(' + source + ')' : ''}[${context}]: ${text.replace(NEW_LINE, '\\n ')}`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ɵ0$3 = (token) => ({ token });\n/**\n * Inject decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst Inject = attachInjectFlag(\n// Disable tslint because `DecoratorFlags` is a const enum which gets inlined.\n// tslint:disable-next-line: no-toplevel-property-access\nmakeParamDecorator('Inject', ɵ0$3), -1 /* Inject */);\n/**\n * Optional decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst Optional = \n// Disable tslint because `InternalInjectFlags` is a const enum which gets inlined.\n// tslint:disable-next-line: no-toplevel-property-access\nattachInjectFlag(makeParamDecorator('Optional'), 8 /* Optional */);\n/**\n * Self decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst Self = \n// Disable tslint because `InternalInjectFlags` is a const enum which gets inlined.\n// tslint:disable-next-line: no-toplevel-property-access\nattachInjectFlag(makeParamDecorator('Self'), 2 /* Self */);\n/**\n * `SkipSelf` decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst SkipSelf = \n// Disable tslint because `InternalInjectFlags` is a const enum which gets inlined.\n// tslint:disable-next-line: no-toplevel-property-access\nattachInjectFlag(makeParamDecorator('SkipSelf'), 4 /* SkipSelf */);\n/**\n * Host decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst Host = \n// Disable tslint because `InternalInjectFlags` is a const enum which gets inlined.\n// tslint:disable-next-line: no-toplevel-property-access\nattachInjectFlag(makeParamDecorator('Host'), 1 /* Host */);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet _reflect = null;\nfunction getReflect() {\n return (_reflect = _reflect || new ReflectionCapabilities());\n}\nfunction reflectDependencies(type) {\n return convertDependencies(getReflect().parameters(type));\n}\nfunction convertDependencies(deps) {\n const compiler = getCompilerFacade();\n return deps.map(dep => reflectDependency(compiler, dep));\n}\nfunction reflectDependency(compiler, dep) {\n const meta = {\n token: null,\n host: false,\n optional: false,\n resolved: compiler.R3ResolvedDependencyType.Token,\n self: false,\n skipSelf: false,\n };\n function setTokenAndResolvedType(token) {\n meta.resolved = compiler.R3ResolvedDependencyType.Token;\n meta.token = token;\n }\n if (Array.isArray(dep) && dep.length > 0) {\n for (let j = 0; j < dep.length; j++) {\n const param = dep[j];\n if (param === undefined) {\n // param may be undefined if type of dep is not set by ngtsc\n continue;\n }\n const proto = Object.getPrototypeOf(param);\n if (param instanceof Optional || proto.ngMetadataName === 'Optional') {\n meta.optional = true;\n }\n else if (param instanceof SkipSelf || proto.ngMetadataName === 'SkipSelf') {\n meta.skipSelf = true;\n }\n else if (param instanceof Self || proto.ngMetadataName === 'Self') {\n meta.self = true;\n }\n else if (param instanceof Host || proto.ngMetadataName === 'Host') {\n meta.host = true;\n }\n else if (param instanceof Inject) {\n meta.token = param.token;\n }\n else if (param instanceof Attribute) {\n if (param.attributeName === undefined) {\n throw new Error(`Attribute name must be defined.`);\n }\n meta.token = param.attributeName;\n meta.resolved = compiler.R3ResolvedDependencyType.Attribute;\n }\n else if (param.__ChangeDetectorRef__ === true) {\n meta.token = param;\n meta.resolved = compiler.R3ResolvedDependencyType.ChangeDetectorRef;\n }\n else {\n setTokenAndResolvedType(param);\n }\n }\n }\n else if (dep === undefined || (Array.isArray(dep) && dep.length === 0)) {\n meta.token = undefined;\n meta.resolved = R3ResolvedDependencyType.Invalid;\n }\n else {\n setTokenAndResolvedType(dep);\n }\n return meta;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Used to resolve resource URLs on `@Component` when used with JIT compilation.\n *\n * Example:\n * ```\n * @Component({\n * selector: 'my-comp',\n * templateUrl: 'my-comp.html', // This requires asynchronous resolution\n * })\n * class MyComponent{\n * }\n *\n * // Calling `renderComponent` will fail because `renderComponent` is a synchronous process\n * // and `MyComponent`'s `@Component.templateUrl` needs to be resolved asynchronously.\n *\n * // Calling `resolveComponentResources()` will resolve `@Component.templateUrl` into\n * // `@Component.template`, which allows `renderComponent` to proceed in a synchronous manner.\n *\n * // Use browser's `fetch()` function as the default resource resolution strategy.\n * resolveComponentResources(fetch).then(() => {\n * // After resolution all URLs have been converted into `template` strings.\n * renderComponent(MyComponent);\n * });\n *\n * ```\n *\n * NOTE: In AOT the resolution happens during compilation, and so there should be no need\n * to call this method outside JIT mode.\n *\n * @param resourceResolver a function which is responsible for returning a `Promise` to the\n * contents of the resolved URL. Browser's `fetch()` method is a good default implementation.\n */\nfunction resolveComponentResources(resourceResolver) {\n // Store all promises which are fetching the resources.\n const componentResolved = [];\n // Cache so that we don't fetch the same resource more than once.\n const urlMap = new Map();\n function cachedResourceResolve(url) {\n let promise = urlMap.get(url);\n if (!promise) {\n const resp = resourceResolver(url);\n urlMap.set(url, promise = resp.then(unwrapResponse));\n }\n return promise;\n }\n componentResourceResolutionQueue.forEach((component, type) => {\n const promises = [];\n if (component.templateUrl) {\n promises.push(cachedResourceResolve(component.templateUrl).then((template) => {\n component.template = template;\n }));\n }\n const styleUrls = component.styleUrls;\n const styles = component.styles || (component.styles = []);\n const styleOffset = component.styles.length;\n styleUrls && styleUrls.forEach((styleUrl, index) => {\n styles.push(''); // pre-allocate array.\n promises.push(cachedResourceResolve(styleUrl).then((style) => {\n styles[styleOffset + index] = style;\n styleUrls.splice(styleUrls.indexOf(styleUrl), 1);\n if (styleUrls.length == 0) {\n component.styleUrls = undefined;\n }\n }));\n });\n const fullyResolved = Promise.all(promises).then(() => componentDefResolved(type));\n componentResolved.push(fullyResolved);\n });\n clearResolutionOfComponentResourcesQueue();\n return Promise.all(componentResolved).then(() => undefined);\n}\nlet componentResourceResolutionQueue = new Map();\n// Track when existing ɵcmp for a Type is waiting on resources.\nconst componentDefPendingResolution = new Set();\nfunction maybeQueueResolutionOfComponentResources(type, metadata) {\n if (componentNeedsResolution(metadata)) {\n componentResourceResolutionQueue.set(type, metadata);\n componentDefPendingResolution.add(type);\n }\n}\nfunction isComponentDefPendingResolution(type) {\n return componentDefPendingResolution.has(type);\n}\nfunction componentNeedsResolution(component) {\n return !!((component.templateUrl && !component.hasOwnProperty('template')) ||\n component.styleUrls && component.styleUrls.length);\n}\nfunction clearResolutionOfComponentResourcesQueue() {\n const old = componentResourceResolutionQueue;\n componentResourceResolutionQueue = new Map();\n return old;\n}\nfunction restoreComponentResolutionQueue(queue) {\n componentDefPendingResolution.clear();\n queue.forEach((_, type) => componentDefPendingResolution.add(type));\n componentResourceResolutionQueue = queue;\n}\nfunction isComponentResourceResolutionQueueEmpty() {\n return componentResourceResolutionQueue.size === 0;\n}\nfunction unwrapResponse(response) {\n return typeof response == 'string' ? response : response.text();\n}\nfunction componentDefResolved(type) {\n componentDefPendingResolution.delete(type);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The Trusted Types policy, or null if Trusted Types are not\n * enabled/supported, or undefined if the policy has not been created yet.\n */\nlet policy;\n/**\n * Returns the Trusted Types policy, or null if Trusted Types are not\n * enabled/supported. The first call to this function will create the policy.\n */\nfunction getPolicy() {\n if (policy === undefined) {\n policy = null;\n if (_global.trustedTypes) {\n try {\n policy = _global.trustedTypes.createPolicy('angular', {\n createHTML: (s) => s,\n createScript: (s) => s,\n createScriptURL: (s) => s,\n });\n }\n catch (_a) {\n // trustedTypes.createPolicy throws if called with a name that is\n // already registered, even in report-only mode. Until the API changes,\n // catch the error not to break the applications functionally. In such\n // cases, the code will fall back to using strings.\n }\n }\n }\n return policy;\n}\n/**\n * Unsafely promote a string to a TrustedHTML, falling back to strings when\n * Trusted Types are not available.\n * @security This is a security-sensitive function; any use of this function\n * must go through security review. In particular, it must be assured that the\n * provided string will never cause an XSS vulnerability if used in a context\n * that will be interpreted as HTML by a browser, e.g. when assigning to\n * element.innerHTML.\n */\nfunction trustedHTMLFromString(html) {\n var _a;\n return ((_a = getPolicy()) === null || _a === void 0 ? void 0 : _a.createHTML(html)) || html;\n}\n/**\n * Unsafely promote a string to a TrustedScript, falling back to strings when\n * Trusted Types are not available.\n * @security In particular, it must be assured that the provided string will\n * never cause an XSS vulnerability if used in a context that will be\n * interpreted and executed as a script by a browser, e.g. when calling eval.\n */\nfunction trustedScriptFromString(script) {\n var _a;\n return ((_a = getPolicy()) === null || _a === void 0 ? void 0 : _a.createScript(script)) || script;\n}\n/**\n * Unsafely promote a string to a TrustedScriptURL, falling back to strings\n * when Trusted Types are not available.\n * @security This is a security-sensitive function; any use of this function\n * must go through security review. In particular, it must be assured that the\n * provided string will never cause an XSS vulnerability if used in a context\n * that will cause a browser to load and execute a resource, e.g. when\n * assigning to script.src.\n */\nfunction trustedScriptURLFromString(url) {\n var _a;\n return ((_a = getPolicy()) === null || _a === void 0 ? void 0 : _a.createScriptURL(url)) || url;\n}\n/**\n * Unsafely call the Function constructor with the given string arguments. It\n * is only available in development mode, and should be stripped out of\n * production code.\n * @security This is a security-sensitive function; any use of this function\n * must go through security review. In particular, it must be assured that it\n * is only called from development code, as use in production code can lead to\n * XSS vulnerabilities.\n */\nfunction newTrustedFunctionForDev(...args) {\n if (typeof ngDevMode === 'undefined') {\n throw new Error('newTrustedFunctionForDev should never be called in production');\n }\n if (!_global.trustedTypes) {\n // In environments that don't support Trusted Types, fall back to the most\n // straightforward implementation:\n return new Function(...args);\n }\n // Chrome currently does not support passing TrustedScript to the Function\n // constructor. The following implements the workaround proposed on the page\n // below, where the Chromium bug is also referenced:\n // https://github.com/w3c/webappsec-trusted-types/wiki/Trusted-Types-for-function-constructor\n const fnArgs = args.slice(0, -1).join(',');\n const fnBody = args[args.length - 1];\n const body = `(function anonymous(${fnArgs}\n) { ${fnBody}\n})`;\n // Using eval directly confuses the compiler and prevents this module from\n // being stripped out of JS binaries even if not used. The global['eval']\n // indirection fixes that.\n const fn = _global['eval'](trustedScriptFromString(body));\n if (fn.bind === undefined) {\n // Workaround for a browser bug that only exists in Chrome 83, where passing\n // a TrustedScript to eval just returns the TrustedScript back without\n // evaluating it. In that case, fall back to the most straightforward\n // implementation:\n return new Function(...args);\n }\n // To completely mimic the behavior of calling \"new Function\", two more\n // things need to happen:\n // 1. Stringifying the resulting function should return its source code\n fn.toString = () => body;\n // 2. When calling the resulting function, `this` should refer to `global`\n return fn.bind(_global);\n // When Trusted Types support in Function constructors is widely available,\n // the implementation of this function can be simplified to:\n // return new Function(...args.map(a => trustedScriptFromString(a)));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The Trusted Types policy, or null if Trusted Types are not\n * enabled/supported, or undefined if the policy has not been created yet.\n */\nlet policy$1;\n/**\n * Returns the Trusted Types policy, or null if Trusted Types are not\n * enabled/supported. The first call to this function will create the policy.\n */\nfunction getPolicy$1() {\n if (policy$1 === undefined) {\n policy$1 = null;\n if (_global.trustedTypes) {\n try {\n policy$1 = _global.trustedTypes\n .createPolicy('angular#unsafe-bypass', {\n createHTML: (s) => s,\n createScript: (s) => s,\n createScriptURL: (s) => s,\n });\n }\n catch (_a) {\n // trustedTypes.createPolicy throws if called with a name that is\n // already registered, even in report-only mode. Until the API changes,\n // catch the error not to break the applications functionally. In such\n // cases, the code will fall back to using strings.\n }\n }\n }\n return policy$1;\n}\n/**\n * Unsafely promote a string to a TrustedHTML, falling back to strings when\n * Trusted Types are not available.\n * @security This is a security-sensitive function; any use of this function\n * must go through security review. In particular, it must be assured that it\n * is only passed strings that come directly from custom sanitizers or the\n * bypassSecurityTrust* functions.\n */\nfunction trustedHTMLFromStringBypass(html) {\n var _a;\n return ((_a = getPolicy$1()) === null || _a === void 0 ? void 0 : _a.createHTML(html)) || html;\n}\n/**\n * Unsafely promote a string to a TrustedScript, falling back to strings when\n * Trusted Types are not available.\n * @security This is a security-sensitive function; any use of this function\n * must go through security review. In particular, it must be assured that it\n * is only passed strings that come directly from custom sanitizers or the\n * bypassSecurityTrust* functions.\n */\nfunction trustedScriptFromStringBypass(script) {\n var _a;\n return ((_a = getPolicy$1()) === null || _a === void 0 ? void 0 : _a.createScript(script)) || script;\n}\n/**\n * Unsafely promote a string to a TrustedScriptURL, falling back to strings\n * when Trusted Types are not available.\n * @security This is a security-sensitive function; any use of this function\n * must go through security review. In particular, it must be assured that it\n * is only passed strings that come directly from custom sanitizers or the\n * bypassSecurityTrust* functions.\n */\nfunction trustedScriptURLFromStringBypass(url) {\n var _a;\n return ((_a = getPolicy$1()) === null || _a === void 0 ? void 0 : _a.createScriptURL(url)) || url;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SafeValueImpl {\n constructor(changingThisBreaksApplicationSecurity) {\n this.changingThisBreaksApplicationSecurity = changingThisBreaksApplicationSecurity;\n }\n toString() {\n return `SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity}` +\n ` (see https://g.co/ng/security#xss)`;\n }\n}\nclass SafeHtmlImpl extends SafeValueImpl {\n getTypeName() {\n return \"HTML\" /* Html */;\n }\n}\nclass SafeStyleImpl extends SafeValueImpl {\n getTypeName() {\n return \"Style\" /* Style */;\n }\n}\nclass SafeScriptImpl extends SafeValueImpl {\n getTypeName() {\n return \"Script\" /* Script */;\n }\n}\nclass SafeUrlImpl extends SafeValueImpl {\n getTypeName() {\n return \"URL\" /* Url */;\n }\n}\nclass SafeResourceUrlImpl extends SafeValueImpl {\n getTypeName() {\n return \"ResourceURL\" /* ResourceUrl */;\n }\n}\nfunction unwrapSafeValue(value) {\n return value instanceof SafeValueImpl ? value.changingThisBreaksApplicationSecurity :\n value;\n}\nfunction allowSanitizationBypassAndThrow(value, type) {\n const actualType = getSanitizationBypassType(value);\n if (actualType != null && actualType !== type) {\n // Allow ResourceURLs in URL contexts, they are strictly more trusted.\n if (actualType === \"ResourceURL\" /* ResourceUrl */ && type === \"URL\" /* Url */)\n return true;\n throw new Error(`Required a safe ${type}, got a ${actualType} (see https://g.co/ng/security#xss)`);\n }\n return actualType === type;\n}\nfunction getSanitizationBypassType(value) {\n return value instanceof SafeValueImpl && value.getTypeName() || null;\n}\n/**\n * Mark `html` string as trusted.\n *\n * This function wraps the trusted string in `String` and brands it in a way which makes it\n * recognizable to {@link htmlSanitizer} to be trusted implicitly.\n *\n * @param trustedHtml `html` string which needs to be implicitly trusted.\n * @returns a `html` which has been branded to be implicitly trusted.\n */\nfunction bypassSanitizationTrustHtml(trustedHtml) {\n return new SafeHtmlImpl(trustedHtml);\n}\n/**\n * Mark `style` string as trusted.\n *\n * This function wraps the trusted string in `String` and brands it in a way which makes it\n * recognizable to {@link styleSanitizer} to be trusted implicitly.\n *\n * @param trustedStyle `style` string which needs to be implicitly trusted.\n * @returns a `style` hich has been branded to be implicitly trusted.\n */\nfunction bypassSanitizationTrustStyle(trustedStyle) {\n return new SafeStyleImpl(trustedStyle);\n}\n/**\n * Mark `script` string as trusted.\n *\n * This function wraps the trusted string in `String` and brands it in a way which makes it\n * recognizable to {@link scriptSanitizer} to be trusted implicitly.\n *\n * @param trustedScript `script` string which needs to be implicitly trusted.\n * @returns a `script` which has been branded to be implicitly trusted.\n */\nfunction bypassSanitizationTrustScript(trustedScript) {\n return new SafeScriptImpl(trustedScript);\n}\n/**\n * Mark `url` string as trusted.\n *\n * This function wraps the trusted string in `String` and brands it in a way which makes it\n * recognizable to {@link urlSanitizer} to be trusted implicitly.\n *\n * @param trustedUrl `url` string which needs to be implicitly trusted.\n * @returns a `url` which has been branded to be implicitly trusted.\n */\nfunction bypassSanitizationTrustUrl(trustedUrl) {\n return new SafeUrlImpl(trustedUrl);\n}\n/**\n * Mark `url` string as trusted.\n *\n * This function wraps the trusted string in `String` and brands it in a way which makes it\n * recognizable to {@link resourceUrlSanitizer} to be trusted implicitly.\n *\n * @param trustedResourceUrl `url` string which needs to be implicitly trusted.\n * @returns a `url` which has been branded to be implicitly trusted.\n */\nfunction bypassSanitizationTrustResourceUrl(trustedResourceUrl) {\n return new SafeResourceUrlImpl(trustedResourceUrl);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This helper is used to get hold of an inert tree of DOM elements containing dirty HTML\n * that needs sanitizing.\n * Depending upon browser support we use one of two strategies for doing this.\n * Default: DOMParser strategy\n * Fallback: InertDocument strategy\n */\nfunction getInertBodyHelper(defaultDoc) {\n const inertDocumentHelper = new InertDocumentHelper(defaultDoc);\n return isDOMParserAvailable() ? new DOMParserHelper(inertDocumentHelper) : inertDocumentHelper;\n}\n/**\n * Uses DOMParser to create and fill an inert body element.\n * This is the default strategy used in browsers that support it.\n */\nclass DOMParserHelper {\n constructor(inertDocumentHelper) {\n this.inertDocumentHelper = inertDocumentHelper;\n }\n getInertBodyElement(html) {\n // We add these extra elements to ensure that the rest of the content is parsed as expected\n // e.g. leading whitespace is maintained and tags like `` do not get hoisted to the\n // `` tag. Note that the `` tag is closed implicitly to prevent unclosed tags\n // in `html` from consuming the otherwise explicit `` tag.\n html = '' + html;\n try {\n const body = new window.DOMParser()\n .parseFromString(trustedHTMLFromString(html), 'text/html')\n .body;\n if (body === null) {\n // In some browsers (e.g. Mozilla/5.0 iPad AppleWebKit Mobile) the `body` property only\n // becomes available in the following tick of the JS engine. In that case we fall back to\n // the `inertDocumentHelper` instead.\n return this.inertDocumentHelper.getInertBodyElement(html);\n }\n body.removeChild(body.firstChild);\n return body;\n }\n catch (_a) {\n return null;\n }\n }\n}\n/**\n * Use an HTML5 `template` element, if supported, or an inert body element created via\n * `createHtmlDocument` to create and fill an inert DOM element.\n * This is the fallback strategy if the browser does not support DOMParser.\n */\nclass InertDocumentHelper {\n constructor(defaultDoc) {\n this.defaultDoc = defaultDoc;\n this.inertDocument = this.defaultDoc.implementation.createHTMLDocument('sanitization-inert');\n if (this.inertDocument.body == null) {\n // usually there should be only one body element in the document, but IE doesn't have any, so\n // we need to create one.\n const inertHtml = this.inertDocument.createElement('html');\n this.inertDocument.appendChild(inertHtml);\n const inertBodyElement = this.inertDocument.createElement('body');\n inertHtml.appendChild(inertBodyElement);\n }\n }\n getInertBodyElement(html) {\n // Prefer using