{"version":3,"sources":["./node_modules/@babel/runtime/helpers/esm/isNativeFunction.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","../../../src/internal/operators/concatAll.ts","../../../src/internal/operators/endWith.ts","../../../src/internal/operators/reduce.ts","../../../src/internal/operators/takeUntil.ts","./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../src/internal/operators/sampleTime.ts","../../src/util/util.ts","../../../src/environment.ts","../../../src/ngb-config.ts","../../src/accordion/accordion-config.ts","../src/util/transition/util.ts","../src/util/transition/ngbTransition.ts","../src/util/transition/ngbCollapseTransition.ts","../../src/accordion/accordion.ts","../../src/accordion/accordion.module.ts","../../src/alert/alert-config.ts","../../src/alert/alert-transition.ts","../../src/alert/alert.ts","../../src/alert/alert.module.ts","../../src/buttons/label.ts","../../src/buttons/checkbox.ts","../../src/buttons/radio.ts","../../src/buttons/buttons.module.ts","../../src/carousel/carousel-config.ts","../../src/carousel/carousel-transition.ts","../../src/carousel/carousel.ts","../../src/carousel/carousel.module.ts","../../src/collapse/collapse-config.ts","../../src/collapse/collapse.ts","../../src/collapse/collapse.module.ts","../../src/datepicker/ngb-date.ts","../../src/datepicker/ngb-calendar.ts","../../src/datepicker/datepicker-tools.ts","../../src/datepicker/datepicker-i18n.ts","../../src/datepicker/datepicker-service.ts","../../src/datepicker/datepicker-view-model.ts","../../src/datepicker/datepicker-config.ts","../src/datepicker/adapters/ngb-date-adapter.ts","../../src/datepicker/datepicker.ts","../../src/util/key.ts","../../src/datepicker/datepicker-keyboard-service.ts","../../src/datepicker/datepicker-month.ts","../../src/datepicker/datepicker-navigation.ts","../../src/util/autoclose.ts","../../src/util/focus-trap.ts","../../src/util/positioning.ts","../../src/datepicker/ngb-date-parser-formatter.ts","../../src/datepicker/datepicker-input-config.ts","../../src/datepicker/datepicker-input.ts","../../src/datepicker/datepicker-day-view.ts","../../src/datepicker/datepicker-navigation-select.ts","../src/datepicker/hijri/ngb-calendar-hijri.ts","../src/datepicker/hijri/ngb-calendar-islamic-civil.ts","../src/datepicker/hijri/ngb-calendar-islamic-umalqura.ts","../src/datepicker/jalali/jalali.ts","../src/datepicker/jalali/ngb-calendar-persian.ts","../src/datepicker/hebrew/hebrew.ts","../src/datepicker/hebrew/ngb-calendar-hebrew.ts","../src/datepicker/hebrew/datepicker-i18n-hebrew.ts","../src/datepicker/adapters/ngb-date-native-adapter.ts","../src/datepicker/adapters/ngb-date-native-utc-adapter.ts","../../src/datepicker/datepicker.module.ts","../../src/dropdown/dropdown-config.ts","../../src/dropdown/dropdown.ts","../../src/dropdown/dropdown.module.ts","../../src/modal/modal-config.ts","../../src/util/popup.ts","../../src/util/scrollbar.ts","../../src/modal/modal-backdrop.ts","../../src/modal/modal-ref.ts","../../src/modal/modal-dismiss-reasons.ts","../../src/modal/modal-window.ts","../../src/modal/modal-stack.ts","../../src/modal/modal.ts","../../src/modal/modal.module.ts","../../src/nav/nav-config.ts","../../src/nav/nav.ts","../../src/nav/nav-transition.ts","../../src/nav/nav-outlet.ts","../../src/nav/nav.module.ts","../../src/pagination/pagination-config.ts","../../src/pagination/pagination.ts","../../src/pagination/pagination.module.ts","../../src/util/triggers.ts","../../src/popover/popover-config.ts","../../src/popover/popover.ts","../../src/popover/popover.module.ts","../../src/progressbar/progressbar-config.ts","../../src/progressbar/progressbar.ts","../../src/progressbar/progressbar.module.ts","../../src/rating/rating-config.ts","../../src/rating/rating.ts","../../src/rating/rating.module.ts","../../src/timepicker/ngb-time.ts","../../src/timepicker/timepicker-config.ts","../../src/timepicker/ngb-time-adapter.ts","../../src/timepicker/timepicker-i18n.ts","../../src/timepicker/timepicker.ts","../../src/timepicker/timepicker.module.ts","../../src/toast/toast-config.ts","../../src/toast/toast-transition.ts","../../src/toast/toast.ts","../../src/toast/toast.module.ts","../../src/tooltip/tooltip-config.ts","../../src/tooltip/tooltip.ts","../../src/tooltip/tooltip.module.ts","../../src/typeahead/highlight.ts","../../src/typeahead/typeahead-window.ts","../src/util/accessibility/live.ts","../../src/typeahead/typeahead-config.ts","../../src/typeahead/typeahead.ts","../../src/typeahead/typeahead.module.ts","../../../src/index.ts","../../../src/ng-bootstrap.ts","./node_modules/@angular/compiler/fesm2015/compiler.js","../../../src/internal/observable/zip.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArray.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","../../../src/internal/operators/skipWhile.ts","../../../src/internal/operators/delay.ts","../../../src/internal/scheduler/AsyncAction.ts","../../../../../../packages/forms/src/directives/control_value_accessor.ts","../../../../../../packages/forms/src/directives/checkbox_value_accessor.ts","../../../../../../packages/forms/src/directives/default_value_accessor.ts","../../../../../../packages/forms/src/validators.ts","../../../../../../packages/forms/src/directives/abstract_control_directive.ts","../../../../../../packages/forms/src/directives/control_container.ts","../../../../../../packages/forms/src/directives/ng_control.ts","../../../../../../packages/forms/src/directives/ng_control_status.ts","../../../../../../packages/forms/src/directives/number_value_accessor.ts","../../../../../../packages/forms/src/directives/radio_control_value_accessor.ts","../../../../../../packages/forms/src/directives/range_value_accessor.ts","../../../../../../packages/forms/src/directives/error_examples.ts","../../../../../../packages/forms/src/directives/reactive_errors.ts","../../../../../../packages/forms/src/directives/select_control_value_accessor.ts","../../../../../../packages/forms/src/directives/select_multiple_control_value_accessor.ts","../../../../../../packages/forms/src/directives/shared.ts","../../../../../../packages/forms/src/model.ts","../../../../../../packages/forms/src/directives/ng_form.ts","../../../../../../packages/forms/src/directives/abstract_form_group_directive.ts","../../../../../../packages/forms/src/directives/template_driven_errors.ts","../../../../../../packages/forms/src/directives/ng_model_group.ts","../../../../../../packages/forms/src/directives/ng_model.ts","../../../../../../packages/forms/src/directives/ng_no_validate_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_directive.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_group_name.ts","../../../../../../packages/forms/src/directives/reactive_directives/form_control_name.ts","../../../../../../packages/forms/src/directives/validators.ts","../../../../../../packages/forms/src/directives.ts","../../../../../../packages/forms/src/form_builder.ts","../../../../../../packages/forms/src/version.ts","../../../../../../packages/forms/src/form_providers.ts","../../../../../../packages/forms/src/forms.ts","../../../../../../packages/forms/public_api.ts","../../../../../../packages/forms/index.ts","../../../../../../packages/forms/forms.ts","../../../src/internal/operators/auditTime.ts","ngx-bootstrap/component-loader/bs-component-ref.class.ts","ngx-bootstrap/component-loader/content-ref.class.ts","ngx-bootstrap/component-loader/component-loader.class.ts","ngx-bootstrap/component-loader/component-loader.factory.ts","../../../src/internal/operators/ignoreElements.ts","../../../src/internal/util/ArgumentOutOfRangeError.ts","../../../src/internal/observable/bindNodeCallback.ts","../../../src/internal/operators/race.ts","../../../src/internal/operators/timeInterval.ts","../../../src/internal/scheduled/schedulePromise.ts","../../../src/internal/operators/mergeMap.ts","../../../src/internal/operators/mergeScan.ts","../../src/internal/InnerSubscriber.ts","../../../src/internal/scheduled/scheduleObservable.ts","../../../src/internal/observable/never.ts","../../../src/internal/operators/debounce.ts","../../../src/internal/util/isObservable.ts","../../../src/internal/scheduled/scheduled.ts","../../../src/internal/scheduler/asap.ts","ngx-google-places-autocomplete.umd.js","../../src/internal/Subscriber.ts","../../../src/internal/scheduler/Action.ts","../../../src/internal/operators/combineAll.ts","../../../src/internal/util/canReportError.ts","../../../src/internal/operators/bufferCount.ts","../../../src/internal/operators/elementAt.ts","../../../src/internal/util/ObjectUnsubscribedError.ts","../../../src/internal/operators/partition.ts","../../../src/internal/operators/takeLast.ts","./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../src/internal/util/isIterable.ts","../../../src/internal/util/subscribeToObservable.ts","./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../src/internal/observable/from.ts","../../../src/internal/operators/mapTo.ts","../../../src/internal/scheduler/async.ts","../../../src/internal/util/isArray.ts","./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../src/internal/observable/ConnectableObservable.ts","../../../src/internal/observable/empty.ts","../../../src/internal/util/not.ts","../../../src/internal/operators/bufferToggle.ts","../../../src/internal/operators/expand.ts","../../../src/internal/operators/min.ts","../../../src/internal/operators/takeWhile.ts","../../../src/internal/operators/every.ts","../../../src/internal/operators/zip.ts","../../../src/internal/operators/repeatWhen.ts","../../../src/internal/observable/concat.ts","../../src/internal/Observable.ts","../../../src/internal/scheduler/QueueScheduler.ts","../../../src/internal/observable/onErrorResumeNext.ts","../../../src/internal/operators/count.ts","../../../src/internal/util/isArrayLike.ts","../../../src/internal/operators/toArray.ts","../../../src/internal/scheduler/AsyncScheduler.ts","../../../src/internal/operators/take.ts","../../../src/internal/operators/catchError.ts","./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../src/internal/operators/startWith.ts","./node_modules/@babel/runtime/helpers/esm/inherits.js","../../../src/internal/operators/zipAll.ts","../../../src/internal/operators/findIndex.ts","./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../src/internal/operators/debounceTime.ts","../../../src/internal/operators/scan.ts","../../../src/internal/util/noop.ts","./node_modules/@babel/runtime/helpers/esm/createSuper.js","../../../src/internal/observable/of.ts","../../../src/internal/symbol/iterator.ts","../../../src/internal/scheduled/scheduleIterable.ts","../../../src/internal/operators/retryWhen.ts","./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","../../../src/internal/operators/publish.ts","../../../src/internal/observable/race.ts","../../../src/internal/observable/SubscribeOnObservable.ts","./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../src/internal/operators/groupBy.ts","../../../src/internal/operators/bufferTime.ts","./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../src/internal/operators/distinctUntilKeyChanged.ts","../../../src/internal/operators/bufferWhen.ts","../../../src/internal/observable/timer.ts","../../../src/internal/scheduler/AsapAction.ts","../../../src/internal/util/isInteropObservable.ts","../../../src/internal/observable/using.ts","../../../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","../../../src/internal/scheduler/AsapScheduler.ts","./node_modules/@babel/runtime/helpers/esm/get.js","../../../src/internal/util/subscribeTo.ts","../../../src/internal/util/identity.ts","../../../src/internal/operators/first.ts","./node_modules/@babel/runtime/helpers/esm/toArray.js","./node_modules/@babel/runtime/helpers/esm/typeof.js","../../../src/internal/operators/publishBehavior.ts","../../../src/internal/operators/windowTime.ts","../../../src/internal/operators/mergeMapTo.ts","../../../src/internal/operators/shareReplay.ts","../../../src/internal/observable/merge.ts","../../../src/internal/scheduler/AnimationFrameAction.ts","./node_modules/ngx-google-places-autocomplete/objects/options/options.js","../../src/internal/Notification.ts","../../../src/internal/observable/generate.ts","../../../src/internal/util/toSubscriber.ts","ngx-bootstrap/positioning/utils/getStyleComputedProperty.ts","ngx-bootstrap/positioning/utils/getParentNode.ts","ngx-bootstrap/positioning/utils/getScrollParent.ts","ngx-bootstrap/positioning/utils/isBrowser.ts","ngx-bootstrap/positioning/utils/isIE.ts","ngx-bootstrap/positioning/utils/getOffsetParent.ts","ngx-bootstrap/positioning/utils/isOffsetContainer.ts","ngx-bootstrap/positioning/utils/getRoot.ts","ngx-bootstrap/positioning/utils/findCommonOffsetParent.ts","ngx-bootstrap/positioning/utils/getBordersSize.ts","ngx-bootstrap/positioning/utils/getWindowSizes.ts","ngx-bootstrap/positioning/utils/getScroll.ts","ngx-bootstrap/positioning/utils/getClientRect.ts","ngx-bootstrap/positioning/utils/getBoundingClientRect.ts","ngx-bootstrap/positioning/utils/includeScroll.ts","ngx-bootstrap/positioning/utils/getOffsetRectRelativeToArbitraryNode.ts","ngx-bootstrap/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.ts","ngx-bootstrap/positioning/utils/isFixed.ts","ngx-bootstrap/positioning/utils/getFixedPositionOffsetParent.ts","ngx-bootstrap/positioning/utils/getBoundaries.ts","ngx-bootstrap/positioning/utils/computeAutoPlacement.ts","ngx-bootstrap/positioning/utils/getOffsets.ts","ngx-bootstrap/positioning/utils/getOppositePlacement.ts","ngx-bootstrap/positioning/utils/getOppositeVariation.ts","ngx-bootstrap/positioning/utils/getOuterSizes.ts","ngx-bootstrap/positioning/utils/getReferenceOffsets.ts","ngx-bootstrap/positioning/utils/getTargetOffsets.ts","ngx-bootstrap/positioning/utils/isModifierEnabled.ts","ngx-bootstrap/positioning/utils/isNumeric.ts","ngx-bootstrap/positioning/utils/updateContainerClass.ts","ngx-bootstrap/positioning/utils/setStyles.ts","ngx-bootstrap/positioning/modifiers/arrow.ts","ngx-bootstrap/positioning/modifiers/flip.ts","ngx-bootstrap/positioning/modifiers/initData.ts","ngx-bootstrap/positioning/modifiers/preventOverflow.ts","ngx-bootstrap/positioning/modifiers/shift.ts","ngx-bootstrap/positioning/ng-positioning.ts","ngx-bootstrap/positioning/positioning.service.ts","../../../src/internal/operators/throwIfEmpty.ts","../../src/internal/Subject.ts","./node_modules/@babel/runtime/helpers/esm/superPropBase.js","../../../src/internal/util/isObject.ts","../../../src/internal/operators/exhaustMap.ts","../../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","../../src/internal/SubjectSubscription.ts","../../../src/internal/scheduler/QueueAction.ts","../../../src/internal/util/subscribeToResult.ts","../../../src/internal/operators/pairwise.ts","../../../src/internal/operators/sequenceEqual.ts","./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../../../packages/platform-browser-dynamic/src/compiler_reflector.ts","../../../../../../packages/platform-browser-dynamic/src/compiler_factory.ts","../../../../../../packages/platform-browser-dynamic/src/platform_core_dynamic.ts","../../../../../../packages/platform-browser-dynamic/src/resource_loader/resource_loader_impl.ts","../../../../../../packages/platform-browser-dynamic/src/platform_providers.ts","../../../../../../packages/platform-browser-dynamic/src/resource_loader/resource_loader_cache.ts","../../../../../../packages/platform-browser-dynamic/src/private_export.ts","../../../../../../packages/platform-browser-dynamic/src/version.ts","../../../../../../packages/platform-browser-dynamic/src/platform-browser-dynamic.ts","../../../../../../packages/platform-browser-dynamic/public_api.ts","../../../../../../packages/platform-browser-dynamic/index.ts","../../../../../../packages/platform-browser-dynamic/platform-browser-dynamic.ts","../../../src/internal/util/subscribeToPromise.ts","../../../src/internal/operators/switchMapTo.ts","../../../src/internal/operators/mergeAll.ts","../../../src/internal/operators/concatMap.ts","../../../src/internal/util/isPromise.ts","../../../src/internal/operators/sample.ts","../../../src/internal/util/Immediate.ts","../../../src/internal/operators/find.ts","../../../src/internal/operators/delayWhen.ts","../../../src/internal/observable/forkJoin.ts","../../../src/internal/operators/single.ts","./node_modules/ngx-google-places-autocomplete/ngx-google-places-autocomplete.directive.js","../../../src/internal/operators/materialize.ts","../../../src/internal/operators/switchMap.ts","../../../src/internal/scheduler/animationFrame.ts","../../../src/internal/operators/concat.ts","../../../src/internal/operators/combineLatest.ts","./node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../src/internal/Observer.ts","../../../src/internal/operators/throttleTime.ts","./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../../../src/internal/observable/pairs.ts","../../../src/internal/scheduler/VirtualTimeScheduler.ts","../../../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","../../src/internal/ReplaySubject.ts","./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../../../src/internal/symbol/observable.ts","../../src/operators/index.ts","../../../src/internal/operators/skipLast.ts","../../../src/internal/operators/dematerialize.ts","../../../src/internal/observable/interval.ts","../../src/internal/OuterSubscriber.ts","../../../src/internal/operators/map.ts","ngx-bootstrap/utils/trigger.class.ts","ngx-bootstrap/utils/triggers.ts","ngx-bootstrap/utils/facade/browser.ts","ngx-bootstrap/utils/theme-provider.ts","ngx-bootstrap/utils/linked-list.class.ts","ngx-bootstrap/utils/decorators.ts","ngx-bootstrap/utils/utils.class.ts","ngx-bootstrap/utils/warn-once.ts","../../../src/internal/operators/windowCount.ts","./node_modules/regenerator-runtime/runtime.js","../../../src/internal/operators/isEmpty.ts","../../../src/internal/util/pipe.ts","./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../src/internal/operators/window.ts","../../../src/internal/util/isDate.ts","./node_modules/tslib/tslib.es6.js","../../../src/internal/util/isFunction.ts","../../../src/internal/operators/finalize.ts","../../../src/internal/util/subscribeToArray.ts","./node_modules/@babel/runtime/regenerator/index.js","../../../src/internal/operators/multicast.ts","../../../../../../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","../../../src/internal/operators/buffer.ts","../../../src/internal/operators/filter.ts","../../../src/internal/util/subscribeToIterable.ts","../../../src/internal/operators/windowWhen.ts","../../../src/internal/util/UnsubscriptionError.ts","../../../src/internal/operators/observeOn.ts","../../../src/internal/operators/concatMapTo.ts","../../../src/internal/operators/merge.ts","../src/index.ts","ngx-bootstrap/typeahead/latin-map.ts","ngx-bootstrap/typeahead/typeahead-options.class.ts","ngx-bootstrap/typeahead/typeahead-match.class.ts","ngx-bootstrap/typeahead/typeahead-order.class.ts","ngx-bootstrap/typeahead/typeahead-utils.ts","ngx-bootstrap/typeahead/typeahead-animations.ts","ngx-bootstrap/typeahead/typeahead-container.component.ts","ngx-bootstrap/typeahead/typeahead.config.ts","ngx-bootstrap/typeahead/typeahead.directive.ts","ngx-bootstrap/typeahead/typeahead.module.ts","../../../src/internal/operators/publishLast.ts","../../../src/internal/scheduler/queue.ts","../../src/internal/Subscription.ts","../../../src/internal/operators/timestamp.ts","../../../src/internal/observable/iif.ts","./node_modules/@babel/runtime/helpers/esm/defineProperty.js","./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.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","../../../src/internal/operators/subscribeOn.ts","../../../../../../packages/common/http/src/backend.ts","../../../../../../packages/common/http/src/headers.ts","../../../../../../packages/common/http/src/params.ts","../../../../../../packages/common/http/src/request.ts","../../../../../../packages/common/http/src/response.ts","../../../../../../packages/common/http/src/client.ts","../../../../../../packages/common/http/src/interceptor.ts","../../../../../../packages/common/http/src/jsonp.ts","../../../../../../packages/common/http/src/xhr.ts","../../../../../../packages/common/http/src/xsrf.ts","../../../../../../packages/common/http/src/module.ts","../../../../../../packages/common/http/public_api.ts","../../../../../../packages/common/http/index.ts","../../../../../../packages/common/http/http.ts","../../../src/internal/operators/audit.ts","../../../../../../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/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../../../src/internal/operators/onErrorResumeNext.ts","../../../src/internal/operators/retry.ts","../../../src/internal/operators/tap.ts","../../../src/internal/operators/skipUntil.ts","./node_modules/@babel/runtime/helpers/esm/createClass.js","../../../src/internal/operators/share.ts","../../../src/internal/operators/pluck.ts","../../../src/internal/operators/refCount.ts","../../../src/internal/operators/defaultIfEmpty.ts","../../../src/internal/observable/fromEvent.ts","../../../src/internal/observable/fromArray.ts","../../../src/internal/operators/max.ts","../../../src/internal/operators/throttle.ts","../../../src/internal/util/isScheduler.ts","../../../src/internal/observable/throwError.ts","../../../src/internal/operators/skip.ts","../../../src/internal/scheduler/AnimationFrameScheduler.ts","../../../src/internal/operators/withLatestFrom.ts","../../../src/internal/operators/exhaust.ts","../../src/internal/innerSubscribe.ts"],"names":["nextId","mod","GREGORIAN_EPOCH","isGregorianLeapYear","fromGregorian","toGregorian","TagContentType","splitNsName","elementName","colonIndex","indexOf","Error","slice","isNgContainer","tagName","isNgContent","isNgTemplate","getNsPrefix","fullName","mergeNsAndName","prefix","localName","NAMED_ENTITIES","NGSP_UNICODE","HtmlTagDefinition","closedByChildren","implicitNamespacePrefix","contentType","PARSABLE_DATA","closedByParent","isVoid","ignoreFirstLf","preventNamespaceInheritance","canSelfClose","length","forEach","name","toLowerCase","overrideType","undefined","default","_DEFAULT_TAG_DEFINITION","TAG_DEFINITIONS","getHtmlTagDefinition","_a","_b","RAW_TEXT","ESCAPABLE_RAW_TEXT","svg","_SELECTOR_REGEXP","RegExp","CssSelector","element","classNames","attrs","notSelectors","hasElementSelector","classAttr","join","i","attrName","attrValue","result","push","concat","value","res","klass","notSelector","selector","results","_addResult","cssSel","cssSelector","match","current","inNot","lastIndex","exec","tag","addAttribute","substr","addClassName","setElement","attribute","SelectorMatcher","_elementMap","Map","_elementPartialMap","_classMap","_classPartialMap","_attrValueMap","_attrValuePartialMap","_listContexts","cssSelectors","callbackCtxt","listContext","SelectorListContext","_addSelectable","matcher","selectable","SelectorContext","isTerminal","_addTerminal","_addPartial","className","terminalMap","terminalValuesMap","get","set","partialMap","partialValuesMap","map","terminalList","matchedCallback","alreadyMatched","_matchTerminal","_matchPartial","selectables","starSelectables","finalize","nestedSelector","notMatcher","addSelectables","selectors","cbContext","callback","createNotMatcher","createInject","makeMetadataFactory","token","createInjectionToken","desc","_desc","ɵprov","createAttribute","attributeName","emitDistinctChangesOnlyDefaultValue","createContentChildren","data","Object","assign","first","isViewQuery","descendants","emitDistinctChangesOnly","createContentChild","createViewChildren","createViewChild","createDirective","dir","ViewEncapsulation","ChangeDetectionStrategy","createComponent","c","changeDetection","Default","createPipe","p","pure","createInput","bindingPropertyName","createOutput","createHostBinding","hostPropertyName","createHostListener","eventName","args","createNgModule","ngModule","createInjectable","injectable","CUSTOM_ELEMENTS_SCHEMA","NO_ERRORS_SCHEMA","createOptional","createSelf","createSkipSelf","createHost","Type","Function","SecurityContext","MissingTranslationStrategy","props","factory","values","ngMetadataName","isTypeOf","obj","parserSelectorToSimpleSelector","classes","parserSelectorToNegativeSelector","parserSelectorToR3Selector","positive","negative","parseSelectorToR3Selector","parse","core","freeze","__proto__","TypeModifier","Type$1","modifiers","modifier","BuiltinTypeName","BuiltinType","visitor","context","visitBuiltinType","ExpressionType","typeParams","visitExpressionType","ArrayType","of","visitArrayType","MapType","valueType","visitMapType","DYNAMIC_TYPE","Dynamic","INFERRED_TYPE","Inferred","BOOL_TYPE","Bool","INT_TYPE","Int","NUMBER_TYPE","Number","STRING_TYPE","String","FUNCTION_TYPE","NONE_TYPE","None","UnaryOperator","BinaryOperator","nullSafeIsEquivalent","base","other","isEquivalent","areAllEquivalentPredicate","equivalentPredicate","len","areAllEquivalent","baseElement","otherElement","Expression","type","sourceSpan","ReadPropExpr","index","ReadKeyExpr","params","InvokeMethodExpr","InvokeFunctionExpr","InstantiateExpr","trueCase","falseCase","ConditionalExpr","rhs","BinaryOperatorExpr","Equals","NotEquals","Identical","NotIdentical","Minus","Plus","Divide","Multiply","Modulo","And","parens","BitwiseAnd","Or","Lower","LowerEquals","Bigger","BiggerEquals","equals","TYPED_NULL_EXPR","CastExpr","ExpressionStatement","BuiltinVar","ReadVarExpr","builtin","e","visitReadVarExpr","WriteVarExpr","TypeofExpr","expr","visitTypeofExpr","isConstant","WrappedNodeExpr","node","visitWrappedNodeExpr","visitWriteVarExpr","DeclareVarStmt","toDeclStmt","StmtModifier","Final","WriteKeyExpr","receiver","visitWriteKeyExpr","WritePropExpr","visitWritePropExpr","BuiltinMethod","method","visitInvokeMethodExpr","fn","visitInvokeFunctionExpr","TaggedTemplateExpr","template","elements","a","b","text","expressions","visitTaggedTemplateExpr","classExpr","visitInstantiateExpr","LiteralExpr","visitLiteralExpr","TemplateLiteral","TemplateLiteralElement","rawText","toString","escapeForTemplateLiteral","escapeSlashes","MessagePiece","LiteralPiece","PlaceholderPiece","LocalizedString","metaBlock","messageParts","placeHolderNames","visitLocalizedString","MEANING_SEPARATOR","ID_SEPARATOR","LEGACY_ID_INDICATOR","description","meaning","customId","legacyIds","legacyId","createCookedRawString","getMessagePartSourceSpan","_c","_d","partIndex","placeholderName","messagePart","str","replace","escapeStartingColon","escapeColons","range","cooked","raw","ExternalExpr","moduleName","runtime","visitExternalExpr","ExternalReference","condition","visitConditionalExpr","NotExpr","visitNotExpr","AssertNotNull","visitAssertNotNullExpr","visitCastExpr","FnParam","param","FunctionExpr","statements","visitFunctionExpr","DeclareFunctionStmt","UnaryOperatorExpr","operator","visitUnaryOperatorExpr","lhs","visitBinaryOperatorExpr","visitReadPropExpr","visitReadKeyExpr","LiteralArrayExpr","entries","every","visitLiteralArrayExpr","LiteralMapEntry","key","quoted","LiteralMapExpr","visitLiteralMapExpr","CommaExpr","parts","visitCommaExpr","THIS_EXPR","This","SUPER_EXPR","Super","CATCH_ERROR_VAR","CatchError","CATCH_STACK_VAR","CatchStack","NULL_EXPR","LeadingComment","multiline","trailingNewline","JSDocComment","tags","serializeTags","Statement","leadingComments","leadingComment","stmt","visitDeclareVarStmt","visitDeclareFunctionStmt","visitExpressionStmt","ReturnStatement","visitReturnStmt","AbstractClassPart","ClassField","initializer","f","ClassMethod","body","m","ClassGetter","ClassStmt","parent","fields","getters","constructorMethod","methods","visitDeclareClassStmt","IfStmt","visitIfStmt","TryCatchStmt","bodyStmts","catchStmts","visitTryCatchStmt","ThrowStmt","error","visitThrowStmt","AstTransformer","ast","transformExpr","visitExpression","visitAllExpressions","visitAllStatements","entry","mapType","exprs","transformStmt","getter","ctorMethod","stmts","visitStatement","RecursiveAstVisitor","visitType","findReadVarNames","_ReadVarVisitor","varNames","arguments","Set","add","collectExternalReferences","_FindExternalReferencesVisitor","externalReferences","applySourceSpanToStatementIfNeeded","transformer","_ApplySourceSpanTransformer","applySourceSpanToExpressionIfNeeded","clone","create","constructor","prototype","keys","prop","_clone","jsDocComment","variable","importExpr","id","importType","typeModifiers","expressionType","typeofExpr","literalArr","literalMap","unary","not","assertNotNull","ifStmt","thenClause","elseClause","taggedTemplate","literal","localizedString","placeholderNames","isNull","exp","tagToString","out","DASH_CASE_REGEXP","dashCaseToCamelCase","input","toUpperCase","splitAtColon","defaultValues","_splitAt","splitAtPeriod","character","characterIndex","trim","visitValue","Array","isArray","visitArray","isStrictStringMap","visitStringMap","visitPrimitive","visitOther","isDefined","val","noUndefined","ValueTransformer","arr","SyncAsync","assertSync","isPromise","then","cb","all","syncAsyncValues","some","Promise","msg","syntaxError","parseErrors","ERROR_SYNTAX_ERROR","ERROR_PARSE_ERRORS","isSyntaxError","getParseErrors","escapeRegExp","s","STRING_MAP_PROTO","getPrototypeOf","utf8Encode","encoded","codePoint","charCodeAt","low","stringify","overriddenName","newLineIndex","substring","resolveForwardRef","hasOwnProperty","Version","full","splits","split","major","minor","patch","__window","window","__self","self","WorkerGlobalScope","__global","global","_global","newArray","size","list","partitionArray","conditionFn","truthy","falsy","item","CONSTANT_PREFIX","UNKNOWN_VALUE_KEY","KEY_CONTEXT","POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS","FixupExpression","resolved","original","expression","shared","ConstantPool","isClosureCompilerEnabled","literals","literalFactories","injectorDefinitions","directiveDefinitions","componentDefinitions","pipeDefinitions","nextNameIndex","forceShared","isLongStringLiteral","keyOf","fixup","newValue","freshName","definition","usage","callFn","kind","ctx","definitions","definitionsOf","property","propertyNameOf","argumentsForKey","_getLiteralFactory","expressionForKey","resultMap","literalFactory","literalFactoryArguments","filter","resultExpressions","getConstLiteral","parameters","isVariable","pureFunctionDeclaration","uniqueName","KeyVisitor","invalid","mapKey","quote","mapEntry","arg","CORE","Identifiers","ANALYZE_FOR_ENTRY_COMPONENTS","ElementRef","NgModuleRef","ViewContainerRef","ChangeDetectorRef","QueryList","TemplateRef","Renderer2","CodegenComponentFactoryResolver","ComponentFactoryResolver","ComponentFactory","ComponentRef","NgModuleFactory","createModuleFactory","moduleDef","moduleProviderDef","RegisterModuleFactoryFn","inject","directiveInject","INJECTOR","Injector","ɵɵdefineInjectable","InjectableDef","LOCALE_ID","TRANSLATIONS_FORMAT","inlineInterpolate","interpolate","EMPTY_ARRAY","EMPTY_MAP","Renderer","viewDef","elementDef","anchorDef","textDef","directiveDef","providerDef","queryDef","pureArrayDef","pureObjectDef","purePipeDef","pipeDef","nodeValue","ngContentDef","unwrapValue","createRendererType2","RendererType2","ViewDefinition","createComponentFactory","setClassMetadata","createTokenForReference","reference","identifier","createTokenForExternalReference","reflector","resolveExternalReference","StaticSymbol","filePath","members","JSON","StaticSymbolCache","cache","declarationFile","memberSuffix","HOST_REG_EXP","sanitizeIdentifier","_anonymousTypeIndex","identifierName","compileIdentifier","ref","identifierModuleUrl","viewClassName","compType","embeddedTemplateIndex","rendererTypeName","hostViewClassName","componentFactoryName","CompileSummaryKind","tokenName","tokenReference","CompileStylesheetMetadata","moduleUrl","styles","styleUrls","_normalizeArray","CompileTemplateMetadata","encapsulation","templateUrl","htmlAst","externalStylesheets","animations","ngContentSelectors","interpolation","isInline","preserveWhitespaces","flatten","CompileDirectiveMetadata","isHost","isComponent","exportAs","inputs","outputs","hostListeners","hostProperties","hostAttributes","providers","viewProviders","queries","guards","viewQueries","entryComponents","componentViewType","rendererType","componentFactory","summaryKind","Directive","toSummary","host","matches","inputsMap","bindConfig","outputsMap","CompilePipeMetadata","Pipe","CompileShallowModuleMetadata","CompileNgModuleMetadata","declaredDirectives","exportedDirectives","declaredPipes","exportedPipes","bootstrapComponents","importedModules","exportedModules","schemas","transitiveModule","module","NgModule","modules","TransitiveCompileNgModuleMetadata","directivesSet","directives","exportedDirectivesSet","pipesSet","pipes","exportedPipesSet","modulesSet","entryComponentsSet","provider","has","ec","componentType","ProviderMeta","useClass","useValue","useExisting","useFactory","deps","multi","dependencies","reduce","flat","flatItem","jitSourceUrl","url","templateSourceUrl","ngModuleType","compMeta","templateMeta","sharedStylesheetJitUrl","meta","pathParts","baseName","ngModuleJitUrl","moduleMeta","templateJitUrl","CORE$1","Identifiers$1","NEW_METHOD","TRANSFORM_METHOD","PATCH_DEPS","namespaceHTML","namespaceMathML","namespaceSVG","elementStart","elementEnd","advance","syntheticHostProperty","syntheticHostListener","attributeInterpolate1","attributeInterpolate2","attributeInterpolate3","attributeInterpolate4","attributeInterpolate5","attributeInterpolate6","attributeInterpolate7","attributeInterpolate8","attributeInterpolateV","classProp","elementContainerStart","elementContainerEnd","elementContainer","styleMap","styleMapInterpolate1","styleMapInterpolate2","styleMapInterpolate3","styleMapInterpolate4","styleMapInterpolate5","styleMapInterpolate6","styleMapInterpolate7","styleMapInterpolate8","styleMapInterpolateV","classMap","classMapInterpolate1","classMapInterpolate2","classMapInterpolate3","classMapInterpolate4","classMapInterpolate5","classMapInterpolate6","classMapInterpolate7","classMapInterpolate8","classMapInterpolateV","styleProp","stylePropInterpolate1","stylePropInterpolate2","stylePropInterpolate3","stylePropInterpolate4","stylePropInterpolate5","stylePropInterpolate6","stylePropInterpolate7","stylePropInterpolate8","stylePropInterpolateV","nextContext","templateCreate","enableBindings","disableBindings","getCurrentView","textInterpolate","textInterpolate1","textInterpolate2","textInterpolate3","textInterpolate4","textInterpolate5","textInterpolate6","textInterpolate7","textInterpolate8","textInterpolateV","restoreView","pureFunction0","pureFunction1","pureFunction2","pureFunction3","pureFunction4","pureFunction5","pureFunction6","pureFunction7","pureFunction8","pureFunctionV","pipeBind1","pipeBind2","pipeBind3","pipeBind4","pipeBindV","hostProperty","propertyInterpolate","propertyInterpolate1","propertyInterpolate2","propertyInterpolate3","propertyInterpolate4","propertyInterpolate5","propertyInterpolate6","propertyInterpolate7","propertyInterpolate8","propertyInterpolateV","i18n","i18nAttributes","i18nExp","i18nStart","i18nEnd","i18nApply","i18nPostprocess","pipe","projection","projectionDef","injectAttribute","injectPipeChangeDetectorRef","invalidFactory","invalidFactoryDep","templateRefExtractor","forwardRef","resolveWindow","resolveDocument","resolveBody","defineComponent","declareComponent","setComponentScope","ComponentDefWithMeta","FactoryDef","defineDirective","declareDirective","DirectiveDefWithMeta","InjectorDef","defineInjector","NgModuleDefWithMeta","ModuleWithProviders","defineNgModule","setNgModuleScope","PipeDefWithMeta","definePipe","declarePipe","queryRefresh","viewQuery","loadQuery","contentQuery","NgOnChangesFeature","InheritDefinitionFeature","CopyDefinitionFeature","ProvidersFeature","listener","getFactoryOf","getInheritedFactory","sanitizeHtml","sanitizeStyle","sanitizeResourceUrl","sanitizeScript","sanitizeUrl","sanitizeUrlOrResourceUrl","trustConstantHtml","trustConstantResourceUrl","VERSION","JS_B64_PREFIX","SourceMapGenerator","file","sourcesContent","lines","lastCol0","hasMappings","content","col0","sourceUrl","sourceLine0","sourceCol0","currentLine","sourcesIndex","sources","from","mappings","lastSourceIndex","lastSourceLine0","lastSourceCol0","segments","segment","segAsStr","toBase64VLQ","toBase64String","b64","i1","i2","i3","toBase64Digit","digit","B64_DIGITS","_SINGLE_QUOTE_ESCAPE_STRING_RE","_LEGAL_IDENTIFIER_RE","_INDENT_WITH","CATCH_ERROR_VAR$1","CATCH_STACK_VAR$1","_EmittedLine","indent","partsLength","srcSpans","EmitterVisitorContext","_indent","_classes","_preambleLineCount","_lines","lastPart","print","_currentLine","part","newLine","lineIsEmpty","pop","clazz","sourceLines","l","_createIndent","genFilePath","startsAtLine","firstOffsetMapped","mapFirstOffsetIfNeeded","addSource","addMapping","addLine","line","lineIdx","spans","spanIdx","span","source","start","sourceLine","sourceCol","col","count","column","emittedLine","columnsLeft","AbstractEmitterVisitor","_escapeDollarInStrings","comment","println","printLeadingComments","hasElseCase","removeEmptyLastLine","incIndent","decIndent","lineWasEmpty","getBuiltinMethodName","varName","escapeIdentifier","head","serializeI18nHead","serializeI18nTemplatePart","opStr","visitAllObjects","separator","handler","incrementedIndent","lineLength","escapeDollar","alwaysQuote","requiresQuotes","test","mapToMapExpression","convertMetaToOutput","typeWithParameters","numParams","ANIMATE_SYMBOL_PREFIX","prepareSyntheticPropertyName","prepareSyntheticListenerName","phase","isSyntheticPropertyOrListener","charAt","getSyntheticPropertyName","getSafePropertyAccessString","accessor","escapedName","prepareSyntheticListenerFunctionName","jitOnlyGuardedExpression","guardedExpression","devOnlyGuardedExpression","guard","guardExpr","guardNotDefined","guardUndefinedOrTrue","wrapReference","wrapped","Text","visitText","BoundText","visitBoundText","TextAttribute","keySpan","valueSpan","visitTextAttribute","BoundAttribute","securityContext","unit","visitBoundAttribute","BoundEvent","target","handlerSpan","visitBoundEvent","event","targetOrPhase","Element","attributes","children","references","startSourceSpan","endSourceSpan","visitElement","Template","templateAttrs","variables","visitTemplate","Content","visitContent","Variable","visitVariable","Reference","visitReference","Icu","vars","placeholders","visitIcu","NullVisitor","icu","RecursiveVisitor","visitAll","TransformVisitor","newAttributes","transformAll","newInputs","newOutputs","newChildren","newReferences","newTemplateAttrs","newVariables","nodes","visit","newNode","changed","Message","placeholderToMessage","startLine","startCol","endLine","end","endCol","Text$1","Container","visitContainer","Icu$1","cases","TagPlaceholder","startName","closeName","visitTagPlaceholder","Placeholder","visitPlaceholder","IcuPlaceholder","visitIcuPlaceholder","CloneVisitor","container","n","expressionPlaceholder","ph","RecurseVisitor","child","k","BigInteger","digits","addToSelf","maxNrOfDigits","Math","max","carry","digitSum","BigIntForMultiplication","powerOfTwos","num","product","zero","multiplyByAndAddTo","exponent","getMultipliedByPowerOfTwo","previousPower","BigIntExponentiation","exponents","one","multiplyBy","digest","message","computeDigest","sha1","serializeNodes","decimalDigest","computeDecimalDigest","_SerializerIgnoreIcuExpVisitor","computeMsgId","_SerializerVisitor","strCases","serializerVisitor","utf8","words32","bytesToWords32","Endian","Big","w","d","h0","h1","h2","h3","h4","j","rol32","fkVal","fk","temp","add32","bytesToHexString","words32ToByteString","fingerprint","hi","hash32","lo","msgFingerprint","meaningFingerprint","add64","rol64","wordsToDecimalString","bytes","wordAt","Little","mix","sub32","add32to64","high","ah","al","bh","bl","h","endian","byteAt","word","word32ToByteString","hex","base256","decimal","toThePowerOf","Serializer","SimplePlaceholderMapper","mapName","internalToPublic","publicToNextId","publicToInternal","internalName","publicName","visitPlaceholderName","_Visitor","strAttrs","_serializeAttributes","strChildren","decl","doctype","rootTag","dtd","_visitor","serialize","Declaration","unescapedAttrs","escapeXml","visitDeclaration","Doctype","visitDoctype","Tag","visitTag","Text$2","unescapedValue","CR","ws","_ESCAPED_CHARS","_MESSAGES_TAG","_MESSAGE_TAG","_PLACEHOLDER_TAG","_EXAMPLE_TAG","_SOURCE_TAG","_DOCTYPE","Xmb","messages","locale","exampleVisitor","ExampleVisitor","_Visitor$1","rootNode","sourceTags","version","encoding","addDefaultExamples","digest$1","toPublicName","startTagAsText","startEx","startTagPh","closeTagAsText","closeEx","closeTagPh","interpolationAsText","exTag","icuExpression","icuType","icuCases","icuAsText","exText","CLOSURE_TRANSLATION_VAR_PREFIX","TRANSLATION_VAR_PREFIX","I18N_ATTR","I18N_ATTR_PREFIX","I18N_ICU_VAR_PREFIX","I18N_ICU_MAPPING_PREFIX","I18N_PLACEHOLDER_SYMBOL","isI18nAttribute","startsWith","isI18nRootNode","isSingleI18nIcu","hasI18nMeta","hasI18nAttrs","attr","icuFromI18nMessage","wrapI18nPlaceholder","contextId","blockId","assembleI18nBoundString","strings","bindingStartIndex","acc","lastIdx","getSeqNumberGenerator","startsAt","placeholdersToParams","updatePlaceholderMap","assembleBoundTextPlaceholders","startIdx","find","idx","i18nFormatPlaceholderNames","useCamelCase","_params","formatI18nPlaceholderName","chunks","postfix","shift","getTranslationConstPrefix","extra","declareI18nVariable","UNSAFE_OBJECT_KEY_NAME_REGEXP","TEMPORARY_NAME","CONTEXT_NAME","RENDER_FLAGS","REFERENCE_PREFIX","IMPLICIT_REFERENCE","NON_BINDABLE_ATTR","temporaryAllocator","unsupported","feature","invalid$1","asLiteral","conditionallyCreateMapObjectLiteral","keepDeclared","getOwnPropertyNames","mapToExpression","declaredName","minifiedName","needsDeclaredName","includes","trimTrailingNulls","getQueryPredicate","query","constantPool","predicate","DefinitionMap","getAttrsForDirectiveMatching","elOrTpl","attributesMap","o","chainedInstruction","calls","getInterpolationArgsLength","R3FactoryDelegateType","R3FactoryTarget","R3ResolvedDependencyType","compileFactoryFunction","t","ctorDepsType","typeForCtor","isDelegatedMetadata","internalType","ctorExpr","injectDependencies","injectFn","createCtorDepsType","baseFactory","baseFactoryStmt","Exported","ctorExprFinal","retExpr","makeConditionalFactory","nonCtorExpr","r","ctorStmt","toStmt","delegateType","Factory","delegateFactory","delegate","delegateFactoryStmt","delegateArgs","delegateDeps","factoryExpr","Class","isExpressionFactoryMetadata","typeArgumentCount","isPipe","dep","compileInjectDependency","Token","flags","skipSelf","optional","flagsParam","injectArgs","Attribute","Invalid","hasTypes","attributeTypes","createCtorDepType","dependenciesFromGlobalMetadata","outputCtx","injectorRef","diDeps","dependency","tokenRef","isAttribute","isOptional","isSelf","isSkipSelf","compileInjectable","factoryMeta","Injectable","useClassOnSelf","userDeps","delegateToFactory","injectableProps","providedIn","callMethod","assertArrayOfStrings","UNUSABLE_INTERPOLATION_REGEXPS","assertInterpolationSymbols","regexp","InterpolationConfig","markers","DEFAULT_INTERPOLATION_CONFIG","makeTemplateObjectPolyfill","AbstractJsEmitterVisitor","pushClass","_visitClassConstructor","_visitClassGetter","_visitClassMethod","popClass","_visitParams","fnExpr","currentClass","ConcatArray","SubscribeObservable","Bind","policy","getPolicy","trustedTypes","createPolicy","createScript","trustedScriptFromString","script","newTrustedFunctionForJIT","fnArgs","fnBody","bind","JitEvaluator","createSourceMaps","converter","JitEmitterVisitor","createRoot","isUseStrictStatement","createReturnStmt","evaluateCode","getArgs","createSourceMap","toSource","fnArgNames","fnArgValues","argName","emptyFn","headerLines","toSourceMapGenerator","toJsComment","executeFunction","_evalArgNames","_evalArgValues","_evalExportedVars","resultVar","_emitReferenceToExternal","hasModifier","statement","$EOF","$BSPACE","$TAB","$LF","$VTAB","$FF","$CR","$SPACE","$BANG","$DQ","$HASH","$$","$PERCENT","$AMPERSAND","$SQ","$LPAREN","$RPAREN","$STAR","$PLUS","$COMMA","$MINUS","$PERIOD","$SLASH","$COLON","$SEMICOLON","$LT","$EQ","$GT","$QUESTION","$0","$7","$9","$A","$E","$F","$X","$Z","$LBRACKET","$BACKSLASH","$RBRACKET","$CARET","$_","$a","$b","$e","$f","$n","$r","$t","$u","$v","$x","$z","$LBRACE","$BAR","$RBRACE","$NBSP","$PIPE","$TILDA","$AT","$BT","isWhitespace","code","isDigit","isAsciiLetter","isAsciiHexDigit","isNewLine","isOctalDigit","ParseLocation","offset","delta","ch","priorLine","lastIndexOf","fromCharCode","maxChars","maxLines","startOffset","endOffset","ctxChars","ctxLines","before","after","ParseSourceFile","ParseSourceSpan","fullStart","details","ParseErrorLevel","ParseError","level","ERROR","getContext","contextualMessage","typeSourceSpan","sourceFileName","sourceFile","r3JitTypeSourceSpan","typeName","R3JitReflector","typeOrFunc","lcProperty","cmpMetadata","mapLiteral","compileNgModule","moduleType","bootstrap","declarations","imports","exports","containsForwardDecls","emitInline","additionalStatements","definitionMap","refsToArray","setNgModuleScopeCall","generateSetNgModuleScopeCall","tupleTypeOf","adjacentType","scopeMap","fnCall","guardedCall","iife","iifeCall","compileInjector","compileNgModuleFromRender2","injectableCompiler","rawImports","rawExports","injectorDefArg","factoryFor","symbol","rawProviders","injectorDef","Static","accessExportScope","selectorScope","types","refs","shouldForwardDeclare","compilePipeFromMetadata","metadata","definitionMapValues","pipeName","createPipeType","compilePipeFromRender2","factoryRes","definitionField","ngFactoryDefStatement","pipeDefStatement","ParserError","errLocation","ctxLocation","ParseSpan","absoluteOffset","AbsoluteSourceSpan","AST","ASTWithName","nameSpan","Quote","uninterpretedExpression","location","visitQuote","EmptyExpr","ImplicitReceiver","visitImplicitReceiver","ThisReceiver","visitThisReceiver","call","Chain","visitChain","Conditional","trueExp","falseExp","visitConditional","PropertyRead","visitPropertyRead","PropertyWrite","visitPropertyWrite","SafePropertyRead","visitSafePropertyRead","KeyedRead","visitKeyedRead","KeyedWrite","visitKeyedWrite","BindingPipe","visitPipe","LiteralPrimitive","visitLiteralPrimitive","LiteralArray","visitLiteralArray","LiteralMap","visitLiteralMap","Interpolation","visitInterpolation","Binary","operation","left","right","visitBinary","Unary","binaryOp","binaryLeft","binaryRight","visitUnary","PrefixNot","visitPrefixNot","NonNullAssert","visitNonNullAssert","MethodCall","visitMethodCall","SafeMethodCall","visitSafeMethodCall","FunctionCall","visitFunctionCall","ASTWithSource","errors","visitASTWithSource","VariableBinding","ExpressionBinding","RecursiveAstVisitor$1","asts","AstTransformer$1","createPlus","createMinus","AstMemoryEfficientTransformer","modified","ParsedProperty","isLiteral","ParsedPropertyType","LITERAL_ATTR","isAnimation","ANIMATION","ParsedEvent","ParsedVariable","BoundElementProperty","EventHandlerVars","ConvertActionBindingResult","allowDefault","render3Stmts","convertActionBinding","localResolver","implicitReceiver","action","bindingId","interpolationFunction","baseSourceSpan","implicitReceiverAccesses","globals","DefaultLocalResolver","actionWithoutBuiltins","convertPropertyBindingBuiltins","createLiteralArrayConverter","argCount","createLiteralMapConverter","createPipeConverter","_AstToIrVisitor","actionStmts","flattenStatements","_Mode","prependTemporaryDecls","temporaryCount","usesImplicitReceiver","notifyImplicitReceiverUse","preventDefaultVar","lastStatement","returnExpr","convertStmtIntoExpression","createPreventDefaultVar","cast","notIdentical","converterFactory","convertBuiltins","ConvertPropertyBindingResult","currValExpr","BindingForm","convertPropertyBinding","expressionWithoutBuiltins","form","outputExpr","getStatementsFromVisitor","TrySimple","createCurrValueExpr","convertUpdateArguments","contextVariableExpression","expressionWithArgumentsToExtract","temporaryDeclaration","_BuiltinAstConverter","temporaryName","temporaryNumber","unshift","ensureStatementMode","mode","ensureExpressionMode","convertToStatementIfNeeded","_converterFactory","BuiltinFunctionCall","_localResolver","_implicitReceiver","_nodeMap","_resultMap","_currentTemporary","op","_visit","convertSourceSpan","conditional","convertedArgs","fnResult","leftMostSafe","leftMostSafeNode","convertSafeAccess","getLocal","prevUsesImplicitReceiver","varExpr","_getLocal","addImplicitReceiverAccess","localExpr","temporary","needsTemporary","allocateTemporary","isBlank","access","delete","releaseTemporary","visitSome","tempNumber","moveBy","output","ShadowCss","strictStyling","cssText","hostSelector","commentsWithHash","extractCommentsWithHash","stripComments","_insertDirectives","scopedCssText","_scopeCssText","_insertPolyfillDirectivesInCssText","_insertPolyfillRulesInCssText","_cssContentNextSelectorRe","_cssContentRuleRe","rule","scopeSelector","unscopedRules","_extractUnscopedRulesFromCssText","_insertPolyfillHostInCssText","_convertColonHost","_convertColonHostContext","_convertShadowDOMSelectors","_scopeSelectors","_cssContentUnscopedRuleRe","_cssColonHostRe","_","hostSelectors","otherSelectors","convertedSelectors","hostSelectorArray","convertedSelector","_polyfillHostNoCombinator","_polyfillHost","_cssColonHostContextReGlobal","selectorText","contextSelectorGroups","_cssColonHostContextRe","newContextSelectors","contextSelectorGroupsLength","repeatGroups","contextSelectors","combineHostContextSelectors","_shadowDOMSelectorsRe","pattern","processRules","_scopeSelector","CssRule","strict","_shadowDeepSelectors","deepParts","shallowPart","otherParts","applyScope","_selectorNeedsScoping","_applyStrictSelectorScope","_applySelectorScope","re","_makeScopeMatcher","lre","rre","_selectorReSuffix","_applySimpleSelectorScope","_polyfillHostRe","replaceBy","_polyfillHostNoCombinatorRe","hnc","colon","isRe","_scopeSelectorPart","scopedP","safeContent","SafeSelector","scopedSelector","startIndex","sep","hasHost","shouldScope","scopedPart","restore","_colonHostContextRe","_polyfillHostContext","_colonHostRe","_escapeRegexMatches","_content","pseudo","_ph","keep","_parenSuffix","_commentRe","_commentWithHashRe","BLOCK_PLACEHOLDER","QUOTE_PLACEHOLDER","_ruleRe","_quotedRe","CONTENT_PAIRS","QUOTE_PAIRS","ruleCallback","inputWithEscapedQuotes","escapeBlocks","inputWithEscapedBlocks","escapedString","nextBlockIndex","nextQuoteIndex","suffix","contentPrefix","blocks","StringWithEscapedBlocks","charPairs","placeholder","resultParts","escapedBlocks","openCharCount","nonBlockStartIndex","blockStartIndex","openChar","closeChar","char","hostMarker","otherSelectorsHasHost","combined","contextSelector","previousSelectors","groups","multiples","COMPONENT_VARIABLE","HOST_ATTR","CONTENT_ATTR","StylesCompileDependency","setValue","CompiledStylesheet","stylesVar","isShimmed","StyleCompiler","_urlResolver","_shadowCss","comp","_compileStyles","needsStyleShim","stylesheet","shim","Emulated","isComponentStylesheet","styleExpressions","plainStyle","_shimIfNeeded","styleUrl","exprIndex","getStylesVarName","Const","style","shimCssText","component","AstPath","path","position","ctor","NodeWithI18n","Text$3","Expansion","switchValue","switchValueSourceSpan","visitExpansion","ExpansionCase","valueSourceSpan","expSourceSpan","visitExpansionCase","visitAttribute","Element$1","Comment","visitComment","visitAll$1","astResult","RecursiveVisitor$1","visitChildren","apply","spanOf","findNode","TokenType","TokenError","errorMsg","tokenType","TokenizeResult","tokens","nonNormalizedIcuExpressions","tokenize","getTagDefinition","options","tokenizer","_Tokenizer","mergeTextTokens","_CR_OR_CRLF_REGEXP","_unexpectedCharacterErrorMsg","charCode","_unknownEntityErrorMsg","entitySrc","_unparsableEntityErrorMsg","entityStr","CharacterReferenceType","_ControlFlowError","_file","_getTagDefinition","_currentTokenStart","_currentTokenType","_expansionCaseStack","_inInterpolation","_tokenizeIcu","tokenizeExpansionForms","_interpolationConfig","interpolationConfig","_leadingTriviaCodePoints","leadingTriviaChars","codePointAt","endPos","startPos","_cursor","EscapedCharacterCursor","PlainCharacterCursor","_preserveLineEndings","preserveLineEndings","_escapedString","_i18nNormalizeLineEndingsInICUs","i18nNormalizeLineEndingsInICUs","init","handleError","peek","_attemptCharCode","_consumeCdata","_consumeComment","_consumeDocType","_consumeTagClose","_consumeTagOpen","_tokenizeExpansionForm","_consumeText","_beginToken","EOF","_endToken","isExpansionFormStart","_consumeExpansionFormStart","isExpansionCaseStart","_isInExpansionForm","_consumeExpansionCaseStart","_isInExpansionCase","_consumeExpansionCaseEnd","_consumeExpansionFormEnd","getSpan","CursorError","_createError","cursor","compareCharCodeCaseInsensitive","chars","charsLeft","initialPosition","_attemptCharCodeCaseInsensitive","_attemptStr","_attemptCharCodeUntilFn","diff","decodeEntities","_decodeEntity","fromCodePoint","isHex","codeStart","isDigitEntityEnd","entityType","HEX","DEC","getChars","strNum","parseInt","nameStart","isNamedEntityEnd","endMarkerPredicate","tagCloseStart","foundEndMarker","_readChar","_processCarriageReturns","COMMENT_START","_requireCharCode","_consumeRawText","COMMENT_END","_requireStr","CDATA_START","CDATA_END","DOC_TYPE","contentStart","_attemptUntilChar","nameOrPrefixStart","isPrefixEnd","_requireCharCodeUntilFn","isNameEnd","openTagToken","_consumeTagOpenStart","isNotWhitespace","_consumeAttributeName","_consumeAttributeValue","_consumeTagOpenEnd","INCOMPLETE_TAG_OPEN","TEXT","contentTokenType","getContentType","_consumeRawTextWithTagClose","_attemptStrCaseInsensitive","TAG_CLOSE","TAG_OPEN_START","_consumePrefixAndName","attrNameStart","ATTR_NAME","prefixAndName","ATTR_QUOTE","quoteChar","ATTR_VALUE","valueStart","TAG_OPEN_END_VOID","TAG_OPEN_END","EXPANSION_FORM_START","_readUntil","normalizedCondition","conditionToken","EXPANSION_CASE_VALUE","EXPANSION_CASE_EXP_START","EXPANSION_CASE_EXP_END","EXPANSION_FORM_END","_isTextEnd","isInterpolation","code1","code2","toUpperCaseCharCode","srcTokens","dstTokens","lastDstToken","fileOrCursor","state","advanceState","updatePeek","leadingTriviaCodePoints","startLocation","locationFromCursor","endLocation","fullStartLocation","pos","currentChar","internalState","processEscapeSequence","digitStart","decodeHexDigits","octal","previous","isNaN","TreeError","ParseTreeResult","rootNodes","Parser","tokenizeResult","parser","_TreeBuilder","build","_index","_elementStack","_advance","_peek","_consumeStartTag","_consumeEndTag","_closeVoidElement","_consumeExpansion","prev","_startToken","_advanceIf","_addToParent","expCase","_parseExpansionCase","_collectExpansionExpTokens","expansionCaseParser","expansionFormStack","lastOnStack","_getParentElement","el","startTagToken","_consumeAttr","_getElementFullName","selfClosing","tagDef","startSpan","_pushElement","_popElement","parentEl","isClosedByChild","endTagToken","errMsg","stackIndex","splice","valueToken","quoteToken","parentElement","parentTagName","parentTagDefinition","stack","HtmlParser","PRESERVE_WS_ATTR_NAME","SKIP_WS_TRIM_TAGS","WS_CHARS","NO_WS_REGEXP","WS_REPLACE_REGEXP","hasPreserveWhitespacesAttr","replaceNgsp","WhitespaceVisitor","visitAllWithSiblings","isNotBlank","hasExpansionSibling","next","expansion","expansionCase","removeWhitespaces","htmlAstWithErrors","PLURAL_CASES","expandNodes","expander","_Expander","ExpansionResult","isExpanded","expanded","ExpansionError","_expandPluralForm","_expandDefaultForm","icuCase","expansionResult","switchAttr","TextAst","ngContentIndex","BoundTextAst","AttrAst","visitAttr","BoundPropertyMapping","BoundElementPropertyAst","visitElementProperty","BoundEventAst","calcFullName","visitEvent","ReferenceAst","originalValue","VariableAst","v","ElementAst","hasViewContainer","queryMatches","EmbeddedTemplateAst","visitEmbeddedTemplate","BoundDirectivePropertyAst","directiveName","templateName","visitDirectiveProperty","DirectiveAst","directive","hostEvents","contentQueryStartId","visitDirective","ProviderAst","multiProvider","eager","providerType","lifecycleHooks","isModule","ProviderAstType","NgContentAst","visitNgContent","NullTemplateVisitor","RecursiveTemplateAstVisitor","templateVisitAll","ProviderError","ProviderViewContext","_getViewQueries","ProviderElementContext","viewContext","_parent","_isViewRoot","_directiveAsts","isTemplate","_sourceSpan","_transformedProviders","_seenProviders","_queriedTokens","transformedHasViewContainer","_attrs","attrAst","directivesMeta","directiveAst","_allProviders","_resolveProvidersFromDirectives","_contentQueries","_getContentQueries","_addQueryReadsTo","templateRefId","refAst","defaultQueryValue","_getOrCreateLocalProvider","lazyProviders","eagerProviders","sortedProviderTypes","transformProviders","sortedDirectives","sort","dir1","dir2","allMatches","defaultValue","queryReadTokens","_getQueriesFor","queryValue","read","queryId","currentEl","distance","requestingProviderType","resolvedProvider","PublicService","PrivateService","Builtin","transformedProviderAst","transformedProviders","transformedUseValue","transformedUseExisting","transformedDeps","existingDiDep","_getDependency","_transformProvider","_transformProviderAst","isValue","Component","currElement","currEager","_getLocalDependency","prevElement","NgModuleProviderAnalyzer","extraProviders","_errors","ngModuleProvider","_resolveProviders","errorString","requestorSourceSpan","foundLocal","targetErrors","providersByToken","dirProvider","directivesWithComponentFirst","targetProvidersByToken","isUseValue","viewQueryId","_addQueryToTokenMap","contentQueryId","contentQueries","directiveIndex","StyleWithImports","isStyleUrlResolvable","schemeMatch","URL_WITH_SCHEMA_REGEXP","extractStyleUrls","resolver","baseUrl","foundUrls","modifiedCssText","CSS_STRIPPABLE_COMMENT_REGEXP","CSS_IMPORT_REGEXP","resolve","PROPERTY_PARTS_SEPARATOR","ATTRIBUTE_PREFIX","CLASS_PREFIX","STYLE_PREFIX","TEMPLATE_ATTR_PREFIX","ANIMATE_PROP_PREFIX","BindingParser","_exprParser","_schemaRegistry","pipesByName","_usedPipes","dirMeta","boundProps","propName","parsePropertyBinding","_reportError","elementSelector","createBoundHostProperties","createBoundElementProperty","targetEvents","parseEvent","sourceInfo","parseInterpolation","_reportExpressionParserErrors","_checkPipes","wrapLiteralPrimitive","parseInterpolationExpression","tplKey","tplValue","absoluteValueOffset","targetMatchableAttrs","targetProps","targetVars","isIvyAst","absoluteKeyOffset","bindings","_parseTemplateBindings","binding","bindingSpan","moveParseSourceSpan","srcSpan","_parsePropertyAst","parseLiteralAttr","bindingsResult","parseTemplateBindings","templateBindings","warnings","warning","WARNING","isAnimationLabel","_parseAnimation","isAnimationProp","_parseBinding","DEFAULT","isHostBinding","parseSimpleBinding","parseBinding","boundProp","skipValidation","mapPropertyName","NONE","bindingType","boundPropertyName","securityContexts","_validatePropertyOrAttributeName","calcPossibleSecurityContexts","nsSeparatorIdx","ns","STYLE","mappedPropName","getMappedPropName","_parseAnimationEvent","_parseRegularEvent","_parseAction","parseAction","collector","PipeCollector","pipeMeta","isAttr","report","validateAttribute","validateProperty","registry","ctxs","elementNames","allKnownElementNames","notElementNames","isElementSelector","possibleElementNames","absoluteSpan","startDiff","endDiff","NG_CONTENT_SELECT_ATTR","LINK_ELEMENT","LINK_STYLE_REL_ATTR","LINK_STYLE_HREF_ATTR","LINK_STYLE_REL_VALUE","STYLE_ELEMENT","SCRIPT_ELEMENT","NG_NON_BINDABLE_ATTR","NG_PROJECT_AS","preparseElement","selectAttr","hrefAttr","relAttr","nonBindable","projectAs","lcAttrName","normalizeNgContentSelect","nodeName","PreparsedElementType","OTHER","NG_CONTENT","SCRIPT","STYLESHEET","PreparsedElement","BIND_NAME_REGEXP","KW_BIND_IDX","KW_LET_IDX","KW_REF_IDX","KW_ON_IDX","KW_BINDON_IDX","KW_AT_IDX","IDENT_KW_IDX","IDENT_BANANA_BOX_IDX","IDENT_PROPERTY_IDX","IDENT_EVENT_IDX","TEMPLATE_ATTR_PREFIX$1","CLASS_ATTR","_TEXT_CSS_SELECTOR","TEXT_CSS_SELECTOR","TemplateParseError","TemplateParseResult","templateAst","usedPipes","TemplateParser","_config","_reflector","_htmlParser","_console","transforms","tryParse","warn","htmlParseResult","getInterpolationConfig","tryParseHtml","expandHtml","uniqDirectives","removeSummaryDuplicates","uniqPipes","providerViewContext","bindingParser","parseVisitor","TemplateParseVisitor","EMPTY_ELEMENT_CONTEXT","getUsedPipes","_assertNoReferenceDuplicationOnTemplate","transform","forced","expandedHtmlAst","fromArray","existingReferences","config","_bindingParser","_schemas","_targetErrors","selectorMatcher","directivesIndex","ngContentCount","findNgContentIndex","valueNoNgsp","queryStartIndex","elName","preparsedElement","matchableAttrs","elementOrDirectiveProps","elementOrDirectiveRefs","elementVars","events","templateElementOrDirectiveProps","templateMatchableAttrs","templateElementVars","hasInlineTemplates","isTemplateElement","parsedVariables","hasBinding","_parseAttr","fromParsedVariable","templateValue","templateKey","normalizedName","_normalizeAttributeName","hasTemplateBinding","parseInlineTemplateBinding","elementCssSelector","createElementCssSelector","_parseDirectives","directiveMetas","matchElement","boundDirectivePropNames","directiveAsts","_createDirectiveAsts","elementProps","_createElementPropertyAsts","isViewRoot","providerContext","NON_BINDABLE_VISITOR","ElementContext","afterElement","projectionSelector","parsedElement","_isEmptyTextNode","_assertAllEventsPublishedByDirectives","_assertNoComponentsNorElementBindingsOnTemplate","transformedDirectiveAsts","_assertElementExists","_assertOnlyOneComponent","templateQueryStartIndex","templateSelector","templateBoundDirectivePropNames","templateDirectiveAsts","templateElementProps","templateProviderContext","targetRefs","boundEvents","bindParts","_parseVariable","_parseReference","_parseAssignmentEvent","parsePropertyInterpolation","fromParsedEvent","ElementOrDirectiveRef","elementSourceSpan","targetReferences","targetBoundDirectivePropNames","matchedReferences","directiveProperties","boundProperties","createDirectiveHostPropertyAsts","fromBoundProperty","_checkPropertiesInSchema","parsedEvents","createDirectiveHostEventAsts","_createDirectivePropertyAsts","elOrDirRef","isReferenceToDirective","refToken","targetBoundDirectiveProps","boundPropsByName","prevValue","dirProp","elProp","isEmptyExpression","boundElementProps","_findComponentDirectives","componentTypeNames","_findComponentDirectiveNames","hasElement","allDirectiveEvents","hasProperty","NonBindableVisitor","attrNameAndValues","splitExportAs","splitClasses","classAttrValue","_ngContentIndexMatcher","_wildcardNgContentIndex","ngContentIndices","wildcardNgContentIndex","elNameNoNs","attrNameNoNs","items","parenDepth","propStart","currentProp","valueHasQuotes","hyphenate","styleVal","stripUnnecessaryQuotes","qS","qE","tempValue","IMPORTANT_FLAG","MIN_STYLING_BINDING_SLOTS_REQUIRED","StylingBuilder","_directiveExpr","_hasInitialValues","hasBindings","hasBindingsWithPipes","_classMapInput","_styleMapInput","_singleStyleInputs","_singleClassInputs","_lastStylingInput","_firstStylingInput","_stylesIndex","_classesIndex","_initialStyleValues","_initialClassValues","registerInputBasedOnName","registerStyleInput","registerClassInput","isStyle","isClass","isMapBased","normalizePropName","parseProperty","hasOverrideFlag","bindingSuffix","registerIntoMap","_checkForPipes","populateInitialStylingAttrs","valueConverter","_buildMapBasedInstruction","isClassBased","stylingInput","totalBindingSlotsRequired","mapValue","getClassMapInterpolationExpression","getStyleMapInterpolationExpression","supportsInterpolation","allocateBindingSlots","convertFn","convertResult","getInterpolationExpressionFn","instructions","previousInstruction","referenceForCall","_buildSingleInputs","getStylePropInterpolationExpression","styleMapInstruction","buildStyleMapInstruction","classMapInstruction","buildClassMapInstruction","_buildStyleInputs","_buildClassInputs","overrideIndex","unitIndex","TokenType$1","KEYWORDS","Lexer","scanner","_Scanner","scanToken","Token$1","numValue","strValue","Character","Operator","Identifier","Keyword","newCharacterToken","newIdentifierToken","newKeywordToken","newOperatorToken","newStringToken","newNumberToken","newErrorToken","isIdentifierStart","scanIdentifier","scanNumber","scanCharacter","scanString","scanOperator","scanComplexOperator","twoCode","two","threeCode","three","isIdentifierPart","simple","isExponentStart","isExponentSign","parseIntAutoRadix","parseFloat","buffer","marker","unescapedCode","unescape","last","isIdentifier","isQuote","SplitInterpolation","offsets","TemplateBindingParseResult","Parser$1","_lexer","simpleExpressionChecker","SimpleExpressionChecker","_checkNoInterpolation","sourceToLex","_stripComments","_ParseAST","parseChain","_parseBindingAst","checker","checkSimpleExpression","_parseQuote","prefixSeparatorIndex","toAbsolute","splitInterpolation","expressionNodes","expressionText","createInterpolationAst","atInterpolation","extendLastString","interpStart","interpEnd","exprStart","exprEnd","_getInterpolationEndIndex","fullEnd","piece","_commentStart","outerQuote","nextChar","endIndex","_forEachUnquotedChar","charIndex","expressionEnd","currentQuote","escapeCount","IvyParser","IvySimpleExpressionChecker","ParseContextFlags","inputLength","rparensExpected","rbracketsExpected","rbracesExpected","sourceSpanCache","atEOF","currentEndIndex","curToken","inputIndex","artificialEndIndex","serial","ret","isCharacter","isKeywordLet","isKeywordAs","consumeOptionalCharacter","isOperator","consumeOptionalOperator","tok","isKeyword","prettyPrintToken","isString","parsePipe","artificialStart","artificialEnd","parseExpression","nameId","expectIdentifierOrKeyword","fullSpanEnd","parseConditional","parseLogicalOr","yes","no","parseLogicalAnd","parseEquality","parseRelational","parseAdditive","parseMultiplicative","parsePrefix","parseCallChain","parsePrimary","parseAccessMemberOrMethodCall","withContext","Writable","expectCharacter","parseCallArguments","isKeywordNull","isKeywordUndefined","isKeywordTrue","isKeywordFalse","isKeywordThis","parseExpressionList","parseLiteralMap","isNumber","toNumber","literalValue","terminator","expectIdentifierOrKeywordOrString","isSafe","positionals","operatorFound","currentAbsoluteOffset","parseDirectiveKeywordBindings","letBinding","parseLetBinding","expectTemplateBindingKey","parseAsBinding","consumeStatementTerminator","getDirectiveBoundTarget","spanEnd","asBinding","peekKeywordAs","peekKeywordLet","spanStart","locationText","skip","isError","_SECURITY_SCHEMA","SECURITY_SCHEMA","registerContext","HTML","URL","RESOURCE_URL","specs","spec","ElementSchemaRegistry","BOOLEAN","NUMBER","STRING","OBJECT","SCHEMA","_ATTR_TO_PROP","_PROP_TO_ATTR","inverted","DomElementSchemaRegistry","_schema","encodedType","strType","strProperties","properties","typeNames","superName","superType","schemaMetas","schema","elementProperties","camelCaseProp","userProvidedProp","strVal","_isPixelDimensionStyle","valAndSuffixMatch","TRUSTED_TYPES_SINKS","isTrustedTypesSink","BIND_NAME_REGEXP$1","KW_BIND_IDX$1","KW_LET_IDX$1","KW_REF_IDX$1","KW_ON_IDX$1","KW_BINDON_IDX$1","KW_AT_IDX$1","IDENT_KW_IDX$1","BINDING_DELIMS","BANANA_BOX","PROPERTY","EVENT","TEMPLATE_ATTR_PREFIX$2","htmlAstToRender3Ast","htmlNodes","HtmlAstToIvyAst","ivyNodes","allErrors","inI18nBlock","isI18nRootElement","reportError","contents","textContents","parsedProperties","i18nAttrsMeta","templateParsedProperties","templateVariables","elementHasInlineTemplate","normalizeAttributeName","isTemplateBinding","parseAttribute","NON_BINDABLE_VISITOR$1","isEmptyTextNode","isCommentNode","extractAttributes","bound","hoistedAttrs","_visitTextWithInterpolation","formattedKey","i18nPropsMeta","bep","fromBoundElementProperty","matchableAttributes","createKeySpan","normalizationAdjustment","keySpanStart","keySpanEnd","parseVariable","parseReference","addEvents","parseAssignmentEvent","delims","endsWith","NonBindableVisitor$1","TagType","setupRegistry","getUniqueId","icus","I18nContext","templateIndex","isEmitted","_unresolvedCtxCount","_registry","closed","serializePlaceholderValue","phs","appendTag","TEMPLATE","ELEMENT","findTemplateFn","childPhs","tmplIdx","findIndex","isCloseTag","isTemplateTag","tmpl","wrap","wrapTag","IcuSerializerVisitor","formatPh","serializer","serializeIcuNode","TAG_TO_PLACEHOLDER_NAMES","PlaceholderRegistry","_placeHolderNameCounts","_signatureToName","signature","_hashTag","upperTag","_generateUniqueName","_hashClosingTag","upperName","seen","_expParser","createI18nMessageFactory","_I18nVisitor","visitNodeFn","toI18nMessage","noopVisitNodeFn","_html","_expressionParser","isIcu","icuDepth","placeholderRegistry","placeholderToContent","i18nodes","startPhName","getStartTagPlaceholderName","closePhName","getCloseTagPlaceholderName","i18nIcuCases","i18nIcu","caze","expPh","getUniquePlaceholder","phName","getPlaceholderName","_icuCase","_context","previousI18n","_addText","_addPlaceholder","reusePreviousSourceSpans","textPiece","interpolationSpan","stringSpan","getOffsetSourceSpan","extractPlaceholderName","assertSingleContainerMessage","assertEquivalentNodes","previousNodes","_CUSTOM_PH_EXP","I18nError","setI18nRefs","htmlNode","i18nNode","previousMessage","I18nMetaVisitor","keepI18nAttrs","enableI18nLegacyMessageIdFormat","_createI18nMessage","_parseMetadata","_setMessageId","_setLegacyIds","attrsMeta","_generateI18nMessage","currentMessage","parseI18nMeta","I18N_MEANING_SEPARATOR","I18N_ID_SEPARATOR","idIndex","descIndex","meaningAndDesc","i18nMetaToJSDoc","GOOG_GET_MSG","createGoogleGetMsgStatements","variable$1","closureVar","messageString","serializeI18nMessageForGetMsg","googGetMsgStmt","toConstDecl","metaComment","addLeadingComment","i18nAssignmentStmt","GetMsgSerializerVisitor","serializerVisitor$1","createLocalizeStatements","serializeI18nMessageForLocalize","placeHolders","getSourceSpan","localizedString$1","variableInitialization","LocalizeSerializerVisitor","createPlaceholderPiece","serializerVisitor$2","pieces","processMessagePieces","startNode","endNode","createEmptyMessagePart","NG_CONTENT_SELECT_ATTR$1","NG_PROJECT_AS_ATTR_NAME","EVENT_BINDING_SCOPE_GLOBALS","GLOBAL_TARGET_RESOLVERS","LEADING_TRIVIA_CHARS","renderFlagCheckIfStmt","bitwiseAnd","prepareEventListenerParameters","eventAst","handlerName","scope","eventArgumentName","implicitReceiverExpr","bindingLevel","getOrCreateSharedContextVar","bindingExpr","restoreViewStatement","variableDeclarations","fnName","handlerFn","createComponentDefConsts","prepareStatements","constExpressions","i18nVarRefsCache","TemplateDefinitionBuilder","parentBindingScope","contextName","i18nContext","directiveMatcher","pipeTypeByName","_namespace","relativeContextFilePath","i18nUseExternalIds","_constants","_dataIndex","_bindingContext","_prefixCode","_creationCodeFns","_updateCodeFns","_currentIndex","_tempVariables","_nestedTemplateFns","_unsupported","_pureFunctionSlots","_bindingSlots","_ngContentReservedSlots","_ngContentSelectorsOffset","_implicitReceiverExpr","_bindingScope","nestedScope","fileBasedI18nSuffix","_valueConverter","ValueConverter","allocateDataSlot","numSlots","allocatePureFunctionSlots","slot","pipeType","creationInstruction","ngContentSelectorsOffset","registerContextVariables","initI18nContext","isSingleElementTemplate","selfClosingI18nInstruction","hasTextChildrenOnly","updatePipeSlotOffsets","buildTemplateFn","r3ReservedSlots","creationStatements","updateStatements","creationVariables","viewSnapshotStatements","updateVariables","creationBlock","updateBlock","transformFn","_ref","i18nGenerateMainBlockVar","i18nGenerateClosureVar","getTranslationDeclStmts","scopedName","freshReferenceName","retrievalLevel","relativeLevel","sharedCtxVar","getSharedContextName","generateNextContextExpr","appendBinding","label","i18nAppendBindings","messageId","uniqueSuffix","isRoot","isResolved","getSerializedPlaceholders","icuMapping","needsPostprocessing","instruction","i18nTranslate","forkChildContext","addToConsts","reconcileChildContext","i18nUpdateRef","chainBindings","updateInstructionChainWithAdvance","getConstCount","updateInstruction","nodeIndex","i18nAttrArgs","converted","constIndex","namespaceKey","nsInstruction","elementIndex","updateInstructionWithAdvance","getUpdateInstructionArguments","ngContent","projectionSlotIdx","nonContentSelectAttributes","getAttributeExpressions","appendProjection","stylingBuilder","isNonBindableMode","outputAttrs","isNgContainer$1","registerStyleAttr","registerClassAttr","matchDirectives","allOtherInputs","boundI18nAttrs","stylingInputWasSet","registerBoundInput","addAttrsToConsts","prepareRefsArray","wasInNamespace","currentNamespace","getNamespaceInstruction","addNamespaceInstruction","appendElement","hasChildren","createSelfClosingInstruction","createSelfClosingI18nInstruction","i18nAttributesInstruction","listeners","outputAst","prepareListenerParameter","creationInstructionChain","stylingInstructions","buildUpdateLevelInstructions","limit","processStylingUpdateInstruction","emptyValueBindInstruction","propertyBindings","attributeBindings","inputType","hasValue","attrNamespace","isAttributeBinding","sanitizationRef","resolveSanitizationFn","namespaceLiteral","interpolatedUpdateInstruction","getPropertyInterpolationExpression","getAttributeInterpolationExpression","boundValue","NG_TEMPLATE_TAG_NAME","appendTemplate","attrsExprs","templateVisitor","templateFunctionExpr","buildTemplateFunction","getVarCount","templatePropertyBindings","i18nInputs","appendBoundText","getTextInterpolationExpression","initWasInvoked","i18nBindProps","formatted","appendIcu","fns","paramsOrFn","prepend","instructionFn","addAdvanceInstructionIfNecessary","fnParams","updateInstructionChain","originalSlots","convertedPropertyBinding","getImplicitReceiverExpr","bindingContext","valExpr","createCssSelector","staticType","renderAttributes","alreadySeen","attrExprs","ngProjectAsAttr","i18nVarRef","getAttributeNameLiterals","trustedConstAttribute","getNgProjectAsLiteral","addAttrExpr","attrsLengthBeforeInputs","consts","refsParam","variableName","nextContextStmt","refExpr","bindingFnName","allocateSlot","_pipeBindExprs","slotPseudoLocal","pureFunctionSlot","pipeBindingCallInfo","isVarLength","pipeBindExpr","bindingSlots","slotOffset","array","getLiteralFactory","pipeBindingIdentifiers","pureFunctionIdentifiers","pureFunctionCallInfo","relativeLevelDiff","literal$1","allocateSlots","startSlot","attributeNamespace","nameLiteral","SHARED_CONTEXT_KEY","BindingScope","referenceNameIndex","restoreViewVariable","declareLocalCallback","declare","priority","localRef","maybeGenerateSharedContextVar","maybeRestoreView","getComponentProperty","newScope","generateSharedContextVar","bindingKey","sharedCtxObj","componentValue","localRefLookup","isListenerScope","getCurrentViewInstruction","currentContextLevel","levelDiff","currStmts","elementNameNoNs","nameNoNs","parsedR3Selector","parseTemplate","makeBindingParser","htmlParser","parseResult","i18nMetaVisitor","i18nMetaResult","visitAllWithErrors","elementRegistry","isTextNode","NG_I18N_CLOSURE_MODE","createClosureModeGuard","and","ATTR_REGEX","baseDirectiveFields","createContentQueriesFunction","createViewQueriesFunction","createHostBindingsFunction","addFeatures","features","usesInheritance","fullInheritance","lifecycle","usesOnChanges","compileDirectiveFromMetadata","toLiteralMap","createDirectiveType","compileComponentFromMetadata","firstSelector","selectorAttributes","getAttrs","templateTypeName","directivesUsed","pipesUsed","templateBuilder","createRootScope","templateFunctionExpression","getNgContentSelectors","getConsts","constsExpr","directivesList","directivesExpr","compileDeclarationList","declarationListEmitMode","pipesList","pipesExpr","styleValues","compileStyles","createComponentType","createDirectiveTypeParams","stringArrayAsType","resolvedList","compileDirectiveFromRender2","directiveMetadataFromGlobalMetadata","directiveDefStatement","compileComponentFromRender2","render3Ast","directiveTypeBySel","summary","typeMapToExpressionMap","queriesFromGlobalMetadata","componentDefStatement","propertyName","selectorsFromGlobalMetadata","static","selectorStrings","prepareQueryParams","toQueryFlags","convertAttributesToExpressions","createStatements","tempAllocator","getQueryList","refresh","updateDirective","contentQueriesFnName","stringAsType","stringMapAsType","mapValues","selectorForType","q","queryDefinition","viewQueryFnName","hostBindingsMetadata","styleBuilder","specialAttributes","styleAttr","hostBindingSourceSpan","directiveSummary","metadataAsSummary","eventBindings","createHostListeners","allOtherBindings","totalHostVarsCount","getValueConverter","hostVarsCountFn","originalVarsCount","syntheticHostBindings","bindingFn","getBindingNameAndInstruction","bindingName","sanitizerFn","instructionParams","hostAttrs","assignHostAttrs","convertStylingCall","hostBindingsFnName","implicit","attrMatches","syntheticListeners","HOST_REG_EXP$1","parseHostBindings","verifyHostBindings","shadowCss","ResourceLoader","CompilerFacadeImpl","jitEvaluator","elementSchemaRegistry","angularCoreEnv","sourceMapUrl","facade","wrapReference$1","convertR3DependencyMetadataArray","jitExpression","declaration","convertDeclarePipeFacadeToMetadata","computeProvidedIn","wrapExpression","USE_CLASS","USE_FACTORY","USE_VALUE","USE_EXISTING","convertDirectiveFacadeToMetadata","compileDirectiveFromMeta","createParseSourceSpan","convertDeclareDirectiveFacadeToMetadata","parseJitTemplate","getDefaultComponentElementName","jitExpressionSourceMap","compileComponentFromMeta","convertDeclareComponentFacadeToMetadata","def","preStatements","evaluateStatements","convertToR3QueryMetadata","convertQueryDeclarationToMetadata","inputsFromMetadata","parseInputOutputs","outputsFromMetadata","propMetadata","inputsFromType","outputsFromType","field","ann","isInput","isOutput","extractHostBindings","_e","_f","_g","_h","convertHostDeclarationToMetadata","convertOpaqueValuesToExpressions","classAttribute","styleAttribute","convertUsedDirectiveDeclarationToMetadata","convertUsedPipesToMetadata","parsed","err","convertR3DependencyMetadata","tokenExpr","facades","isHostListener","publishFacade","ng","ɵcompilerFacade","VERSION$1","CompilerConfig","defaultEncapsulation","useJit","jitDevMode","missingTranslation","strictInjectionParameters","preserveWhitespacesDefault","preserveWhitespacesOption","defaultSetting","DirectiveNormalizer","_resourceLoader","_resourceLoaderCache","clear","normalizedDirective","prenormData","_preParseTemplate","preparsedTemplate","_normalizeTemplateMetadata","prenomData","_fetch","_preparseLoadedTemplate","templateAbsUrl","rootNodesAndErrors","templateMetadataStyles","_normalizeStylesheet","TemplatePreparseVisitor","templateStyles","inlineStyleUrls","_loadMissingExternalStylesheets","_normalizeLoadedTemplateMetadata","stylesheets","_inlineStyles","targetStyles","loadedStylesheets","loadedStyle","allStyleUrls","allStyles","styleWithImports","ngNonBindableStackCount","textContent","QUERY_METADATA_IDENTIFIERS","DirectiveResolver","typeMetadata","annotations","isDirectiveMetadata","throwIfNotFound","findLast","propertyMetadata","_mergeWithPropertyMetadata","dm","directiveType","hostBindings","hostBinding","startWith","hostListener","_merge","names","publicNames","reversedResult","_extractPublicName","reverse","mergedInputs","_dedupeBindings","mergedOutputs","mergedHost","mergedQueries","moduleId","_I18N_ATTR","_I18N_ATTR_PREFIX","_I18N_COMMENT_PREFIX_REGEXP","i18nCommentsWarned","extractMessages","implicitTags","implicitAttrs","_Visitor$2","extract","mergeTranslations","translations","merge","ExtractionResult","_VisitorMode","_implicitTags","_implicitAttrs","_init","Extract","_inI18nBlock","_messages","Merge","_translations","wrapper","translatedNode","_mode","_mayBeAddBlockChildren","wasInIcu","_inIcu","_isInTranslatableSection","_addMessage","isOpening","_isOpeningComment","isClosing","_isClosingComment","_inI18nNode","console","_blockStartDepth","_depth","_blockChildren","_blockMeaningAndDesc","_openTranslatableSection","_closeTranslatableSection","_translateMessage","wasInI18nNode","wasInImplicitNode","_inImplicitNode","childNodes","translatedChildNodes","i18nAttr","_getI18nAttr","i18nMeta","isImplicit","isTopLevelImplicit","isTranslatable","visitNodes","visited","_visitAttributesOf","translatedAttrs","_translateAttributes","_msgCountAtSectionStart","explicitAttrNameToValue","implicitAttrNames","msgMeta","_parseMessageMeta","i18nParsedMessageMeta","translatedAttributes","directChildren","significantChildren","XmlTagDefinition","currentParent","_TAG_DEFINITION","getXmlTagDefinition","XmlParser","_VERSION","_XMLNS","_DEFAULT_SOURCE_LANG","_PLACEHOLDER_TAG$1","_MARKER_TAG","_FILE_TAG","_SOURCE_TAG$1","_SEGMENT_SOURCE_TAG","_ALT_TRANS_TAG","_TARGET_TAG","_UNIT_TAG","_CONTEXT_GROUP_TAG","_CONTEXT_TAG","Xliff","_WriteVisitor","transUnits","contextTags","contextGroupTag","purpose","transUnit","datatype","xliff","xmlns","xliffParser","XliffParser","msgIdToHtml","i18nNodesByMsgId","XmlToI18n","msgId","convert","i18nNodes","ctype","getCtypeForTag","equivText","_locale","_unitMlString","_msgIdToHtml","xml","idAttr","_addError","innerTextStart","innerTextEnd","innerText","localeAttr","xmlIcu","nameAttr","caseMap","_VERSION$1","_XMLNS$1","_DEFAULT_SOURCE_LANG$1","_PLACEHOLDER_TAG$2","_PLACEHOLDER_SPANNING_TAG","_MARKER_TAG$1","_XLIFF_TAG","_SOURCE_TAG$2","_TARGET_TAG$1","_UNIT_TAG$1","Xliff2","_WriteVisitor$1","units","notes","category","srcLang","xliff2Parser","Xliff2Parser","XmlToI18n$1","getTypeForTag","tagPh","_nextPlaceholderId","equiv","disp","tagPc","equivStart","equivEnd","dispStart","dispEnd","idStr","versionAttr","startAttr","endAttr","startId","endId","_TRANSLATIONS_TAG","_TRANSLATION_TAG","_PLACEHOLDER_TAG$3","Xtb","xtbParser","XtbParser","XmlToI18n$2","valueFn","createLazyProperty","defineProperty","configurable","enumerable","xtb","_bundleDepth","langAttr","TranslationBundle","_i18nNodesByMsgId","mapperFactory","missingTranslationStrategy","Warning","_i18nToHtml","I18nToHtmlVisitor","srcMsg","html","load","digestFn","createNameMapper","_digest","_mapperFactory","_missingTranslationStrategy","_contextStack","_convertToText","_srcMsg","_mapper","mapper","toInternalName","I18NHtmlParser","translationsFormat","createSerializer","_translationBundle","format","QUOTED_KEYS","convertValueToOutputAst","_ValueOutputAstTransformer","quotedSet","mapEntry$1","InjectableCompiler","alwaysGenerateDef","tokenInjector","retValue","depsArray","depArgs","injectableDef","STRIP_SRC_FILE_SUFFIXES","GENERATED_FILE","JIT_SUMMARY_FILE","JIT_SUMMARY_NAME","ngfactoryFilePath","forceSourceFile","urlWithSuffix","splitTypescriptSuffix","normalizeGenFileSuffix","stripGeneratedFileSuffix","isGeneratedFile","lastDot","srcFileSuffix","summaryFileName","fileName","fileNameWithoutSuffix","summaryForJitFileName","stripSummaryForJitFileSuffix","summaryForJitName","symbolName","stripSummaryForJitNameSuffix","LOWERED_SYMBOL","isLoweredSymbol","createLoweredSymbol","LifecycleHooks","LIFECYCLE_HOOKS_VALUES","OnInit","OnDestroy","DoCheck","OnChanges","AfterContentInit","AfterContentChecked","AfterViewInit","AfterViewChecked","hasLifecycleHook","hook","getHookName","getAllLifecycleHooks","unexpected","ERROR_COMPONENT_TYPE","CompileMetadataResolver","_ngModuleResolver","_directiveResolver","_pipeResolver","_summaryResolver","_directiveNormalizer","_staticSymbolCache","_errorCollector","_nonNormalizedDirectiveCache","_directiveCache","_summaryCache","_pipeCache","_ngModuleCache","_ngModuleOfTypes","_shallowModuleCache","clearCacheFor","clearCache","baseType","proxyClass","setDelegate","dirType","_createProxyClass","getGeneratedClass","hostView","getHostComponentViewClass","typeSummary","resolveSummary","hostViewType","hostType","getHostComponentType","getMatchingElementTemplate","isSync","getNonNormalizedDirectiveMetadata","annotation","createDirectiveMetadata","templateMetadata","normalizedDirMeta","initComponentFactory","normalizeTemplate","componentModuleUrl","componentStillLoadingError","cacheEntry","nonNormalizedTemplateMetadata","changeDetectionStrategy","entryComponentMetadata","_getProvidersMetadata","stringifyType","flattenAndDedupeArray","_getEntryComponentMetadata","_getQueriesMetadata","_getTypeMetadata","getComponentViewClass","getRendererType","getComponentFactory","dirSummary","_loadSummary","isDirective","isNgModule","alreadyCollecting","moduleSummary","getNgModuleMetadata","loading","promise","loadDirectiveMetadata","_loadPipeMetadata","compileMeta","ngModuleMeta","shallowAnnotations","exportedNonModuleIdentifiers","importedType","importedModuleType","isValidType","moduleWithProviders","_checkSelfImport","_getTypeDescriptor","importedModuleSummary","getNgModuleSummary","exportedType","exportedModuleSummary","_getIdentifierMetadata","_getTransitiveNgModuleMetadata","declaredType","declaredIdentifier","isAbstractDirective","addDirective","_addTypeToModule","addPipe","exportedId","addExportedDirective","addExportedPipe","addEntryComponent","addProvider","addModule","provide","oldModule","modulesByToken","modSummary","addedTokens","prevModules","moduleRef","tryAnnotations","throwOnUnknownDeps","_getDependenciesMetadata","pipeSummary","pipeAnnotation","hasUnknownDeps","dependenciesMetadata","paramEntry","_getTokenMetadata","depsTokens","compileToken","targetEntryComponents","debugInfo","compileProviders","providerIdx","providerMeta","_validateProvider","providersInfo","soFar","seenProvider","seenProviderIdx","_getEntryComponentsFromProvider","getProviderMetadata","components","collectedIdentifiers","extractIdentifiers","compileDeps","compileTypeMetadata","compileFactoryMetadata","_getInjectableTypeMetadata","_getFactoryMetadata","_getQueryMetadata","_queryVarBindings","otherType","flattenArray","tree","dedupeArray","targetIdentifiers","_CompileValueConverter","providerAst","lifecycleHook","lifecycleHookToNodeFlag","multiProviderDef","singleProviderDef","providerExpr","providerFlags","depsExpr","allDepDefs","allParams","providerIndex","depExprs","convertDeps","instantiate","depIndex","paramName","depDef","tokenMeta","nodeFlag","componentFactoryResolverProviderDef","entryComponentFactories","entryComponent","classMeta","NgModuleCompileResult","ngModuleFactoryVar","LOG_VAR","NgModuleCompiler","providerParser","providerDefs","ngModuleDef","ngModuleDefFactory","_createNgModuleFactory","registerFactoryStmt","ngModuleReference","ngModuleFactoryStmt","NgModuleResolver","debugOutputAstAsTypeScript","_TsEmitterVisitor","TypeScriptEmitter","preamble","emitSourceMaps","referenceFilter","importFilter","preambleLines","reexports","exportedModuleName","reexportsCode","reexport","as","importsWithPrefixes","importedModuleName","sm","setPreambleLineCount","sourceText","emitStatementsAndContext","typeExpression","defaultType","_visitIdentifier","_printColonType","_visitClassField","Private","typeStr","suppliedParameters","PipeResolver","metas","TypeCheckCompiler","componentId","externalReferenceVars","embeddedViewCount","viewBuilderFactory","embeddedViewIndex","ViewBuilder","DYNAMIC_VAR_NAME","TypeCheckLocalResolver","defaultResolver","isHostComponent","refOutputVars","updates","actions","useIf","astNodes","targetStatements","viewStmts","bindingCount","preprocessUpdateExpression","nameResolver","getOutputVar","General","guardExpression","guardClause","viewName","viewFactory","astWithSource","inter","visitElementOrTemplate","fullTemplateTypeCheck","getTypeGuardExpressions","childVisitor","inputDefs","updateRendererExpressions","outputDefs","inputAst","dirAst","outputVarType","hostEventAst","currBuilder","varAst","pipeExpr","pipeOutputVar","CLASS_ATTR$1","STYLE_ATTR","IMPLICIT_TEMPLATE_VAR","ViewCompileResult","viewClassVar","rendererTypeVar","ViewCompiler","renderComponentVarName","customRenderData","renderComponentVar","ViewBuilder$1","LOG_VAR$1","VIEW_VAR","CHECK_VAR","COMP_VAR","EVENT_NAME_VAR","ALLOW_DEFAULT_VAR","purePipeNodeIndices","refNodeIndices","_createPipe","queryIndex","calcQueryFlags","nodeFlags","nodeDef","needsAdditionalRootNode","_createNodeExpressions","updateRendererStmts","updateDirectivesStmts","nodeDefExprs","updateRendererFn","_createUpdateFn","updateDirectivesFn","viewFlags","OnPush","updateStmts","updateFn","preStmts","checkIndex","bindingIndex","_preprocessUpdateExpression","updateRenderer","_visitElementOrTemplate","queryMatchesExpr","childCount","_createElementHandleEventFn","usedEvents","dirHostBindings","elementBindingDef","compAst","compRendererType","compView","fixedAttrsDef","elementEventNameAndTarget","elementEventFullName","_visitComponentFactoryResolverProvider","localDirAst","_visitDirective","dirHostEvents","_visitProvider","queryMatchExprs","_visitProviderOrDirective","updateDirectiveExpressions","dirContextExpr","updateDirectives","_addProviderNode","componentDirMeta","currViewExpr","refNodeIndex","varValue","valueExpr","callCheckStmt","compViewExpr","compBuilder","pipeNodeIndex","pipeValueExpr","callUnwrapValue","nodeValueExpr","diDep","_createLiteralArrayConverter","_createLiteralMapConverter","_createPipeConverter","updateBindingCount","createUpdateStatements","logWithNodeDef","allowEmptyExprs","handlers","handleEventStmts","handleEventBindingCount","trueStmts","eventTarget","fullEventName","identical","handleEventFn","lastAstNode","elementAst","mapResult","mergeAttributeValue","attrValue1","attrValue2","bindingIdx","MessageBundle","htmlParserResult","i18nParserResult","filterSources","mapperVisitor","MapPlaceholderNames","msgList","src","transformedMessage","write","GeneratedFile","srcFileUrl","genFileUrl","sourceOrStmts","toTypeScript","emitStatements","listLazyRoutes","allLazyRoutes","ROUTES","loadChildren","_collectLoadChildren","route","parseLazyRoute","routes","routePath","routeName","referencedModule","TS","ResolvedStaticSymbol","SUPPORTED_SCHEMA_VERSION","StaticSymbolResolver","staticSymbolCache","summaryResolver","errorRecorder","metadataCache","resolvedSymbols","importAs","symbolResourcePaths","symbolFromFile","knownFileNameToModuleNames","staticSymbol","_resolveSymbolMembers","resultFromSummary","_resolveSymbolFromSummary","resultFromCache","_createSymbolsOf","useSummaries","baseSymbol","getStaticSymbol","baseImportAs","getImportAs","summarizedFileName","summarizedName","resolvedSymbol","unwrapResolvedMetadata","resolveSymbol","arity","sourceSymbol","targetSymbol","assertNoMembers","symbols","recorder","baseResolvedSymbol","baseMetadata","__symbolic","statics","getModuleMetadata","metadataKey","decorators","summarySymbols","getSymbolsOf","moduleExport","export","exportSymbol","unescapeIdentifier","symName","resolvedModule","resolveModule","createExport","nestedExports","topLevelSymbolNames","origins","symbolMeta","origin","originFilePath","getOutputName","createResolvedSymbol","uniqueSymbols","topLevelPath","isTsFile","isLibraryFile","transformedMeta","_originalFileMemo","getOriginalName","ReferenceTransformer","functionParams","symbolic","oldLen","getMetadataFor","unwrappedTransformedMeta","moduleMetadata","moduleMetadatas","maxVersion","md","errorMessage","containingFile","moduleNameToFileName","serializeSummaries","srcFileName","forJitCtx","symbolResolver","createExternalSymbolReexports","toJsonSerializer","ToJsonSerializer","addSummary","json","forJitSerializer","ForJitSerializer","addSourceType","unprocessedSymbolSummariesBySymbol","addLibType","deserializeSummaries","symbolCache","libraryFileName","deserializer","FromJsonDeserializer","deserialize","createForJitStub","createSummaryForJitFunction","indexBySymbol","reexportedBy","processedSummaryBySymbol","processedSummaries","getKnownModuleName","unprocessedSummary","processedSummary","processValue","isCall","isFunctionCall","isMethodCallOnVariable","declarationSymbol","ngModuleSummary","summaries","reexportSymbol","__symbol","toSummaryFileName","visitStaticSymbol","loadSummary","isLibrary","exportAsArr","exportAsBySymbol","ngModuleSymbols","serializeSummaryWithDeps","ngModuleSymbol","jitExportAsName","serializeSummaryRef","serializeSummary","typeSymbol","jitImportedSymbol","Transformer","allImportAs","serializedSymbol","fromSummaryFileName","AotCompiler","_options","_host","_metadataResolver","_templateParser","_styleCompiler","_viewCompiler","_typeCheckCompiler","_ngModuleCompiler","_injectableCompiler","_outputEmitter","_symbolResolver","_templateAstCache","_analyzedFiles","_analyzedFilesForInjectables","rootFiles","analyzeResult","analyzeAndValidateNgModules","ngModules","loadNgModuleDirectiveAndPipeMetadata","analyzedFile","analyzeFile","analyzeFileForInjectables","genFileNames","_analyzeFile","allowEmptyCodegenFiles","injectables","exportsNonSourceFiles","enableSummariesForJit","fileSuffix","dirSymbol","normalizedUrl","resourceNameToFileName","needsShim","_stylesModuleUrl","genFileName","originalFileName","_createOutputContext","originalFile","_createNgFactoryStub","_createEmptyStub","_codegenSourceModule","fileNames","tsFiles","files","loadingPromises","analyzedInjectables","tsFile","_analyzeFileForInjectables","analyzedModules","mergeAndValidateNgFiles","emitFlags","ngModuleIndex","createStub","_externalIdentifierReferences","typeIndex","dirId","getDirectiveMetadata","_createTypeCheckBlock","getHostComponentMetadata","_parseTemplate","parsedTemplate","compileComponent","messageBundle","compMetas","updateFromTemplate","r3Files","ngModuleByPipeOrDirective","contextMap","_compilePartialModule","_compileShallowModules","shallowModules","schemaRegistry","hostBindingParser","expressionParser","directiveMetadata","getDirectiveSummary","getPipeSummary","pipeMetadata","getPipeMetadata","compile","_emitPartialModule2","sourceModules","_compileImplFile","generatedFiles","_createSummary","_compileModule","componentStylesheet","stylesheetMeta","_codegenStyles","compViewVars","_compileComponent","_compileComponentFactory","srcModule","ngFactoryCtx","symbolSummaries","typeData","getInjectableSummary","forJitOutputCtx","createExternalSymbolFactoryReexports","summaryJson","normalizedLocale","i18nFormat","hostMeta","hostViewFactoryVar","compFactoryVar","inputsExprs","outputsExprs","directiveIdentifiers","componentStyles","stylesExpr","viewResult","_resolveStyleStatements","importExpr$1","getTypeArity","importModule","_fileNameToModuleName","selfReference","suppliedTypeParams","missingTypeParamsCount","allTypeParams","memberName","importedFilePath","containingFilePath","fileNameToModuleName","stylesheetMetadata","compiledStylesheet","entryRoute","visitLazyRoute","lazyRoutes","lazyRoute","seenRoutes","compileResult","stylesheetUrl","analyzeNgModules","staticSymbolResolver","metadataResolver","_analyzeFilesIncludingNonProgramFiles","mergeAnalyzedFiles","validateAnalyzedModules","symbolsMissingModule","seenFiles","visitFile","isSourceFile","modMeta","abstractDirectives","hasDecorators","isDeclarationFile","isNgSymbol","isInjectable","getInjectableMetadata","isValueExportingNonSourceFile","getShallowModuleMetadata","Visitor","analyzedFiles","allNgModules","allPipesAndDirectives","af","FORMATTED_MESSAGE","indentStr","half","floor","formatChain","chain","kid","formattedError","isFormattedError","ANGULAR_CORE","ANGULAR_ROUTER","HIDDEN_KEY","IGNORE","USE_VALUE$1","PROVIDE","REFERENCE_SET","TYPEGUARD_POSTFIX","USE_IF","shouldIgnore","StaticReflector","knownMetadataClasses","knownMetadataFunctions","annotationCache","shallowAnnotationCache","propertyCache","parameterCache","methodCache","staticCache","conversionMap","resolvedExternalReferences","annotationForParentClassWithSummaryKind","initializeConversionMap","kc","_registerDecoratorOrConstructor","kf","_registerFunction","findSymbolDeclaration","getResourcePath","refSymbol","getSymbolByModule","recordModuleNameForFileName","recordImportAs","ignoreErrorsFor","findDeclaration","resolvedMetadata","originalRecorder","_annotations","simplify","classMetadata","getTypeMetadata","parentType","findParentType","parentAnnotations","ownAnnotations","requiredAnnotationTypes","typeHasRequiredAnnotation","requiredType","formatMetadataError","metadataError","parentPropMetadata","parentProp","propData","ctorData","rawParameterTypes","parameterDecorators","rawParamType","nestedResult","paramType","trySimplify","methodNames","parentMethodNames","_methodNames","isMethod","staticMembers","staticMemberData","_staticMembers","injectionToken","opaqueToken","tryFindDeclaration","lazy","BindingScope$1","empty","calling","rootContext","simplifyInContext","depth","resolveReferenceValue","simplifyEagerly","simplifyLazily","simplifyNested","nestedContext","isMetadataError","summaryMsg","errorSummary","advise","simplifyCall","functionSymbol","targetFunction","targetExpression","defaults","functionScope","define","oldScope","done","FUNCTION_CALL_NOT_SUPPORTED","isPrimitive","spreadArray","spreadItem","declarationValue","operand","indexTarget","member","selectContext","selectTarget","localValue","missing","argExpressions","mapStringMap","reportingContext","METADATA_ERROR","REFERENCE_TO_NONEXPORTED_CLASS","VARIABLE_NOT_INITIALIZED","DESTRUCTURE_NOT_SUPPORTED","COULD_NOT_RESOLVE_TYPE","REFERENCE_TO_LOCAL_SYMBOL","LAMBDA_NOT_SUPPORTED","expandedMessage","messageAdvise","PopulatedScope","formatMetadataMessageChain","nesting","AotSummaryResolver","summaryCache","loadedFilePaths","referringSrcFileName","referringLibFileName","rootSymbol","_loadSummaryFile","hasSummary","summaryFilePath","createAotUrlResolver","basePath","createAotCompiler","compilerHost","errorCollector","urlResolver","staticReflector","enableIvy","normalizer","loadResource","tmplParser","viewCompiler","typeCheckCompiler","compiler","SummaryResolver","JitSummaryResolver","_summaries","interpretStatements","_ExecutionContext","StatementInterpreter","exportName","_executeFunctionStatements","varValues","childCtx","createChildWihtLocalVars","instance","ReturnValue","createDynamicClass","_classStmt","_ctx","propertyDescriptors","instanceCtx","paramNames","writable","ctorParamNames","superClass","initialValue","currCtx","CATCH_ERROR_VAR$2","CATCH_STACK_VAR$2","subscribe","templateElements","_declareFn","JitCompiler","_jitEvaluator","_compilerConfig","getExtraNgModuleProviders","_compiledTemplateCache","_compiledHostTemplateCache","_compiledDirectiveWrapperCache","_compiledNgModuleCache","_sharedStylesheetCount","_addedAotSummaries","_compileModuleAndComponents","_compileModuleAndAllComponents","_addAotSummaries","ids","hasAotSummary","_loadModules","_compileComponents","componentFactories","ngModuleFactory","mainModule","mainNgModule","_filterJitIdentifiers","nestedNgModule","getOrLoadPipeMetadata","createOutputContext","_interpretOrJit","allComponentFactories","moduleByJitDirective","templates","transJitModules","localMod","localModuleMeta","dirRef","_createCompiledTemplate","_createCompiledHostTemplate","entryComponentType","_compileTemplate","compiledTemplate","assertComponent","viewDefFactory","CompiledTemplate","isCompiled","externalStylesheetsByModuleUrl","outputContext","_resolveStylesCompileResult","evalResult","viewClass","compiled","nestedCompileResult","nestedStylesArr","_resolveAndEvalStylesCompileResult","_viewClass","CompileReflector","createUrlResolverWithoutPackagePrefix","UrlResolver","createOfflineCompileUrlResolver","_packagePrefix","resolvedUrl","_resolveUrl","resolvedParts","_split","_ComponentIndex","Scheme","Path","getUrlScheme","_buildFromEncodedParts","opt_scheme","opt_userInfo","opt_domain","opt_port","opt_path","opt_queryData","opt_fragment","_splitRe","uri","_removeDotSegments","leadingSlash","trailingSlash","up","_joinAndCanonicalizePath","UserInfo","Domain","Port","QueryData","Fragment","encodeURI","baseParts","Extractor","extractor","R3TargetBinder","Scope","templateEntities","extractTemplateEntities","DirectiveBinder","TemplateBinder","nestingLevel","R3BoundTarget","parentScope","namedEntities","childScopes","ingest","maybeDeclare","thing","lookup","newRootScope","dirTarget","setAttributeBinding","ioType","hasBindingPropertyName","visitNode","childScope","getChildScope","binder","maybeMap","exprTargets","dirs","rootScope","entityMap","extractScopeEntities","currentEntities","scopesToProcess","entities","toOptionalLiteralArray","toOptionalLiteralMap","object","compileDeclareDirectiveFromMetadata","createDirectiveDefinitionMap","compileHostMetadata","compileQuery","hostMetadata","compileDeclareComponentFromMetadata","createComponentDefinitionMap","getTemplateExpression","compileUsedDirectiveMetadata","compileUsedPipeMetadata","computeEndLocation","lineStart","lastLineStart","wrapType","generateForwardRef","compileDeclarePipeFromMetadata","createPipeDefinitionMap","getDOM","isObservable","Examples","_buildValueString","_extractId","resolvedPromise","formControlBinding","formDirectiveProvider","NgNoValidate","NgSelectMultipleOption","InternalFormsSharedModule","AnimationEngine","AnimationStyleNormalizer","supportsWebAnimations","WebAnimationsDriver","CssKeyframesDriver","WebAnimationsStyleNormalizer","DomRendererFactory2","NoopAnimationDriver","Options","opt","Options_tsickle_Closure_declarations","bounds","componentRestrictions","strictBounds","runIsIE","ReflectionCapabilities","Console","PLATFORM_BROWSER_ID","INTERNAL_BROWSER_PLATFORM_PROVIDERS","GooglePlaceDirective","ngZone","onAddressChange","EventEmitter","ngAfterViewInit","initialize","isGoogleLibExists","google","maps","places","_this","autocomplete","Autocomplete","nativeElement","addListener","eventListener","handleChangeEvent","addEventListener","preventDefault","stopPropagation","navigator","userAgent","setTimeout","containers","document","getElementsByClassName","_i","arr_1","stopImmediatePropagation","reset","setComponentRestrictions","setTypes","run","place","getPlace","emit","ctorParameters","NgZone","propDecorators","Input","Output","GooglePlaceDirective_tsickle_Closure_declarations","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","concatStringsWithSpace","__forward_ref__","forwardRefFn","isForwardRef","assertNumber","actual","throwError","assertNumberInRange","minInclusive","maxInclusive","assertLessThanOrEqual","assertGreaterThanOrEqual","assertString","assertFunction","assertEqual","expected","assertNotEqual","assertSame","assertNotSame","assertLessThan","assertGreaterThan","assertNotDefined","assertDefined","comparison","assertDomNode","Node","assertIndexInRange","maxLen","assertOneOf","validValues","opts","defineInjectable","ɵɵdefineInjector","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","getInheritedInjectableDef","getTypeName","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","ɵinj","ngInjectableDef","ngInjectorDef","InjectFlags","_injectImplementation","getInjectImplementation","setInjectImplementation","impl","injectRootLimpMode","notFoundValue","Optional","assertInjectImplementationNotEqual","ngDevMode","noSideEffects","ChangeDetectorStatus","isDefaultChangeDetectionStrategy","__globalThis","globalThis","ngDevModeResetPerfCounters","locationString","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","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","typePrototype","declaredInputs","providersResolver","decls","hostVars","onPush","directiveDefs","pipeDefs","setInput","directiveTypes","pipeTypes","invertObject","extractDirectiveDef","extractPipeDef","ɵɵsetComponentScope","getComponentDef","getDirectiveDef","getPipeDef","autoRegisterModuleById","ɵɵdefineNgModule","transitiveCompileScopes","ɵɵsetNgModuleScope","getNgModuleDef","secondary","newLookup","minifiedKey","ɵɵdefineDirective","ɵɵdefinePipe","onDestroy","ngOnDestroy","throwNotFound","getNgLocaleIdDef","HOST","TVIEW","FLAGS","PARENT","NEXT","TRANSPLANTED_VIEWS_TO_REFRESH","T_HOST","CLEANUP","CONTEXT","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","assertIndexInVarsRange","expandoStartIndex","assertIndexInExpandoRange","lower","upper","assertProjectionSlots","assertParentView","assertNodeInjector","injectorIndex","getFactoryDef","hasFactoryDef","ERROR_DETAILS_PAGE_BASE_URL","RuntimeError","formatRuntimeError","RUNTIME_ERRORS_WITH_GUIDES","fullCode","renderStringify","stringifyForError","throwCyclicDependencyError","depPath","throwMixedMultiProviderError","throwInvalidProviderError","ngModuleDetail","providerDetail","throwProviderNotFoundError","injectorName","injectorDetails","SimpleChange","previousValue","currentValue","firstChange","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","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","domRendererFactory3","createRenderer","unusedValueExportToPlacateAjd$2","unwrapRNode","unwrapLView","unwrapLContainer","getNativeByIndex","getNativeByTNode","getNativeByTNodeOrNull","getTNode","view","getComponentLViewByIndex","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","getBindingRoot","bindingRootIndex","getBindingIndex","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","firstChild","currentLFrame","childLFrame","leaveViewLight","oldLFrame","leaveDI","leaveView","nextContextImpl","walkUpViews","currentView","getSelectedIndex","setSelectedIndex","getSelectedTNode","ɵɵnamespaceSVG","ɵɵnamespaceMathML","ɵɵnamespaceHTML","namespaceHTMLInternal","getNamespace","registerPreOrderHooks","ngOnInit","ngDoCheck","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","registerPostOrderHooks","directiveStart","directiveEnd","ngAfterContentInit","ngAfterContentChecked","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentNodeIndex","nodeIndexLimit","lastNodeIndexFound","isInitHook","callHook","indexWithintInitPhase","NO_PARENT_INJECTOR","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","isFactory","unusedValueExportToPlacateAjd$3","toTNodeTypeAsString","tNodeType","unusedValueExportToPlacateAjd$4","hasClassInput","hasStyleInput","assertTNodeType","expectedTypes","assertPureTNodeType","setUpAttributes","native","isProc","namespaceURI","attrVal","setAttribute","setAttributeNS","setProperty","isNameOnlyAttributeMarker","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","providerTokenOrDef","dirDef","previousIncludeViewProviders","success","tokenId","injectorView","isFirstHostTNode","_tNode","_lView","ɵɵgetFactoryOf","typeAny","ɵɵgetInheritedFactory","ownConstructor","ownFactory","objectPrototype","ɵɵinjectAttribute","ANNOTATIONS","PARAMETERS","PROP_METADATA","makeDecorator","parentClass","additionalProcessing","typeFn","metaCtor","makeMetadataCtor","DecoratorFactory","annotationInstance","TypeDecorator","cls","annotationCls","makeParamDecorator","ParamDecoratorFactory","ParamDecorator","unusedKey","makePropDecorator","PropDecoratorFactory","decoratorInstance","PropDecorator","CREATE_ATTRIBUTE_DECORATOR__PRE_R3__","CREATE_ATTRIBUTE_DECORATOR__POST_R3__","CREATE_ATTRIBUTE_DECORATOR_IMPL","InjectionToken","Query","ɵ0$1","ContentChildren","ɵ1","ContentChild","ɵ2","ViewChildren","ɵ3","ViewChild","ViewEncapsulation$1","getCompilerFacade","globalNg","isType","addAllToArray","arrayEquals","identityAccessor","valueA","valueB","deepForEach","addToArray","removeFromArray","arraySplice","arrayInsert","previousEnd","arrayInsert2","value1","value2","arrayInsertSorted","arrayIndexOfSorted","arrayRemoveSorted","_arrayIndexOfSorted","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","keyValueArrayGet","keyValueArrayDelete","middle","ES5_DELEGATE_CTOR","ES2015_INHERITED_CLASS","ES2015_INHERITED_CLASS_WITH_CTOR","ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR","isDelegateCtor","reflect","_reflect","paramTypes","paramAnnotations","parentCtor","tsickleCtorParams","ctorParam","convertTsickleDecoratorIntoMetadata","_zipTypesAndAnnotations","getOwnMetadata","getParentCtor","_ownParameters","_ownAnnotations","ownPropMetadata","_ownPropMetadata","functionBody","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","_currentInjector","setCurrentInjector","injector","former","injectInjectorOnly","ɵɵinject","ɵɵinvalidFactoryDep","flag","getInjectFlag","attachInjectFlag","decorator","catchInjectorError","injectorErrorName","tokenPath","formatError","ɵ0$3","Inject","getReflect","reflectDependencies","convertDependencies","reflectDependency","setTokenAndResolvedType","proto","__ChangeDetectorRef__","resolveComponentResources","resourceResolver","componentResolved","urlMap","cachedResourceResolve","resp","unwrapResponse","componentResourceResolutionQueue","promises","styleOffset","fullyResolved","componentDefResolved","clearResolutionOfComponentResourcesQueue","componentDefPendingResolution","maybeQueueResolutionOfComponentResources","componentNeedsResolution","isComponentDefPendingResolution","old","restoreComponentResolutionQueue","queue","isComponentResourceResolutionQueueEmpty","response","createHTML","createScriptURL","trustedHTMLFromString","trustedScriptURLFromString","newTrustedFunctionForDev","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","createElement","appendChild","inertBodyElement","templateEl","innerHTML","inertBody","documentMode","stripCustomNsAttrs","elAttrs","attrib","removeAttribute","childNode","nodeType","ELEMENT_NODE","nextSibling","SAFE_URL_PATTERN","SAFE_SRCSET_PATTERN","DATA_URL_PATTERN","_sanitizeUrl","sanitizeSrcset","srcset","tagSet","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","endElement","checkClobberedElement","parentNode","elAttr","encodeEntities","nextNode","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","outerHTML","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","inertBodyHelper","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","mXSSAttempts","parsedHtml","sanitizer","safeHtml","sanitizeChildren","getTemplateContent","ɵɵsanitizeHtml","getSanitizer","sanitize","ɵɵsanitizeStyle","unsafeStyle","ɵɵsanitizeUrl","unsafeUrl","ɵɵsanitizeResourceUrl","unsafeResourceUrl","ɵɵsanitizeScript","unsafeScript","ɵɵtrustConstantHtml","ɵɵtrustConstantResourceUrl","getUrlSanitizer","ɵɵsanitizeUrlOrResourceUrl","validateAgainstEventProperties","validateAgainstEventAttributes","ERROR_TYPE","ERROR_DEBUG_CONTEXT","ERROR_ORIGINAL_ERROR","ERROR_LOGGER","wrappedError","originalError","getType","getDebugContext","getOriginalError","getErrorLogger","defaultErrorLogger","ErrorHandler","_findOriginalError","_findContext","errorLogger","COMMENT_DISALLOWED","COMMENT_DELIMITER","COMMENT_DELIMITER_ESCAPED","escapeCommentText","createNamedArrayType","normalizeDebugBindingName","camelCaseToDashCase","CAMEL_CASE_REGEXP","normalizeDebugBindingValue","getLContext","mpValue","isComponentInstance","findViaComponent","isDirectiveInstance","findViaDirective","getDirectivesAtNodeIndex","findViaNativeElement","existingCtx","createLContext","attachPatchData","rElement","parentContext","localRefs","getComponentViewByInstance","componentInstance","traverseNextElement","componentIndices","elementComponentIndex","componentView","rootComponentView","rootComponent","directiveInstance","directiveIndexStart","directiveIndexEnd","includeComponents","directiveStartIndex","directiveEndIndex","getComponentAtNodeIndex","discoverLocalRefs","localNames","localIndex","ɵ0$4","requestAnimationFrame","defaultScheduler","ɵɵresolveWindow","ownerDocument","defaultView","ɵɵresolveDocument","ɵɵresolveBody","INTERPOLATION_DELIMITER","maybeUnwrapFn","throwMultipleComponentError","throwErrorIfNoChangesMode","creationMode","currValue","constructDetailsForInterpolation","rootIndex","expressionIndex","changedValue","slotIdx","getExpressionChangedErrorDetails","RendererStyleFlags2","_icuContainerIterate","icuContainerIterate","tIcuContainerNode","ensureIcuContainerVisitorLoaded","loader","unusedValueExportToPlacateAjd$5","getLViewParent","getRootView","componentOrLView","getRootContext","viewOrComponent","rootView","getFirstLContainer","getNearestLContainer","getNextLContainer","unusedValueToPlacateAjd","applyToElementOrContainer","lNodeToHandle","beforeNode","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","destroyNode","applyContainer","createTextNode","createText","updateTextNode","createCommentNode","createComment","createElementNode","namespace","createElementNS","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","removeEventListener","unsubscribe","instanceCleanupFn","toCall","getParentRElement","getClosestRElement","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","isProcedural","removeClass","classList","remove","addClass","DashCase","removeStyle","removeProperty","isImportant","Important","setStyle","writeDirectStyle","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","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","chunk","stringifyCSSSelector","currentChunk","valueOrMarker","stringifyCSSSelectorList","selectorList","extractAttrsAndClassesFromSelector","NO_CHANGE","__brand__","ɵɵadvance","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","nameSuffix","embeddedArray","TViewConstructor","hostBindingOpCodes","staticViewQueries","staticContentQueries","directiveRegistry","pipeRegistry","incompleteFirstPass","_decls","_vars","processTNodeChildren","TNode","insertBeforeIndex","directiveStylingLast","mergedAttrs","initialInputs","tViews","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","buildDebugNode","type_","flags_","toDebugStyleBinding","providerIndexStart_","TNodeDebug","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","indexWithinInitPhase","mapToHTML","toDebugNodes","toLViewRange","childViews","childHead","debugNodes","tNodeCursor","rawValue","factories","instances","buildNodeInjectorDebug","injectorResolutionPath","debugNodeInjectorPath","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","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","initializeInputAndOutputAliases","tViewData","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","directiveInputs","generateInitialInputs","mapPropName","elementPropertyInternal","nativeOnly","inputData","dataValue","setInputsForProperty","markDirtyIfOnPush","setNgReflectProperties","logUnknownPropertyError","matchingSchemas","viewIndex","childComponentLView","setNgReflectProperty","debugValue","instantiateRootComponent","rootTNode","configureViewWithDirective","resolveDirectives","hasDirectives","findDirectiveDefMatches","exportsMap","initTNodeFlags","preOrderHooksFound","preOrderCheckHooksFound","saveNameToExportMap","lifeCycleHooks","cacheMatchingLocalNames","registerHostBindingOpCodes","directiveVarsIdx","elementIndx","lastSelectedElementIdx","addComponentLogic","setInputsFromAttrs","dirIndex","invokeHostBindingsInCreationMode","markAsComponentHost","hostTNode","numberOfDirectives","directiveFactory","nodeInjectorFactory","addToViewTree","elementAttributeInternal","setElementAttribute","initialInputData","inputsToStore","LContainerArray","createLContainer","hostNative","embeddedLView","embeddedTView","movedLView","componentHostIdx","refreshContainsDirtyView","componentTView","syncViewWithBlueprint","markViewDirty","scheduleTick","nothingScheduled","clean","scheduler","tickRootContext","playerHandler","flushPlayers","detectChangesInternal","detectChangesInRootView","checkNoChangesInternal","checkNoChangesInRootView","viewQueryFn","storePropertyBindingMetadata","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$1","NULL_INJECTOR","getNullInjector","createInjector","defType","additionalProviders","createInjectorWithoutInjectorInstances","_resolveInjectorDefTypes","R3Injector","records","injectorDefTypes","_destroyed","dedupStack","processProvider","processInjectorType","makeRecord","record","assertNotDestroyed","service","previousInjector","couldBeInjectableType","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","nextInjector","defOrWrappedDef","parents","defName","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","isTypeProvider","providerToRecord","multiRecord","existing","hasOnDestroy","getUndecoratedInjectableFactory","paramLength","inheritedInjectableDef","isValueProvider","providerToFactory","unwrappedProvider","isFactoryProvider","isExistingProvider","classRef","hasDeps","isClassProvider","INJECTOR_IMPL__PRE_R3__","StaticInjector","INJECTOR_IMPL__POST_R3__","INJECTOR_IMPL","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","resolveToken","depRecords","depRecord","childRecord","providerDeps","getComponent","assertDomElement","loadLContext","getOwningComponent","elementOrDir","getRootComponents","getInjector","getInjectionTokens","providerTokens","isDirectiveDefHack","getDirectives","throwOnNotFound","getLocalRefs","getHostElement","componentOrDirective","getRenderedText","loadLContextFromNode","getListeners","lContext","firstParam","secondParam","listenerElement","useCaptureOrIndx","useCapture","sortListeners","getDebugNode","debugNode","valueInLView","getComponentLView","nodeIndx","applyChanges","GLOBAL_PUBLISH_EXPANDO_KEY","_published","publishDefaultGlobalUtils","publishGlobalUtil","COMPILED","ɵ0$7","NULL_INJECTOR$1","renderComponent$1","componentDef","componentTag","hostRenderer","hostRNode","rootFlags","createRootContext","rootTView","createRootComponentView","createRootComponent","hostFeatures","viewRenderer","rootLView","LifecycleHooksFeature","whenRendered","getSuperType","ɵɵInheritDefinitionFeature","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","animation","defData","mergeHostAttrsAcrossInheritance","prevViewQuery","prevContentQueries","prevHostBindings","COPY_DIRECTIVE_FIELDS","COPY_COMPONENT_FIELDS","ɵɵCopyDefinitionFeature","defAny","_symbolIterator","getSymbolIterator","Symbol","iterator","devModeEqual","isListLikeIterableA","isListLikeIterable","isListLikeIterableB","areIterablesEqual","isAObject","isBObject","is","WrappedValue","isWrapped","isJsObject","comparator","iterator1","iterator2","item1","item2","iterateListLike","updateBinding","getBinding","bindingUpdated","oldValueToCompare","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolationV","isBindingUpdated","interpolation1","v0","interpolation2","i0","v1","interpolation3","v2","interpolation4","v3","interpolation5","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","ɵɵreference","angularCoreDiEnv","srcMeta","ngFactoryDef","compileFactory","ɵ0$8","isUseClassProvider","isUseValueProvider","isUseFactoryProvider","isUseExistingProvider","compilerMeta","ɵ0$9","USE_VALUE$2","EMPTY_ARRAY$2","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","tokenStrs","injectionError","constructResolvingMessage","addKey","injectors","noProviderError","cyclicDependencyError","instantiationError","originalException","originalStack","invalidProviderError","noAnnotationError","ii","parameter","outOfBoundsError","mixingMultiProvidersWithRegularProvidersError","provider1","provider2","ReflectiveKey","displayName","_globalKeyRegistry","numberOfKeys","KeyRegistry","_allKeys","newKey","Reflector","caps","setter","importUri","resourceUri","resolveIdentifier","resolveEnum","ReflectiveDependency","visibility","_EMPTY_LIST","ResolvedReflectiveProvider_","resolvedFactories","resolvedFactory","ResolvedReflectiveFactory","resolveReflectiveFactory","factoryFn","resolvedDeps","_dependenciesFor","aliasInstance","fromKey","constructDependencies","resolveReflectiveProvider","resolveReflectiveProviders","normalized","_normalizeProviders","resolvedProviderMap","mergeResolvedReflectiveProviders","normalizedProvidersMap","_extractToken","_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","ɵɵelementEnd","ɵɵelement","isUnknown","HTMLUnknownElement","customElements","elementContainerStartFirstCreatePass","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","isSubscribable","ɵɵlistener","listenerFn","eventTargetResolver","listenerInternal","ɵɵsyntheticHostListener","findExistingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","isTNodeDirectiveHost","processOutputs","lCleanupIndex","existingListener","lastListenerFn","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","propsLength","subscription","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","returnValue","ɵɵnextContext","matchingProjectionSlotIndex","projectionSlots","ngProjectAsAttrVal","ɵɵprojectionDef","numProjectionSlots","projectionHeads","tails","componentChild","slotIndex","ɵɵprojection","selectorIndex","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","ɵɵpropertyInterpolate2","ɵɵpropertyInterpolate3","ɵɵpropertyInterpolate4","ɵɵpropertyInterpolate5","ɵɵpropertyInterpolate6","ɵɵpropertyInterpolate7","ɵɵpropertyInterpolate8","ɵɵpropertyInterpolateV","EMPTY_OBJ$1","EMPTY_ARRAY$3","__unused_const_as_closure_does_not_like_standalone_comment_blocks__","insertTStylingBinding","tStylingKeyWithStatic","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","malformedStyleError","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","abs","localeEn","LOCALE_DATA","registerLocaleData","localeId","extraData","LocaleDataIndex","LocaleId","ExtraData","findLocaleData","normalizeLocale","getLocaleData","parentLocale","getLocaleCurrencyCode","CurrencyCode","getLocalePluralCase","PluralCase","common","locales","unregisterAllLocaleData","pluralMapping","getPluralCase","DEFAULT_LOCALE_ID","USD_CURRENCY_CODE","ELEMENT_MARKER","ICU_MARKER","I18nCreateOpCode","unusedValueExportToPlacateAjd$6","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","bindingValue","resolvedCase","loadIcuContainerVisitor","_stack","_removes","icuContainerIteratorStart","enterIcu","icuContainerIteratorNext","removeOpCode","tIcuIndex","i18nCreateOpCodesToString","opcodes","i18nUpdateOpCodesToString","OpCodeParser","consumeOpCode","consumeString","sanitizationFn","consumeFunction","hasMore","consumeNumber","consumeNumberOrString","opCodeText","icuCreateOpCodesToString","lastRef","consumeNumberStringOrMarker","i18nRemoveOpCodesToString","codes","BINDING_REGEXP","ICU_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","MARKER","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","i18nStartFirstCreatePass","parentTNodeIndex","subTemplateIndex","existingTNodeStack","getTranslationForTemplate","msgParts","i18nParseTextIntoPartsAndICU","i18nStartFirstCreatePassProcessTextNode","icuContainerTNode","createTNodeAndAddOpCode","mainBinding","icuNodeIndex","icuStart","existingTNodes","isICU","i18nNodeIdx","generateBindingUpdateOpCodes","i18nAttributesFirstPass","previousElement","previousElementIndex","destinationNode","maskIndex","sizeIndex","textParts","textValue","toMaskBit","isRootTemplateMessage","removeInnerTemplateTranslation","inTemplate","tagMatched","search","bindingMask","addUpdateIcuSwitch","valueArr","nestedIcus","icuIndex","parseIcuCase","addUpdateIcuUpdate","parseICUBlock","prevPos","braceStack","braces","block","caseName","unsafeCaseHtml","inertRootNode","walkIcuTree","sharedUpdateOpCodes","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","replacements","templateIdsStack","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","ɵɵProvidersFeature","processProvidersFn","noComponentFactoryError","ERROR_COMPONENT","getComponent$1","_NullComponentFactoryResolver","_ngModule","_factories","resolveComponentFactory","ComponentFactoryBoundToModule","projectableNodes","rootSelectorOrNode","noop","injectElementRef","createElementRef","SWITCH_ELEMENT_REF_FACTORY__POST_R3__","SWITCH_ELEMENT_REF_FACTORY__PRE_R3__","SWITCH_ELEMENT_REF_FACTORY","unwrapElementRef","Renderer2Interceptor","RendererFactory2","SWITCH_RENDERER2_FACTORY","SWITCH_RENDERER2_FACTORY__POST_R3__","injectRenderer2","SWITCH_RENDERER2_FACTORY__PRE_R3__","getOrCreateRenderer2","nodeAtIndex","Sanitizer","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","_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","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","createViewRef","isComponentView","hostComponentView","keyValDiff","iterableDiff","defaultIterableDiffers","defaultKeyValueDiffers","SWITCH_TEMPLATE_REF_FACTORY__POST_R3__","injectTemplateRef","SWITCH_TEMPLATE_REF_FACTORY__PRE_R3__","SWITCH_TEMPLATE_REF_FACTORY","ViewEngineTemplateRef","R3TemplateRef","_declarationLView","_declarationTContainer","elementRef","declarationViewLQueries","createEmbeddedView","createTemplateRef","SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__","injectViewContainerRef","SWITCH_VIEW_CONTAINER_REF_FACTORY__PRE_R3__","SWITCH_VIEW_CONTAINER_REF_FACTORY","previousTNode","createContainerRef","VE_ViewContainerRef","R3ViewContainerRef","_lContainer","_hostTNode","_hostLView","getViewRefs","templateRef","viewRef","insert","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","handleEvent","dirtyParentQueries","NOOP","_tokenKeyCache","tokenKey","nodeIdx","unwrap","globalBindingIdx","oldValues","UNDEFINED_RENDERER_TYPE_ID","EMPTY_RENDERER_TYPE_ID","_renderCompCount$1","resolveRendererType2","isFilled","checkBinding","checkAndUpdateBinding","checkBindingNoChanges","markParentViewsForCheck","currView","viewContainerParent","markParentViewsForCheckProjectedViews","endView","dispatchEvent","root","declaredViewContainer","parentNodeDef","viewParentEl","renderNode","renderElement","renderText","isEmbeddedView","filterQueryId","splitMatchedQueriesDsl","matchedQueriesDsl","matchedQueries","matchedQueryIds","splitDepsDsl","sourceName","getParentRenderElement","renderHost","renderParent","componentRendererType","DEFINITION_CACHE","WeakMap","resolveDefinition","rootRenderNodes","renderNodes","visitRootRenderNodes","lastRenderRootNode","visitSiblingRenderNodes","visitRenderNode","visitProjectedRenderNodes","hostElDef","projectedNodes","execRenderNodeAction","rn","bindingFlags","embeddedViews","viewContainer","_embeddedViews","NS_PREFIX_RE","splitNamespace","calcBindingFlags","valueCount","constAndInterp","_toStringWithNull","c0","a1","c1","a2","c2","a3","c3","a4","c4","a5","c5","a6","c6","a7","c7","a8","c8","a9","c9","EMPTY_ARRAY$4","UNDEFINED_VALUE","InjectorRefTokenKey","INJECTORRefTokenKey","NgModuleRefTokenKey","moduleProvideDef","depDefs","providersByKey","initNgModule","_def","provDef","_createProviderInstance","resolveNgModuleDep","providerInstance","targetsModule","moduleTransitivelyPresent","_createClass","_callFactory","depValues","callNgModuleLifecycle","lifecycles","attachEmbeddedView","elementData","attachProjectedView","prevView","renderAttachEmbeddedView","vcElementData","dvcElementData","projectedViews","_projectedViews","markNodeAsProjectedTemplate","childFlags","detachEmbeddedView","renderDetachView$1","detachProjectedView","moveEmbeddedView","oldViewIndex","newViewIndex","prevRenderNode","EMPTY_CONTEXT","ComponentFactory_","getComponentViewDefinitionFactory","_inputs","_outputs","inputsArr","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","NgModuleRef_","_moduleType","_bootstrapComponents","_destroyListeners","injectFlags","Renderer2TokenKey","ElementRefTokenKey","ViewContainerRefTokenKey","TemplateRefTokenKey","ChangeDetectorRefTokenKey","InjectorRefTokenKey$1","INJECTORRefTokenKey$1","nonMinifiedName","outputIndex","directChildFlags","childMatchedQueries","createProviderInstance","_createProviderInstance$1","createPipeInstance","createClass","createDirectiveInstance","outputObservable","eventHandlerClosure","checkAndUpdateDirectiveInline","v8","v9","providerData","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","SCHEDULER","createChainedInjector","rootViewInjector","isBoundToModule","tElementNode","nodesforSlot","ComponentRef$1","componentFactoryResolver","injectComponentFactoryResolver","_rootLView","registerModuleFactory","assertSameOrNotExisting","incoming","registerNgModuleType","recurse","clearModulesForTest","getRegisteredNgModuleType","NgModuleRef$1","destroyCbs","ngLocaleIdDef","_r3Injector","NgModuleFactory$1","ɵɵpureFunction0","pureFn","thisArg","ɵɵpureFunction1","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","pureFunction4Internal","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunction8","exp8","ɵɵpureFunctionV","exps","pureFunctionVInternal","getPureFunctionReturnValue","returnValueIndex","lastReturnValue","bindingRoot","ɵɵpipe","getPipeDef$1","pipeFactory","pipeInstance","ɵɵpipeBind1","unwrapValue$1","isPure","ɵɵpipeBind2","ɵɵpipeBind3","ɵɵpipeBind4","ɵɵpipeBindV","bindingToInvalidateIdx","EventEmitter_","isAsync","__isAsync","observerOrNext","complete","schedulerFn","errorFn","completeFn","sink","Subscription","Subject","symbolIterator","_results","_emitDistinctChangesOnly","_changesDetected","_changes","resultsTree","newResultFlat","unusedValueExportToPlacateAjd$7","unusedValueExportToPlacateAjd$8","unusedValueToPlacateAjd$2","LQuery_","queryList","setDirty","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","parentLQuery","indexInDeclarationView","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","matchIdx","createResultByTNodeType","createResultForNode","matchingIdx","createSpecialToken","materializeViewResults","lQuery","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","ɵɵqueryRefresh","notifyOnChanges","ɵɵviewQuery","createTQuery","createLQuery","ɵɵcontentQuery","saveContentQueryAndDirectiveIndex","ɵɵloadQuery","loadQueryInternal","track","tViewContentQueries","lastSavedDirectiveIndex","ɵɵtemplateRefExtractor","ɵɵinjectPipeChangeDetectorRef","ɵ0$c","jitOptions","setJitOptions","getJitOptions","resetJitOptions","EMPTY_ARRAY$5","moduleQueue","enqueueModuleForDelayedScoping","flushingModuleQueue","flushModuleScopingQueueAsMuchAsPossible","isResolvedDeclaration","setScopeOnDeclaredComponents","compileNgModuleDefs","allowDuplicateDeclarationsInRoot","expandModuleWithProviders","verifySemanticsOfNgModuleDef","importingModule","verifiedNgModule","unwrapModuleWithProvidersImports","verifySemanticsOfNgModuleImport","verifyDeclarationsHaveDefinitions","verifyDirectivesHaveSelector","combinedDeclarations","computeCombinedExports","verifyExportsAreDeclaredOrReExported","verifyDeclarationIsUnique","verifyComponentEntryComponentsIsPartOfNgModule","getAnnotation","verifyCorrectBootstrapType","verifyComponentIsPartOfNgModule","suppressErrors","existingModule","ownerNgModule","typeOrWithProviders","collect","__annotations__","readAnnotation","resetCompiledComponents","transitiveScopes","transitiveScopesFor","patchComponentDefWithScope","ngSelectorScope","compilation","scopes","exported","importedScope","declared","declaredWithDefs","exportedScope","isModuleWithProviders","compilationDepth","ngComponentDef","addDirectiveFactoryDef","addDirectiveDefToUndecoratedParents","hasSelectorScope","compileDirective","ngDirectiveDef","extendsDirectlyFromObject","extractQueriesMetadata","isContentQuery","extractExportAs","objPrototype","shouldAddAbstractDirective","convertToR3QueryPredicate","splitByComma","isQueryAnn","queriesMeta","isInputAnnotation","LIFECYCLE_HOOKS","hookName","metadataName","compilePipe","ngPipeDef","ɵ0$d","ɵ1$2","SWITCH_COMPILE_DIRECTIVE","ɵ2$1","ɵ3$1","SWITCH_COMPILE_COMPONENT","ɵ4","ɵ5","SWITCH_COMPILE_PIPE","ɵ6","ɵ7","ɵ8","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","SWITCH_COMPILE_NGMODULE__POST_R3__","SWITCH_COMPILE_NGMODULE__PRE_R3__","APP_INITIALIZER","ApplicationInitStatus","appInits","reject","initialized","donePromise","rej","asyncInitPromises","initResult","catch","ApplicationInitStatus_Factory","APP_ID","_appIdRandomProviderFactory","_randomChar","APP_ID_RANDOM_PROVIDER","random","PLATFORM_INITIALIZER","PLATFORM_ID","APP_BOOTSTRAP_LISTENER","PACKAGE_ROOT_URL","log","Console_Factory","LOCALE_ID$1","DEFAULT_CURRENCY_CODE","TRANSLATIONS","SWITCH_IVY_ENABLED__POST_R3__","SWITCH_IVY_ENABLED__PRE_R3__","ivyEnabled","ModuleWithComponentFactories","_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","scheduleMicroTask","Zone","getNativeRequestAnimationFrame","nativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","enableLongStackTrace","shouldCoalesceEventChangeDetection","shouldCoalesceRunChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","isStable","onUnstable","onMicrotaskEmpty","onStable","onError","assertZonePatched","_nesting","_outer","_inner","fork","lastRequestAnimationFrameId","forkInnerZoneWithAngularBehavior","applyThis","applyArgs","zone","task","scheduleEventTask","EMPTY_PAYLOAD","runTask","cancelTask","runGuarded","isInAngularZone","checkStable","runOutsideAngular","delayChangeDetectionForEvents","fakeTopEventTask","updateMicroTaskStatus","invoke","delayChangeDetectionForEventsDelegate","onInvokeTask","onEnter","invokeTask","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","change","_hasPendingMicrotasks","microTask","macroTask","onHandleError","NoopNgZone","Testability","_ngZone","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","clearTimeout","timeoutId","doneCb","pending","getPendingTasks","updateCb","macroTasks","creationLocation","timeout","addCallback","using","exactMatch","Testability_Factory","TestabilityRegistry","_applications","_testabilityGetter","addToWindow","testability","elem","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","publishDefaultGlobalUtils__PRE_R3__","publishDefaultGlobalUtils__POST_R3__","publishDefaultGlobalUtils$1","isBoundToModule__POST_R3__","isBoundToModule__PRE_R3__","cf","ALLOW_MULTIPLE_PLATFORMS","NgProbeToken","createPlatform","PlatformRef","inits","createPlatformFactory","parentPlatformFactory","platform","getPlatform","injectedProviders","assertPlatform","requiredToken","destroyPlatform","_injector","_modules","ngZoneOption","ngZoneEventCoalescing","ngZoneRunCoalescing","getNgZone","ngZoneInjector","exceptionHandler","_callAndReportToErrorHandler","initStatus","runInitializers","_moduleDoBootstrap","optionsReducer","bootstrapModuleFactory","ApplicationRef","ngDoBootstrap","PlatformRef_Factory","_zone","_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","legacyOfflineMode","loadFactory","loadAndCompile","System","checkNotEmpty","factoryClassSuffix","SystemJsNgModuleLoader_Factory","modulePath","ViewRef$1","EmbeddedViewRef","DebugEventListener","DebugNode__PRE_R3__","nativeNode","_debugContext","DebugElement__PRE_R3__","addChild","childIndex","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","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","templateFactory","namespaceAndName","fixedAttrs","bindingDefs","suffixOrSecurityContext","listenToElementOutputs","handleEventClosure","renderEventHandlerClosure","listenTarget","listenerView","disposable","checkAndUpdateElementInline","checkAndUpdateElementValue","checkAndUpdateElementDynamic","setElementAttribute$1","setElementClass","setElementStyle","bindView","setElementProperty","renderValue","filterId","createQuery","queryIds","nodeMatchedQueries","tplDef","checkAndUpdateQuery","newValues","calcQueryValues","notify","getQueryValue","embeddedView","dvc","projectedView","queryValueType","appendNgContent","_pureExpressionDef","propToIndex","nbKeys","propertyNames","createPureExpression","checkAndUpdatePureExpressionInline","checkAndUpdatePureExpressionDynamic","staticText","checkAndUpdateTextInline","_addInterpolationPart","checkAndUpdateTextDynamic","valueStr","viewBindingCount","viewDisposableCount","viewNodeFlags","viewRootNodeFlags","viewMatchedQueries","currentRenderParent","currentElementHasPublicProviders","currentElementHasPrivateProviders","validateNode","isPrivateService","newParent","rootNodeFlags","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","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","createNgModuleFactory","defFactory","NgModuleFactory_","cloneNgModuleDefinition","_ngModuleDefFactory","ɵɵngDeclareDirective","compileDirectiveDeclaration","ɵɵngDeclareComponent","compileComponentDeclaration","ɵɵngDeclarePipe","compilePipeDeclaration","DomAdapter","parseCookieValue","setRootDomAdapter","allowSanitizationBypassOrThrow","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","isGeneratorFunction","genFun","mark","setPrototypeOf","awrap","__await","AsyncIterator","PromiseImpl","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","async","iter","doneResult","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","skipTempReset","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","PRE_STYLE","AnimationGroupPlayer","ONE_SECOND","EmptyOutletComponent","noMatch","applyRedirects","applyRedirectsFn","NoMatch","recognize","recognizeFn"],"mappings":"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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMmH,S;AACF,uBAAc;AAAA;;AACV,SAAKC,aAAL,GAAqB,IAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACI,qBAAYC,OAAZ,EAAqBjvD,QAArB,EAAkD;AAAA,UAAnBkvD,YAAmB,uEAAJ,EAAI;AAC9C,UAAMC,gBAAgB,GAAGC,uBAAuB,CAACH,OAAD,CAAhD;AACAA,aAAO,GAAGI,aAAa,CAACJ,OAAD,CAAvB;AACAA,aAAO,GAAG,KAAKK,iBAAL,CAAuBL,OAAvB,CAAV;;AACA,UAAMM,aAAa,GAAG,KAAKC,aAAL,CAAmBP,OAAnB,EAA4BjvD,QAA5B,EAAsCkvD,YAAtC,CAAtB;;AACA,aAAO,CAACK,aAAD,4IAAmBJ,gBAAnB,GAAqC9vD,IAArC,CAA0C,IAA1C,CAAP;AACH;;;WACD,2BAAkB4vD,OAAlB,EAA2B;AACvBA,aAAO,GAAG,KAAKQ,kCAAL,CAAwCR,OAAxC,CAAV;AACA,aAAO,KAAKS,6BAAL,CAAmCT,OAAnC,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,4CAAmCA,OAAnC,EAA4C;AACxC;AACA,aAAOA,OAAO,CAACx9C,OAAR,CAAgBk+C,yBAAhB,EAA2C,YAAgB;AAC9D,eAAO,qDAAO,GAAd;AACH,OAFM,CAAP;AAGH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,uCAA8BV,OAA9B,EAAuC;AACnC;AACA,aAAOA,OAAO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64D,CAAC,EAAI;AAC7B,WAAOA,CAAC,CAACzrC,MAAF,CAAS,CAAT,IAAc,GAAd,GAAoByrC,CAAC,CAACzrC,MAAF,CAAS,CAAT,CAA3B;AACH,GAHM,EAIF7gC,WAJE,EAAP;AAKH;;AAED,IAAM0lF,cAAc,GAAG,YAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,kCAAkC,GAAG,CAA3C;AACA;AACA;AACA;AACA;AACA;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,c;AACF,0BAAYC,cAAZ,EAA4B;AAAA;;AACxB,SAAKA,cAAL,GAAsBA,cAAtB;AACA;;AACA,SAAKC,iBAAL,GAAyB,KAAzB;AACA;AACR;AACA;AACA;;AACQ,SAAKC,WAAL,GAAmB,KAAnB;AACA,SAAKC,oBAAL,GAA4B,KAA5B;AACA;;AACA,SAAKC,cAAL,GAAsB,IAAtB;AACA;;AACA,SAAKC,cAAL,GAAsB,IAAtB;AACA;;AACA,SAAKC,kBAAL,GAA0B,IAA1B;AACA;;AACA,SAAKC,kBAAL,GAA0B,IAA1B;AACA,SAAKC,iBAAL,GAAyB,IAAzB;AACA,SAAKC,kBAAL,GAA0B,IAA1B,CAnBwB,CAoBxB;AACA;;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKC,YAAL,GAAoB,IAAIrjF,GAAJ,EAApB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKsjF,aAAL,GAAqB,IAAItjF,GAAJ,EAArB;AACA,SAAKujF,mBAAL,GAA2B,EAA3B;AACA,SAAKC,mBAAL,GAA2B,EAA3B;AACH;AACD;AACJ;AACA;AA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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMG,iBAAe,GAAG,MAAxB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,O;;;;;AAoEX,mBACwB,MADxB,EAE+C,UAF/C,EAGqD,eAHrD,EAKmD,cALnD,EAKyF;AAAA;;AAAA;;AACvF;AAzEc,sBAAuB,IAAI,WAAJ,EAAvB;AAClB;;AAWE,0BAAc,KAAd;AACF;AAEK;AAAwB;AAMrB;AACiB;;AA2CE,qBAAS,IAAI,0DAAJ,EAAT;AASvB,YAAK,OAAL,GAAe,MAAf;;AACA,YAAK,cAAL,CAAoB,UAApB;;AACA,YAAK,mBAAL,CAAyB,eAAzB;;AACA,YAAK,aAAL,GAAqB,mBAAmB,CAAC,gJAAM,cAAP,CAAxC;AALuF;AAMxF;AACH;;;;;WAEE,qBAAY,OAAZ,EAAkC;AAChC,WAAK,eAAL;;AACA,UAAI,CAAC,KAAK,WAAV,EAAuB,KAAK,aAAL;;AACvB,UAAI,gBAAgB,OAApB,EAA6B;AAC3B,aAAK,eAAL,CAAqB,OAArB;AACD;;AAED,UAAI,iBAAiB,CAAC,OAAD,EAAU,KAAK,SAAf,CAArB,EAAgD;AAC9C,aAAK,YAAL,CAAkB,KAAK,KAAvB;;AACA,aAAK,SAAL,GAAiB,KAAK,KAAtB;AACD;AACF;AACH;;;;WAEE,uBAAW;AACT,WAAK,aAAL,IAAsB,KAAK,aAAL,CAAmB,aAAnB,CA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O,CAAC,KAAR,CAAc,GAAd;AACD;AACF;;AAED,OAAK,GAAL,CAAS,OAAO,CAAC,SAAR,CAAkB,UAAlB,CAAT;AACD;;AAOD,SAAS,YAAT,CAA8D,KAA9D,EAAiF;AAAA,MACvE,KADuE,GACpD,KADoD,CACvE,KADuE;AAAA,MAChE,OADgE,GACpD,KADoD,CAChE,OADgE;AAE/E,SAAO,CAAC,IAAR,CAAa,KAAb;AACA,SAAO,CAAC,QAAR;AACD;;AAOD,SAAS,aAAT,CAAgE,KAAhE,EAAoF;AAAA,MAC1E,GAD0E,GACzD,KADyD,CAC1E,GAD0E;AAAA,MACrE,OADqE,GACzD,KADyD,CACrE,OADqE;AAElF,SAAO,CAAC,KAAR,CAAc,GAAd;AACD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACsB,gB;;;AAUtB;AACA;AACA;AACA;AACA;;;IACsB,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;;;AACA,SAAgB,iBAAhB,CAAkC,EAAlC,EAA+C;AAC7C,SAAO,CAAC,OAAR,CAAgB,IAAhB,EAAsB,IAAtB,CAA2B,EAA3B;AACF;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACa,mB;AAUX,iCAAmD;AAAA,QAAvC,QAAuC,uEAApB,CAAoB;AAAA,QAAjB,KAAiB,uEAAD,CAAC;;AAAA;;AAT3C,sBAAyB,EAAzB;AACA,uBAA0B,EAA1B;AACA,yBAA4B,EAA5B;AACA,oBAAW,KAAX;AACA,sBAAa,KAAb;AACA,qBAAY,KAAZ;AACA,qBAAY,CAAZ;AACD,wBAAqC,IAArC;AAGL,SAAK,SAAL,GAAiB,QAAQ,GAAG,KAA5B;AACD;;;;WACO,qBAAS;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ACpoE,IAAL,CAAUkmB,SAAV;AACH;AACJ,GATD,MAUK;AACDkiD,QAAI,CAACpoE,IAAL,CAAUkmB,SAAV;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMm9F,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;AACA;AACJ;AACA;AACInhK,OAJA;AAKA;AACJ;AACA;AACIohK,cARA,EAQgBC,oBARhB,EAQsC;AAAA;;AAClC,OAAKrhK,OAAL,GAAeA,OAAf;AACA;AACR;AACA;AACA;;AACQ,OAAKshK,SAAL,GAAiB,KAAjB;AACA7U,WAAS,IAAIhC,aAAa,CAACzqJ,OAAD,EAAU,uBAAV,CAA1B;AACAysJ,WAAS,IAAIxC,WAAW,CAAC,OAAOjqJ,OAAR,EAAiB,UAAjB,EAA6B,4BAA7B,CAAxB;AACA,OAAKuhK,mBAAL,GAA2BH,cAA3B;AACA,OAAKI,UAAL,GAAkBH,oBAAlB;AACH,C;;AAEL,SAASI,SAAT,CAAmBrhK,GAAnB,EAAwB;AACpB,SAAOA,GAAG,YAAY+gK,mBAAtB;AACH,C,CACD;AACA;;;AACA,IAAMO,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;;AACA,SAASC,mBAAT,CAA6BC,SAA7B,EAAwC;AACpC,MAAI15J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;AACA,IAAMuB,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,qBAAelrL,SAAf,EAA0B;AACtB,aAAOwqL,0BAA0B,CAACxqL,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,EAAmCvT,MAAnC,EAA2C;AACvC,UAAM0+L,2BAA2B,GAAGD,kBAAkB,CAAC/iI,OAAnB,CAA2BnoD,SAA3B,CAApC;AACA,aAAOkrL,kBAAkB,CAACE,qBAAnB,CAAyCD,2BAAzC,EAAsE1+L,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,+BAA6BuT,SAA7B,EAAwCvT,MAAxC,EAAgD;AAC5C,aAAO,IAAI4+L,mBAAJ,CAAwBrrL,SAAxB,EAAmCvT,MAAnC,CAAP;AACH;;;;;;IAEC4+L,mB;AACF;AACJ;AACA;AACI,+BAAYC,UAAZ,EAAwB5oI,OAAxB,EAAiC;AAAA;;AAC7B;AACA,SAAK6oI,oBAAL,GAA4B,CAA5B;AACA,SAAKD,UAAL,GAAkBA,UAAlB;AACA,SAAK7+L,MAAL,GAAci2D,OAAO,IAAI,IAAzB;AACA,QAAM3hE,GAAG,GAAGuqM,UAAU,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIC,mEAAJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,qBAAT,CAA+Bt2C,KAA/B,EAAsC/P,KAAtC,EAA6CsmD,qBAA7C,EAAoEzvM,KAApE,EAA2EmqE,aAA3E,EAA0FulI,cAA1F,EAA0G;AACtGlnD,WAAS,IAAI2I,qBAAqB,CAACmG,QAAQ,EAAT,CAAlC;AACA,MAAIq4C,SAAS,GAAGD,cAAc,GAAGvmD,KAAK,CAAC8+B,aAAT,GAAyB9+B,KAAK,CAAC++B,aAA7D;AACA,MAAI0nB,QAAQ,GAAGvqB,oBAAoB,CAACsqB,SAAD,CAAnC;AACA,MAAIE,QAAQ,GAAGnqB,oBAAoB,CAACiqB,SAAD,CAAnC;AACAz2C,OAAK,CAACl5J,KAAD,CAAL,GAAeyvM,qBAAf;AACA,MAAIK,sBAAsB,GAAG,KAA7B;AACA,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,kBAAS;AACL,WAAKA,MAAL,CAAY7V,KAAZ,KAAsB,CAAC;AAAI;AAA3B;AACH;AACD;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,oBAAW;AACP,WAAK6V,MAAL,CAAY7V,KAAZ,KAAsB;AAAI;AAA1B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,yBAAgB;AACZ6mC,2BAAqB,CAAC,KAAKhxB,MAAL,CAAY9V,KAAZ,CAAD,EAAqB,KAAK8V,MAA1B,EAAkC,KAAKrmK,OAAvC,CAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;;WACI,0BAAiB;AACbu3L,4BAAsB,CAAC,KAAKlxB,MAAL,CAAY9V,KAAZ,CAAD,EAAqB,KAAK8V,MAA1B,EAAkC,KAAKrmK,OAAvC,CAAtB;AACH;;;WACD,oCAA2B;AACvB,UAAI,KAAKoyN,OAAT,EAAkB;AACd,cAAM,IAAIv+N,KAAJ,CAAU,+DAAV,CAAN;AACH;;AACD,WAAKw+N,wBAAL,GAAgC,IAAhC;AACH;;;WACD,4BAAmB;AACf,WAAKD,OAAL,GAAe,IAAf;AACAvzC,sBAAgB,CAAC,KAAKxY,MAAL,CAAY9V,KAAZ,CAAD,EAAqB,KAAK8V,MAA1B,CAAhB;AACH;;;WACD,wBAAeksD,MAAf,EAAuB;AACnB,UAAI,KAAKF,wBAAT,EAAmC;AAC/B,cAAM,IAAIx+N,KAAJ,CAAU,mDAAV,CAAN;AACH;;AACD,WAAKu+N,OAAL,GAAeG,MAAf;AACH;;;;;AAEL;;;IACMC,W;;;;;AACF,uBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACf,gCAAMA,KAAN;AACA,WAAKA,KAAL,GAAaA,KAAb;AAFe;AAGlB;;;;WACD,yBAAgB;AACZn7B,6BAAuB,CAAC,KAAKm7B,KAAN,CAAvB;AACH;;;WACD,0BAAiB;AACbj7B,8BAAwB,CAAC,KAAKi7B,KAAN,CAAxB;AACH;;;SACD,eAAc;AACV,aAAO,IAAP;AACH;;;;EAbqBP,O;AAgB1B;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMQ,6CAA6C,GAAGC,uBAAtD;AACA,IAAMC,4CAA4C,GAAG/H,IAArD;AACA,IAAMgI,kCAAkC,GAAGH,6CAA3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM33M,iB;;;AAEN;AACA;AACA;AACA;;;AACAA,iBAAiB,CAACmzI,iBAAlB,GAAsC2kE,kCAAtC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA93M,iBAAiB,CAACwzJ,qBAAlB,GAA0C,IAA1C;AACA;;AACA,SAASokD,uBAAT,GAAiD;AAAA,MAAhBtmL,MAAgB,uEAAP,KAAO;AAC7C,SAAOymL,aAAa,CAAC14D,eAAe,EAAhB,EAAoBL,QAAQ,EAA5B,EAAgC1tH,MAAhC,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASymL,aAAT,CAAuBjnE,KAAvB,EAA8B8G,KAA9B,EAAqCtmH,MAArC,EAA6C;AACzC;AACA;AACA,MAAM0mL,eAAe,GAAG,CAAC1mL,MAAD,IAAWimH,eAAe,CAACzG,KAAD,CAAlD;;AACA,MAAIknE,eAAJ,EAAqB;AACjB;AACA;AACA,QAAMz4C,aAAa,GAAGjiB,wBAAwB,CAACxM,KAAK,CAACnpJ,KAAP,EAAciwJ,KAAd,CAA9C,CAHiB,CAGmD;;AACpE,WAAO,IAAIu/D,OAAJ,CAAY53C,aAAZ,EAA2BA,aAA3B,CAAP;AACH,GALD,MAMK,IAAIzuB,KAAK,CAACtpJ,IAAN,IAAc;AAAE;AAAF,IAAmB;AAAG;AAAtB,IAA2C;AAAG;AAA5D,GAAJ,EAA4E;AAC7E;AACA;AACA,QAAMywN,iBAAiB,GAAGrgE,KAAK,CAACtB,0BAAD,CAA/B,CAH6E,CAGhB;;AAC7D,WAAO,IAAI6gE,OAAJ,CAAYc,iBAAZ,EAA+BrgE,KAA/B,CAAP;AACH;;AACD,SAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;;AACA,IAAMsgE,UAAU,GAAG,CAAC,IAAI5C,4BAAJ,EAAD,CAAnB;AACA;AACA;AACA;;AACA,IAAM6C,YAAY,GAAG,CAAC,IAAIrH,4BAAJ,EAAD,CAArB;AACA,IAAMsH,sBAAsB,GAAG,IAAI9B,eAAJ,CAAoB6B,YAApB,CAA/B;AACA,IAAME,sBAAsB,GAAG,IAAIzB,eAAJ,CAAoBsB,UAApB,CAA/B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMI,sCAAsC,GAAGC,iBAA/C;AACA,IAAMC,qCAAqC,GAAG1I,IAA9C;AACA,IAAM2I,2BAA2B,GAAGH,sCAApC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMp4M,W;;;AAEN;AACA;AACA;AACA;;;AACAA,WAAW,CAACizI,iBAAZ,GAAgCslE,2BAAhC;AACA,IAAMC,qBAAqB,GAAGx4M,WAA9B;;AACA,IAAMy4M,aAAa;AAAA;;AAAA;;AACf,uBAAYC,iBAAZ,EAA+BC,sBAA/B,EAAuDC,UAAvD,EAAmE;AAAA;;AAAA;;AAC/D;AACA,YAAKF,iBAAL,GAAyBA,iBAAzB;AACA,YAAKC,sBAAL,GAA8BA,sBAA9B;AACA,YAAKC,UAAL,GAAkBA,UAAlB;AAJ+D;AAKlE;;AANc;AAAA;AAAA,WAOf,4BAAmB7zN,OAAnB,EAA4B;AACxB,UAAMu2L,aAAa,GAAG,KAAKq9B,sBAAL,CAA4BtpC,MAAlD;AACA,UAAMgM,aAAa,GAAG7G,WAAW,CAAC,KAAKkkC,iBAAN,EAAyBp9B,aAAzB,EAAwCv2L,OAAxC,EAAiD;AAAG;AAApD,QAAuE,IAAvE,EAA6Eu2L,aAAa,CAACt6B,SAA3F,EAAsG,IAAtG,EAA4G,IAA5G,EAAkH,IAAlH,EAAwH,IAAxH,CAAjC;AACA,UAAMojB,qBAAqB,GAAG,KAAKs0C,iBAAL,CAAuB,KAAKC,sBAAL,CAA4BlxN,KAAnD,CAA9B;AACAwoJ,eAAS,IAAIsI,gBAAgB,CAAC6rB,qBAAD,CAA7B;AACAiX,mBAAa,CAAChlC,sBAAD,CAAb,GAAwC+tB,qBAAxC;AACA,UAAMy0C,uBAAuB,GAAG,KAAKH,iBAAL,CAAuBniE,OAAvB,CAAhC;;AACA,UAAIsiE,uBAAuB,KAAK,IAAhC,EAAsC;AAClCx9B,qBAAa,CAAC9kC,OAAD,CAAb,GAAyBsiE,uBAAuB,CAACC,kBAAxB,CAA2Cx9B,aAA3C,CAAzB;AACH;;AACDrG,gBAAU,CAACqG,aAAD,EAAgBD,aAAhB,EAA+Bt2L,OAA/B,CAAV;AACA,aAAO,IAAIkyN,OAAJ,CAAY57B,aAAZ,CAAP;AACH;AAnBc;;AAAA;AAAA,EAA6Bm9B,qBAA7B,CAAnB;AAqBA;AACA;AACA;AACA;AACA;;;AACA,SAASH,iBAAT,GAA6B;AACzB,SAAOU,iBAAiB,CAAC55D,eAAe,EAAhB,EAAoBL,QAAQ,EAA5B,CAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASi6D,iBAAT,CAA2Bt+B,SAA3B,EAAsCrG,SAAtC,EAAiD;AAC7C,MAAIqG,SAAS,CAACnzL,IAAV,GAAiB;AAAE;AAAvB,IAAwC;AACpC2oJ,eAAS,IAAIhC,aAAa,CAACwsC,SAAS,CAACpL,MAAX,EAAmB,yBAAnB,CAA1B;AACA,aAAO,IAAIopC,aAAJ,CAAkBrkC,SAAlB,EAA6BqG,SAA7B,EAAwCq1B,gBAAgB,CAACr1B,SAAD,EAAYrG,SAAZ,CAAxD,CAAP;AACH;;AACD,SAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMx0K,W;;;AAEN;AACA;AACA;;;IACMU,e;;;AAGN;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM04M,4CAA4C,GAAGC,sBAArD;AACA,IAAMC,2CAA2C,GAAGtJ,IAApD;AACA,IAAMuJ,iCAAiC,GAAGH,4CAA1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMn5M,gB;;;AAEN;AACA;AACA;AACA;;;AACAA,gBAAgB,CAACozI,iBAAjB,GAAqCkmE,iCAArC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASF,sBAAT,GAAkC;AAC9B,MAAMG,aAAa,GAAGj6D,eAAe,EAArC;AACA,SAAOk6D,kBAAkB,CAACD,aAAD,EAAgBt6D,QAAQ,EAAxB,CAAzB;AACH;;AACD,IAAMw6D,mBAAmB,GAAGz5M,gBAA5B;;AACA,IAAM05M,kBAAkB;AAAA;;AAAA;;AACpB,4BAAYC,WAAZ,EAAyBC,UAAzB,EAAqCC,UAArC,EAAiD;AAAA;;AAAA;;AAC7C;AACA,YAAKF,WAAL,GAAmBA,WAAnB;AACA,YAAKC,UAAL,GAAkBA,UAAlB;AACA,YAAKC,UAAL,GAAkBA,UAAlB;AAJ6C;AAKhD;;AANmB;AAAA;AAAA,SAOpB,eAAc;AACV,aAAO5J,gBAAgB,CAAC,KAAK2J,UAAN,EAAkB,KAAKC,UAAvB,CAAvB;AACH;AATmB;AAAA;AAAA,SAUpB,eAAe;AACX,aAAO,IAAI5vD,YAAJ,CAAiB,KAAK2vD,UAAtB,EAAkC,KAAKC,UAAvC,CAAP;AACH;AACD;;AAboB;AAAA;AAAA,SAcpB,eAAqB;AACjB,UAAM7yD,cAAc,GAAGwB,yBAAyB,CAAC,KAAKoxD,UAAN,EAAkB,KAAKC,UAAvB,CAAhD;;AACA,UAAI9yD,iBAAiB,CAACC,cAAD,CAArB,EAAuC;AACnC,YAAMO,UAAU,GAAGH,qBAAqB,CAACJ,cAAD,EAAiB,KAAK6yD,UAAtB,CAAxC;AACA,YAAMjgE,aAAa,GAAGqN,sBAAsB,CAACD,cAAD,CAA5C;AACA5W,iBAAS,IAAIuJ,kBAAkB,CAAC4N,UAAD,EAAa3N,aAAb,CAA/B;AACA,YAAM0H,WAAW,GAAGiG,UAAU,CAAC9R,KAAD,CAAV,CAAkB10J,IAAlB,CAAuB64J,aAAa,GAAG;AAAE;AAAzC,SAApB;AACA,eAAO,IAAIqQ,YAAJ,CAAiB3I,WAAjB,EAA8BiG,UAA9B,CAAP;AACH,OAND,MAOK;AACD,eAAO,IAAI0C,YAAJ,CAAiB,IAAjB,EAAuB,KAAK4vD,UAA5B,CAAP;AACH;AACJ;AA1BmB;AAAA;AAAA,WA2BpB,iBAAQ;AACJ,aAAO,KAAKv/N,MAAL,GAAc,CAArB,EAAwB;AACpB,aAAKgvL,MAAL,CAAY,KAAKhvL,MAAL,GAAc,CAA1B;AACH;AACJ;AA/BmB;AAAA;AAAA,WAgCpB,aAAIsN,KAAJ,EAAW;AACP,UAAM4vN,QAAQ,GAAGsC,WAAW,CAAC,KAAKH,WAAN,CAA5B;AACA,aAAOnC,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,CAAC5vN,KAAD,CAA7B,IAAwC,IAA/C;AACH;AAnCmB;AAAA;AAAA,SAoCpB,eAAa;AACT,aAAO,KAAK+xN,WAAL,CAAiBr/N,MAAjB,GAA0B68J,uBAAjC;AACH;AAtCmB;AAAA;AAAA,WAuCpB,4BAAmB4iE,WAAnB,EAAgC70N,OAAhC,EAAyC0C,KAAzC,EAAgD;AAC5C,UAAMoyN,OAAO,GAAGD,WAAW,CAACd,kBAAZ,CAA+B/zN,OAAO,IAAI,EAA1C,CAAhB;AACA,WAAK+0N,MAAL,CAAYD,OAAZ,EAAqBpyN,KAArB;AACA,aAAOoyN,OAAP;AACH;AA3CmB;AAAA;AAAA,WA4CpB,yBAAgBnzM,gBAAhB,EAAkCjf,KAAlC,EAAyCwqK,QAAzC,EAAmDy9C,gBAAnD,EAAqEqK,WAArE,EAAkF;AAC9E,UAAMC,eAAe,GAAG/nD,QAAQ,IAAI,KAAKgoD,cAAzC;;AACA,UAAI,CAACF,WAAD,IAAgBrzM,gBAAgB,CAAChkB,QAAjB,IAA6B,IAA7C,IAAqDs3N,eAAzD,EAA0E;AACtE;AACA;AACA;AACA,YAAMj+N,MAAM,GAAGi+N,eAAe,CAACn7N,GAAhB,CAAoB+gB,WAApB,EAAiC,IAAjC,CAAf;;AACA,YAAI7jB,MAAJ,EAAY;AACRg+N,qBAAW,GAAGh+N,MAAd;AACH;AACJ;;AACD,UAAMm+N,YAAY,GAAGxzM,gBAAgB,CAAClR,MAAjB,CAAwBwkN,eAAxB,EAAyCtK,gBAAzC,EAA2Dl1N,SAA3D,EAAsEu/N,WAAtE,CAArB;AACA,WAAKD,MAAL,CAAYI,YAAY,CAAC7uG,QAAzB,EAAmC5jH,KAAnC;AACA,aAAOyyN,YAAP;AACH;AA1DmB;AAAA;AAAA,WA2DpB,gBAAOL,OAAP,EAAgBpyN,KAAhB,EAAuB;AACnB,UAAMiwJ,KAAK,GAAGmiE,OAAO,CAACzuD,MAAtB;AACA,UAAMva,KAAK,GAAG6G,KAAK,CAACpC,KAAD,CAAnB;;AACA,UAAIrF,SAAS,IAAI4pE,OAAO,CAAC1nC,SAAzB,EAAoC;AAChC,cAAM,IAAIv5L,KAAJ,CAAU,oDAAV,CAAN;AACH;;AACD,UAAI8kK,uBAAuB,CAAChG,KAAD,CAA3B,EAAoC;AAChC;AACA,YAAMyiE,OAAO,GAAG,KAAKxhO,OAAL,CAAakhO,OAAb,CAAhB,CAFgC,CAGhC;AACA;AACA;AACA;;AACA,YAAIM,OAAO,KAAK,CAAC,CAAjB,EAAoB;AAChB,eAAKC,MAAL,CAAYD,OAAZ;AACH,SAFD,MAGK;AACD,cAAME,cAAc,GAAG3iE,KAAK,CAAClC,MAAD,CAA5B;AACAvF,mBAAS,IACLxC,WAAW,CAAC0J,YAAY,CAACkjE,cAAD,CAAb,EAA+B,IAA/B,EAAqC,+DAArC,CADf,CAFC,CAID;AACA;;AACA,cAAMC,SAAS,GAAG,IAAIf,kBAAJ,CAAuBc,cAAvB,EAAuCA,cAAc,CAAC1kE,MAAD,CAArD,EAA+D0kE,cAAc,CAAC7kE,MAAD,CAA7E,CAAlB;AACA8kE,mBAAS,CAACF,MAAV,CAAiBE,SAAS,CAAC3hO,OAAV,CAAkBkhO,OAAlB,CAAjB;AACH;AACJ,OAzBkB,CA0BnB;;;AACA,UAAMU,WAAW,GAAG,KAAKC,YAAL,CAAkB/yN,KAAlB,CAApB;;AACA,UAAMq2J,UAAU,GAAG,KAAK07D,WAAxB;AACAv1C,gBAAU,CAACpzB,KAAD,EAAQ6G,KAAR,EAAeoG,UAAf,EAA2By8D,WAA3B,CAAV,CA7BmB,CA8BnB;;AACA,UAAM93C,UAAU,GAAG6E,oBAAoB,CAACizC,WAAD,EAAcz8D,UAAd,CAAvC;AACA,UAAMzB,QAAQ,GAAG3E,KAAK,CAAC3B,QAAD,CAAtB;AACA,UAAMoxB,WAAW,GAAGX,gBAAgB,CAACnqB,QAAD,EAAWyB,UAAU,CAACjH,MAAD,CAArB,CAApC;;AACA,UAAIswB,WAAW,KAAK,IAApB,EAA0B;AACtBzD,0BAAkB,CAAC7yB,KAAD,EAAQiN,UAAU,CAACnI,MAAD,CAAlB,EAA4B0G,QAA5B,EAAsC3E,KAAtC,EAA6CyvB,WAA7C,EAA0D1E,UAA1D,CAAlB;AACH;;AACDo3C,aAAO,CAACY,wBAAR;AACAhsD,gBAAU,CAACisD,mBAAmB,CAAC58D,UAAD,CAApB,EAAkCy8D,WAAlC,EAA+CV,OAA/C,CAAV;AACA,aAAOA,OAAP;AACH;AAnGmB;AAAA;AAAA,WAoGpB,cAAKA,OAAL,EAAcxd,QAAd,EAAwB;AACpB,UAAIpsD,SAAS,IAAI4pE,OAAO,CAAC1nC,SAAzB,EAAoC;AAChC,cAAM,IAAIv5L,KAAJ,CAAU,kDAAV,CAAN;AACH;;AACD,aAAO,KAAKkhO,MAAL,CAAYD,OAAZ,EAAqBxd,QAArB,CAAP;AACH;AAzGmB;AAAA;AAAA,WA0GpB,iBAAQwd,OAAR,EAAiB;AACb,UAAMc,WAAW,GAAGhB,WAAW,CAAC,KAAKH,WAAN,CAA/B;AACA,aAAOmB,WAAW,KAAK,IAAhB,GAAuBA,WAAW,CAAChiO,OAAZ,CAAoBkhO,OAApB,CAAvB,GAAsD,CAAC,CAA9D;AACH;AA7GmB;AAAA;AAAA,WA8GpB,gBAAOpyN,KAAP,EAAc;AACV,UAAM8yN,WAAW,GAAG,KAAKC,YAAL,CAAkB/yN,KAAlB,EAAyB,CAAC,CAA1B,CAApB;;AACA,UAAMmzN,YAAY,GAAG71C,UAAU,CAAC,KAAKy0C,WAAN,EAAmBe,WAAnB,CAA/B;;AACA,UAAIK,YAAJ,EAAkB;AACd;AACA;AACA;AACA;AACA;AACA;AACAlsD,uBAAe,CAACgsD,mBAAmB,CAAC,KAAKlB,WAAN,CAApB,EAAwCe,WAAxC,CAAf;AACAp1C,oBAAY,CAACy1C,YAAY,CAACtlE,KAAD,CAAb,EAAsBslE,YAAtB,CAAZ;AACH;AACJ;AA3HmB;AAAA;AAAA,WA4HpB,gBAAOnzN,KAAP,EAAc;AACV,UAAM8yN,WAAW,GAAG,KAAKC,YAAL,CAAkB/yN,KAAlB,EAAyB,CAAC,CAA1B,CAApB;;AACA,UAAM01J,IAAI,GAAG4nB,UAAU,CAAC,KAAKy0C,WAAN,EAAmBe,WAAnB,CAAvB;AACA,UAAMM,WAAW,GAAG19D,IAAI,IAAIuR,eAAe,CAACgsD,mBAAmB,CAAC,KAAKlB,WAAN,CAApB,EAAwCe,WAAxC,CAAf,IAAuE,IAAnG;AACA,aAAOM,WAAW,GAAG,IAAI5D,OAAJ,CAAY95D,IAAZ,CAAH,GAAuB,IAAzC;AACH;AAjImB;AAAA;AAAA,WAkIpB,sBAAa11J,KAAb,EAA+B;AAAA,UAAXolC,KAAW,uEAAH,CAAG;;AAC3B,UAAIplC,KAAK,IAAI,IAAb,EAAmB;AACf,eAAO,KAAKtN,MAAL,GAAc0yC,KAArB;AACH;;AACD,UAAIojH,SAAJ,EAAe;AACXlC,yBAAiB,CAACtmJ,KAAD,EAAQ,CAAC,CAAT,gDAAmDA,KAAnD,EAAjB,CADW,CAEX;;AACAqmJ,sBAAc,CAACrmJ,KAAD,EAAQ,KAAKtN,MAAL,GAAc,CAAd,GAAkB0yC,KAA1B,EAAiC,OAAjC,CAAd;AACH;;AACD,aAAOplC,KAAP;AACH;AA5ImB;;AAAA;AAAA,EAAkC6xN,mBAAlC,CAAxB;;AA8IA,SAASK,WAAT,CAAqB77D,UAArB,EAAiC;AAC7B,SAAOA,UAAU,CAAChH,SAAD,CAAjB;AACH;;AACD,SAAS4jE,mBAAT,CAA6B58D,UAA7B,EAAyC;AACrC,SAAQA,UAAU,CAAChH,SAAD,CAAV,KAA0BgH,UAAU,CAAChH,SAAD,CAAV,GAAwB,EAAlD,CAAR;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuiE,kBAAT,CAA4B5+B,SAA5B,EAAuCrG,SAAvC,EAAkD;AAC9CnkC,WAAS,IAAIuV,eAAe,CAACi1B,SAAD,EAAY;AAAG;AAAH,IAAwB;AAAE;AAAtC,GAA5B;AACA,MAAI38B,UAAJ;AACA,MAAMT,SAAS,GAAG+2B,SAAS,CAACqG,SAAS,CAAChzL,KAAX,CAA3B;;AACA,MAAI0vJ,YAAY,CAACkG,SAAD,CAAhB,EAA6B;AACzB;AACAS,cAAU,GAAGT,SAAb;AACH,GAHD,MAIK;AACD,QAAIy9D,WAAJ,CADC,CAED;AACA;AACA;AACA;;AACA,QAAIrgC,SAAS,CAACnzL,IAAV,GAAiB;AAAE;AAAvB,MAA+C;AAC3CwzN,mBAAW,GAAGl+D,WAAW,CAACS,SAAD,CAAzB;AACH,OAFD,MAGK;AACD;AACA;AACA;AACA,UAAMhB,QAAQ,GAAG+3B,SAAS,CAACr+B,QAAD,CAA1B;AACA9F,eAAS,IAAIA,SAAS,CAAC+B,qBAAV,EAAb;AACA8oE,iBAAW,GAAGz+D,QAAQ,CAAC+mB,aAAT,CAAuBnzB,SAAS,GAAG,WAAH,GAAiB,EAAjD,CAAd;AACA,UAAMmrC,UAAU,GAAGp+B,gBAAgB,CAACy9B,SAAD,EAAYrG,SAAZ,CAAnC;AACA,UAAM2mC,kBAAkB,GAAGv0C,gBAAgB,CAACnqB,QAAD,EAAW++B,UAAX,CAA3C;AACAxY,wBAAkB,CAACvmB,QAAD,EAAW0+D,kBAAX,EAA+BD,WAA/B,EAA4Cr0C,iBAAiB,CAACpqB,QAAD,EAAW++B,UAAX,CAA7D,EAAqF,KAArF,CAAlB;AACH;;AACDhH,aAAS,CAACqG,SAAS,CAAChzL,KAAX,CAAT,GAA6Bq2J,UAAU,GACnCq9B,gBAAgB,CAAC99B,SAAD,EAAY+2B,SAAZ,EAAuB0mC,WAAvB,EAAoCrgC,SAApC,CADpB;AAEAI,iBAAa,CAACzG,SAAD,EAAYt2B,UAAZ,CAAb;AACH;;AACD,SAAO,IAAIy7D,kBAAJ,CAAuBz7D,UAAvB,EAAmC28B,SAAnC,EAA8CrG,SAA9C,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4mC,2CAAT,CAAqDj2N,OAArD,EAA8DwiK,QAA9D,EAAwEwZ,SAAxE,EAAmFk6C,YAAnF,EAAiG;AAC7F,MAAI1hN,GAAG,wHAAiHguJ,QAAjH,gCAA+IwZ,SAA/I,OAAP;;AACA,MAAIk6C,YAAJ,EAAkB;AACd1hN,OAAG,IACC,2JADJ;AAGH;;AACD,SAAO2hN,cAAc,CAAC3hN,GAAD,EAAMxU,OAAN,CAArB;AACH;;AACD,SAASo2N,qBAAT,CAA+BzlH,GAA/B,EAAoC3wG,OAApC,EAA6C;AACzC,MAAI,EAAE2wG,GAAG,YAAY98G,KAAjB,CAAJ,EAA6B;AACzB;AACA;AACA88G,OAAG,GAAG,IAAI98G,KAAJ,CAAU88G,GAAG,CAACtpG,QAAJ,EAAV,CAAN;AACH;;AACDgvN,kBAAgB,CAAC1lH,GAAD,EAAM3wG,OAAN,CAAhB;;AACA,SAAO2wG,GAAP;AACH;;AACD,SAASwlH,cAAT,CAAwB3hN,GAAxB,EAA6BxU,OAA7B,EAAsC;AAClC,MAAM2wG,GAAG,GAAG,IAAI98G,KAAJ,CAAU2gB,GAAV,CAAZ;;AACA6hN,kBAAgB,CAAC1lH,GAAD,EAAM3wG,OAAN,CAAhB;;AACA,SAAO2wG,GAAP;AACH;;AACD,SAAS0lH,gBAAT,CAA0B1lH,GAA1B,EAA+B3wG,OAA/B,EAAwC;AACpC2wG,KAAG,CAACinE,mBAAD,CAAH,GAA2B53K,OAA3B;AACA2wG,KAAG,CAACmnE,YAAD,CAAH,GAAoB93K,OAAO,CAACs2N,QAAR,CAAiBlmL,IAAjB,CAAsBpwC,OAAtB,CAApB;AACH;;AACD,SAASu2N,gBAAT,CAA0B5lH,GAA1B,EAA+B;AAC3B,SAAO,CAAC,CAACunE,eAAe,CAACvnE,GAAD,CAAxB;AACH;;AACD,SAAS6lH,kBAAT,CAA4Bv1K,MAA5B,EAAoC;AAChC,SAAO,IAAIptD,KAAJ,gEAAkEotD,MAAlE,EAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASw1K,cAAT,CAAwBr+D,IAAxB,EAA8Bs+D,cAA9B,EAA8CC,YAA9C,EAA4D;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM37J,KAAK,GAAGo9F,IAAI,CAACp9F,KAAnB;AACA,MAAM47J,SAAS,GAAG57J,KAAK,GAAG;AAAK;AAA/B;;AACA,MAAI47J,SAAS,KAAKF,cAAlB,EAAkC;AAC9Bt+D,QAAI,CAACp9F,KAAL,GAAcA,KAAK,GAAG,CAAC;AAAK;AAAf,MAAuC27J,YAApD;AACAv+D,QAAI,CAACy+D,SAAL,GAAiB,CAAC,CAAlB;AACA,WAAO,IAAP;AACH;;AACD,SAAOD,SAAS,KAAKD,YAArB;AACH,C,CACD;AACA;;;AACA,SAASG,2BAAT,CAAqC1+D,IAArC,EAA2Cw+D,SAA3C,EAAsDl0N,KAAtD,EAA6D;AACzD,MAAI,CAAC01J,IAAI,CAACp9F,KAAL,GAAa;AAAK;AAAnB,QAA6C47J,SAA7C,IAA0Dx+D,IAAI,CAACy+D,SAAL,IAAkBn0N,KAAhF,EAAuF;AACnF01J,QAAI,CAACy+D,SAAL,GAAiBn0N,KAAK,GAAG,CAAzB;AACA,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMq0N,Q;;;AAEN;AACA;AACA;;;AACA,SAASC,UAAT,CAAoB5+D,IAApB,EAA0B11J,KAA1B,EAAiC;AAC7B,SAAO01J,IAAI,CAAC79H,KAAL,CAAW73B,KAAX,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAASu0N,aAAT,CAAuB7+D,IAAvB,EAA6B11J,KAA7B,EAAoC;AAChC,SAAO01J,IAAI,CAAC79H,KAAL,CAAW73B,KAAX,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAASw0N,cAAT,CAAwB9+D,IAAxB,EAA8B11J,KAA9B,EAAqC;AACjC,SAAO01J,IAAI,CAAC79H,KAAL,CAAW73B,KAAX,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAASy0N,oBAAT,CAA8B/+D,IAA9B,EAAoC11J,KAApC,EAA2C;AACvC,SAAO01J,IAAI,CAAC79H,KAAL,CAAW73B,KAAX,CAAP;AACH;AACD;AACA;AACA;;;AACA,SAAS00N,WAAT,CAAqBh/D,IAArB,EAA2B11J,KAA3B,EAAkC;AAC9B,SAAO01J,IAAI,CAAC79H,KAAL,CAAW73B,KAAX,CAAP;AACH;;IACK20N,Y;;;AAEN;AACA;AACA;AACA;;;AACA,IAAMC,QAAQ,GAAG;AACbC,gBAAc,EAAE9hO,SADH;AAEb+hO,gBAAc,EAAE/hO,SAFH;AAGbs+N,oBAAkB,EAAEt+N,SAHP;AAIbgiO,qBAAmB,EAAEhiO,SAJR;AAKbiiO,mBAAiB,EAAEjiO,SALN;AAMbkiO,kBAAgB,EAAEliO,SANL;AAObmiO,uBAAqB,EAAEniO,SAPV;AAQboiO,gBAAc,EAAEpiO,SARH;AASbqiO,oBAAkB,EAAEriO,SATP;AAUbsiO,oBAAkB,EAAEtiO,SAVP;AAWbuiO,aAAW,EAAEviO,SAXA;AAYbwiO,YAAU,EAAExiO,SAZC;AAabyiO,oBAAkB,EAAEziO,SAbP;AAcb0iO,aAAW,EAAE1iO,SAdA;AAeb6iI,kBAAgB,EAAE7iI,SAfL;AAgBbshI,gBAAc,EAAEthI,SAhBH;AAiBb2iO,oBAAkB,EAAE3iO;AAjBP,CAAjB;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAM4iO,IAAI,GAAG,SAAPA,IAAO,GAAM,CAAG,CAAtB;;AACA,IAAMC,cAAc,GAAG,IAAI7/N,GAAJ,EAAvB;;AACA,SAAS8/N,QAAT,CAAkBn9N,KAAlB,EAAyB;AACrB,MAAIgQ,GAAG,GAAGktN,cAAc,CAACx+N,GAAf,CAAmBsB,KAAnB,CAAV;;AACA,MAAI,CAACgQ,GAAL,EAAU;AACNA,OAAG,GAAGoK,SAAS,CAACpa,KAAD,CAAT,GAAmB,GAAnB,GAAyBk9N,cAAc,CAACxhN,IAA9C;;AACAwhN,kBAAc,CAACv+N,GAAf,CAAmBqB,KAAnB,EAA0BgQ,GAA1B;AACH;;AACD,SAAOA,GAAP;AACH;;AACD,SAASkS,WAAT,CAAqB86I,IAArB,EAA2BogE,OAA3B,EAAoC99F,UAApC,EAAgDvjI,KAAhD,EAAuD;AACnD,MAAI8rM,YAAY,CAACC,SAAb,CAAuB/rM,KAAvB,CAAJ,EAAmC;AAC/BA,SAAK,GAAG8rM,YAAY,CAACw1B,MAAb,CAAoBthO,KAApB,CAAR;AACA,QAAMuhO,gBAAgB,GAAGtgE,IAAI,CAACppD,GAAL,CAASz0E,KAAT,CAAei+L,OAAf,EAAwB3hG,YAAxB,GAAuC6D,UAAhE;AACA,QAAM8nC,QAAQ,GAAGygC,YAAY,CAACw1B,MAAb,CAAoBrgE,IAAI,CAACugE,SAAL,CAAeD,gBAAf,CAApB,CAAjB;AACAtgE,QAAI,CAACugE,SAAL,CAAeD,gBAAf,IAAmC,IAAIz1B,YAAJ,CAAiBzgC,QAAjB,CAAnC;AACH;;AACD,SAAOrrK,KAAP;AACH;;AACD,IAAMyhO,0BAA0B,GAAG,aAAnC;AACA,IAAMC,sBAAsB,GAAG,SAA/B,C,CACA;AACA;;AACA,SAASt7M,mBAAT,CAA6B7e,MAA7B,EAAqC;AACjC,SAAO;AACHwS,MAAE,EAAE0nN,0BADD;AAEHh5M,UAAM,EAAElhB,MAAM,CAACkhB,MAFZ;AAGHI,iBAAa,EAAEthB,MAAM,CAACshB,aAHnB;AAIHnkB,QAAI,EAAE6C,MAAM,CAAC7C;AAJV,GAAP;AAMH;;AACD,IAAIi9N,kBAAkB,GAAG,CAAzB;;AACA,SAASC,oBAAT,CAA8Bx2N,IAA9B,EAAoC;AAChC,MAAIA,IAAI,IAAIA,IAAI,CAAC2O,EAAL,KAAY0nN,0BAAxB,EAAoD;AAChD;AACA,QAAMI,QAAQ,GAAKz2N,IAAI,CAACyd,aAAL,IAAsB,IAAtB,IAA8Bzd,IAAI,CAACyd,aAAL,KAAuBvjB,iBAAiB,CAACgF,IAAxE,IACdc,IAAI,CAACqd,MAAL,CAAYxqB,MADE,IACQ0G,MAAM,CAAC8U,IAAP,CAAYrO,IAAI,CAAC1G,IAAjB,EAAuBzG,MADjD;;AAEA,QAAI4jO,QAAJ,EAAc;AACVz2N,UAAI,CAAC2O,EAAL,cAAc4nN,kBAAkB,EAAhC;AACH,KAFD,MAGK;AACDv2N,UAAI,CAAC2O,EAAL,GAAU2nN,sBAAV;AACH;AACJ;;AACD,MAAIt2N,IAAI,IAAIA,IAAI,CAAC2O,EAAL,KAAY2nN,sBAAxB,EAAgD;AAC5Ct2N,QAAI,GAAG,IAAP;AACH;;AACD,SAAOA,IAAI,IAAI,IAAf;AACH;;AACD,SAAS02N,YAAT,CAAsB7gE,IAAtB,EAA4BppD,GAA5B,EAAiC0rB,UAAjC,EAA6CvjI,KAA7C,EAAoD;AAChD,MAAMwhO,SAAS,GAAGvgE,IAAI,CAACugE,SAAvB;;AACA,MAAKvgE,IAAI,CAACp9F,KAAL,GAAa;AAAE;AAAhB,KACA,CAACl/D,MAAM,CAACknM,EAAP,CAAU21B,SAAS,CAAC3pH,GAAG,CAAC6nB,YAAJ,GAAmB6D,UAApB,CAAnB,EAAoDvjI,KAApD,CADL,EACiE;AAC7D,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;;AACD,SAAS+hO,qBAAT,CAA+B9gE,IAA/B,EAAqCppD,GAArC,EAA0C0rB,UAA1C,EAAsDvjI,KAAtD,EAA6D;AACzD,MAAI8hO,YAAY,CAAC7gE,IAAD,EAAOppD,GAAP,EAAY0rB,UAAZ,EAAwBvjI,KAAxB,CAAhB,EAAgD;AAC5CihK,QAAI,CAACugE,SAAL,CAAe3pH,GAAG,CAAC6nB,YAAJ,GAAmB6D,UAAlC,IAAgDvjI,KAAhD;AACA,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;;AACD,SAASgiO,qBAAT,CAA+B/gE,IAA/B,EAAqCppD,GAArC,EAA0C0rB,UAA1C,EAAsDvjI,KAAtD,EAA6D;AACzD,MAAMqrK,QAAQ,GAAGpK,IAAI,CAACugE,SAAL,CAAe3pH,GAAG,CAAC6nB,YAAJ,GAAmB6D,UAAlC,CAAjB;;AACA,MAAK09B,IAAI,CAACp9F,KAAL,GAAa;AAAE;AAAhB,KAA2C,CAACynI,YAAY,CAACjgC,QAAD,EAAWrrK,KAAX,CAA5D,EAA+E;AAC3E,QAAMo1G,WAAW,GAAGyC,GAAG,CAACtjC,QAAJ,CAAagvD,UAAb,EAAyBplI,IAA7C;AACA,UAAM2gO,2CAA2C,CAACqB,QAAQ,CAACY,kBAAT,CAA4B9/D,IAA5B,EAAkCppD,GAAG,CAAC/R,SAAtC,CAAD,YAAsDsP,WAAtD,eAAsEi2D,QAAtE,aAAqFj2D,WAArF,eAAqGp1G,KAArG,GAA8G,CAACihK,IAAI,CAACp9F,KAAL,GAAa;AAAE;AAAhB,UAA4C,CAA1J,CAAjD;AACH;AACJ;;AACD,SAASo+J,uBAAT,CAAiChhE,IAAjC,EAAuC;AACnC,MAAIihE,QAAQ,GAAGjhE,IAAf;;AACA,SAAOihE,QAAP,EAAiB;AACb,QAAIA,QAAQ,CAACrqH,GAAT,CAAaviE,KAAb,GAAqB;AAAE;AAA3B,MAAyC;AACrC4sL,gBAAQ,CAACr+J,KAAT,IAAkB;AAAE;AAApB;AACH;;AACDq+J,YAAQ,GAAGA,QAAQ,CAACC,mBAAT,IAAgCD,QAAQ,CAACzrN,MAApD;AACH;AACJ;;AACD,SAAS2rN,qCAAT,CAA+CnhE,IAA/C,EAAqDohE,OAArD,EAA8D;AAC1D,MAAIH,QAAQ,GAAGjhE,IAAf;;AACA,SAAOihE,QAAQ,IAAIA,QAAQ,KAAKG,OAAhC,EAAyC;AACrCH,YAAQ,CAACr+J,KAAT,IAAkB;AAAG;AAArB;AACAq+J,YAAQ,GAAGA,QAAQ,CAACC,mBAAT,IAAgCD,QAAQ,CAACzrN,MAApD;AACH;AACJ;;AACD,SAAS6rN,aAAT,CAAuBrhE,IAAvB,EAA6Bn7D,SAA7B,EAAwCz/F,SAAxC,EAAmD26B,KAAnD,EAA0D;AACtD,MAAI;AACA,QAAM29F,OAAO,GAAGsiC,IAAI,CAACppD,GAAL,CAASz0E,KAAT,CAAe0iE,SAAf,CAAhB;AACA,QAAMklE,SAAS,GAAGrsC,OAAO,CAACrpF,KAAR,GAAgB;AAAS;AAAzB,MACdwqL,aAAa,CAAC7+D,IAAD,EAAOn7D,SAAP,CAAb,CAA+Bq9E,aADjB,GAEdliB,IAFJ;AAGAghE,2BAAuB,CAACj3D,SAAD,CAAvB;AACA,WAAOm1D,QAAQ,CAACa,WAAT,CAAqB//D,IAArB,EAA2Bn7D,SAA3B,EAAsCz/F,SAAtC,EAAiD26B,KAAjD,CAAP;AACH,GAPD,CAQA,OAAOtzB,CAAP,EAAU;AACN;AACAuzJ,QAAI,CAACshE,IAAL,CAAUzhC,YAAV,CAAuB5jI,WAAvB,CAAmCxvD,CAAnC;AACH;AACJ;;AACD,SAAS80N,qBAAT,CAA+BvhE,IAA/B,EAAqC;AACjC,MAAIA,IAAI,CAACxqJ,MAAT,EAAiB;AACb,QAAMy0J,UAAU,GAAGjK,IAAI,CAACxqJ,MAAxB;AACA,WAAOqpN,aAAa,CAAC50D,UAAD,EAAajK,IAAI,CAACwhE,aAAL,CAAmB38H,SAAhC,CAApB;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS48H,YAAT,CAAsBzhE,IAAtB,EAA4B;AACxB,MAAMiK,UAAU,GAAGjK,IAAI,CAACxqJ,MAAxB;;AACA,MAAIy0J,UAAJ,EAAgB;AACZ,WAAOjK,IAAI,CAACwhE,aAAL,CAAmBhsN,MAA1B;AACH,GAFD,MAGK;AACD,WAAO,IAAP;AACH;AACJ;;AACD,SAASksN,UAAT,CAAoB1hE,IAApB,EAA0BppD,GAA1B,EAA+B;AAC3B,UAAQA,GAAG,CAACviE,KAAJ,GAAY;AAAU;AAA9B;AACI,SAAK;AAAE;AAAP;AACI,aAAOwqL,aAAa,CAAC7+D,IAAD,EAAOppD,GAAG,CAAC/R,SAAX,CAAb,CAAmC88H,aAA1C;;AACJ,SAAK;AAAE;AAAP;AACI,aAAO/C,UAAU,CAAC5+D,IAAD,EAAOppD,GAAG,CAAC/R,SAAX,CAAV,CAAgC+8H,UAAvC;AAJR;AAMH;;AACD,SAASpiG,oBAAT,CAA8B5/F,MAA9B,EAAsC1iC,IAAtC,EAA4C;AACxC,SAAO0iC,MAAM,aAAMA,MAAN,cAAgB1iC,IAAhB,IAAyBA,IAAtC;AACH;;AACD,SAASy9N,eAAT,CAAyB36D,IAAzB,EAA+B;AAC3B,SAAO,CAAC,CAACA,IAAI,CAACxqJ,MAAP,IAAiB,CAAC,EAAEwqJ,IAAI,CAACwhE,aAAL,CAAmBntL,KAAnB,GAA2B;AAAM;AAAnC,GAAzB;AACH;;AACD,SAASwtL,cAAT,CAAwB7hE,IAAxB,EAA8B;AAC1B,SAAO,CAAC,CAACA,IAAI,CAACxqJ,MAAP,IAAiB,EAAEwqJ,IAAI,CAACwhE,aAAL,CAAmBntL,KAAnB,GAA2B;AAAM;AAAnC,GAAxB;AACH;;AACD,SAASytL,aAAT,CAAuBj0J,OAAvB,EAAgC;AAC5B,SAAO,KAAMA,OAAO,GAAG,EAAvB;AACH;;AACD,SAASk0J,sBAAT,CAAgCC,iBAAhC,EAAmD;AAC/C,MAAMC,cAAc,GAAG,EAAvB;AACA,MAAIC,eAAe,GAAG,CAAtB;AACA,MAAM9hM,UAAU,GAAG,EAAnB;;AACA,MAAI4hM,iBAAJ,EAAuB;AACnBA,qBAAiB,CAAC/kO,OAAlB,CAA0B,gBAA0B;AAAA;AAAA,UAAxB4wE,OAAwB;AAAA,UAAfxlE,SAAe;;AAChD,UAAI,OAAOwlE,OAAP,KAAmB,QAAvB,EAAiC;AAC7Bo0J,sBAAc,CAACp0J,OAAD,CAAd,GAA0BxlE,SAA1B;AACA65N,uBAAe,IAAIJ,aAAa,CAACj0J,OAAD,CAAhC;AACH,OAHD,MAIK;AACDztC,kBAAU,CAACytC,OAAD,CAAV,GAAsBxlE,SAAtB;AACH;AACJ,KARD;AASH;;AACD,SAAO;AAAE45N,kBAAc,EAAdA,cAAF;AAAkB7hM,cAAU,EAAVA,UAAlB;AAA8B8hM,mBAAe,EAAfA;AAA9B,GAAP;AACH;;AACD,SAASC,YAAT,CAAsBj2M,IAAtB,EAA4Bk2M,UAA5B,EAAwC;AACpC,SAAOl2M,IAAI,CAACpqB,GAAL,CAAS,UAAA/C,KAAK,EAAI;AACrB,QAAIiE,KAAJ;AACA,QAAIqxC,KAAJ;;AACA,QAAIt5B,KAAK,CAACC,OAAN,CAAcjc,KAAd,CAAJ,EAA0B;AAAA,kJACLA,KADK;;AACrBs1C,WADqB;AACdrxC,WADc;AAEzB,KAFD,MAGK;AACDqxC,WAAK,GAAG;AAAE;AAAV;AACArxC,WAAK,GAAGjE,KAAR;AACH;;AACD,QAAIiE,KAAK,KAAK,OAAOA,KAAP,KAAiB,UAAjB,IAA+B,OAAOA,KAAP,KAAiB,QAArD,CAAL,IAAuEo/N,UAA3E,EAAuF;AACnF1+N,YAAM,CAAC6jH,cAAP,CAAsBvkH,KAAtB,EAA6B0xK,MAA7B,EAAqC;AAAE31K,aAAK,EAAEqjO,UAAT;AAAqB56G,oBAAY,EAAE;AAAnC,OAArC;AACH;;AACD,WAAO;AAAEnzE,WAAK,EAALA,KAAF;AAASrxC,WAAK,EAALA,KAAT;AAAgBm9N,cAAQ,EAAEA,QAAQ,CAACn9N,KAAD;AAAlC,KAAP;AACH,GAdM,CAAP;AAeH;;AACD,SAASq/N,sBAAT,CAAgCriE,IAAhC,EAAsCsiE,UAAtC,EAAkD1rH,GAAlD,EAAuD;AACnD,MAAI2rH,YAAY,GAAG3rH,GAAG,CAAC2rH,YAAvB;;AACA,MAAIA,YAAJ,EAAkB;AACd,QAAI,CAACA,YAAY,CAACluL,KAAb,GAAqB;AAAE;AAAxB,UAA+C,CAA/C,IACA,CAACkuL,YAAY,CAACluL,KAAb,GAAqB;AAAS;AAA/B,UAAwD,CADxD,IAECkuL,YAAY,CAACrkO,OAAb,CAAqBskO,qBAArB,KACID,YAAY,CAACrkO,OAAb,CAAqBskO,qBAArB,CAA2C56M,aAA3C,KACGvjB,iBAAiB,CAAC01L,SADrB,IAEG;AACAwoC,gBAAY,CAACrkO,OAAb,CAAqBskO,qBAArB,CAA2C56M,aAA3C,KAA6D,CAJpE,CAFL,EAM8E;AAC1E;AACA;AACA,aAAOi3M,aAAa,CAAC7+D,IAAD,EAAOppD,GAAG,CAAC2rH,YAAJ,CAAiB19H,SAAxB,CAAb,CAAgD88H,aAAvD;AACH;AACJ,GAZD,MAaK;AACD,WAAOW,UAAP;AACH;AACJ;;AACD,IAAMG,gBAAgB,GAAG,IAAIC,OAAJ,EAAzB;;AACA,SAASC,iBAAT,CAA2Bt8N,OAA3B,EAAoC;AAChC,MAAItH,KAAK,GAAG0jO,gBAAgB,CAAC/gO,GAAjB,CAAqB2E,OAArB,CAAZ;;AACA,MAAI,CAACtH,KAAL,EAAY;AACRA,SAAK,GAAGsH,OAAO,CAAC;AAAA,aAAM45N,IAAN;AAAA,KAAD,CAAf;AACAlhO,SAAK,CAACsH,OAAN,GAAgBA,OAAhB;AACAo8N,oBAAgB,CAAC9gO,GAAjB,CAAqB0E,OAArB,EAA8BtH,KAA9B;AACH;;AACD,SAAOA,KAAP;AACH;;AACD,SAAS6jO,eAAT,CAAyB5iE,IAAzB,EAA+B;AAC3B,MAAM6iE,WAAW,GAAG,EAApB;AACAC,sBAAoB,CAAC9iE,IAAD,EAAO;AAAE;AAAT,IAAwB3iK,SAAxB,EAAmCA,SAAnC,EAA8CwlO,WAA9C,CAApB;AACA,SAAOA,WAAP;AACH;;AACD,SAASC,oBAAT,CAA8B9iE,IAA9B,EAAoCn3G,MAApC,EAA4Cs0H,UAA5C,EAAwD9B,WAAxD,EAAqEz7I,MAArE,EAA6E;AACzE;AACA,MAAIipB,MAAM,KAAK;AAAE;AAAjB,IAAoC;AAChCs0H,gBAAU,GAAGnd,IAAI,CAACd,QAAL,CAAcie,UAAd,CAAyBukD,UAAU,CAAC1hE,IAAD,EAAOA,IAAI,CAACppD,GAAL,CAASmsH,kBAAhB,CAAnC,CAAb;AACH;;AACDC,yBAAuB,CAAChjE,IAAD,EAAOn3G,MAAP,EAAe,CAAf,EAAkBm3G,IAAI,CAACppD,GAAL,CAASz0E,KAAT,CAAenlC,MAAf,GAAwB,CAA1C,EAA6CmgL,UAA7C,EAAyD9B,WAAzD,EAAsEz7I,MAAtE,CAAvB;AACH;;AACD,SAASojM,uBAAT,CAAiChjE,IAAjC,EAAuCn3G,MAAvC,EAA+C8J,UAA/C,EAA2Dw4B,QAA3D,EAAqEgyF,UAArE,EAAiF9B,WAAjF,EAA8Fz7I,MAA9F,EAAsG;AAClG,OAAK,IAAInhC,CAAC,GAAGk0D,UAAb,EAAyBl0D,CAAC,IAAI0sF,QAA9B,EAAwC1sF,CAAC,EAAzC,EAA6C;AACzC,QAAMi/H,OAAO,GAAGsiC,IAAI,CAACppD,GAAL,CAASz0E,KAAT,CAAe1jC,CAAf,CAAhB;;AACA,QAAIi/H,OAAO,CAACrpF,KAAR,IAAiB;AAAE;AAAF,MAAsB;AAAE;AAAxB,MAAyC;AAAE;AAA5D,KAAJ,EAAsF;AAClF4uL,qBAAe,CAACjjE,IAAD,EAAOtiC,OAAP,EAAgB70E,MAAhB,EAAwBs0H,UAAxB,EAAoC9B,WAApC,EAAiDz7I,MAAjD,CAAf;AACH,KAJwC,CAKzC;;;AACAnhC,KAAC,IAAIi/H,OAAO,CAACoB,UAAb;AACH;AACJ;;AACD,SAASokG,yBAAT,CAAmCljE,IAAnC,EAAyCp3F,cAAzC,EAAyD/f,MAAzD,EAAiEs0H,UAAjE,EAA6E9B,WAA7E,EAA0Fz7I,MAA1F,EAAkG;AAC9F,MAAIy/F,QAAQ,GAAG2gC,IAAf;;AACA,SAAO3gC,QAAQ,IAAI,CAACs7F,eAAe,CAACt7F,QAAD,CAAnC,EAA+C;AAC3CA,YAAQ,GAAGA,QAAQ,CAAC7pH,MAApB;AACH;;AACD,MAAM04G,QAAQ,GAAGmR,QAAQ,CAAC7pH,MAA1B;AACA,MAAM2tN,SAAS,GAAG1B,YAAY,CAACpiG,QAAD,CAA9B;AACA,MAAM1sE,UAAU,GAAGwwK,SAAS,CAACt+H,SAAV,GAAsB,CAAzC;AACA,MAAM1Z,QAAQ,GAAGg4I,SAAS,CAACt+H,SAAV,GAAsBs+H,SAAS,CAACrkG,UAAjD;;AACA,OAAK,IAAIrgI,CAAC,GAAGk0D,UAAb,EAAyBl0D,CAAC,IAAI0sF,QAA9B,EAAwC1sF,CAAC,EAAzC,EAA6C;AACzC,QAAMi/H,OAAO,GAAGxP,QAAQ,CAACtX,GAAT,CAAaz0E,KAAb,CAAmB1jC,CAAnB,CAAhB;;AACA,QAAIi/H,OAAO,CAAC90D,cAAR,KAA2BA,cAA/B,EAA+C;AAC3Cq6J,qBAAe,CAAC/0G,QAAD,EAAWwP,OAAX,EAAoB70E,MAApB,EAA4Bs0H,UAA5B,EAAwC9B,WAAxC,EAAqDz7I,MAArD,CAAf;AACH,KAJwC,CAKzC;;;AACAnhC,KAAC,IAAIi/H,OAAO,CAACoB,UAAb;AACH;;AACD,MAAI,CAAC5Q,QAAQ,CAAC14G,MAAd,EAAsB;AAClB;AACA,QAAM4tN,cAAc,GAAGpjE,IAAI,CAACshE,IAAL,CAAU/O,gBAAV,CAA2B3pJ,cAA3B,CAAvB;;AACA,QAAIw6J,cAAJ,EAAoB;AAChB,WAAK,IAAI3kO,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAG2kO,cAAc,CAACpmO,MAAnC,EAA2CyB,GAAC,EAA5C,EAAgD;AAC5C4kO,4BAAoB,CAACrjE,IAAD,EAAOojE,cAAc,CAAC3kO,GAAD,CAArB,EAA0BoqD,MAA1B,EAAkCs0H,UAAlC,EAA8C9B,WAA9C,EAA2Dz7I,MAA3D,CAApB;AACH;AACJ;AACJ;AACJ;;AACD,SAASqjM,eAAT,CAAyBjjE,IAAzB,EAA+BtiC,OAA/B,EAAwC70E,MAAxC,EAAgDs0H,UAAhD,EAA4D9B,WAA5D,EAAyEz7I,MAAzE,EAAiF;AAC7E,MAAI89F,OAAO,CAACrpF,KAAR,GAAgB;AAAE;AAAtB,IAA2C;AACvC6uL,+BAAyB,CAACljE,IAAD,EAAOtiC,OAAO,CAACp4B,SAAR,CAAkBh7F,KAAzB,EAAgCu+C,MAAhC,EAAwCs0H,UAAxC,EAAoD9B,WAApD,EAAiEz7I,MAAjE,CAAzB;AACH,KAFD,MAGK;AACD,QAAM0jM,EAAE,GAAG5B,UAAU,CAAC1hE,IAAD,EAAOtiC,OAAP,CAArB;;AACA,QAAI70E,MAAM,KAAK;AAAE;AAAb,OAAmC60E,OAAO,CAACrpF,KAAR,GAAgB;AAAS;AAA5D,OACCqpF,OAAO,CAAC6lG,YAAR,GAAuB;AAAG;AAD/B,MAC4D;AACxD;AACA,UAAI7lG,OAAO,CAAC6lG,YAAR,GAAwB;AAAG;AAA/B,QAAyD;AACrDF,4BAAoB,CAACrjE,IAAD,EAAOsjE,EAAP,EAAWz6K,MAAX,EAAmBs0H,UAAnB,EAA+B9B,WAA/B,EAA4Cz7I,MAA5C,CAApB;AACH;;AACD,UAAI89F,OAAO,CAAC6lG,YAAR,GAAwB;AAAG;AAA/B,QAA6D;AACzD,YAAMlkG,QAAQ,GAAGw/F,aAAa,CAAC7+D,IAAD,EAAOtiC,OAAO,CAAC74B,SAAf,CAAb,CAAuCq9E,aAAxD;AACAmhD,4BAAoB,CAAChkG,QAAD,EAAWikG,EAAX,EAAez6K,MAAf,EAAuBs0H,UAAvB,EAAmC9B,WAAnC,EAAgDz7I,MAAhD,CAApB;AACH;AACJ,KAVD,MAWK;AACDyjM,0BAAoB,CAACrjE,IAAD,EAAOsjE,EAAP,EAAWz6K,MAAX,EAAmBs0H,UAAnB,EAA+B9B,WAA/B,EAA4Cz7I,MAA5C,CAApB;AACH;;AACD,QAAI89F,OAAO,CAACrpF,KAAR,GAAgB;AAAS;AAA7B,MAAkD;AAC9C,YAAMmvL,aAAa,GAAG3E,aAAa,CAAC7+D,IAAD,EAAOtiC,OAAO,CAAC74B,SAAf,CAAb,CAAuC4+H,aAAvC,CAAqDC,cAA3E;;AACA,aAAK,IAAIx/L,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs/L,aAAa,CAACxmO,MAAlC,EAA0CknC,CAAC,EAA3C,EAA+C;AAC3C4+L,8BAAoB,CAACU,aAAa,CAACt/L,CAAD,CAAd,EAAmB2kB,MAAnB,EAA2Bs0H,UAA3B,EAAuC9B,WAAvC,EAAoDz7I,MAApD,CAApB;AACH;AACJ;;AACD,QAAI89F,OAAO,CAACrpF,KAAR,GAAgB;AAAE;AAAlB,OAAuC,CAACqpF,OAAO,CAACx/H,OAAR,CAAgBhB,IAA5D,EAAkE;AAC9D8lO,6BAAuB,CAAChjE,IAAD,EAAOn3G,MAAP,EAAe60E,OAAO,CAAC74B,SAAR,GAAoB,CAAnC,EAAsC64B,OAAO,CAAC74B,SAAR,GAAoB64B,OAAO,CAACoB,UAAlE,EAA8Eq+C,UAA9E,EAA0F9B,WAA1F,EAAuGz7I,MAAvG,CAAvB;AACH;AACJ;AACJ;;AACD,SAASyjM,oBAAT,CAA8BrjE,IAA9B,EAAoC0hE,UAApC,EAAgD74K,MAAhD,EAAwDs0H,UAAxD,EAAoE9B,WAApE,EAAiFz7I,MAAjF,EAAyF;AACrF,MAAMs/H,QAAQ,GAAGc,IAAI,CAACd,QAAtB;;AACA,UAAQr2G,MAAR;AACI,SAAK;AAAE;AAAP;AACIq2G,cAAQ,CAACsb,WAAT,CAAqB2C,UAArB,EAAiCukD,UAAjC;AACA;;AACJ,SAAK;AAAE;AAAP;AACIxiE,cAAQ,CAAC+pB,YAAT,CAAsB9L,UAAtB,EAAkCukD,UAAlC,EAA8CrmD,WAA9C;AACA;;AACJ,SAAK;AAAE;AAAP;AACInc,cAAQ,CAACgb,WAAT,CAAqBiD,UAArB,EAAiCukD,UAAjC;AACA;;AACJ,SAAK;AAAE;AAAP;AACI9hM,YAAM,CAAC/gC,IAAP,CAAY6iO,UAAZ;AACA;AAZR;AAcH;;AACD,IAAMiC,YAAY,GAAG,iBAArB;;AACA,SAASC,cAAT,CAAwB1mO,IAAxB,EAA8B;AAC1B,MAAIA,IAAI,CAAC,CAAD,CAAJ,KAAY,GAAhB,EAAqB;AACjB,QAAMsC,KAAK,GAAGtC,IAAI,CAACsC,KAAL,CAAWmkO,YAAX,CAAd;AACA,WAAO,CAACnkO,KAAK,CAAC,CAAD,CAAN,EAAWA,KAAK,CAAC,CAAD,CAAhB,CAAP;AACH;;AACD,SAAO,CAAC,EAAD,EAAKtC,IAAL,CAAP;AACH;;AACD,SAAS2mO,gBAAT,CAA0BvwJ,QAA1B,EAAoC;AAChC,MAAIj/B,KAAK,GAAG,CAAZ;;AACA,OAAK,IAAI51C,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG60E,QAAQ,CAACt2E,MAA7B,EAAqCyB,CAAC,EAAtC,EAA0C;AACtC41C,SAAK,IAAIi/B,QAAQ,CAAC70E,CAAD,CAAR,CAAY41C,KAArB;AACH;;AACD,SAAOA,KAAP;AACH;;AACD,SAASpwB,WAAT,CAAqB6/M,UAArB,EAAiCC,cAAjC,EAAiD;AAC7C,MAAInlO,MAAM,GAAG,EAAb;;AACA,OAAK,IAAIH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqlO,UAAU,GAAG,CAAjC,EAAoCrlO,CAAC,GAAGA,CAAC,GAAG,CAA5C,EAA+C;AAC3CG,UAAM,GAAGA,MAAM,GAAGmlO,cAAc,CAACtlO,CAAD,CAAvB,GAA6BulO,iBAAiB,CAACD,cAAc,CAACtlO,CAAC,GAAG,CAAL,CAAf,CAAvD;AACH;;AACD,SAAOG,MAAM,GAAGmlO,cAAc,CAACD,UAAU,GAAG,CAAd,CAA9B;AACH;;AACD,SAAS9/M,iBAAT,CAA2B8/M,UAA3B,EAAuCG,EAAvC,EAA2CC,EAA3C,EAA+CC,EAA/C,EAAmDC,EAAnD,EAAuDC,EAAvD,EAA2DC,EAA3D,EAA+DC,EAA/D,EAAmEC,EAAnE,EAAuEC,EAAvE,EAA2EC,EAA3E,EAA+EC,EAA/E,EAAmFC,EAAnF,EAAuFC,EAAvF,EAA2FC,EAA3F,EAA+FC,EAA/F,EAAmGC,EAAnG,EAAuGC,EAAvG,EAA2GC,EAA3G,EAA+GC,EAA/G,EAAmH;AAC/G,UAAQrB,UAAR;AACI,SAAK,CAAL;AACI,aAAOG,EAAE,GAAGD,iBAAiB,CAACE,EAAD,CAAtB,GAA6BC,EAApC;;AACJ,SAAK,CAAL;AACI,aAAOF,EAAE,GAAGD,iBAAiB,CAACE,EAAD,CAAtB,GAA6BC,EAA7B,GAAkCH,iBAAiB,CAACI,EAAD,CAAnD,GAA0DC,EAAjE;;AACJ,SAAK,CAAL;AACI,aAAOJ,EAAE,GAAGD,iBAAiB,CAACE,EAAD,CAAtB,GAA6BC,EAA7B,GAAkCH,iBAAiB,CAACI,EAAD,CAAnD,GAA0DC,EAA1D,GAA+DL,iBAAiB,CAACM,EAAD,CAAhF,GACHC,EADJ;;AAEJ,SAAK,CAAL;AACI,aAAON,EAAE,GAAGD,iBAAiB,CAACE,EAAD,CAAtB,GAA6BC,EAA7B,GAAkCH,iBAAiB,CAACI,EAAD,CAAnD,GAA0DC,EAA1D,GAA+DL,iBAAiB,CAACM,EAAD,CAAhF,GACHC,EADG,GACEP,iBAAiB,CAACQ,EAAD,CADnB,GAC0BC,EADjC;;AAEJ,SAAK,CAAL;AACI,aAAOR,EAAE,GAAGD,iBAAiB,CAACE,EAAD,CAAtB,GAA6BC,EAA7B,GAAkCH,iBAAiB,CAACI,EAAD,CAAnD,GAA0DC,EAA1D,GAA+DL,iBAAiB,CAACM,EAAD,CAAhF,GACHC,EADG,GACEP,iBAAiB,CAACQ,EAAD,CADnB,GAC0BC,EAD1B,GAC+BT,iBAAiB,CAACU,EAAD,CADhD,GACuDC,EAD9D;;AAEJ,SAAK,CAAL;AACI,aAAOV,EAAE,GAAGD,iBAAiB,CAACE,EAAD,CAAtB,GAA6BC,EAA7B,GAAkCH,iBAAiB,CAACI,EAAD,CAAnD,GAA0DC,EAA1D,GAA+DL,iBAAiB,CAACM,EAAD,CAAhF,GACHC,EADG,GACEP,iBAAiB,CAACQ,EAAD,CADnB,GAC0BC,EAD1B,GAC+BT,iBAAiB,CAACU,EAAD,CADhD,GACuDC,EADvD,GAC4DX,iBAAiB,CAACY,EAAD,CAD7E,GACoFC,EAD3F;;AAEJ,SAAK,CAAL;AACI,aAAOZ,EAAE,GAAGD,iBAAiB,CAACE,EAAD,CAAtB,GAA6BC,EAA7B,GAAkCH,iBAAiB,CAACI,EAAD,CAAnD,GAA0DC,EAA1D,GAA+DL,iBAAiB,CAACM,EAAD,CAAhF,GACHC,EADG,GACEP,iBAAiB,CAACQ,EAAD,CADnB,GAC0BC,EAD1B,GAC+BT,iBAAiB,CAACU,EAAD,CADhD,GACuDC,EADvD,GAC4DX,iBAAiB,CAACY,EAAD,CAD7E,GAEHC,EAFG,GAEEb,iBAAiB,CAACc,EAAD,CAFnB,GAE0BC,EAFjC;;AAGJ,SAAK,CAAL;AACI,aAAOd,EAAE,GAAGD,iBAAiB,CAACE,EAAD,CAAtB,GAA6BC,EAA7B,GAAkCH,iBAAiB,CAACI,EAAD,CAAnD,GAA0DC,EAA1D,GAA+DL,iBAAiB,CAACM,EAAD,CAAhF,GACHC,EADG,GACEP,iBAAiB,CAACQ,EAAD,CADnB,GAC0BC,EAD1B,GAC+BT,iBAAiB,CAACU,EAAD,CADhD,GACuDC,EADvD,GAC4DX,iBAAiB,CAACY,EAAD,CAD7E,GAEHC,EAFG,GAEEb,iBAAiB,CAACc,EAAD,CAFnB,GAE0BC,EAF1B,GAE+Bf,iBAAiB,CAACgB,EAAD,CAFhD,GAEuDC,EAF9D;;AAGJ,SAAK,CAAL;AACI,aAAOhB,EAAE,GAAGD,iBAAiB,CAACE,EAAD,CAAtB,GAA6BC,EAA7B,GAAkCH,iBAAiB,CAACI,EAAD,CAAnD,GAA0DC,EAA1D,GAA+DL,iBAAiB,CAACM,EAAD,CAAhF,GACHC,EADG,GACEP,iBAAiB,CAACQ,EAAD,CADnB,GAC0BC,EAD1B,GAC+BT,iBAAiB,CAACU,EAAD,CADhD,GACuDC,EADvD,GAC4DX,iBAAiB,CAACY,EAAD,CAD7E,GAEHC,EAFG,GAEEb,iBAAiB,CAACc,EAAD,CAFnB,GAE0BC,EAF1B,GAE+Bf,iBAAiB,CAACgB,EAAD,CAFhD,GAEuDC,EAFvD,GAE4DjB,iBAAiB,CAACkB,EAAD,CAF7E,GAEoFC,EAF3F;;AAGJ;AACI,YAAM,IAAI1pO,KAAJ,4CAAN;AA9BR;AAgCH;;AACD,SAASuoO,iBAAT,CAA2Bv6J,CAA3B,EAA8B;AAC1B,SAAOA,CAAC,IAAI,IAAL,GAAYA,CAAC,CAACx6D,QAAF,EAAZ,GAA2B,EAAlC;AACH;;AACD,IAAMm2N,aAAa,GAAG,EAAtB;AACA,IAAMjhN,SAAS,GAAG,EAAlB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMkhN,eAAe,GAAG,EAAxB;AACA,IAAMC,mBAAmB,GAAGnF,QAAQ,CAACx8M,QAAD,CAApC;AACA,IAAM4hN,mBAAmB,GAAGpF,QAAQ,CAAC9/B,UAAD,CAApC;AACA,IAAMmlC,mBAAmB,GAAGrF,QAAQ,CAAC19M,WAAD,CAApC;;AACA,SAASgjN,gBAAT,CAA0BpxL,KAA1B,EAAiCrxC,KAAjC,EAAwCjE,KAAxC,EAA+CmtB,IAA/C,EAAqD;AACjD;AACA;AACA;AACAntB,OAAK,GAAGye,iBAAiB,CAACze,KAAD,CAAzB;AACA,MAAM2mO,OAAO,GAAGvD,YAAY,CAACj2M,IAAD,EAAO9O,SAAS,CAACpa,KAAD,CAAhB,CAA5B;AACA,SAAO;AACH;AACAsH,SAAK,EAAE,CAAC,CAFL;AAGH4hB,QAAI,EAAEw5M,OAHH;AAIHrxL,SAAK,EAALA,KAJG;AAKHrxC,SAAK,EAALA,KALG;AAMHjE,SAAK,EAALA;AANG,GAAP;AAQH;;AACD,SAASskB,SAAT,CAAmB0F,SAAnB,EAA8B;AAC1B,MAAM48M,cAAc,GAAG,EAAvB;AACA,MAAM56M,OAAO,GAAG,EAAhB;AACA,MAAI6zE,KAAK,GAAG,IAAZ;;AACA,OAAK,IAAIngG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsqB,SAAS,CAAC/rB,MAA9B,EAAsCyB,CAAC,EAAvC,EAA2C;AACvC,QAAMgtB,QAAQ,GAAG1C,SAAS,CAACtqB,CAAD,CAA1B;;AACA,QAAIgtB,QAAQ,CAACzoB,KAAT,KAAmBu9L,cAAvB,EAAuC;AACnC3hG,WAAK,GAAGnzE,QAAQ,CAAC1sB,KAAjB;AACH;;AACD,QAAI0sB,QAAQ,CAAC4oB,KAAT,GAAiB;AAAW;AAAhC,MAAoD;AAChDtpB,eAAO,CAAClsB,IAAR,CAAa4sB,QAAQ,CAACzoB,KAAtB;AACH;;AACDyoB,YAAQ,CAACnhB,KAAT,GAAiB7L,CAAjB;AACAknO,kBAAc,CAACxF,QAAQ,CAAC10M,QAAQ,CAACzoB,KAAV,CAAT,CAAd,GAA2CyoB,QAA3C;AACH;;AACD,SAAO;AACH;AACAplB,WAAO,EAAE,IAFN;AAGHs/N,kBAAc,EAAdA,cAHG;AAIH58M,aAAS,EAATA,SAJG;AAKHgC,WAAO,EAAPA,OALG;AAMH6zE,SAAK,EAAEA;AANJ,GAAP;AAQH;;AACD,SAASgnI,YAAT,CAAsBniO,IAAtB,EAA4B;AACxB,MAAMmzG,GAAG,GAAGnzG,IAAI,CAACoiO,IAAjB;AACA,MAAM98M,SAAS,GAAGtlB,IAAI,CAAC4wM,UAAL,GAAkB51L,QAAQ,CAACm4F,GAAG,CAAC7tF,SAAJ,CAAc/rB,MAAf,CAA5C;;AACA,OAAK,IAAIyB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGm4G,GAAG,CAAC7tF,SAAJ,CAAc/rB,MAAlC,EAA0CyB,CAAC,EAA3C,EAA+C;AAC3C,QAAMqnO,OAAO,GAAGlvH,GAAG,CAAC7tF,SAAJ,CAActqB,CAAd,CAAhB;;AACA,QAAI,EAAEqnO,OAAO,CAACzxL,KAAR,GAAgB;AAAK;AAAvB,KAAJ,EAAgD;AAC5C;AACA,UAAItrB,SAAS,CAACtqB,CAAD,CAAT,KAAiBpB,SAArB,EAAgC;AAC5B0rB,iBAAS,CAACtqB,CAAD,CAAT,GAAesnO,uBAAuB,CAACtiO,IAAD,EAAOqiO,OAAP,CAAtC;AACH;AACJ;AACJ;AACJ;;AACD,SAASE,kBAAT,CAA4BviO,IAA5B,EAAkC6yH,MAAlC,EAAuF;AAAA,MAA7Cq8B,aAA6C,uEAA7BhvI,QAAQ,CAACywJ,kBAAoB;AACnF,MAAMW,MAAM,GAAGF,kBAAkB,CAACpxK,IAAD,CAAjC;;AACA,MAAI;AACA,QAAI6yH,MAAM,CAACjiF,KAAP,GAAe;AAAE;AAArB,MAAkC;AAC9B,eAAOiiF,MAAM,CAACtzH,KAAd;AACH;;AACD,QAAIszH,MAAM,CAACjiF,KAAP,GAAe;AAAE;AAArB,MAAqC;AACjCs+G,qBAAa,GAAG,IAAhB;AACH;;AACD,QAAIr8B,MAAM,CAACjiF,KAAP,GAAe;AAAE;AAArB,MAAqC;AACjC,eAAO5wC,IAAI,CAACgoE,OAAL,CAAa/pE,GAAb,CAAiB40H,MAAM,CAACtzH,KAAxB,EAA+B2vJ,aAA/B,CAAP;AACH;;AACD,QAAMwtE,SAAQ,GAAG7pG,MAAM,CAAC6pG,QAAxB;;AACA,YAAQA,SAAR;AACI,WAAKmF,mBAAL;AACA,WAAKC,mBAAL;AACA,WAAKC,mBAAL;AACI,eAAO/hO,IAAP;AAJR;;AAMA,QAAMihB,YAAW,GAAGjhB,IAAI,CAACoiO,IAAL,CAAUF,cAAV,CAAyBxF,SAAzB,CAApB;AACA,QAAIj2G,aAAJ;;AACA,QAAIxlG,YAAJ,EAAiB;AACb,UAAIuhN,gBAAgB,GAAGxiO,IAAI,CAAC4wM,UAAL,CAAgB3vL,YAAW,CAACpa,KAA5B,CAAvB;;AACA,UAAI27N,gBAAgB,KAAK5oO,SAAzB,EAAoC;AAChC4oO,wBAAgB,GAAGxiO,IAAI,CAAC4wM,UAAL,CAAgB3vL,YAAW,CAACpa,KAA5B,IACfy7N,uBAAuB,CAACtiO,IAAD,EAAOihB,YAAP,CAD3B;AAEH;;AACD,aAAOuhN,gBAAgB,KAAKZ,eAArB,GAAuChoO,SAAvC,GAAmD4oO,gBAA1D;AACH,KAPD,MAQK,IAAI,CAAC/7G,aAAa,GAAGunC,gBAAgB,CAACn7B,MAAM,CAACtzH,KAAR,CAAjC,KAAoDkjO,aAAa,CAACziO,IAAD,EAAOymH,aAAP,CAArE,EAA4F;AAC7F,UAAM5/G,KAAK,GAAG7G,IAAI,CAAC4wM,UAAL,CAAgBr3M,MAA9B;AACAyG,UAAI,CAACoiO,IAAL,CAAU98M,SAAV,CAAoBze,KAApB,IAA6B7G,IAAI,CAACoiO,IAAL,CAAUF,cAAV,CAAyBrvG,MAAM,CAAC6pG,QAAhC,IAA4C;AACrE9rL,aAAK,EAAE;AAAK;AAAL,UAAiC;AAAK;AADwB;AAErEt1C,aAAK,EAAEmrH,aAAa,CAAC7jH,OAFgD;AAGrE6lB,YAAI,EAAE,EAH+D;AAIrE5hB,aAAK,EAALA,KAJqE;AAKrEtH,aAAK,EAAEszH,MAAM,CAACtzH;AALuD,OAAzE;AAOAS,UAAI,CAAC4wM,UAAL,CAAgB/pM,KAAhB,IAAyB+6N,eAAzB;AACA,aAAQ5hO,IAAI,CAAC4wM,UAAL,CAAgB/pM,KAAhB,IACJy7N,uBAAuB,CAACtiO,IAAD,EAAOA,IAAI,CAACoiO,IAAL,CAAUF,cAAV,CAAyBrvG,MAAM,CAAC6pG,QAAhC,CAAP,CAD3B;AAEH,KAZI,MAaA,IAAI7pG,MAAM,CAACjiF,KAAP,GAAe;AAAE;AAArB,MAAiC;AAClC,eAAOs+G,aAAP;AACH;;AACD,WAAOlvJ,IAAI,CAACgoE,OAAL,CAAa/pE,GAAb,CAAiB40H,MAAM,CAACtzH,KAAxB,EAA+B2vJ,aAA/B,CAAP;AACH,GA5CD,SA6CQ;AACJkiB,sBAAkB,CAACE,MAAD,CAAlB;AACH;AACJ;;AACD,SAASoxD,yBAAT,CAAmC5gO,QAAnC,EAA6Cq5F,KAA7C,EAAoD;AAChD,SAAOr5F,QAAQ,CAACsgO,IAAT,CAAc96M,OAAd,CAAsBvvB,OAAtB,CAA8BojG,KAA9B,IAAuC,CAAC,CAA/C;AACH;;AACD,SAASsnI,aAAT,CAAuB3gO,QAAvB,EAAiCqxG,GAAjC,EAAsC;AAClC,MAAM5gE,UAAU,GAAG4gE,GAAG,CAAC5gE,UAAvB;AACA,SAAOA,UAAU,IAAI,IAAd,KACFA,UAAU,KAAK,KAAf,IAAwBA,UAAU,KAAKzwC,QAAQ,CAACsgO,IAAT,CAAcjnI,KAArD,IACGunI,yBAAyB,CAAC5gO,QAAD,EAAWywC,UAAX,CAF1B,CAAP;AAGH;;AACD,SAAS+vL,uBAAT,CAAiCxgO,QAAjC,EAA2Cmf,WAA3C,EAAwD;AACpD,MAAIjf,UAAJ;;AACA,UAAQif,WAAW,CAAC2vB,KAAZ,GAAoB;AAAU;AAAtC;AACI,SAAK;AAAI;AAAT;AACI5uC,gBAAU,GAAG2gO,YAAY,CAAC7gO,QAAD,EAAWmf,WAAW,CAAC3lB,KAAvB,EAA8B2lB,WAAW,CAACwH,IAA1C,CAAzB;AACA;;AACJ,SAAK;AAAK;AAAV;AACIzmB,gBAAU,GAAG4gO,YAAY,CAAC9gO,QAAD,EAAWmf,WAAW,CAAC3lB,KAAvB,EAA8B2lB,WAAW,CAACwH,IAA1C,CAAzB;AACA;;AACJ,SAAK;AAAK;AAAV;AACIzmB,gBAAU,GAAGugO,kBAAkB,CAACzgO,QAAD,EAAWmf,WAAW,CAACwH,IAAZ,CAAiB,CAAjB,CAAX,CAA/B;AACA;;AACJ,SAAK;AAAI;AAAT;AACIzmB,gBAAU,GAAGif,WAAW,CAAC3lB,KAAzB;AACA;AAZR,GAFoD,CAgBpD;AACA;AACA;AACA;;;AACA,MAAI0G,UAAU,KAAK4/N,eAAf,IAAkC5/N,UAAU,KAAK,IAAjD,IAAyD,OAAOA,UAAP,KAAsB,QAA/E,IACA,EAAEif,WAAW,CAAC2vB,KAAZ,GAAoB;AAAO;AAA7B,GADA,IACiD,OAAO5uC,UAAU,CAACsyJ,WAAlB,KAAkC,UADvF,EACmG;AAC/FrzI,eAAW,CAAC2vB,KAAZ,IAAqB;AAAO;AAA5B;AACH;;AACD,SAAO5uC,UAAU,KAAKpI,SAAf,GAA2BgoO,eAA3B,GAA6C5/N,UAApD;AACH;;AACD,SAAS2gO,YAAT,CAAsB7gO,QAAtB,EAAgCsyD,IAAhC,EAAsC3rC,IAAtC,EAA4C;AACxC,MAAMpiB,GAAG,GAAGoiB,IAAI,CAAClvB,MAAjB;;AACA,UAAQ8M,GAAR;AACI,SAAK,CAAL;AACI,aAAO,IAAI+tD,IAAJ,EAAP;;AACJ,SAAK,CAAL;AACI,aAAO,IAAIA,IAAJ,CAASmuK,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAAC,CAAD,CAAf,CAA3B,CAAP;;AACJ,SAAK,CAAL;AACI,aAAO,IAAI2rC,IAAJ,CAASmuK,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAAC,CAAD,CAAf,CAA3B,EAAgD85M,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAAC,CAAD,CAAf,CAAlE,CAAP;;AACJ,SAAK,CAAL;AACI,aAAO,IAAI2rC,IAAJ,CAASmuK,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAAC,CAAD,CAAf,CAA3B,EAAgD85M,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAAC,CAAD,CAAf,CAAlE,EAAuF85M,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAAC,CAAD,CAAf,CAAzG,CAAP;;AACJ;AACI,UAAMo6M,SAAS,GAAG,EAAlB;;AACA,WAAK,IAAI7nO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqL,GAApB,EAAyBrL,CAAC,EAA1B,EAA8B;AAC1B6nO,iBAAS,CAAC7nO,CAAD,CAAT,GAAeunO,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAACztB,CAAD,CAAf,CAAjC;AACH;;AACD,uIAAWo5D,IAAX,EAAmByuK,SAAnB;AAdR;AAgBH;;AACD,SAASD,YAAT,CAAsB9gO,QAAtB,EAAgCc,OAAhC,EAAyC6lB,IAAzC,EAA+C;AAC3C,MAAMpiB,GAAG,GAAGoiB,IAAI,CAAClvB,MAAjB;;AACA,UAAQ8M,GAAR;AACI,SAAK,CAAL;AACI,aAAOzD,OAAO,EAAd;;AACJ,SAAK,CAAL;AACI,aAAOA,OAAO,CAAC2/N,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAAC,CAAD,CAAf,CAAnB,CAAd;;AACJ,SAAK,CAAL;AACI,aAAO7lB,OAAO,CAAC2/N,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAAC,CAAD,CAAf,CAAnB,EAAwC85M,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAAC,CAAD,CAAf,CAA1D,CAAd;;AACJ,SAAK,CAAL;AACI,aAAO7lB,OAAO,CAAC2/N,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAAC,CAAD,CAAf,CAAnB,EAAwC85M,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAAC,CAAD,CAAf,CAA1D,EAA+E85M,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAAC,CAAD,CAAf,CAAjG,CAAd;;AACJ;AACI,UAAMo6M,SAAS,GAAG,EAAlB;;AACA,WAAK,IAAI7nO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqL,GAApB,EAAyBrL,CAAC,EAA1B,EAA8B;AAC1B6nO,iBAAS,CAAC7nO,CAAD,CAAT,GAAeunO,kBAAkB,CAACzgO,QAAD,EAAW2mB,IAAI,CAACztB,CAAD,CAAf,CAAjC;AACH;;AACD,aAAO4H,OAAO,MAAP,SAAWigO,SAAX,CAAP;AAdR;AAgBH;;AACD,SAASC,qBAAT,CAA+BhhO,QAA/B,EAAyCihO,UAAzC,EAAqD;AACjD,MAAM5vH,GAAG,GAAGrxG,QAAQ,CAACsgO,IAArB;AACA,MAAM7wC,SAAS,GAAG,IAAIr9K,GAAJ,EAAlB;;AACA,OAAK,IAAIlZ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGm4G,GAAG,CAAC7tF,SAAJ,CAAc/rB,MAAlC,EAA0CyB,CAAC,EAA3C,EAA+C;AAC3C,QAAMqnO,OAAO,GAAGlvH,GAAG,CAAC7tF,SAAJ,CAActqB,CAAd,CAAhB;;AACA,QAAIqnO,OAAO,CAACzxL,KAAR,GAAgB;AAAO;AAA3B,MAA4C;AACxC,YAAMwsG,QAAQ,GAAGt7I,QAAQ,CAAC8uM,UAAT,CAAoB51M,CAApB,CAAjB;;AACA,YAAIoiJ,QAAQ,IAAIA,QAAQ,KAAKwkF,eAA7B,EAA8C;AAC1C,cAAMvtE,SAAS,GAAGjX,QAAQ,CAACkX,WAA3B;;AACA,cAAI,OAAOD,SAAP,KAAqB,UAArB,IAAmC,CAACk9B,SAAS,CAACtpK,GAAV,CAAcm1H,QAAd,CAAxC,EAAiE;AAC7DiX,qBAAS,CAAC9+F,KAAV,CAAgB6nF,QAAhB;AACAm0C,qBAAS,CAACp9K,GAAV,CAAcipI,QAAd;AACH;AACJ;AACJ;AACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4lF,kBAAT,CAA4Bx8D,UAA5B,EAAwCy8D,WAAxC,EAAqD9qC,SAArD,EAAgE57B,IAAhE,EAAsE;AAClE,MAAIwjE,aAAa,GAAGkD,WAAW,CAACjD,aAAZ,CAA0BC,cAA9C;;AACA,MAAI9nC,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAKv+L,SAAxC,EAAmD;AAC/Cu+L,aAAS,GAAG4nC,aAAa,CAACxmO,MAA1B;AACH;;AACDgjK,MAAI,CAACkhE,mBAAL,GAA2Bj3D,UAA3B;AACAqH,YAAU,CAACkyD,aAAD,EAAgB5nC,SAAhB,EAA2B57B,IAA3B,CAAV;AACA2mE,qBAAmB,CAACD,WAAD,EAAc1mE,IAAd,CAAnB;AACAk/D,UAAQ,CAACc,kBAAT,CAA4BhgE,IAA5B;AACA,MAAM4mE,QAAQ,GAAGhrC,SAAS,GAAG,CAAZ,GAAgB4nC,aAAa,CAAC5nC,SAAS,GAAG,CAAb,CAA7B,GAA+C,IAAhE;AACAirC,0BAAwB,CAACH,WAAD,EAAcE,QAAd,EAAwB5mE,IAAxB,CAAxB;AACH;;AACD,SAAS2mE,mBAAT,CAA6BG,aAA7B,EAA4C9mE,IAA5C,EAAkD;AAC9C,MAAM+mE,cAAc,GAAGxF,qBAAqB,CAACvhE,IAAD,CAA5C;;AACA,MAAI,CAAC+mE,cAAD,IAAmBA,cAAc,KAAKD,aAAtC,IACA9mE,IAAI,CAACp9F,KAAL,GAAa;AAAG;AADpB,IAC2C;AACvC;AACH,KAL6C,CAM9C;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAo9F,MAAI,CAACp9F,KAAL,IAAc;AAAG;AAAjB;AACA,MAAIokK,cAAc,GAAGD,cAAc,CAAC54N,QAAf,CAAwB84N,eAA7C;;AACA,MAAI,CAACD,cAAL,EAAqB;AACjBA,kBAAc,GAAGD,cAAc,CAAC54N,QAAf,CAAwB84N,eAAxB,GAA0C,EAA3D;AACH;;AACDD,gBAAc,CAACnoO,IAAf,CAAoBmhK,IAApB,EAlB8C,CAmB9C;AACA;;AACAknE,6BAA2B,CAAClnE,IAAI,CAACxqJ,MAAL,CAAYohG,GAAb,EAAkBopD,IAAI,CAACwhE,aAAvB,CAA3B;AACH;;AACD,SAAS0F,2BAAT,CAAqC7iN,OAArC,EAA8Cq5G,OAA9C,EAAuD;AACnD,MAAIA,OAAO,CAACrpF,KAAR,GAAgB;AAAE;AAAtB,IAA+C;AAC3C;AACH;;AACDhwB,SAAO,CAACo5G,SAAR,IAAqB;AAAE;AAAvB;AACAC,SAAO,CAACrpF,KAAR,IAAiB;AAAE;AAAnB;AACA,MAAImtL,aAAa,GAAG9jG,OAAO,CAACloH,MAA5B;;AACA,SAAOgsN,aAAP,EAAsB;AAClBA,iBAAa,CAAC2F,UAAd,IAA4B;AAAE;AAA9B;AACA3F,iBAAa,GAAGA,aAAa,CAAChsN,MAA9B;AACH;AACJ;;AACD,SAAS4xN,kBAAT,CAA4BV,WAA5B,EAAyC9qC,SAAzC,EAAoD;AAChD,MAAM4nC,aAAa,GAAGkD,WAAW,CAACjD,aAAZ,CAA0BC,cAAhD;;AACA,MAAI9nC,SAAS,IAAI,IAAb,IAAqBA,SAAS,IAAI4nC,aAAa,CAACxmO,MAApD,EAA4D;AACxD4+L,aAAS,GAAG4nC,aAAa,CAACxmO,MAAd,GAAuB,CAAnC;AACH;;AACD,MAAI4+L,SAAS,GAAG,CAAhB,EAAmB;AACf,WAAO,IAAP;AACH;;AACD,MAAM57B,IAAI,GAAGwjE,aAAa,CAAC5nC,SAAD,CAA1B;AACA57B,MAAI,CAACkhE,mBAAL,GAA2B,IAA3B;AACA3vD,iBAAe,CAACiyD,aAAD,EAAgB5nC,SAAhB,CAAf,CAVgD,CAWhD;;AACAsjC,UAAQ,CAACc,kBAAT,CAA4BhgE,IAA5B;AACAqnE,oBAAkB,CAACrnE,IAAD,CAAlB;AACA,SAAOA,IAAP;AACH;;AACD,SAASsnE,mBAAT,CAA6BtnE,IAA7B,EAAmC;AAC/B,MAAI,EAAEA,IAAI,CAACp9F,KAAL,GAAa;AAAG;AAAlB,GAAJ,EAA8C;AAC1C;AACH;;AACD,MAAMmkK,cAAc,GAAGxF,qBAAqB,CAACvhE,IAAD,CAA5C;;AACA,MAAI+mE,cAAJ,EAAoB;AAChB,QAAMC,cAAc,GAAGD,cAAc,CAAC54N,QAAf,CAAwB84N,eAA/C;;AACA,QAAID,cAAJ,EAAoB;AAChBz1D,qBAAe,CAACy1D,cAAD,EAAiBA,cAAc,CAACxrO,OAAf,CAAuBwkK,IAAvB,CAAjB,CAAf;AACAk/D,cAAQ,CAACc,kBAAT,CAA4BhgE,IAA5B;AACH;AACJ;AACJ;;AACD,SAASunE,gBAAT,CAA0Bb,WAA1B,EAAuCc,YAAvC,EAAqDC,YAArD,EAAmE;AAC/D,MAAMjE,aAAa,GAAGkD,WAAW,CAACjD,aAAZ,CAA0BC,cAAhD;AACA,MAAM1jE,IAAI,GAAGwjE,aAAa,CAACgE,YAAD,CAA1B;AACAj2D,iBAAe,CAACiyD,aAAD,EAAgBgE,YAAhB,CAAf;;AACA,MAAIC,YAAY,IAAI,IAApB,EAA0B;AACtBA,gBAAY,GAAGjE,aAAa,CAACxmO,MAA7B;AACH;;AACDs0K,YAAU,CAACkyD,aAAD,EAAgBiE,YAAhB,EAA8BznE,IAA9B,CAAV,CAP+D,CAQ/D;AACA;;AACAk/D,UAAQ,CAACc,kBAAT,CAA4BhgE,IAA5B;AACAqnE,oBAAkB,CAACrnE,IAAD,CAAlB;AACA,MAAM4mE,QAAQ,GAAGa,YAAY,GAAG,CAAf,GAAmBjE,aAAa,CAACiE,YAAY,GAAG,CAAhB,CAAhC,GAAqD,IAAtE;AACAZ,0BAAwB,CAACH,WAAD,EAAcE,QAAd,EAAwB5mE,IAAxB,CAAxB;AACA,SAAOA,IAAP;AACH;;AACD,SAAS6mE,wBAAT,CAAkCH,WAAlC,EAA+CE,QAA/C,EAAyD5mE,IAAzD,EAA+D;AAC3D,MAAM0nE,cAAc,GAAGd,QAAQ,GAAGlF,UAAU,CAACkF,QAAD,EAAWA,QAAQ,CAAChwH,GAAT,CAAamsH,kBAAxB,CAAb,GAA2D2D,WAAW,CAAC/E,aAAtG;AACA,MAAMxkD,UAAU,GAAGnd,IAAI,CAACd,QAAL,CAAcie,UAAd,CAAyBuqD,cAAzB,CAAnB;AACA,MAAMrsD,WAAW,GAAGrb,IAAI,CAACd,QAAL,CAAcmc,WAAd,CAA0BqsD,cAA1B,CAApB,CAH2D,CAI3D;AACA;;AACA5E,sBAAoB,CAAC9iE,IAAD,EAAO;AAAE;AAAT,IAA6Bmd,UAA7B,EAAyC9B,WAAzC,EAAsDh+K,SAAtD,CAApB;AACH;;AACD,SAASgqO,kBAAT,CAA4BrnE,IAA5B,EAAkC;AAC9B8iE,sBAAoB,CAAC9iE,IAAD,EAAO;AAAE;AAAT,IAA4B,IAA5B,EAAkC,IAAlC,EAAwC3iK,SAAxC,CAApB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMsqO,aAAa,GAAG,EAAtB,C,CACA;AACA;;AACA,SAASriN,sBAAT,CAAgCnmB,QAAhC,EAA0CysB,aAA1C,EAAyD04H,cAAzD,EAAyE57H,MAAzE,EAAiFC,OAAjF,EAA0FV,kBAA1F,EAA8G;AAC1G,SAAO,IAAI2/M,iBAAJ,CAAsBzoO,QAAtB,EAAgCysB,aAAhC,EAA+C04H,cAA/C,EAA+D57H,MAA/D,EAAuEC,OAAvE,EAAgFV,kBAAhF,CAAP;AACH;;AACD,SAAS4/M,iCAAT,CAA2Ct+M,gBAA3C,EAA6D;AACzD,SAAOA,gBAAgB,CAAC+6H,cAAxB;AACH;;IACKsjF,iB;;;;;AACF,6BAAYzoO,QAAZ,EAAsBysB,aAAtB,EAAqC04H,cAArC,EAAqDwjF,OAArD,EAA8DC,QAA9D,EAAwE9/M,kBAAxE,EAA4F;AAAA;;AAAA;;AACxF;AACA;AACA;AACA,YAAK9oB,QAAL,GAAgBA,QAAhB;AACA,YAAKysB,aAAL,GAAqBA,aAArB;AACA,YAAKk8M,OAAL,GAAeA,OAAf;AACA,YAAKC,QAAL,GAAgBA,QAAhB;AACA,YAAK9/M,kBAAL,GAA0BA,kBAA1B;AACA,YAAKq8H,cAAL,GAAsBA,cAAtB;AATwF;AAU3F;;;;SACD,eAAa;AACT,UAAM0jF,SAAS,GAAG,EAAlB;AACA,UAAMt/M,MAAM,GAAG,KAAKo/M,OAApB;;AACA,WAAK,IAAI91J,QAAT,IAAqBtpD,MAArB,EAA6B;AACzB,YAAMuhD,YAAY,GAAGvhD,MAAM,CAACspD,QAAD,CAA3B;AACAg2J,iBAAS,CAACnpO,IAAV,CAAe;AAAEmzE,kBAAQ,EAARA,QAAF;AAAY/H,sBAAY,EAAZA;AAAZ,SAAf;AACH;;AACD,aAAO+9J,SAAP;AACH;;;SACD,eAAc;AACV,UAAMC,UAAU,GAAG,EAAnB;;AACA,WAAK,IAAIj2J,QAAT,IAAqB,KAAK+1J,QAA1B,EAAoC;AAChC,YAAM99J,YAAY,GAAG,KAAK89J,QAAL,CAAc/1J,QAAd,CAArB;AACAi2J,kBAAU,CAACppO,IAAX,CAAgB;AAAEmzE,kBAAQ,EAARA,QAAF;AAAY/H,sBAAY,EAAZA;AAAZ,SAAhB;AACH;;AACD,aAAOg+J,UAAP;AACH;AACD;AACJ;AACA;;;;WACI,gBAAOnzD,QAAP,EAAiBy9C,gBAAjB,EAAmCC,kBAAnC,EAAuDjtN,QAAvD,EAAiE;AAC7D,UAAI,CAACA,QAAL,EAAe;AACX,cAAM,IAAI9J,KAAJ,CAAU,6BAAV,CAAN;AACH;;AACD,UAAM4oB,OAAO,GAAGs+M,iBAAiB,CAAC,KAAKr+E,cAAN,CAAjC;AACA,UAAM4jF,kBAAkB,GAAG7jN,OAAO,CAAC8d,KAAR,CAAc,CAAd,EAAiBjkC,OAAjB,CAAyBiqO,iBAAzB,CAA2CtjI,SAAtE;AACA,UAAMm7D,IAAI,GAAGk/D,QAAQ,CAACE,cAAT,CAAwBtqD,QAAxB,EAAkCy9C,gBAAgB,IAAI,EAAtD,EAA0DC,kBAA1D,EAA8EnuM,OAA9E,EAAuF9e,QAAvF,EAAiGoiO,aAAjG,CAAb;AACA,UAAMlwK,SAAS,GAAGqnK,cAAc,CAAC9+D,IAAD,EAAOkoE,kBAAP,CAAd,CAAyCrnF,QAA3D;;AACA,UAAI2xE,kBAAJ,EAAwB;AACpBxyD,YAAI,CAACd,QAAL,CAAc2J,YAAd,CAA2Bg2D,aAAa,CAAC7+D,IAAD,EAAO,CAAP,CAAb,CAAuB2hE,aAAlD,EAAiE,YAAjE,EAA+E7qM,OAAO,CAACnZ,IAAvF;AACH;;AACD,aAAO,IAAIyqN,aAAJ,CAAkBpoE,IAAlB,EAAwB,IAAIqoE,QAAJ,CAAaroE,IAAb,CAAxB,EAA4CvoG,SAA5C,CAAP;AACH;;;;EA5C2Bx0C,gB;;IA8C1BmlN,a;;;;;AACF,yBAAY/N,KAAZ,EAAmBiO,QAAnB,EAA6BC,UAA7B,EAAyC;AAAA;;AAAA;;AACrC;AACA,YAAKlO,KAAL,GAAaA,KAAb;AACA,YAAKiO,QAAL,GAAgBA,QAAhB;AACA,YAAKC,UAAL,GAAkBA,UAAlB;AACA,YAAKC,MAAL,GAAc,QAAKnO,KAAL,CAAWzjH,GAAX,CAAez0E,KAAf,CAAqB,CAArB,CAAd;AACA,YAAK+rF,QAAL,GAAgBo6G,QAAhB;AACA,YAAKG,iBAAL,GAAyBH,QAAzB;AACA,YAAKznF,QAAL,GAAgB0nF,UAAhB;AARqC;AASxC;;;;SACD,eAAe;AACX,aAAO,IAAI/lN,UAAJ,CAAeq8M,aAAa,CAAC,KAAKxE,KAAN,EAAa,KAAKmO,MAAL,CAAY3jI,SAAzB,CAAb,CAAiD88H,aAAhE,CAAP;AACH;;;SACD,eAAe;AACX,aAAO,IAAI+G,SAAJ,CAAc,KAAKrO,KAAnB,EAA0B,KAAKmO,MAA/B,CAAP;AACH;;;SACD,eAAoB;AAChB,aAAO,KAAKD,UAAL,CAAgBjwN,WAAvB;AACH;;;WACD,mBAAU;AACN,WAAKgwN,QAAL,CAAcngD,OAAd;AACH;;;WACD,mBAAUvlL,QAAV,EAAoB;AAChB,WAAK0lO,QAAL,CAAcxwE,SAAd,CAAwBl1J,QAAxB;AACH;;;;EAzBuBsgB,Y;;AA2B5B,SAASylN,uBAAT,CAAiC3oE,IAAjC,EAAuC4oE,KAAvC,EAA8CC,MAA9C,EAAsD;AAClD,SAAO,IAAIC,iBAAJ,CAAsB9oE,IAAtB,EAA4B4oE,KAA5B,EAAmCC,MAAnC,CAAP;AACH;;IACKC,iB;AACF,6BAAYzO,KAAZ,EAAmBmO,MAAnB,EAA2BO,KAA3B,EAAkC;AAAA;;AAC9B,SAAK1O,KAAL,GAAaA,KAAb;AACA,SAAKmO,MAAL,GAAcA,MAAd;AACA,SAAKO,KAAL,GAAaA,KAAb;AACA;AACR;AACA;;AACQ,SAAKrF,cAAL,GAAsB,EAAtB;AACH;;;;SACD,eAAc;AACV,aAAO,IAAIlhN,UAAJ,CAAe,KAAKumN,KAAL,CAAWpH,aAA1B,CAAP;AACH;;;SACD,eAAe;AACX,aAAO,IAAI+G,SAAJ,CAAc,KAAKrO,KAAnB,EAA0B,KAAKmO,MAA/B,CAAP;AACH;AACD;;;;SACA,eAAqB;AACjB,UAAIxoE,IAAI,GAAG,KAAKq6D,KAAhB;AACA,UAAIuO,KAAK,GAAG,KAAKJ,MAAL,CAAYhzN,MAAxB;;AACA,aAAO,CAACozN,KAAD,IAAU5oE,IAAjB,EAAuB;AACnB4oE,aAAK,GAAGnH,YAAY,CAACzhE,IAAD,CAApB;AACAA,YAAI,GAAGA,IAAI,CAACxqJ,MAAZ;AACH;;AACD,aAAOwqJ,IAAI,GAAG,IAAI0oE,SAAJ,CAAc1oE,IAAd,EAAoB4oE,KAApB,CAAH,GAAgC,IAAIF,SAAJ,CAAc,KAAKrO,KAAnB,EAA0B,IAA1B,CAA3C;AACH;;;WACD,iBAAQ;AACJ,UAAMvwN,GAAG,GAAG,KAAK45N,cAAL,CAAoB1mO,MAAhC;;AACA,WAAK,IAAIyB,CAAC,GAAGqL,GAAG,GAAG,CAAnB,EAAsBrL,CAAC,IAAI,CAA3B,EAA8BA,CAAC,EAA/B,EAAmC;AAC/B,YAAMuhK,IAAI,GAAGonE,kBAAkB,CAAC,KAAK2B,KAAN,EAAatqO,CAAb,CAA/B;AACAygO,gBAAQ,CAACU,WAAT,CAAqB5/D,IAArB;AACH;AACJ;;;WACD,aAAI11J,KAAJ,EAAW;AACP,UAAM01J,IAAI,GAAG,KAAK0jE,cAAL,CAAoBp5N,KAApB,CAAb;;AACA,UAAI01J,IAAJ,EAAU;AACN,YAAMr5I,GAAG,GAAG,IAAI0hN,QAAJ,CAAaroE,IAAb,CAAZ;AACAr5I,WAAG,CAAC22M,wBAAJ,CAA6B,IAA7B;AACA,eAAO32M,GAAP;AACH;;AACD,aAAO,IAAP;AACH;;;SACD,eAAa;AACT,aAAO,KAAK+8M,cAAL,CAAoB1mO,MAA3B;AACH;;;WACD,4BAAmBy/N,WAAnB,EAAgC70N,OAAhC,EAAyC0C,KAAzC,EAAgD;AAC5C,UAAMoyN,OAAO,GAAGD,WAAW,CAACd,kBAAZ,CAA+B/zN,OAAO,IAAI,EAA1C,CAAhB;AACA,WAAK+0N,MAAL,CAAYD,OAAZ,EAAqBpyN,KAArB;AACA,aAAOoyN,OAAP;AACH;;;WACD,yBAAgBnzM,gBAAhB,EAAkCjf,KAAlC,EAAyCwqK,QAAzC,EAAmDy9C,gBAAnD,EAAqEqK,WAArE,EAAkF;AAC9E,UAAMC,eAAe,GAAG/nD,QAAQ,IAAI,KAAKgoD,cAAzC;;AACA,UAAI,CAACF,WAAD,IAAgB,EAAErzM,gBAAgB,YAAY+oM,6BAA9B,CAApB,EAAkF;AAC9EsK,mBAAW,GAAGC,eAAe,CAACn7N,GAAhB,CAAoB+gB,WAApB,CAAd;AACH;;AACD,UAAMs6M,YAAY,GAAGxzM,gBAAgB,CAAClR,MAAjB,CAAwBwkN,eAAxB,EAAyCtK,gBAAzC,EAA2Dl1N,SAA3D,EAAsEu/N,WAAtE,CAArB;AACA,WAAKD,MAAL,CAAYI,YAAY,CAAC7uG,QAAzB,EAAmC5jH,KAAnC;AACA,aAAOyyN,YAAP;AACH;;;WACD,gBAAOL,OAAP,EAAgBpyN,KAAhB,EAAuB;AACnB,UAAIoyN,OAAO,CAAC1nC,SAAZ,EAAuB;AACnB,cAAM,IAAIv5L,KAAJ,CAAU,oDAAV,CAAN;AACH;;AACD,UAAMutO,QAAQ,GAAGtM,OAAjB;AACA,UAAMzjC,QAAQ,GAAG+vC,QAAQ,CAAC3O,KAA1B;AACAoM,wBAAkB,CAAC,KAAKpM,KAAN,EAAa,KAAK0O,KAAlB,EAAyBz+N,KAAzB,EAAgC2uL,QAAhC,CAAlB;AACA+vC,cAAQ,CAAC1L,wBAAT,CAAkC,IAAlC;AACA,aAAOZ,OAAP;AACH;;;WACD,cAAKA,OAAL,EAAchU,YAAd,EAA4B;AACxB,UAAIgU,OAAO,CAAC1nC,SAAZ,EAAuB;AACnB,cAAM,IAAIv5L,KAAJ,CAAU,kDAAV,CAAN;AACH;;AACD,UAAM25N,aAAa,GAAG,KAAKsO,cAAL,CAAoBloO,OAApB,CAA4BkhO,OAAO,CAACrC,KAApC,CAAtB;;AACAkN,sBAAgB,CAAC,KAAKwB,KAAN,EAAa3T,aAAb,EAA4B1M,YAA5B,CAAhB;AACA,aAAOgU,OAAP;AACH;;;WACD,iBAAQA,OAAR,EAAiB;AACb,aAAO,KAAKgH,cAAL,CAAoBloO,OAApB,CAA4BkhO,OAAO,CAACrC,KAApC,CAAP;AACH;;;WACD,gBAAO/vN,KAAP,EAAc;AACV,UAAM2uL,QAAQ,GAAGmuC,kBAAkB,CAAC,KAAK2B,KAAN,EAAaz+N,KAAb,CAAnC;;AACA,UAAI2uL,QAAJ,EAAc;AACVimC,gBAAQ,CAACU,WAAT,CAAqB3mC,QAArB;AACH;AACJ;;;WACD,gBAAO3uL,KAAP,EAAc;AACV,UAAM01J,IAAI,GAAGonE,kBAAkB,CAAC,KAAK2B,KAAN,EAAaz+N,KAAb,CAA/B;AACA,aAAO01J,IAAI,GAAG,IAAIqoE,QAAJ,CAAaroE,IAAb,CAAH,GAAwB,IAAnC;AACH;;;;;;AAEL,SAASipE,uBAAT,CAAiCjpE,IAAjC,EAAuC;AACnC,SAAO,IAAIqoE,QAAJ,CAAaroE,IAAb,CAAP;AACH;;IACKqoE,Q;AACF,oBAAYhO,KAAZ,EAAmB;AAAA;;AACf,SAAKA,KAAL,GAAaA,KAAb;AACA,SAAK6O,iBAAL,GAAyB,IAAzB;AACA,SAAKlP,OAAL,GAAe,IAAf;AACH;;;;SACD,eAAgB;AACZ,aAAO4I,eAAe,CAAC,KAAKvI,KAAN,CAAtB;AACH;;;SACD,eAAc;AACV,aAAO,KAAKA,KAAL,CAAWzyN,OAAlB;AACH;;;SACD,eAAgB;AACZ,aAAO,CAAC,KAAKyyN,KAAL,CAAWz3J,KAAX,GAAmB;AAAI;AAAxB,YAA6C,CAApD;AACH;;;WACD,wBAAe;AACXo+J,6BAAuB,CAAC,KAAK3G,KAAN,CAAvB;AACH;;;WACD,kBAAS;AACL,WAAKA,KAAL,CAAWz3J,KAAX,IAAoB,CAAC;AAAE;AAAvB;AACH;;;WACD,yBAAgB;AACZ,UAAMumK,EAAE,GAAG,KAAK9O,KAAL,CAAWiH,IAAX,CAAgB/pC,eAA3B;;AACA,UAAI4xC,EAAE,CAAC1wC,KAAP,EAAc;AACV0wC,UAAE,CAAC1wC,KAAH;AACH;;AACD,UAAI;AACAymC,gBAAQ,CAACQ,kBAAT,CAA4B,KAAKrF,KAAjC;AACH,OAFD,SAGQ;AACJ,YAAI8O,EAAE,CAACvmM,GAAP,EAAY;AACRumM,YAAE,CAACvmM,GAAH;AACH;AACJ;AACJ;;;WACD,0BAAiB;AACbs8L,cAAQ,CAACS,kBAAT,CAA4B,KAAKtF,KAAjC;AACH;;;WACD,oBAAW;AACP,WAAKA,KAAL,CAAWz3J,KAAX,IAAoB;AAAE;AAAtB;AACH;;;WACD,mBAAUhgE,QAAV,EAAoB;AAChB,UAAI,CAAC,KAAKy3N,KAAL,CAAW+O,WAAhB,EAA6B;AACzB,aAAK/O,KAAL,CAAW+O,WAAX,GAAyB,EAAzB;AACH;;AACD,WAAK/O,KAAL,CAAW+O,WAAX,CAAuBvqO,IAAvB,CAA4B+D,QAA5B;AACH;;;WACD,mBAAU;AACN,UAAI,KAAKo3N,OAAT,EAAkB;AACd,aAAKA,OAAL,CAAapyC,UAAb,CAAwB,IAAxB;AACH,OAFD,MAGK,IAAI,KAAKshD,iBAAT,EAA4B;AAC7B,aAAKA,iBAAL,CAAuBjM,MAAvB,CAA8B,KAAKiM,iBAAL,CAAuB1tO,OAAvB,CAA+B,IAA/B,CAA9B;AACH;;AACD0jO,cAAQ,CAACU,WAAT,CAAqB,KAAKvF,KAA1B;AACH;;;WACD,4BAAmB;AACf,WAAKL,OAAL,GAAe,IAAf;AACAqN,wBAAkB,CAAC,KAAKhN,KAAN,CAAlB;AACA6E,cAAQ,CAACc,kBAAT,CAA4B,KAAK3F,KAAjC;AACH;;;WACD,wBAAeF,MAAf,EAAuB;AACnB,UAAI,KAAK+O,iBAAT,EAA4B;AACxB,cAAM,IAAIztO,KAAJ,CAAU,mDAAV,CAAN;AACH;;AACD,WAAKu+N,OAAL,GAAeG,MAAf;AACH;;;WACD,kCAAyBkP,KAAzB,EAAgC;AAC5B,UAAI,KAAKrP,OAAT,EAAkB;AACd,cAAM,IAAIv+N,KAAJ,CAAU,+DAAV,CAAN;AACH;;AACD,WAAKytO,iBAAL,GAAyBG,KAAzB;AACH;;;;;;AAEL,SAASC,kBAAT,CAA4BtpE,IAA5B,EAAkCppD,GAAlC,EAAuC;AACnC,SAAO,IAAI2yH,YAAJ,CAAiBvpE,IAAjB,EAAuBppD,GAAvB,CAAP;AACH;;IACK2yH,Y;;;;;AACF,wBAAYC,WAAZ,EAAyB3D,IAAzB,EAA+B;AAAA;;AAAA;;AAC3B;AACA,YAAK2D,WAAL,GAAmBA,WAAnB;AACA,YAAK3D,IAAL,GAAYA,IAAZ;AAH2B;AAI9B;;;;WACD,4BAAmBj+N,OAAnB,EAA4B;AACxB,aAAO,IAAIygO,QAAJ,CAAanJ,QAAQ,CAACvD,kBAAT,CAA4B,KAAK6N,WAAjC,EAA8C,KAAK3D,IAAnD,EAAyD,KAAKA,IAAL,CAAU3nO,OAAV,CAAkBiQ,QAA3E,EAAqFvG,OAArF,CAAb,CAAP;AACH;;;SACD,eAAiB;AACb,aAAO,IAAI4a,UAAJ,CAAeq8M,aAAa,CAAC,KAAK2K,WAAN,EAAmB,KAAK3D,IAAL,CAAUhhI,SAA7B,CAAb,CAAqD88H,aAApE,CAAP;AACH;;;;EAXsB9+M,W;;AAa3B,SAAS4mN,gBAAT,CAA0BzpE,IAA1B,EAAgC4oE,KAAhC,EAAuC;AACnC,SAAO,IAAIF,SAAJ,CAAc1oE,IAAd,EAAoB4oE,KAApB,CAAP;AACH;;IACKF,S;AACF,qBAAY1oE,IAAZ,EAAkB4oE,KAAlB,EAAyB;AAAA;;AACrB,SAAK5oE,IAAL,GAAYA,IAAZ;AACA,SAAK4oE,KAAL,GAAaA,KAAb;AACH;;;;WACD,aAAI5lO,KAAJ,EAAwD;AAAA,UAA7C2vJ,aAA6C,uEAA7BhvI,QAAQ,CAACywJ,kBAAoB;AACpD,UAAMs1D,oBAAoB,GAAG,KAAKd,KAAL,GAAa,CAAC,KAAKA,KAAL,CAAWv0L,KAAX,GAAmB;AAAS;AAA7B,YAAsD,CAAnE,GAAuE,KAApG;AACA,aAAO6qL,QAAQ,CAACW,UAAT,CAAoB,KAAK7/D,IAAzB,EAA+B,KAAK4oE,KAApC,EAA2Cc,oBAA3C,EAAiE;AAAEr1L,aAAK,EAAE;AAAE;AAAX;AAAuBrxC,aAAK,EAALA,KAAvB;AAA8Bm9N,gBAAQ,EAAEA,QAAQ,CAACn9N,KAAD;AAAhD,OAAjE,EAA4H2vJ,aAA5H,CAAP;AACH;;;;;;AAEL,SAAS3tI,SAAT,CAAmBg7I,IAAnB,EAAyB11J,KAAzB,EAAgC;AAC5B,MAAMssG,GAAG,GAAGopD,IAAI,CAACppD,GAAL,CAASz0E,KAAT,CAAe73B,KAAf,CAAZ;;AACA,MAAIssG,GAAG,CAACviE,KAAJ,GAAY;AAAE;AAAlB,IAAqC;AACjC,UAAMw0L,MAAM,GAAGhK,aAAa,CAAC7+D,IAAD,EAAOppD,GAAG,CAAC/R,SAAX,CAA5B;AACA,aAAO+R,GAAG,CAAC14G,OAAJ,CAAYiQ,QAAZ,GAAuB06N,MAAM,CAAC16N,QAA9B,GAAyC06N,MAAM,CAAClH,aAAvD;AACH,KAHD,MAIK,IAAI/qH,GAAG,CAACviE,KAAJ,GAAY;AAAE;AAAlB,IAAkC;AACnC,aAAOuqL,UAAU,CAAC5+D,IAAD,EAAOppD,GAAG,CAAC/R,SAAX,CAAV,CAAgC+8H,UAAvC;AACH,KAFI,MAGA,IAAIhrH,GAAG,CAACviE,KAAJ,IAAa;AAAM;AAAN,IAA0B;AAAG;AAA1C,GAAJ,EAA+D;AAChE,WAAOyqL,cAAc,CAAC9+D,IAAD,EAAOppD,GAAG,CAAC/R,SAAX,CAAd,CAAoCg8C,QAA3C;AACH;;AACD,QAAM,IAAIplJ,KAAJ,wDAA0D6O,KAA1D,EAAN;AACH;;AACD,SAASg1N,iBAAT,CAA2Bn/K,UAA3B,EAAuC3qC,MAAvC,EAA+CgV,mBAA/C,EAAoEosF,GAApE,EAAyE;AACrE,SAAO,IAAI+yH,YAAJ,CAAiBxpL,UAAjB,EAA6B3qC,MAA7B,EAAqCgV,mBAArC,EAA0DosF,GAA1D,CAAP;AACH;;IACK+yH,Y;AACF,wBAAYC,WAAZ,EAAyBn+J,OAAzB,EAAkCo+J,oBAAlC,EAAwDhE,IAAxD,EAA8D;AAAA;;AAC1D,SAAK+D,WAAL,GAAmBA,WAAnB;AACA,SAAKn+J,OAAL,GAAeA,OAAf;AACA,SAAKo+J,oBAAL,GAA4BA,oBAA5B;AACA,SAAKhE,IAAL,GAAYA,IAAZ;AACA,SAAKiE,iBAAL,GAAyB,EAAzB;AACA,SAAKzoC,UAAL,GAAkB,KAAlB;AACA,SAAKvsB,QAAL,GAAgB,IAAhB;AACA8wD,gBAAY,CAAC,IAAD,CAAZ;AACH;;;;WACD,aAAI5iO,KAAJ,EAA2F;AAAA,UAAhF2vJ,aAAgF,uEAAhEhvI,QAAQ,CAACywJ,kBAAuD;AAAA,UAAnC21D,WAAmC,uEAArB13E,WAAW,CAAC3tJ,OAAS;AACvF,UAAI2vC,KAAK,GAAG;AAAE;AAAd;;AACA,UAAI01L,WAAW,GAAG13E,WAAW,CAAC0R,QAA9B,EAAwC;AACpC1vH,aAAK,IAAI;AAAE;AAAX;AACH,OAFD,MAGK,IAAI01L,WAAW,GAAG13E,WAAW,CAAC0Z,IAA9B,EAAoC;AACrC13H,aAAK,IAAI;AAAE;AAAX;AACH;;AACD,aAAO2xL,kBAAkB,CAAC,IAAD,EAAO;AAAEhjO,aAAK,EAAEA,KAAT;AAAgBm9N,gBAAQ,EAAEA,QAAQ,CAACn9N,KAAD,CAAlC;AAA2CqxC,aAAK,EAAEA;AAAlD,OAAP,EAAkEs+G,aAAlE,CAAzB;AACH;;;SACD,eAAe;AACX,aAAO,KAAKjxJ,GAAL,CAAS,KAAKkoO,WAAd,CAAP;AACH;;;SACD,eAA+B;AAC3B,aAAO,KAAKloO,GAAL,CAASshB,wBAAT,CAAP;AACH;;;WACD,mBAAU;AACN,UAAI,KAAKq+K,UAAT,EAAqB;AACjB,cAAM,IAAI5lM,KAAJ,yBAA2B2hB,SAAS,CAAC,KAAKyjI,QAAL,CAAcvoI,WAAf,CAApC,kCAAN;AACH;;AACD,WAAK+oL,UAAL,GAAkB,IAAlB;AACAklC,2BAAqB,CAAC,IAAD,EAAO;AAAO;AAAd,OAArB;;AACA,WAAKuD,iBAAL,CAAuB7sO,OAAvB,CAA+B,UAACk5B,QAAD;AAAA,eAAcA,QAAQ,EAAtB;AAAA,OAA/B;AACH;;;WACD,mBAAUvzB,QAAV,EAAoB;AAChB,WAAKknO,iBAAL,CAAuBjrO,IAAvB,CAA4B+D,QAA5B;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMonO,iBAAiB,GAAG7J,QAAQ,CAACr9M,SAAD,CAAlC;AACA,IAAMmnN,kBAAkB,GAAG9J,QAAQ,CAAC39M,UAAD,CAAnC;AACA,IAAM0nN,wBAAwB,GAAG/J,QAAQ,CAACz9M,gBAAD,CAAzC;AACA,IAAMynN,mBAAmB,GAAGhK,QAAQ,CAACt9M,WAAD,CAApC;AACA,IAAMunN,yBAAyB,GAAGjK,QAAQ,CAACx9M,iBAAD,CAA1C;AACA,IAAM0nN,qBAAqB,GAAGlK,QAAQ,CAACx8M,QAAD,CAAtC;AACA,IAAM2mN,qBAAqB,GAAGnK,QAAQ,CAAC9/B,UAAD,CAAtC;;AACA,SAAS57K,YAAT,CAAsB+5G,UAAtB,EAAkCnqF,KAAlC,EAAyC4tL,cAAzC,EAAyDnjG,UAAzD,EAAqEjnE,IAArE,EAA2E3rC,IAA3E,EAAiF9lB,KAAjF,EAAwFuiB,OAAxF,EAAiG;AAC7F,MAAM2qD,QAAQ,GAAG,EAAjB;;AACA,MAAIltE,KAAJ,EAAW;AACP,SAAK,IAAIqS,IAAT,IAAiBrS,KAAjB,EAAwB;AAAA,sJACoBA,KAAK,CAACqS,IAAD,CADzB;AAAA,UACbgmH,YADa;AAAA,UACC8rG,eADD;;AAEpBj3J,cAAQ,CAACmrD,YAAD,CAAR,GAAyB;AACrBpqF,aAAK,EAAE;AAAE;AADY;AAErBn3C,YAAI,EAAEub,IAFe;AAGrB8xN,uBAAe,EAAfA,eAHqB;AAIrBj1J,UAAE,EAAE,IAJiB;AAKrB91C,uBAAe,EAAE,IALI;AAMrBi1B,cAAM,EAAE;AANa,OAAzB;AAQH;AACJ;;AACD,MAAMinE,UAAU,GAAG,EAAnB;;AACA,MAAI/yG,OAAJ,EAAa;AACT,SAAK,IAAIqpD,QAAT,IAAqBrpD,OAArB,EAA8B;AAC1B+yG,gBAAU,CAAC78H,IAAX,CAAgB;AAAEsL,YAAI,EAAE;AAAE;AAAV;AAAiC6nE,gBAAQ,EAARA,QAAjC;AAA2CpyC,cAAM,EAAE,IAAnD;AAAyDx6B,iBAAS,EAAEujB,OAAO,CAACqpD,QAAD;AAA3E,OAAhB;AACH;AACJ;;AACD39B,OAAK,IAAI;AAAM;AAAf;AACA,SAAOwxL,IAAI,CAACrnG,UAAD,EAAanqF,KAAb,EAAoB4tL,cAApB,EAAoCnjG,UAApC,EAAgDjnE,IAAhD,EAAsDA,IAAtD,EAA4D3rC,IAA5D,EAAkEonD,QAAlE,EAA4EooD,UAA5E,CAAX;AACH;;AACD,SAAS32G,OAAT,CAAiBsvB,KAAjB,EAAwBwjB,IAAxB,EAA8B3rC,IAA9B,EAAoC;AAChCmoB,OAAK,IAAI;AAAG;AAAZ;AACA,SAAOwxL,IAAI,CAAC,CAAC,CAAF,EAAKxxL,KAAL,EAAY,IAAZ,EAAkB,CAAlB,EAAqBwjB,IAArB,EAA2BA,IAA3B,EAAiC3rC,IAAjC,CAAX;AACH;;AACD,SAASxH,WAAT,CAAqB2vB,KAArB,EAA4B4tL,cAA5B,EAA4Cj/N,KAA5C,EAAmDjE,KAAnD,EAA0DmtB,IAA1D,EAAgE;AAC5D,SAAO25M,IAAI,CAAC,CAAC,CAAF,EAAKxxL,KAAL,EAAY4tL,cAAZ,EAA4B,CAA5B,EAA+Bj/N,KAA/B,EAAsCjE,KAAtC,EAA6CmtB,IAA7C,CAAX;AACH;;AACD,SAAS25M,IAAT,CAAcrnG,UAAd,EAA0BnqF,KAA1B,EAAiC2tL,iBAAjC,EAAoDljG,UAApD,EAAgE97H,KAAhE,EAAuEjE,KAAvE,EAA8EmtB,IAA9E,EAAoFonD,QAApF,EAA8F3qD,OAA9F,EAAuG;AAAA,8BAC3Co5M,sBAAsB,CAACC,iBAAD,CADqB;AAAA,MAC3FC,cAD2F,yBAC3FA,cAD2F;AAAA,MAC3E7hM,UAD2E,yBAC3EA,UAD2E;AAAA,MAC/D8hM,eAD+D,yBAC/DA,eAD+D;;AAEnG,MAAI,CAACv5M,OAAL,EAAc;AACVA,WAAO,GAAG,EAAV;AACH;;AACD,MAAI,CAAC2qD,QAAL,EAAe;AACXA,YAAQ,GAAG,EAAX;AACH,GAPkG,CAQnG;AACA;AACA;;;AACAv0E,OAAK,GAAGye,iBAAiB,CAACze,KAAD,CAAzB;AACA,MAAM2mO,OAAO,GAAGvD,YAAY,CAACj2M,IAAD,EAAO9O,SAAS,CAACpa,KAAD,CAAhB,CAA5B;AACA,SAAO;AACH;AACA6hG,aAAS,EAAE,CAAC,CAFT;AAGHrvF,UAAM,EAAE,IAHL;AAIH+sN,gBAAY,EAAE,IAJX;AAKH9jG,gBAAY,EAAE,CAAC,CALZ;AAMH+rG,eAAW,EAAE,CAAC,CANX;AAOH;AACAhsG,cAAU,EAAVA,UARG;AASHnqF,SAAK,EAALA,KATG;AAUH8yL,cAAU,EAAE,CAVT;AAWHsD,oBAAgB,EAAE,CAXf;AAYHC,uBAAmB,EAAE,CAZlB;AAaHzI,kBAAc,EAAdA,cAbG;AAcHC,mBAAe,EAAfA,eAdG;AAeH9hM,cAAU,EAAVA,UAfG;AAgBHwoC,kBAAc,EAAE,CAAC,CAhBd;AAiBHk2D,cAAU,EAAVA,UAjBG;AAkBHxrD,YAAQ,EAARA,QAlBG;AAmBHiwJ,gBAAY,EAAEM,gBAAgB,CAACvwJ,QAAD,CAnB3B;AAoBH3qD,WAAO,EAAPA,OApBG;AAqBHzqB,WAAO,EAAE,IArBN;AAsBHutB,YAAQ,EAAE;AAAEzoB,WAAK,EAALA,KAAF;AAASjE,WAAK,EAALA,KAAT;AAAgBmtB,UAAI,EAAEw5M;AAAtB,KAtBP;AAuBHn3N,QAAI,EAAE,IAvBH;AAwBH6iC,SAAK,EAAE,IAxBJ;AAyBHk0D,aAAS,EAAE;AAzBR,GAAP;AA2BH;;AACD,SAASqlI,sBAAT,CAAgC3qE,IAAhC,EAAsCppD,GAAtC,EAA2C;AACvC,SAAOg0H,yBAAyB,CAAC5qE,IAAD,EAAOppD,GAAP,CAAhC;AACH;;AACD,SAASi0H,kBAAT,CAA4B7qE,IAA5B,EAAkCppD,GAAlC,EAAuC;AACnC;AACA,MAAIyoB,QAAQ,GAAG2gC,IAAf;;AACA,SAAO3gC,QAAQ,CAAC7pH,MAAT,IAAmB,CAACmlN,eAAe,CAACt7F,QAAD,CAA1C,EAAsD;AAClDA,YAAQ,GAAGA,QAAQ,CAAC7pH,MAApB;AACH,GALkC,CAMnC;;;AACA,MAAMk0N,oBAAoB,GAAG,IAA7B,CAPmC,CAQnC;;AACA,SAAOoB,WAAW,CAACzrG,QAAQ,CAAC7pH,MAAV,EAAkBisN,YAAY,CAACpiG,QAAD,CAA9B,EAA0CqqG,oBAA1C,EAAgE9yH,GAAG,CAACnrF,QAAJ,CAAa1sB,KAA7E,EAAoF63G,GAAG,CAACnrF,QAAJ,CAAaS,IAAjG,CAAlB;AACH;;AACD,SAAS6+M,uBAAT,CAAiC/qE,IAAjC,EAAuCppD,GAAvC,EAA4C;AACxC;AACA,MAAM8yH,oBAAoB,GAAG,CAAC9yH,GAAG,CAACviE,KAAJ,GAAY;AAAM;AAAnB,MAAsC,CAAnE,CAFwC,CAGxC;;AACA,MAAMwsG,QAAQ,GAAGiqF,WAAW,CAAC9qE,IAAD,EAAOppD,GAAG,CAACphG,MAAX,EAAmBk0N,oBAAnB,EAAyC9yH,GAAG,CAACnrF,QAAJ,CAAa1sB,KAAtD,EAA6D63G,GAAG,CAACnrF,QAAJ,CAAaS,IAA1E,CAA5B;;AACA,MAAI0qF,GAAG,CAACjuF,OAAJ,CAAY3rB,MAAhB,EAAwB;AACpB,SAAK,IAAIyB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGm4G,GAAG,CAACjuF,OAAJ,CAAY3rB,MAAhC,EAAwCyB,CAAC,EAAzC,EAA6C;AACzC,UAAMwvD,MAAM,GAAG2oD,GAAG,CAACjuF,OAAJ,CAAYlqB,CAAZ,CAAf;AACA,UAAMusO,gBAAgB,GAAGnqF,QAAQ,CAAC5yF,MAAM,CAAC+jB,QAAR,CAAjC;;AACA,UAAI84E,YAAY,CAACkgF,gBAAD,CAAhB,EAAoC;AAChC,YAAMjzB,YAAY,GAAGizB,gBAAgB,CAACppF,SAAjB,CAA2BqpF,mBAAmB,CAACjrE,IAAD,EAAOppD,GAAG,CAACphG,MAAJ,CAAWqvF,SAAlB,EAA6B52C,MAAM,CAAC7oD,SAApC,CAA9C,CAArB;AACA46J,YAAI,CAACopE,WAAL,CAAiBxyH,GAAG,CAAC4zH,WAAJ,GAAkB/rO,CAAnC,IAAwCs5M,YAAY,CAACpvB,WAAb,CAAyB3wI,IAAzB,CAA8B+/J,YAA9B,CAAxC;AACH,OAHD,MAIK;AACD,cAAM,IAAIt8M,KAAJ,mBAAqBwyD,MAAM,CAAC+jB,QAA5B,kCAA4D6uE,QAAQ,CAACvoI,WAAT,CAAqBpb,IAAjF,QAAN;AACH;AACJ;AACJ;;AACD,SAAO2jJ,QAAP;AACH;;AACD,SAASoqF,mBAAT,CAA6BjrE,IAA7B,EAAmC11J,KAAnC,EAA0ClF,SAA1C,EAAqD;AACjD,SAAO,UAAC26B,KAAD;AAAA,WAAWshM,aAAa,CAACrhE,IAAD,EAAO11J,KAAP,EAAclF,SAAd,EAAyB26B,KAAzB,CAAxB;AAAA,GAAP;AACH;;AACD,SAASmrM,6BAAT,CAAuClrE,IAAvC,EAA6CppD,GAA7C,EAAkD01F,EAAlD,EAAsDG,EAAtD,EAA0DE,EAA1D,EAA8DE,EAA9D,EAAkEE,EAAlE,EAAsEG,EAAtE,EAA0EG,EAA1E,EAA8EG,EAA9E,EAAkF29B,EAAlF,EAAsFC,EAAtF,EAA0F;AACtF,MAAMC,YAAY,GAAGvM,cAAc,CAAC9+D,IAAD,EAAOppD,GAAG,CAAC/R,SAAX,CAAnC;AACA,MAAMz6B,SAAS,GAAGihK,YAAY,CAACxqF,QAA/B;AACA,MAAIv+G,OAAO,GAAG,KAAd;AACA,MAAIgpM,OAAO,GAAGjuO,SAAd;AACA,MAAMkuO,OAAO,GAAG30H,GAAG,CAACtjC,QAAJ,CAAat2E,MAA7B;;AACA,MAAIuuO,OAAO,GAAG,CAAV,IAAe1K,YAAY,CAAC7gE,IAAD,EAAOppD,GAAP,EAAY,CAAZ,EAAe01F,EAAf,CAA/B,EAAmD;AAC/ChqK,WAAO,GAAG,IAAV;AACAgpM,WAAO,GAAGE,UAAU,CAACxrE,IAAD,EAAOqrE,YAAP,EAAqBz0H,GAArB,EAA0B,CAA1B,EAA6B01F,EAA7B,EAAiCg/B,OAAjC,CAApB;AACH;;AACD,MAAIC,OAAO,GAAG,CAAV,IAAe1K,YAAY,CAAC7gE,IAAD,EAAOppD,GAAP,EAAY,CAAZ,EAAe61F,EAAf,CAA/B,EAAmD;AAC/CnqK,WAAO,GAAG,IAAV;AACAgpM,WAAO,GAAGE,UAAU,CAACxrE,IAAD,EAAOqrE,YAAP,EAAqBz0H,GAArB,EAA0B,CAA1B,EAA6B61F,EAA7B,EAAiC6+B,OAAjC,CAApB;AACH;;AACD,MAAIC,OAAO,GAAG,CAAV,IAAe1K,YAAY,CAAC7gE,IAAD,EAAOppD,GAAP,EAAY,CAAZ,EAAe+1F,EAAf,CAA/B,EAAmD;AAC/CrqK,WAAO,GAAG,IAAV;AACAgpM,WAAO,GAAGE,UAAU,CAACxrE,IAAD,EAAOqrE,YAAP,EAAqBz0H,GAArB,EAA0B,CAA1B,EAA6B+1F,EAA7B,EAAiC2+B,OAAjC,CAApB;AACH;;AACD,MAAIC,OAAO,GAAG,CAAV,IAAe1K,YAAY,CAAC7gE,IAAD,EAAOppD,GAAP,EAAY,CAAZ,EAAei2F,EAAf,CAA/B,EAAmD;AAC/CvqK,WAAO,GAAG,IAAV;AACAgpM,WAAO,GAAGE,UAAU,CAACxrE,IAAD,EAAOqrE,YAAP,EAAqBz0H,GAArB,EAA0B,CAA1B,EAA6Bi2F,EAA7B,EAAiCy+B,OAAjC,CAApB;AACH;;AACD,MAAIC,OAAO,GAAG,CAAV,IAAe1K,YAAY,CAAC7gE,IAAD,EAAOppD,GAAP,EAAY,CAAZ,EAAem2F,EAAf,CAA/B,EAAmD;AAC/CzqK,WAAO,GAAG,IAAV;AACAgpM,WAAO,GAAGE,UAAU,CAACxrE,IAAD,EAAOqrE,YAAP,EAAqBz0H,GAArB,EAA0B,CAA1B,EAA6Bm2F,EAA7B,EAAiCu+B,OAAjC,CAApB;AACH;;AACD,MAAIC,OAAO,GAAG,CAAV,IAAe1K,YAAY,CAAC7gE,IAAD,EAAOppD,GAAP,EAAY,CAAZ,EAAes2F,EAAf,CAA/B,EAAmD;AAC/C5qK,WAAO,GAAG,IAAV;AACAgpM,WAAO,GAAGE,UAAU,CAACxrE,IAAD,EAAOqrE,YAAP,EAAqBz0H,GAArB,EAA0B,CAA1B,EAA6Bs2F,EAA7B,EAAiCo+B,OAAjC,CAApB;AACH;;AACD,MAAIC,OAAO,GAAG,CAAV,IAAe1K,YAAY,CAAC7gE,IAAD,EAAOppD,GAAP,EAAY,CAAZ,EAAey2F,EAAf,CAA/B,EAAmD;AAC/C/qK,WAAO,GAAG,IAAV;AACAgpM,WAAO,GAAGE,UAAU,CAACxrE,IAAD,EAAOqrE,YAAP,EAAqBz0H,GAArB,EAA0B,CAA1B,EAA6By2F,EAA7B,EAAiCi+B,OAAjC,CAApB;AACH;;AACD,MAAIC,OAAO,GAAG,CAAV,IAAe1K,YAAY,CAAC7gE,IAAD,EAAOppD,GAAP,EAAY,CAAZ,EAAe42F,EAAf,CAA/B,EAAmD;AAC/ClrK,WAAO,GAAG,IAAV;AACAgpM,WAAO,GAAGE,UAAU,CAACxrE,IAAD,EAAOqrE,YAAP,EAAqBz0H,GAArB,EAA0B,CAA1B,EAA6B42F,EAA7B,EAAiC89B,OAAjC,CAApB;AACH;;AACD,MAAIC,OAAO,GAAG,CAAV,IAAe1K,YAAY,CAAC7gE,IAAD,EAAOppD,GAAP,EAAY,CAAZ,EAAeu0H,EAAf,CAA/B,EAAmD;AAC/C7oM,WAAO,GAAG,IAAV;AACAgpM,WAAO,GAAGE,UAAU,CAACxrE,IAAD,EAAOqrE,YAAP,EAAqBz0H,GAArB,EAA0B,CAA1B,EAA6Bu0H,EAA7B,EAAiCG,OAAjC,CAApB;AACH;;AACD,MAAIC,OAAO,GAAG,CAAV,IAAe1K,YAAY,CAAC7gE,IAAD,EAAOppD,GAAP,EAAY,CAAZ,EAAew0H,EAAf,CAA/B,EAAmD;AAC/C9oM,WAAO,GAAG,IAAV;AACAgpM,WAAO,GAAGE,UAAU,CAACxrE,IAAD,EAAOqrE,YAAP,EAAqBz0H,GAArB,EAA0B,CAA1B,EAA6Bw0H,EAA7B,EAAiCE,OAAjC,CAApB;AACH;;AACD,MAAIA,OAAJ,EAAa;AACTlhK,aAAS,CAAC2zF,WAAV,CAAsButE,OAAtB;AACH;;AACD,MAAK10H,GAAG,CAACviE,KAAJ,GAAY;AAAM;AAAnB,KACAqqL,2BAA2B,CAAC1+D,IAAD,EAAO;AAAI;AAAX,IAA0CppD,GAAG,CAAC/R,SAA9C,CAD/B,EACyF;AACrFz6B,aAAS,CAACu7F,QAAV;AACH;;AACD,MAAI/uD,GAAG,CAACviE,KAAJ,GAAY;AAAO;AAAvB,IAAsC;AAClC+1B,eAAS,CAACw7F,SAAV;AACH;;AACD,SAAOtjI,OAAP;AACH;;AACD,SAASmpM,8BAAT,CAAwCzrE,IAAxC,EAA8CppD,GAA9C,EAAmDtwG,MAAnD,EAA2D;AACvD,MAAM+kO,YAAY,GAAGvM,cAAc,CAAC9+D,IAAD,EAAOppD,GAAG,CAAC/R,SAAX,CAAnC;AACA,MAAMz6B,SAAS,GAAGihK,YAAY,CAACxqF,QAA/B;AACA,MAAIv+G,OAAO,GAAG,KAAd;AACA,MAAIgpM,OAAO,GAAGjuO,SAAd;;AACA,OAAK,IAAIoB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6H,MAAM,CAACtJ,MAA3B,EAAmCyB,CAAC,EAApC,EAAwC;AACpC,QAAIoiO,YAAY,CAAC7gE,IAAD,EAAOppD,GAAP,EAAYn4G,CAAZ,EAAe6H,MAAM,CAAC7H,CAAD,CAArB,CAAhB,EAA2C;AACvC6jC,aAAO,GAAG,IAAV;AACAgpM,aAAO,GAAGE,UAAU,CAACxrE,IAAD,EAAOqrE,YAAP,EAAqBz0H,GAArB,EAA0Bn4G,CAA1B,EAA6B6H,MAAM,CAAC7H,CAAD,CAAnC,EAAwC6sO,OAAxC,CAApB;AACH;AACJ;;AACD,MAAIA,OAAJ,EAAa;AACTlhK,aAAS,CAAC2zF,WAAV,CAAsButE,OAAtB;AACH;;AACD,MAAK10H,GAAG,CAACviE,KAAJ,GAAY;AAAM;AAAnB,KACAqqL,2BAA2B,CAAC1+D,IAAD,EAAO;AAAI;AAAX,IAA0CppD,GAAG,CAAC/R,SAA9C,CAD/B,EACyF;AACrFz6B,aAAS,CAACu7F,QAAV;AACH;;AACD,MAAI/uD,GAAG,CAACviE,KAAJ,GAAY;AAAO;AAAvB,IAAsC;AAClC+1B,eAAS,CAACw7F,SAAV;AACH;;AACD,SAAOtjI,OAAP;AACH;;AACD,SAASsoM,yBAAT,CAAmC5qE,IAAnC,EAAyCppD,GAAzC,EAA8C;AAC1C;AACA,MAAM8yH,oBAAoB,GAAG,CAAC9yH,GAAG,CAACviE,KAAJ,GAAY;AAAK;AAAlB,MAA2C,CAAxE;AACA,MAAM3vB,WAAW,GAAGkyF,GAAG,CAACnrF,QAAxB;;AACA,UAAQmrF,GAAG,CAACviE,KAAJ,GAAY;AAAU;AAA9B;AACI,SAAK;AAAI;AAAT;AACI,aAAOy2L,WAAW,CAAC9qE,IAAD,EAAOppD,GAAG,CAACphG,MAAX,EAAmBk0N,oBAAnB,EAAyChlN,WAAW,CAAC3lB,KAArD,EAA4D2lB,WAAW,CAACwH,IAAxE,CAAlB;;AACJ,SAAK;AAAK;AAAV;AACI,aAAOw/M,WAAW,CAAC1rE,IAAD,EAAOppD,GAAG,CAACphG,MAAX,EAAmBk0N,oBAAnB,EAAyChlN,WAAW,CAAC3lB,KAArD,EAA4D2lB,WAAW,CAACwH,IAAxE,CAAlB;;AACJ,SAAK;AAAK;AAAV;AACI,aAAO2zM,UAAU,CAAC7/D,IAAD,EAAOppD,GAAG,CAACphG,MAAX,EAAmBk0N,oBAAnB,EAAyChlN,WAAW,CAACwH,IAAZ,CAAiB,CAAjB,CAAzC,CAAjB;;AACJ,SAAK;AAAI;AAAT;AACI,aAAOxH,WAAW,CAAC3lB,KAAnB;AARR;AAUH;;AACD,SAAS+rO,WAAT,CAAqB9qE,IAArB,EAA2B4oE,KAA3B,EAAkCc,oBAAlC,EAAwD7xK,IAAxD,EAA8D3rC,IAA9D,EAAoE;AAChE,MAAMpiB,GAAG,GAAGoiB,IAAI,CAAClvB,MAAjB;;AACA,UAAQ8M,GAAR;AACI,SAAK,CAAL;AACI,aAAO,IAAI+tD,IAAJ,EAAP;;AACJ,SAAK,CAAL;AACI,aAAO,IAAIA,IAAJ,CAASgoK,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAAC,CAAD,CAAxC,CAAnB,CAAP;;AACJ,SAAK,CAAL;AACI,aAAO,IAAI2rC,IAAJ,CAASgoK,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAAC,CAAD,CAAxC,CAAnB,EAAiE2zM,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAAC,CAAD,CAAxC,CAA3E,CAAP;;AACJ,SAAK,CAAL;AACI,aAAO,IAAI2rC,IAAJ,CAASgoK,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAAC,CAAD,CAAxC,CAAnB,EAAiE2zM,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAAC,CAAD,CAAxC,CAA3E,EAAyH2zM,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAAC,CAAD,CAAxC,CAAnI,CAAP;;AACJ;AACI,UAAMo6M,SAAS,GAAG,EAAlB;;AACA,WAAK,IAAI7nO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqL,GAApB,EAAyBrL,CAAC,EAA1B,EAA8B;AAC1B6nO,iBAAS,CAACznO,IAAV,CAAeghO,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAACztB,CAAD,CAAxC,CAAzB;AACH;;AACD,uIAAWo5D,IAAX,EAAmByuK,SAAnB;AAdR;AAgBH;;AACD,SAASoF,WAAT,CAAqB1rE,IAArB,EAA2B4oE,KAA3B,EAAkCc,oBAAlC,EAAwDrjO,OAAxD,EAAiE6lB,IAAjE,EAAuE;AACnE,MAAMpiB,GAAG,GAAGoiB,IAAI,CAAClvB,MAAjB;;AACA,UAAQ8M,GAAR;AACI,SAAK,CAAL;AACI,aAAOzD,OAAO,EAAd;;AACJ,SAAK,CAAL;AACI,aAAOA,OAAO,CAACw5N,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAAC,CAAD,CAAxC,CAAX,CAAd;;AACJ,SAAK,CAAL;AACI,aAAO7lB,OAAO,CAACw5N,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAAC,CAAD,CAAxC,CAAX,EAAyD2zM,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAAC,CAAD,CAAxC,CAAnE,CAAd;;AACJ,SAAK,CAAL;AACI,aAAO7lB,OAAO,CAACw5N,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAAC,CAAD,CAAxC,CAAX,EAAyD2zM,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAAC,CAAD,CAAxC,CAAnE,EAAiH2zM,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAAC,CAAD,CAAxC,CAA3H,CAAd;;AACJ;AACI,UAAMo6M,SAAS,GAAG,EAAlB;;AACA,WAAK,IAAI7nO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqL,GAApB,EAAyBrL,CAAC,EAA1B,EAA8B;AAC1B6nO,iBAAS,CAACznO,IAAV,CAAeghO,UAAU,CAAC7/D,IAAD,EAAO4oE,KAAP,EAAcc,oBAAd,EAAoCx9M,IAAI,CAACztB,CAAD,CAAxC,CAAzB;AACH;;AACD,aAAO4H,OAAO,MAAP,SAAWigO,SAAX,CAAP;AAdR;AAgBH,C,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMqF,qCAAqC,GAAG,EAA9C;;AACA,SAAS9L,UAAT,CAAoB7/D,IAApB,EAA0B4oE,KAA1B,EAAiCc,oBAAjC,EAAuDpzG,MAAvD,EAA4G;AAAA,MAA7Cq8B,aAA6C,uEAA7BhvI,QAAQ,CAACywJ,kBAAoB;;AACxG,MAAI99C,MAAM,CAACjiF,KAAP,GAAe;AAAE;AAArB,IAAkC;AAC9B,aAAOiiF,MAAM,CAACtzH,KAAd;AACH;;AACD,MAAM+mK,SAAS,GAAG/J,IAAlB;;AACA,MAAI1pC,MAAM,CAACjiF,KAAP,GAAe;AAAE;AAArB,IAAqC;AACjCs+G,mBAAa,GAAG,IAAhB;AACH;;AACD,MAAMwtE,QAAQ,GAAG7pG,MAAM,CAAC6pG,QAAxB;;AACA,MAAIA,QAAQ,KAAKiK,yBAAjB,EAA4C;AACxC;AACA;AACAV,wBAAoB,GAAG,CAAC,EAAEd,KAAK,IAAIA,KAAK,CAAC1qO,OAAN,CAAcgkL,aAAzB,CAAxB;AACH;;AACD,MAAI0mD,KAAK,IAAKtyG,MAAM,CAACjiF,KAAP,GAAe;AAAE;AAA/B,IAAgD;AAC5Cq1L,wBAAoB,GAAG,KAAvB;AACAd,SAAK,GAAGA,KAAK,CAACpzN,MAAd;AACH;;AACD,MAAIo2N,UAAU,GAAG5rE,IAAjB;;AACA,SAAO4rE,UAAP,EAAmB;AACf,QAAIhD,KAAJ,EAAW;AACP,cAAQzI,QAAR;AACI,aAAK6J,iBAAL;AAAwB;AACpB,gBAAM3qG,QAAQ,GAAGwsG,YAAY,CAACD,UAAD,EAAahD,KAAb,EAAoBc,oBAApB,CAA7B;AACA,mBAAOrqG,QAAQ,CAAC6/B,QAAhB;AACH;;AACD,aAAK+qE,kBAAL;AACI,iBAAO,IAAIznN,UAAJ,CAAeq8M,aAAa,CAAC+M,UAAD,EAAahD,KAAK,CAAC/jI,SAAnB,CAAb,CAA2C88H,aAA1D,CAAP;;AACJ,aAAKuI,wBAAL;AACI,iBAAOrL,aAAa,CAAC+M,UAAD,EAAahD,KAAK,CAAC/jI,SAAnB,CAAb,CAA2C4+H,aAAlD;;AACJ,aAAK0G,mBAAL;AAA0B;AACtB,gBAAIvB,KAAK,CAAC1qO,OAAN,CAAciQ,QAAlB,EAA4B;AACxB,qBAAO0wN,aAAa,CAAC+M,UAAD,EAAahD,KAAK,CAAC/jI,SAAnB,CAAb,CAA2C12F,QAAlD;AACH;;AACD;AACH;;AACD,aAAKi8N,yBAAL;AAAgC;AAC5B,gBAAI0B,MAAM,GAAGD,YAAY,CAACD,UAAD,EAAahD,KAAb,EAAoBc,oBAApB,CAAzB;AACA,mBAAOT,uBAAuB,CAAC6C,MAAD,CAA9B;AACH;;AACD,aAAKzB,qBAAL;AACA,aAAKC,qBAAL;AACI,iBAAOb,gBAAgB,CAACmC,UAAD,EAAahD,KAAb,CAAvB;;AACJ;AACI,cAAMlkN,aAAW,GAAG,CAACglN,oBAAoB,GAAGd,KAAK,CAAC1qO,OAAN,CAAc6tO,YAAjB,GACrCnD,KAAK,CAAC1qO,OAAN,CAAc8tO,eADE,EACe7L,QADf,CAApB;;AAEA,cAAIz7M,aAAJ,EAAiB;AACb,gBAAI2mN,YAAY,GAAGvM,cAAc,CAAC8M,UAAD,EAAalnN,aAAW,CAACmgF,SAAzB,CAAjC;;AACA,gBAAI,CAACwmI,YAAL,EAAmB;AACfA,0BAAY,GAAG;AAAExqF,wBAAQ,EAAE+pF,yBAAyB,CAACgB,UAAD,EAAalnN,aAAb;AAArC,eAAf;AACAknN,wBAAU,CAACzpM,KAAX,CAAiBzd,aAAW,CAACmgF,SAA7B,IAA0CwmI,YAA1C;AACH;;AACD,mBAAOA,YAAY,CAACxqF,QAApB;AACH;;AAhCT;AAkCH;;AACD6oF,wBAAoB,GAAG/O,eAAe,CAACiR,UAAD,CAAtC;AACAhD,SAAK,GAAGnH,YAAY,CAACmK,UAAD,CAApB;AACAA,cAAU,GAAGA,UAAU,CAACp2N,MAAxB;;AACA,QAAI8gH,MAAM,CAACjiF,KAAP,GAAe;AAAE;AAArB,MAAiC;AAC7Bu3L,kBAAU,GAAG,IAAb;AACH;AACJ;;AACD,MAAM7sO,KAAK,GAAGgrK,SAAS,CAACu3D,IAAV,CAAexsD,QAAf,CAAwBpzK,GAAxB,CAA4B40H,MAAM,CAACtzH,KAAnC,EAA0C2oO,qCAA1C,CAAd;;AACA,MAAI5sO,KAAK,KAAK4sO,qCAAV,IACAh5E,aAAa,KAAKg5E,qCADtB,EAC6D;AACzD;AACA;AACA;AACA;AACA;AACA,WAAO5sO,KAAP;AACH;;AACD,SAAOgrK,SAAS,CAACu3D,IAAV,CAAe/7N,QAAf,CAAwBuvK,QAAxB,CAAiCpzK,GAAjC,CAAqC40H,MAAM,CAACtzH,KAA5C,EAAmD2vJ,aAAnD,CAAP;AACH;;AACD,SAASk5E,YAAT,CAAsB7rE,IAAtB,EAA4B4oE,KAA5B,EAAmCc,oBAAnC,EAAyD;AACrD,MAAIrqG,QAAJ;;AACA,MAAIqqG,oBAAJ,EAA0B;AACtBrqG,YAAQ,GAAGw/F,aAAa,CAAC7+D,IAAD,EAAO4oE,KAAK,CAAC/jI,SAAb,CAAb,CAAqCq9E,aAAhD;AACH,GAFD,MAGK;AACD7iD,YAAQ,GAAG2gC,IAAX;;AACA,WAAO3gC,QAAQ,CAAC7pH,MAAT,IAAmB,CAACmlN,eAAe,CAACt7F,QAAD,CAA1C,EAAsD;AAClDA,cAAQ,GAAGA,QAAQ,CAAC7pH,MAApB;AACH;AACJ;;AACD,SAAO6pH,QAAP;AACH;;AACD,SAASmsG,UAAT,CAAoBxrE,IAApB,EAA0BqrE,YAA1B,EAAwCz0H,GAAxC,EAA6C0rB,UAA7C,EAAyDvjI,KAAzD,EAAgEusO,OAAhE,EAAyE;AACrE,MAAI10H,GAAG,CAACviE,KAAJ,GAAY;AAAM;AAAtB,IAAuC;AACnC,UAAMgrF,QAAQ,GAAGw/F,aAAa,CAAC7+D,IAAD,EAAOppD,GAAG,CAACphG,MAAJ,CAAWqvF,SAAlB,CAAb,CAA0Cq9E,aAA3D;;AACA,UAAI7iD,QAAQ,CAACzoB,GAAT,CAAaviE,KAAb,GAAqB;AAAE;AAA3B,QAAyC;AACrCgrF,kBAAQ,CAACz8D,KAAT,IAAkB;AAAE;AAApB;AACH;AACJ;;AACD,MAAM4Q,OAAO,GAAGojC,GAAG,CAACtjC,QAAJ,CAAagvD,UAAb,CAAhB;AACA,MAAMtwD,QAAQ,GAAGwB,OAAO,CAACt2E,IAAzB,CARqE,CASrE;AACA;AACA;;AACAmuO,cAAY,CAACxqF,QAAb,CAAsB7uE,QAAtB,IAAkCjzE,KAAlC;;AACA,MAAI63G,GAAG,CAACviE,KAAJ,GAAY;AAAO;AAAvB,IAAwC;AACpCi3L,aAAO,GAAGA,OAAO,IAAI,EAArB;AACA,UAAMlhE,QAAQ,GAAGygC,YAAY,CAACw1B,MAAb,CAAoBrgE,IAAI,CAACugE,SAAL,CAAe3pH,GAAG,CAAC6nB,YAAJ,GAAmB6D,UAAlC,CAApB,CAAjB;AACA,UAAM9uD,QAAO,GAAGojC,GAAG,CAACtjC,QAAJ,CAAagvD,UAAb,CAAhB;AACAgpG,aAAO,CAAC93J,QAAO,CAAC+2J,eAAT,CAAP,GACI,IAAI9sE,YAAJ,CAAiB2M,QAAjB,EAA2BrrK,KAA3B,EAAkC,CAACihK,IAAI,CAACp9F,KAAL,GAAa;AAAE;AAAhB,YAAsC,CAAxE,CADJ;AAEH;;AACDo9F,MAAI,CAACugE,SAAL,CAAe3pH,GAAG,CAAC6nB,YAAJ,GAAmB6D,UAAlC,IAAgDvjI,KAAhD;AACA,SAAOusO,OAAP;AACH,C,CACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASW,+BAAT,CAAyCjsE,IAAzC,EAA+CwmE,UAA/C,EAA2D;AACvD,MAAI,EAAExmE,IAAI,CAACppD,GAAL,CAAS6mB,SAAT,GAAqB+oG,UAAvB,CAAJ,EAAwC;AACpC;AACH;;AACD,MAAMrkM,KAAK,GAAG69H,IAAI,CAACppD,GAAL,CAASz0E,KAAvB;AACA,MAAIs8L,SAAS,GAAG,CAAhB;;AACA,OAAK,IAAIhgO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0jC,KAAK,CAACnlC,MAA1B,EAAkCyB,CAAC,EAAnC,EAAuC;AACnC,QAAMi/H,OAAO,GAAGv7F,KAAK,CAAC1jC,CAAD,CAArB;AACA,QAAI+W,MAAM,GAAGkoH,OAAO,CAACloH,MAArB;;AACA,QAAI,CAACA,MAAD,IAAWkoH,OAAO,CAACrpF,KAAR,GAAgBmyL,UAA/B,EAA2C;AACvC;AACA0F,4BAAsB,CAAClsE,IAAD,EAAOvhK,CAAP,EAAUi/H,OAAO,CAACrpF,KAAR,GAAgBmyL,UAA1B,EAAsC/H,SAAS,EAA/C,CAAtB;AACH;;AACD,QAAI,CAAC/gG,OAAO,CAACypG,UAAR,GAAqBX,UAAtB,MAAsC,CAA1C,EAA6C;AACzC;AACA/nO,OAAC,IAAIi/H,OAAO,CAACoB,UAAb;AACH;;AACD,WAAOtpH,MAAM,IAAKA,MAAM,CAAC6+B,KAAP,GAAe;AAAE;AAA5B,OACH51C,CAAC,KAAK+W,MAAM,CAACqvF,SAAP,GAAmBrvF,MAAM,CAACspH,UADpC,EACgD;AAC5C;AACA,UAAItpH,MAAM,CAACi1N,gBAAP,GAA0BjE,UAA9B,EAA0C;AACtC/H,iBAAS,GAAG0N,8BAA8B,CAACnsE,IAAD,EAAOxqJ,MAAP,EAAegxN,UAAf,EAA2B/H,SAA3B,CAA1C;AACH;;AACDjpN,YAAM,GAAGA,MAAM,CAACA,MAAhB;AACH;AACJ;AACJ;;AACD,SAAS22N,8BAAT,CAAwCnsE,IAAxC,EAA8C4oE,KAA9C,EAAqDpC,UAArD,EAAiE/H,SAAjE,EAA4E;AACxE,OAAK,IAAIhgO,CAAC,GAAGmqO,KAAK,CAAC/jI,SAAN,GAAkB,CAA/B,EAAkCpmG,CAAC,IAAImqO,KAAK,CAAC/jI,SAAN,GAAkB+jI,KAAK,CAAC9pG,UAA/D,EAA2ErgI,CAAC,EAA5E,EAAgF;AAC5E,QAAMi/H,OAAO,GAAGsiC,IAAI,CAACppD,GAAL,CAASz0E,KAAT,CAAe1jC,CAAf,CAAhB;;AACA,QAAIi/H,OAAO,CAACrpF,KAAR,GAAgBmyL,UAApB,EAAgC;AAC5B0F,4BAAsB,CAAClsE,IAAD,EAAOvhK,CAAP,EAAUi/H,OAAO,CAACrpF,KAAR,GAAgBmyL,UAA1B,EAAsC/H,SAAS,EAA/C,CAAtB;AACH,KAJ2E,CAK5E;;;AACAhgO,KAAC,IAAIi/H,OAAO,CAACoB,UAAb;AACH;;AACD,SAAO2/F,SAAP;AACH;;AACD,SAASyN,sBAAT,CAAgClsE,IAAhC,EAAsC11J,KAAtC,EAA6Ck8N,UAA7C,EAAyD/H,SAAzD,EAAoE;AAChE,MAAM4M,YAAY,GAAGvM,cAAc,CAAC9+D,IAAD,EAAO11J,KAAP,CAAnC;;AACA,MAAI,CAAC+gO,YAAL,EAAmB;AACf;AACH;;AACD,MAAM5/M,QAAQ,GAAG4/M,YAAY,CAACxqF,QAA9B;;AACA,MAAI,CAACp1H,QAAL,EAAe;AACX;AACH;;AACDyzM,UAAQ,CAACC,cAAT,CAAwBn/D,IAAxB,EAA8B11J,KAA9B;;AACA,MAAIk8N,UAAU,GAAG;AAAQ;AAArB,KACA9H,2BAA2B,CAAC1+D,IAAD,EAAO;AAAI;AAAX,IAAoDy+D,SAApD,CAD/B,EAC+F;AAC3FhzM,YAAQ,CAAC06I,kBAAT;AACH;;AACD,MAAIqgE,UAAU,GAAG;AAAQ;AAAzB,IAAoD;AAChD/6M,cAAQ,CAAC26I,qBAAT;AACH;;AACD,MAAIogE,UAAU,GAAG;AAAQ;AAArB,KACA9H,2BAA2B,CAAC1+D,IAAD,EAAO;AAAI;AAAX,IAAiDy+D,SAAjD,CAD/B,EAC4F;AACxFhzM,YAAQ,CAACshI,eAAT;AACH;;AACD,MAAIy5E,UAAU,GAAG;AAAQ;AAAzB,IAAiD;AAC7C/6M,cAAQ,CAAC46I,kBAAT;AACH;;AACD,MAAImgE,UAAU,GAAG;AAAO;AAAxB,IAAyC;AACrC/6M,cAAQ,CAACssI,WAAT;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMq0E,0B;;;;;AACF;AACJ;AACA;AACI,sCAAY7mO,QAAZ,EAAsB;AAAA;;AAAA;;AAClB;AACA,YAAKA,QAAL,GAAgBA,QAAhB;AAFkB;AAGrB;;;;WACD,iCAAwBkyD,SAAxB,EAAmC;AAC/Bq7F,eAAS,IAAIgI,mBAAmB,CAACrjG,SAAD,CAAhC;AACA,UAAMmwI,YAAY,GAAG3wC,eAAe,CAACx/F,SAAD,CAApC;AACA,aAAO,IAAI40K,kBAAJ,CAAuBzkC,YAAvB,EAAqC,KAAKriM,QAA1C,CAAP;AACH;;;;EAZoCyd,wB;;AAczC,SAASspN,UAAT,CAAoBxqO,GAApB,EAAyB;AACrB,MAAM+pG,KAAK,GAAG,EAAd;;AACA,OAAK,IAAI0gI,WAAT,IAAwBzqO,GAAxB,EAA6B;AACzB,QAAIA,GAAG,CAAC2b,cAAJ,CAAmB8uN,WAAnB,CAAJ,EAAqC;AACjC,UAAMC,QAAQ,GAAG1qO,GAAG,CAACyqO,WAAD,CAApB;AACA1gI,WAAK,CAAChtG,IAAN,CAAW;AAAEmzE,gBAAQ,EAAEw6J,QAAZ;AAAsBviK,oBAAY,EAAEsiK;AAApC,OAAX;AACH;AACJ;;AACD,SAAO1gI,KAAP;AACH;;AACD,SAAS4gI,cAAT,CAAwBnxO,WAAxB,EAAqC;AACjC,MAAM4B,IAAI,GAAG5B,WAAW,CAAC6B,WAAZ,EAAb;AACA,SAAOD,IAAI,KAAK,KAAT,GAAiBwhK,aAAjB,GAAkCxhK,IAAI,KAAK,MAAT,GAAkByhK,iBAAlB,GAAsC,IAA/E;AACH;AACD;AACA;AACA;AACA;;;AACA,IAAM+tE,SAAS,GAAG,IAAIx8D,cAAJ,CAAmB,iBAAnB,EAAsC;AACpDl6H,YAAU,EAAE,MADwC;AAEpD3vC,SAAO,EAAE;AAAA,WAAM48K,gBAAN;AAAA;AAF2C,CAAtC,CAAlB;;AAIA,SAAS0pD,qBAAT,CAA+BC,gBAA/B,EAAiD5gE,cAAjD,EAAiE;AAC7D,SAAO;AACHtqK,OAAG,EAAE,aAACsB,KAAD,EAAQ2vJ,aAAR,EAAuBt+G,KAAvB,EAAiC;AAClC,UAAMt1C,KAAK,GAAG6tO,gBAAgB,CAAClrO,GAAjB,CAAqBsB,KAArB,EAA4B2oO,qCAA5B,EAAmEt3L,KAAnE,CAAd;;AACA,UAAIt1C,KAAK,KAAK4sO,qCAAV,IACAh5E,aAAa,KAAKg5E,qCADtB,EAC6D;AACzD;AACA;AACA;AACA;AACA;AACA,eAAO5sO,KAAP;AACH;;AACD,aAAOitK,cAAc,CAACtqK,GAAf,CAAmBsB,KAAnB,EAA0B2vJ,aAA1B,EAAyCt+G,KAAzC,CAAP;AACH;AAbE,GAAP;AAeH;AACD;AACA;AACA;;;IACMg4L,kB;;;;;AACF;AACJ;AACA;AACA;AACI,8BAAYzkC,YAAZ,EAA0BriM,QAA1B,EAAoC;AAAA;;AAAA;;AAChC;AACA,YAAKqiM,YAAL,GAAoBA,YAApB;AACA,YAAKriM,QAAL,GAAgBA,QAAhB;AACA,YAAKqmB,aAAL,GAAqBg8K,YAAY,CAACz9L,IAAlC;AACA,YAAKhL,QAAL,GAAgB8vL,wBAAwB,CAAC2Y,YAAY,CAACllM,SAAd,CAAxC;AACA,YAAKulB,kBAAL,GACI2/K,YAAY,CAAC3/K,kBAAb,GAAkC2/K,YAAY,CAAC3/K,kBAA/C,GAAoE,EADxE;AAEA,YAAK4kN,eAAL,GAAuB,CAAC,CAACtnO,QAAzB;AARgC;AASnC;;;;SACD,eAAa;AACT,aAAO+mO,UAAU,CAAC,KAAK1kC,YAAL,CAAkBl/K,MAAnB,CAAjB;AACH;;;SACD,eAAc;AACV,aAAO4jN,UAAU,CAAC,KAAK1kC,YAAL,CAAkBj/K,OAAnB,CAAjB;AACH;;;WACD,gBAAOmsJ,QAAP,EAAiBy9C,gBAAjB,EAAmCC,kBAAnC,EAAuDjtN,QAAvD,EAAiE;AAC7DA,cAAQ,GAAGA,QAAQ,IAAI,KAAKA,QAA5B;AACA,UAAMqnO,gBAAgB,GAAGrnO,QAAQ,GAAGonO,qBAAqB,CAAC73D,QAAD,EAAWvvK,QAAQ,CAACuvK,QAApB,CAAxB,GAAwDA,QAAzF;AACA,UAAMyiB,eAAe,GAAGq1C,gBAAgB,CAAClrO,GAAjB,CAAqBuxN,gBAArB,EAAuC3zD,mBAAvC,CAAxB;AACA,UAAM4e,SAAS,GAAG0uD,gBAAgB,CAAClrO,GAAjB,CAAqB8xN,SAArB,EAAgC,IAAhC,CAAlB;AACA,UAAM1rB,YAAY,GAAGvQ,eAAe,CAACh4B,cAAhB,CAA+B,IAA/B,EAAqC,KAAKqoC,YAA1C,CAArB,CAL6D,CAM7D;AACA;;AACA,UAAMtsM,WAAW,GAAG,KAAKssM,YAAL,CAAkBllM,SAAlB,CAA4B,CAA5B,EAA+B,CAA/B,KAAqC,KAAzD;AACA,UAAMqlM,SAAS,GAAGyqB,kBAAkB,GAChC34B,iBAAiB,CAACiO,YAAD,EAAe0qB,kBAAf,EAAmC,KAAK5qB,YAAL,CAAkBhgL,aAArD,CADe,GAEhCs+J,iBAAiB,CAACqR,eAAe,CAACh4B,cAAhB,CAA+B,IAA/B,EAAqC,KAAKqoC,YAA1C,CAAD,EAA0DtsM,WAA1D,EAAuEmxO,cAAc,CAACnxO,WAAD,CAArF,CAFrB;AAGA,UAAM0sM,SAAS,GAAG,KAAKJ,YAAL,CAAkBrxC,MAAlB,GAA2B;AAAG;AAAH,QAAiB;AAAI;AAAhD,QACd;AAAG;AAAH,QAAuB;AAAI;AAD/B;AAEA,UAAM5a,WAAW,GAAGssD,iBAAiB,EAArC,CAd6D,CAe7D;;AACA,UAAMC,SAAS,GAAG9O,WAAW,CAAC;AAAE;AAAH,QAAe,IAAf,EAAqB,IAArB,EAA2B,CAA3B,EAA8B,CAA9B,EAAiC,IAAjC,EAAuC,IAAvC,EAA6C,IAA7C,EAAmD,IAAnD,EAAyD,IAAzD,CAA7B;AACA,UAAMmP,SAAS,GAAGlR,WAAW,CAAC,IAAD,EAAO6Q,SAAP,EAAkBvsD,WAAlB,EAA+BqsD,SAA/B,EAA0C,IAA1C,EAAgD,IAAhD,EAAsDzQ,eAAtD,EAAuEuQ,YAAvE,EAAqF5pB,SAArF,EAAgG0uD,gBAAhG,CAA7B,CAjB6D,CAkB7D;AACA;AACA;AACA;AACA;;AACAxoE,eAAS,CAACmkC,SAAD,CAAT;AACA,UAAI9wI,SAAJ;AACA,UAAIq1K,YAAJ;;AACA,UAAI;AACA,YAAM5qD,aAAa,GAAGimB,uBAAuB,CAACJ,SAAD,EAAY,KAAKH,YAAjB,EAA+BW,SAA/B,EAA0ChR,eAA1C,EAA2DuQ,YAA3D,CAA7C;;AACA,YAAIC,SAAJ,EAAe;AACX,cAAIyqB,kBAAJ,EAAwB;AACpBhqD,2BAAe,CAACs/B,YAAD,EAAeC,SAAf,EAA0B,CAAC,YAAD,EAAejxK,OAAO,CAACnZ,IAAvB,CAA1B,CAAf;AACH,WAFD,MAGK;AACD;AACA;AACA;AAHC,wCAI0BwxK,kCAAkC,CAAC,KAAKyY,YAAL,CAAkBllM,SAAlB,CAA4B,CAA5B,CAAD,CAJ5D;AAAA,gBAIOtE,KAJP,yBAIOA,KAJP;AAAA,gBAIcuI,OAJd,yBAIcA,OAJd;;AAKD,gBAAIvI,KAAJ,EAAW;AACPoqK,6BAAe,CAACs/B,YAAD,EAAeC,SAAf,EAA0B3pM,KAA1B,CAAf;AACH;;AACD,gBAAIuI,OAAO,IAAIA,OAAO,CAAC3J,MAAR,GAAiB,CAAhC,EAAmC;AAC/ByvL,8BAAgB,CAACqb,YAAD,EAAeC,SAAf,EAA0BphM,OAAO,CAACnI,IAAR,CAAa,GAAb,CAA1B,CAAhB;AACH;AACJ;AACJ;;AACDsuO,oBAAY,GAAG/sE,QAAQ,CAACmoC,SAAD,EAAY7uC,aAAZ,CAAvB;;AACA,YAAIk5D,gBAAgB,KAAKl1N,SAAzB,EAAoC;AAChC,cAAM02B,UAAU,GAAG+4M,YAAY,CAAC/4M,UAAb,GAA0B,EAA7C;;AACA,eAAK,IAAIt1B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKwpB,kBAAL,CAAwBjrB,MAA5C,EAAoDyB,CAAC,EAArD,EAAyD;AACrD,gBAAMsuO,YAAY,GAAGxa,gBAAgB,CAAC9zN,CAAD,CAArC,CADqD,CAErD;AACA;AACA;AACA;AACA;;AACAs1B,sBAAU,CAACl1B,IAAX,CAAgBkuO,YAAY,IAAI,IAAhB,GAAuBhyN,KAAK,CAAC+c,IAAN,CAAWi1M,YAAX,CAAvB,GAAkD,IAAlE;AACH;AACJ,SA/BD,CAgCA;AACA;AACA;;;AACAt1K,iBAAS,GAAG2wI,mBAAmB,CAAClmB,aAAD,EAAgB,KAAK0lB,YAArB,EAAmCW,SAAnC,EAA8C5sD,WAA9C,EAA2D,CAAC6sD,qBAAD,CAA3D,CAA/B;AACA1Q,kBAAU,CAACoQ,SAAD,EAAYK,SAAZ,EAAuB,IAAvB,CAAV;AACH,OArCD,SAsCQ;AACJzjC,iBAAS;AACZ;;AACD,aAAO,IAAIkoE,cAAJ,CAAmB,KAAKphN,aAAxB,EAAuC6rC,SAAvC,EAAkDk7J,gBAAgB,CAACma,YAAD,EAAevkC,SAAf,CAAlE,EAA6FA,SAA7F,EAAwGukC,YAAxG,CAAP;AACH;;;;EAzF4B7pN,gB;;AA2FjC,IAAMgqN,wBAAwB,GAAG,IAAIb,0BAAJ,EAAjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASc,8BAAT,GAA0C;AACtC,SAAOD,wBAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMD,c;;;;;AACF,0BAAYphN,aAAZ,EAA2Bi1H,QAA3B,EAAqCl9F,QAArC,EAA+CwpL,UAA/C,EAA2Dn/D,MAA3D,EAAmE;AAAA;;AAAA;;AAC/D;AACA,YAAKrqH,QAAL,GAAgBA,QAAhB;AACA,YAAKwpL,UAAL,GAAkBA,UAAlB;AACA,YAAKn/D,MAAL,GAAcA,MAAd;AACA,YAAKntB,QAAL,GAAgBA,QAAhB;AACA,YAAK3yB,QAAL,GAAgB,QAAKu6G,iBAAL,GAAyB,IAAIrO,WAAJ,CAAgB+S,UAAhB,CAAzC;AACA,YAAKvhN,aAAL,GAAqBA,aAArB;AAP+D;AAQlE;;;;SACD,eAAe;AACX,aAAO,IAAI+gJ,YAAJ,CAAiB,KAAKqB,MAAtB,EAA8B,KAAKm/D,UAAnC,CAAP;AACH;;;WACD,mBAAU;AACN,WAAKj/G,QAAL,CAAci6D,OAAd;AACH;;;WACD,mBAAUvlL,QAAV,EAAoB;AAChB,WAAKsrH,QAAL,CAAc4pC,SAAd,CAAwBl1J,QAAxB;AACH;;;;EAlBwBsgB,Y;AAqB7B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqC,gBAAT,CAA0Bpb,IAA1B,EAAgCw8H,UAAhC,EAA4CooB,cAA5C,EAA4DE,cAA5D,EAA4E;AACxE,SAAO8D,aAAa,CAAC,YAAM;AACvB,QAAM34H,KAAK,GAAGjwB,IAAd;;AACA,QAAIw8H,UAAU,KAAK,IAAnB,EAAyB;AACrB,UAAIvsG,KAAK,CAAC3c,cAAN,CAAqB,YAArB,KAAsC2c,KAAK,CAACusG,UAAN,KAAqBtpI,SAA/D,EAA0E;AAAA;;AACtE,6BAAA+8B,KAAK,CAACusG,UAAN,EAAiB9nI,IAAjB,4JAAyB8nI,UAAzB;AACH,OAFD,MAGK;AACDvsG,aAAK,CAACusG,UAAN,GAAmBA,UAAnB;AACH;AACJ;;AACD,QAAIooB,cAAc,KAAK,IAAvB,EAA6B;AACzB;AACA;AACA;AACA30H,WAAK,CAAC20H,cAAN,GAAuBA,cAAvB;AACH;;AACD,QAAIE,cAAc,KAAK,IAAvB,EAA6B;AACzB;AACA;AACA;AACA;AACA,UAAI70H,KAAK,CAAC3c,cAAN,CAAqB,gBAArB,KAA0C2c,KAAK,CAAC60H,cAAN,KAAyB5xJ,SAAvE,EAAkF;AAC9E+8B,aAAK,CAAC60H,cAAN,GAAuBvrJ,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBy2B,KAAK,CAAC60H,cAAxB,CAAd,EAAuDA,cAAvD,CAAvB;AACH,OAFD,MAGK;AACD70H,aAAK,CAAC60H,cAAN,GAAuBA,cAAvB;AACH;AACJ;AACJ,GA5BmB,CAApB;AA6BH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMlkI,OAAO,GAAG,IAAI1qB,GAAJ,EAAhB;AACA;AACA;AACA;AACA;;AACA,SAAS+sO,qBAAT,CAA+Bt0N,EAA/B,EAAmCzS,OAAnC,EAA4C;AACxC,MAAMy8L,QAAQ,GAAG/3K,OAAO,CAACrpB,GAAR,CAAYoX,EAAZ,CAAjB;AACAu0N,yBAAuB,CAACv0N,EAAD,EAAKgqL,QAAQ,IAAIA,QAAQ,CAAC3iJ,UAA1B,EAAsC95C,OAAO,CAAC85C,UAA9C,CAAvB;AACAp1B,SAAO,CAACppB,GAAR,CAAYmX,EAAZ,EAAgBzS,OAAhB;AACH;;AACD,SAASgnO,uBAAT,CAAiCv0N,EAAjC,EAAqC3O,IAArC,EAA2CmjO,QAA3C,EAAqD;AACjD,MAAInjO,IAAI,IAAIA,IAAI,KAAKmjO,QAArB,EAA+B;AAC3B,UAAM,IAAI7xO,KAAJ,2CAA6Cqd,EAA7C,gBAAqDsE,SAAS,CAACjT,IAAD,CAA9D,iBAA2EiT,SAAS,CAACjT,IAAI,CAACjN,IAAN,CAApF,EAAN;AACH;AACJ;;AACD,SAASqwO,oBAAT,CAA8B5gN,YAA9B,EAA4C;AACxC,MAAM+zF,OAAO,GAAG,IAAI/oG,GAAJ,EAAhB;AACA61N,SAAO,CAAC7gN,YAAD,CAAP;;AACA,WAAS6gN,OAAT,CAAiB7gN,YAAjB,EAA+B;AAC3B;AACA;AACA,QAAMiqF,GAAG,GAAG4gD,cAAc,CAAC7qI,YAAD;AAAe;AAAoB,QAAnC,CAA1B;AACA,QAAM7T,EAAE,GAAG89F,GAAG,CAAC99F,EAAf;;AACA,QAAIA,EAAE,KAAK,IAAX,EAAiB;AACb,UAAMgqL,QAAQ,GAAG/3K,OAAO,CAACrpB,GAAR,CAAYoX,EAAZ,CAAjB;AACAu0N,6BAAuB,CAACv0N,EAAD,EAAKgqL,QAAL,EAAen2K,YAAf,CAAvB;AACA5B,aAAO,CAACppB,GAAR,CAAYmX,EAAZ,EAAgB6T,YAAhB;AACH;;AACD,QAAM2zB,OAAO,GAAGkjI,aAAa,CAAC5sE,GAAG,CAACt2D,OAAL,CAA7B;;AAV2B,+JAWXA,OAXW;AAAA;;AAAA;AAW3B,6DAAyB;AAAA,YAAd7hD,CAAc;;AACrB,YAAI,CAACiiH,OAAO,CAACh1F,GAAR,CAAYjtB,CAAZ,CAAL,EAAqB;AACjBiiH,iBAAO,CAAC9oG,GAAR,CAAYnZ,CAAZ;AACA+uO,iBAAO,CAAC/uO,CAAD,CAAP;AACH;AACJ;AAhB0B;AAAA;AAAA;AAAA;AAAA;AAiB9B;AACJ;;AACD,SAASgvO,mBAAT,GAA+B;AAC3B1iN,SAAO,CAAC6uF,KAAR;AACH;;AACD,SAAS8zH,yBAAT,CAAmC50N,EAAnC,EAAuC;AACnC,SAAOiS,OAAO,CAACrpB,GAAR,CAAYoX,EAAZ,KAAmBs+I,sBAAsB,CAACt+I,EAAD,CAAhD;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM60N,a;;;;;AACF,yBAAYhhN,YAAZ,EAA0B8+C,OAA1B,EAAmC;AAAA;;AAAA;;AAC/B;AACA,YAAKA,OAAL,GAAeA,OAAf,CAF+B,CAG/B;;AACA,YAAKo+J,oBAAL,GAA4B,EAA5B;AACA,YAAK/0D,QAAL;AACA,YAAK84D,UAAL,GAAkB,EAAlB,CAN+B,CAO/B;AACA;AACA;AACA;AACA;AACA;;AACA,YAAKX,wBAAL,GAAgC,IAAIb,0BAAJ,gJAAhC;AACA,QAAMj1G,WAAW,GAAGqgC,cAAc,CAAC7qI,YAAD,CAAlC;AACAmmI,aAAS,IACLhC,aAAa,CAAC35B,WAAD,sBAA2B/5G,SAAS,CAACuP,YAAD,CAApC,2CADjB;AAEA,QAAMkhN,aAAa,GAAG51E,gBAAgB,CAACtrI,YAAD,CAAtC;AACAkhN,iBAAa,IAAIppB,WAAW,CAACopB,aAAD,CAA5B;AACA,YAAKhE,oBAAL,GAA4BrmD,aAAa,CAACrsD,WAAW,CAAC/2E,SAAb,CAAzC;AACA,YAAK0tL,WAAL,GAAmB9sC,sCAAsC,CAACr0K,YAAD,EAAe8+C,OAAf,EAAwB,CAC7E;AAAE+mD,aAAO,EAAE/vG,WAAX;AAAwBsJ,cAAQ,EAAE;AAAlC,KAD6E,EACnC;AACtCymG,aAAO,EAAExvG,wBAD6B;AAEtC+I,cAAQ,EAAE,QAAKkhN;AAFuB,KADmC,CAAxB,EAKtD7vN,SAAS,CAACuP,YAAD,CAL6C,CAAzD,CApB+B,CA0B/B;AACA;AACA;;AACA,YAAKmhN,WAAL,CAAiB7sC,wBAAjB;;AACA,YAAKpgD,QAAL,GAAgB,QAAKn/I,GAAL,CAASirB,YAAT,CAAhB;AA9B+B;AA+BlC;;;;WACD,aAAI3pB,KAAJ,EAA2F;AAAA,UAAhF2vJ,aAAgF,uEAAhEhvI,QAAQ,CAACywJ,kBAAuD;AAAA,UAAnC21D,WAAmC,uEAArB13E,WAAW,CAAC3tJ,OAAS;;AACvF,UAAI1B,KAAK,KAAK2gB,QAAV,IAAsB3gB,KAAK,KAAKyf,WAAhC,IAA+Czf,KAAK,KAAKq9L,UAA7D,EAAyE;AACrE,eAAO,IAAP;AACH;;AACD,aAAO,KAAKytC,WAAL,CAAiBpsO,GAAjB,CAAqBsB,KAArB,EAA4B2vJ,aAA5B,EAA2Co3E,WAA3C,CAAP;AACH;;;WACD,mBAAU;AACNj3E,eAAS,IAAIhC,aAAa,CAAC,KAAK88E,UAAN,EAAkB,4BAAlB,CAA1B;AACA,UAAM94D,QAAQ,GAAG,KAAKg5D,WAAtB;AACA,OAACh5D,QAAQ,CAACkgB,SAAV,IAAuBlgB,QAAQ,CAACqT,OAAT,EAAvB;AACA,WAAKylD,UAAL,CAAgB3wO,OAAhB,CAAwB,UAAA+Q,EAAE;AAAA,eAAIA,EAAE,EAAN;AAAA,OAA1B;AACA,WAAK4/N,UAAL,GAAkB,IAAlB;AACH;;;WACD,mBAAUhrO,QAAV,EAAoB;AAChBkwJ,eAAS,IAAIhC,aAAa,CAAC,KAAK88E,UAAN,EAAkB,4BAAlB,CAA1B;AACA,WAAKA,UAAL,CAAgB/uO,IAAhB,CAAqB+D,QAArB;AACH;;;;EAjDuB6f,W;;IAmDtBsrN,iB;;;;;AACF,6BAAY5tL,UAAZ,EAAwB;AAAA;;AAAA;;AACpB;AACA,YAAKA,UAAL,GAAkBA,UAAlB;AACA,QAAMg3E,WAAW,GAAGqgC,cAAc,CAACr3G,UAAD,CAAlC;;AACA,QAAIg3E,WAAW,KAAK,IAApB,EAA0B;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAo2G,0BAAoB,CAACptL,UAAD,CAApB;AACH;;AA7BmB;AA8BvB;;;;WACD,gBAAO28K,cAAP,EAAuB;AACnB,aAAO,IAAI6Q,aAAJ,CAAkB,KAAKxtL,UAAvB,EAAmC28K,cAAnC,CAAP;AACH;;;;EAlC2B35M,e;AAqChC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6qN,eAAT,CAAyBpiI,UAAzB,EAAqCqiI,MAArC,EAA6CC,OAA7C,EAAsD;AAClD,MAAMzvG,YAAY,GAAGikC,cAAc,KAAK92D,UAAxC;AACA,MAAM2uD,KAAK,GAAGoH,QAAQ,EAAtB;AACA,SAAOpH,KAAK,CAAC97B,YAAD,CAAL,KAAwB2wD,SAAxB,GACHkc,aAAa,CAAC/wC,KAAD,EAAQ97B,YAAR,EAAsByvG,OAAO,GAAGD,MAAM,CAAC/pL,IAAP,CAAYgqL,OAAZ,CAAH,GAA0BD,MAAM,EAA7D,CADV,GAEH1iC,UAAU,CAAChxC,KAAD,EAAQ97B,YAAR,CAFd;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0vG,eAAT,CAAyBviI,UAAzB,EAAqCqiI,MAArC,EAA6Cj0N,GAA7C,EAAkDk0N,OAAlD,EAA2D;AACvD,SAAOE,qBAAqB,CAACzsE,QAAQ,EAAT,EAAae,cAAc,EAA3B,EAA+B92D,UAA/B,EAA2CqiI,MAA3C,EAAmDj0N,GAAnD,EAAwDk0N,OAAxD,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,eAAT,CAAyBziI,UAAzB,EAAqCqiI,MAArC,EAA6CtiC,IAA7C,EAAmDC,IAAnD,EAAyDsiC,OAAzD,EAAkE;AAC9D,SAAOI,qBAAqB,CAAC3sE,QAAQ,EAAT,EAAae,cAAc,EAA3B,EAA+B92D,UAA/B,EAA2CqiI,MAA3C,EAAmDtiC,IAAnD,EAAyDC,IAAzD,EAA+DsiC,OAA/D,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASK,eAAT,CAAyB3iI,UAAzB,EAAqCqiI,MAArC,EAA6CtiC,IAA7C,EAAmDC,IAAnD,EAAyDG,IAAzD,EAA+DmiC,OAA/D,EAAwE;AACpE,SAAOM,qBAAqB,CAAC7sE,QAAQ,EAAT,EAAae,cAAc,EAA3B,EAA+B92D,UAA/B,EAA2CqiI,MAA3C,EAAmDtiC,IAAnD,EAAyDC,IAAzD,EAA+DG,IAA/D,EAAqEmiC,OAArE,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASO,eAAT,CAAyB7iI,UAAzB,EAAqCqiI,MAArC,EAA6CtiC,IAA7C,EAAmDC,IAAnD,EAAyDG,IAAzD,EAA+DE,IAA/D,EAAqEiiC,OAArE,EAA8E;AAC1E,SAAOQ,qBAAqB,CAAC/sE,QAAQ,EAAT,EAAae,cAAc,EAA3B,EAA+B92D,UAA/B,EAA2CqiI,MAA3C,EAAmDtiC,IAAnD,EAAyDC,IAAzD,EAA+DG,IAA/D,EAAqEE,IAArE,EAA2EiiC,OAA3E,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,eAAT,CAAyB/iI,UAAzB,EAAqCqiI,MAArC,EAA6CtiC,IAA7C,EAAmDC,IAAnD,EAAyDG,IAAzD,EAA+DE,IAA/D,EAAqE2iC,IAArE,EAA2EV,OAA3E,EAAoF;AAChF,MAAMzvG,YAAY,GAAGikC,cAAc,KAAK92D,UAAxC;AACA,MAAM2uD,KAAK,GAAGoH,QAAQ,EAAtB;AACA,MAAMkqC,SAAS,GAAGG,eAAe,CAACzxC,KAAD,EAAQ97B,YAAR,EAAsBktE,IAAtB,EAA4BC,IAA5B,EAAkCG,IAAlC,EAAwCE,IAAxC,CAAjC;AACA,SAAOT,cAAc,CAACjxC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,EAA0BmwG,IAA1B,CAAd,IAAiD/iC,SAAjD,GACHP,aAAa,CAAC/wC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,EAA0ByvG,OAAO,GAAGD,MAAM,CAAC/pL,IAAP,CAAYgqL,OAAZ,EAAqBviC,IAArB,EAA2BC,IAA3B,EAAiCG,IAAjC,EAAuCE,IAAvC,EAA6C2iC,IAA7C,CAAH,GAC1CX,MAAM,CAACtiC,IAAD,EAAOC,IAAP,EAAaG,IAAb,EAAmBE,IAAnB,EAAyB2iC,IAAzB,CADG,CADV,GAGHrjC,UAAU,CAAChxC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,CAHd;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASowG,eAAT,CAAyBjjI,UAAzB,EAAqCqiI,MAArC,EAA6CtiC,IAA7C,EAAmDC,IAAnD,EAAyDG,IAAzD,EAA+DE,IAA/D,EAAqE2iC,IAArE,EAA2EE,IAA3E,EAAiFZ,OAAjF,EAA0F;AACtF,MAAMzvG,YAAY,GAAGikC,cAAc,KAAK92D,UAAxC;AACA,MAAM2uD,KAAK,GAAGoH,QAAQ,EAAtB;AACA,MAAMkqC,SAAS,GAAGG,eAAe,CAACzxC,KAAD,EAAQ97B,YAAR,EAAsBktE,IAAtB,EAA4BC,IAA5B,EAAkCG,IAAlC,EAAwCE,IAAxC,CAAjC;AACA,SAAOP,eAAe,CAACnxC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,EAA0BmwG,IAA1B,EAAgCE,IAAhC,CAAf,IAAwDjjC,SAAxD,GACHP,aAAa,CAAC/wC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,EAA0ByvG,OAAO,GAAGD,MAAM,CAAC/pL,IAAP,CAAYgqL,OAAZ,EAAqBviC,IAArB,EAA2BC,IAA3B,EAAiCG,IAAjC,EAAuCE,IAAvC,EAA6C2iC,IAA7C,EAAmDE,IAAnD,CAAH,GAC1Cb,MAAM,CAACtiC,IAAD,EAAOC,IAAP,EAAaG,IAAb,EAAmBE,IAAnB,EAAyB2iC,IAAzB,EAA+BE,IAA/B,CADG,CADV,GAGHvjC,UAAU,CAAChxC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,CAHd;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASswG,eAAT,CAAyBnjI,UAAzB,EAAqCqiI,MAArC,EAA6CtiC,IAA7C,EAAmDC,IAAnD,EAAyDG,IAAzD,EAA+DE,IAA/D,EAAqE2iC,IAArE,EAA2EE,IAA3E,EAAiFE,IAAjF,EAAuFd,OAAvF,EAAgG;AAC5F,MAAMzvG,YAAY,GAAGikC,cAAc,KAAK92D,UAAxC;AACA,MAAM2uD,KAAK,GAAGoH,QAAQ,EAAtB;AACA,MAAIkqC,SAAS,GAAGG,eAAe,CAACzxC,KAAD,EAAQ97B,YAAR,EAAsBktE,IAAtB,EAA4BC,IAA5B,EAAkCG,IAAlC,EAAwCE,IAAxC,CAA/B;AACA,SAAOH,eAAe,CAACvxC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,EAA0BmwG,IAA1B,EAAgCE,IAAhC,EAAsCE,IAAtC,CAAf,IAA8DnjC,SAA9D,GACHP,aAAa,CAAC/wC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,EAA0ByvG,OAAO,GAAGD,MAAM,CAAC/pL,IAAP,CAAYgqL,OAAZ,EAAqBviC,IAArB,EAA2BC,IAA3B,EAAiCG,IAAjC,EAAuCE,IAAvC,EAA6C2iC,IAA7C,EAAmDE,IAAnD,EAAyDE,IAAzD,CAAH,GAC1Cf,MAAM,CAACtiC,IAAD,EAAOC,IAAP,EAAaG,IAAb,EAAmBE,IAAnB,EAAyB2iC,IAAzB,EAA+BE,IAA/B,EAAqCE,IAArC,CADG,CADV,GAGHzjC,UAAU,CAAChxC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,CAHd;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwwG,eAAT,CAAyBrjI,UAAzB,EAAqCqiI,MAArC,EAA6CtiC,IAA7C,EAAmDC,IAAnD,EAAyDG,IAAzD,EAA+DE,IAA/D,EAAqE2iC,IAArE,EAA2EE,IAA3E,EAAiFE,IAAjF,EAAuFE,IAAvF,EAA6FhB,OAA7F,EAAsG;AAClG,MAAMzvG,YAAY,GAAGikC,cAAc,KAAK92D,UAAxC;AACA,MAAM2uD,KAAK,GAAGoH,QAAQ,EAAtB;AACA,MAAMkqC,SAAS,GAAGG,eAAe,CAACzxC,KAAD,EAAQ97B,YAAR,EAAsBktE,IAAtB,EAA4BC,IAA5B,EAAkCG,IAAlC,EAAwCE,IAAxC,CAAjC;AACA,SAAOD,eAAe,CAACzxC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,EAA0BmwG,IAA1B,EAAgCE,IAAhC,EAAsCE,IAAtC,EAA4CE,IAA5C,CAAf,IAAoErjC,SAApE,GACHP,aAAa,CAAC/wC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,EAA0ByvG,OAAO,GAAGD,MAAM,CAAC/pL,IAAP,CAAYgqL,OAAZ,EAAqBviC,IAArB,EAA2BC,IAA3B,EAAiCG,IAAjC,EAAuCE,IAAvC,EAA6C2iC,IAA7C,EAAmDE,IAAnD,EAAyDE,IAAzD,EAA+DE,IAA/D,CAAH,GAC1CjB,MAAM,CAACtiC,IAAD,EAAOC,IAAP,EAAaG,IAAb,EAAmBE,IAAnB,EAAyB2iC,IAAzB,EAA+BE,IAA/B,EAAqCE,IAArC,EAA2CE,IAA3C,CADG,CADV,GAGH3jC,UAAU,CAAChxC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,CAHd;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0wG,eAAT,CAAyBvjI,UAAzB,EAAqCqiI,MAArC,EAA6CmB,IAA7C,EAAmDlB,OAAnD,EAA4D;AACxD,SAAOmB,qBAAqB,CAAC1tE,QAAQ,EAAT,EAAae,cAAc,EAA3B,EAA+B92D,UAA/B,EAA2CqiI,MAA3C,EAAmDmB,IAAnD,EAAyDlB,OAAzD,CAA5B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoB,0BAAT,CAAoC/0E,KAApC,EAA2Cg1E,gBAA3C,EAA6D;AACzDz8E,WAAS,IAAI5B,kBAAkB,CAACqJ,KAAD,EAAQg1E,gBAAR,CAA/B;AACA,MAAMC,eAAe,GAAGj1E,KAAK,CAACg1E,gBAAD,CAA7B;AACA,SAAOC,eAAe,KAAKpgD,SAApB,GAAgC/xL,SAAhC,GAA4CmyO,eAAnD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASpB,qBAAT,CAA+B7zE,KAA/B,EAAsCk1E,WAAtC,EAAmD7jI,UAAnD,EAA+DqiI,MAA/D,EAAuEj0N,GAAvE,EAA4Ek0N,OAA5E,EAAqF;AACjF,MAAMzvG,YAAY,GAAGgxG,WAAW,GAAG7jI,UAAnC;AACA,SAAO4/F,cAAc,CAACjxC,KAAD,EAAQ97B,YAAR,EAAsBzkH,GAAtB,CAAd,GACHsxL,aAAa,CAAC/wC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,EAA0ByvG,OAAO,GAAGD,MAAM,CAAC/pL,IAAP,CAAYgqL,OAAZ,EAAqBl0N,GAArB,CAAH,GAA+Bi0N,MAAM,CAACj0N,GAAD,CAAtE,CADV,GAEHs1N,0BAA0B,CAAC/0E,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,CAF9B;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6vG,qBAAT,CAA+B/zE,KAA/B,EAAsCk1E,WAAtC,EAAmD7jI,UAAnD,EAA+DqiI,MAA/D,EAAuEtiC,IAAvE,EAA6EC,IAA7E,EAAmFsiC,OAAnF,EAA4F;AACxF,MAAMzvG,YAAY,GAAGgxG,WAAW,GAAG7jI,UAAnC;AACA,SAAO8/F,eAAe,CAACnxC,KAAD,EAAQ97B,YAAR,EAAsBktE,IAAtB,EAA4BC,IAA5B,CAAf,GACHN,aAAa,CAAC/wC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,EAA0ByvG,OAAO,GAAGD,MAAM,CAAC/pL,IAAP,CAAYgqL,OAAZ,EAAqBviC,IAArB,EAA2BC,IAA3B,CAAH,GAAsCqiC,MAAM,CAACtiC,IAAD,EAAOC,IAAP,CAA7E,CADV,GAEH0jC,0BAA0B,CAAC/0E,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,CAF9B;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+vG,qBAAT,CAA+Bj0E,KAA/B,EAAsCk1E,WAAtC,EAAmD7jI,UAAnD,EAA+DqiI,MAA/D,EAAuEtiC,IAAvE,EAA6EC,IAA7E,EAAmFG,IAAnF,EAAyFmiC,OAAzF,EAAkG;AAC9F,MAAMzvG,YAAY,GAAGgxG,WAAW,GAAG7jI,UAAnC;AACA,SAAOkgG,eAAe,CAACvxC,KAAD,EAAQ97B,YAAR,EAAsBktE,IAAtB,EAA4BC,IAA5B,EAAkCG,IAAlC,CAAf,GACHT,aAAa,CAAC/wC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,EAA0ByvG,OAAO,GAAGD,MAAM,CAAC/pL,IAAP,CAAYgqL,OAAZ,EAAqBviC,IAArB,EAA2BC,IAA3B,EAAiCG,IAAjC,CAAH,GAA4CkiC,MAAM,CAACtiC,IAAD,EAAOC,IAAP,EAAaG,IAAb,CAAnF,CADV,GAEHujC,0BAA0B,CAAC/0E,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,CAF9B;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASiwG,qBAAT,CAA+Bn0E,KAA/B,EAAsCk1E,WAAtC,EAAmD7jI,UAAnD,EAA+DqiI,MAA/D,EAAuEtiC,IAAvE,EAA6EC,IAA7E,EAAmFG,IAAnF,EAAyFE,IAAzF,EAA+FiiC,OAA/F,EAAwG;AACpG,MAAMzvG,YAAY,GAAGgxG,WAAW,GAAG7jI,UAAnC;AACA,SAAOogG,eAAe,CAACzxC,KAAD,EAAQ97B,YAAR,EAAsBktE,IAAtB,EAA4BC,IAA5B,EAAkCG,IAAlC,EAAwCE,IAAxC,CAAf,GACHX,aAAa,CAAC/wC,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,EAA0ByvG,OAAO,GAAGD,MAAM,CAAC/pL,IAAP,CAAYgqL,OAAZ,EAAqBviC,IAArB,EAA2BC,IAA3B,EAAiCG,IAAjC,EAAuCE,IAAvC,CAAH,GAAkDgiC,MAAM,CAACtiC,IAAD,EAAOC,IAAP,EAAaG,IAAb,EAAmBE,IAAnB,CAAzF,CADV,GAEHqjC,0BAA0B,CAAC/0E,KAAD,EAAQ97B,YAAY,GAAG,CAAvB,CAF9B;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4wG,qBAAT,CAA+B90E,KAA/B,EAAsCk1E,WAAtC,EAAmD7jI,UAAnD,EAA+DqiI,MAA/D,EAAuEmB,IAAvE,EAA6ElB,OAA7E,EAAsF;AAClF,MAAIzvG,YAAY,GAAGgxG,WAAW,GAAG7jI,UAAjC;AACA,MAAIigG,SAAS,GAAG,KAAhB;;AACA,OAAK,IAAIptM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2wO,IAAI,CAACpyO,MAAzB,EAAiCyB,CAAC,EAAlC,EAAsC;AAClC+sM,kBAAc,CAACjxC,KAAD,EAAQ97B,YAAY,EAApB,EAAwB2wG,IAAI,CAAC3wO,CAAD,CAA5B,CAAd,KAAmDotM,SAAS,GAAG,IAA/D;AACH;;AACD,SAAOA,SAAS,GAAGP,aAAa,CAAC/wC,KAAD,EAAQ97B,YAAR,EAAsBwvG,MAAM,CAACj1K,KAAP,CAAak1K,OAAb,EAAsBkB,IAAtB,CAAtB,CAAhB,GACZE,0BAA0B,CAAC/0E,KAAD,EAAQ97B,YAAR,CAD9B;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASixG,MAAT,CAAgBplO,KAAhB,EAAuBm4C,QAAvB,EAAiC;AAC7B,MAAMixG,KAAK,GAAGkO,QAAQ,EAAtB;AACA,MAAI78I,OAAJ;AACA,MAAM2pL,aAAa,GAAGpkM,KAAK,GAAG+uJ,aAA9B;;AACA,MAAI3F,KAAK,CAACF,eAAV,EAA2B;AACvBzuI,WAAO,GAAG4qN,YAAY,CAACltL,QAAD,EAAWixG,KAAK,CAAC89B,YAAjB,CAAtB;AACA99B,SAAK,CAACjwJ,IAAN,CAAWirM,aAAX,IAA4B3pL,OAA5B;;AACA,QAAIA,OAAO,CAAC+yI,SAAZ,EAAuB;AACnB,OAACpE,KAAK,CAACgT,YAAN,KAAuBhT,KAAK,CAACgT,YAAN,GAAqB,EAA5C,CAAD,EAAkD7nK,IAAlD,CAAuD6vM,aAAvD,EAAsE3pL,OAAO,CAAC+yI,SAA9E;AACH;AACJ,GAND,MAOK;AACD/yI,WAAO,GAAG2uI,KAAK,CAACjwJ,IAAN,CAAWirM,aAAX,CAAV;AACH;;AACD,MAAMkhC,WAAW,GAAG7qN,OAAO,CAAC1e,OAAR,KAAoB0e,OAAO,CAAC1e,OAAR,GAAkBk2J,aAAa,CAACx3I,OAAO,CAAC5a,IAAT,EAAe,IAAf,CAAnD,CAApB;AACA,MAAM8hK,4BAA4B,GAAGzZ,uBAAuB,CAACmjD,iBAAD,CAA5D;;AACA,MAAI;AACA;AACA;AACA,QAAMhoC,4BAA4B,GAAGxD,uBAAuB,CAAC,KAAD,CAA5D;AACA,QAAM0lE,YAAY,GAAGD,WAAW,EAAhC;AACAzlE,2BAAuB,CAACwD,4BAAD,CAAvB;AACAlP,SAAK,CAAC/K,KAAD,EAAQiO,QAAQ,EAAhB,EAAoB+sC,aAApB,EAAmCmhC,YAAnC,CAAL;AACA,WAAOA,YAAP;AACH,GARD,SASQ;AACJ;AACA;AACAr9E,2BAAuB,CAACyZ,4BAAD,CAAvB;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS0jE,YAAT,CAAsBzyO,IAAtB,EAA4Bm5E,QAA5B,EAAsC;AAClC,MAAIA,QAAJ,EAAc;AACV,SAAK,IAAI53E,CAAC,GAAG43E,QAAQ,CAACr5E,MAAT,GAAkB,CAA/B,EAAkCyB,CAAC,IAAI,CAAvC,EAA0CA,CAAC,EAA3C,EAA+C;AAC3C,UAAMsmB,QAAO,GAAGsxD,QAAQ,CAAC53E,CAAD,CAAxB;;AACA,UAAIvB,IAAI,KAAK6nB,QAAO,CAAC7nB,IAArB,EAA2B;AACvB,eAAO6nB,QAAP;AACH;AACJ;AACJ;;AACD,QAAM,IAAI23I,YAAJ,CAAiB;AAAM;AAAvB,wBAA0Dx/J,IAA1D,2BAAN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4yO,WAAT,CAAqBxlO,KAArB,EAA4BshG,UAA5B,EAAwC6gG,EAAxC,EAA4C;AACxC,MAAMiC,aAAa,GAAGpkM,KAAK,GAAG+uJ,aAA9B;AACA,MAAMkB,KAAK,GAAGoH,QAAQ,EAAtB;AACA,MAAMkuE,YAAY,GAAGvnH,IAAI,CAACiyC,KAAD,EAAQm0C,aAAR,CAAzB;AACA,SAAOqhC,aAAa,CAACx1E,KAAD,EAAQy1E,MAAM,CAACz1E,KAAD,EAAQm0C,aAAR,CAAN,GACxB0/B,qBAAqB,CAAC7zE,KAAD,EAAQmI,cAAc,EAAtB,EAA0B92D,UAA1B,EAAsCikI,YAAY,CAAC70J,SAAnD,EAA8DyxH,EAA9D,EAAkEojC,YAAlE,CADG,GAExBA,YAAY,CAAC70J,SAAb,CAAuByxH,EAAvB,CAFgB,CAApB;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwjC,WAAT,CAAqB3lO,KAArB,EAA4BshG,UAA5B,EAAwC6gG,EAAxC,EAA4CE,EAA5C,EAAgD;AAC5C,MAAM+B,aAAa,GAAGpkM,KAAK,GAAG+uJ,aAA9B;AACA,MAAMkB,KAAK,GAAGoH,QAAQ,EAAtB;AACA,MAAMkuE,YAAY,GAAGvnH,IAAI,CAACiyC,KAAD,EAAQm0C,aAAR,CAAzB;AACA,SAAOqhC,aAAa,CAACx1E,KAAD,EAAQy1E,MAAM,CAACz1E,KAAD,EAAQm0C,aAAR,CAAN,GACxB4/B,qBAAqB,CAAC/zE,KAAD,EAAQmI,cAAc,EAAtB,EAA0B92D,UAA1B,EAAsCikI,YAAY,CAAC70J,SAAnD,EAA8DyxH,EAA9D,EAAkEE,EAAlE,EAAsEkjC,YAAtE,CADG,GAExBA,YAAY,CAAC70J,SAAb,CAAuByxH,EAAvB,EAA2BE,EAA3B,CAFgB,CAApB;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASujC,WAAT,CAAqB5lO,KAArB,EAA4BshG,UAA5B,EAAwC6gG,EAAxC,EAA4CE,EAA5C,EAAgDE,EAAhD,EAAoD;AAChD,MAAM6B,aAAa,GAAGpkM,KAAK,GAAG+uJ,aAA9B;AACA,MAAMkB,KAAK,GAAGoH,QAAQ,EAAtB;AACA,MAAMkuE,YAAY,GAAGvnH,IAAI,CAACiyC,KAAD,EAAQm0C,aAAR,CAAzB;AACA,SAAOqhC,aAAa,CAACx1E,KAAD,EAAQy1E,MAAM,CAACz1E,KAAD,EAAQm0C,aAAR,CAAN,GAA+B8/B,qBAAqB,CAACj0E,KAAD,EAAQmI,cAAc,EAAtB,EAA0B92D,UAA1B,EAAsCikI,YAAY,CAAC70J,SAAnD,EAA8DyxH,EAA9D,EAAkEE,EAAlE,EAAsEE,EAAtE,EAA0EgjC,YAA1E,CAApD,GACxBA,YAAY,CAAC70J,SAAb,CAAuByxH,EAAvB,EAA2BE,EAA3B,EAA+BE,EAA/B,CADgB,CAApB;AAEH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsjC,WAAT,CAAqB7lO,KAArB,EAA4BshG,UAA5B,EAAwC6gG,EAAxC,EAA4CE,EAA5C,EAAgDE,EAAhD,EAAoDE,EAApD,EAAwD;AACpD,MAAM2B,aAAa,GAAGpkM,KAAK,GAAG+uJ,aAA9B;AACA,MAAMkB,KAAK,GAAGoH,QAAQ,EAAtB;AACA,MAAMkuE,YAAY,GAAGvnH,IAAI,CAACiyC,KAAD,EAAQm0C,aAAR,CAAzB;AACA,SAAOqhC,aAAa,CAACx1E,KAAD,EAAQy1E,MAAM,CAACz1E,KAAD,EAAQm0C,aAAR,CAAN,GAA+BggC,qBAAqB,CAACn0E,KAAD,EAAQmI,cAAc,EAAtB,EAA0B92D,UAA1B,EAAsCikI,YAAY,CAAC70J,SAAnD,EAA8DyxH,EAA9D,EAAkEE,EAAlE,EAAsEE,EAAtE,EAA0EE,EAA1E,EAA8E8iC,YAA9E,CAApD,GACxBA,YAAY,CAAC70J,SAAb,CAAuByxH,EAAvB,EAA2BE,EAA3B,EAA+BE,EAA/B,EAAmCE,EAAnC,CADgB,CAApB;AAEH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqjC,WAAT,CAAqB9lO,KAArB,EAA4BshG,UAA5B,EAAwCtlG,MAAxC,EAAgD;AAC5C,MAAMooM,aAAa,GAAGpkM,KAAK,GAAG+uJ,aAA9B;AACA,MAAMkB,KAAK,GAAGoH,QAAQ,EAAtB;AACA,MAAMkuE,YAAY,GAAGvnH,IAAI,CAACiyC,KAAD,EAAQm0C,aAAR,CAAzB;AACA,SAAOqhC,aAAa,CAACx1E,KAAD,EAAQy1E,MAAM,CAACz1E,KAAD,EAAQm0C,aAAR,CAAN,GACxB2gC,qBAAqB,CAAC90E,KAAD,EAAQmI,cAAc,EAAtB,EAA0B92D,UAA1B,EAAsCikI,YAAY,CAAC70J,SAAnD,EAA8D10E,MAA9D,EAAsEupO,YAAtE,CADG,GAExBA,YAAY,CAAC70J,SAAb,CAAuBhiB,KAAvB,CAA6B62K,YAA7B,EAA2CvpO,MAA3C,CAFgB,CAApB;AAGH;;AACD,SAAS0pO,MAAT,CAAgBz1E,KAAhB,EAAuBjwJ,KAAvB,EAA8B;AAC1B,SAAOiwJ,KAAK,CAACpC,KAAD,CAAL,CAAa10J,IAAb,CAAkB6G,KAAlB,EAAyBzF,IAAhC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkrO,aAAT,CAAuBx1E,KAAvB,EAA8Bh6I,QAA9B,EAAwC;AACpC,MAAIsqL,YAAY,CAACC,SAAb,CAAuBvqL,QAAvB,CAAJ,EAAsC;AAClCA,YAAQ,GAAGsqL,YAAY,CAACw1B,MAAb,CAAoB9/M,QAApB,CAAX,CADkC,CAElC;AACA;;AACA,QAAM8vN,sBAAsB,GAAGztE,eAAe,EAA9C;AACArI,SAAK,CAAC81E,sBAAD,CAAL,GAAgCjhD,SAAhC;AACH;;AACD,SAAO7uK,QAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM+vN,a;;;;;AACF,2BAA6B;AAAA;;AAAA,QAAjBC,OAAiB,uEAAP,KAAO;;AAAA;;AACzB;AACA,YAAKC,SAAL,GAAiBD,OAAjB;AAFyB;AAG5B;;;;WACD,cAAKxxO,KAAL,EAAY;AACR,4SAAWA,KAAX;AACH;;;WACD,mBAAU0xO,cAAV,EAA0Bp6N,KAA1B,EAAiCq6N,QAAjC,EAA2C;AACvC,UAAIC,WAAJ;;AACA,UAAIC,OAAO,GAAG,iBAACr4H,GAAD;AAAA,eAAS,IAAT;AAAA,OAAd;;AACA,UAAIs4H,UAAU,GAAG;AAAA,eAAM,IAAN;AAAA,OAAjB;;AACA,UAAIJ,cAAc,IAAI,OAAOA,cAAP,KAA0B,QAAhD,EAA0D;AACtDE,mBAAW,GAAG,KAAKH,SAAL,GAAiB,UAACzxO,KAAD,EAAW;AACtCkvJ,oBAAU,CAAC;AAAA,mBAAMwiF,cAAc,CAAChpK,IAAf,CAAoB1oE,KAApB,CAAN;AAAA,WAAD,CAAV;AACH,SAFa,GAEV,UAACA,KAAD,EAAW;AACX0xO,wBAAc,CAAChpK,IAAf,CAAoB1oE,KAApB;AACH,SAJD;;AAKA,YAAI0xO,cAAc,CAACp6N,KAAnB,EAA0B;AACtBu6N,iBAAO,GAAG,KAAKJ,SAAL,GAAiB,UAACj4H,GAAD,EAAS;AAChC01C,sBAAU,CAAC;AAAA,qBAAMwiF,cAAc,CAACp6N,KAAf,CAAqBkiG,GAArB,CAAN;AAAA,aAAD,CAAV;AACH,WAFS,GAEN,UAACA,GAAD,EAAS;AACTk4H,0BAAc,CAACp6N,KAAf,CAAqBkiG,GAArB;AACH,WAJD;AAKH;;AACD,YAAIk4H,cAAc,CAACC,QAAnB,EAA6B;AACzBG,oBAAU,GAAG,KAAKL,SAAL,GAAiB,YAAM;AAChCviF,sBAAU,CAAC;AAAA,qBAAMwiF,cAAc,CAACC,QAAf,EAAN;AAAA,aAAD,CAAV;AACH,WAFY,GAET,YAAM;AACND,0BAAc,CAACC,QAAf;AACH,WAJD;AAKH;AACJ,OApBD,MAqBK;AACDC,mBAAW,GAAG,KAAKH,SAAL,GAAiB,UAACzxO,KAAD,EAAW;AACtCkvJ,oBAAU,CAAC;AAAA,mBAAMwiF,cAAc,CAAC1xO,KAAD,CAApB;AAAA,WAAD,CAAV;AACH,SAFa,GAEV,UAACA,KAAD,EAAW;AACX0xO,wBAAc,CAAC1xO,KAAD,CAAd;AACH,SAJD;;AAKA,YAAIsX,KAAJ,EAAW;AACPu6N,iBAAO,GAAG,KAAKJ,SAAL,GAAiB,UAACj4H,GAAD,EAAS;AAChC01C,sBAAU,CAAC;AAAA,qBAAM53I,KAAK,CAACkiG,GAAD,CAAX;AAAA,aAAD,CAAV;AACH,WAFS,GAEN,UAACA,GAAD,EAAS;AACTliG,iBAAK,CAACkiG,GAAD,CAAL;AACH,WAJD;AAKH;;AACD,YAAIm4H,QAAJ,EAAc;AACVG,oBAAU,GAAG,KAAKL,SAAL,GAAiB,YAAM;AAChCviF,sBAAU,CAAC;AAAA,qBAAMyiF,QAAQ,EAAd;AAAA,aAAD,CAAV;AACH,WAFY,GAET,YAAM;AACNA,oBAAQ;AACX,WAJD;AAKH;AACJ;;AACD,UAAMI,IAAI,GAAG,2SAAgBH,WAAnB,EAAgCC,OAAhC,EAAyCC,UAAzC,CAAV;;AACA,UAAIJ,cAAc,YAAYM,kDAA9B,EAA4C;AACxCN,sBAAc,CAAC74N,GAAf,CAAmBk5N,IAAnB;AACH;;AACD,aAAOA,IAAP;AACH;;;;EA3DuBE,6C;AA6D5B;AACA;AACA;;;AACA,IAAMlkF,YAAY,GAAGwjF,aAArB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASW,cAAT,GAA0B;AACtB,SAAO,KAAKC,QAAL,CAAchnC,iBAAiB,EAA/B,GAAP;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;;;IACMtnL,S;AACF;AACJ;AACA;AACA;AACA;AACA;AACI,uBAA8C;AAAA,QAAlCuuN,wBAAkC,uEAAP,KAAO;;AAAA;;AAC1C,SAAKA,wBAAL,GAAgCA,wBAAhC;AACA,SAAKr8C,KAAL,GAAa,IAAb;AACA,SAAKo8C,QAAL,GAAgB,EAAhB;AACA,SAAKE,gBAAL,GAAwB,KAAxB;AACA,SAAKC,QAAL,GAAgB,IAAhB;AACA,SAAKr0O,MAAL,GAAc,CAAd;AACA,SAAK4G,KAAL,GAAavG,SAAb;AACA,SAAKyrF,IAAL,GAAYzrF,SAAZ,CAR0C,CAS1C;AACA;AACA;AACA;;AACA,QAAMwkD,MAAM,GAAGqoJ,iBAAiB,EAAhC;AACA,QAAMh0B,KAAK,GAAGtzJ,SAAS,CAACrK,SAAxB;AACA,QAAI,CAAC29J,KAAK,CAACr0H,MAAD,CAAV,EACIq0H,KAAK,CAACr0H,MAAD,CAAL,GAAgBovL,cAAhB;AACP;AACD;AACJ;AACA;;;;;SACI,eAAc;AACV,aAAO,KAAKI,QAAL,KAAkB,KAAKA,QAAL,GAAgB,IAAIvkF,YAAJ,EAAlC,CAAP;AACH;AACD;AACJ;AACA;;;;WACI,aAAIxiJ,KAAJ,EAAW;AACP,aAAO,KAAK4mO,QAAL,CAAc5mO,KAAd,CAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,aAAI0D,EAAJ,EAAQ;AACJ,aAAO,KAAKkjO,QAAL,CAAcpvO,GAAd,CAAkBkM,EAAlB,CAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,gBAAOA,EAAP,EAAW;AACP,aAAO,KAAKkjO,QAAL,CAAc1vN,MAAd,CAAqBxT,EAArB,CAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,cAAKA,EAAL,EAAS;AACL,aAAO,KAAKkjO,QAAL,CAAchiM,IAAd,CAAmBlhC,EAAnB,CAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,gBAAOA,EAAP,EAAWguD,IAAX,EAAiB;AACb,aAAO,KAAKk1K,QAAL,CAAc7kN,MAAd,CAAqBre,EAArB,EAAyBguD,IAAzB,CAAP;AACH;AACD;AACJ;AACA;AACA;;;;WACI,iBAAQhuD,EAAR,EAAY;AACR,WAAKkjO,QAAL,CAAcj0O,OAAd,CAAsB+Q,EAAtB;AACH;AACD;AACJ;AACA;AACA;;;;WACI,cAAKA,EAAL,EAAS;AACL,aAAO,KAAKkjO,QAAL,CAAch1N,IAAd,CAAmBlO,EAAnB,CAAP;AACH;AACD;AACJ;AACA;;;;WACI,mBAAU;AACN,aAAO,KAAKkjO,QAAL,CAAcx1O,KAAd,EAAP;AACH;;;WACD,oBAAW;AACP,aAAO,KAAKw1O,QAAL,CAAcjiO,QAAd,EAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,eAAMqiO,WAAN,EAAmBpgE,gBAAnB,EAAqC;AACjC;AACA;AACA,UAAM9yJ,IAAI,GAAG,IAAb;AACAA,UAAI,CAAC02K,KAAL,GAAa,KAAb;AACA,UAAMy8C,aAAa,GAAGlpN,OAAO,CAACipN,WAAD,CAA7B;;AACA,UAAI,KAAKF,gBAAL,GAAwB,CAACngE,WAAW,CAAC7yJ,IAAI,CAAC8yN,QAAN,EAAgBK,aAAhB,EAA+BrgE,gBAA/B,CAAxC,EAA0F;AACtF9yJ,YAAI,CAAC8yN,QAAL,GAAgBK,aAAhB;AACAnzN,YAAI,CAACphB,MAAL,GAAcu0O,aAAa,CAACv0O,MAA5B;AACAohB,YAAI,CAAC0qE,IAAL,GAAYyoJ,aAAa,CAAC,KAAKv0O,MAAL,GAAc,CAAf,CAAzB;AACAohB,YAAI,CAACxa,KAAL,GAAa2tO,aAAa,CAAC,CAAD,CAA1B;AACH;AACJ;AACD;AACJ;AACA;;;;WACI,2BAAkB;AACd,UAAI,KAAKF,QAAL,KAAkB,KAAKD,gBAAL,IAAyB,CAAC,KAAKD,wBAAjD,CAAJ,EACI,KAAKE,QAAL,CAAcviF,IAAd,CAAmB,IAAnB;AACP;AACD;;;;WACA,oBAAW;AACP,WAAKgmC,KAAL,GAAa,IAAb;AACH;AACD;;;;WACA,mBAAU;AACN,WAAKw2C,OAAL,CAAaoF,QAAb;AACA,WAAKpF,OAAL,CAAa3iD,WAAb;AACH;;;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM6oD,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,yBAAyB,GAAGF,+BAA+B,GAAGzpE,+BAAlC,GAAoEG,+BAApE,GAAsGupE,+BAAxI;;IACME,O;AACF,mBAAYC,SAAZ,EAAuB;AAAA;;AACnB,SAAKA,SAAL,GAAiBA,SAAjB;AACA,SAAKhoN,OAAL,GAAe,IAAf;AACH;;;;WACD,iBAAQ;AACJ,aAAO,IAAI+nN,OAAJ,CAAY,KAAKC,SAAjB,CAAP;AACH;;;WACD,oBAAW;AACP,WAAKA,SAAL,CAAeC,QAAf;AACH;;;;;;IAECC,S;AACF,uBAA0B;AAAA,QAAd7oN,OAAc,uEAAJ,EAAI;;AAAA;;AACtB,SAAKA,OAAL,GAAeA,OAAf;AACH;;;;WACD,4BAAmByqI,KAAnB,EAA0B;AACtB,UAAMq+E,QAAQ,GAAGr+E,KAAK,CAACzqI,OAAvB;;AACA,UAAI8oN,QAAQ,KAAK,IAAjB,EAAuB;AACnB,YAAMC,oBAAoB,GAAGt+E,KAAK,CAACrjF,cAAN,KAAyB,IAAzB,GAAgCqjF,KAAK,CAACrjF,cAAN,CAAqB,CAArB,CAAhC,GAA0D0hK,QAAQ,CAAC/0O,MAAhG;AACA,YAAMi1O,YAAY,GAAG,EAArB,CAFmB,CAGnB;AACA;AACA;AACA;;AACA,aAAK,IAAIxzO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGuzO,oBAApB,EAA0CvzO,CAAC,EAA3C,EAA+C;AAC3C,cAAMyzO,MAAM,GAAGH,QAAQ,CAACI,UAAT,CAAoB1zO,CAApB,CAAf;AACA,cAAM2zO,YAAY,GAAG,KAAKnpN,OAAL,CAAaipN,MAAM,CAACG,sBAApB,CAArB;AACAJ,sBAAY,CAACpzO,IAAb,CAAkBuzO,YAAY,CAACh6N,KAAb,EAAlB;AACH;;AACD,eAAO,IAAI05N,SAAJ,CAAcG,YAAd,CAAP;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,oBAAWv+E,KAAX,EAAkB;AACd,WAAK4+E,uBAAL,CAA6B5+E,KAA7B;AACH;;;WACD,oBAAWA,KAAX,EAAkB;AACd,WAAK4+E,uBAAL,CAA6B5+E,KAA7B;AACH;;;WACD,iCAAwBA,KAAxB,EAA+B;AAC3B,WAAK,IAAIj1J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKwqB,OAAL,CAAajsB,MAAjC,EAAyCyB,CAAC,EAA1C,EAA8C;AAC1C,YAAI8zO,SAAS,CAAC7+E,KAAD,EAAQj1J,CAAR,CAAT,CAAoBmrB,OAApB,KAAgC,IAApC,EAA0C;AACtC,eAAKX,OAAL,CAAaxqB,CAAb,EAAgBozO,QAAhB;AACH;AACJ;AACJ;;;;;;IAECW,e,GACF,yBAAYlhM,SAAZ,EAAuB+C,KAAvB,EAA2C;AAAA,MAAbu5B,IAAa,uEAAN,IAAM;;AAAA;;AACvC,OAAKt8B,SAAL,GAAiBA,SAAjB;AACA,OAAK+C,KAAL,GAAaA,KAAb;AACA,OAAKu5B,IAAL,GAAYA,IAAZ;AACH,C;;IAEC6kK,S;AACF,uBAA0B;AAAA,QAAdxpN,OAAc,uEAAJ,EAAI;;AAAA;;AACtB,SAAKA,OAAL,GAAeA,OAAf;AACH;;;;WACD,sBAAayqI,KAAb,EAAoBD,KAApB,EAA2B;AACvBX,eAAS,IACLyI,qBAAqB,CAAC7H,KAAD,EAAQ,gEAAR,CADzB;;AAEA,WAAK,IAAIj1J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKwqB,OAAL,CAAajsB,MAAjC,EAAyCyB,CAAC,EAA1C,EAA8C;AAC1C,aAAKwqB,OAAL,CAAaxqB,CAAb,EAAgBovB,YAAhB,CAA6B6lI,KAA7B,EAAoCD,KAApC;AACH;AACJ;;;WACD,oBAAWA,KAAX,EAAkB;AACd,WAAK,IAAIh1J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKwqB,OAAL,CAAajsB,MAAjC,EAAyCyB,CAAC,EAA1C,EAA8C;AAC1C,aAAKwqB,OAAL,CAAaxqB,CAAb,EAAgBqvB,UAAhB,CAA2B2lI,KAA3B;AACH;AACJ;;;WACD,uBAAcA,KAAd,EAAqB;AACjB,UAAIi/E,qBAAqB,GAAG,IAA5B;;AACA,WAAK,IAAIj0O,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKzB,MAAzB,EAAiCyB,CAAC,EAAlC,EAAsC;AAClC,YAAMk0O,eAAe,GAAGD,qBAAqB,KAAK,IAA1B,GAAiCA,qBAAqB,CAAC11O,MAAvD,GAAgE,CAAxF;AACA,YAAM41O,WAAW,GAAG,KAAKT,UAAL,CAAgB1zO,CAAhB,EAAmB0/L,aAAnB,CAAiC1qC,KAAjC,EAAwCk/E,eAAxC,CAApB;;AACA,YAAIC,WAAJ,EAAiB;AACbA,qBAAW,CAACP,sBAAZ,GAAqC5zO,CAArC;;AACA,cAAIi0O,qBAAqB,KAAK,IAA9B,EAAoC;AAChCA,iCAAqB,CAAC7zO,IAAtB,CAA2B+zO,WAA3B;AACH,WAFD,MAGK;AACDF,iCAAqB,GAAG,CAACE,WAAD,CAAxB;AACH;AACJ;AACJ;;AACD,aAAOF,qBAAqB,KAAK,IAA1B,GAAiC,IAAID,SAAJ,CAAcC,qBAAd,CAAjC,GAAwE,IAA/E;AACH;;;WACD,kBAASh/E,KAAT,EAAgBD,KAAhB,EAAuB;AACnBX,eAAS,IACLyI,qBAAqB,CAAC7H,KAAD,EAAQ,gEAAR,CADzB;;AAEA,WAAK,IAAIj1J,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKwqB,OAAL,CAAajsB,MAAjC,EAAyCyB,CAAC,EAA1C,EAA8C;AAC1C,aAAKwqB,OAAL,CAAaxqB,CAAb,EAAgB0P,QAAhB,CAAyBulJ,KAAzB,EAAgCD,KAAhC;AACH;AACJ;;;WACD,oBAAWnpJ,KAAX,EAAkB;AACdwoJ,eAAS,IAAI5B,kBAAkB,CAAC,KAAKjoI,OAAN,EAAe3e,KAAf,CAA/B;AACA,aAAO,KAAK2e,OAAL,CAAa3e,KAAb,CAAP;AACH;;;SACD,eAAa;AACT,aAAO,KAAK2e,OAAL,CAAajsB,MAApB;AACH;;;WACD,eAAM61O,MAAN,EAAc;AACV,WAAK5pN,OAAL,CAAapqB,IAAb,CAAkBg0O,MAAlB;AACH;;;;;;IAECC,O;AACF,mBAAYvwL,QAAZ,EAAsC;AAAA,QAAhBsiD,SAAgB,uEAAJ,CAAC,CAAG;;AAAA;;AAClC,SAAKtiD,QAAL,GAAgBA,QAAhB;AACA,SAAK34B,OAAL,GAAe,IAAf;AACA,SAAKyoN,sBAAL,GAA8B,CAAC,CAA/B;AACA,SAAKU,iBAAL,GAAyB,KAAzB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKC,kBAAL,GAA0B,IAA1B;AACA,SAAKC,qBAAL,GAA6BpuI,SAA7B;AACH;;;;WACD,sBAAa6uD,KAAb,EAAoBD,KAApB,EAA2B;AACvB,UAAI,KAAKy/E,gBAAL,CAAsBz/E,KAAtB,CAAJ,EAAkC;AAC9B,aAAK0/E,UAAL,CAAgBz/E,KAAhB,EAAuBD,KAAvB;AACH;AACJ;;;WACD,oBAAWA,KAAX,EAAkB;AACd,UAAI,KAAKw/E,qBAAL,KAA+Bx/E,KAAK,CAACnpJ,KAAzC,EAAgD;AAC5C,aAAK0oO,kBAAL,GAA0B,KAA1B;AACH;AACJ;;;WACD,kBAASt/E,KAAT,EAAgBD,KAAhB,EAAuB;AACnB,WAAK5lI,YAAL,CAAkB6lI,KAAlB,EAAyBD,KAAzB;AACH;;;WACD,uBAAcA,KAAd,EAAqBk/E,eAArB,EAAsC;AAClC,UAAI,KAAKO,gBAAL,CAAsBz/E,KAAtB,CAAJ,EAAkC;AAC9B,aAAKs/E,iBAAL,GAAyB,IAAzB,CAD8B,CAE9B;AACA;;AACA,aAAKK,QAAL,CAAc,CAAC3/E,KAAK,CAACnpJ,KAArB,EAA4BqoO,eAA5B;AACA,eAAO,IAAIG,OAAJ,CAAY,KAAKvwL,QAAjB,CAAP;AACH;;AACD,aAAO,IAAP;AACH;;;WACD,0BAAiBkxG,KAAjB,EAAwB;AACpB,UAAI,KAAKu/E,kBAAL,IACA,CAAC,KAAKzwL,QAAL,CAAclO,KAAd,GAAsB;AAAE;AAAzB,YAAgD;AAAE;AADtD,QACyE;AACrE,cAAMg/L,kBAAkB,GAAG,KAAKJ,qBAAhC;AACA,cAAIz9N,MAAM,GAAGi+I,KAAK,CAACj+I,MAAnB,CAFqE,CAGrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,iBAAOA,MAAM,KAAK,IAAX,IAAoBA,MAAM,CAACrL,IAAP,GAAc;AAAE;AAApC,aACHqL,MAAM,CAAClL,KAAP,KAAiB+oO,kBADrB,EACyC;AACrC79N,kBAAM,GAAGA,MAAM,CAACA,MAAhB;AACH;;AACD,iBAAO69N,kBAAkB,MAAM79N,MAAM,KAAK,IAAX,GAAkBA,MAAM,CAAClL,KAAzB,GAAiC,CAAC,CAAxC,CAAzB;AACH;;AACD,aAAO,KAAK0oO,kBAAZ;AACH;;;WACD,oBAAWt/E,KAAX,EAAkBD,KAAlB,EAAyB;AACrB,UAAMniH,SAAS,GAAG,KAAKiR,QAAL,CAAcjR,SAAhC;;AACA,UAAIv2B,KAAK,CAACC,OAAN,CAAcs2B,SAAd,CAAJ,EAA8B;AAC1B,aAAK,IAAI7yC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG6yC,SAAS,CAACt0C,MAA9B,EAAsCyB,CAAC,EAAvC,EAA2C;AACvC,cAAMvB,IAAI,GAAGo0C,SAAS,CAAC7yC,CAAD,CAAtB;AACA,eAAK60O,wBAAL,CAA8B5/E,KAA9B,EAAqCD,KAArC,EAA4C8/E,wBAAwB,CAAC9/E,KAAD,EAAQv2J,IAAR,CAApE,EAFuC,CAGvC;;AACA,eAAKo2O,wBAAL,CAA8B5/E,KAA9B,EAAqCD,KAArC,EAA4CuZ,yBAAyB,CAACvZ,KAAD,EAAQC,KAAR,EAAex2J,IAAf,EAAqB,KAArB,EAA4B,KAA5B,CAArE;AACH;AACJ,OAPD,MAQK;AACD,YAAIo0C,SAAS,KAAKzuB,WAAlB,EAA+B;AAC3B,cAAI4wI,KAAK,CAACtpJ,IAAN,GAAa;AAAE;AAAnB,YAAoC;AAChC,mBAAKmpO,wBAAL,CAA8B5/E,KAA9B,EAAqCD,KAArC,EAA4C,CAAC,CAA7C;AACH;AACJ,SAJD,MAKK;AACD,eAAK6/E,wBAAL,CAA8B5/E,KAA9B,EAAqCD,KAArC,EAA4CuZ,yBAAyB,CAACvZ,KAAD,EAAQC,KAAR,EAAepiH,SAAf,EAA0B,KAA1B,EAAiC,KAAjC,CAArE;AACH;AACJ;AACJ;;;WACD,kCAAyBoiH,KAAzB,EAAgCD,KAAhC,EAAuC+/E,YAAvC,EAAqD;AACjD,UAAIA,YAAY,KAAK,IAArB,EAA2B;AACvB,YAAM5lK,IAAI,GAAG,KAAKrrB,QAAL,CAAcqrB,IAA3B;;AACA,YAAIA,IAAI,KAAK,IAAb,EAAmB;AACf,cAAIA,IAAI,KAAKprD,UAAT,IAAuBorD,IAAI,KAAKlrD,gBAAhC,IACAkrD,IAAI,KAAK/qD,WAAT,IAAyB4wI,KAAK,CAACtpJ,IAAN,GAAa;AAAE;AAD5C,YAC8D;AAC1D,iBAAKipO,QAAL,CAAc3/E,KAAK,CAACnpJ,KAApB,EAA2B,CAAC,CAA5B;AACH,WAHD,MAIK;AACD,gBAAMmpO,sBAAsB,GAAGzmE,yBAAyB,CAACvZ,KAAD,EAAQC,KAAR,EAAe9lF,IAAf,EAAqB,KAArB,EAA4B,KAA5B,CAAxD;;AACA,gBAAI6lK,sBAAsB,KAAK,IAA/B,EAAqC;AACjC,mBAAKL,QAAL,CAAc3/E,KAAK,CAACnpJ,KAApB,EAA2BmpO,sBAA3B;AACH;AACJ;AACJ,SAXD,MAYK;AACD,eAAKL,QAAL,CAAc3/E,KAAK,CAACnpJ,KAApB,EAA2BkpO,YAA3B;AACH;AACJ;AACJ;;;WACD,kBAASr8B,QAAT,EAAmBu8B,QAAnB,EAA6B;AACzB,UAAI,KAAK9pN,OAAL,KAAiB,IAArB,EAA2B;AACvB,aAAKA,OAAL,GAAe,CAACutL,QAAD,EAAWu8B,QAAX,CAAf;AACH,OAFD,MAGK;AACD,aAAK9pN,OAAL,CAAa/qB,IAAb,CAAkBs4M,QAAlB,EAA4Bu8B,QAA5B;AACH;AACJ;;;;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASH,wBAAT,CAAkC9/E,KAAlC,EAAyCt0J,QAAzC,EAAmD;AAC/C,MAAM0jL,UAAU,GAAGpvB,KAAK,CAACovB,UAAzB;;AACA,MAAIA,UAAU,KAAK,IAAnB,EAAyB;AACrB,SAAK,IAAIpkL,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGokL,UAAU,CAAC7lL,MAA/B,EAAuCyB,CAAC,IAAI,CAA5C,EAA+C;AAC3C,UAAIokL,UAAU,CAACpkL,CAAD,CAAV,KAAkBU,QAAtB,EAAgC;AAC5B,eAAO0jL,UAAU,CAACpkL,CAAC,GAAG,CAAL,CAAjB;AACH;AACJ;AACJ;;AACD,SAAO,IAAP;AACH;;AACD,SAASk1O,uBAAT,CAAiClgF,KAAjC,EAAwCwR,WAAxC,EAAqD;AACjD,MAAIxR,KAAK,CAACtpJ,IAAN,IAAc;AAAE;AAAF,IAAmB;AAAE;AAAnC,GAAJ,EAAgE;AAC5D,WAAOwoN,gBAAgB,CAACl/D,KAAD,EAAQwR,WAAR,CAAvB;AACH,GAFD,MAGK,IAAIxR,KAAK,CAACtpJ,IAAN,GAAa;AAAE;AAAnB,IAAoC;AACrC,aAAOyxN,iBAAiB,CAACnoE,KAAD,EAAQwR,WAAR,CAAxB;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAAS2uE,mBAAT,CAA6Br5E,KAA7B,EAAoC9G,KAApC,EAA2CogF,WAA3C,EAAwDjmK,IAAxD,EAA8D;AAC1D,MAAIimK,WAAW,KAAK,CAAC,CAArB,EAAwB;AACpB;AACA,WAAOF,uBAAuB,CAAClgF,KAAD,EAAQ8G,KAAR,CAA9B;AACH,GAHD,MAIK,IAAIs5E,WAAW,KAAK,CAAC,CAArB,EAAwB;AACzB;AACA,WAAOC,kBAAkB,CAACv5E,KAAD,EAAQ9G,KAAR,EAAe7lF,IAAf,CAAzB;AACH,GAHI,MAIA;AACD;AACA,WAAOq/F,iBAAiB,CAAC1S,KAAD,EAAQA,KAAK,CAACpC,KAAD,CAAb,EAAsB07E,WAAtB,EAAmCpgF,KAAnC,CAAxB;AACH;AACJ;;AACD,SAASqgF,kBAAT,CAA4Bv5E,KAA5B,EAAmC9G,KAAnC,EAA0C7lF,IAA1C,EAAgD;AAC5C,MAAIA,IAAI,KAAKprD,UAAb,EAAyB;AACrB,WAAOmwM,gBAAgB,CAACl/D,KAAD,EAAQ8G,KAAR,CAAvB;AACH,GAFD,MAGK,IAAI3sF,IAAI,KAAK/qD,WAAb,EAA0B;AAC3B,WAAO+4M,iBAAiB,CAACnoE,KAAD,EAAQ8G,KAAR,CAAxB;AACH,GAFI,MAGA,IAAI3sF,IAAI,KAAKlrD,gBAAb,EAA+B;AAChCowI,aAAS,IAAIuV,eAAe,CAAC5U,KAAD,EAAQ;AAAE;AAAF,MAAmB;AAAG;AAA9B,KAA5B;AACA,WAAOyoE,kBAAkB,CAACzoE,KAAD,EAAQ8G,KAAR,CAAzB;AACH,GAHI,MAIA;AACDzH,aAAS,IACLhD,UAAU,sGAA+F1yI,SAAS,CAACwwD,IAAD,CAAxG,OADd;AAEH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASmmK,sBAAT,CAAgCrgF,KAAhC,EAAuC6G,KAAvC,EAA8C23E,MAA9C,EAAsD30G,UAAtD,EAAkE;AAC9D,MAAMy2G,MAAM,GAAGz5E,KAAK,CAACnB,OAAD,CAAL,CAAenwI,OAAf,CAAuBs0G,UAAvB,CAAf;;AACA,MAAIy2G,MAAM,CAACpqN,OAAP,KAAmB,IAAvB,EAA6B;AACzB,QAAM+wK,SAAS,GAAGjnC,KAAK,CAACjwJ,IAAxB;AACA,QAAMwwO,aAAa,GAAG/B,MAAM,CAACtoN,OAA7B;AACA,QAAMhrB,MAAM,GAAG,EAAf;;AACA,SAAK,IAAIH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGw1O,aAAa,CAACj3O,MAAlC,EAA0CyB,CAAC,IAAI,CAA/C,EAAkD;AAC9C,UAAMy1O,cAAc,GAAGD,aAAa,CAACx1O,CAAD,CAApC;;AACA,UAAIy1O,cAAc,GAAG,CAArB,EAAwB;AACpB;AACA;AACA;AACAt1O,cAAM,CAACC,IAAP,CAAY,IAAZ;AACH,OALD,MAMK;AACDi0J,iBAAS,IAAI5B,kBAAkB,CAACypC,SAAD,EAAYu5C,cAAZ,CAA/B;AACA,YAAMzgF,KAAK,GAAGknC,SAAS,CAACu5C,cAAD,CAAvB;AACAt1O,cAAM,CAACC,IAAP,CAAY+0O,mBAAmB,CAACr5E,KAAD,EAAQ9G,KAAR,EAAewgF,aAAa,CAACx1O,CAAC,GAAG,CAAL,CAA5B,EAAqCyzO,MAAM,CAAC3vL,QAAP,CAAgBqrB,IAArD,CAA/B;AACH;AACJ;;AACDomK,UAAM,CAACpqN,OAAP,GAAiBhrB,MAAjB;AACH;;AACD,SAAOo1O,MAAM,CAACpqN,OAAd;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASuqN,mBAAT,CAA6BzgF,KAA7B,EAAoC6G,KAApC,EAA2Ch9B,UAA3C,EAAuD3+H,MAAvD,EAA+D;AAC3D,MAAMszO,MAAM,GAAGx+E,KAAK,CAACzqI,OAAN,CAAckpN,UAAd,CAAyB50G,UAAzB,CAAf;AACA,MAAM02G,aAAa,GAAG/B,MAAM,CAACtoN,OAA7B;;AACA,MAAIqqN,aAAa,KAAK,IAAtB,EAA4B;AACxB,QAAMG,YAAY,GAAGL,sBAAsB,CAACrgF,KAAD,EAAQ6G,KAAR,EAAe23E,MAAf,EAAuB30G,UAAvB,CAA3C;;AACA,SAAK,IAAI9+H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGw1O,aAAa,CAACj3O,MAAlC,EAA0CyB,CAAC,IAAI,CAA/C,EAAkD;AAC9C,UAAM04M,QAAQ,GAAG88B,aAAa,CAACx1O,CAAD,CAA9B;;AACA,UAAI04M,QAAQ,GAAG,CAAf,EAAkB;AACdv4M,cAAM,CAACC,IAAP,CAAYu1O,YAAY,CAAC31O,CAAC,GAAG,CAAL,CAAxB;AACH,OAFD,MAGK;AACD,YAAMk0O,eAAe,GAAGsB,aAAa,CAACx1O,CAAC,GAAG,CAAL,CAArC;AACA,YAAMwoL,qBAAqB,GAAG1sB,KAAK,CAAC,CAAC48C,QAAF,CAAnC;AACArkD,iBAAS,IAAIsI,gBAAgB,CAAC6rB,qBAAD,CAA7B,CAHC,CAID;;AACA,aAAK,IAAIxoL,GAAC,GAAGo7J,uBAAb,EAAsCp7J,GAAC,GAAGwoL,qBAAqB,CAACjqL,MAAhE,EAAwEyB,GAAC,EAAzE,EAA6E;AACzE,cAAMy/L,aAAa,GAAGjX,qBAAqB,CAACxoL,GAAD,CAA3C;;AACA,cAAIy/L,aAAa,CAAChlC,sBAAD,CAAb,KAA0CglC,aAAa,CAAC7lC,MAAD,CAA3D,EAAqE;AACjE87E,+BAAmB,CAACj2C,aAAa,CAAC/lC,KAAD,CAAd,EAAuB+lC,aAAvB,EAAsCy0C,eAAtC,EAAuD/zO,MAAvD,CAAnB;AACH;AACJ,SAVA,CAWD;AACA;;;AACA,YAAIqoL,qBAAqB,CAACrtB,WAAD,CAArB,KAAuC,IAA3C,EAAiD;AAC7C,cAAMy6E,cAAc,GAAGptD,qBAAqB,CAACrtB,WAAD,CAA5C;;AACA,eAAK,IAAIn7J,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAG41O,cAAc,CAACr3O,MAAnC,EAA2CyB,GAAC,EAA5C,EAAgD;AAC5C,gBAAMy/L,cAAa,GAAGm2C,cAAc,CAAC51O,GAAD,CAApC;AACA01O,+BAAmB,CAACj2C,cAAa,CAAC/lC,KAAD,CAAd,EAAuB+lC,cAAvB,EAAsCy0C,eAAtC,EAAuD/zO,MAAvD,CAAnB;AACH;AACJ;AACJ;AACJ;AACJ;;AACD,SAAOA,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS01O,cAAT,CAAwB1C,SAAxB,EAAmC;AAC/B,MAAMr3E,KAAK,GAAGoH,QAAQ,EAAtB;AACA,MAAMjO,KAAK,GAAGkO,QAAQ,EAAtB;AACA,MAAMrkC,UAAU,GAAGkmC,oBAAoB,EAAvC;AACAE,sBAAoB,CAACpmC,UAAU,GAAG,CAAd,CAApB;AACA,MAAM20G,MAAM,GAAGK,SAAS,CAAC7+E,KAAD,EAAQn2B,UAAR,CAAxB;;AACA,MAAIq0G,SAAS,CAAC98C,KAAV,IACCz0B,cAAc,CAAC9F,KAAD,CAAd,MACI,CAAC23E,MAAM,CAAC3vL,QAAP,CAAgBlO,KAAhB,GAAwB;AAAE;AAA3B,QAA+C;AAAE;AADrD,GADL,EAE4E;AACxE,QAAI69L,MAAM,CAACtoN,OAAP,KAAmB,IAAvB,EAA6B;AACzBgoN,eAAS,CAACpjF,KAAV,CAAgB,EAAhB;AACH,KAFD,MAGK;AACD,UAAM5vJ,MAAM,GAAGszO,MAAM,CAACa,iBAAP,GACXoB,mBAAmB,CAACzgF,KAAD,EAAQ6G,KAAR,EAAeh9B,UAAf,EAA2B,EAA3B,CADR,GAEXw2G,sBAAsB,CAACrgF,KAAD,EAAQ6G,KAAR,EAAe23E,MAAf,EAAuB30G,UAAvB,CAF1B;AAGAq0G,eAAS,CAACpjF,KAAV,CAAgB5vJ,MAAhB,EAAwBm0N,gBAAxB;AACA6e,eAAS,CAAC2C,eAAV;AACH;;AACD,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,WAAT,CAAqBljM,SAArB,EAAgC+C,KAAhC,EAAuCu5B,IAAvC,EAA6C;AACzCklF,WAAS,IAAIlD,YAAY,CAACv7G,KAAD,EAAQ,iBAAR,CAAzB;AACA,MAAMq/G,KAAK,GAAGkO,QAAQ,EAAtB;;AACA,MAAIlO,KAAK,CAACF,eAAV,EAA2B;AACvBihF,gBAAY,CAAC/gF,KAAD,EAAQ,IAAI8+E,eAAJ,CAAoBlhM,SAApB,EAA+B+C,KAA/B,EAAsCu5B,IAAtC,CAAR,EAAqD,CAAC,CAAtD,CAAZ;;AACA,QAAI,CAACv5B,KAAK,GAAG;AAAE;AAAX,UAA+B;AAAE;AAArC,MAAqD;AACjDq/G,aAAK,CAAC29B,iBAAN,GAA0B,IAA1B;AACH;AACJ;;AACDqjD,cAAY,CAAChhF,KAAD,EAAQiO,QAAQ,EAAhB,EAAoBttH,KAApB,CAAZ;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsgM,cAAT,CAAwBrkK,cAAxB,EAAwCh/B,SAAxC,EAAmD+C,KAAnD,EAA0Du5B,IAA1D,EAAgE;AAC5DklF,WAAS,IAAIlD,YAAY,CAACv7G,KAAD,EAAQ,iBAAR,CAAzB;AACA,MAAMq/G,KAAK,GAAGkO,QAAQ,EAAtB;;AACA,MAAIlO,KAAK,CAACF,eAAV,EAA2B;AACvB,QAAMC,KAAK,GAAGuO,eAAe,EAA7B;AACAyyE,gBAAY,CAAC/gF,KAAD,EAAQ,IAAI8+E,eAAJ,CAAoBlhM,SAApB,EAA+B+C,KAA/B,EAAsCu5B,IAAtC,CAAR,EAAqD6lF,KAAK,CAACnpJ,KAA3D,CAAZ;AACAsqO,qCAAiC,CAAClhF,KAAD,EAAQpjF,cAAR,CAAjC;;AACA,QAAI,CAACj8B,KAAK,GAAG;AAAE;AAAX,UAA+B;AAAE;AAArC,MAAqD;AACjDq/G,aAAK,CAAC49B,oBAAN,GAA6B,IAA7B;AACH;AACJ;;AACDojD,cAAY,CAAChhF,KAAD,EAAQiO,QAAQ,EAAhB,EAAoBttH,KAApB,CAAZ;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASwgM,WAAT,GAAuB;AACnB,SAAOC,iBAAiB,CAACnzE,QAAQ,EAAT,EAAa8B,oBAAoB,EAAjC,CAAxB;AACH;;AACD,SAASqxE,iBAAT,CAA2Bv6E,KAA3B,EAAkCh9B,UAAlC,EAA8C;AAC1Cu1B,WAAS,IACLhC,aAAa,CAACyJ,KAAK,CAACnB,OAAD,CAAN,EAAiB,wDAAjB,CADjB;AAEAtG,WAAS,IAAI5B,kBAAkB,CAACqJ,KAAK,CAACnB,OAAD,CAAL,CAAenwI,OAAhB,EAAyBs0G,UAAzB,CAA/B;AACA,SAAOg9B,KAAK,CAACnB,OAAD,CAAL,CAAenwI,OAAf,CAAuBs0G,UAAvB,EAAmCq0G,SAA1C;AACH;;AACD,SAAS8C,YAAT,CAAsBhhF,KAAtB,EAA6B6G,KAA7B,EAAoClmH,KAApC,EAA2C;AACvC,MAAMu9L,SAAS,GAAG,IAAIhvN,SAAJ,CAAc,CAACyxB,KAAK,GAAG;AAAE;AAAX,QAA8C;AAAE;AAA9D,GAAlB;AACA6lJ,yBAAuB,CAACxmC,KAAD,EAAQ6G,KAAR,EAAeq3E,SAAf,EAA0BA,SAAS,CAACzpD,OAApC,CAAvB;AACA,MAAI5tB,KAAK,CAACnB,OAAD,CAAL,KAAmB,IAAvB,EACImB,KAAK,CAACnB,OAAD,CAAL,GAAiB,IAAI04E,SAAJ,EAAjB;AACJv3E,OAAK,CAACnB,OAAD,CAAL,CAAenwI,OAAf,CAAuBpqB,IAAvB,CAA4B,IAAI8yO,OAAJ,CAAYC,SAAZ,CAA5B;AACH;;AACD,SAAS6C,YAAT,CAAsB/gF,KAAtB,EAA6BnxG,QAA7B,EAAuCsiD,SAAvC,EAAkD;AAC9C,MAAI6uD,KAAK,CAACzqI,OAAN,KAAkB,IAAtB,EACIyqI,KAAK,CAACzqI,OAAN,GAAgB,IAAIwpN,SAAJ,EAAhB;AACJ/+E,OAAK,CAACzqI,OAAN,CAAc8rN,KAAd,CAAoB,IAAIjC,OAAJ,CAAYvwL,QAAZ,EAAsBsiD,SAAtB,CAApB;AACH;;AACD,SAAS+vI,iCAAT,CAA2ClhF,KAA3C,EAAkDpjF,cAAlD,EAAkE;AAC9D,MAAM0kK,mBAAmB,GAAGthF,KAAK,CAACrjF,cAAN,KAAyBqjF,KAAK,CAACrjF,cAAN,GAAuB,EAAhD,CAA5B;AACA,MAAM4kK,uBAAuB,GAAGD,mBAAmB,CAACh4O,MAApB,GAA6Bg4O,mBAAmB,CAACA,mBAAmB,CAACh4O,MAApB,GAA6B,CAA9B,CAAhD,GAAmF,CAAC,CAApH;;AACA,MAAIszE,cAAc,KAAK2kK,uBAAvB,EAAgD;AAC5CD,uBAAmB,CAACn2O,IAApB,CAAyB60J,KAAK,CAACzqI,OAAN,CAAcjsB,MAAd,GAAuB,CAAhD,EAAmDszE,cAAnD;AACH;AACJ;;AACD,SAASiiK,SAAT,CAAmB7+E,KAAnB,EAA0BppJ,KAA1B,EAAiC;AAC7BwoJ,WAAS,IAAIhC,aAAa,CAAC4C,KAAK,CAACzqI,OAAP,EAAgB,+CAAhB,CAA1B;AACA,SAAOyqI,KAAK,CAACzqI,OAAN,CAAckpN,UAAd,CAAyB7nO,KAAzB,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4qO,sBAAT,CAAgCzhF,KAAhC,EAAuC8G,KAAvC,EAA8C;AAC1C,SAAOqhE,iBAAiB,CAACnoE,KAAD,EAAQ8G,KAAR,CAAxB;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS46E,6BAAT,GAAoE;AAAA,MAA7B9gM,KAA6B,uEAArBg+G,WAAW,CAAC3tJ,OAAS;AAChE,MAAM3F,KAAK,GAAGw7N,uBAAuB,CAAC,IAAD,CAArC;;AACA,MAAIx7N,KAAK,IAAI,IAAT,IAAiB,EAAEs1C,KAAK,GAAGg+G,WAAW,CAACO,QAAtB,CAArB,EAAsD;AAClD0K,8BAA0B,CAAC,mBAAD,CAA1B;AACH,GAFD,MAGK;AACD,WAAOv+J,KAAP;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMq2O,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AAChB,mBAAelpC,WADC;AAEhB,+BAA2BuB,uBAFX;AAGhB,+BAA2BE,uBAHX;AAIhB,+BAA2BC,uBAJX;AAKhB,+BAA2BC,uBALX;AAMhB,+BAA2BC,uBANX;AAOhB,+BAA2BC,uBAPX;AAQhB,+BAA2BC,uBARX;AAShB,+BAA2BC,uBATX;AAUhB,+BAA2BC,uBAVX;AAWhB,yBAAqBl4C,iBAXL;AAYhB,yBAAqB4B,iBAZL;AAahB,0BAAsBh0I,kBAbN;AAchB,wBAAoB4tI,gBAdJ;AAehB,wBAAoB6F,gBAfJ;AAgBhB,oBAAgBQ,YAhBA;AAiBhB,yBAAqB89C,iBAjBL;AAkBhB,sBAAkBznC,cAlBF;AAmBhB,6BAAyBE,qBAnBT;AAoBhB,gBAAY6G,QApBI;AAqBhB,yBAAqBzG,iBArBL;AAsBhB,wBAAoBonC,gBAtBJ;AAuBhB,2BAAuB1gC,mBAvBP;AAwBhB,qCAAiCigE,6BAxBjB;AAyBhB,8BAA0BD,sBAzBV;AA0BhB,4BAAwBr3E,oBA1BR;AA2BhB,0BAAsBg0D,kBA3BN;AA4BhB,+BAA2B9nB,uBA5BX;AA6BhB,kCAA8BpB,0BA7Bd;AA8BhB,qBAAiB0P,aA9BD;AA+BhB,uBAAmB9yC,eA/BH;AAgChB,yBAAqBD,iBAhCL;AAiChB,sBAAkBD,cAjCF;AAkChB,wBAAoB5D,gBAlCJ;AAmChB,yBAAqBC,iBAnCL;AAoChB,sBAAkBu0C,cApCF;AAqChB,oBAAgBC,YArCA;AAsChB,iBAAaC,SAtCG;AAuChB,+BAA2BK,uBAvCX;AAwChB,6BAAyBC,qBAxCT;AAyChB,0BAAsBC,kBAzCN;AA0ChB,uBAAmBs3B,eA1CH;AA2ChB,uBAAmBG,eA3CH;AA4ChB,uBAAmBE,eA5CH;AA6ChB,uBAAmBE,eA7CH;AA8ChB,uBAAmBE,eA9CH;AA+ChB,uBAAmBE,eA/CH;AAgDhB,uBAAmBE,eAhDH;AAiDhB,uBAAmBE,eAjDH;AAkDhB,uBAAmBE,eAlDH;AAmDhB,uBAAmBE,eAnDH;AAoDhB,wBAAoBx4B,gBApDJ;AAqDhB,qBAAiB90C,aArDD;AAsDhB,kBAAcg1C,UAtDE;AAuDhB,oBAAgBkC,YAvDA;AAwDhB,+BAA2BwJ,uBAxDX;AAyDhB,+BAA2BtL,uBAzDX;AA0DhB,mBAAe64B,WA1DC;AA2DhB,mBAAeG,WA3DC;AA4DhB,mBAAeC,WA5DC;AA6DhB,mBAAeC,WA7DC;AA8DhB,mBAAeC,WA9DC;AA+DhB,uBAAmB33B,eA/DH;AAgEhB,sBAAkB6J,cAhEF;AAiEhB,kBAAczM,UAjEE;AAkEhB,6BAAyBoD,qBAlET;AAmEhB,8BAA0BC,sBAnEV;AAoEhB,8BAA0BC,sBApEV;AAqEhB,8BAA0BC,sBArEV;AAsEhB,8BAA0BC,sBAtEV;AAuEhB,8BAA0BC,sBAvEV;AAwEhB,8BAA0BC,sBAxEV;AAyEhB,8BAA0BC,sBAzEV;AA0EhB,8BAA0BC,sBA1EV;AA2EhB,8BAA0BC,sBA3EV;AA4EhB,cAAUg2B,MA5EM;AA6EhB,sBAAkB4E,cA7EF;AA8EhB,mBAAeE,WA9EC;AA+EhB,mBAAeK,WA/EC;AAgFhB,sBAAkBF,cAhFF;AAiFhB,mBAAehmC,WAjFC;AAkFhB,kBAAcwO,UAlFE;AAmFhB,8BAA0BuD,sBAnFV;AAoFhB,8BAA0BC,sBApFV;AAqFhB,8BAA0BC,sBArFV;AAsFhB,8BAA0BC,sBAtFV;AAuFhB,8BAA0BC,sBAvFV;AAwFhB,8BAA0BC,sBAxFV;AAyFhB,8BAA0BC,sBAzFV;AA0FhB,8BAA0BC,sBA1FV;AA2FhB,8BAA0BC,sBA3FV;AA4FhB,kBAAcnE,UA5FE;AA6FhB,8BAA0BoE,sBA7FV;AA8FhB,8BAA0BC,sBA9FV;AA+FhB,8BAA0BC,sBA/FV;AAgGhB,8BAA0BC,sBAhGV;AAiGhB,8BAA0BC,sBAjGV;AAkGhB,8BAA0BC,sBAlGV;AAmGhB,8BAA0BC,sBAnGV;AAoGhB,8BAA0BC,sBApGV;AAqGhB,8BAA0BC,sBArGV;AAsGhB,mBAAe/E,WAtGC;AAuGhB,+BAA2BgF,uBAvGX;AAwGhB,+BAA2BE,uBAxGX;AAyGhB,+BAA2BC,uBAzGX;AA0GhB,+BAA2BC,uBA1GX;AA2GhB,+BAA2BC,uBA3GX;AA4GhB,+BAA2BC,uBA5GX;AA6GhB,+BAA2BC,uBA7GX;AA8GhB,+BAA2BC,uBA9GX;AA+GhB,+BAA2BC,uBA/GX;AAgHhB,mBAAevF,WAhHC;AAiHhB,iBAAaxtB,SAjHG;AAkHhB,kBAAcmf,UAlHE;AAmHhB,cAAUqR,MAnHM;AAoHhB,yBAAqBE,iBApHL;AAqHhB,0BAAsBC,kBArHN;AAsHhB,0BAAsBC,kBAtHN;AAuHhB,0BAAsBC,kBAvHN;AAwHhB,0BAAsBC,kBAxHN;AAyHhB,0BAAsBC,kBAzHN;AA0HhB,0BAAsBC,kBA1HN;AA2HhB,0BAAsBC,kBA3HN;AA4HhB,0BAAsBC,kBA5HN;AA6HhB,0BAAsBC,kBA7HN;AA8HhB,cAAUuP,MA9HM;AA+HhB,wBAAoBC,gBA/HJ;AAgIhB,iBAAaC,SAhIG;AAiIhB,mBAAeN,WAjIC;AAkIhB,iBAAaG,SAlIG;AAmIhB,mBAAeI,WAnIC;AAoIhB,yBAAqBC,iBApIL;AAqIhB,uBAAmBltC,eArIH;AAsIhB,yBAAqBG,iBAtIL;AAuIhB,qBAAiBC,aAvID;AAwIhB,2BAAuBtsB,mBAxIP;AAyIhB,0BAAsBO,kBAzIN;AA0IhB,sBAAkB+mB,cA1IF;AA2IhB,uBAAmBG,eA3IH;AA4IhB,6BAAyBI,qBA5IT;AA6IhB,wBAAoBE,gBA7IJ;AA8IhB,qBAAiBJ,aA9ID;AA+IhB,kCAA8BS,0BA/Id;AAgJhB,2BAAuBH,mBAhJP;AAiJhB,kCAA8BC,0BAjJd;AAkJhB,kBAAc5qJ,UAlJE;AAmJhB,yBAAqB9W;AAnJL,GAAP;AAAA,CAAb;AAqJA;AACA;AACA;AACA;AACA;;;AACA,IAAM63F,cAAc,GAAI+/H,IAAD,EAAvB;AAEA,IAAIC,UAAU,GAAG,IAAjB;;AACA,SAASC,aAAT,CAAuB17K,OAAvB,EAAgC;AAC5B,MAAIy7K,UAAU,KAAK,IAAnB,EAAyB;AACrB,QAAIz7K,OAAO,CAACq/C,oBAAR,KAAiCo8H,UAAU,CAACp8H,oBAAhD,EAAsE;AAClE65C,eAAS,IACLxzC,OAAO,CAACjpG,KAAR,CAAc,oFAAd,CADJ;AAEA;AACH;;AACD,QAAIujD,OAAO,CAACxxC,mBAAR,KAAgCitN,UAAU,CAACjtN,mBAA/C,EAAoE;AAChE0qI,eAAS,IACLxzC,OAAO,CAACjpG,KAAR,CAAc,mFAAd,CADJ;AAEA;AACH;AACJ;;AACDg/N,YAAU,GAAGz7K,OAAb;AACH;;AACD,SAAS27K,aAAT,GAAyB;AACrB,SAAOF,UAAP;AACH;;AACD,SAASG,eAAT,GAA2B;AACvBH,YAAU,GAAG,IAAb;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMI,aAAa,GAAG,EAAtB;AACA,IAAMC,WAAW,GAAG,EAApB;AACA;AACA;AACA;AACA;;AACA,SAASC,8BAAT,CAAwCx1L,UAAxC,EAAoD56C,QAApD,EAA8D;AAC1DmwO,aAAW,CAAC72O,IAAZ,CAAiB;AAAEshD,cAAU,EAAVA,UAAF;AAAc56C,YAAQ,EAARA;AAAd,GAAjB;AACH;;AACD,IAAIqwO,mBAAmB,GAAG,KAA1B;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,uCAAT,GAAmD;AAC/C,MAAI,CAACD,mBAAL,EAA0B;AACtBA,uBAAmB,GAAG,IAAtB;;AACA,QAAI;AACA,WAAK,IAAIn3O,CAAC,GAAGi3O,WAAW,CAAC14O,MAAZ,GAAqB,CAAlC,EAAqCyB,CAAC,IAAI,CAA1C,EAA6CA,CAAC,EAA9C,EAAkD;AAAA,6BACbi3O,WAAW,CAACj3O,CAAD,CADE;AAAA,YACtC0hD,UADsC,kBACtCA,UADsC;AAAA,YAC1B56C,QAD0B,kBAC1BA,QAD0B;;AAE9C,YAAIA,QAAQ,CAAC86C,YAAT,IAAyB96C,QAAQ,CAAC86C,YAAT,CAAsBxtC,KAAtB,CAA4BijO,qBAA5B,CAA7B,EAAiF;AAC7E;AACAJ,qBAAW,CAACpvK,MAAZ,CAAmB7nE,CAAnB,EAAsB,CAAtB;AACAs3O,sCAA4B,CAAC51L,UAAD,EAAa56C,QAAb,CAA5B;AACH;AACJ;AACJ,KATD,SAUQ;AACJqwO,yBAAmB,GAAG,KAAtB;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASE,qBAAT,CAA+BngI,WAA/B,EAA4C;AACxC,MAAI56F,KAAK,CAACC,OAAN,CAAc26F,WAAd,CAAJ,EAAgC;AAC5B,WAAOA,WAAW,CAAC9iG,KAAZ,CAAkBijO,qBAAlB,CAAP;AACH;;AACD,SAAO,CAAC,CAACt4N,iBAAiB,CAACm4F,WAAD,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASz1D,eAAT,CAAyBC,UAAzB,EAAoD;AAAA,MAAf56C,QAAe,uEAAJ,EAAI;AAChDywO,qBAAmB,CAAC71L,UAAD,EAAa56C,QAAb,CAAnB,CADgD,CAEhD;AACA;AACA;AACA;;AACAowO,gCAA8B,CAACx1L,UAAD,EAAa56C,QAAb,CAA9B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASywO,mBAAT,CAA6B71L,UAA7B,EAAyC56C,QAAzC,EAA6F;AAAA,MAA1C0wO,gCAA0C,uEAAP,KAAO;AACzFnjF,WAAS,IAAIhC,aAAa,CAAC3wG,UAAD,EAAa,2BAAb,CAA1B;AACA2yG,WAAS,IAAIhC,aAAa,CAACvrJ,QAAD,EAAW,yBAAX,CAA1B;AACA,MAAM86C,YAAY,GAAGh4B,OAAO,CAAC9iB,QAAQ,CAAC86C,YAAT,IAAyBo1L,aAA1B,CAA5B;AACA,MAAIt+G,WAAW,GAAG,IAAlB;AACAzzH,QAAM,CAAC6jH,cAAP,CAAsBpnE,UAAtB,EAAkCo1G,UAAlC,EAA8C;AAC1C/tC,gBAAY,EAAE,IAD4B;AAE1C9lH,OAAG,EAAE,eAAM;AACP,UAAIy1H,WAAW,KAAK,IAApB,EAA0B;AACtB,YAAI27B,SAAS,IAAIvtJ,QAAQ,CAAC+6C,OAAtB,IAAiC/6C,QAAQ,CAAC+6C,OAAT,CAAiB9kD,OAAjB,CAAyB2kD,UAAzB,IAAuC,CAAC,CAA7E,EAAgF;AAC5E;AACA;AACA,gBAAM,IAAI1kD,KAAJ,YAAcshK,iBAAiB,CAAC58G,UAAD,CAA/B,kCAAN;AACH;;AACDg3E,mBAAW,GAAG05C,iBAAiB,GAAG3wH,eAApB,CAAoCm1D,cAApC,kBAA6Dl1D,UAAU,CAACjjD,IAAxE,oBAAwF;AAClGiN,cAAI,EAAEg2C,UAD4F;AAElGC,mBAAS,EAAE/3B,OAAO,CAAC9iB,QAAQ,CAAC66C,SAAT,IAAsBq1L,aAAvB,CAAP,CAA6C3zO,GAA7C,CAAiD0b,iBAAjD,CAFuF;AAGlG6iC,sBAAY,EAAEA,YAAY,CAACv+C,GAAb,CAAiB0b,iBAAjB,CAHoF;AAIlG8iC,iBAAO,EAAEj4B,OAAO,CAAC9iB,QAAQ,CAAC+6C,OAAT,IAAoBm1L,aAArB,CAAP,CACJ3zO,GADI,CACA0b,iBADA,EAEJ1b,GAFI,CAEAo0O,yBAFA,CAJyF;AAOlG31L,iBAAO,EAAEl4B,OAAO,CAAC9iB,QAAQ,CAACg7C,OAAT,IAAoBk1L,aAArB,CAAP,CACJ3zO,GADI,CACA0b,iBADA,EAEJ1b,GAFI,CAEAo0O,yBAFA,CAPyF;AAUlGvrN,iBAAO,EAAEplB,QAAQ,CAAColB,OAAT,GAAmBtC,OAAO,CAAC9iB,QAAQ,CAAColB,OAAV,CAA1B,GAA+C,IAV0C;AAWlG7R,YAAE,EAAEvT,QAAQ,CAACuT,EAAT,IAAe;AAX+E,SAAxF,CAAd,CANsB,CAmBtB;AACA;AACA;AACA;;AACA,YAAI,CAACq+G,WAAW,CAACxsG,OAAjB,EAA0B;AACtBwsG,qBAAW,CAACxsG,OAAZ,GAAsB,EAAtB;AACH;AACJ;;AACD,aAAOwsG,WAAP;AACH;AA/ByC,GAA9C;AAiCA,MAAIi7B,aAAa,GAAG,IAApB;AACA1uJ,QAAM,CAAC6jH,cAAP,CAAsBpnE,UAAtB,EAAkC6xG,UAAlC,EAA8C;AAC1CtwJ,OAAG,EAAE,eAAM;AACP,UAAI0wJ,aAAa,KAAK,IAAtB,EAA4B;AACxBU,iBAAS,IACLqjF,4BAA4B,CAACh2L,UAAD,EAAa81L,gCAAb,CADhC;AAEA,YAAMlpN,IAAI,GAAG;AACT7vB,cAAI,EAAEijD,UAAU,CAACjjD,IADR;AAETiN,cAAI,EAAEg2C,UAFG;AAGTj0B,cAAI,EAAE4pJ,mBAAmB,CAAC31H,UAAD,CAHhB;AAITp3B,mBAAS,EAAExjB,QAAQ,CAACwjB,SAAT,IAAsB0sN,aAJxB;AAKTn1L,iBAAO,EAAE,CACL,CAAC/6C,QAAQ,CAAC+6C,OAAT,IAAoBm1L,aAArB,EAAoC3zO,GAApC,CAAwC0b,iBAAxC,CADK,EAEL,CAACjY,QAAQ,CAACg7C,OAAT,IAAoBk1L,aAArB,EAAoC3zO,GAApC,CAAwC0b,iBAAxC,CAFK;AALA,SAAb;AAUA40I,qBAAa,GAAGye,iBAAiB,GAAGvvH,eAApB,CAAoC+zD,cAApC,kBAA6Dl1D,UAAU,CAACjjD,IAAxE,oBAAwF6vB,IAAxF,CAAhB;AACH;;AACD,aAAOqlI,aAAP;AACH,KAlByC;AAmB1C;AACA5qC,gBAAY,EAAE,CAAC,CAACsrC;AApB0B,GAA9C;AAsBH;;AACD,SAASqjF,4BAAT,CAAsCh2L,UAAtC,EAAkD81L,gCAAlD,EAAoFG,eAApF,EAAqG;AACjG,MAAIC,gBAAgB,CAAC30O,GAAjB,CAAqBy+C,UAArB,CAAJ,EACI;AACJk2L,kBAAgB,CAAC10O,GAAjB,CAAqBw+C,UAArB,EAAiC,IAAjC;AACAA,YAAU,GAAG3iC,iBAAiB,CAAC2iC,UAAD,CAA9B;AACA,MAAIg3E,WAAJ;;AACA,MAAIi/G,eAAJ,EAAqB;AACjBj/G,eAAW,GAAGqgC,cAAc,CAACr3G,UAAD,CAA5B;;AACA,QAAI,CAACg3E,WAAL,EAAkB;AACd,YAAM,IAAI17H,KAAJ,6BAA+B0kD,UAAU,CAACjjD,IAA1C,uCAA2Ek5O,eAAe,CAACl5O,IAA3F,4CAAN;AACH;AACJ,GALD,MAMK;AACDi6H,eAAW,GAAGqgC,cAAc,CAACr3G,UAAD,EAAa,IAAb,CAA5B;AACH;;AACD,MAAM+G,MAAM,GAAG,EAAf;AACA,MAAM7G,YAAY,GAAGmjI,aAAa,CAACrsD,WAAW,CAAC92E,YAAb,CAAlC;AACA,MAAMC,OAAO,GAAGkjI,aAAa,CAACrsD,WAAW,CAAC72E,OAAb,CAA7B;AACAj4B,SAAO,CAACi4B,OAAD,CAAP,CAAiBx+C,GAAjB,CAAqBw0O,gCAArB,EAAuDr5O,OAAvD,CAA+D,UAAAlC,GAAG,EAAI;AAClEw7O,mCAA+B,CAACx7O,GAAD,EAAMolD,UAAN,CAA/B;AACAg2L,gCAA4B,CAACp7O,GAAD,EAAM,KAAN,EAAaolD,UAAb,CAA5B;AACH,GAHD;AAIA,MAAMI,OAAO,GAAGijI,aAAa,CAACrsD,WAAW,CAAC52E,OAAb,CAA7B;AACAF,cAAY,CAACpjD,OAAb,CAAqBu5O,iCAArB;AACAn2L,cAAY,CAACpjD,OAAb,CAAqBw5O,4BAArB;AACA,MAAMC,oBAAoB,+IACnBr2L,YAAY,CAACv+C,GAAb,CAAiB0b,iBAAjB,CADmB,qIAEnB6K,OAAO,CAACi4B,OAAO,CAACx+C,GAAR,CAAY60O,sBAAZ,CAAD,CAAP,CAA6C70O,GAA7C,CAAiD0b,iBAAjD,CAFmB,EAA1B;AAIA+iC,SAAO,CAACtjD,OAAR,CAAgB25O,oCAAhB;AACAv2L,cAAY,CAACpjD,OAAb,CAAqB,UAAAitC,IAAI;AAAA,WAAI2sM,yBAAyB,CAAC3sM,IAAD,EAAO+rM,gCAAP,CAA7B;AAAA,GAAzB;AACA51L,cAAY,CAACpjD,OAAb,CAAqB65O,8CAArB;AACA,MAAMvxO,QAAQ,GAAGwxO,aAAa,CAAC52L,UAAD,EAAa,UAAb,CAA9B;;AACA,MAAI56C,QAAJ,EAAc;AACVA,YAAQ,CAAC+6C,OAAT,IACIj4B,OAAO,CAAC9iB,QAAQ,CAAC+6C,OAAV,CAAP,CAA0Bx+C,GAA1B,CAA8Bw0O,gCAA9B,EAAgEr5O,OAAhE,CAAwE,UAAAlC,GAAG,EAAI;AAC3Ew7O,qCAA+B,CAACx7O,GAAD,EAAMolD,UAAN,CAA/B;AACAg2L,kCAA4B,CAACp7O,GAAD,EAAM,KAAN,EAAaolD,UAAb,CAA5B;AACH,KAHD,CADJ;AAKA56C,YAAQ,CAAC66C,SAAT,IAAsBixH,WAAW,CAAC9rK,QAAQ,CAAC66C,SAAV,EAAqB42L,0BAArB,CAAjC;AACAzxO,YAAQ,CAAC66C,SAAT,IAAsBixH,WAAW,CAAC9rK,QAAQ,CAAC66C,SAAV,EAAqB62L,+BAArB,CAAjC;AACA1xO,YAAQ,CAAC6jB,eAAT,IACIioJ,WAAW,CAAC9rK,QAAQ,CAAC6jB,eAAV,EAA2B6tN,+BAA3B,CADf;AAEH,GA3CgG,CA4CjG;;;AACA,MAAI/vL,MAAM,CAAClqD,MAAX,EAAmB;AACf,UAAM,IAAIvB,KAAJ,CAAUyrD,MAAM,CAAC1oD,IAAP,CAAY,IAAZ,CAAV,CAAN;AACH,GA/CgG,CAgDjG;;;AACA,WAASg4O,iCAAT,CAA2CrsO,IAA3C,EAAiD;AAC7CA,QAAI,GAAGqT,iBAAiB,CAACrT,IAAD,CAAxB;AACA,QAAMysG,GAAG,GAAGqgD,eAAe,CAAC9sJ,IAAD,CAAf,IAAyB+sJ,eAAe,CAAC/sJ,IAAD,CAAxC,IAAkDgtJ,UAAU,CAAChtJ,IAAD,CAAxE;;AACA,QAAI,CAACysG,GAAL,EAAU;AACN1vD,YAAM,CAACroD,IAAP,6BAAiCk+J,iBAAiB,CAAC5yJ,IAAD,CAAlD,uCAAqF4yJ,iBAAiB,CAAC58G,UAAD,CAAtG;AACH;AACJ;;AACD,WAASs2L,4BAAT,CAAsCtsO,IAAtC,EAA4C;AACxCA,QAAI,GAAGqT,iBAAiB,CAACrT,IAAD,CAAxB;AACA,QAAMysG,GAAG,GAAGsgD,eAAe,CAAC/sJ,IAAD,CAA3B;;AACA,QAAI,CAAC8sJ,eAAe,CAAC9sJ,IAAD,CAAhB,IAA0BysG,GAA1B,IAAiCA,GAAG,CAACl0G,SAAJ,CAAc1F,MAAd,IAAwB,CAA7D,EAAgE;AAC5DkqD,YAAM,CAACroD,IAAP,qBAAyBk+J,iBAAiB,CAAC5yJ,IAAD,CAA1C;AACH;AACJ;;AACD,WAASysO,oCAAT,CAA8CzsO,IAA9C,EAAoD;AAChDA,QAAI,GAAGqT,iBAAiB,CAACrT,IAAD,CAAxB;AACA,QAAMyW,IAAI,GAAGq2I,eAAe,CAAC9sJ,IAAD,CAAf,IAAyB,WAAzB,IAAwC+sJ,eAAe,CAAC/sJ,IAAD,CAAf,IAAyB,WAAjE,IACTgtJ,UAAU,CAAChtJ,IAAD,CAAV,IAAoB,MADxB;;AAEA,QAAIyW,IAAJ,EAAU;AACN;AACA;AACA,UAAI81N,oBAAoB,CAACt4L,WAArB,CAAiCj0C,IAAjC,MAA2C,CAAC,CAAhD,EAAmD;AAC/C;AACA+8C,cAAM,CAACroD,IAAP,wBAA4B+hB,IAA5B,cAAoCm8I,iBAAiB,CAAC5yJ,IAAD,CAArD,mBAAoE4yJ,iBAAiB,CAAC58G,UAAD,CAArF;AACH;AACJ;AACJ;;AACD,WAAS02L,yBAAT,CAAmC1sO,IAAnC,EAAyC+sO,cAAzC,EAAyD;AACrD/sO,QAAI,GAAGqT,iBAAiB,CAACrT,IAAD,CAAxB;AACA,QAAMgtO,cAAc,GAAGC,aAAa,CAAC11O,GAAd,CAAkByI,IAAlB,CAAvB;;AACA,QAAIgtO,cAAc,IAAIA,cAAc,KAAKh3L,UAAzC,EAAqD;AACjD,UAAI,CAAC+2L,cAAL,EAAqB;AACjB,YAAMnsN,QAAO,GAAG,CAACosN,cAAD,EAAiBh3L,UAAjB,EAA6Br+C,GAA7B,CAAiCi7J,iBAAjC,EAAoD3vF,IAApD,EAAhB;;AACAlmB,cAAM,CAACroD,IAAP,CAAY,eAAQk+J,iBAAiB,CAAC5yJ,IAAD,CAAzB,wDAA6E4gB,QAAO,CAAC,CAAD,CAApF,kBAA+FA,QAAO,CAAC,CAAD,CAAtG,2CACkBgyI,iBAAiB,CAAC5yJ,IAAD,CADnC,8CAC6E4gB,QAAO,CAAC,CAAD,CADpF,kBAC+FA,QAAO,CAAC,CAAD,CADtG,iFAEwDgyI,iBAAiB,CAAC5yJ,IAAD,CAFzE,2CAEgH4gB,QAAO,CAAC,CAAD,CAFvH,kBAEkIA,QAAO,CAAC,CAAD,CAFzI,MAAZ;AAGH;AACJ,KAPD,MAQK;AACD;AACAqsN,mBAAa,CAACz1O,GAAd,CAAkBwI,IAAlB,EAAwBg2C,UAAxB;AACH;AACJ;;AACD,WAAS82L,+BAAT,CAAyC9sO,IAAzC,EAA+C;AAC3CA,QAAI,GAAGqT,iBAAiB,CAACrT,IAAD,CAAxB;AACA,QAAMgtO,cAAc,GAAGC,aAAa,CAAC11O,GAAd,CAAkByI,IAAlB,CAAvB;;AACA,QAAI,CAACgtO,cAAL,EAAqB;AACjBjwL,YAAM,CAACroD,IAAP,qBAAyBk+J,iBAAiB,CAAC5yJ,IAAD,CAA1C;AACH;AACJ;;AACD,WAAS6sO,0BAAT,CAAoC7sO,IAApC,EAA0C;AACtCA,QAAI,GAAGqT,iBAAiB,CAACrT,IAAD,CAAxB;;AACA,QAAI,CAAC8sJ,eAAe,CAAC9sJ,IAAD,CAApB,EAA4B;AACxB+8C,YAAM,CAACroD,IAAP,WAAek+J,iBAAiB,CAAC5yJ,IAAD,CAAhC;AACH;AACJ;;AACD,WAAS2sO,8CAAT,CAAwD3sO,IAAxD,EAA8D;AAC1DA,QAAI,GAAGqT,iBAAiB,CAACrT,IAAD,CAAxB;;AACA,QAAI8sJ,eAAe,CAAC9sJ,IAAD,CAAnB,EAA2B;AACvB;AACA,UAAMstD,SAAS,GAAGs/K,aAAa,CAAC5sO,IAAD,EAAO,WAAP,CAA/B;;AACA,UAAIstD,SAAS,IAAIA,SAAS,CAACruC,eAA3B,EAA4C;AACxCioJ,mBAAW,CAAC55G,SAAS,CAACruC,eAAX,EAA4B6tN,+BAA5B,CAAX;AACH;AACJ;AACJ;;AACD,WAASV,+BAAT,CAAyCpsO,IAAzC,EAA+CisO,eAA/C,EAAgE;AAC5DjsO,QAAI,GAAGqT,iBAAiB,CAACrT,IAAD,CAAxB;;AACA,QAAI8sJ,eAAe,CAAC9sJ,IAAD,CAAf,IAAyB+sJ,eAAe,CAAC/sJ,IAAD,CAA5C,EAAoD;AAChD,YAAM,IAAI1O,KAAJ,iCAAmC0O,IAAI,CAACjN,IAAxC,uCAAyEk5O,eAAe,CAACl5O,IAAzF,4CAAN;AACH;;AACD,QAAIi6J,UAAU,CAAChtJ,IAAD,CAAd,EAAsB;AAClB,YAAM,IAAI1O,KAAJ,4BAA8B0O,IAAI,CAACjN,IAAnC,uCAAoEk5O,eAAe,CAACl5O,IAApF,4CAAN;AACH;AACJ;AACJ;;AACD,SAASo5O,gCAAT,CAA0Ce,mBAA1C,EAA+D;AAC3DA,qBAAmB,GAAG75N,iBAAiB,CAAC65N,mBAAD,CAAvC;AACA,SAAOA,mBAAmB,CAAC9xO,QAApB,IAAgC8xO,mBAAvC;AACH;;AACD,SAASN,aAAT,CAAuB5sO,IAAvB,EAA6BjN,IAA7B,EAAmC;AAC/B,MAAI0xH,UAAU,GAAG,IAAjB;AACA0oH,SAAO,CAACntO,IAAI,CAACotO,eAAN,CAAP;AACAD,SAAO,CAACntO,IAAI,CAACw8H,UAAN,CAAP;AACA,SAAO/X,UAAP;;AACA,WAAS0oH,OAAT,CAAiB37H,WAAjB,EAA8B;AAC1B,QAAIA,WAAJ,EAAiB;AACbA,iBAAW,CAAC1+G,OAAZ,CAAoBu6O,cAApB;AACH;AACJ;;AACD,WAASA,cAAT,CAAwBliE,SAAxB,EAAmC;AAC/B,QAAI,CAAC1mD,UAAL,EAAiB;AACb,UAAMsnD,KAAK,GAAGxyK,MAAM,CAACoZ,cAAP,CAAsBw4J,SAAtB,CAAd;;AACA,UAAIY,KAAK,CAAC3vK,cAAN,IAAwBrJ,IAA5B,EAAkC;AAC9B0xH,kBAAU,GAAG0mD,SAAb;AACH,OAFD,MAGK,IAAIA,SAAS,CAACnrK,IAAd,EAAoB;AACrB,YAAM+rK,MAAK,GAAGxyK,MAAM,CAACoZ,cAAP,CAAsBw4J,SAAS,CAACnrK,IAAhC,CAAd;;AACA,YAAI+rK,MAAK,CAAC3vK,cAAN,IAAwBrJ,IAA5B,EAAkC;AAC9B0xH,oBAAU,GAAG0mD,SAAS,CAACjwK,IAAV,CAAe,CAAf,CAAb;AACH;AACJ;AACJ;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAI+xO,aAAa,GAAG,IAAI/2O,GAAJ,EAApB;AACA,IAAIg2O,gBAAgB,GAAG,IAAIh2O,GAAJ,EAAvB;;AACA,SAASo3O,uBAAT,GAAmC;AAC/BL,eAAa,GAAG,IAAI/2O,GAAJ,EAAhB;AACAg2O,kBAAgB,GAAG,IAAIh2O,GAAJ,EAAnB;AACAq1O,aAAW,CAAC14O,MAAZ,GAAqB,CAArB;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS25O,sBAAT,CAAgCxsO,IAAhC,EAAsC;AAClCA,MAAI,GAAGqT,iBAAiB,CAACrT,IAAD,CAAxB;AACA,MAAMgtH,WAAW,GAAGqgC,cAAc,CAACrtJ,IAAD,EAAO,IAAP,CAAlC;AACA,2IAAWke,OAAO,CAACm7J,aAAa,CAACrsD,WAAW,CAAC52E,OAAb,CAAb,CAAmCz+C,GAAnC,CAAuC,UAACqI,IAAD,EAAU;AAC5D,QAAMgtH,WAAW,GAAGqgC,cAAc,CAACrtJ,IAAD,CAAlC;;AACA,QAAIgtH,WAAJ,EAAiB;AACbg/G,kCAA4B,CAAChsO,IAAD,EAAO,KAAP,CAA5B;AACA,aAAOwsO,sBAAsB,CAACxsO,IAAD,CAA7B;AACH,KAHD,MAIK;AACD,aAAOA,IAAP;AACH;AACJ,GATc,CAAD,CAAlB;AAUH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS4rO,4BAAT,CAAsC51L,UAAtC,EAAkD56C,QAAlD,EAA4D;AACxD,MAAM86C,YAAY,GAAGh4B,OAAO,CAAC9iB,QAAQ,CAAC86C,YAAT,IAAyBo1L,aAA1B,CAA5B;AACA,MAAMiC,gBAAgB,GAAGC,mBAAmB,CAACx3L,UAAD,CAA5C;AACAE,cAAY,CAACpjD,OAAb,CAAqB,UAAA04G,WAAW,EAAI;AAChC,QAAIA,WAAW,CAACl4F,cAAZ,CAA2Bw3I,WAA3B,CAAJ,EAA6C;AACzC;AACA,UAAMx9F,SAAS,GAAGk+C,WAAlB;AACA,UAAMiyF,YAAY,GAAG3wC,eAAe,CAACx/F,SAAD,CAApC;AACAmgL,gCAA0B,CAAChwC,YAAD,EAAe8vC,gBAAf,CAA1B;AACH,KALD,MAMK,IAAI,CAAC/hI,WAAW,CAACl4F,cAAZ,CAA2B03I,UAA3B,CAAD,IAA2C,CAACx/C,WAAW,CAACl4F,cAAZ,CAA2B43I,WAA3B,CAAhD,EAAyF;AAC1F;AACA1/C,iBAAW,CAACkiI,eAAZ,GAA8B13L,UAA9B;AACH;AACJ,GAXD;AAYH;AACD;AACA;AACA;AACA;;;AACA,SAASy3L,0BAAT,CAAoChwC,YAApC,EAAkD8vC,gBAAlD,EAAoE;AAChE9vC,cAAY,CAACpxC,aAAb,GAA6B;AAAA,WAAMz7I,KAAK,CAAC+c,IAAN,CAAW4/M,gBAAgB,CAACI,WAAjB,CAA6B5sN,UAAxC,EAC9BppB,GAD8B,CAC1B,UAAAsC,GAAG;AAAA,aAAIA,GAAG,CAACqZ,cAAJ,CAAmBw3I,WAAnB,IAAkCgC,eAAe,CAAC7yJ,GAAD,CAAjD,GAAyD8yJ,eAAe,CAAC9yJ,GAAD,CAA5E;AAAA,KADuB,EAE9Bod,MAF8B,CAEvB,UAAAo1F,GAAG;AAAA,aAAI,CAAC,CAACA,GAAN;AAAA,KAFoB,CAAN;AAAA,GAA7B;;AAGAgxF,cAAY,CAACnxC,QAAb,GAAwB;AAAA,WAAM17I,KAAK,CAAC+c,IAAN,CAAW4/M,gBAAgB,CAACI,WAAjB,CAA6BzsN,KAAxC,EAA+CvpB,GAA/C,CAAmD,UAAAgyB,IAAI;AAAA,aAAIqjI,UAAU,CAACrjI,IAAD,CAAd;AAAA,KAAvD,CAAN;AAAA,GAAxB;;AACA8zK,cAAY,CAACj9K,OAAb,GAAuB+sN,gBAAgB,CAAC/sN,OAAxC,CALgE,CAMhE;AACA;AACA;AACA;;AACAi9K,cAAY,CAACl0C,KAAb,GAAqB,IAArB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASikF,mBAAT,CAA6Bx3L,UAA7B,EAAyC;AACrC,MAAI,CAACiwE,UAAU,CAACjwE,UAAD,CAAf,EAA6B;AACzB,UAAM,IAAI1kD,KAAJ,WAAa0kD,UAAU,CAACjjD,IAAxB,sDAAN;AACH;;AACD,MAAM05G,GAAG,GAAG4gD,cAAc,CAACr3G,UAAD,CAA1B;;AACA,MAAIy2D,GAAG,CAAC0gD,uBAAJ,KAAgC,IAApC,EAA0C;AACtC,WAAO1gD,GAAG,CAAC0gD,uBAAX;AACH;;AACD,MAAMygF,MAAM,GAAG;AACXptN,WAAO,EAAEisF,GAAG,CAACjsF,OAAJ,IAAe,IADb;AAEXmtN,eAAW,EAAE;AACT5sN,gBAAU,EAAE,IAAIvT,GAAJ,EADH;AAET0T,WAAK,EAAE,IAAI1T,GAAJ;AAFE,KAFF;AAMXqgO,YAAQ,EAAE;AACN9sN,gBAAU,EAAE,IAAIvT,GAAJ,EADN;AAEN0T,WAAK,EAAE,IAAI1T,GAAJ;AAFD;AANC,GAAf;AAWA6rK,eAAa,CAAC5sE,GAAG,CAACt2D,OAAL,CAAb,CAA2BrjD,OAA3B,CAAmC,UAACulM,QAAD,EAAc;AAC7C,QAAMxxE,YAAY,GAAGwxE,QAArB;;AACA,QAAI,CAACpyE,UAAU,CAACY,YAAD,CAAf,EAA+B;AAC3B,YAAM,IAAIv1H,KAAJ,qBAAuBu1H,YAAY,CAAC9zH,IAApC,+CAAN;AACH,KAJ4C,CAK7C;AACA;;;AACA,QAAM+6O,aAAa,GAAGN,mBAAmB,CAAC3mH,YAAD,CAAzC;AACAinH,iBAAa,CAACD,QAAd,CAAuB9sN,UAAvB,CAAkCjuB,OAAlC,CAA0C,UAAA4Z,KAAK;AAAA,aAAIkhO,MAAM,CAACD,WAAP,CAAmB5sN,UAAnB,CAA8BtT,GAA9B,CAAkCf,KAAlC,CAAJ;AAAA,KAA/C;AACAohO,iBAAa,CAACD,QAAd,CAAuB3sN,KAAvB,CAA6BpuB,OAA7B,CAAqC,UAAA4Z,KAAK;AAAA,aAAIkhO,MAAM,CAACD,WAAP,CAAmBzsN,KAAnB,CAAyBzT,GAAzB,CAA6Bf,KAA7B,CAAJ;AAAA,KAA1C;AACH,GAVD;AAWA2sK,eAAa,CAAC5sE,GAAG,CAACv2D,YAAL,CAAb,CAAgCpjD,OAAhC,CAAwC,UAAAi7O,QAAQ,EAAI;AAChD,QAAMC,gBAAgB,GAAGD,QAAzB;;AACA,QAAI/gF,UAAU,CAACghF,gBAAD,CAAd,EAAkC;AAC9BJ,YAAM,CAACD,WAAP,CAAmBzsN,KAAnB,CAAyBzT,GAAzB,CAA6BsgO,QAA7B;AACH,KAFD,MAGK;AACD;AACA;AACA;AACAH,YAAM,CAACD,WAAP,CAAmB5sN,UAAnB,CAA8BtT,GAA9B,CAAkCsgO,QAAlC;AACH;AACJ,GAXD;AAYA10D,eAAa,CAAC5sE,GAAG,CAACr2D,OAAL,CAAb,CAA2BtjD,OAA3B,CAAmC,UAAC+6O,QAAD,EAAc;AAC7C,QAAMxmH,YAAY,GAAGwmH,QAArB,CAD6C,CAE7C;AACA;;AACA,QAAI5nH,UAAU,CAACoB,YAAD,CAAd,EAA8B;AAC1B;AACA;AACA,UAAM4mH,aAAa,GAAGT,mBAAmB,CAACnmH,YAAD,CAAzC;AACA4mH,mBAAa,CAACJ,QAAd,CAAuB9sN,UAAvB,CAAkCjuB,OAAlC,CAA0C,UAAA4Z,KAAK,EAAI;AAC/CkhO,cAAM,CAACD,WAAP,CAAmB5sN,UAAnB,CAA8BtT,GAA9B,CAAkCf,KAAlC;AACAkhO,cAAM,CAACC,QAAP,CAAgB9sN,UAAhB,CAA2BtT,GAA3B,CAA+Bf,KAA/B;AACH,OAHD;AAIAuhO,mBAAa,CAACJ,QAAd,CAAuB3sN,KAAvB,CAA6BpuB,OAA7B,CAAqC,UAAA4Z,KAAK,EAAI;AAC1CkhO,cAAM,CAACD,WAAP,CAAmBzsN,KAAnB,CAAyBzT,GAAzB,CAA6Bf,KAA7B;AACAkhO,cAAM,CAACC,QAAP,CAAgB3sN,KAAhB,CAAsBzT,GAAtB,CAA0Bf,KAA1B;AACH,OAHD;AAIH,KAZD,MAaK,IAAIsgJ,UAAU,CAAC3lC,YAAD,CAAd,EAA8B;AAC/BumH,YAAM,CAACC,QAAP,CAAgB3sN,KAAhB,CAAsBzT,GAAtB,CAA0B45G,YAA1B;AACH,KAFI,MAGA;AACDumH,YAAM,CAACC,QAAP,CAAgB9sN,UAAhB,CAA2BtT,GAA3B,CAA+B45G,YAA/B;AACH;AACJ,GAvBD;AAwBA5a,KAAG,CAAC0gD,uBAAJ,GAA8BygF,MAA9B;AACA,SAAOA,MAAP;AACH;;AACD,SAAS7B,yBAAT,CAAmCn3O,KAAnC,EAA0C;AACtC,MAAIs5O,qBAAqB,CAACt5O,KAAD,CAAzB,EAAkC;AAC9B,WAAOA,KAAK,CAACwG,QAAb;AACH;;AACD,SAAOxG,KAAP;AACH;;AACD,SAASs5O,qBAAT,CAA+Bt5O,KAA/B,EAAsC;AAClC,SAAOA,KAAK,CAACwG,QAAN,KAAmBlI,SAA1B;AACH;;AACD,SAAS+yH,UAAT,CAAoBrxH,KAApB,EAA2B;AACvB,SAAO,CAAC,CAACy4J,cAAc,CAACz4J,KAAD,CAAvB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIu5O,gBAAgB,GAAG,CAAvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS9nG,gBAAT,CAA0BrmI,IAA1B,EAAgCo4C,QAAhC,EAA0C;AACtC;AACA;AACA,GAAC,OAAOuwG,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDiC,aAAa,EAAhE;AACA,MAAIwjF,cAAc,GAAG,IAArB,CAJsC,CAKtC;;AACArhE,0CAAwC,CAAC/sK,IAAD,EAAOo4C,QAAP,CAAxC,CANsC,CAOtC;AACA;AACA;;AACAi2L,wBAAsB,CAACruO,IAAD,EAAOo4C,QAAP,CAAtB;AACA7+C,QAAM,CAAC6jH,cAAP,CAAsBp9G,IAAtB,EAA4B8qJ,WAA5B,EAAyC;AACrCvzJ,OAAG,EAAE,eAAM;AACP,UAAI62O,cAAc,KAAK,IAAvB,EAA6B;AACzB,YAAMt4F,QAAQ,GAAG4wB,iBAAiB,EAAlC;;AACA,YAAIsG,wBAAwB,CAAC50H,QAAD,CAA5B,EAAwC;AACpC,cAAMlsC,KAAK,GAAG,sBAAelM,IAAI,CAACjN,IAApB,wBAAd;;AACA,cAAIqlD,QAAQ,CAAC16B,WAAb,EAA0B;AACtBxR,iBAAK,CAACxX,IAAN,2BAA8B0jD,QAAQ,CAAC16B,WAAvC;AACH;;AACD,cAAI06B,QAAQ,CAAC96B,SAAT,IAAsB86B,QAAQ,CAAC96B,SAAT,CAAmBzqB,MAA7C,EAAqD;AACjDqZ,iBAAK,CAACxX,IAAN,yBAA4BonB,IAAI,CAAC7I,SAAL,CAAemlC,QAAQ,CAAC96B,SAAxB,CAA5B;AACH;;AACDpR,eAAK,CAACxX,IAAN;AACA,gBAAM,IAAIpD,KAAJ,CAAU4a,KAAK,CAAC7X,IAAN,CAAW,IAAX,CAAV,CAAN;AACH,SAZwB,CAazB;AACA;AACA;AACA;;;AACA,YAAMo7D,OAAO,GAAG27K,aAAa,EAA7B;AACA,YAAIntN,mBAAmB,GAAGm6B,QAAQ,CAACn6B,mBAAnC;;AACA,YAAIA,mBAAmB,KAAK/qB,SAA5B,EAAuC;AACnC,cAAIu8D,OAAO,KAAK,IAAZ,IAAoBA,OAAO,CAACxxC,mBAAR,KAAgC/qB,SAAxD,EAAmE;AAC/D+qB,+BAAmB,GAAGwxC,OAAO,CAACxxC,mBAA9B;AACH,WAFD,MAGK;AACDA,+BAAmB,GAAG,KAAtB;AACH;AACJ;;AACD,YAAIR,aAAa,GAAG26B,QAAQ,CAAC36B,aAA7B;;AACA,YAAIA,aAAa,KAAKvqB,SAAtB,EAAiC;AAC7B,cAAIu8D,OAAO,KAAK,IAAZ,IAAoBA,OAAO,CAACq/C,oBAAR,KAAiC57G,SAAzD,EAAoE;AAChEuqB,yBAAa,GAAGgyC,OAAO,CAACq/C,oBAAxB;AACH,WAFD,MAGK;AACDrxF,yBAAa,GAAGvjB,iBAAiB,CAACyyD,QAAlC;AACH;AACJ;;AACD,YAAMjvC,WAAW,GAAG06B,QAAQ,CAAC16B,WAAT,oBAAiC1d,IAAI,CAACjN,IAAtC,mBAApB;AACA,YAAM6vB,IAAI,GAAGrpB,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB0tI,iBAAiB,CAAClnI,IAAD,EAAOo4C,QAAP,CAAnC,CAAd,EAAoE;AAAE/C,wBAAc,EAAEygG,QAAQ,CAAC5pC,qBAAT,CAA+B,WAA/B,EAA4ClsG,IAAI,CAACjN,IAAjD,EAAuD2qB,WAAvD,CAAlB;AAAuF1Z,kBAAQ,EAAEo0C,QAAQ,CAACp0C,QAAT,IAAqB,EAAtH;AAA0Hia,6BAAmB,EAAnBA,mBAA1H;AAA+IZ,gBAAM,EAAE+6B,QAAQ,CAAC/6B,MAAT,IAAmBtD,WAA1K;AAAuL8D,oBAAU,EAAEu6B,QAAQ,CAACv6B,UAA5M;AAAwNkD,oBAAU,EAAE,EAApO;AAAwOzmB,yBAAe,EAAE89C,QAAQ,CAAC99C,eAAlQ;AAAmR4mB,eAAK,EAAE,IAAIhrB,GAAJ,EAA1R;AAAqSunB,uBAAa,EAAbA,aAArS;AAAoTM,uBAAa,EAAEq6B,QAAQ,CAACr6B,aAA5U;AAA2Vc,uBAAa,EAAEu5B,QAAQ,CAACv5B,aAAT,IAA0B;AAApY,SAApE,CAAb;AACAsvN,wBAAgB;;AAChB,YAAI;AACA,cAAIvrN,IAAI,CAACqiF,eAAT,EAA0B;AACtBqpI,+CAAmC,CAACtuO,IAAD,CAAnC;AACH;;AACDouO,wBAAc,GAAGt4F,QAAQ,CAACzP,gBAAT,CAA0Bn7B,cAA1B,EAA0CxtF,WAA1C,EAAuDkF,IAAvD,CAAjB;AACH,SALD,SAMQ;AACJ;AACAurN,0BAAgB;AACnB;;AACD,YAAIA,gBAAgB,KAAK,CAAzB,EAA4B;AACxB;AACA;AACA;AACA;AACA;AACAzC,iDAAuC;AAC1C,SAxDwB,CAyDzB;AACA;AACA;AACA;;;AACA,YAAI6C,gBAAgB,CAACvuO,IAAD,CAApB,EAA4B;AACxB,cAAM4tO,MAAM,GAAGJ,mBAAmB,CAACxtO,IAAI,CAAC0tO,eAAN,CAAlC;AACAD,oCAA0B,CAACW,cAAD,EAAiBR,MAAjB,CAA1B;AACH;AACJ;;AACD,aAAOQ,cAAP;AACH,KArEoC;AAsErC;AACA/wH,gBAAY,EAAE,CAAC,CAACsrC;AAvEqB,GAAzC;AAyEH;;AACD,SAAS4lF,gBAAT,CAA0BjhL,SAA1B,EAAqC;AACjC,SAAOA,SAAS,CAACogL,eAAV,KAA8Bx6O,SAArC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASs7O,gBAAT,CAA0BxuO,IAA1B,EAAgCigE,SAAhC,EAA2C;AACvC,MAAIwuK,cAAc,GAAG,IAArB;AACAJ,wBAAsB,CAACruO,IAAD,EAAOigE,SAAS,IAAI,EAApB,CAAtB;AACA1mE,QAAM,CAAC6jH,cAAP,CAAsBp9G,IAAtB,EAA4BgrJ,UAA5B,EAAwC;AACpCzzJ,OAAG,EAAE,eAAM;AACP,UAAIk3O,cAAc,KAAK,IAAvB,EAA6B;AACzB;AACA;AACA;AACA,YAAM7rN,IAAI,GAAGojH,oBAAoB,CAAChmI,IAAD,EAAOigE,SAAS,IAAI,EAApB,CAAjC;AACAwuK,sBAAc,GACV/nE,iBAAiB,GAAG8nE,gBAApB,CAAqCtjI,cAArC,EAAqDtoF,IAAI,CAACuoF,YAA1D,EAAwEvoF,IAAI,CAACw1B,QAA7E,CADJ;AAEH;;AACD,aAAOq2L,cAAP;AACH,KAXmC;AAYpC;AACApxH,gBAAY,EAAE,CAAC,CAACsrC;AAboB,GAAxC;AAeH;;AACD,SAAS3iB,oBAAT,CAA8BhmI,IAA9B,EAAoCo4C,QAApC,EAA8C;AAC1C,MAAMrlD,IAAI,GAAGiN,IAAI,IAAIA,IAAI,CAACjN,IAA1B;AACA,MAAMo4G,YAAY,mBAAYp4G,IAAZ,kBAAlB;AACA,MAAM+iJ,QAAQ,GAAG4wB,iBAAiB,EAAlC;AACA,MAAMt7D,MAAM,GAAG87B,iBAAiB,CAAClnI,IAAD,EAAOo4C,QAAP,CAAhC;AACAgzD,QAAM,CAAC/1D,cAAP,GAAwBygG,QAAQ,CAAC5pC,qBAAT,CAA+B,WAA/B,EAA4Cn5G,IAA5C,EAAkDo4G,YAAlD,CAAxB;;AACA,MAAIC,MAAM,CAACnG,eAAX,EAA4B;AACxBqpI,uCAAmC,CAACtuO,IAAD,CAAnC;AACH;;AACD,SAAO;AAAEo4C,YAAQ,EAAEgzD,MAAZ;AAAoBD,gBAAY,EAAZA;AAApB,GAAP;AACH;;AACD,SAASkjI,sBAAT,CAAgCruO,IAAhC,EAAsCo4C,QAAtC,EAAgD;AAC5C,MAAIusJ,YAAY,GAAG,IAAnB;AACAprM,QAAM,CAAC6jH,cAAP,CAAsBp9G,IAAtB,EAA4BwrJ,cAA5B,EAA4C;AACxCj0J,OAAG,EAAE,eAAM;AACP,UAAIotM,YAAY,KAAK,IAArB,EAA2B;AACvB,YAAM/hL,IAAI,GAAGojH,oBAAoB,CAAChmI,IAAD,EAAOo4C,QAAP,CAAjC;AACA,YAAM09F,QAAQ,GAAG4wB,iBAAiB,EAAlC;AACAi+B,oBAAY,GAAG7uD,QAAQ,CAAC8uD,cAAT,CAAwB15F,cAAxB,kBAAiDlrG,IAAI,CAACjN,IAAtD,oBAAsEwG,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBopB,IAAI,CAACw1B,QAAvB,CAAd,EAAgD;AAAE7P,kBAAQ,EAAE,iBAAZ;AAA+B9S,gBAAM,EAAEqgH,QAAQ,CAACjuG,eAAT,CAAyBvoB;AAAhE,SAAhD,CAAtE,CAAf;AACH;;AACD,aAAOqlL,YAAP;AACH,KARuC;AASxC;AACAtnF,gBAAY,EAAE,CAAC,CAACsrC;AAVwB,GAA5C;AAYH;;AACD,SAAS+lF,yBAAT,CAAmC1uO,IAAnC,EAAyC;AACrC,SAAOzG,MAAM,CAACoZ,cAAP,CAAsB3S,IAAI,CAACoO,SAA3B,MAA0C7U,MAAM,CAAC6U,SAAxD;AACH;AACD;AACA;AACA;AACA;;;AACA,SAAS84H,iBAAT,CAA2BlnI,IAA3B,EAAiCo4C,QAAjC,EAA2C;AACvC;AACA,MAAMswH,OAAO,GAAGgD,UAAU,EAA1B;AACA,MAAMz+D,YAAY,GAAGy7D,OAAO,CAACa,eAAR,CAAwBvpK,IAAxB,CAArB;AACA,SAAO;AACHjN,QAAI,EAAEiN,IAAI,CAACjN,IADR;AAEHiN,QAAI,EAAEA,IAFH;AAGH6pC,qBAAiB,EAAE,CAHhB;AAIH70C,YAAQ,EAAEojD,QAAQ,CAACpjD,QAAT,KAAsB9B,SAAtB,GAAkCklD,QAAQ,CAACpjD,QAA3C,GAAsD,IAJ7D;AAKH+sB,QAAI,EAAE4pJ,mBAAmB,CAAC3rK,IAAD,CALtB;AAMHwf,QAAI,EAAE44B,QAAQ,CAAC54B,IAAT,IAAiBqrI,SANpB;AAOH59C,gBAAY,EAAEA,YAPX;AAQH1uF,UAAM,EAAE65B,QAAQ,CAAC75B,MAAT,IAAmBxE,WARxB;AASHyE,WAAO,EAAE45B,QAAQ,CAAC55B,OAAT,IAAoBzE,WAT1B;AAUH+E,WAAO,EAAE6vN,sBAAsB,CAAC3uO,IAAD,EAAOitG,YAAP,EAAqB2hI,cAArB,CAV5B;AAWHzpI,aAAS,EAAE;AAAEC,mBAAa,EAAEsjE,OAAO,CAACxmD,gBAAR,CAAyBliH,IAAzB,EAA+B,aAA/B;AAAjB,KAXR;AAYHq1C,kBAAc,EAAE,IAZb;AAaH4vD,mBAAe,EAAE,CAACypI,yBAAyB,CAAC1uO,IAAD,CAbxC;AAcHse,YAAQ,EAAEuwN,eAAe,CAACz2L,QAAQ,CAAC95B,QAAV,CAdtB;AAeHM,aAAS,EAAEw5B,QAAQ,CAACx5B,SAAT,IAAsB,IAf9B;AAgBHI,eAAW,EAAE2vN,sBAAsB,CAAC3uO,IAAD,EAAOitG,YAAP,EAAqBvzG,WAArB;AAhBhC,GAAP;AAkBH;AACD;AACA;AACA;;;AACA,SAAS40O,mCAAT,CAA6CtuO,IAA7C,EAAmD;AAC/C,MAAM8uO,YAAY,GAAGv1O,MAAM,CAAC6U,SAA5B;AACA,MAAI/C,MAAM,GAAG9R,MAAM,CAACoZ,cAAP,CAAsB3S,IAAI,CAACoO,SAA3B,EAAsCD,WAAnD,CAF+C,CAG/C;;AACA,SAAO9C,MAAM,IAAIA,MAAM,KAAKyjO,YAA5B,EAA0C;AACtC;AACA;AACA,QAAI,CAAC/hF,eAAe,CAAC1hJ,MAAD,CAAhB,IAA4B,CAACyhJ,eAAe,CAACzhJ,MAAD,CAA5C,IACA0jO,0BAA0B,CAAC1jO,MAAD,CAD9B,EACwC;AACpCmjO,sBAAgB,CAACnjO,MAAD,EAAS,IAAT,CAAhB;AACH;;AACDA,UAAM,GAAG9R,MAAM,CAACoZ,cAAP,CAAsBtH,MAAtB,CAAT;AACH;AACJ;;AACD,SAAS2jO,yBAAT,CAAmCh6O,QAAnC,EAA6C;AACzC,SAAO,OAAOA,QAAP,KAAoB,QAApB,GAA+Bi6O,YAAY,CAACj6O,QAAD,CAA3C,GAAwDqe,iBAAiB,CAACre,QAAD,CAAhF;AACH;;AACD,SAAS43G,wBAAT,CAAkCjF,YAAlC,EAAgD0F,GAAhD,EAAqD;AACjD,SAAO;AACH1F,gBAAY,EAAEA,YADX;AAEHxgE,aAAS,EAAE6nM,yBAAyB,CAAC3hI,GAAG,CAACr4G,QAAL,CAFjC;AAGH2E,eAAW,EAAE0zG,GAAG,CAAC1zG,WAHd;AAIHF,SAAK,EAAE4zG,GAAG,CAAC5zG,KAJR;AAKHgqE,QAAI,EAAE4pC,GAAG,CAAC5pC,IAAJ,GAAW4pC,GAAG,CAAC5pC,IAAf,GAAsB,IALzB;AAMHokC,UAAM,EAAE,CAAC,CAACwF,GAAG,CAACxF,MANX;AAOHjuG,2BAAuB,EAAE,CAAC,CAACyzG,GAAG,CAACzzG;AAP5B,GAAP;AASH;;AACD,SAAS+0O,sBAAT,CAAgC3uO,IAAhC,EAAsCitG,YAAtC,EAAoDiiI,UAApD,EAAgE;AAC5D,MAAMC,WAAW,GAAG,EAApB;;AAD4D,+BAEjD/hI,KAFiD;AAGxD,QAAIH,YAAY,CAAC35F,cAAb,CAA4B85F,KAA5B,CAAJ,EAAwC;AACpC,UAAMoE,WAAW,GAAGvE,YAAY,CAACG,KAAD,CAAhC;AACAoE,iBAAW,CAAC1+G,OAAZ,CAAoB,UAAAu6G,GAAG,EAAI;AACvB,YAAI6hI,UAAU,CAAC7hI,GAAD,CAAd,EAAqB;AACjB,cAAI,CAACA,GAAG,CAACr4G,QAAT,EAAmB;AACf,kBAAM,IAAI1D,KAAJ,CAAU,qDAA6C87G,KAA7C,0BACRwlD,iBAAiB,CAAC5yJ,IAAD,CADT,gDAAV,CAAN;AAEH;;AACD,cAAIwxG,WAAW,CAACz/F,IAAZ,CAAiBq9N,iBAAjB,CAAJ,EAAyC;AACrC,kBAAM,IAAI99O,KAAJ,0DAAN;AACH;;AACD69O,qBAAW,CAACz6O,IAAZ,CAAiBk4G,wBAAwB,CAACQ,KAAD,EAAQC,GAAR,CAAzC;AACH;AACJ,OAXD;AAYH;AAjBuD;;AAE5D,OAAK,IAAMD,KAAX,IAAoBH,YAApB,EAAkC;AAAA,WAAvBG,KAAuB;AAgBjC;;AACD,SAAO+hI,WAAP;AACH;;AACD,SAASN,eAAT,CAAyBvwN,QAAzB,EAAmC;AAC/B,SAAOA,QAAQ,KAAKprB,SAAb,GAAyB,IAAzB,GAAgC+7O,YAAY,CAAC3wN,QAAD,CAAnD;AACH;;AACD,SAASswN,cAAT,CAAwBh6O,KAAxB,EAA+B;AAC3B,MAAM7B,IAAI,GAAG6B,KAAK,CAACwH,cAAnB;AACA,SAAOrJ,IAAI,KAAK,cAAT,IAA2BA,IAAI,KAAK,iBAA3C;AACH;;AACD,SAAS2G,WAAT,CAAqB9E,KAArB,EAA4B;AACxB,MAAM7B,IAAI,GAAG6B,KAAK,CAACwH,cAAnB;AACA,SAAOrJ,IAAI,KAAK,WAAT,IAAwBA,IAAI,KAAK,cAAxC;AACH;;AACD,SAASq8O,iBAAT,CAA2Bx6O,KAA3B,EAAkC;AAC9B,SAAOA,KAAK,CAACwH,cAAN,KAAyB,OAAhC;AACH;;AACD,SAAS6yO,YAAT,CAAsBr6O,KAAtB,EAA6B;AACzB,SAAOA,KAAK,CAAC8e,KAAN,CAAY,GAAZ,EAAiB/b,GAAjB,CAAqB,UAAAipF,KAAK;AAAA,WAAIA,KAAK,CAAClwE,IAAN,EAAJ;AAAA,GAA1B,CAAP;AACH;;AACD,IAAM2+N,eAAe,GAAG,CACpB,aADoB,EACL,UADK,EACO,aADP,EACsB,WADtB,EACmC,iBADnC,EACsD,oBADtD,EAEpB,oBAFoB,EAEE,uBAFF,CAAxB;;AAIA,SAASN,0BAAT,CAAoC/uO,IAApC,EAA0C;AACtC,MAAM0oK,OAAO,GAAGgD,UAAU,EAA1B;;AACA,MAAI2jE,eAAe,CAACt9N,IAAhB,CAAqB,UAAAu9N,QAAQ;AAAA,WAAI5mE,OAAO,CAACxmD,gBAAR,CAAyBliH,IAAzB,EAA+BsvO,QAA/B,CAAJ;AAAA,GAA7B,CAAJ,EAAgF;AAC5E,WAAO,IAAP;AACH;;AACD,MAAMriI,YAAY,GAAGy7D,OAAO,CAACz7D,YAAR,CAAqBjtG,IAArB,CAArB;;AACA,OAAK,IAAMotG,KAAX,IAAoBH,YAApB,EAAkC;AAC9B,QAAMuE,WAAW,GAAGvE,YAAY,CAACG,KAAD,CAAhC;;AACA,SAAK,IAAI94G,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGk9G,WAAW,CAAC3+G,MAAhC,EAAwCyB,CAAC,EAAzC,EAA6C;AACzC,UAAMgB,OAAO,GAAGk8G,WAAW,CAACl9G,CAAD,CAA3B;AACA,UAAMi7O,YAAY,GAAGj6O,OAAO,CAAC8G,cAA7B;;AACA,UAAIgzO,iBAAiB,CAAC95O,OAAD,CAAjB,IAA8Bs5O,cAAc,CAACt5O,OAAD,CAA5C,IAAyDoE,WAAW,CAACpE,OAAD,CAApE,IACAi6O,YAAY,KAAK,QADjB,IAC6BA,YAAY,KAAK,aAD9C,IAEAA,YAAY,KAAK,cAFrB,EAEqC;AACjC,eAAO,IAAP;AACH;AACJ;AACJ;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,WAAT,CAAqBxvO,IAArB,EAA2B4iB,IAA3B,EAAiC;AAC7B,MAAI6sN,SAAS,GAAG,IAAhB;AACA,MAAI9qC,YAAY,GAAG,IAAnB;AACAprM,QAAM,CAAC6jH,cAAP,CAAsBp9G,IAAtB,EAA4BwrJ,cAA5B,EAA4C;AACxCj0J,OAAG,EAAE,eAAM;AACP,UAAIotM,YAAY,KAAK,IAArB,EAA2B;AACvB,YAAMvsJ,QAAQ,GAAGkvF,eAAe,CAACtnI,IAAD,EAAO4iB,IAAP,CAAhC;AACA,YAAMkzH,QAAQ,GAAG4wB,iBAAiB,EAAlC;AACAi+B,oBAAY,GAAG7uD,QAAQ,CAAC8uD,cAAT,CAAwB15F,cAAxB,kBAAiD9yD,QAAQ,CAACrlD,IAA1D,oBAA0EwG,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB4+C,QAAlB,CAAd,EAA2C;AAAE7P,kBAAQ,EAAE,iBAAZ;AAA+B9S,gBAAM,EAAEqgH,QAAQ,CAACjuG,eAAT,CAAyB/nB;AAAhE,SAA3C,CAA1E,CAAf;AACH;;AACD,aAAO6kL,YAAP;AACH,KARuC;AASxC;AACAtnF,gBAAY,EAAE,CAAC,CAACsrC;AAVwB,GAA5C;AAYApvJ,QAAM,CAAC6jH,cAAP,CAAsBp9G,IAAtB,EAA4BkrJ,WAA5B,EAAyC;AACrC3zJ,OAAG,EAAE,eAAM;AACP,UAAIk4O,SAAS,KAAK,IAAlB,EAAwB;AACpB,YAAMr3L,QAAQ,GAAGkvF,eAAe,CAACtnI,IAAD,EAAO4iB,IAAP,CAAhC;AACA6sN,iBAAS,GAAG/oE,iBAAiB,GAAG8oE,WAApB,CAAgCtkI,cAAhC,kBAAyD9yD,QAAQ,CAACrlD,IAAlE,qBAAmFqlD,QAAnF,CAAZ;AACH;;AACD,aAAOq3L,SAAP;AACH,KAPoC;AAQrC;AACApyH,gBAAY,EAAE,CAAC,CAACsrC;AATqB,GAAzC;AAWH;;AACD,SAASrhB,eAAT,CAAyBtnI,IAAzB,EAA+B4iB,IAA/B,EAAqC;AACjC,SAAO;AACH5iB,QAAI,EAAEA,IADH;AAEH6pC,qBAAiB,EAAE,CAFhB;AAGH92C,QAAI,EAAEiN,IAAI,CAACjN,IAHR;AAIHgvB,QAAI,EAAE4pJ,mBAAmB,CAAC3rK,IAAD,CAJtB;AAKHs4C,YAAQ,EAAE11B,IAAI,CAAC7vB,IALZ;AAMH2H,QAAI,EAAEkoB,IAAI,CAACloB,IAAL,KAAcxH,SAAd,GAA0B0vB,IAAI,CAACloB,IAA/B,GAAsC;AANzC,GAAP;AAQH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMg1O,IAAI,GAAG,SAAPA,IAAO;AAAA,MAACz1O,GAAD,uEAAO,EAAP;AAAA,SAAcA,GAAd;AAAA,CAAb;AAAA,IAAgC01O,IAAI,GAAG,SAAPA,IAAO,CAAC3vO,IAAD,EAAO4iB,IAAP;AAAA,SAAgBgtN,wBAAwB,CAAC5vO,IAAD,EAAO4iB,IAAP,CAAxC;AAAA,CAAvC;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMtD,SAAS,GAAGmlJ,aAAa,CAAC,WAAD,EAAcirE,IAAd,EAAoBx8O,SAApB,EAA+BA,SAA/B,EAA0Cy8O,IAA1C,CAA/B;;AACA,IAAME,IAAI,GAAG,SAAPA,IAAO;AAAA,MAACx1O,CAAD,uEAAK,EAAL;AAAA,SAAad,MAAM,CAACC,MAAP,CAAc;AAAEc,mBAAe,EAAEH,uBAAuB,CAACI;AAA3C,GAAd,EAAoEF,CAApE,CAAb;AAAA,CAAb;AAAA,IAAmGy1O,IAAI,GAAG,SAAPA,IAAO,CAAC9vO,IAAD,EAAO4iB,IAAP;AAAA,SAAgBmtN,wBAAwB,CAAC/vO,IAAD,EAAO4iB,IAAP,CAAxC;AAAA,CAA1G;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMgiD,SAAS,GAAG6/F,aAAa,CAAC,WAAD,EAAcorE,IAAd,EAAoBvwN,SAApB,EAA+BpsB,SAA/B,EAA0C48O,IAA1C,CAA/B;;AACA,IAAME,EAAE,GAAG,SAALA,EAAK,CAACv1O,CAAD;AAAA,SAAQlB,MAAM,CAACC,MAAP,CAAc;AAAEkB,QAAI,EAAE;AAAR,GAAd,EAA8BD,CAA9B,CAAR;AAAA,CAAX;AAAA,IAAsDw1O,EAAE,GAAG,SAALA,EAAK,CAACjwO,IAAD,EAAO4iB,IAAP;AAAA,SAAgBstN,mBAAmB,CAAClwO,IAAD,EAAO4iB,IAAP,CAAnC;AAAA,CAA3D;AACA;AACA;AACA;AACA;;;AACA,IAAM9C,IAAI,GAAG2kJ,aAAa,CAAC,MAAD,EAASurE,EAAT,EAAa98O,SAAb,EAAwBA,SAAxB,EAAmC+8O,EAAnC,CAA1B;;AACA,IAAME,EAAE,GAAG,SAALA,EAAK,CAACv1O,mBAAD;AAAA,SAA0B;AAAEA,uBAAmB,EAAnBA;AAAF,GAA1B;AAAA,CAAX;AACA;AACA;AACA;AACA;;;AACA,IAAMmqJ,KAAK,GAAGygB,iBAAiB,CAAC,OAAD,EAAU2qE,EAAV,CAA/B;;AACA,IAAMC,EAAE,GAAG,SAALA,EAAK,CAACx1O,mBAAD;AAAA,SAA0B;AAAEA,uBAAmB,EAAnBA;AAAF,GAA1B;AAAA,CAAX;AACA;AACA;AACA;AACA;;;AACA,IAAMoqJ,MAAM,GAAGwgB,iBAAiB,CAAC,QAAD,EAAW4qE,EAAX,CAAhC;;AACA,IAAMC,EAAE,GAAG,SAALA,EAAK,CAACt1O,gBAAD;AAAA,SAAuB;AAAEA,oBAAgB,EAAhBA;AAAF,GAAvB;AAAA,CAAX;AACA;AACA;AACA;AACA;;;AACA,IAAMu1O,WAAW,GAAG9qE,iBAAiB,CAAC,aAAD,EAAgB6qE,EAAhB,CAArC;;AACA,IAAME,EAAE,GAAG,SAALA,EAAK,CAACt1O,SAAD,EAAYC,IAAZ;AAAA,SAAsB;AAAED,aAAS,EAATA,SAAF;AAAaC,QAAI,EAAJA;AAAb,GAAtB;AAAA,CAAX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMs1O,YAAY,GAAGhrE,iBAAiB,CAAC,cAAD,EAAiB+qE,EAAjB,CAAtC;AACA,IAAME,mCAAmC,GAAGpqG,gBAA5C;AACA,IAAMqqG,mCAAmC,GAAGlC,gBAA5C;AACA,IAAMmC,8BAA8B,GAAGnB,WAAvC;AACA,IAAMoB,kCAAkC,GAAGtoB,IAA3C;AACA,IAAMuoB,kCAAkC,GAAGvoB,IAA3C;AACA,IAAMwoB,6BAA6B,GAAGxoB,IAAtC;AACA,IAAMynB,wBAAwB,GAAGU,mCAAjC;AACA,IAAMb,wBAAwB,GAAGc,mCAAjC;AACA,IAAMR,mBAAmB,GAAGS,8BAA5B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMI,IAAI,GAAG,SAAPA,IAAO,CAAC31O,QAAD;AAAA,SAAcA,QAAd;AAAA,CAAb;AAAA,IAAqC41O,IAAI;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAZqCA,IAYrC,CAAChxO,IAAD,EAAO4iB,IAAP;AAAA,SAAgBquN,uBAAuB,CAACjxO,IAAD,EAAO4iB,IAAP,CAAvC;AAAA,CAZA;AAaA;AACA;AACA;AACA;;;AACA,IAAMjC,QAAQ,GAAG8jJ,aAAa,CAAC,UAAD,EAAassE,IAAb,EAAmB79O,SAAnB,EAA8BA,SAA9B,EAAyC89O,IAAzC,CAA9B;;AACA,SAASE,oBAAT,CAA8Bl7L,UAA9B,EAA0CoC,QAA1C,EAAoD;AAChD,MAAIjC,OAAO,GAAIiC,QAAQ,IAAIA,QAAQ,CAACjC,OAAtB,IAAkC,EAAhD;;AACA,MAAIiC,QAAQ,IAAIA,QAAQ,CAAChC,OAAzB,EAAkC;AAC9BD,WAAO,+IAAOA,OAAP,IAAgBiC,QAAQ,CAAChC,OAAzB,EAAP;AACH;;AACDJ,YAAU,CAAC+xG,IAAX,GAAkBV,gBAAgB,CAAC;AAC/BnrJ,WAAO,EAAEopM,kCAAkC,CAACtvJ,UAAD,EAAa;AAAEr0B,cAAQ,EAAEq0B;AAAZ,KAAb,CADZ;AAE/Bp3B,aAAS,EAAEw5B,QAAQ,IAAIA,QAAQ,CAACx5B,SAFD;AAG/Bu3B,WAAO,EAAEA;AAHsB,GAAD,CAAlC;AAKH;;AACD,IAAMg7L,kCAAkC,GAAGp7L,eAA3C;AACA,IAAMq7L,iCAAiC,GAAGF,oBAA1C;AACA,IAAMD,uBAAuB,GAAGE,kCAAhC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,IAAME,eAAe,GAAG,IAAItrE,cAAJ,CAAmB,yBAAnB,CAAxB;AACA;AACA;AACA;AACA;AACA;;IACMurE,qB;AACF,iCAAYC,QAAZ,EAAsB;AAAA;;AAAA;;AAClB,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKxqK,OAAL,GAAeuhJ,IAAf;AACA,SAAKkpB,MAAL,GAAclpB,IAAd;AACA,SAAKmpB,WAAL,GAAmB,KAAnB;AACA,SAAK7+F,IAAL,GAAY,KAAZ;AACA,SAAK8+F,WAAL,GAAmB,IAAI1/N,OAAJ,CAAY,UAACnd,GAAD,EAAM88O,GAAN,EAAc;AACzC,aAAI,CAAC5qK,OAAL,GAAelyE,GAAf;AACA,aAAI,CAAC28O,MAAL,GAAcG,GAAd;AACH,KAHkB,CAAnB;AAIH;AACD;;;;;WACA,2BAAkB;AAAA;;AACd,UAAI,KAAKF,WAAT,EAAsB;AAClB;AACH;;AACD,UAAMG,iBAAiB,GAAG,EAA1B;;AACA,UAAMrL,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACnB,eAAI,CAAC3zF,IAAL,GAAY,IAAZ;;AACA,eAAI,CAAC7rE,OAAL;AACH,OAHD;;AAIA,UAAI,KAAKwqK,QAAT,EAAmB;AACf,aAAK,IAAIj9O,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKi9O,QAAL,CAAc1+O,MAAlC,EAA0CyB,CAAC,EAA3C,EAA+C;AAC3C,cAAMu9O,UAAU,GAAG,KAAKN,QAAL,CAAcj9O,CAAd,GAAnB;;AACA,cAAIod,SAAS,CAACmgO,UAAD,CAAb,EAA2B;AACvBD,6BAAiB,CAACl9O,IAAlB,CAAuBm9O,UAAvB;AACH;AACJ;AACJ;;AACD7/N,aAAO,CAACH,GAAR,CAAY+/N,iBAAZ,EACKjgO,IADL,CACU,YAAM;AACZ40N,gBAAQ;AACX,OAHD,EAIKuL,KAJL,CAIW,UAAAxvO,CAAC,EAAI;AACZ,eAAI,CAACkvO,MAAL,CAAYlvO,CAAZ;AACH,OAND;;AAOA,UAAIsvO,iBAAiB,CAAC/+O,MAAlB,KAA6B,CAAjC,EAAoC;AAChC0zO,gBAAQ;AACX;;AACD,WAAKkL,WAAL,GAAmB,IAAnB;AACH;;;;;;AAELH,qBAAqB,CAAC7lF,IAAtB,GAA6B,SAASsmF,6BAAT,CAAuC/pM,CAAvC,EAA0C;AAAE,SAAO,KAAKA,CAAC,IAAIspM,qBAAV,EAAiCxmE,QAAQ,CAACumE,eAAD,EAAkB,CAAlB,CAAzC,CAAP;AAAwE,CAAjJ;;AACAC,qBAAqB,CAACr4O,KAAtB,GAA8BwgB,kBAAkB,CAAC;AAAE5gB,OAAK,EAAEy4O,qBAAT;AAAgCp1O,SAAO,EAAEo1O,qBAAqB,CAAC7lF;AAA/D,CAAD,CAAhD;;AACA6lF,qBAAqB,CAAC1sF,cAAtB,GAAuC;AAAA,SAAM,CACzC;AAAE5kJ,QAAI,EAAE4Q,KAAR;AAAe4rH,cAAU,EAAE,CAAC;AAAEx8H,UAAI,EAAEyrK,MAAR;AAAgBvwK,UAAI,EAAE,CAACm2O,eAAD;AAAtB,KAAD,EAA6C;AAAErxO,UAAI,EAAEyoJ;AAAR,KAA7C;AAA3B,GADyC,CAAN;AAAA,CAAvC;;AAGA,CAAC,YAAY;AAAE,GAAC,OAAOE,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDvtI,gBAAgB,CAACk2N,qBAAD,EAAwB,CAAC;AACnGtxO,QAAI,EAAEwrC;AAD6F,GAAD,CAAxB,EAE1E,YAAY;AAAE,WAAO,CAAC;AAAExrC,UAAI,EAAE4Q,KAAR;AAAe4rH,gBAAU,EAAE,CAAC;AAC1Cx8H,YAAI,EAAEyrK,MADoC;AAE1CvwK,YAAI,EAAE,CAACm2O,eAAD;AAFoC,OAAD,EAG1C;AACCrxO,YAAI,EAAEyoJ;AADP,OAH0C;AAA3B,KAAD,CAAP;AAKF,GAP8D,EAO5D,IAP4D,CAAnE;AAOe,CAP9B;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMupF,MAAM,GAAG,IAAIjsE,cAAJ,CAAmB,OAAnB,CAAf;;AACA,SAASksE,2BAAT,GAAuC;AACnC,mBAAUC,WAAW,EAArB,SAA0BA,WAAW,EAArC,SAA0CA,WAAW,EAArD;AACH;AACD;AACA;AACA;AACA;;;AACA,IAAMC,sBAAsB,GAAG;AAC3B9pH,SAAO,EAAE2pH,MADkB;AAE3BlwN,YAAU,EAAEmwN,2BAFe;AAG3BlwN,MAAI,EAAE;AAHqB,CAA/B;;AAKA,SAASmwN,WAAT,GAAuB;AACnB,SAAOnzO,MAAM,CAACm1C,YAAP,CAAoB,KAAK9Z,IAAI,CAACoyG,KAAL,CAAWpyG,IAAI,CAACg4M,MAAL,KAAgB,EAA3B,CAAzB,CAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,IAAMC,oBAAoB,GAAG,IAAItsE,cAAJ,CAAmB,sBAAnB,CAA7B;AACA;AACA;AACA;AACA;;AACA,IAAMusE,WAAW,GAAG,IAAIvsE,cAAJ,CAAmB,aAAnB,CAApB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMwsE,sBAAsB,GAAG,IAAIxsE,cAAJ,CAAmB,sBAAnB,CAA/B;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMysE,gBAAgB,GAAG,IAAIzsE,cAAJ,CAAmB,+BAAnB,CAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM1jB,O;;;;;;;WACF,aAAI/mH,OAAJ,EAAa;AACT;AACA65E,aAAO,CAACs9H,GAAR,CAAYn3M,OAAZ;AACH,K,CACD;;;;WACA,cAAKA,OAAL,EAAc;AACV;AACA65E,aAAO,CAACrlC,IAAR,CAAax0C,OAAb;AACH;;;;;;AAEL+mH,OAAO,CAACoJ,IAAR,GAAe,SAASinF,eAAT,CAAyB1qM,CAAzB,EAA4B;AAAE,SAAO,KAAKA,CAAC,IAAIq6G,OAAV,GAAP;AAA8B,CAA3E;;AACAA,OAAO,CAACppJ,KAAR,GAAgBwgB,kBAAkB,CAAC;AAAE5gB,OAAK,EAAEwpJ,OAAT;AAAkBnmJ,SAAO,EAAEmmJ,OAAO,CAACoJ;AAAnC,CAAD,CAAlC;;AACA,CAAC,YAAY;AAAE,GAAC,OAAO9C,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDvtI,gBAAgB,CAACinI,OAAD,EAAU,CAAC;AACrFriJ,QAAI,EAAEwrC;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,IAAMmnM,WAAW,GAAG,IAAI5sE,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,IAAM6sE,qBAAqB,GAAG,IAAI7sE,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,IAAM8sE,YAAY,GAAG,IAAI9sE,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,IAAMnsJ,mBAAmB,GAAG,IAAImsJ,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,IAAI/pK,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,0BAA0B,CAAC,QAAD,CAA1B,GAAuC,CAAxC,CAA1B,GAAuE,QAAvE;AACH,CAJD,EAIGA,0BAA0B,KAAKA,0BAA0B,GAAG,EAAlC,CAJ7B;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM82O,6BAA6B,GAAG,IAAtC;AACA,IAAMC,4BAA4B,GAAG,KAArC;AACA,IAAMC,UAAU,GAAGF,6BAAnB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;IACMG,4B,GACF,sCAAYn6F,eAAZ,EAA6BD,kBAA7B,EAAiD;AAAA;;AAC7C,OAAKC,eAAL,GAAuBA,eAAvB;AACA,OAAKD,kBAAL,GAA0BA,kBAA1B;AACH,C;;AAEL,SAASq6F,WAAT,GAAuB;AACnB,QAAM,IAAI5hP,KAAJ,kCAAN;AACH;;AACD,IAAM6hP,oCAAoC,GAAGD,WAA7C;;AACA,IAAME,qCAAqC,GAAG,SAAxCA,qCAAwC,CAAUp9L,UAAV,EAAsB;AAChE,SAAO,IAAI4tL,iBAAJ,CAAsB5tL,UAAtB,CAAP;AACH,CAFD;;AAGA,IAAMq9L,0BAA0B,GAAGD,qCAAnC;AACA,IAAME,qCAAqC,GAAGJ,WAA9C;;AACA,IAAMK,sCAAsC,GAAG,SAAzCA,sCAAyC,CAAUv9L,UAAV,EAAsB;AACjE,SAAOhkC,OAAO,CAAC+0D,OAAR,CAAgBqsK,qCAAqC,CAACp9L,UAAD,CAArD,CAAP;AACH,CAFD;;AAGA,IAAMw9L,2BAA2B,GAAGD,sCAApC;AACA,IAAME,oDAAoD,GAAGP,WAA7D;;AACA,IAAMQ,qDAAqD,GAAG,SAAxDA,qDAAwD,CAAU19L,UAAV,EAAsB;AAChF,MAAM8iG,eAAe,GAAGs6F,qCAAqC,CAACp9L,UAAD,CAA7D;AACA,MAAM98B,SAAS,GAAGm0I,cAAc,CAACr3G,UAAD,CAAhC;AACA,MAAM6iG,kBAAkB,GAAGwgC,aAAa,CAACngK,SAAS,CAACg9B,YAAX,CAAb,CACtBh0B,MADsB,CACf,UAACqpK,SAAD,EAAY//E,WAAZ,EAA4B;AACpC,QAAMiyF,YAAY,GAAG3wC,eAAe,CAACthD,WAAD,CAApC;AACAiyF,gBAAY,IAAIlS,SAAS,CAAC72L,IAAV,CAAe,IAAIwtO,kBAAJ,CAAuBzkC,YAAvB,CAAf,CAAhB;AACA,WAAOlS,SAAP;AACH,GAL0B,EAKxB,EALwB,CAA3B;AAMA,SAAO,IAAI0nD,4BAAJ,CAAiCn6F,eAAjC,EAAkDD,kBAAlD,CAAP;AACH,CAVD;;AAWA,IAAM86F,0CAA0C,GAAGD,qDAAnD;AACA,IAAME,qDAAqD,GAAGV,WAA9D;;AACA,IAAMW,sDAAsD,GAAG,SAAzDA,sDAAyD,CAAU79L,UAAV,EAAsB;AACjF,SAAOhkC,OAAO,CAAC+0D,OAAR,CAAgB2sK,qDAAqD,CAAC19L,UAAD,CAArE,CAAP;AACH,CAFD;;AAGA,IAAM89L,2CAA2C,GAAGD,sDAApD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACME,Q;AACF,sBAAc;AAAA;;AACV;AACR;AACA;AACA;AACQ,SAAKC,iBAAL,GAAyBX,0BAAzB;AACA;AACR;AACA;;AACQ,SAAKY,kBAAL,GAA0BT,2BAA1B;AACA;AACR;AACA;;AACQ,SAAKU,iCAAL,GAAyCP,0CAAzC;AACA;AACR;AACA;;AACQ,SAAKQ,kCAAL,GAA0CL,2CAA1C;AACH;AACD;AACJ;AACA;;;;;WACI,sBAAa,CAAG;AAChB;AACJ;AACA;;;;WACI,uBAAc9zO,IAAd,EAAoB,CAAG;AACvB;AACJ;AACA;;;;WACI,qBAAYg2C,UAAZ,EAAwB;AACpB,aAAO9iD,SAAP;AACH;;;;;;AAEL6gP,QAAQ,CAACtoF,IAAT,GAAgB,SAAS2oF,gBAAT,CAA0BpsM,CAA1B,EAA6B;AAAE,SAAO,KAAKA,CAAC,IAAI+rM,QAAV,GAAP;AAA+B,CAA9E;;AACAA,QAAQ,CAAC96O,KAAT,GAAiBwgB,kBAAkB,CAAC;AAAE5gB,OAAK,EAAEk7O,QAAT;AAAmB73O,SAAO,EAAE63O,QAAQ,CAACtoF;AAArC,CAAD,CAAnC;;AACA,CAAC,YAAY;AAAE,GAAC,OAAO9C,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmDvtI,gBAAgB,CAAC24N,QAAD,EAAW,CAAC;AACtF/zO,QAAI,EAAEwrC;AADgF,GAAD,CAAX,EAE1E,YAAY;AAAE,WAAO,EAAP;AAAY,GAFgD,EAE9C,IAF8C,CAAnE;AAE6B,CAF5C;AAGA;AACA;AACA;AACA;AACA;;;AACA,IAAM6oM,gBAAgB,GAAG,IAAItuE,cAAJ,CAAmB,iBAAnB,CAAzB;AACA;AACA;AACA;AACA;AACA;;IACMuuE,e;;;AAGN;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMhuH,OAAO,GAAI;AAAA,SAAMt0G,OAAO,CAAC+0D,OAAR,CAAgB,CAAhB,CAAN;AAAA,CAAD,EAAhB;;AACA,SAASwtK,iBAAT,CAA2B1wO,EAA3B,EAA+B;AAC3B,MAAI,OAAO2wO,IAAP,KAAgB,WAApB,EAAiC;AAC7B;AACAluH,WAAO,CAAC30G,IAAR,CAAa,YAAM;AACf9N,QAAE,IAAIA,EAAE,CAACgrD,KAAH,CAAS,IAAT,EAAe,IAAf,CAAN;AACH,KAFD;AAGH,GALD,MAMK;AACD2lL,QAAI,CAACl/O,OAAL,CAAai/O,iBAAb,CAA+B,mBAA/B,EAAoD1wO,EAApD;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4wO,8BAAT,GAA0C;AACtC,MAAIC,2BAA2B,GAAGrgO,OAAO,CAAC,uBAAD,CAAzC;AACA,MAAIsgO,0BAA0B,GAAGtgO,OAAO,CAAC,sBAAD,CAAxC;;AACA,MAAI,OAAOmgO,IAAP,KAAgB,WAAhB,IAA+BE,2BAA/B,IAA8DC,0BAAlE,EAA8F;AAC1F;AACA;AACA,QAAMC,8BAA8B,GAAGF,2BAA2B,CAACF,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAlE;;AACA,QAAID,8BAAJ,EAAoC;AAChCF,iCAA2B,GAAGE,8BAA9B;AACH;;AACD,QAAME,6BAA6B,GAAGH,0BAA0B,CAACH,IAAI,CAACK,UAAL,CAAgB,kBAAhB,CAAD,CAAhE;;AACA,QAAIC,6BAAJ,EAAmC;AAC/BH,gCAA0B,GAAGG,6BAA7B;AACH;AACJ;;AACD,SAAO;AAAEJ,+BAA2B,EAA3BA,2BAAF;AAA+BC,8BAA0B,EAA1BA;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;;;IACM9vF,M;AACF,yBAAoI;AAAA,sCAAtHkwF,oBAAsH;AAAA,QAAtHA,oBAAsH,sCAA/F,KAA+F;AAAA,sCAAxFC,kCAAwF;AAAA,QAAxFA,kCAAwF,sCAAnD,KAAmD;AAAA,sCAA5CC,gCAA4C;AA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AN;AACH,OAJM,CAAP;AAKH;;AACD,WAAO7N,MAAP;AACH,GAVD,CAWA,OAAO6N,CAAP,EAAU;AACNmgJ,UAAM,CAACk0F,iBAAP,CAAyB;AAAA,aAAMjhD,YAAY,CAAC5jI,WAAb,CAAyBxvD,CAAzB,CAAN;AAAA,KAAzB,EADM,CAEN;;AACA,UAAMA,CAAN;AACH;AACJ;;AACD,SAAS46O,cAAT,CAAwBn+E,GAAxB,EAA6BsrC,IAA7B,EAAmC;AAC/B,MAAIz5L,KAAK,CAACC,OAAN,CAAcw5L,IAAd,CAAJ,EAAyB;AACrBtrC,OAAG,GAAGsrC,IAAI,CAACnoL,MAAL,CAAYg7N,cAAZ,EAA4Bn+E,GAA5B,CAAN;AACH,GAFD,MAGK;AACDA,OAAG,GAAGxlK,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBulK,GAAlB,CAAd,EAAsCsrC,IAAtC,CAAN;AACH;;AACD,SAAOtrC,GAAP;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMq+E,c;AACF;AACA,0BAAYG,KAAZ,EAAmB5tK,QAAnB,EAA6B2sK,SAA7B,EAAwCkB,iBAAxC,EAA2DC,yBAA3D,EAAsFC,WAAtF,EAAmG;AAAA;;AAAA;;AAC/F,SAAKH,KAAL,GAAaA,KAAb;AACA,SAAK5tK,QAAL,GAAgBA,QAAhB;AACA,SAAK2sK,S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AA;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;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;AA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AAgB,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;;;IAE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A9B;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,WAAK,gBAAL,GAAwB,WAAxB;AACA,WAAK,YAAL,GAAoB,IAApB,CAHwD,CAG/B;;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AhB,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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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;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;AAEA;AAGA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAGA;AAGA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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iB,OAAjB;AACD,OAFD,MAEO;AACL,oBAAY,GAAG,EAAf;AACD;;AACD,aAAO,YAAP;AACD;;;WAED,gBAAO,OAAP,EAAqB,YAArB,EAAiE;AAAA;;AAC/D,UAAI,oBAAoB,GAAG,KAAK,IAAL,CAAU,GAAV,CAAc,OAAd,CAA3B;;AACA,UAAI,CAAC,oBAAL,EAA2B;AACzB,aAAK,IAAL,CAAU,GAAV,CAAc,OAAd,EAAuB,oBAAoB,GAAG,EAA9C;AACD;;AACD,mDAAoB,EAAC,IAArB,gKAA6B,YAA7B;AACD;;;WAED,aAAI,OAAJ,EAAgB;AACd,aAAO,KAAK,IAAL,CAAU,GAAV,CAAc,OAAd,CAAP;AACD;;;WAED,iBAAK;AACH,WAAK,IAAL,CAAU,KAAV;AACD;;;;;ACpCH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAUA,IAAM,yBAAyB,GAAG,CAAlC;AACA,IAAM,WAAW,GAAG,QAApB;AACA,IAAM,iBAAiB,GAAG,IAAI,MAAJ,CAAW,WAAX,EAAwB,GAAxB,CAA1B;AACA,IAAM,WAAW,GAAG,QAApB;AACA,IAAM,iBAAiB,GAAG,IAAI,MAAJ,CAAW,WAAX,EAAwB,GAAxB,CAA1B;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uBAAhB,CACI,MADJ,EAC6B,WAD7B,EAC+C,GAD/C,EAEI,cAFJ,EAE4B,cAF5B,EAI+D;AAAA,MAFX,cAEW,uEAFkB,EAElB;AAAA,M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","file":"vendor.js","sourcesContent":["export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\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","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.js.map","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","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","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}","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","import {NgZone} from '@angular/core';\nimport {Observable, OperatorFunction} from 'rxjs';\n\nexport function toInteger(value: any): number {\n return parseInt(`${value}`, 10);\n}\n\nexport function toString(value: any): string {\n return (value !== undefined && value !== null) ? `${value}` : '';\n}\n\nexport function getValueInRange(value: number, max: number, min = 0): number {\n return Math.max(Math.min(value, max), min);\n}\n\nexport function isString(value: any): value is string {\n return typeof value === 'string';\n}\n\nexport function isNumber(value: any): value is number {\n return !isNaN(toInteger(value));\n}\n\nexport function isInteger(value: any): value is number {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nexport function isDefined(value: any): boolean {\n return value !== undefined && value !== null;\n}\n\nexport function padNumber(value: number) {\n if (isNumber(value)) {\n return `0${value}`.slice(-2);\n } else {\n return '';\n }\n}\n\nexport function regExpEscape(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nexport function hasClassName(element: any, className: string): boolean {\n return element && element.className && element.className.split &&\n element.className.split(/\\s+/).indexOf(className) >= 0;\n}\n\nif (typeof Element !== 'undefined' && !Element.prototype.closest) {\n // Polyfill for ie10+\n\n if (!Element.prototype.matches) {\n // IE uses the non-standard name: msMatchesSelector\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector || Element.prototype.webkitMatchesSelector;\n }\n\n Element.prototype.closest = function(s: string) {\n let el = this;\n if (!document.documentElement.contains(el)) {\n return null;\n }\n do {\n if (el.matches(s)) {\n return el;\n }\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n return null;\n };\n}\n\nexport function closest(element: HTMLElement, selector?: string): HTMLElement | null {\n if (!selector) {\n return null;\n }\n\n /*\n * In certain browsers (e.g. Edge 44.18362.449.0) HTMLDocument does\n * not support `Element.prototype.closest`. To emulate the correct behaviour\n * we return null when the method is missing.\n *\n * Note that in evergreen browsers `closest(document.documentElement, 'html')`\n * will return the document element whilst in Edge null will be returned. This\n * compromise was deemed good enough.\n */\n if (typeof element.closest === 'undefined') {\n return null;\n }\n\n return element.closest(selector);\n}\n\n/**\n * Force a browser reflow\n * @param element element where to apply the reflow\n */\nexport function reflow(element: HTMLElement) {\n return (element || document.body).offsetHeight;\n}\n\n/**\n * Creates an observable where all callbacks are executed inside a given zone\n *\n * @param zone\n */\nexport function runInZone(zone: NgZone): OperatorFunction {\n return (source) => {\n return new Observable(observer => {\n const onNext = (value: T) => zone.run(() => observer.next(value));\n const onError = (e: any) => zone.run(() => observer.error(e));\n const onComplete = () => zone.run(() => observer.complete());\n return source.subscribe(onNext, onError, onComplete);\n });\n };\n}\n","export const environment = {\n animation: true,\n transitionTimerDelayMs: 5,\n};\n","import {Injectable} from '@angular/core';\nimport {environment} from './environment';\n\n/**\n * Global ng-bootstrap config\n *\n * @since 8.0.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbConfig {\n animation = environment.animation;\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [NgbAccordion](#/components/accordion/api#NgbAccordion) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all accordions used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbAccordionConfig {\n closeOthers = false;\n type: string;\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","export function getTransitionDurationMs(element: HTMLElement) {\n const {transitionDelay, transitionDuration} = window.getComputedStyle(element);\n const transitionDelaySec = parseFloat(transitionDelay);\n const transitionDurationSec = parseFloat(transitionDuration);\n\n return (transitionDelaySec + transitionDurationSec) * 1000;\n}\n","import {NgZone} from '@angular/core';\nimport {EMPTY, fromEvent, Observable, of, race, Subject, timer} from 'rxjs';\nimport {endWith, filter, takeUntil} from 'rxjs/operators';\nimport {getTransitionDurationMs} from './util';\nimport {environment} from '../../environment';\nimport {runInZone} from '../util';\n\nexport type NgbTransitionStartFn = (element: HTMLElement, animation: boolean, context: T) =>\n NgbTransitionEndFn | void;\nexport type NgbTransitionEndFn = () => void;\n\nexport interface NgbTransitionOptions {\n animation: boolean;\n runningTransition: 'continue' | 'stop';\n context?: T;\n}\n\nexport interface NgbTransitionCtx {\n transition$: Subject;\n complete: () => void;\n context: T;\n}\n\nconst noopFn: NgbTransitionEndFn = () => {};\n\nconst {transitionTimerDelayMs} = environment;\nconst runningTransitions = new Map>();\n\nexport const ngbRunTransition =\n (zone: NgZone, element: HTMLElement, startFn: NgbTransitionStartFn, options: NgbTransitionOptions):\n Observable => {\n\n // Getting initial context from options\n let context = options.context || {};\n\n // Checking if there are already running transitions on the given element.\n const running = runningTransitions.get(element);\n if (running) {\n switch (options.runningTransition) {\n // If there is one running and we want for it to 'continue' to run, we have to cancel the new one.\n // We're not emitting any values, but simply completing the observable (EMPTY).\n case 'continue':\n return EMPTY;\n // If there is one running and we want for it to 'stop', we have to complete the running one.\n // We're simply completing the running one and not emitting any values and merging newly provided context\n // with the one coming from currently running transition.\n case 'stop':\n zone.run(() => running.transition$.complete());\n context = Object.assign(running.context, context);\n runningTransitions.delete(element);\n }\n }\n\n // Running the start function\n const endFn = startFn(element, options.animation, context) || noopFn;\n\n // If 'prefer-reduced-motion' is enabled, the 'transition' will be set to 'none'.\n // If animations are disabled, we have to emit a value and complete the observable\n // In this case we have to call the end function, but can finish immediately by emitting a value,\n // completing the observable and executing end functions synchronously.\n if (!options.animation || window.getComputedStyle(element).transitionProperty === 'none') {\n zone.run(() => endFn());\n return of(undefined).pipe(runInZone(zone));\n }\n\n // Starting a new transition\n const transition$ = new Subject();\n const finishTransition$ = new Subject();\n const stop$ = transition$.pipe(endWith(true));\n runningTransitions.set(element, {\n transition$,\n complete: () => {\n finishTransition$.next();\n finishTransition$.complete();\n },\n context\n });\n\n const transitionDurationMs = getTransitionDurationMs(element);\n\n // 1. We have to both listen for the 'transitionend' event and have a 'just-in-case' timer,\n // because 'transitionend' event might not be fired in some browsers, if the transitioning\n // element becomes invisible (ex. when scrolling, making browser tab inactive, etc.). The timer\n // guarantees, that we'll release the DOM element and complete 'ngbRunTransition'.\n // 2. We need to filter transition end events, because they might bubble from shorter transitions\n // on inner DOM elements. We're only interested in the transition on the 'element' itself.\n zone.runOutsideAngular(() => {\n const transitionEnd$ =\n fromEvent(element, 'transitionend').pipe(takeUntil(stop$), filter(({target}) => target === element));\n const timer$ = timer(transitionDurationMs + transitionTimerDelayMs).pipe(takeUntil(stop$));\n\n race(timer$, transitionEnd$, finishTransition$).pipe(takeUntil(stop$)).subscribe(() => {\n runningTransitions.delete(element);\n zone.run(() => {\n endFn();\n transition$.next();\n transition$.complete();\n });\n });\n });\n\n return transition$.asObservable();\n };\n\nexport const ngbCompleteTransition = (element: HTMLElement) => {\n runningTransitions.get(element) ?.complete();\n};\n","import {NgbTransitionStartFn} from './ngbTransition';\nimport {reflow} from '../util';\n\nexport interface NgbCollapseCtx {\n direction: 'show' | 'hide';\n maxHeight?: string;\n}\n\nfunction measureCollapsingElementHeightPx(element: HTMLElement): string {\n // SSR fix for without injecting the PlatformId\n if (typeof navigator === 'undefined') {\n return '0px';\n }\n\n const {classList} = element;\n const hasShownClass = classList.contains('show');\n if (!hasShownClass) {\n classList.add('show');\n }\n\n element.style.height = '';\n const height = element.getBoundingClientRect().height + 'px';\n\n if (!hasShownClass) {\n classList.remove('show');\n }\n\n return height;\n}\n\nexport const ngbCollapsingTransition: NgbTransitionStartFn =\n (element: HTMLElement, animation: boolean, context: NgbCollapseCtx) => {\n let {direction, maxHeight} = context;\n const {classList} = element;\n\n function setInitialClasses() {\n classList.add('collapse');\n if (direction === 'show') {\n classList.add('show');\n } else {\n classList.remove('show');\n }\n }\n\n // without animations we just need to set initial classes\n if (!animation) {\n setInitialClasses();\n return;\n }\n\n // No maxHeight -> running the transition for the first time\n if (!maxHeight) {\n maxHeight = measureCollapsingElementHeightPx(element);\n context.maxHeight = maxHeight;\n\n // Fix the height before starting the animation\n element.style.height = direction !== 'show' ? maxHeight : '0px';\n\n classList.remove('collapse');\n classList.remove('collapsing');\n classList.remove('show');\n\n reflow(element);\n\n // Start the animation\n classList.add('collapsing');\n }\n\n // Start or revert the animation\n element.style.height = direction === 'show' ? maxHeight : '0px';\n\n return () => {\n setInitialClasses();\n classList.remove('collapsing');\n element.style.height = '';\n };\n };\n","import {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n Host,\n Input,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n NgZone,\n} from '@angular/core';\n\nimport {isString} from '../util/util';\n\nimport {NgbAccordionConfig} from './accordion-config';\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {ngbCollapsingTransition} from '../util/transition/ngbCollapseTransition';\nimport {take} from 'rxjs/operators';\n\nlet nextId = 0;\n\n/**\n * The context for the [NgbPanelHeader](#/components/accordion/api#NgbPanelHeader) template\n *\n * @since 4.1.0\n */\nexport interface NgbPanelHeaderContext {\n /**\n * `True` if current panel is opened\n */\n opened: boolean;\n}\n\n/**\n * A directive that wraps an accordion panel header with any HTML markup and a toggling button\n * marked with [`NgbPanelToggle`](#/components/accordion/api#NgbPanelToggle).\n * See the [header customization demo](#/components/accordion/examples#header) for more details.\n *\n * You can also use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to customize only the panel title.\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPanelHeader]'})\nexport class NgbPanelHeader {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps only the panel title with HTML markup inside.\n *\n * You can also use [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader) to customize the full panel header.\n */\n@Directive({selector: 'ng-template[ngbPanelTitle]'})\nexport class NgbPanelTitle {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps the accordion panel content.\n */\n@Directive({selector: 'ng-template[ngbPanelContent]'})\nexport class NgbPanelContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive that wraps an individual accordion panel with title and collapsible content.\n */\n@Directive({selector: 'ngb-panel'})\nexport class NgbPanel implements AfterContentChecked {\n /**\n * If `true`, the panel is disabled an can't be toggled.\n */\n @Input() disabled = false;\n\n /**\n * An optional id for the panel that must be unique on the page.\n *\n * If not provided, it will be auto-generated in the `ngb-panel-xxx` format.\n */\n @Input() id = `ngb-panel-${nextId++}`;\n\n isOpen = false;\n\n /* A flag to specified that the transition panel classes have been initialized */\n initClassDone = false;\n\n /* A flag to specified if the panel is currently being animated, to ensure its presence in the dom */\n transitionRunning = false;\n\n /**\n * The panel title.\n *\n * You can alternatively use [`NgbPanelTitle`](#/components/accordion/api#NgbPanelTitle) to set panel title.\n */\n @Input() title: string;\n\n /**\n * Type of the current panel.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * An optional class applied to the accordion card element that wraps both panel title and content.\n *\n * @since 5.3.0\n */\n @Input() cardClass: string;\n\n /**\n * An event emitted when the panel is shown, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the panel is hidden, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n\n titleTpl: NgbPanelTitle;\n headerTpl: NgbPanelHeader;\n contentTpl: NgbPanelContent;\n\n @ContentChildren(NgbPanelTitle, {descendants: false}) titleTpls: QueryList;\n @ContentChildren(NgbPanelHeader, {descendants: false}) headerTpls: QueryList;\n @ContentChildren(NgbPanelContent, {descendants: false}) contentTpls: QueryList;\n\n ngAfterContentChecked() {\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\n // only @ContentChildren allows us to specify the {descendants: false} option.\n // Without {descendants: false} we are hitting bugs described in:\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\n this.titleTpl = this.titleTpls.first;\n this.headerTpl = this.headerTpls.first;\n this.contentTpl = this.contentTpls.first;\n }\n}\n\n/**\n * An event emitted right before toggling an accordion panel.\n */\nexport interface NgbPanelChangeEvent {\n /**\n * The id of the accordion panel being toggled.\n */\n panelId: string;\n\n /**\n * The next state of the panel.\n *\n * `true` if it will be opened, `false` if closed.\n */\n nextState: boolean;\n\n /**\n * Calling this function will prevent panel toggling.\n */\n preventDefault: () => void;\n}\n\n/**\n * Accordion is a collection of collapsible panels (bootstrap cards).\n *\n * It can ensure only one panel is opened at a time and allows to customize panel\n * headers.\n */\n@Component({\n selector: 'ngb-accordion',\n exportAs: 'ngbAccordion',\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'accordion', 'role': 'tablist', '[attr.aria-multiselectable]': '!closeOtherPanels'},\n template: `\n \n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n
\n `\n})\nexport class NgbAccordion implements AfterContentChecked {\n @ContentChildren(NgbPanel) panels: QueryList;\n\n /**\n * If `true`, accordion will be animated.\n *\n * @since 8.0.0\n */\n @Input() animation;\n\n /**\n * An array or comma separated strings of panel ids that should be opened **initially**.\n *\n * For subsequent changes use methods like `expand()`, `collapse()`, etc. and\n * the `(panelChange)` event.\n */\n @Input() activeIds: string | readonly string[] = [];\n\n /**\n * If `true`, only one panel could be opened at a time.\n *\n * Opening a new panel will close others.\n */\n @Input('closeOthers') closeOtherPanels: boolean;\n\n /**\n * If `true`, panel content will be detached from DOM and not simply hidden when the panel is collapsed.\n */\n @Input() destroyOnHide = true;\n\n /**\n * Type of panels.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * Event emitted right before the panel toggle happens.\n *\n * See [NgbPanelChangeEvent](#/components/accordion/api#NgbPanelChangeEvent) for payload details.\n */\n @Output() panelChange = new EventEmitter();\n\n /**\n * An event emitted when the expanding animation is finished on the panel. The payload is the panel id.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the collapsing animation is finished on the panel, and before the panel element is removed.\n * The payload is the panel id.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n constructor(\n config: NgbAccordionConfig, private _element: ElementRef, private _ngZone: NgZone,\n private _changeDetector: ChangeDetectorRef) {\n this.animation = config.animation;\n this.type = config.type;\n this.closeOtherPanels = config.closeOthers;\n }\n\n /**\n * Checks if a panel with a given id is expanded.\n */\n isExpanded(panelId: string): boolean { return this.activeIds.indexOf(panelId) > -1; }\n\n /**\n * Expands a panel with a given id.\n *\n * Has no effect if the panel is already expanded or disabled.\n */\n expand(panelId: string): void { this._changeOpenState(this._findPanelById(panelId), true); }\n\n /**\n * Expands all panels, if `[closeOthers]` is `false`.\n *\n * If `[closeOthers]` is `true`, it will expand the first panel, unless there is already a panel opened.\n */\n expandAll(): void {\n if (this.closeOtherPanels) {\n if (this.activeIds.length === 0 && this.panels.length) {\n this._changeOpenState(this.panels.first, true);\n }\n } else {\n this.panels.forEach(panel => this._changeOpenState(panel, true));\n }\n }\n\n /**\n * Collapses a panel with the given id.\n *\n * Has no effect if the panel is already collapsed or disabled.\n */\n collapse(panelId: string) { this._changeOpenState(this._findPanelById(panelId), false); }\n\n /**\n * Collapses all opened panels.\n */\n collapseAll() {\n this.panels.forEach((panel) => { this._changeOpenState(panel, false); });\n }\n\n /**\n * Toggles a panel with the given id.\n *\n * Has no effect if the panel is disabled.\n */\n toggle(panelId: string) {\n const panel = this._findPanelById(panelId);\n if (panel) {\n this._changeOpenState(panel, !panel.isOpen);\n }\n }\n\n ngAfterContentChecked() {\n // active id updates\n if (isString(this.activeIds)) {\n this.activeIds = this.activeIds.split(/\\s*,\\s*/);\n }\n\n // update panels open states\n this.panels.forEach(panel => { panel.isOpen = !panel.disabled && this.activeIds.indexOf(panel.id) > -1; });\n\n // closeOthers updates\n if (this.activeIds.length > 1 && this.closeOtherPanels) {\n this._closeOthers(this.activeIds[0], false);\n this._updateActiveIds();\n }\n\n // Setup the initial classes here\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n this.panels.forEach(panel => {\n const panelElement = this._getPanelElement(panel.id);\n if (panelElement) {\n if (!panel.initClassDone) {\n panel.initClassDone = true;\n ngbRunTransition(this._ngZone, panelElement, ngbCollapsingTransition, {\n animation: false,\n runningTransition: 'continue',\n context: {direction: panel.isOpen ? 'show' : 'hide'}\n });\n }\n } else {\n // Classes must be initialized next time it will be in the dom\n panel.initClassDone = false;\n }\n });\n });\n }\n\n private _changeOpenState(panel: NgbPanel | null, nextState: boolean) {\n if (panel != null && !panel.disabled && panel.isOpen !== nextState) {\n let defaultPrevented = false;\n\n this.panelChange.emit(\n {panelId: panel.id, nextState: nextState, preventDefault: () => { defaultPrevented = true; }});\n\n if (!defaultPrevented) {\n panel.isOpen = nextState;\n panel.transitionRunning = true;\n\n if (nextState && this.closeOtherPanels) {\n this._closeOthers(panel.id);\n }\n this._updateActiveIds();\n this._runTransitions(this.animation);\n }\n }\n }\n\n private _closeOthers(panelId: string, enableTransition = true) {\n this.panels.forEach(panel => {\n if (panel.id !== panelId && panel.isOpen) {\n panel.isOpen = false;\n panel.transitionRunning = enableTransition;\n }\n });\n }\n\n private _findPanelById(panelId: string): NgbPanel | null { return this.panels.find(p => p.id === panelId) || null; }\n\n private _updateActiveIds() {\n this.activeIds = this.panels.filter(panel => panel.isOpen && !panel.disabled).map(panel => panel.id);\n }\n\n private _runTransitions(animation: boolean) {\n // detectChanges is performed to ensure that all panels are in the dom (via transitionRunning = true)\n // before starting the animation\n this._changeDetector.detectChanges();\n\n this.panels.forEach(panel => {\n // When panel.transitionRunning is true, the transition needs to be started OR reversed,\n // The direction (show or hide) is choosen by each panel.isOpen state\n if (panel.transitionRunning) {\n const panelElement = this._getPanelElement(panel.id);\n ngbRunTransition(this._ngZone, panelElement !, ngbCollapsingTransition, {\n animation,\n runningTransition: 'stop',\n context: {direction: panel.isOpen ? 'show' : 'hide'}\n }).subscribe(() => {\n panel.transitionRunning = false;\n const {id} = panel;\n if (panel.isOpen) {\n panel.shown.emit();\n this.shown.emit(id);\n } else {\n panel.hidden.emit();\n this.hidden.emit(id);\n }\n });\n }\n });\n }\n\n private _getPanelElement(panelId: string): HTMLElement | null {\n return this._element.nativeElement.querySelector('#' + panelId);\n }\n}\n\n/**\n * A directive to put on a button that toggles panel opening and closing.\n *\n * To be used inside the [`NgbPanelHeader`](#/components/accordion/api#NgbPanelHeader)\n *\n * @since 4.1.0\n */\n@Directive({\n selector: 'button[ngbPanelToggle]',\n host: {\n 'type': 'button',\n '[disabled]': 'panel.disabled',\n '[class.collapsed]': '!panel.isOpen',\n '[attr.aria-expanded]': 'panel.isOpen',\n '[attr.aria-controls]': 'panel.id',\n '(click)': 'accordion.toggle(panel.id)'\n }\n})\nexport class NgbPanelToggle {\n static ngAcceptInputType_ngbPanelToggle: NgbPanel | '';\n\n @Input()\n set ngbPanelToggle(panel: NgbPanel) {\n if (panel) {\n this.panel = panel;\n }\n }\n\n constructor(public accordion: NgbAccordion, @Optional() @Host() public panel: NgbPanel) {}\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle} from './accordion';\n\nexport {\n NgbAccordion,\n NgbPanel,\n NgbPanelTitle,\n NgbPanelContent,\n NgbPanelChangeEvent,\n NgbPanelHeader,\n NgbPanelHeaderContext,\n NgbPanelToggle\n} from './accordion';\nexport {NgbAccordionConfig} from './accordion-config';\n\nconst NGB_ACCORDION_DIRECTIVES =\n [NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle];\n\n@NgModule({declarations: NGB_ACCORDION_DIRECTIVES, exports: NGB_ACCORDION_DIRECTIVES, imports: [CommonModule]})\nexport class NgbAccordionModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [NgbAlert](#/components/alert/api#NgbAlert) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all alerts used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbAlertConfig {\n dismissible = true;\n type = 'warning';\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\n\nexport const ngbAlertFadingTransition: NgbTransitionStartFn = ({classList}: HTMLElement) => {\n classList.remove('show');\n};\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n Renderer2,\n ElementRef,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewEncapsulation,\n NgZone\n} from '@angular/core';\n\nimport {Observable} from 'rxjs';\n\nimport {NgbAlertConfig} from './alert-config';\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {ngbAlertFadingTransition} from './alert-transition';\n\n/**\n * Alert is a component to provide contextual feedback messages for user.\n *\n * It supports several alert types and can be dismissed.\n */\n@Component({\n selector: 'ngb-alert',\n exportAs: 'ngbAlert',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host:\n {'role': 'alert', 'class': 'alert show', '[class.fade]': 'animation', '[class.alert-dismissible]': 'dismissible'},\n template: `\n \n \n `,\n styleUrls: ['./alert.scss']\n})\nexport class NgbAlert implements OnInit,\n OnChanges {\n /**\n * If `true`, alert closing will be animated.\n *\n * Animation is triggered only when clicked on the close button (×)\n * or via the `.close()` function\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * If `true`, alert can be dismissed by the user.\n *\n * The close button (×) will be displayed and you can be notified\n * of the event with the `(close)` output.\n */\n @Input() dismissible: boolean;\n\n /**\n * Type of the alert.\n *\n * Bootstrap provides styles for the following types: `'success'`, `'info'`, `'warning'`, `'danger'`, `'primary'`,\n * `'secondary'`, `'light'` and `'dark'`.\n */\n @Input() type: string;\n\n /**\n * An event emitted when the close button is clicked. It has no payload and only relevant for dismissible alerts.\n *\n * @since 8.0.0\n */\n @Output() closed = new EventEmitter();\n\n\n constructor(\n config: NgbAlertConfig, private _renderer: Renderer2, private _element: ElementRef, private _zone: NgZone) {\n this.dismissible = config.dismissible;\n this.type = config.type;\n this.animation = config.animation;\n }\n\n /**\n * Triggers alert closing programmatically (same as clicking on the close button (×)).\n *\n * The returned observable will emit and be completed once the closing transition has finished.\n * If the animations are turned off this happens synchronously.\n *\n * Alternatively you could listen or subscribe to the `(closed)` output\n *\n * @since 8.0.0\n */\n close(): Observable {\n const transition = ngbRunTransition(\n this._zone, this._element.nativeElement, ngbAlertFadingTransition,\n {animation: this.animation, runningTransition: 'continue'});\n transition.subscribe(() => this.closed.emit());\n return transition;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const typeChange = changes['type'];\n if (typeChange && !typeChange.firstChange) {\n this._renderer.removeClass(this._element.nativeElement, `alert-${typeChange.previousValue}`);\n this._renderer.addClass(this._element.nativeElement, `alert-${typeChange.currentValue}`);\n }\n }\n\n ngOnInit() { this._renderer.addClass(this._element.nativeElement, `alert-${this.type}`); }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbAlert} from './alert';\n\nexport {NgbAlert} from './alert';\nexport {NgbAlertConfig} from './alert-config';\n\n@NgModule({declarations: [NgbAlert], exports: [NgbAlert], imports: [CommonModule], entryComponents: [NgbAlert]})\nexport class NgbAlertModule {\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[ngbButtonLabel]',\n host:\n {'[class.btn]': 'true', '[class.active]': 'active', '[class.disabled]': 'disabled', '[class.focus]': 'focused'}\n})\nexport class NgbButtonLabel {\n active: boolean;\n disabled: boolean;\n focused: boolean;\n}\n","import {ChangeDetectorRef, Directive, forwardRef, Input} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NgbButtonLabel} from './label';\n\n/**\n * Allows to easily create Bootstrap-style checkbox buttons.\n *\n * Integrates with forms, so the value of a checked button is bound to the underlying form control\n * either in a reactive or template-driven way.\n */\n@Directive({\n selector: '[ngbButton][type=checkbox]',\n host: {\n '[checked]': 'checked',\n '[disabled]': 'disabled',\n '(change)': 'onInputChange($event)',\n '(focus)': 'focused = true',\n '(blur)': 'focused = false'\n },\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbCheckBox), multi: true}]\n})\nexport class NgbCheckBox implements ControlValueAccessor {\n static ngAcceptInputType_disabled: boolean | '';\n\n checked;\n\n /**\n * If `true`, the checkbox button will be disabled\n */\n @Input() disabled = false;\n\n /**\n * The form control value when the checkbox is checked.\n */\n @Input() valueChecked = true;\n\n /**\n * The form control value when the checkbox is unchecked.\n */\n @Input() valueUnChecked = false;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n set focused(isFocused: boolean) {\n this._label.focused = isFocused;\n if (!isFocused) {\n this.onTouched();\n }\n }\n\n constructor(private _label: NgbButtonLabel, private _cd: ChangeDetectorRef) {}\n\n onInputChange($event) {\n const modelToPropagate = $event.target.checked ? this.valueChecked : this.valueUnChecked;\n this.onChange(modelToPropagate);\n this.onTouched();\n this.writeValue(modelToPropagate);\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._label.disabled = isDisabled;\n }\n\n writeValue(value) {\n this.checked = value === this.valueChecked;\n this._label.active = this.checked;\n\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\n this._cd.markForCheck();\n }\n}\n","import {ChangeDetectorRef, Directive, ElementRef, forwardRef, Input, OnDestroy, Renderer2} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {NgbButtonLabel} from './label';\n\nlet nextId = 0;\n\n/**\n * Allows to easily create Bootstrap-style radio buttons.\n *\n * Integrates with forms, so the value of a checked button is bound to the underlying form control\n * either in a reactive or template-driven way.\n */\n@Directive({\n selector: '[ngbRadioGroup]',\n host: {'role': 'radiogroup'},\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbRadioGroup), multi: true}]\n})\nexport class NgbRadioGroup implements ControlValueAccessor {\n private _radios: Set = new Set();\n private _value = null;\n private _disabled: boolean;\n\n get disabled() { return this._disabled; }\n set disabled(isDisabled: boolean) { this.setDisabledState(isDisabled); }\n\n /**\n * Name of the radio group applied to radio input elements.\n *\n * Will be applied to all radio input elements inside the group,\n * unless [`NgbRadio`](#/components/buttons/api#NgbRadio)'s specify names themselves.\n *\n * If not provided, will be generated in the `ngb-radio-xx` format.\n */\n @Input() name = `ngb-radio-${nextId++}`;\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n onRadioChange(radio: NgbRadio) {\n this.writeValue(radio.value);\n this.onChange(radio.value);\n }\n\n onRadioValueUpdate() { this._updateRadiosValue(); }\n\n register(radio: NgbRadio) { this._radios.add(radio); }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n this._updateRadiosDisabled();\n }\n\n unregister(radio: NgbRadio) { this._radios.delete(radio); }\n\n writeValue(value) {\n this._value = value;\n this._updateRadiosValue();\n }\n\n private _updateRadiosValue() { this._radios.forEach((radio) => radio.updateValue(this._value)); }\n private _updateRadiosDisabled() { this._radios.forEach((radio) => radio.updateDisabled()); }\n}\n\n\n/**\n * A directive that marks an input of type \"radio\" as a part of the\n * [`NgbRadioGroup`](#/components/buttons/api#NgbRadioGroup).\n */\n@Directive({\n selector: '[ngbButton][type=radio]',\n host: {\n '[checked]': 'checked',\n '[disabled]': 'disabled',\n '[name]': 'nameAttr',\n '(change)': 'onChange()',\n '(focus)': 'focused = true',\n '(blur)': 'focused = false'\n }\n})\nexport class NgbRadio implements OnDestroy {\n static ngAcceptInputType_disabled: boolean | '';\n\n private _checked: boolean;\n private _disabled: boolean;\n private _value: any = null;\n\n /**\n * The value for the 'name' property of the input element.\n *\n * All inputs of the radio group should have the same name. If not specified,\n * the name of the enclosing group is used.\n */\n @Input() name: string;\n\n /**\n * The form control value when current radio button is checked.\n */\n @Input('value')\n set value(value: any) {\n this._value = value;\n const stringValue = value ? value.toString() : '';\n this._renderer.setProperty(this._element.nativeElement, 'value', stringValue);\n this._group.onRadioValueUpdate();\n }\n\n /**\n * If `true`, current radio button will be disabled.\n */\n @Input('disabled')\n set disabled(isDisabled: boolean) {\n this._disabled = isDisabled !== false;\n this.updateDisabled();\n }\n\n set focused(isFocused: boolean) {\n if (this._label) {\n this._label.focused = isFocused;\n }\n if (!isFocused) {\n this._group.onTouched();\n }\n }\n\n get checked() { return this._checked; }\n\n get disabled() { return this._group.disabled || this._disabled; }\n\n get value() { return this._value; }\n\n get nameAttr() { return this.name || this._group.name; }\n\n constructor(\n private _group: NgbRadioGroup, private _label: NgbButtonLabel, private _renderer: Renderer2,\n private _element: ElementRef, private _cd: ChangeDetectorRef) {\n this._group.register(this);\n this.updateDisabled();\n }\n\n ngOnDestroy() { this._group.unregister(this); }\n\n onChange() { this._group.onRadioChange(this); }\n\n updateValue(value) {\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\n if (this.value !== value) {\n this._cd.markForCheck();\n }\n\n this._checked = this.value === value;\n this._label.active = this._checked;\n }\n\n updateDisabled() { this._label.disabled = this.disabled; }\n}\n","import {NgModule} from '@angular/core';\nimport {NgbButtonLabel} from './label';\nimport {NgbCheckBox} from './checkbox';\nimport {NgbRadio, NgbRadioGroup} from './radio';\n\nexport {NgbButtonLabel} from './label';\nexport {NgbCheckBox} from './checkbox';\nexport {NgbRadio, NgbRadioGroup} from './radio';\n\n\nconst NGB_BUTTON_DIRECTIVES = [NgbButtonLabel, NgbCheckBox, NgbRadioGroup, NgbRadio];\n\n@NgModule({declarations: NGB_BUTTON_DIRECTIVES, exports: NGB_BUTTON_DIRECTIVES})\nexport class NgbButtonsModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [NgbCarousel](#/components/carousel/api#NgbCarousel) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all carousels used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbCarouselConfig {\n interval = 5000;\n wrap = true;\n keyboard = true;\n pauseOnHover = true;\n pauseOnFocus = true;\n showNavigationArrows = true;\n showNavigationIndicators = true;\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\nimport {reflow} from '../util/util';\n\n/**\n * Defines the carousel slide transition direction.\n */\nexport enum NgbSlideEventDirection {\n LEFT = 'left',\n RIGHT = 'right'\n}\n\nexport interface NgbCarouselCtx { direction: 'left' | 'right'; }\n\nconst isBeingAnimated = ({classList}: HTMLElement) => {\n return classList.contains('carousel-item-left') || classList.contains('carousel-item-right');\n};\n\nconst removeDirectionClasses = (classList: DOMTokenList) => {\n classList.remove('carousel-item-left');\n classList.remove('carousel-item-right');\n};\n\nconst removeClasses = (classList: DOMTokenList) => {\n removeDirectionClasses(classList);\n classList.remove('carousel-item-prev');\n classList.remove('carousel-item-next');\n};\n\nexport const ngbCarouselTransitionIn: NgbTransitionStartFn =\n (element: HTMLElement, animation: boolean, {direction}: NgbCarouselCtx) => {\n const {classList} = element;\n\n if (!animation) {\n removeDirectionClasses(classList);\n removeClasses(classList);\n classList.add('active');\n return;\n }\n\n if (isBeingAnimated(element)) {\n // Revert the transition\n removeDirectionClasses(classList);\n } else {\n // For the 'in' transition, a 'pre-class' is applied to the element to ensure its visibility\n classList.add('carousel-item-' + (direction === NgbSlideEventDirection.LEFT ? 'next' : 'prev'));\n reflow(element);\n classList.add('carousel-item-' + direction);\n }\n\n return () => {\n removeClasses(classList);\n classList.add('active');\n };\n };\n\nexport const ngbCarouselTransitionOut: NgbTransitionStartFn =\n (element: HTMLElement, animation: boolean, {direction}: NgbCarouselCtx) => {\n const {classList} = element;\n\n if (!animation) {\n removeDirectionClasses(classList);\n removeClasses(classList);\n classList.remove('active');\n return;\n }\n\n // direction is left or right, depending on the way the slide goes out.\n if (isBeingAnimated(element)) {\n // Revert the transition\n removeDirectionClasses(classList);\n } else {\n classList.add('carousel-item-' + direction);\n }\n\n return () => {\n removeClasses(classList);\n classList.remove('active');\n };\n };\n","import {\n AfterContentChecked,\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n AfterViewInit\n} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\nimport {NgbCarouselConfig} from './carousel-config';\n\nimport {BehaviorSubject, combineLatest, NEVER, Observable, Subject, timer, zip} from 'rxjs';\nimport {distinctUntilChanged, map, startWith, switchMap, take, takeUntil} from 'rxjs/operators';\nimport {ngbCompleteTransition, ngbRunTransition, NgbTransitionOptions} from '../util/transition/ngbTransition';\nimport {\n ngbCarouselTransitionIn,\n ngbCarouselTransitionOut,\n NgbSlideEventDirection,\n NgbCarouselCtx\n} from './carousel-transition';\n\nlet nextId = 0;\n\n/**\n * A directive that wraps the individual carousel slide.\n */\n@Directive({selector: 'ng-template[ngbSlide]'})\nexport class NgbSlide {\n /**\n * Slide id that must be unique for the entire document.\n *\n * If not provided, will be generated in the `ngb-slide-xx` format.\n */\n @Input() id = `ngb-slide-${nextId++}`;\n\n /**\n * An event emitted when the slide transition is finished\n *\n * @since 8.0.0\n */\n @Output() slid = new EventEmitter();\n\n constructor(public tplRef: TemplateRef) {}\n}\n\n/**\n * Carousel is a component to easily create and control slideshows.\n *\n * Allows to set intervals, change the way user interacts with the slides and provides a programmatic API.\n */\n@Component({\n selector: 'ngb-carousel',\n exportAs: 'ngbCarousel',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'carousel slide',\n '[style.display]': '\"block\"',\n 'tabIndex': '0',\n '(keydown.arrowLeft)': 'keyboard && arrowLeft()',\n '(keydown.arrowRight)': 'keyboard && arrowRight()',\n '(mouseenter)': 'mouseHover = true',\n '(mouseleave)': 'mouseHover = false',\n '(focusin)': 'focused = true',\n '(focusout)': 'focused = false',\n '[attr.aria-activedescendant]': 'activeId'\n },\n template: `\n
    \n
  1. \n
\n
\n
\n \n Slide {{i + 1}} of {{c}}\n \n \n
\n
\n \n \n Previous\n \n \n \n Next\n \n `\n})\nexport class NgbCarousel implements AfterContentChecked,\n AfterContentInit, AfterViewInit, OnDestroy {\n @ContentChildren(NgbSlide) slides: QueryList;\n\n public NgbSlideEventSource = NgbSlideEventSource;\n\n private _destroy$ = new Subject();\n private _interval$ = new BehaviorSubject(0);\n private _mouseHover$ = new BehaviorSubject(false);\n private _focused$ = new BehaviorSubject(false);\n private _pauseOnHover$ = new BehaviorSubject(false);\n private _pauseOnFocus$ = new BehaviorSubject(false);\n private _pause$ = new BehaviorSubject(false);\n private _wrap$ = new BehaviorSubject(false);\n\n /**\n * A flag to enable/disable the animations.\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * The slide id that should be displayed **initially**.\n *\n * For subsequent interactions use methods `select()`, `next()`, etc. and the `(slide)` output.\n */\n @Input() activeId: string;\n\n /**\n * Time in milliseconds before the next slide is shown.\n */\n @Input()\n set interval(value: number) {\n this._interval$.next(value);\n }\n\n get interval() { return this._interval$.value; }\n\n /**\n * If `true`, will 'wrap' the carousel by switching from the last slide back to the first.\n */\n @Input()\n set wrap(value: boolean) {\n this._wrap$.next(value);\n }\n\n get wrap() { return this._wrap$.value; }\n\n /**\n * If `true`, allows to interact with carousel using keyboard 'arrow left' and 'arrow right'.\n */\n @Input() keyboard: boolean;\n\n /**\n * If `true`, will pause slide switching when mouse cursor hovers the slide.\n *\n * @since 2.2.0\n */\n @Input()\n set pauseOnHover(value: boolean) {\n this._pauseOnHover$.next(value);\n }\n\n get pauseOnHover() { return this._pauseOnHover$.value; }\n\n /**\n * If `true`, will pause slide switching when the focus is inside the carousel.\n */\n @Input()\n set pauseOnFocus(value: boolean) {\n this._pauseOnFocus$.next(value);\n }\n\n get pauseOnFocus() { return this._pauseOnFocus$.value; }\n\n /**\n * If `true`, 'previous' and 'next' navigation arrows will be visible on the slide.\n *\n * @since 2.2.0\n */\n @Input() showNavigationArrows: boolean;\n\n /**\n * If `true`, navigation indicators at the bottom of the slide will be visible.\n *\n * @since 2.2.0\n */\n @Input() showNavigationIndicators: boolean;\n\n /**\n * An event emitted just before the slide transition starts.\n *\n * See [`NgbSlideEvent`](#/components/carousel/api#NgbSlideEvent) for payload details.\n */\n @Output() slide = new EventEmitter();\n\n /**\n * An event emitted right after the slide transition is completed.\n *\n * See [`NgbSlideEvent`](#/components/carousel/api#NgbSlideEvent) for payload details.\n *\n * @since 8.0.0\n */\n @Output() slid = new EventEmitter();\n\n /*\n * Keep the ids of the panels currently transitionning\n * in order to allow only the transition revertion\n */\n private _transitionIds: [string, string] | null = null;\n\n set mouseHover(value: boolean) { this._mouseHover$.next(value); }\n\n get mouseHover() { return this._mouseHover$.value; }\n\n set focused(value: boolean) { this._focused$.next(value); }\n\n get focused() { return this._focused$.value; }\n\n constructor(\n config: NgbCarouselConfig, @Inject(PLATFORM_ID) private _platformId, private _ngZone: NgZone,\n private _cd: ChangeDetectorRef, private _container: ElementRef) {\n this.animation = config.animation;\n this.interval = config.interval;\n this.wrap = config.wrap;\n this.keyboard = config.keyboard;\n this.pauseOnHover = config.pauseOnHover;\n this.pauseOnFocus = config.pauseOnFocus;\n this.showNavigationArrows = config.showNavigationArrows;\n this.showNavigationIndicators = config.showNavigationIndicators;\n }\n\n arrowLeft() {\n this.focus();\n this.prev(NgbSlideEventSource.ARROW_LEFT);\n }\n\n arrowRight() {\n this.focus();\n this.next(NgbSlideEventSource.ARROW_RIGHT);\n }\n\n ngAfterContentInit() {\n // setInterval() doesn't play well with SSR and protractor,\n // so we should run it in the browser and outside Angular\n if (isPlatformBrowser(this._platformId)) {\n this._ngZone.runOutsideAngular(() => {\n const hasNextSlide$ = combineLatest([\n this.slide.pipe(map(slideEvent => slideEvent.current), startWith(this.activeId)),\n this._wrap$, this.slides.changes.pipe(startWith(null))\n ])\n .pipe(\n map(([currentSlideId, wrap]) => {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n return wrap ? slideArr.length > 1 : currentSlideIdx < slideArr.length - 1;\n }),\n distinctUntilChanged());\n combineLatest([\n this._pause$, this._pauseOnHover$, this._mouseHover$, this._pauseOnFocus$, this._focused$, this._interval$,\n hasNextSlide$\n ])\n .pipe(\n map(([pause, pauseOnHover, mouseHover, pauseOnFocus, focused, interval,\n hasNextSlide]: [boolean, boolean, boolean, boolean, boolean, number, boolean]) =>\n ((pause || (pauseOnHover && mouseHover) || (pauseOnFocus && focused) || !hasNextSlide) ?\n 0 :\n interval)),\n\n distinctUntilChanged(), switchMap(interval => interval > 0 ? timer(interval, interval) : NEVER),\n takeUntil(this._destroy$))\n .subscribe(() => this._ngZone.run(() => this.next(NgbSlideEventSource.TIMER)));\n });\n }\n\n this.slides.changes.pipe(takeUntil(this._destroy$)).subscribe(() => {\n this._transitionIds ?.forEach(id => ngbCompleteTransition(this._getSlideElement(id)));\n this._transitionIds = null;\n\n this._cd.markForCheck();\n\n // The following code need to be done asynchronously, after the dom becomes stable,\n // otherwise all changes will be undone.\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n for (const { id } of this.slides) {\n const element = this._getSlideElement(id);\n if (id === this.activeId) {\n element.classList.add('active');\n } else {\n element.classList.remove('active');\n }\n }\n });\n });\n }\n\n ngAfterContentChecked() {\n let activeSlide = this._getSlideById(this.activeId);\n this.activeId = activeSlide ? activeSlide.id : (this.slides.length ? this.slides.first.id : '');\n }\n\n ngAfterViewInit() {\n // Initialize the 'active' class (not managed by the template)\n if (this.activeId) {\n const element = this._getSlideElement(this.activeId);\n if (element) {\n element.classList.add('active');\n }\n }\n }\n\n ngOnDestroy() { this._destroy$.next(); }\n\n /**\n * Navigates to a slide with the specified identifier.\n */\n select(slideId: string, source?: NgbSlideEventSource) {\n this._cycleToSelected(slideId, this._getSlideEventDirection(this.activeId, slideId), source);\n }\n\n /**\n * Navigates to the previous slide.\n */\n prev(source?: NgbSlideEventSource) {\n this._cycleToSelected(this._getPrevSlide(this.activeId), NgbSlideEventDirection.RIGHT, source);\n }\n\n /**\n * Navigates to the next slide.\n */\n next(source?: NgbSlideEventSource) {\n this._cycleToSelected(this._getNextSlide(this.activeId), NgbSlideEventDirection.LEFT, source);\n }\n\n /**\n * Pauses cycling through the slides.\n */\n pause() { this._pause$.next(true); }\n\n /**\n * Restarts cycling through the slides from left to right.\n */\n cycle() { this._pause$.next(false); }\n\n /**\n * Set the focus on the carousel.\n */\n focus() { this._container.nativeElement.focus(); }\n\n private _cycleToSelected(slideIdx: string, direction: NgbSlideEventDirection, source?: NgbSlideEventSource) {\n const transitionIds = this._transitionIds;\n if (transitionIds && (transitionIds[0] !== slideIdx || transitionIds[1] !== this.activeId)) {\n // Revert prevented\n return;\n }\n\n let selectedSlide = this._getSlideById(slideIdx);\n if (selectedSlide && selectedSlide.id !== this.activeId) {\n this._transitionIds = [this.activeId, slideIdx];\n this.slide.emit(\n {prev: this.activeId, current: selectedSlide.id, direction: direction, paused: this._pause$.value, source});\n\n const options: NgbTransitionOptions = {\n animation: this.animation,\n runningTransition: 'stop',\n context: {direction},\n };\n\n const transitions: Array> = [];\n const activeSlide = this._getSlideById(this.activeId);\n if (activeSlide) {\n const activeSlideTransition =\n ngbRunTransition(this._ngZone, this._getSlideElement(activeSlide.id), ngbCarouselTransitionOut, options);\n activeSlideTransition.subscribe(() => { activeSlide.slid.emit({isShown: false, direction, source}); });\n transitions.push(activeSlideTransition);\n }\n\n const previousId = this.activeId;\n this.activeId = selectedSlide.id;\n const nextSlide = this._getSlideById(this.activeId);\n const transition =\n ngbRunTransition(this._ngZone, this._getSlideElement(selectedSlide.id), ngbCarouselTransitionIn, options);\n transition.subscribe(() => { nextSlide ?.slid.emit({isShown: true, direction, source}); });\n transitions.push(transition);\n\n zip(...transitions).pipe(take(1)).subscribe(() => {\n this._transitionIds = null;\n this.slid.emit(\n {prev: previousId, current: selectedSlide !.id, direction: direction, paused: this._pause$.value, source});\n });\n }\n\n // we get here after the interval fires or any external API call like next(), prev() or select()\n this._cd.markForCheck();\n }\n\n private _getSlideEventDirection(currentActiveSlideId: string, nextActiveSlideId: string): NgbSlideEventDirection {\n const currentActiveSlideIdx = this._getSlideIdxById(currentActiveSlideId);\n const nextActiveSlideIdx = this._getSlideIdxById(nextActiveSlideId);\n\n return currentActiveSlideIdx > nextActiveSlideIdx ? NgbSlideEventDirection.RIGHT : NgbSlideEventDirection.LEFT;\n }\n\n private _getSlideById(slideId: string): NgbSlide | null {\n return this.slides.find(slide => slide.id === slideId) || null;\n }\n\n private _getSlideIdxById(slideId: string): number {\n const slide = this._getSlideById(slideId);\n return slide != null ? this.slides.toArray().indexOf(slide) : -1;\n }\n\n private _getNextSlide(currentSlideId: string): string {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n const isLastSlide = currentSlideIdx === slideArr.length - 1;\n\n return isLastSlide ? (this.wrap ? slideArr[0].id : slideArr[slideArr.length - 1].id) :\n slideArr[currentSlideIdx + 1].id;\n }\n\n private _getPrevSlide(currentSlideId: string): string {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n const isFirstSlide = currentSlideIdx === 0;\n\n return isFirstSlide ? (this.wrap ? slideArr[slideArr.length - 1].id : slideArr[0].id) :\n slideArr[currentSlideIdx - 1].id;\n }\n\n private _getSlideElement(slideId: string): HTMLElement {\n return this._container.nativeElement.querySelector(`#slide-${slideId}`);\n }\n}\n\n/**\n * A slide change event emitted right after the slide transition is completed.\n */\nexport interface NgbSlideEvent {\n /**\n * The previous slide id.\n */\n prev: string;\n\n /**\n * The current slide id.\n */\n current: string;\n\n /**\n * The slide event direction.\n *\n * Possible values are `'left' | 'right'`.\n */\n direction: NgbSlideEventDirection;\n\n /**\n * Whether the pause() method was called (and no cycle() call was done afterwards).\n *\n * @since 5.1.0\n */\n paused: boolean;\n\n /**\n * Source triggering the slide change event.\n *\n * Possible values are `'timer' | 'arrowLeft' | 'arrowRight' | 'indicator'`\n *\n * @since 5.1.0\n */\n source?: NgbSlideEventSource;\n}\n\n/**\n * A slide change event emitted right after the slide transition is completed.\n *\n * @since 8.0.0\n */\nexport interface NgbSingleSlideEvent {\n /**\n * true if the slide is shown, false otherwise\n */\n isShown: boolean;\n\n /**\n * The slide event direction.\n *\n * Possible values are `'left' | 'right'`.\n */\n direction: NgbSlideEventDirection;\n\n /**\n * Source triggering the slide change event.\n *\n * Possible values are `'timer' | 'arrowLeft' | 'arrowRight' | 'indicator'`\n *\n */\n source?: NgbSlideEventSource;\n}\n\nexport enum NgbSlideEventSource {\n TIMER = 'timer',\n ARROW_LEFT = 'arrowLeft',\n ARROW_RIGHT = 'arrowRight',\n INDICATOR = 'indicator'\n}\n\nexport const NGB_CAROUSEL_DIRECTIVES = [NgbCarousel, NgbSlide];\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NGB_CAROUSEL_DIRECTIVES} from './carousel';\n\nexport {NgbCarousel, NgbSlide, NgbSlideEvent, NgbSlideEventSource} from './carousel';\nexport {NgbSlideEventDirection} from './carousel-transition';\nexport {NgbCarouselConfig} from './carousel-config';\n\n@NgModule({declarations: NGB_CAROUSEL_DIRECTIVES, exports: NGB_CAROUSEL_DIRECTIVES, imports: [CommonModule]})\nexport class NgbCarouselModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [NgbCollapse](#/components/collapse/api#NgbCollapse) component.\n *\n * You can inject this service, typically in your root component, and customize its properties\n * to provide default values for all collapses used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbCollapseConfig {\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {ngbCollapsingTransition} from '../util/transition/ngbCollapseTransition';\nimport {NgbCollapseConfig} from './collapse-config';\n\n/**\n * A directive to provide a simple way of hiding and showing elements on the page.\n */\n@Directive({selector: '[ngbCollapse]', exportAs: 'ngbCollapse'})\nexport class NgbCollapse implements OnInit, OnChanges {\n /**\n * If `true`, collapse will be animated.\n *\n * Animation is triggered only when clicked on triggering element\n * or via the `.toggle()` function\n *\n * @since 8.0.0\n */\n @Input() animation;\n\n /**\n * If `true`, will collapse the element or show it otherwise.\n */\n @Input('ngbCollapse') collapsed = false;\n\n @Output() ngbCollapseChange = new EventEmitter();\n\n /**\n * An event emitted when the collapse element is shown, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the collapse element is hidden, after the transition. It has no payload.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n\n constructor(private _element: ElementRef, config: NgbCollapseConfig, private _zone: NgZone) {\n this.animation = config.animation;\n }\n\n ngOnInit() { this._runTransition(this.collapsed, false); }\n\n ngOnChanges({collapsed}: SimpleChanges) {\n if (!collapsed.firstChange) {\n this._runTransitionWithEvents(this.collapsed, this.animation);\n }\n }\n\n /**\n * Triggers collapsing programmatically.\n *\n * If there is a collapsing transition running already, it will be reversed.\n * If the animations are turned off this happens synchronously.\n *\n * @since 8.0.0\n */\n toggle(open: boolean = this.collapsed) {\n this.collapsed = !open;\n this.ngbCollapseChange.next(this.collapsed);\n this._runTransitionWithEvents(this.collapsed, this.animation);\n }\n\n private _runTransition(collapsed: boolean, animation: boolean) {\n return ngbRunTransition(\n this._zone, this._element.nativeElement, ngbCollapsingTransition,\n {animation, runningTransition: 'stop', context: {direction: collapsed ? 'hide' : 'show'}});\n }\n\n private _runTransitionWithEvents(collapsed: boolean, animation: boolean) {\n this._runTransition(collapsed, animation).subscribe(() => {\n if (collapsed) {\n this.hidden.emit();\n } else {\n this.shown.emit();\n }\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {NgbCollapse} from './collapse';\n\nexport {NgbCollapse} from './collapse';\nexport {NgbCollapseConfig} from './collapse-config';\n\n@NgModule({declarations: [NgbCollapse], exports: [NgbCollapse]})\nexport class NgbCollapseModule {\n}\n","import {NgbDateStruct} from './ngb-date-struct';\nimport {isInteger} from '../util/util';\n\n/**\n * A simple class that represents a date that datepicker also uses internally.\n *\n * It is the implementation of the `NgbDateStruct` interface that adds some convenience methods,\n * like `.equals()`, `.before()`, etc.\n *\n * All datepicker APIs consume `NgbDateStruct`, but return `NgbDate`.\n *\n * In many cases it is simpler to manipulate these objects together with\n * [`NgbCalendar`](#/components/datepicker/api#NgbCalendar) than native JS Dates.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details.\n *\n * @since 3.0.0\n */\nexport class NgbDate implements NgbDateStruct {\n /**\n * The year, for example 2016\n */\n year: number;\n\n /**\n * The month, for example 1=Jan ... 12=Dec as in ISO 8601\n */\n month: number;\n\n /**\n * The day of month, starting with 1\n */\n day: number;\n\n /**\n * A **static method** that creates a new date object from the `NgbDateStruct`,\n *\n * ex. `NgbDate.from({year: 2000, month: 5, day: 1})`.\n *\n * If the `date` is already of `NgbDate` type, the method will return the same object.\n */\n static from(date?: NgbDateStruct | null): NgbDate | null {\n if (date instanceof NgbDate) {\n return date;\n }\n return date ? new NgbDate(date.year, date.month, date.day) : null;\n }\n\n constructor(year: number, month: number, day: number) {\n this.year = isInteger(year) ? year : null;\n this.month = isInteger(month) ? month : null;\n this.day = isInteger(day) ? day : null;\n }\n\n /**\n * Checks if the current date is equal to another date.\n */\n equals(other?: NgbDateStruct | null): boolean {\n return other != null && this.year === other.year && this.month === other.month && this.day === other.day;\n }\n\n /**\n * Checks if the current date is before another date.\n */\n before(other?: NgbDateStruct | null): boolean {\n if (!other) {\n return false;\n }\n\n if (this.year === other.year) {\n if (this.month === other.month) {\n return this.day === other.day ? false : this.day < other.day;\n } else {\n return this.month < other.month;\n }\n } else {\n return this.year < other.year;\n }\n }\n\n /**\n * Checks if the current date is after another date.\n */\n after(other?: NgbDateStruct | null): boolean {\n if (!other) {\n return false;\n }\n if (this.year === other.year) {\n if (this.month === other.month) {\n return this.day === other.day ? false : this.day > other.day;\n } else {\n return this.month > other.month;\n }\n } else {\n return this.year > other.year;\n }\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {Injectable} from '@angular/core';\nimport {isInteger} from '../util/util';\n\nexport function fromJSDate(jsDate: Date) {\n return new NgbDate(jsDate.getFullYear(), jsDate.getMonth() + 1, jsDate.getDate());\n}\nexport function toJSDate(date: NgbDate) {\n const jsDate = new Date(date.year, date.month - 1, date.day, 12);\n // this is done avoid 30 -> 1930 conversion\n if (!isNaN(jsDate.getTime())) {\n jsDate.setFullYear(date.year);\n }\n return jsDate;\n}\n\nexport type NgbPeriod = 'y' | 'm' | 'd';\n\nexport function NGB_DATEPICKER_CALENDAR_FACTORY() {\n return new NgbCalendarGregorian();\n}\n\n/**\n * A service that represents the calendar used by the datepicker.\n *\n * The default implementation uses the Gregorian calendar. You can inject it in your own\n * implementations if necessary to simplify `NgbDate` calculations.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_CALENDAR_FACTORY})\nexport abstract class NgbCalendar {\n /**\n * Returns the number of days per week.\n */\n abstract getDaysPerWeek(): number;\n\n /**\n * Returns an array of months per year.\n *\n * With default calendar we use ISO 8601 and return [1, 2, ..., 12];\n */\n abstract getMonths(year?: number): number[];\n\n /**\n * Returns the number of weeks per month.\n */\n abstract getWeeksPerMonth(): number;\n\n /**\n * Returns the weekday number for a given day.\n *\n * With the default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun\n */\n abstract getWeekday(date: NgbDate): number;\n\n /**\n * Adds a number of years, months or days to a given date.\n *\n * * `period` can be `y`, `m` or `d` and defaults to day.\n * * `number` defaults to 1.\n *\n * Always returns a new date.\n */\n abstract getNext(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\n\n /**\n * Subtracts a number of years, months or days from a given date.\n *\n * * `period` can be `y`, `m` or `d` and defaults to day.\n * * `number` defaults to 1.\n *\n * Always returns a new date.\n */\n abstract getPrev(date: NgbDate, period?: NgbPeriod, number?: number): NgbDate;\n\n /**\n * Returns the week number for a given week.\n */\n abstract getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number): number;\n\n /**\n * Returns the today's date.\n */\n abstract getToday(): NgbDate;\n\n /**\n * Checks if a date is valid in the current calendar.\n */\n abstract isValid(date?: NgbDate | null): boolean;\n}\n\n@Injectable()\nexport class NgbCalendarGregorian extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n let jsDate = toJSDate(date);\n let checkMonth = true;\n let expectedMonth = jsDate.getMonth();\n\n switch (period) {\n case 'y':\n jsDate.setFullYear(jsDate.getFullYear() + number);\n break;\n case 'm':\n expectedMonth += number;\n jsDate.setMonth(expectedMonth);\n expectedMonth = expectedMonth % 12;\n if (expectedMonth < 0) {\n expectedMonth = expectedMonth + 12;\n }\n break;\n case 'd':\n jsDate.setDate(jsDate.getDate() + number);\n checkMonth = false;\n break;\n default:\n return date;\n }\n\n if (checkMonth && jsDate.getMonth() !== expectedMonth) {\n // this means the destination month has less days than the initial month\n // let's go back to the end of the previous month:\n jsDate.setDate(0);\n }\n\n return fromJSDate(jsDate);\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n let jsDate = toJSDate(date);\n let day = jsDate.getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n let date = week[thursdayIndex];\n\n const jsDate = toJSDate(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n jsDate.setMonth(0); // Compare with Jan 1\n jsDate.setDate(1);\n return Math.floor(Math.round((time - jsDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return fromJSDate(new Date()); }\n\n isValid(date?: NgbDate | null): boolean {\n if (!date || !isInteger(date.year) || !isInteger(date.month) || !isInteger(date.day)) {\n return false;\n }\n\n // year 0 doesn't exist in Gregorian calendar\n if (date.year === 0) {\n return false;\n }\n\n const jsDate = toJSDate(date);\n\n return !isNaN(jsDate.getTime()) && jsDate.getFullYear() === date.year && jsDate.getMonth() + 1 === date.month &&\n jsDate.getDate() === date.day;\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {DatepickerViewModel, DayViewModel, MonthViewModel} from './datepicker-view-model';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\nexport function isChangedDate(prev?: NgbDate | null, next?: NgbDate | null): boolean {\n return !dateComparator(prev, next);\n}\n\nexport function isChangedMonth(prev?: NgbDate | null, next?: NgbDate | null): boolean {\n return !prev && !next ? false : !prev || !next ? true : prev.year !== next.year || prev.month !== next.month;\n}\n\nexport function dateComparator(prev?: NgbDate | null, next?: NgbDate | null): boolean {\n return (!prev && !next) || (!!prev && !!next && prev.equals(next));\n}\n\nexport function checkMinBeforeMax(minDate?: NgbDate | null, maxDate?: NgbDate | null): void {\n if (maxDate && minDate && maxDate.before(minDate)) {\n throw new Error(`'maxDate' ${maxDate} should be greater than 'minDate' ${minDate}`);\n }\n}\n\nexport function checkDateInRange(date?: NgbDate | null, minDate?: NgbDate | null, maxDate?: NgbDate | null): NgbDate |\n null {\n if (date && minDate && date.before(minDate)) {\n return minDate;\n }\n if (date && maxDate && date.after(maxDate)) {\n return maxDate;\n }\n\n return date || null;\n}\n\nexport function isDateSelectable(date: NgbDate | null | undefined, state: DatepickerViewModel) {\n const {minDate, maxDate, disabled, markDisabled} = state;\n // clang-format off\n return !(\n date === null ||\n date === undefined ||\n disabled ||\n (markDisabled && markDisabled(date, {year: date.year, month: date.month})) ||\n (minDate && date.before(minDate)) ||\n (maxDate && date.after(maxDate))\n );\n // clang-format on\n}\n\nexport function generateSelectBoxMonths(\n calendar: NgbCalendar, date: NgbDate, minDate: NgbDate | null, maxDate: NgbDate | null) {\n if (!date) {\n return [];\n }\n\n let months = calendar.getMonths(date.year);\n\n if (minDate && date.year === minDate.year) {\n const index = months.findIndex(month => month === minDate.month);\n months = months.slice(index);\n }\n\n if (maxDate && date.year === maxDate.year) {\n const index = months.findIndex(month => month === maxDate.month);\n months = months.slice(0, index + 1);\n }\n\n return months;\n}\n\nexport function generateSelectBoxYears(date: NgbDate, minDate: NgbDate | null, maxDate: NgbDate | null) {\n if (!date) {\n return [];\n }\n\n const start = minDate ? Math.max(minDate.year, date.year - 500) : date.year - 10;\n const end = maxDate ? Math.min(maxDate.year, date.year + 500) : date.year + 10;\n\n const length = end - start + 1;\n const numbers = Array(length);\n for (let i = 0; i < length; i++) {\n numbers[i] = start + i;\n }\n\n return numbers;\n}\n\nexport function nextMonthDisabled(calendar: NgbCalendar, date: NgbDate, maxDate: NgbDate | null) {\n const nextDate = Object.assign(calendar.getNext(date, 'm'), {day: 1});\n return maxDate != null && nextDate.after(maxDate);\n}\n\nexport function prevMonthDisabled(calendar: NgbCalendar, date: NgbDate, minDate: NgbDate | null) {\n const prevDate = Object.assign(calendar.getPrev(date, 'm'), {day: 1});\n return minDate != null && (prevDate.year === minDate.year && prevDate.month < minDate.month ||\n prevDate.year < minDate.year && minDate.month === 1);\n}\n\nexport function buildMonths(\n calendar: NgbCalendar, date: NgbDate, state: DatepickerViewModel, i18n: NgbDatepickerI18n,\n force: boolean): MonthViewModel[] {\n const {displayMonths, months} = state;\n // move old months to a temporary array\n const monthsToReuse = months.splice(0, months.length);\n\n // generate new first dates, nullify or reuse months\n const firstDates = Array.from({length: displayMonths}, (_, i) => {\n const firstDate = Object.assign(calendar.getNext(date, 'm', i), {day: 1});\n months[i] = null;\n\n if (!force) {\n const reusedIndex = monthsToReuse.findIndex(month => month.firstDate.equals(firstDate));\n // move reused month back to months\n if (reusedIndex !== -1) {\n months[i] = monthsToReuse.splice(reusedIndex, 1)[0];\n }\n }\n\n return firstDate;\n });\n\n // rebuild nullified months\n firstDates.forEach((firstDate, i) => {\n if (months[i] === null) {\n months[i] = buildMonth(calendar, firstDate, state, i18n, monthsToReuse.shift() || {} as MonthViewModel);\n }\n });\n\n return months;\n}\n\nexport function buildMonth(\n calendar: NgbCalendar, date: NgbDate, state: DatepickerViewModel, i18n: NgbDatepickerI18n,\n month: MonthViewModel = {} as MonthViewModel): MonthViewModel {\n const {dayTemplateData, minDate, maxDate, firstDayOfWeek, markDisabled, outsideDays} = state;\n const calendarToday = calendar.getToday();\n\n month.firstDate = null;\n month.lastDate = null;\n month.number = date.month;\n month.year = date.year;\n month.weeks = month.weeks || [];\n month.weekdays = month.weekdays || [];\n\n date = getFirstViewDate(calendar, date, firstDayOfWeek);\n\n // month has weeks\n for (let week = 0; week < calendar.getWeeksPerMonth(); week++) {\n let weekObject = month.weeks[week];\n if (!weekObject) {\n weekObject = month.weeks[week] = {number: 0, days: [], collapsed: true};\n }\n const days = weekObject.days;\n\n // week has days\n for (let day = 0; day < calendar.getDaysPerWeek(); day++) {\n if (week === 0) {\n month.weekdays[day] = calendar.getWeekday(date);\n }\n\n const newDate = new NgbDate(date.year, date.month, date.day);\n const nextDate = calendar.getNext(newDate);\n\n const ariaLabel = i18n.getDayAriaLabel(newDate);\n\n // marking date as disabled\n let disabled = !!((minDate && newDate.before(minDate)) || (maxDate && newDate.after(maxDate)));\n if (!disabled && markDisabled) {\n disabled = markDisabled(newDate, {month: month.number, year: month.year});\n }\n\n // today\n let today = newDate.equals(calendarToday);\n\n // adding user-provided data to the context\n let contextUserData =\n dayTemplateData ? dayTemplateData(newDate, {month: month.number, year: month.year}) : undefined;\n\n // saving first date of the month\n if (month.firstDate === null && newDate.month === month.number) {\n month.firstDate = newDate;\n }\n\n // saving last date of the month\n if (newDate.month === month.number && nextDate.month !== month.number) {\n month.lastDate = newDate;\n }\n\n let dayObject = days[day];\n if (!dayObject) {\n dayObject = days[day] = {} as DayViewModel;\n }\n dayObject.date = newDate;\n dayObject.context = Object.assign(dayObject.context || {}, {\n $implicit: newDate,\n date: newDate,\n data: contextUserData,\n currentMonth: month.number,\n currentYear: month.year, disabled,\n focused: false,\n selected: false, today\n });\n dayObject.tabindex = -1;\n dayObject.ariaLabel = ariaLabel;\n dayObject.hidden = false;\n\n date = nextDate;\n }\n\n weekObject.number = calendar.getWeekNumber(days.map(day => day.date), firstDayOfWeek);\n\n // marking week as collapsed\n weekObject.collapsed = outsideDays === 'collapsed' && days[0].date.month !== month.number &&\n days[days.length - 1].date.month !== month.number;\n }\n\n return month;\n}\n\nexport function getFirstViewDate(calendar: NgbCalendar, date: NgbDate, firstDayOfWeek: number): NgbDate {\n const daysPerWeek = calendar.getDaysPerWeek();\n const firstMonthDate = new NgbDate(date.year, date.month, 1);\n const dayOfWeek = calendar.getWeekday(firstMonthDate) % daysPerWeek;\n return calendar.getPrev(firstMonthDate, 'd', (daysPerWeek + dayOfWeek - firstDayOfWeek) % daysPerWeek);\n}\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {FormStyle, getLocaleDayNames, getLocaleMonthNames, TranslationWidth, formatDate} from '@angular/common';\nimport {NgbDateStruct} from './ngb-date-struct';\n\nexport function NGB_DATEPICKER_18N_FACTORY(locale) {\n return new NgbDatepickerI18nDefault(locale);\n}\n\n/**\n * A service supplying i18n data to the datepicker component.\n *\n * The default implementation of this service uses the Angular locale and registered locale data for\n * weekdays and month names (as explained in the Angular i18n guide).\n *\n * It also provides a way to i18n data that depends on calendar calculations, like aria labels, day, week and year\n * numerals. For other static labels the datepicker uses the default Angular i18n.\n *\n * See the [i18n demo](#/components/datepicker/examples#i18n) and\n * [Hebrew calendar demo](#/components/datepicker/calendars#hebrew) on how to extend this class and define\n * a custom provider for i18n.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_18N_FACTORY, deps: [LOCALE_ID]})\nexport abstract class NgbDatepickerI18n {\n /**\n * Returns the short weekday name to display in the heading of the month view.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n abstract getWeekdayShortName(weekday: number): string;\n\n /**\n * Returns the short month name to display in the date picker navigation.\n *\n * With default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n */\n abstract getMonthShortName(month: number, year?: number): string;\n\n /**\n * Returns the full month name to display in the date picker navigation.\n *\n * With default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n */\n abstract getMonthFullName(month: number, year?: number): string;\n\n /**\n * Returns the value of the `aria-label` attribute for a specific date.\n *\n * @since 2.0.0\n */\n abstract getDayAriaLabel(date: NgbDateStruct): string;\n\n /**\n * Returns the textual representation of a day that is rendered in a day cell.\n *\n * @since 3.0.0\n */\n getDayNumerals(date: NgbDateStruct): string { return `${date.day}`; }\n\n /**\n * Returns the textual representation of a week number rendered by datepicker.\n *\n * @since 3.0.0\n */\n getWeekNumerals(weekNumber: number): string { return `${weekNumber}`; }\n\n /**\n * Returns the textual representation of a year that is rendered in the datepicker year select box.\n *\n * @since 3.0.0\n */\n getYearNumerals(year: number): string { return `${year}`; }\n}\n\n@Injectable()\nexport class NgbDatepickerI18nDefault extends NgbDatepickerI18n {\n private _weekdaysShort: Array;\n private _monthsShort: ReadonlyArray;\n private _monthsFull: ReadonlyArray;\n\n constructor(@Inject(LOCALE_ID) private _locale: string) {\n super();\n\n const weekdaysStartingOnSunday = getLocaleDayNames(_locale, FormStyle.Standalone, TranslationWidth.Short);\n this._weekdaysShort = weekdaysStartingOnSunday.map((day, index) => weekdaysStartingOnSunday[(index + 1) % 7]);\n\n this._monthsShort = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Abbreviated);\n this._monthsFull = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Wide);\n }\n\n getWeekdayShortName(weekday: number): string { return this._weekdaysShort[weekday - 1] || ''; }\n\n getMonthShortName(month: number): string { return this._monthsShort[month - 1] || ''; }\n\n getMonthFullName(month: number): string { return this._monthsFull[month - 1] || ''; }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n const jsDate = new Date(date.year, date.month - 1, date.day);\n return formatDate(jsDate, 'fullDate', this._locale);\n }\n}\n","import {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {DatepickerViewModel, NgbDayTemplateData, NgbMarkDisabled} from './datepicker-view-model';\nimport {Injectable} from '@angular/core';\nimport {isInteger, toInteger} from '../util/util';\nimport {Observable, Subject} from 'rxjs';\nimport {\n buildMonths,\n checkDateInRange,\n checkMinBeforeMax,\n isChangedDate,\n isChangedMonth,\n isDateSelectable,\n generateSelectBoxYears,\n generateSelectBoxMonths,\n prevMonthDisabled,\n nextMonthDisabled\n} from './datepicker-tools';\n\nimport {filter} from 'rxjs/operators';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\nexport interface DatepickerServiceInputs extends Partial<\n Required>> {}\n\n@Injectable()\nexport class NgbDatepickerService {\n private _VALIDATORS:\n {[K in keyof DatepickerServiceInputs]: (v: DatepickerServiceInputs[K]) => Partial| void} = {\n dayTemplateData: (dayTemplateData: NgbDayTemplateData) => {\n if (this._state.dayTemplateData !== dayTemplateData) {\n return {dayTemplateData};\n }\n },\n displayMonths: (displayMonths: number) => {\n displayMonths = toInteger(displayMonths);\n if (isInteger(displayMonths) && displayMonths > 0 && this._state.displayMonths !== displayMonths) {\n return {displayMonths};\n }\n },\n disabled: (disabled: boolean) => {\n if (this._state.disabled !== disabled) {\n return {disabled};\n }\n },\n firstDayOfWeek: (firstDayOfWeek: number) => {\n firstDayOfWeek = toInteger(firstDayOfWeek);\n if (isInteger(firstDayOfWeek) && firstDayOfWeek >= 0 && this._state.firstDayOfWeek !== firstDayOfWeek) {\n return {firstDayOfWeek};\n }\n },\n focusVisible: (focusVisible: boolean) => {\n if (this._state.focusVisible !== focusVisible && !this._state.disabled) {\n return {focusVisible};\n }\n },\n markDisabled: (markDisabled: NgbMarkDisabled) => {\n if (this._state.markDisabled !== markDisabled) {\n return {markDisabled};\n }\n },\n maxDate: (date: NgbDate) => {\n const maxDate = this.toValidDate(date, null);\n if (isChangedDate(this._state.maxDate, maxDate)) {\n return {maxDate};\n }\n },\n minDate: (date: NgbDate) => {\n const minDate = this.toValidDate(date, null);\n if (isChangedDate(this._state.minDate, minDate)) {\n return {minDate};\n }\n },\n navigation: (navigation: 'select' | 'arrows' | 'none') => {\n if (this._state.navigation !== navigation) {\n return {navigation};\n }\n },\n outsideDays: (outsideDays: 'visible' | 'collapsed' | 'hidden') => {\n if (this._state.outsideDays !== outsideDays) {\n return {outsideDays};\n }\n }\n };\n\n private _model$ = new Subject();\n\n private _dateSelect$ = new Subject();\n\n private _state: DatepickerViewModel = {\n dayTemplateData: null,\n markDisabled: null,\n maxDate: null,\n minDate: null,\n disabled: false,\n displayMonths: 1,\n firstDate: null,\n firstDayOfWeek: 1,\n lastDate: null,\n focusDate: null,\n focusVisible: false,\n months: [],\n navigation: 'select',\n outsideDays: 'visible',\n prevDisabled: false,\n nextDisabled: false,\n selectedDate: null,\n selectBoxes: {years: [], months: []}\n };\n\n get model$(): Observable { return this._model$.pipe(filter(model => model.months.length > 0)); }\n\n get dateSelect$(): Observable { return this._dateSelect$.pipe(filter(date => date !== null)); }\n\n set(options: DatepickerServiceInputs) {\n let patch = Object.keys(options)\n .map(key => this._VALIDATORS[key](options[key]))\n .reduce((obj, part) => ({...obj, ...part}), {});\n\n if (Object.keys(patch).length > 0) {\n this._nextState(patch);\n }\n }\n\n constructor(private _calendar: NgbCalendar, private _i18n: NgbDatepickerI18n) {}\n\n focus(date?: NgbDate | null) {\n const focusedDate = this.toValidDate(date, null);\n if (focusedDate != null && !this._state.disabled && isChangedDate(this._state.focusDate, focusedDate)) {\n this._nextState({focusDate: date});\n }\n }\n\n focusSelect() {\n if (isDateSelectable(this._state.focusDate, this._state)) {\n this.select(this._state.focusDate, {emitEvent: true});\n }\n }\n\n open(date?: NgbDate | null) {\n const firstDate = this.toValidDate(date, this._calendar.getToday());\n if (firstDate != null && !this._state.disabled &&\n (!this._state.firstDate || isChangedMonth(this._state.firstDate, firstDate))) {\n this._nextState({firstDate});\n }\n }\n\n select(date?: NgbDate | null, options: {emitEvent?: boolean} = {}) {\n const selectedDate = this.toValidDate(date, null);\n if (selectedDate != null && !this._state.disabled) {\n if (isChangedDate(this._state.selectedDate, selectedDate)) {\n this._nextState({selectedDate});\n }\n\n if (options.emitEvent && isDateSelectable(selectedDate, this._state)) {\n this._dateSelect$.next(selectedDate);\n }\n }\n }\n\n toValidDate(date?: NgbDateStruct | null, defaultValue?: NgbDate | null): NgbDate | null {\n const ngbDate = NgbDate.from(date);\n if (defaultValue === undefined) {\n defaultValue = this._calendar.getToday();\n }\n return this._calendar.isValid(ngbDate) ? ngbDate : defaultValue;\n }\n\n getMonth(struct: NgbDateStruct) {\n for (let month of this._state.months) {\n if (struct.month === month.number && struct.year === month.year) {\n return month;\n }\n }\n throw new Error(`month ${struct.month} of year ${struct.year} not found`);\n }\n\n private _nextState(patch: Partial) {\n const newState = this._updateState(patch);\n this._patchContexts(newState);\n this._state = newState;\n this._model$.next(this._state);\n }\n\n private _patchContexts(state: DatepickerViewModel) {\n const {months, displayMonths, selectedDate, focusDate, focusVisible, disabled, outsideDays} = state;\n state.months.forEach(month => {\n month.weeks.forEach(week => {\n week.days.forEach(day => {\n\n // patch focus flag\n if (focusDate) {\n day.context.focused = focusDate.equals(day.date) && focusVisible;\n }\n\n // calculating tabindex\n day.tabindex =\n !disabled && focusDate && day.date.equals(focusDate) && focusDate.month === month.number ? 0 : -1;\n\n // override context disabled\n if (disabled === true) {\n day.context.disabled = true;\n }\n\n // patch selection flag\n if (selectedDate !== undefined) {\n day.context.selected = selectedDate !== null && selectedDate.equals(day.date);\n }\n\n // visibility\n if (month.number !== day.date.month) {\n day.hidden = outsideDays === 'hidden' || outsideDays === 'collapsed' ||\n (displayMonths > 1 && day.date.after(months[0].firstDate) &&\n day.date.before(months[displayMonths - 1].lastDate));\n }\n });\n });\n });\n }\n\n private _updateState(patch: Partial): DatepickerViewModel {\n // patching fields\n const state = Object.assign({}, this._state, patch);\n\n let startDate = state.firstDate;\n\n // min/max dates changed\n if ('minDate' in patch || 'maxDate' in patch) {\n checkMinBeforeMax(state.minDate, state.maxDate);\n state.focusDate = checkDateInRange(state.focusDate, state.minDate, state.maxDate);\n state.firstDate = checkDateInRange(state.firstDate, state.minDate, state.maxDate);\n startDate = state.focusDate;\n }\n\n // disabled\n if ('disabled' in patch) {\n state.focusVisible = false;\n }\n\n // initial rebuild via 'select()'\n if ('selectedDate' in patch && this._state.months.length === 0) {\n startDate = state.selectedDate;\n }\n\n // terminate early if only focus visibility was changed\n if ('focusVisible' in patch) {\n return state;\n }\n\n // focus date changed\n if ('focusDate' in patch) {\n state.focusDate = checkDateInRange(state.focusDate, state.minDate, state.maxDate);\n startDate = state.focusDate;\n\n // nothing to rebuild if only focus changed and it is still visible\n if (state.months.length !== 0 && state.focusDate && !state.focusDate.before(state.firstDate) &&\n !state.focusDate.after(state.lastDate)) {\n return state;\n }\n }\n\n // first date changed\n if ('firstDate' in patch) {\n state.firstDate = checkDateInRange(state.firstDate, state.minDate, state.maxDate);\n startDate = state.firstDate;\n }\n\n // rebuilding months\n if (startDate) {\n const forceRebuild = 'dayTemplateData' in patch || 'firstDayOfWeek' in patch || 'markDisabled' in patch ||\n 'minDate' in patch || 'maxDate' in patch || 'disabled' in patch || 'outsideDays' in patch;\n\n const months = buildMonths(this._calendar, startDate, state, this._i18n, forceRebuild);\n\n // updating months and boundary dates\n state.months = months;\n state.firstDate = months[0].firstDate;\n state.lastDate = months[months.length - 1].lastDate;\n\n // reset selected date if 'markDisabled' returns true\n if ('selectedDate' in patch && !isDateSelectable(state.selectedDate, state)) {\n state.selectedDate = null;\n }\n\n // adjusting focus after months were built\n if ('firstDate' in patch) {\n if (!state.focusDate || state.focusDate.before(state.firstDate) || state.focusDate.after(state.lastDate)) {\n state.focusDate = startDate;\n }\n }\n\n // adjusting months/years for the select box navigation\n const yearChanged = !this._state.firstDate || this._state.firstDate.year !== state.firstDate.year;\n const monthChanged = !this._state.firstDate || this._state.firstDate.month !== state.firstDate.month;\n if (state.navigation === 'select') {\n // years -> boundaries (min/max were changed)\n if ('minDate' in patch || 'maxDate' in patch || state.selectBoxes.years.length === 0 || yearChanged) {\n state.selectBoxes.years = generateSelectBoxYears(state.firstDate, state.minDate, state.maxDate);\n }\n\n // months -> when current year or boundaries change\n if ('minDate' in patch || 'maxDate' in patch || state.selectBoxes.months.length === 0 || yearChanged) {\n state.selectBoxes.months =\n generateSelectBoxMonths(this._calendar, state.firstDate, state.minDate, state.maxDate);\n }\n } else {\n state.selectBoxes = {years: [], months: []};\n }\n\n // updating navigation arrows -> boundaries change (min/max) or month/year changes\n if ((state.navigation === 'arrows' || state.navigation === 'select') &&\n (monthChanged || yearChanged || 'minDate' in patch || 'maxDate' in patch || 'disabled' in patch)) {\n state.prevDisabled = state.disabled || prevMonthDisabled(this._calendar, state.firstDate, state.minDate);\n state.nextDisabled = state.disabled || nextMonthDisabled(this._calendar, state.lastDate, state.maxDate);\n }\n }\n\n return state;\n }\n}\n","import {NgbDate} from './ngb-date';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {DayTemplateContext} from './datepicker-day-template-context';\n\nexport type NgbMarkDisabled = (date: NgbDateStruct, current?: {year: number, month: number}) => boolean;\nexport type NgbDayTemplateData = (date: NgbDateStruct, current?: {year: number, month: number}) => any;\n\nexport type DayViewModel = {\n date: NgbDate,\n context: DayTemplateContext,\n tabindex: number,\n ariaLabel: string,\n hidden: boolean\n};\n\nexport type WeekViewModel = {\n number: number,\n days: DayViewModel[],\n collapsed: boolean\n};\n\nexport type MonthViewModel = {\n firstDate: NgbDate,\n lastDate: NgbDate,\n number: number,\n year: number,\n weeks: WeekViewModel[],\n weekdays: number[]\n};\n\n// clang-format off\nexport type DatepickerViewModel = {\n dayTemplateData: NgbDayTemplateData | null,\n disabled: boolean,\n displayMonths: number,\n firstDate: NgbDate | null,\n firstDayOfWeek: number,\n focusDate: NgbDate | null,\n focusVisible: boolean,\n lastDate: NgbDate | null,\n markDisabled: NgbMarkDisabled | null,\n maxDate: NgbDate | null,\n minDate: NgbDate | null,\n months: MonthViewModel[],\n navigation: 'select' | 'arrows' | 'none',\n outsideDays: 'visible' | 'collapsed' | 'hidden',\n prevDisabled: boolean,\n nextDisabled: boolean,\n selectBoxes: {\n years: number[],\n months: number[]\n },\n selectedDate: NgbDate | null\n};\n// clang-format on\n\nexport enum NavigationEvent {\n PREV,\n NEXT\n}\n","import {Injectable, TemplateRef} from '@angular/core';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbDateStruct} from './ngb-date-struct';\n\n/**\n * A configuration service for the [`NgbDatepicker`](#/components/datepicker/api#NgbDatepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the datepickers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDatepickerConfig {\n dayTemplate: TemplateRef;\n dayTemplateData: (date: NgbDateStruct, current?: {year: number, month: number}) => any;\n footerTemplate: TemplateRef;\n displayMonths = 1;\n firstDayOfWeek = 1;\n markDisabled: (date: NgbDateStruct, current?: {year: number, month: number}) => boolean;\n minDate: NgbDateStruct;\n maxDate: NgbDateStruct;\n navigation: 'select' | 'arrows' | 'none' = 'select';\n outsideDays: 'visible' | 'collapsed' | 'hidden' = 'visible';\n showWeekdays = true;\n showWeekNumbers = false;\n startDate: {year: number, month: number};\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {isInteger} from '../../util/util';\n\nexport function NGB_DATEPICKER_DATE_ADAPTER_FACTORY() {\n return new NgbDateStructAdapter();\n}\n\n/**\n * An abstract service that does the conversion between the internal datepicker `NgbDateStruct` model and\n * any provided user date model `D`, ex. a string, a native date, etc.\n *\n * The adapter is used **only** for conversion when binding datepicker to a form control,\n * ex. `[(ngModel)]=\"userDateModel\"`. Here `userDateModel` can be of any type.\n *\n * The default datepicker implementation assumes we use `NgbDateStruct` as a user model.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details\n * and the [custom adapter demo](#/components/datepicker/examples#adapter) for an example.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_DATE_ADAPTER_FACTORY})\nexport abstract class NgbDateAdapter {\n /**\n * Converts a user-model date of type `D` to an `NgbDateStruct` for internal use.\n */\n abstract fromModel(value: D | null): NgbDateStruct | null;\n\n /**\n * Converts an internal `NgbDateStruct` date to a user-model date of type `D`.\n */\n abstract toModel(date: NgbDateStruct | null): D | null;\n}\n\n@Injectable()\nexport class NgbDateStructAdapter extends NgbDateAdapter {\n /**\n * Converts a NgbDateStruct value into NgbDateStruct value\n */\n fromModel(date: NgbDateStruct | null): NgbDateStruct | null {\n return (date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day)) ?\n {year: date.year, month: date.month, day: date.day} :\n null;\n }\n\n /**\n * Converts a NgbDateStruct value into NgbDateStruct value\n */\n toModel(date: NgbDateStruct | null): NgbDateStruct | null {\n return (date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day)) ?\n {year: date.year, month: date.month, day: date.day} :\n null;\n }\n}\n","import {fromEvent, merge, Subject} from 'rxjs';\nimport {filter, take, takeUntil} from 'rxjs/operators';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {DatepickerServiceInputs, NgbDatepickerService} from './datepicker-service';\nimport {DatepickerViewModel, NavigationEvent} from './datepicker-view-model';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\nimport {isChangedDate, isChangedMonth} from './datepicker-tools';\nimport {hasClassName} from '../util/util';\n\n/**\n * An event emitted right before the navigation happens and the month displayed by the datepicker changes.\n */\nexport interface NgbDatepickerNavigateEvent {\n /**\n * The currently displayed month.\n */\n current: {year: number, month: number} | null;\n\n /**\n * The month we're navigating to.\n */\n next: {year: number, month: number};\n\n /**\n * Calling this function will prevent navigation from happening.\n *\n * @since 4.1.0\n */\n preventDefault: () => void;\n}\n\n/**\n * An interface that represents the readonly public state of the datepicker.\n *\n * Accessible via the `datepicker.state` getter\n *\n * @since 5.2.0\n */\nexport interface NgbDatepickerState {\n /**\n * The earliest date that can be displayed or selected\n */\n readonly minDate: NgbDate | null;\n\n /**\n * The latest date that can be displayed or selected\n */\n readonly maxDate: NgbDate | null;\n\n /**\n * The first visible date of currently displayed months\n */\n readonly firstDate: NgbDate;\n\n /**\n * The last visible date of currently displayed months\n */\n readonly lastDate: NgbDate;\n\n /**\n * The date currently focused by the datepicker\n */\n readonly focusedDate: NgbDate;\n\n /**\n * First dates of months currently displayed by the datepicker\n *\n * @since 5.3.0\n */\n readonly months: NgbDate[];\n}\n\n/**\n * A directive that marks the content template that customizes the way datepicker months are displayed\n *\n * @since 5.3.0\n */\n@Directive({selector: 'ng-template[ngbDatepickerContent]'})\nexport class NgbDatepickerContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A highly configurable component that helps you with selecting calendar dates.\n *\n * `NgbDatepicker` is meant to be displayed inline on a page or put inside a popup.\n */\n@Component({\n exportAs: 'ngbDatepicker',\n selector: 'ngb-datepicker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker.scss'],\n template: `\n \n
\n
\n
\n\n \n
\n
1 && navigation === 'select')\" class=\"ngb-dp-month-name\">\n {{ i18n.getMonthFullName(month.number, month.year) }} {{ i18n.getYearNumerals(month.year) }}\n
\n \n
\n
\n\n
\n \n \n
\n\n
\n \n
\n\n \n `,\n providers:\n [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbDatepicker), multi: true}, NgbDatepickerService]\n})\nexport class NgbDatepicker implements OnDestroy,\n OnChanges, OnInit, ControlValueAccessor {\n static ngAcceptInputType_autoClose: boolean | string;\n static ngAcceptInputType_navigation: string;\n static ngAcceptInputType_outsideDays: string;\n\n model: DatepickerViewModel;\n\n @ViewChild('defaultDayTemplate', {static: true}) private _defaultDayTemplate: TemplateRef;\n @ViewChild('content', {static: true}) private _contentEl: ElementRef;\n @ContentChild(NgbDatepickerContent, {static: true}) contentTemplate: NgbDatepickerContent;\n\n private _controlValue: NgbDate | null = null;\n private _destroyed$ = new Subject();\n private _publicState: NgbDatepickerState = {};\n\n /**\n * The reference to a custom template for the day.\n *\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\n *\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\n */\n @Input() dayTemplate: TemplateRef;\n\n /**\n * The callback to pass any arbitrary data to the template cell via the\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\n *\n * `current` is the month that is currently displayed by the datepicker.\n *\n * @since 3.3.0\n */\n @Input() dayTemplateData: (date: NgbDate, current?: {year: number, month: number}) => any;\n\n /**\n * The number of months to display.\n */\n @Input() displayMonths: number;\n\n /**\n * The first day of the week.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n @Input() firstDayOfWeek: number;\n\n /**\n * The reference to the custom template for the datepicker footer.\n *\n * @since 3.3.0\n */\n @Input() footerTemplate: TemplateRef;\n\n /**\n * The callback to mark some dates as disabled.\n *\n * It is called for each new date when navigating to a different month.\n *\n * `current` is the month that is currently displayed by the datepicker.\n */\n @Input() markDisabled: (date: NgbDate, current?: {year: number, month: number}) => boolean;\n\n /**\n * The latest date that can be displayed or selected.\n *\n * If not provided, 'year' select box will display 10 years after the current month.\n */\n @Input() maxDate: NgbDateStruct;\n\n /**\n * The earliest date that can be displayed or selected.\n *\n * If not provided, 'year' select box will display 10 years before the current month.\n */\n @Input() minDate: NgbDateStruct;\n\n /**\n * Navigation type.\n *\n * * `\"select\"` - select boxes for month and navigation arrows\n * * `\"arrows\"` - only navigation arrows\n * * `\"none\"` - no navigation visible at all\n */\n @Input() navigation: 'select' | 'arrows' | 'none';\n\n /**\n * The way of displaying days that don't belong to the current month.\n *\n * * `\"visible\"` - days are visible\n * * `\"hidden\"` - days are hidden, white space preserved\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\n *\n * For the 2+ months view, days in between months are never shown.\n */\n @Input() outsideDays: 'visible' | 'collapsed' | 'hidden';\n\n /**\n * If `true`, weekdays will be displayed.\n */\n @Input() showWeekdays: boolean;\n\n /**\n * If `true`, week numbers will be displayed.\n */\n @Input() showWeekNumbers: boolean;\n\n /**\n * The date to open calendar with.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date is provided, calendar will open with current month.\n *\n * You could use `navigateTo(date)` method as an alternative.\n */\n @Input() startDate: {year: number, month: number, day?: number};\n\n /**\n * An event emitted right before the navigation happens and displayed month changes.\n *\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\n */\n @Output() navigate = new EventEmitter();\n\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @since 5.2.0\n */\n @Output() dateSelect = new EventEmitter();\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n constructor(\n private _service: NgbDatepickerService, private _calendar: NgbCalendar, public i18n: NgbDatepickerI18n,\n config: NgbDatepickerConfig, cd: ChangeDetectorRef, private _elementRef: ElementRef,\n private _ngbDateAdapter: NgbDateAdapter, private _ngZone: NgZone) {\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\n 'maxDate', 'navigation', 'outsideDays', 'showWeekdays', 'showWeekNumbers', 'startDate']\n .forEach(input => this[input] = config[input]);\n\n _service.dateSelect$.pipe(takeUntil(this._destroyed$)).subscribe(date => { this.dateSelect.emit(date); });\n\n _service.model$.pipe(takeUntil(this._destroyed$)).subscribe(model => {\n const newDate = model.firstDate !;\n const oldDate = this.model ? this.model.firstDate : null;\n\n // update public state\n this._publicState = {\n maxDate: model.maxDate,\n minDate: model.minDate,\n firstDate: model.firstDate !,\n lastDate: model.lastDate !,\n focusedDate: model.focusDate !,\n months: model.months.map(viewModel => viewModel.firstDate)\n };\n\n let navigationPrevented = false;\n // emitting navigation event if the first month changes\n if (!newDate.equals(oldDate)) {\n this.navigate.emit({\n current: oldDate ? {year: oldDate.year, month: oldDate.month} : null,\n next: {year: newDate.year, month: newDate.month},\n preventDefault: () => navigationPrevented = true\n });\n\n // can't prevent the very first navigation\n if (navigationPrevented && oldDate !== null) {\n this._service.open(oldDate);\n return;\n }\n }\n\n const newSelectedDate = model.selectedDate;\n const newFocusedDate = model.focusDate;\n const oldFocusedDate = this.model ? this.model.focusDate : null;\n\n this.model = model;\n\n // handling selection change\n if (isChangedDate(newSelectedDate, this._controlValue)) {\n this._controlValue = newSelectedDate;\n this.onTouched();\n this.onChange(this._ngbDateAdapter.toModel(newSelectedDate));\n }\n\n // handling focus change\n if (isChangedDate(newFocusedDate, oldFocusedDate) && oldFocusedDate && model.focusVisible) {\n this.focus();\n }\n\n cd.markForCheck();\n });\n }\n\n /**\n * Returns the readonly public state of the datepicker\n *\n * @since 5.2.0\n */\n get state(): NgbDatepickerState { return this._publicState; }\n\n /**\n * Returns the calendar service used in the specific datepicker instance.\n *\n * @since 5.3.0\n */\n get calendar(): NgbCalendar { return this._calendar; }\n\n /**\n * Focuses on given date.\n */\n focusDate(date?: NgbDateStruct | null): void { this._service.focus(NgbDate.from(date)); }\n\n /**\n * Selects focused date.\n */\n focusSelect(): void { this._service.focusSelect(); }\n\n focus() {\n this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n const elementToFocus =\n this._elementRef.nativeElement.querySelector('div.ngb-dp-day[tabindex=\"0\"]');\n if (elementToFocus) {\n elementToFocus.focus();\n }\n });\n }\n\n /**\n * Navigates to the provided date.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date provided calendar will open current month.\n *\n * Use the `[startDate]` input as an alternative.\n */\n navigateTo(date?: {year: number, month: number, day?: number}) {\n this._service.open(NgbDate.from(date ? date.day ? date as NgbDateStruct : {...date, day: 1} : null));\n }\n\n ngAfterViewInit() {\n this._ngZone.runOutsideAngular(() => {\n const focusIns$ = fromEvent(this._contentEl.nativeElement, 'focusin');\n const focusOuts$ = fromEvent(this._contentEl.nativeElement, 'focusout');\n const {nativeElement} = this._elementRef;\n\n // we're changing 'focusVisible' only when entering or leaving months view\n // and ignoring all focus events where both 'target' and 'related' target are day cells\n merge(focusIns$, focusOuts$)\n .pipe(\n filter(\n ({target, relatedTarget}) =>\n !(hasClassName(target, 'ngb-dp-day') && hasClassName(relatedTarget, 'ngb-dp-day') &&\n nativeElement.contains(target as Node) && nativeElement.contains(relatedTarget as Node))),\n takeUntil(this._destroyed$))\n .subscribe(({type}) => this._ngZone.run(() => this._service.set({focusVisible: type === 'focusin'})));\n });\n }\n\n ngOnDestroy() { this._destroyed$.next(); }\n\n ngOnInit() {\n if (this.model === undefined) {\n const inputs: DatepickerServiceInputs = {};\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\n 'outsideDays']\n .forEach(name => inputs[name] = this[name]);\n this._service.set(inputs);\n\n this.navigateTo(this.startDate);\n }\n if (!this.dayTemplate) {\n this.dayTemplate = this._defaultDayTemplate;\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n const inputs: DatepickerServiceInputs = {};\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\n 'outsideDays']\n .filter(name => name in changes)\n .forEach(name => inputs[name] = this[name]);\n this._service.set(inputs);\n\n if ('startDate' in changes) {\n const {currentValue, previousValue} = changes.startDate;\n if (isChangedMonth(previousValue, currentValue)) {\n this.navigateTo(this.startDate);\n }\n }\n }\n\n onDateSelect(date: NgbDate) {\n this._service.focus(date);\n this._service.select(date, {emitEvent: true});\n }\n\n onNavigateDateSelect(date: NgbDate) { this._service.open(date); }\n\n onNavigateEvent(event: NavigationEvent) {\n switch (event) {\n case NavigationEvent.PREV:\n this._service.open(this._calendar.getPrev(this.model.firstDate !, 'm', 1));\n break;\n case NavigationEvent.NEXT:\n this._service.open(this._calendar.getNext(this.model.firstDate !, 'm', 1));\n break;\n }\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(disabled: boolean) { this._service.set({disabled}); }\n\n writeValue(value) {\n this._controlValue = NgbDate.from(this._ngbDateAdapter.fromModel(value));\n this._service.select(this._controlValue);\n }\n}\n","export enum Key {\n Tab = 9,\n Enter = 13,\n Escape = 27,\n Space = 32,\n PageUp = 33,\n PageDown = 34,\n End = 35,\n Home = 36,\n ArrowLeft = 37,\n ArrowUp = 38,\n ArrowRight = 39,\n ArrowDown = 40\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDatepicker} from './datepicker';\nimport {Key} from '../util/key';\n\n/**\n * A service that represents the keyboard navigation.\n *\n * Default keyboard shortcuts [are documented in the overview](#/components/datepicker/overview#keyboard-shortcuts)\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDatepickerKeyboardService {\n /**\n * Processes a keyboard event.\n */\n processKey(event: KeyboardEvent, datepicker: NgbDatepicker) {\n const {state, calendar} = datepicker;\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.PageUp:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, event.shiftKey ? 'y' : 'm', 1));\n break;\n case Key.PageDown:\n datepicker.focusDate(calendar.getNext(state.focusedDate, event.shiftKey ? 'y' : 'm', 1));\n break;\n case Key.End:\n datepicker.focusDate(event.shiftKey ? state.maxDate : state.lastDate);\n break;\n case Key.Home:\n datepicker.focusDate(event.shiftKey ? state.minDate : state.firstDate);\n break;\n case Key.ArrowLeft:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, 'd', 1));\n break;\n case Key.ArrowUp:\n datepicker.focusDate(calendar.getPrev(state.focusedDate, 'd', calendar.getDaysPerWeek()));\n break;\n case Key.ArrowRight:\n datepicker.focusDate(calendar.getNext(state.focusedDate, 'd', 1));\n break;\n case Key.ArrowDown:\n datepicker.focusDate(calendar.getNext(state.focusedDate, 'd', calendar.getDaysPerWeek()));\n break;\n case Key.Enter:\n case Key.Space:\n datepicker.focusSelect();\n break;\n default:\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n }\n}\n","import {Component, Input, ViewEncapsulation} from '@angular/core';\nimport {NgbDatepicker} from './datepicker';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\nimport {NgbDatepickerKeyboardService} from './datepicker-keyboard-service';\nimport {NgbDatepickerService} from './datepicker-service';\nimport {MonthViewModel, DayViewModel} from './datepicker-view-model';\nimport {NgbDateStruct} from './ngb-date-struct';\n\n/**\n * A component that renders one month including all the days, weekdays and week numbers. Can be used inside\n * the `` when you want to customize months layout.\n *\n * For a usage example, see [custom month layout demo](#/components/datepicker/examples#custommonth)\n *\n * @since 5.3.0\n */\n@Component({\n selector: 'ngb-datepicker-month',\n host: {'role': 'grid', '(keydown)': 'onKeyDown($event)'},\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-month.scss'],\n template: `\n
\n
\n
\n {{ i18n.getWeekdayShortName(w) }}\n
\n
\n \n
\n
{{ i18n.getWeekNumerals(week.number) }}
\n
\n \n \n \n
\n
\n
\n `\n})\nexport class NgbDatepickerMonth {\n /**\n * The first date of month to be rendered.\n *\n * This month must one of the months present in the\n * [datepicker state](#/components/datepicker/api#NgbDatepickerState).\n */\n @Input()\n set month(month: NgbDateStruct) {\n this.viewModel = this._service.getMonth(month);\n }\n\n viewModel: MonthViewModel;\n\n constructor(\n public i18n: NgbDatepickerI18n, public datepicker: NgbDatepicker,\n private _keyboardService: NgbDatepickerKeyboardService, private _service: NgbDatepickerService) {}\n\n onKeyDown(event: KeyboardEvent) { this._keyboardService.processKey(event, this.datepicker); }\n\n doSelect(day: DayViewModel) {\n if (!day.context.disabled && !day.hidden) {\n this.datepicker.onDateSelect(day.date);\n }\n }\n}\n","import {Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {NavigationEvent, MonthViewModel} from './datepicker-view-model';\nimport {NgbDate} from './ngb-date';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: 'ngb-datepicker-navigation',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-navigation.scss'],\n template: `\n
\n \n
\n \n \n\n \n
0\">
\n
\n {{ i18n.getMonthFullName(month.number, month.year) }} {{ i18n.getYearNumerals(month.year) }}\n
\n
\n
\n
\n \n
\n `\n})\nexport class NgbDatepickerNavigation {\n navigation = NavigationEvent;\n\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() months: MonthViewModel[] = [];\n @Input() showSelect: boolean;\n @Input() prevDisabled: boolean;\n @Input() nextDisabled: boolean;\n @Input() selectBoxes: {years: number[], months: number[]};\n\n @Output() navigate = new EventEmitter();\n @Output() select = new EventEmitter();\n\n constructor(public i18n: NgbDatepickerI18n) {}\n\n onClickPrev(event: MouseEvent) {\n (event.currentTarget as HTMLElement).focus();\n this.navigate.emit(this.navigation.PREV);\n }\n\n onClickNext(event: MouseEvent) {\n (event.currentTarget as HTMLElement).focus();\n this.navigate.emit(this.navigation.NEXT);\n }\n}\n","import {NgZone} from '@angular/core';\nimport {fromEvent, Observable, race} from 'rxjs';\nimport {delay, filter, map, takeUntil, tap, withLatestFrom} from 'rxjs/operators';\nimport {Key} from './key';\nimport {closest} from './util';\n\nconst isContainedIn = (element: HTMLElement, array?: HTMLElement[]) =>\n array ? array.some(item => item.contains(element)) : false;\n\nconst matchesSelectorIfAny = (element: HTMLElement, selector?: string) =>\n !selector || closest(element, selector) != null;\n\n// we have to add a more significant delay to avoid re-opening when handling (click) on a toggling element\n// TODO: use proper Angular platform detection when NgbAutoClose becomes a service and we can inject PLATFORM_ID\nconst isMobile = (() => {\n const isIOS = () => /iPad|iPhone|iPod/.test(navigator.userAgent) ||\n (/Macintosh/.test(navigator.userAgent) && navigator.maxTouchPoints && navigator.maxTouchPoints > 2);\n const isAndroid = () => /Android/.test(navigator.userAgent);\n\n return typeof navigator !== 'undefined' ? !!navigator.userAgent && (isIOS() || isAndroid()) : false;\n})();\n\n// setting 'ngbAutoClose' synchronously on mobile results in immediate popup closing\n// when tapping on the triggering element\nconst wrapAsyncForMobile = fn => isMobile ? () => setTimeout(() => fn(), 100) : fn;\n\nexport const enum SOURCE {ESCAPE, CLICK}\n\nexport function ngbAutoClose(\n zone: NgZone, document: any, type: boolean | 'inside' | 'outside', close: (source: SOURCE) => void,\n closed$: Observable, insideElements: HTMLElement[], ignoreElements?: HTMLElement[], insideSelector?: string) {\n // closing on ESC and outside clicks\n if (type) {\n zone.runOutsideAngular(wrapAsyncForMobile(() => {\n\n const shouldCloseOnClick = (event: MouseEvent) => {\n const element = event.target as HTMLElement;\n if (event.button === 2 || isContainedIn(element, ignoreElements)) {\n return false;\n }\n if (type === 'inside') {\n return isContainedIn(element, insideElements) && matchesSelectorIfAny(element, insideSelector);\n } else if (type === 'outside') {\n return !isContainedIn(element, insideElements);\n } else /* if (type === true) */ {\n return matchesSelectorIfAny(element, insideSelector) || !isContainedIn(element, insideElements);\n }\n };\n\n const escapes$ = fromEvent(document, 'keydown')\n .pipe(\n takeUntil(closed$),\n // tslint:disable-next-line:deprecation\n filter(e => e.which === Key.Escape), tap(e => e.preventDefault()));\n\n\n // we have to pre-calculate 'shouldCloseOnClick' on 'mousedown',\n // because on 'mouseup' DOM nodes might be detached\n const mouseDowns$ =\n fromEvent(document, 'mousedown').pipe(map(shouldCloseOnClick), takeUntil(closed$));\n\n const closeableClicks$ = fromEvent(document, 'mouseup')\n .pipe(\n withLatestFrom(mouseDowns$), filter(([_, shouldClose]) => shouldClose), delay(0),\n takeUntil(closed$)) as Observable;\n\n\n race([\n escapes$.pipe(map(_ => SOURCE.ESCAPE)), closeableClicks$.pipe(map(_ => SOURCE.CLICK))\n ]).subscribe((source: SOURCE) => zone.run(() => close(source)));\n }));\n }\n}\n","import {NgZone} from '@angular/core';\n\nimport {fromEvent, Observable} from 'rxjs';\nimport {filter, map, takeUntil, withLatestFrom} from 'rxjs/operators';\n\nimport {Key} from './key';\n\n\nexport const FOCUSABLE_ELEMENTS_SELECTOR = [\n 'a[href]', 'button:not([disabled])', 'input:not([disabled]):not([type=\"hidden\"])', 'select:not([disabled])',\n 'textarea:not([disabled])', '[contenteditable]', '[tabindex]:not([tabindex=\"-1\"])'\n].join(', ');\n\n/**\n * Returns first and last focusable elements inside of a given element based on specific CSS selector\n */\nexport function getFocusableBoundaryElements(element: HTMLElement): HTMLElement[] {\n const list: HTMLElement[] =\n Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR) as NodeListOf)\n .filter(el => el.tabIndex !== -1);\n return [list[0], list[list.length - 1]];\n}\n\n/**\n * Function that enforces browser focus to be trapped inside a DOM element.\n *\n * Works only for clicks inside the element and navigation with 'Tab', ignoring clicks outside of the element\n *\n * @param zone Angular zone\n * @param element The element around which focus will be trapped inside\n * @param stopFocusTrap$ The observable stream. When completed the focus trap will clean up listeners\n * and free internal resources\n * @param refocusOnClick Put the focus back to the last focused element whenever a click occurs on element (default to\n * false)\n */\nexport const ngbFocusTrap =\n (zone: NgZone, element: HTMLElement, stopFocusTrap$: Observable, refocusOnClick = false) => {\n zone.runOutsideAngular(() => {\n // last focused element\n const lastFocusedElement$ =\n fromEvent(element, 'focusin').pipe(takeUntil(stopFocusTrap$), map(e => e.target));\n\n // 'tab' / 'shift+tab' stream\n fromEvent(element, 'keydown')\n .pipe(\n takeUntil(stopFocusTrap$),\n // tslint:disable:deprecation\n filter(e => e.which === Key.Tab),\n // tslint:enable:deprecation\n withLatestFrom(lastFocusedElement$))\n .subscribe(([tabEvent, focusedElement]) => {\n const[first, last] = getFocusableBoundaryElements(element);\n\n if ((focusedElement === first || focusedElement === element) && tabEvent.shiftKey) {\n last.focus();\n tabEvent.preventDefault();\n }\n\n if (focusedElement === last && !tabEvent.shiftKey) {\n first.focus();\n tabEvent.preventDefault();\n }\n });\n\n // inside click\n if (refocusOnClick) {\n fromEvent(element, 'click')\n .pipe(takeUntil(stopFocusTrap$), withLatestFrom(lastFocusedElement$), map(arr => arr[1] as HTMLElement))\n .subscribe(lastFocusedElement => lastFocusedElement.focus());\n }\n });\n };\n","// previous version:\n// https://github.com/angular-ui/bootstrap/blob/07c31d0731f7cb068a1932b8e01d2312b796b4ec/src/position/position.js\nexport class Positioning {\n private getAllStyles(element: HTMLElement) { return window.getComputedStyle(element); }\n\n private getStyle(element: HTMLElement, prop: string): string { return this.getAllStyles(element)[prop]; }\n\n private isStaticPositioned(element: HTMLElement): boolean {\n return (this.getStyle(element, 'position') || 'static') === 'static';\n }\n\n private offsetParent(element: HTMLElement): HTMLElement {\n let offsetParentEl = element.offsetParent || document.documentElement;\n\n while (offsetParentEl && offsetParentEl !== document.documentElement && this.isStaticPositioned(offsetParentEl)) {\n offsetParentEl = offsetParentEl.offsetParent;\n }\n\n return offsetParentEl || document.documentElement;\n }\n\n position(element: HTMLElement, round = true): ClientRect {\n let elPosition: ClientRect;\n let parentOffset: ClientRect = {width: 0, height: 0, top: 0, bottom: 0, left: 0, right: 0};\n\n if (this.getStyle(element, 'position') === 'fixed') {\n elPosition = element.getBoundingClientRect();\n elPosition = {\n top: elPosition.top,\n bottom: elPosition.bottom,\n left: elPosition.left,\n right: elPosition.right,\n height: elPosition.height,\n width: elPosition.width\n };\n } else {\n const offsetParentEl = this.offsetParent(element);\n\n elPosition = this.offset(element, false);\n\n if (offsetParentEl !== document.documentElement) {\n parentOffset = this.offset(offsetParentEl, false);\n }\n\n parentOffset.top += offsetParentEl.clientTop;\n parentOffset.left += offsetParentEl.clientLeft;\n }\n\n elPosition.top -= parentOffset.top;\n elPosition.bottom -= parentOffset.top;\n elPosition.left -= parentOffset.left;\n elPosition.right -= parentOffset.left;\n\n if (round) {\n elPosition.top = Math.round(elPosition.top);\n elPosition.bottom = Math.round(elPosition.bottom);\n elPosition.left = Math.round(elPosition.left);\n elPosition.right = Math.round(elPosition.right);\n }\n\n return elPosition;\n }\n\n offset(element: HTMLElement, round = true): ClientRect {\n const elBcr = element.getBoundingClientRect();\n const viewportOffset = {\n top: window.pageYOffset - document.documentElement.clientTop,\n left: window.pageXOffset - document.documentElement.clientLeft\n };\n\n let elOffset = {\n height: elBcr.height || element.offsetHeight,\n width: elBcr.width || element.offsetWidth,\n top: elBcr.top + viewportOffset.top,\n bottom: elBcr.bottom + viewportOffset.top,\n left: elBcr.left + viewportOffset.left,\n right: elBcr.right + viewportOffset.left\n };\n\n if (round) {\n elOffset.height = Math.round(elOffset.height);\n elOffset.width = Math.round(elOffset.width);\n elOffset.top = Math.round(elOffset.top);\n elOffset.bottom = Math.round(elOffset.bottom);\n elOffset.left = Math.round(elOffset.left);\n elOffset.right = Math.round(elOffset.right);\n }\n\n return elOffset;\n }\n\n /*\n Return false if the element to position is outside the viewport\n */\n positionElements(hostElement: HTMLElement, targetElement: HTMLElement, placement: string, appendToBody?: boolean):\n boolean {\n const[placementPrimary = 'top', placementSecondary = 'center'] = placement.split('-');\n\n const hostElPosition = appendToBody ? this.offset(hostElement, false) : this.position(hostElement, false);\n const targetElStyles = this.getAllStyles(targetElement);\n\n const marginTop = parseFloat(targetElStyles.marginTop);\n const marginBottom = parseFloat(targetElStyles.marginBottom);\n const marginLeft = parseFloat(targetElStyles.marginLeft);\n const marginRight = parseFloat(targetElStyles.marginRight);\n\n let topPosition = 0;\n let leftPosition = 0;\n\n switch (placementPrimary) {\n case 'top':\n topPosition = (hostElPosition.top - (targetElement.offsetHeight + marginTop + marginBottom));\n break;\n case 'bottom':\n topPosition = (hostElPosition.top + hostElPosition.height);\n break;\n case 'left':\n leftPosition = (hostElPosition.left - (targetElement.offsetWidth + marginLeft + marginRight));\n break;\n case 'right':\n leftPosition = (hostElPosition.left + hostElPosition.width);\n break;\n }\n\n switch (placementSecondary) {\n case 'top':\n topPosition = hostElPosition.top;\n break;\n case 'bottom':\n topPosition = hostElPosition.top + hostElPosition.height - targetElement.offsetHeight;\n break;\n case 'left':\n leftPosition = hostElPosition.left;\n break;\n case 'right':\n leftPosition = hostElPosition.left + hostElPosition.width - targetElement.offsetWidth;\n break;\n case 'center':\n if (placementPrimary === 'top' || placementPrimary === 'bottom') {\n leftPosition = (hostElPosition.left + hostElPosition.width / 2 - targetElement.offsetWidth / 2);\n } else {\n topPosition = (hostElPosition.top + hostElPosition.height / 2 - targetElement.offsetHeight / 2);\n }\n break;\n }\n\n /// The translate3d/gpu acceleration render a blurry text on chrome, the next line is commented until a browser fix\n // targetElement.style.transform = `translate3d(${Math.round(leftPosition)}px, ${Math.floor(topPosition)}px, 0px)`;\n targetElement.style.transform = `translate(${Math.round(leftPosition)}px, ${Math.round(topPosition)}px)`;\n\n // Check if the targetElement is inside the viewport\n const targetElBCR = targetElement.getBoundingClientRect();\n const html = document.documentElement;\n const windowHeight = window.innerHeight || html.clientHeight;\n const windowWidth = window.innerWidth || html.clientWidth;\n\n return targetElBCR.left >= 0 && targetElBCR.top >= 0 && targetElBCR.right <= windowWidth &&\n targetElBCR.bottom <= windowHeight;\n }\n}\n\nconst placementSeparator = /\\s+/;\nexport const positionService = new Positioning();\n\n/*\n * Accept the placement array and applies the appropriate placement dependent on the viewport.\n * Returns the applied placement.\n * In case of auto placement, placements are selected in order\n * 'top', 'bottom', 'left', 'right',\n * 'top-left', 'top-right',\n * 'bottom-left', 'bottom-right',\n * 'left-top', 'left-bottom',\n * 'right-top', 'right-bottom'.\n * */\nexport function positionElements(\n hostElement: HTMLElement, targetElement: HTMLElement, placement: string | Placement | PlacementArray,\n appendToBody?: boolean, baseClass?: string): Placement |\n null {\n let placementVals: Array =\n Array.isArray(placement) ? placement : placement.split(placementSeparator) as Array;\n\n const allowedPlacements = [\n 'top', 'bottom', 'left', 'right', 'top-left', 'top-right', 'bottom-left', 'bottom-right', 'left-top', 'left-bottom',\n 'right-top', 'right-bottom'\n ];\n\n const classList = targetElement.classList;\n const addClassesToTarget = (targetPlacement: Placement): Array => {\n const[primary, secondary] = targetPlacement.split('-');\n const classes: string[] = [];\n if (baseClass) {\n classes.push(`${baseClass}-${primary}`);\n if (secondary) {\n classes.push(`${baseClass}-${primary}-${secondary}`);\n }\n\n classes.forEach((classname) => { classList.add(classname); });\n }\n return classes;\n };\n\n // Remove old placement classes to avoid issues\n if (baseClass) {\n allowedPlacements.forEach((placementToRemove) => { classList.remove(`${baseClass}-${placementToRemove}`); });\n }\n\n // replace auto placement with other placements\n let hasAuto = placementVals.findIndex(val => val === 'auto');\n if (hasAuto >= 0) {\n allowedPlacements.forEach(function(obj) {\n if (placementVals.find(val => val.search('^' + obj) !== -1) == null) {\n placementVals.splice(hasAuto++, 1, obj as Placement);\n }\n });\n }\n\n // coordinates where to position\n\n // Required for transform:\n const style = targetElement.style;\n style.position = 'absolute';\n style.top = '0';\n style.left = '0';\n style['will-change'] = 'transform';\n\n let testPlacement: Placement | null = null;\n let isInViewport = false;\n for (testPlacement of placementVals) {\n let addedClasses = addClassesToTarget(testPlacement);\n\n if (positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody)) {\n isInViewport = true;\n break;\n }\n\n // Remove the baseClasses for further calculation\n if (baseClass) {\n addedClasses.forEach((classname) => { classList.remove(classname); });\n }\n }\n\n if (!isInViewport) {\n // If nothing match, the first placement is the default one\n testPlacement = placementVals[0];\n addClassesToTarget(testPlacement);\n positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody);\n }\n\n return testPlacement;\n}\n\nexport type Placement = 'auto' | 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' |\n 'bottom-right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom';\n\nexport type PlacementArray = Placement | Array| string;\n","import {padNumber, toInteger, isNumber} from '../util/util';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {Injectable} from '@angular/core';\n\nexport function NGB_DATEPICKER_PARSER_FORMATTER_FACTORY() {\n return new NgbDateISOParserFormatter();\n}\n\n/**\n * An abstract service for parsing and formatting dates for the\n * [`NgbInputDatepicker`](#/components/datepicker/api#NgbInputDatepicker) directive.\n * Converts between the internal `NgbDateStruct` model presentation and a `string` that is displayed in the\n * input element.\n *\n * When user types something in the input this service attempts to parse it into a `NgbDateStruct` object.\n * And vice versa, when users selects a date in the calendar with the mouse, it must be displayed as a `string`\n * in the input.\n *\n * Default implementation uses the ISO 8601 format, but you can provide another implementation via DI\n * to use an alternative string format or a custom parsing logic.\n *\n * See the [date format overview](#/components/datepicker/overview#date-model) for more details.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_PARSER_FORMATTER_FACTORY})\nexport abstract class NgbDateParserFormatter {\n /**\n * Parses the given `string` to an `NgbDateStruct`.\n *\n * Implementations should try their best to provide a result, even\n * partial. They must return `null` if the value can't be parsed.\n */\n abstract parse(value: string): NgbDateStruct | null;\n\n /**\n * Formats the given `NgbDateStruct` to a `string`.\n *\n * Implementations should return an empty string if the given date is `null`,\n * and try their best to provide a partial result if the given date is incomplete or invalid.\n */\n abstract format(date: NgbDateStruct | null): string;\n}\n\n@Injectable()\nexport class NgbDateISOParserFormatter extends NgbDateParserFormatter {\n parse(value: string): NgbDateStruct | null {\n if (value != null) {\n const dateParts = value.trim().split('-');\n if (dateParts.length === 1 && isNumber(dateParts[0])) {\n return {year: toInteger(dateParts[0]), month: null, day: null};\n } else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) {\n return {year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: null};\n } else if (dateParts.length === 3 && isNumber(dateParts[0]) && isNumber(dateParts[1]) && isNumber(dateParts[2])) {\n return {year: toInteger(dateParts[0]), month: toInteger(dateParts[1]), day: toInteger(dateParts[2])};\n }\n }\n return null;\n }\n\n format(date: NgbDateStruct | null): string {\n return date ?\n `${date.year}-${isNumber(date.month) ? padNumber(date.month) : ''}-${isNumber(date.day) ? padNumber(date.day) : ''}` :\n '';\n }\n}\n","import {Injectable} from '@angular/core';\n\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbDatepickerInput`](#/components/datepicker/api#NgbDatepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the datepicker inputs used in the application.\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbInputDatepickerConfig extends NgbDatepickerConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n container: null | 'body';\n positionTarget: string | HTMLElement;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n restoreFocus: true | HTMLElement | string = true;\n}\n","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator\n} from '@angular/forms';\n\nimport {ngbAutoClose} from '../util/autoclose';\nimport {ngbFocusTrap} from '../util/focus-trap';\nimport {PlacementArray, positionElements} from '../util/positioning';\n\nimport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nimport {NgbDatepicker, NgbDatepickerNavigateEvent} from './datepicker';\nimport {DayTemplateContext} from './datepicker-day-template-context';\nimport {NgbCalendar} from './ngb-calendar';\nimport {NgbDate} from './ngb-date';\nimport {NgbDateParserFormatter} from './ngb-date-parser-formatter';\nimport {NgbDateStruct} from './ngb-date-struct';\nimport {NgbInputDatepickerConfig} from './datepicker-input-config';\nimport {NgbDatepickerConfig} from './datepicker-config';\nimport {isString} from '../util/util';\n\n/**\n * A directive that allows to stick a datepicker popup to an input field.\n *\n * Manages interaction with the input field itself, does value formatting and provides forms integration.\n */\n@Directive({\n selector: 'input[ngbDatepicker]',\n exportAs: 'ngbDatepicker',\n host: {\n '(input)': 'manualDateChange($event.target.value)',\n '(change)': 'manualDateChange($event.target.value, true)',\n '(focus)': 'onFocus()',\n '(blur)': 'onBlur()',\n '[disabled]': 'disabled'\n },\n providers: [\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbInputDatepicker), multi: true},\n {provide: NG_VALIDATORS, useExisting: forwardRef(() => NgbInputDatepicker), multi: true},\n {provide: NgbDatepickerConfig, useExisting: NgbInputDatepickerConfig}\n ],\n})\nexport class NgbInputDatepicker implements OnChanges,\n OnDestroy, ControlValueAccessor, Validator {\n static ngAcceptInputType_autoClose: boolean | string;\n static ngAcceptInputType_disabled: boolean | '';\n static ngAcceptInputType_navigation: string;\n static ngAcceptInputType_outsideDays: string;\n\n private _cRef: ComponentRef| null = null;\n private _disabled = false;\n private _elWithFocus: HTMLElement | null = null;\n private _model: NgbDate | null = null;\n private _inputValue: string;\n private _zoneSubscription: any;\n\n /**\n * Indicates whether the datepicker popup should be closed automatically after date selection / outside click or not.\n *\n * * `true` - the popup will close on both date selection and outside click.\n * * `false` - the popup can only be closed manually via `close()` or `toggle()` methods.\n * * `\"inside\"` - the popup will close on date selection, but not outside clicks.\n * * `\"outside\"` - the popup will close only on the outside click and not on date selection/inside clicks.\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The reference to a custom template for the day.\n *\n * Allows to completely override the way a day 'cell' in the calendar is displayed.\n *\n * See [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext) for the data you get inside.\n */\n @Input() dayTemplate: TemplateRef;\n\n /**\n * The callback to pass any arbitrary data to the template cell via the\n * [`DayTemplateContext`](#/components/datepicker/api#DayTemplateContext)'s `data` parameter.\n *\n * `current` is the month that is currently displayed by the datepicker.\n *\n * @since 3.3.0\n */\n @Input() dayTemplateData: (date: NgbDate, current?: {year: number, month: number}) => any;\n\n /**\n * The number of months to display.\n */\n @Input() displayMonths: number;\n\n /**\n * The first day of the week.\n *\n * With default calendar we use ISO 8601: 'weekday' is 1=Mon ... 7=Sun.\n */\n @Input() firstDayOfWeek: number;\n\n /**\n * The reference to the custom template for the datepicker footer.\n *\n * @since 3.3.0\n */\n @Input() footerTemplate: TemplateRef;\n\n /**\n * The callback to mark some dates as disabled.\n *\n * It is called for each new date when navigating to a different month.\n *\n * `current` is the month that is currently displayed by the datepicker.\n */\n @Input() markDisabled: (date: NgbDate, current?: {year: number, month: number}) => boolean;\n\n /**\n * The earliest date that can be displayed or selected. Also used for form validation.\n *\n * If not provided, 'year' select box will display 10 years before the current month.\n */\n @Input() minDate: NgbDateStruct;\n\n /**\n * The latest date that can be displayed or selected. Also used for form validation.\n *\n * If not provided, 'year' select box will display 10 years after the current month.\n */\n @Input() maxDate: NgbDateStruct;\n\n /**\n * Navigation type.\n *\n * * `\"select\"` - select boxes for month and navigation arrows\n * * `\"arrows\"` - only navigation arrows\n * * `\"none\"` - no navigation visible at all\n */\n @Input() navigation: 'select' | 'arrows' | 'none';\n\n /**\n * The way of displaying days that don't belong to the current month.\n *\n * * `\"visible\"` - days are visible\n * * `\"hidden\"` - days are hidden, white space preserved\n * * `\"collapsed\"` - days are collapsed, so the datepicker height might change between months\n *\n * For the 2+ months view, days in between months are never shown.\n */\n @Input() outsideDays: 'visible' | 'collapsed' | 'hidden';\n\n /**\n * The preferred placement of the datepicker popup.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * If `true`, when closing datepicker will focus element that was focused before datepicker was opened.\n *\n * Alternatively you could provide a selector or an `HTMLElement` to focus. If the element doesn't exist or invalid,\n * we'll fallback to focus document body.\n *\n * @since 5.2.0\n */\n @Input() restoreFocus: true | string | HTMLElement;\n\n /**\n * If `true`, weekdays will be displayed.\n */\n @Input() showWeekdays: boolean;\n\n /**\n * If `true`, week numbers will be displayed.\n */\n @Input() showWeekNumbers: boolean;\n\n /**\n * The date to open calendar with.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date is provided, calendar will open with current month.\n *\n * You could use `navigateTo(date)` method as an alternative.\n */\n @Input() startDate: {year: number, month: number, day?: number};\n\n /**\n * A selector specifying the element the datepicker popup should be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * A css selector or html element specifying the element the datepicker popup should be positioned against.\n *\n * By default the input is used as a target.\n *\n * @since 4.2.0\n */\n @Input() positionTarget: string | HTMLElement;\n\n /**\n * An event emitted when user selects a date using keyboard or mouse.\n *\n * The payload of the event is currently selected `NgbDate`.\n *\n * @since 1.1.1\n */\n @Output() dateSelect = new EventEmitter();\n\n /**\n * Event emitted right after the navigation happens and displayed month changes.\n *\n * See [`NgbDatepickerNavigateEvent`](#/components/datepicker/api#NgbDatepickerNavigateEvent) for the payload info.\n */\n @Output() navigate = new EventEmitter();\n\n /**\n * An event fired after closing datepicker window.\n *\n * @since 4.2.0\n */\n @Output() closed = new EventEmitter();\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = value === '' || (value && value !== 'false');\n\n if (this.isOpen()) {\n this._cRef !.instance.setDisabledState(this._disabled);\n }\n }\n\n private _onChange = (_: any) => {};\n private _onTouched = () => {};\n private _validatorChange = () => {};\n\n\n constructor(\n private _parserFormatter: NgbDateParserFormatter, private _elRef: ElementRef,\n private _vcRef: ViewContainerRef, private _renderer: Renderer2, private _cfr: ComponentFactoryResolver,\n private _ngZone: NgZone, private _calendar: NgbCalendar, private _dateAdapter: NgbDateAdapter,\n @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n config: NgbInputDatepickerConfig) {\n ['autoClose', 'container', 'positionTarget', 'placement'].forEach(input => this[input] = config[input]);\n this._zoneSubscription = _ngZone.onStable.subscribe(() => this._updatePopupPosition());\n }\n\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\n\n registerOnValidatorChange(fn: () => void): void { this._validatorChange = fn; }\n\n setDisabledState(isDisabled: boolean): void { this.disabled = isDisabled; }\n\n validate(c: AbstractControl): ValidationErrors | null {\n const {value} = c;\n\n if (value != null) {\n const ngbDate = this._fromDateStruct(this._dateAdapter.fromModel(value));\n\n if (!ngbDate) {\n return {'ngbDate': {invalid: value}};\n }\n\n if (this.minDate && ngbDate.before(NgbDate.from(this.minDate))) {\n return {'ngbDate': {minDate: {minDate: this.minDate, actual: value}}};\n }\n\n if (this.maxDate && ngbDate.after(NgbDate.from(this.maxDate))) {\n return {'ngbDate': {maxDate: {maxDate: this.maxDate, actual: value}}};\n }\n }\n\n return null;\n }\n\n writeValue(value) {\n this._model = this._fromDateStruct(this._dateAdapter.fromModel(value));\n this._writeModelValue(this._model);\n }\n\n manualDateChange(value: string, updateView = false) {\n const inputValueChanged = value !== this._inputValue;\n if (inputValueChanged) {\n this._inputValue = value;\n this._model = this._fromDateStruct(this._parserFormatter.parse(value));\n }\n if (inputValueChanged || !updateView) {\n this._onChange(this._model ? this._dateAdapter.toModel(this._model) : (value === '' ? null : value));\n }\n if (updateView && this._model) {\n this._writeModelValue(this._model);\n }\n }\n\n isOpen() { return !!this._cRef; }\n\n /**\n * Opens the datepicker popup.\n *\n * If the related form control contains a valid date, the corresponding month will be opened.\n */\n open() {\n if (!this.isOpen()) {\n const cf = this._cfr.resolveComponentFactory(NgbDatepicker);\n this._cRef = this._vcRef.createComponent(cf);\n\n this._applyPopupStyling(this._cRef.location.nativeElement);\n this._applyDatepickerInputs(this._cRef.instance);\n this._subscribeForDatepickerOutputs(this._cRef.instance);\n this._cRef.instance.ngOnInit();\n this._cRef.instance.writeValue(this._dateAdapter.toModel(this._model));\n\n // date selection event handling\n this._cRef.instance.registerOnChange((selectedDate) => {\n this.writeValue(selectedDate);\n this._onChange(selectedDate);\n this._onTouched();\n });\n\n this._cRef.changeDetectorRef.detectChanges();\n\n this._cRef.instance.setDisabledState(this.disabled);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._cRef.location.nativeElement);\n }\n\n // focus handling\n this._elWithFocus = this._document.activeElement;\n ngbFocusTrap(this._ngZone, this._cRef.location.nativeElement, this.closed, true);\n this._cRef.instance.focus();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.closed, [],\n [this._elRef.nativeElement, this._cRef.location.nativeElement]);\n }\n }\n\n /**\n * Closes the datepicker popup.\n */\n close() {\n if (this.isOpen()) {\n this._vcRef.remove(this._vcRef.indexOf(this._cRef !.hostView));\n this._cRef = null;\n this.closed.emit();\n this._changeDetector.markForCheck();\n\n // restore focus\n let elementToFocus: HTMLElement | null = this._elWithFocus;\n if (isString(this.restoreFocus)) {\n elementToFocus = this._document.querySelector(this.restoreFocus);\n } else if (this.restoreFocus !== undefined) {\n elementToFocus = this.restoreFocus as HTMLElement;\n }\n\n // in IE document.activeElement can contain an object without 'focus()' sometimes\n if (elementToFocus && elementToFocus['focus']) {\n elementToFocus.focus();\n } else {\n this._document.body.focus();\n }\n }\n }\n\n /**\n * Toggles the datepicker popup.\n */\n toggle() {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Navigates to the provided date.\n *\n * With the default calendar we use ISO 8601: 'month' is 1=Jan ... 12=Dec.\n * If nothing or invalid date provided calendar will open current month.\n *\n * Use the `[startDate]` input as an alternative.\n */\n navigateTo(date?: {year: number, month: number, day?: number}) {\n if (this.isOpen()) {\n this._cRef !.instance.navigateTo(date);\n }\n }\n\n onBlur() { this._onTouched(); }\n\n onFocus() { this._elWithFocus = this._elRef.nativeElement; }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['minDate'] || changes['maxDate']) {\n this._validatorChange();\n\n if (this.isOpen()) {\n if (changes['minDate']) {\n this._cRef !.instance.minDate = this.minDate;\n }\n if (changes['maxDate']) {\n this._cRef !.instance.maxDate = this.maxDate;\n }\n this._cRef !.instance.ngOnChanges(changes);\n }\n }\n }\n\n ngOnDestroy() {\n this.close();\n this._zoneSubscription.unsubscribe();\n }\n\n private _applyDatepickerInputs(datepickerInstance: NgbDatepicker): void {\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\n 'maxDate', 'navigation', 'outsideDays', 'showNavigation', 'showWeekdays', 'showWeekNumbers']\n .forEach((optionName: string) => {\n if (this[optionName] !== undefined) {\n datepickerInstance[optionName] = this[optionName];\n }\n });\n datepickerInstance.startDate = this.startDate || this._model;\n }\n\n private _applyPopupStyling(nativeElement: any) {\n this._renderer.addClass(nativeElement, 'dropdown-menu');\n this._renderer.addClass(nativeElement, 'show');\n\n if (this.container === 'body') {\n this._renderer.addClass(nativeElement, 'ngb-dp-body');\n }\n }\n\n private _subscribeForDatepickerOutputs(datepickerInstance: NgbDatepicker) {\n datepickerInstance.navigate.subscribe(navigateEvent => this.navigate.emit(navigateEvent));\n datepickerInstance.dateSelect.subscribe(date => {\n this.dateSelect.emit(date);\n if (this.autoClose === true || this.autoClose === 'inside') {\n this.close();\n }\n });\n }\n\n private _writeModelValue(model: NgbDate | null) {\n const value = this._parserFormatter.format(model);\n this._inputValue = value;\n this._renderer.setProperty(this._elRef.nativeElement, 'value', value);\n if (this.isOpen()) {\n this._cRef !.instance.writeValue(this._dateAdapter.toModel(model));\n this._onTouched();\n }\n }\n\n private _fromDateStruct(date: NgbDateStruct | null): NgbDate | null {\n const ngbDate = date ? new NgbDate(date.year, date.month, date.day) : null;\n return this._calendar.isValid(ngbDate) ? ngbDate : null;\n }\n\n private _updatePopupPosition() {\n if (!this._cRef) {\n return;\n }\n\n let hostElement: HTMLElement;\n if (isString(this.positionTarget)) {\n hostElement = this._document.querySelector(this.positionTarget);\n } else if (this.positionTarget instanceof HTMLElement) {\n hostElement = this.positionTarget;\n } else {\n hostElement = this._elRef.nativeElement;\n }\n\n if (this.positionTarget && !hostElement) {\n throw new Error('ngbDatepicker could not find element declared in [positionTarget] to position against.');\n }\n\n positionElements(hostElement, this._cRef.location.nativeElement, this.placement, this.container === 'body');\n }\n}\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\nimport {NgbDate} from './ngb-date';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: '[ngbDatepickerDayView]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-day-view.scss'],\n host: {\n 'class': 'btn-light',\n '[class.bg-primary]': 'selected',\n '[class.text-white]': 'selected',\n '[class.text-muted]': 'isMuted()',\n '[class.outside]': 'isMuted()',\n '[class.active]': 'focused'\n },\n template: `{{ i18n.getDayNumerals(date) }}`\n})\nexport class NgbDatepickerDayView {\n @Input() currentMonth: number;\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() focused: boolean;\n @Input() selected: boolean;\n\n constructor(public i18n: NgbDatepickerI18n) {}\n\n isMuted() { return !this.selected && (this.date.month !== this.currentMonth || this.disabled); }\n}\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterViewChecked,\n ViewChild,\n ElementRef,\n Renderer2\n} from '@angular/core';\nimport {NgbDate} from './ngb-date';\nimport {toInteger} from '../util/util';\nimport {NgbDatepickerI18n} from './datepicker-i18n';\n\n@Component({\n selector: 'ngb-datepicker-navigation-select',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./datepicker-navigation-select.scss'],\n template: `\n \n `\n})\nexport class NgbDatepickerNavigationSelect implements AfterViewChecked {\n @Input() date: NgbDate;\n @Input() disabled: boolean;\n @Input() months: number[];\n @Input() years: number[];\n\n @Output() select = new EventEmitter();\n\n @ViewChild('month', {static: true, read: ElementRef}) monthSelect: ElementRef;\n @ViewChild('year', {static: true, read: ElementRef}) yearSelect: ElementRef;\n\n private _month = -1;\n private _year = -1;\n\n constructor(public i18n: NgbDatepickerI18n, private _renderer: Renderer2) {}\n\n changeMonth(month: string) { this.select.emit(new NgbDate(this.date.year, toInteger(month), 1)); }\n\n changeYear(year: string) { this.select.emit(new NgbDate(toInteger(year), this.date.month, 1)); }\n\n ngAfterViewChecked() {\n if (this.date) {\n if (this.date.month !== this._month) {\n this._month = this.date.month;\n this._renderer.setProperty(this.monthSelect.nativeElement, 'value', this._month);\n }\n if (this.date.year !== this._year) {\n this._year = this.date.year;\n this._renderer.setProperty(this.yearSelect.nativeElement, 'value', this._year);\n }\n }\n }\n}\n","import {NgbDate} from '../ngb-date';\nimport {NgbPeriod, NgbCalendar} from '../ngb-calendar';\nimport {Injectable} from '@angular/core';\nimport {isNumber} from '../../util/util';\n\n@Injectable()\nexport abstract class NgbCalendarHijri extends NgbCalendar {\n /**\n * Returns the number of days in a specific Hijri month.\n * `month` is 1 for Muharram, 2 for Safar, etc.\n * `year` is any Hijri year.\n */\n abstract getDaysPerMonth(month: number, year: number): number;\n\n /**\n * Returns the equivalent Hijri date value for a give input Gregorian date.\n * `gDate` is s JS Date to be converted to Hijri.\n */\n abstract fromGregorian(gDate: Date): NgbDate;\n\n /**\n * Converts the current Hijri date to Gregorian.\n */\n abstract toGregorian(hDate: NgbDate): Date;\n\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date = this._setYear(date, date.year + number);\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = this._setMonth(date, date.month + number);\n date.day = 1;\n return date;\n case 'd':\n return this._setDay(date, date.day + number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = this.toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n const date = week[thursdayIndex];\n\n const jsDate = this.toGregorian(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n const MuhDate = this.toGregorian(new NgbDate(date.year, 1, 1)); // Compare with Muharram 1\n return Math.floor(Math.round((time - MuhDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return this.fromGregorian(new Date()); }\n\n\n isValid(date?: NgbDate | null): boolean {\n return date != null && isNumber(date.year) && isNumber(date.month) && isNumber(date.day) &&\n !isNaN(this.toGregorian(date).getTime());\n }\n\n private _setDay(date: NgbDate, day: number): NgbDate {\n day = +day;\n let mDays = this.getDaysPerMonth(date.month, date.year);\n if (day <= 0) {\n while (day <= 0) {\n date = this._setMonth(date, date.month - 1);\n mDays = this.getDaysPerMonth(date.month, date.year);\n day += mDays;\n }\n } else if (day > mDays) {\n while (day > mDays) {\n day -= mDays;\n date = this._setMonth(date, date.month + 1);\n mDays = this.getDaysPerMonth(date.month, date.year);\n }\n }\n date.day = day;\n return date;\n }\n\n private _setMonth(date: NgbDate, month: number): NgbDate {\n month = +month;\n date.year = date.year + Math.floor((month - 1) / 12);\n date.month = Math.floor(((month - 1) % 12 + 12) % 12) + 1;\n return date;\n }\n\n private _setYear(date: NgbDate, year: number): NgbDate {\n date.year = +year;\n return date;\n }\n}\n","import {NgbCalendarHijri} from './ngb-calendar-hijri';\nimport {NgbDate} from '../ngb-date';\nimport {Injectable} from '@angular/core';\n\n/**\n * Checks if islamic year is a leap year\n */\nfunction isIslamicLeapYear(hYear: number): boolean {\n return (14 + 11 * hYear) % 30 < 11;\n}\n\n/**\n * Checks if gregorian years is a leap year\n */\nfunction isGregorianLeapYear(gDate: Date): boolean {\n const year = gDate.getFullYear();\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\n\n/**\n * Returns the start of Hijri Month.\n * `hMonth` is 0 for Muharram, 1 for Safar, etc.\n * `hYear` is any Hijri hYear.\n */\nfunction getIslamicMonthStart(hYear: number, hMonth: number): number {\n return Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30.0);\n}\n\n/**\n * Returns the start of Hijri year.\n * `year` is any Hijri year.\n */\nfunction getIslamicYearStart(year: number): number {\n return (year - 1) * 354 + Math.floor((3 + 11 * year) / 30.0);\n}\n\nfunction mod(a: number, b: number): number {\n return a - b * Math.floor(a / b);\n}\n\n/**\n * The civil calendar is one type of Hijri calendars used in islamic countries.\n * Uses a fixed cycle of alternating 29- and 30-day months,\n * with a leap day added to the last month of 11 out of every 30 years.\n * http://cldr.unicode.org/development/development-process/design-proposals/islamic-calendar-types\n * All the calculations here are based on the equations from \"Calendrical Calculations\" By Edward M. Reingold, Nachum\n * Dershowitz.\n */\n\nconst GREGORIAN_EPOCH = 1721425.5;\nconst ISLAMIC_EPOCH = 1948439.5;\n\n@Injectable()\nexport class NgbCalendarIslamicCivil extends NgbCalendarHijri {\n /**\n * Returns the equivalent islamic(civil) date value for a give input Gregorian date.\n * `gDate` is a JS Date to be converted to Hijri.\n */\n fromGregorian(gDate: Date): NgbDate {\n const gYear = gDate.getFullYear(), gMonth = gDate.getMonth(), gDay = gDate.getDate();\n\n let julianDay = GREGORIAN_EPOCH - 1 + 365 * (gYear - 1) + Math.floor((gYear - 1) / 4) +\n -Math.floor((gYear - 1) / 100) + Math.floor((gYear - 1) / 400) +\n Math.floor(\n (367 * (gMonth + 1) - 362) / 12 + (gMonth + 1 <= 2 ? 0 : isGregorianLeapYear(gDate) ? -1 : -2) + gDay);\n julianDay = Math.floor(julianDay) + 0.5;\n\n const days = julianDay - ISLAMIC_EPOCH;\n const hYear = Math.floor((30 * days + 10646) / 10631.0);\n let hMonth = Math.ceil((days - 29 - getIslamicYearStart(hYear)) / 29.5);\n hMonth = Math.min(hMonth, 11);\n const hDay = Math.ceil(days - getIslamicMonthStart(hYear, hMonth)) + 1;\n return new NgbDate(hYear, hMonth + 1, hDay);\n }\n\n /**\n * Returns the equivalent JS date value for a give input islamic(civil) date.\n * `hDate` is an islamic(civil) date to be converted to Gregorian.\n */\n toGregorian(hDate: NgbDate): Date {\n const hYear = hDate.year;\n const hMonth = hDate.month - 1;\n const hDay = hDate.day;\n const julianDay =\n hDay + Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30) + ISLAMIC_EPOCH - 1;\n\n const wjd = Math.floor(julianDay - 0.5) + 0.5, depoch = wjd - GREGORIAN_EPOCH,\n quadricent = Math.floor(depoch / 146097), dqc = mod(depoch, 146097), cent = Math.floor(dqc / 36524),\n dcent = mod(dqc, 36524), quad = Math.floor(dcent / 1461), dquad = mod(dcent, 1461),\n yindex = Math.floor(dquad / 365);\n let year = quadricent * 400 + cent * 100 + quad * 4 + yindex;\n if (!(cent === 4 || yindex === 4)) {\n year++;\n }\n\n const gYearStart = GREGORIAN_EPOCH + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400);\n\n const yearday = wjd - gYearStart;\n\n const tjd = GREGORIAN_EPOCH - 1 + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400) + Math.floor(739 / 12 + (isGregorianLeapYear(new Date(year, 3, 1)) ? -1 : -2) + 1);\n\n const leapadj = wjd < tjd ? 0 : isGregorianLeapYear(new Date(year, 3, 1)) ? 1 : 2;\n\n const month = Math.floor(((yearday + leapadj) * 12 + 373) / 367);\n const tjd2 = GREGORIAN_EPOCH - 1 + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400) +\n Math.floor(\n (367 * month - 362) / 12 + (month <= 2 ? 0 : isGregorianLeapYear(new Date(year, month - 1, 1)) ? -1 : -2) +\n 1);\n\n const day = wjd - tjd2 + 1;\n\n return new Date(year, month - 1, day);\n }\n\n /**\n * Returns the number of days in a specific Hijri month.\n * `month` is 1 for Muharram, 2 for Safar, etc.\n * `year` is any Hijri year.\n */\n getDaysPerMonth(month: number, year: number): number {\n year = year + Math.floor(month / 13);\n month = ((month - 1) % 12) + 1;\n let length = 29 + month % 2;\n if (month === 12 && isIslamicLeapYear(year)) {\n length++;\n }\n return length;\n }\n}\n","import {NgbCalendarIslamicCivil} from './ngb-calendar-islamic-civil';\nimport {NgbDate} from '../ngb-date';\nimport {Injectable} from '@angular/core';\n\n/**\n * Umalqura calendar is one type of Hijri calendars used in islamic countries.\n * This Calendar is used by Saudi Arabia for administrative purpose.\n * Unlike tabular calendars, the algorithm involves astronomical calculation, but it's still deterministic.\n * http://cldr.unicode.org/development/development-process/design-proposals/islamic-calendar-types\n */\n\nconst GREGORIAN_FIRST_DATE = new Date(1882, 10, 12);\nconst GREGORIAN_LAST_DATE = new Date(2174, 10, 25);\nconst HIJRI_BEGIN = 1300;\nconst HIJRI_END = 1600;\nconst ONE_DAY = 1000 * 60 * 60 * 24;\n\nconst MONTH_LENGTH = [\n // 1300-1304\n '101010101010', '110101010100', '111011001001', '011011010100', '011011101010',\n // 1305-1309\n '001101101100', '101010101101', '010101010101', '011010101001', '011110010010',\n // 1310-1314\n '101110101001', '010111010100', '101011011010', '010101011100', '110100101101',\n // 1315-1319\n '011010010101', '011101001010', '101101010100', '101101101010', '010110101101',\n // 1320-1324\n '010010101110', '101001001111', '010100010111', '011010001011', '011010100101',\n // 1325-1329\n '101011010101', '001011010110', '100101011011', '010010011101', '101001001101',\n // 1330-1334\n '110100100110', '110110010101', '010110101100', '100110110110', '001010111010',\n // 1335-1339\n '101001011011', '010100101011', '101010010101', '011011001010', '101011101001',\n // 1340-1344\n '001011110100', '100101110110', '001010110110', '100101010110', '101011001010',\n // 1345-1349\n '101110100100', '101111010010', '010111011001', '001011011100', '100101101101',\n // 1350-1354\n '010101001101', '101010100101', '101101010010', '101110100101', '010110110100',\n // 1355-1359\n '100110110110', '010101010111', '001010010111', '010101001011', '011010100011',\n // 1360-1364\n '011101010010', '101101100101', '010101101010', '101010101011', '010100101011',\n // 1365-1369\n '110010010101', '110101001010', '110110100101', '010111001010', '101011010110',\n // 1370-1374\n '100101010111', '010010101011', '100101001011', '101010100101', '101101010010',\n // 1375-1379\n '101101101010', '010101110101', '001001110110', '100010110111', '010001011011',\n // 1380-1384\n '010101010101', '010110101001', '010110110100', '100111011010', '010011011101',\n // 1385-1389\n '001001101110', '100100110110', '101010101010', '110101010100', '110110110010',\n // 1390-1394\n '010111010101', '001011011010', '100101011011', '010010101011', '101001010101',\n // 1395-1399\n '101101001001', '101101100100', '101101110001', '010110110100', '101010110101',\n // 1400-1404\n '101001010101', '110100100101', '111010010010', '111011001001', '011011010100',\n // 1405-1409\n '101011101001', '100101101011', '010010101011', '101010010011', '110101001001',\n // 1410-1414\n '110110100100', '110110110010', '101010111001', '010010111010', '101001011011',\n // 1415-1419\n '010100101011', '101010010101', '101100101010', '101101010101', '010101011100',\n // 1420-1424\n '010010111101', '001000111101', '100100011101', '101010010101', '101101001010',\n // 1425-1429\n '101101011010', '010101101101', '001010110110', '100100111011', '010010011011',\n // 1430-1434\n '011001010101', '011010101001', '011101010100', '101101101010', '010101101100',\n // 1435-1439\n '101010101101', '010101010101', '101100101001', '101110010010', '101110101001',\n // 1440-1444\n '010111010100', '101011011010', '010101011010', '101010101011', '010110010101',\n // 1445-1449\n '011101001001', '011101100100', '101110101010', '010110110101', '001010110110',\n // 1450-1454\n '101001010110', '111001001101', '101100100101', '101101010010', '101101101010',\n // 1455-1459\n '010110101101', '001010101110', '100100101111', '010010010111', '011001001011',\n // 1460-1464\n '011010100101', '011010101100', '101011010110', '010101011101', '010010011101',\n // 1465-1469\n '101001001101', '110100010110', '110110010101', '010110101010', '010110110101',\n // 1470-1474\n '001011011010', '100101011011', '010010101101', '010110010101', '011011001010',\n // 1475-1479\n '011011100100', '101011101010', '010011110101', '001010110110', '100101010110',\n // 1480-1484\n '101010101010', '101101010100', '101111010010', '010111011001', '001011101010',\n // 1485-1489\n '100101101101', '010010101101', '101010010101', '101101001010', '101110100101',\n // 1490-1494\n '010110110010', '100110110101', '010011010110', '101010010111', '010101000111',\n // 1495-1499\n '011010010011', '011101001001', '101101010101', '010101101010', '101001101011',\n // 1500-1504\n '010100101011', '101010001011', '110101000110', '110110100011', '010111001010',\n // 1505-1509\n '101011010110', '010011011011', '001001101011', '100101001011', '101010100101',\n // 1510-1514\n '101101010010', '101101101001', '010101110101', '000101110110', '100010110111',\n // 1515-1519\n '001001011011', '010100101011', '010101100101', '010110110100', '100111011010',\n // 1520-1524\n '010011101101', '000101101101', '100010110110', '101010100110', '110101010010',\n // 1525-1529\n '110110101001', '010111010100', '101011011010', '100101011011', '010010101011',\n // 1530-1534\n '011001010011', '011100101001', '011101100010', '101110101001', '010110110010',\n // 1535-1539\n '101010110101', '010101010101', '101100100101', '110110010010', '111011001001',\n // 1540-1544\n '011011010010', '101011101001', '010101101011', '010010101011', '101001010101',\n // 1545-1549\n '110100101001', '110101010100', '110110101010', '100110110101', '010010111010',\n // 1550-1554\n '101000111011', '010010011011', '101001001101', '101010101010', '101011010101',\n // 1555-1559\n '001011011010', '100101011101', '010001011110', '101000101110', '110010011010',\n // 1560-1564\n '110101010101', '011010110010', '011010111001', '010010111010', '101001011101',\n // 1565-1569\n '010100101101', '101010010101', '101101010010', '101110101000', '101110110100',\n // 1570-1574\n '010110111001', '001011011010', '100101011010', '101101001010', '110110100100',\n // 1575-1579\n '111011010001', '011011101000', '101101101010', '010101101101', '010100110101',\n // 1580-1584\n '011010010101', '110101001010', '110110101000', '110111010100', '011011011010',\n // 1585-1589\n '010101011011', '001010011101', '011000101011', '101100010101', '101101001010',\n // 1590-1594\n '101110010101', '010110101010', '101010101110', '100100101110', '110010001111',\n // 1595-1599\n '010100100111', '011010010101', '011010101010', '101011010110', '010101011101',\n // 1600\n '001010011101'\n];\n\nfunction getDaysDiff(date1: Date, date2: Date): number {\n // Ignores the time part in date1 and date2:\n const time1 = Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate());\n const time2 = Date.UTC(date2.getFullYear(), date2.getMonth(), date2.getDate());\n const diff = Math.abs(time1 - time2);\n return Math.round(diff / ONE_DAY);\n}\n\n@Injectable()\nexport class NgbCalendarIslamicUmalqura extends NgbCalendarIslamicCivil {\n /**\n * Returns the equivalent islamic(Umalqura) date value for a give input Gregorian date.\n * `gdate` is s JS Date to be converted to Hijri.\n */\n fromGregorian(gDate: Date): NgbDate {\n let hDay = 1, hMonth = 0, hYear = 1300;\n let daysDiff = getDaysDiff(gDate, GREGORIAN_FIRST_DATE);\n if (gDate.getTime() - GREGORIAN_FIRST_DATE.getTime() >= 0 && gDate.getTime() - GREGORIAN_LAST_DATE.getTime() <= 0) {\n let year = 1300;\n for (let i = 0; i < MONTH_LENGTH.length; i++, year++) {\n for (let j = 0; j < 12; j++) {\n let numOfDays = +MONTH_LENGTH[i][j] + 29;\n if (daysDiff <= numOfDays) {\n hDay = daysDiff + 1;\n if (hDay > numOfDays) {\n hDay = 1;\n j++;\n }\n if (j > 11) {\n j = 0;\n year++;\n }\n hMonth = j;\n hYear = year;\n return new NgbDate(hYear, hMonth + 1, hDay);\n }\n daysDiff = daysDiff - numOfDays;\n }\n }\n return null as any;\n } else {\n return super.fromGregorian(gDate);\n }\n }\n /**\n * Converts the current Hijri date to Gregorian.\n */\n toGregorian(hDate: NgbDate): Date {\n const hYear = hDate.year;\n const hMonth = hDate.month - 1;\n const hDay = hDate.day;\n let gDate = new Date(GREGORIAN_FIRST_DATE);\n let dayDiff = hDay - 1;\n if (hYear >= HIJRI_BEGIN && hYear <= HIJRI_END) {\n for (let y = 0; y < hYear - HIJRI_BEGIN; y++) {\n for (let m = 0; m < 12; m++) {\n dayDiff += +MONTH_LENGTH[y][m] + 29;\n }\n }\n for (let m = 0; m < hMonth; m++) {\n dayDiff += +MONTH_LENGTH[hYear - HIJRI_BEGIN][m] + 29;\n }\n gDate.setDate(GREGORIAN_FIRST_DATE.getDate() + dayDiff);\n } else {\n gDate = super.toGregorian(hDate);\n }\n return gDate;\n }\n /**\n * Returns the number of days in a specific Hijri hMonth.\n * `hMonth` is 1 for Muharram, 2 for Safar, etc.\n * `hYear` is any Hijri hYear.\n */\n getDaysPerMonth(hMonth: number, hYear: number): number {\n if (hYear >= HIJRI_BEGIN && hYear <= HIJRI_END) {\n const pos = hYear - HIJRI_BEGIN;\n return +MONTH_LENGTH[pos][hMonth - 1] + 29;\n }\n return super.getDaysPerMonth(hMonth, hYear);\n }\n}\n","import {NgbDate} from '../ngb-date';\n\n/**\n * Returns the equivalent JS date value for a give input Jalali date.\n * `jalaliDate` is an Jalali date to be converted to Gregorian.\n */\nexport function toGregorian(jalaliDate: NgbDate): Date {\n let jdn = jalaliToJulian(jalaliDate.year, jalaliDate.month, jalaliDate.day);\n let date = julianToGregorian(jdn);\n date.setHours(6, 30, 3, 200);\n return date;\n}\n\n/**\n * Returns the equivalent jalali date value for a give input Gregorian date.\n * `gdate` is a JS Date to be converted to jalali.\n * utc to local\n */\nexport function fromGregorian(gdate: Date): NgbDate {\n let g2d = gregorianToJulian(gdate.getFullYear(), gdate.getMonth() + 1, gdate.getDate());\n return julianToJalali(g2d);\n}\n\nexport function setJalaliYear(date: NgbDate, yearValue: number): NgbDate {\n date.year = +yearValue;\n return date;\n}\n\nexport function setJalaliMonth(date: NgbDate, month: number): NgbDate {\n month = +month;\n date.year = date.year + Math.floor((month - 1) / 12);\n date.month = Math.floor(((month - 1) % 12 + 12) % 12) + 1;\n return date;\n}\n\nexport function setJalaliDay(date: NgbDate, day: number): NgbDate {\n let mDays = getDaysPerMonth(date.month, date.year);\n if (day <= 0) {\n while (day <= 0) {\n date = setJalaliMonth(date, date.month - 1);\n mDays = getDaysPerMonth(date.month, date.year);\n day += mDays;\n }\n } else if (day > mDays) {\n while (day > mDays) {\n day -= mDays;\n date = setJalaliMonth(date, date.month + 1);\n mDays = getDaysPerMonth(date.month, date.year);\n }\n }\n date.day = day;\n return date;\n}\n\nfunction mod(a: number, b: number): number {\n return a - b * Math.floor(a / b);\n}\n\nfunction div(a: number, b: number) {\n return Math.trunc(a / b);\n}\n\n/*\n This function determines if the Jalali (Persian) year is\n leap (366-day long) or is the common year (365 days), and\n finds the day in March (Gregorian calendar) of the first\n day of the Jalali year (jalaliYear).\n @param jalaliYear Jalali calendar year (-61 to 3177)\n @return\n leap: number of years since the last leap year (0 to 4)\n gYear: Gregorian year of the beginning of Jalali year\n march: the March day of Farvardin the 1st (1st day of jalaliYear)\n @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm\n @see: http://www.fourmilab.ch/documents/calendar/\n */\nfunction jalCal(jalaliYear: number) {\n // Jalali years starting the 33-year rule.\n let breaks =\n [-61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178];\n const breaksLength = breaks.length;\n const gYear = jalaliYear + 621;\n let leapJ = -14;\n let jp = breaks[0];\n\n if (jalaliYear < jp || jalaliYear >= breaks[breaksLength - 1]) {\n throw new Error('Invalid Jalali year ' + jalaliYear);\n }\n\n // Find the limiting years for the Jalali year jalaliYear.\n let jump;\n for (let i = 1; i < breaksLength; i += 1) {\n const jm = breaks[i];\n jump = jm - jp;\n if (jalaliYear < jm) {\n break;\n }\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4);\n jp = jm;\n }\n let n = jalaliYear - jp;\n\n // Find the number of leap years from AD 621 to the beginning\n // of the current Jalali year in the Persian calendar.\n leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4);\n if (mod(jump, 33) === 4 && jump - n === 4) {\n leapJ += 1;\n }\n\n // And the same in the Gregorian calendar (until the year gYear).\n const leapG = div(gYear, 4) - div((div(gYear, 100) + 1) * 3, 4) - 150;\n\n // Determine the Gregorian date of Farvardin the 1st.\n const march = 20 + leapJ - leapG;\n\n // Find how many years have passed since the last leap year.\n if (jump - n < 6) {\n n = n - jump + div(jump + 4, 33) * 33;\n }\n let leap = mod(mod(n + 1, 33) - 1, 4);\n if (leap === -1) {\n leap = 4;\n }\n\n return {leap: leap, gy: gYear, march: march};\n}\n\n/*\n Calculates Gregorian and Julian calendar dates from the Julian Day number\n (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both\n calendars) to some millions years ahead of the present.\n @param jdn Julian Day number\n @return\n gYear: Calendar year (years BC numbered 0, -1, -2, ...)\n gMonth: Calendar month (1 to 12)\n gDay: Calendar day of the month M (1 to 28/29/30/31)\n */\nfunction julianToGregorian(julianDayNumber: number) {\n let j = 4 * julianDayNumber + 139361631;\n j = j + div(div(4 * julianDayNumber + 183187720, 146097) * 3, 4) * 4 - 3908;\n const i = div(mod(j, 1461), 4) * 5 + 308;\n const gDay = div(mod(i, 153), 5) + 1;\n const gMonth = mod(div(i, 153), 12) + 1;\n const gYear = div(j, 1461) - 100100 + div(8 - gMonth, 6);\n\n return new Date(gYear, gMonth - 1, gDay);\n}\n\n/*\n Converts a date of the Jalali calendar to the Julian Day number.\n @param jy Jalali year (1 to 3100)\n @param jm Jalali month (1 to 12)\n @param jd Jalali day (1 to 29/31)\n @return Julian Day number\n */\nfunction gregorianToJulian(gy: number, gm: number, gd: number) {\n let d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) + div(153 * mod(gm + 9, 12) + 2, 5) + gd - 34840408;\n d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752;\n return d;\n}\n\n/*\n Converts the Julian Day number to a date in the Jalali calendar.\n @param julianDayNumber Julian Day number\n @return\n jalaliYear: Jalali year (1 to 3100)\n jalaliMonth: Jalali month (1 to 12)\n jalaliDay: Jalali day (1 to 29/31)\n */\nfunction julianToJalali(julianDayNumber: number) {\n let gy = julianToGregorian(julianDayNumber).getFullYear() // Calculate Gregorian year (gy).\n ,\n jalaliYear = gy - 621, r = jalCal(jalaliYear), gregorianDay = gregorianToJulian(gy, 3, r.march), jalaliDay,\n jalaliMonth, numberOfDays;\n\n // Find number of days that passed since 1 Farvardin.\n numberOfDays = julianDayNumber - gregorianDay;\n if (numberOfDays >= 0) {\n if (numberOfDays <= 185) {\n // The first 6 months.\n jalaliMonth = 1 + div(numberOfDays, 31);\n jalaliDay = mod(numberOfDays, 31) + 1;\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\n } else {\n // The remaining months.\n numberOfDays -= 186;\n }\n } else {\n // Previous Jalali year.\n jalaliYear -= 1;\n numberOfDays += 179;\n if (r.leap === 1) {\n numberOfDays += 1;\n }\n }\n jalaliMonth = 7 + div(numberOfDays, 30);\n jalaliDay = mod(numberOfDays, 30) + 1;\n\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\n}\n\n/*\n Converts a date of the Jalali calendar to the Julian Day number.\n @param jYear Jalali year (1 to 3100)\n @param jMonth Jalali month (1 to 12)\n @param jDay Jalali day (1 to 29/31)\n @return Julian Day number\n */\nfunction jalaliToJulian(jYear: number, jMonth: number, jDay: number) {\n let r = jalCal(jYear);\n return gregorianToJulian(r.gy, 3, r.march) + (jMonth - 1) * 31 - div(jMonth, 7) * (jMonth - 7) + jDay - 1;\n}\n\n/**\n * Returns the number of days in a specific jalali month.\n */\nfunction getDaysPerMonth(month: number, year: number): number {\n if (month <= 6) {\n return 31;\n }\n if (month <= 11) {\n return 30;\n }\n if (jalCal(year).leap === 0) {\n return 30;\n }\n return 29;\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDate} from '../ngb-date';\nimport {NgbCalendar, NgbPeriod} from '../ngb-calendar';\nimport {isInteger} from '../../util/util';\n\nimport {fromGregorian, setJalaliDay, setJalaliMonth, setJalaliYear, toGregorian} from './jalali';\n\n@Injectable()\nexport class NgbCalendarPersian extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n\n getWeeksPerMonth() { return 6; }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date = setJalaliYear(date, date.year + number);\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = setJalaliMonth(date, date.month + number);\n date.day = 1;\n return date;\n case 'd':\n return setJalaliDay(date, date.day + number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n const date = week[thursdayIndex];\n\n const jsDate = toGregorian(date);\n jsDate.setDate(jsDate.getDate() + 4 - (jsDate.getDay() || 7)); // Thursday\n const time = jsDate.getTime();\n const startDate = toGregorian(new NgbDate(date.year, 1, 1));\n return Math.floor(Math.round((time - startDate.getTime()) / 86400000) / 7) + 1;\n }\n\n getToday(): NgbDate { return fromGregorian(new Date()); }\n\n isValid(date?: NgbDate | null): boolean {\n return date != null && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) &&\n !isNaN(toGregorian(date).getTime());\n }\n}\n","import {NgbDate} from '../ngb-date';\nimport {NgbDateStruct} from '../ngb-date-struct';\n\nconst PARTS_PER_HOUR = 1080;\nconst PARTS_PER_DAY = 24 * PARTS_PER_HOUR;\nconst PARTS_FRACTIONAL_MONTH = 12 * PARTS_PER_HOUR + 793;\nconst PARTS_PER_MONTH = 29 * PARTS_PER_DAY + PARTS_FRACTIONAL_MONTH;\nconst BAHARAD = 11 * PARTS_PER_HOUR + 204;\nconst HEBREW_DAY_ON_JAN_1_1970 = 2092591;\nconst GREGORIAN_EPOCH = 1721425.5;\n\nfunction isGregorianLeapYear(year: number): boolean {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\n\nfunction numberOfFirstDayInYear(year: number): number {\n let monthsBeforeYear = Math.floor((235 * year - 234) / 19);\n let fractionalMonthsBeforeYear = monthsBeforeYear * PARTS_FRACTIONAL_MONTH + BAHARAD;\n let dayNumber = monthsBeforeYear * 29 + Math.floor(fractionalMonthsBeforeYear / PARTS_PER_DAY);\n let timeOfDay = fractionalMonthsBeforeYear % PARTS_PER_DAY;\n\n let dayOfWeek = dayNumber % 7; // 0 == Monday\n\n if (dayOfWeek === 2 || dayOfWeek === 4 || dayOfWeek === 6) {\n dayNumber++;\n dayOfWeek = dayNumber % 7;\n }\n if (dayOfWeek === 1 && timeOfDay > 15 * PARTS_PER_HOUR + 204 && !isHebrewLeapYear(year)) {\n dayNumber += 2;\n } else if (dayOfWeek === 0 && timeOfDay > 21 * PARTS_PER_HOUR + 589 && isHebrewLeapYear(year - 1)) {\n dayNumber++;\n }\n return dayNumber;\n}\n\nfunction getDaysInGregorianMonth(month: number, year: number): number {\n let days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n if (isGregorianLeapYear(year)) {\n days[1]++;\n }\n return days[month - 1];\n}\n\nfunction getHebrewMonths(year: number): number {\n return isHebrewLeapYear(year) ? 13 : 12;\n}\n\n/**\n * Returns the number of days in a specific Hebrew year.\n * `year` is any Hebrew year.\n */\nfunction getDaysInHebrewYear(year: number): number {\n return numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\n}\n\nexport function isHebrewLeapYear(year?: number): boolean {\n if (year != null) {\n let b = (year * 12 + 17) % 19;\n return b >= ((b < 0) ? -7 : 12);\n }\n return false;\n}\n\n/**\n * Returns the number of days in a specific Hebrew month.\n * `month` is 1 for Nisan, 2 for Iyar etc. Note: Hebrew leap year contains 13 months.\n * `year` is any Hebrew year.\n */\nexport function getDaysInHebrewMonth(month: number, year: number): number {\n let yearLength = numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\n let yearType = (yearLength <= 380 ? yearLength : (yearLength - 30)) - 353;\n let leapYear = isHebrewLeapYear(year);\n let daysInMonth = leapYear ? [30, 29, 29, 29, 30, 30, 29, 30, 29, 30, 29, 30, 29] :\n [30, 29, 29, 29, 30, 29, 30, 29, 30, 29, 30, 29];\n if (yearType > 0) {\n daysInMonth[2]++; // Kislev gets an extra day in normal or complete years.\n }\n if (yearType > 1) {\n daysInMonth[1]++; // Heshvan gets an extra day in complete years only.\n }\n return daysInMonth[month - 1];\n}\n\nexport function getDayNumberInHebrewYear(date: NgbDate): number {\n let numberOfDay = 0;\n for (let i = 1; i < date.month; i++) {\n numberOfDay += getDaysInHebrewMonth(i, date.year);\n }\n return numberOfDay + date.day;\n}\n\nexport function setHebrewMonth(date: NgbDate, val: number): NgbDate {\n let after = val >= 0;\n if (!after) {\n val = -val;\n }\n while (val > 0) {\n if (after) {\n if (val > getHebrewMonths(date.year) - date.month) {\n val -= getHebrewMonths(date.year) - date.month + 1;\n date.year++;\n date.month = 1;\n } else {\n date.month += val;\n val = 0;\n }\n } else {\n if (val >= date.month) {\n date.year--;\n val -= date.month;\n date.month = getHebrewMonths(date.year);\n } else {\n date.month -= val;\n val = 0;\n }\n }\n }\n return date;\n}\n\nexport function setHebrewDay(date: NgbDate, val: number): NgbDate {\n let after = val >= 0;\n if (!after) {\n val = -val;\n }\n while (val > 0) {\n if (after) {\n if (val > getDaysInHebrewYear(date.year) - getDayNumberInHebrewYear(date)) {\n val -= getDaysInHebrewYear(date.year) - getDayNumberInHebrewYear(date) + 1;\n date.year++;\n date.month = 1;\n date.day = 1;\n } else if (val > getDaysInHebrewMonth(date.month, date.year) - date.day) {\n val -= getDaysInHebrewMonth(date.month, date.year) - date.day + 1;\n date.month++;\n date.day = 1;\n } else {\n date.day += val;\n val = 0;\n }\n } else {\n if (val >= date.day) {\n val -= date.day;\n date.month--;\n if (date.month === 0) {\n date.year--;\n date.month = getHebrewMonths(date.year);\n }\n date.day = getDaysInHebrewMonth(date.month, date.year);\n } else {\n date.day -= val;\n val = 0;\n }\n }\n }\n return date;\n}\n\n/**\n * Returns the equivalent Hebrew date value for a give input Gregorian date.\n * `gdate` is a JS Date to be converted to Hebrew date.\n */\nexport function fromGregorian(gdate: Date): NgbDate {\n const date = new Date(gdate);\n const gYear = date.getFullYear(), gMonth = date.getMonth(), gDay = date.getDate();\n let julianDay = GREGORIAN_EPOCH - 1 + 365 * (gYear - 1) + Math.floor((gYear - 1) / 4) -\n Math.floor((gYear - 1) / 100) + Math.floor((gYear - 1) / 400) +\n Math.floor((367 * (gMonth + 1) - 362) / 12 + (gMonth + 1 <= 2 ? 0 : isGregorianLeapYear(gYear) ? -1 : -2) + gDay);\n julianDay = Math.floor(julianDay + 0.5);\n let daysSinceHebEpoch = julianDay - 347997;\n let monthsSinceHebEpoch = Math.floor(daysSinceHebEpoch * PARTS_PER_DAY / PARTS_PER_MONTH);\n let hYear = Math.floor((monthsSinceHebEpoch * 19 + 234) / 235) + 1;\n let firstDayOfThisYear = numberOfFirstDayInYear(hYear);\n let dayOfYear = daysSinceHebEpoch - firstDayOfThisYear;\n while (dayOfYear < 1) {\n hYear--;\n firstDayOfThisYear = numberOfFirstDayInYear(hYear);\n dayOfYear = daysSinceHebEpoch - firstDayOfThisYear;\n }\n let hMonth = 1;\n let hDay = dayOfYear;\n while (hDay > getDaysInHebrewMonth(hMonth, hYear)) {\n hDay -= getDaysInHebrewMonth(hMonth, hYear);\n hMonth++;\n }\n return new NgbDate(hYear, hMonth, hDay);\n}\n\n/**\n * Returns the equivalent JS date value for a given Hebrew date.\n * `hebrewDate` is an Hebrew date to be converted to Gregorian.\n */\nexport function toGregorian(hebrewDate: NgbDateStruct | NgbDate): Date {\n const hYear = hebrewDate.year;\n const hMonth = hebrewDate.month;\n const hDay = hebrewDate.day;\n let days = numberOfFirstDayInYear(hYear);\n for (let i = 1; i < hMonth; i++) {\n days += getDaysInHebrewMonth(i, hYear);\n }\n days += hDay;\n let diffDays = days - HEBREW_DAY_ON_JAN_1_1970;\n let after = diffDays >= 0;\n if (!after) {\n diffDays = -diffDays;\n }\n let gYear = 1970;\n let gMonth = 1;\n let gDay = 1;\n while (diffDays > 0) {\n if (after) {\n if (diffDays >= (isGregorianLeapYear(gYear) ? 366 : 365)) {\n diffDays -= isGregorianLeapYear(gYear) ? 366 : 365;\n gYear++;\n } else if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\n gMonth++;\n } else {\n gDay += diffDays;\n diffDays = 0;\n }\n } else {\n if (diffDays >= (isGregorianLeapYear(gYear - 1) ? 366 : 365)) {\n diffDays -= isGregorianLeapYear(gYear - 1) ? 366 : 365;\n gYear--;\n } else {\n if (gMonth > 1) {\n gMonth--;\n } else {\n gMonth = 12;\n gYear--;\n }\n if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\n } else {\n gDay = getDaysInGregorianMonth(gMonth, gYear) - diffDays + 1;\n diffDays = 0;\n }\n }\n }\n }\n return new Date(gYear, gMonth - 1, gDay);\n}\n\nexport function hebrewNumerals(numerals: number): string {\n if (!numerals) {\n return '';\n }\n const hArray0_9 = ['', '\\u05d0', '\\u05d1', '\\u05d2', '\\u05d3', '\\u05d4', '\\u05d5', '\\u05d6', '\\u05d7', '\\u05d8'];\n const hArray10_19 = [\n '\\u05d9', '\\u05d9\\u05d0', '\\u05d9\\u05d1', '\\u05d9\\u05d2', '\\u05d9\\u05d3', '\\u05d8\\u05d5', '\\u05d8\\u05d6',\n '\\u05d9\\u05d6', '\\u05d9\\u05d7', '\\u05d9\\u05d8'\n ];\n const hArray20_90 = ['', '', '\\u05db', '\\u05dc', '\\u05de', '\\u05e0', '\\u05e1', '\\u05e2', '\\u05e4', '\\u05e6'];\n const hArray100_900 = [\n '', '\\u05e7', '\\u05e8', '\\u05e9', '\\u05ea', '\\u05ea\\u05e7', '\\u05ea\\u05e8', '\\u05ea\\u05e9', '\\u05ea\\u05ea',\n '\\u05ea\\u05ea\\u05e7'\n ];\n const hArray1000_9000 = [\n '', '\\u05d0', '\\u05d1', '\\u05d1\\u05d0', '\\u05d1\\u05d1', '\\u05d4', '\\u05d4\\u05d0', '\\u05d4\\u05d1',\n '\\u05d4\\u05d1\\u05d0', '\\u05d4\\u05d1\\u05d1'\n ];\n const geresh = '\\u05f3', gershaim = '\\u05f4';\n let mem = 0;\n let result: string[] = [];\n let step = 0;\n while (numerals > 0) {\n let m = numerals % 10;\n if (step === 0) {\n mem = m;\n } else if (step === 1) {\n if (m !== 1) {\n result.unshift(hArray20_90[m], hArray0_9[mem]);\n } else {\n result.unshift(hArray10_19[mem]);\n }\n } else if (step === 2) {\n result.unshift(hArray100_900[m]);\n } else {\n if (m !== 5) {\n result.unshift(hArray1000_9000[m], geresh, ' ');\n }\n break;\n }\n numerals = Math.floor(numerals / 10);\n if (step === 0 && numerals === 0) {\n result.unshift(hArray0_9[m]);\n }\n step++;\n }\n result = result.join('').split('');\n if (result.length === 1) {\n result.push(geresh);\n } else if (result.length > 1) {\n result.splice(result.length - 1, 0, gershaim);\n }\n return result.join('');\n}\n","import {NgbDate} from '../ngb-date';\nimport {fromJSDate, NgbCalendar, NgbPeriod, toJSDate} from '../ngb-calendar';\nimport {Injectable} from '@angular/core';\nimport {isNumber} from '../../util/util';\nimport {\n fromGregorian,\n getDayNumberInHebrewYear,\n getDaysInHebrewMonth,\n isHebrewLeapYear,\n toGregorian,\n setHebrewDay,\n setHebrewMonth\n} from './hebrew';\n\n/**\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbCalendarHebrew extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n\n getMonths(year?: number) {\n if (year && isHebrewLeapYear(year)) {\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];\n } else {\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n }\n }\n\n getWeeksPerMonth() { return 6; }\n\n isValid(date?: NgbDate | null): boolean {\n if (date != null) {\n let b = isNumber(date.year) && isNumber(date.month) && isNumber(date.day);\n b = b && date.month > 0 && date.month <= (isHebrewLeapYear(date.year) ? 13 : 12);\n b = b && date.day > 0 && date.day <= getDaysInHebrewMonth(date.month, date.year);\n return b && !isNaN(toGregorian(date).getTime());\n }\n\n return false;\n }\n\n getNext(date: NgbDate, period: NgbPeriod = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\n\n switch (period) {\n case 'y':\n date.year += number;\n date.month = 1;\n date.day = 1;\n return date;\n case 'm':\n date = setHebrewMonth(date, number);\n date.day = 1;\n return date;\n case 'd':\n return setHebrewDay(date, number);\n default:\n return date;\n }\n }\n\n getPrev(date: NgbDate, period: NgbPeriod = 'd', number = 1) { return this.getNext(date, period, -number); }\n\n getWeekday(date: NgbDate) {\n const day = toGregorian(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n\n getWeekNumber(week: readonly NgbDate[], firstDayOfWeek: number) {\n const date = week[week.length - 1];\n return Math.ceil(getDayNumberInHebrewYear(date) / 7);\n }\n\n getToday(): NgbDate { return fromGregorian(new Date()); }\n\n /**\n * @since 3.4.0\n */\n toGregorian(date: NgbDate): NgbDate { return fromJSDate(toGregorian(date)); }\n\n /**\n * @since 3.4.0\n */\n fromGregorian(date: NgbDate): NgbDate { return fromGregorian(toJSDate(date)); }\n}\n","import {NgbDatepickerI18n} from '../datepicker-i18n';\nimport {NgbDateStruct} from '../../index';\nimport {hebrewNumerals, isHebrewLeapYear} from './hebrew';\nimport {Injectable} from '@angular/core';\n\n\nconst WEEKDAYS = ['שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת', 'ראשון'];\nconst MONTHS = ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\nconst MONTHS_LEAP =\n ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר א׳', 'אדר ב׳', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\n\n/**\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbDatepickerI18nHebrew extends NgbDatepickerI18n {\n getMonthShortName(month: number, year?: number): string { return this.getMonthFullName(month, year); }\n\n getMonthFullName(month: number, year?: number): string {\n return isHebrewLeapYear(year) ? MONTHS_LEAP[month - 1] || '' : MONTHS[month - 1] || '';\n }\n\n getWeekdayShortName(weekday: number): string { return WEEKDAYS[weekday - 1] || ''; }\n\n getDayAriaLabel(date: NgbDateStruct): string {\n return `${hebrewNumerals(date.day)} ${this.getMonthFullName(date.month, date.year)} ${hebrewNumerals(date.year)}`;\n }\n\n getDayNumerals(date: NgbDateStruct): string { return hebrewNumerals(date.day); }\n\n getWeekNumerals(weekNumber: number): string { return hebrewNumerals(weekNumber); }\n\n getYearNumerals(year: number): string { return hebrewNumerals(year); }\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateAdapter} from './ngb-date-adapter';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {isInteger} from '../../util/util';\n\n/**\n * [`NgbDateAdapter`](#/components/datepicker/api#NgbDateAdapter) implementation that uses\n * native javascript dates as a user date model.\n */\n@Injectable()\nexport class NgbDateNativeAdapter extends NgbDateAdapter {\n /**\n * Converts a native `Date` to a `NgbDateStruct`.\n */\n fromModel(date: Date | null): NgbDateStruct | null {\n return (date instanceof Date && !isNaN(date.getTime())) ? this._fromNativeDate(date) : null;\n }\n\n /**\n * Converts a `NgbDateStruct` to a native `Date`.\n */\n toModel(date: NgbDateStruct | null): Date | null {\n return date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) ? this._toNativeDate(date) :\n null;\n }\n\n protected _fromNativeDate(date: Date): NgbDateStruct {\n return {year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate()};\n }\n\n protected _toNativeDate(date: NgbDateStruct): Date {\n const jsDate = new Date(date.year, date.month - 1, date.day, 12);\n // avoid 30 -> 1930 conversion\n jsDate.setFullYear(date.year);\n return jsDate;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateStruct} from '../ngb-date-struct';\nimport {NgbDateNativeAdapter} from './ngb-date-native-adapter';\n\n/**\n * Same as [`NgbDateNativeAdapter`](#/components/datepicker/api#NgbDateNativeAdapter), but with UTC dates.\n *\n * @since 3.2.0\n */\n@Injectable()\nexport class NgbDateNativeUTCAdapter extends NgbDateNativeAdapter {\n protected _fromNativeDate(date: Date): NgbDateStruct {\n return {year: date.getUTCFullYear(), month: date.getUTCMonth() + 1, day: date.getUTCDate()};\n }\n\n protected _toNativeDate(date: NgbDateStruct): Date {\n const jsDate = new Date(Date.UTC(date.year, date.month - 1, date.day));\n // avoid 30 -> 1930 conversion\n jsDate.setUTCFullYear(date.year);\n return jsDate;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from '@angular/forms';\nimport {NgbDatepicker, NgbDatepickerContent} from './datepicker';\nimport {NgbDatepickerMonth} from './datepicker-month';\nimport {NgbDatepickerNavigation} from './datepicker-navigation';\nimport {NgbInputDatepicker} from './datepicker-input';\nimport {NgbDatepickerDayView} from './datepicker-day-view';\nimport {NgbDatepickerNavigationSelect} from './datepicker-navigation-select';\n\nexport {NgbDatepicker, NgbDatepickerContent, NgbDatepickerNavigateEvent, NgbDatepickerState} from './datepicker';\nexport {NgbInputDatepicker} from './datepicker-input';\nexport {NgbCalendar, NgbPeriod, NgbCalendarGregorian} from './ngb-calendar';\nexport {NgbCalendarIslamicCivil} from './hijri/ngb-calendar-islamic-civil';\nexport {NgbCalendarIslamicUmalqura} from './hijri/ngb-calendar-islamic-umalqura';\nexport {NgbCalendarPersian} from './jalali/ngb-calendar-persian';\nexport {NgbCalendarHebrew} from './hebrew/ngb-calendar-hebrew';\nexport {NgbDatepickerI18nHebrew} from './hebrew/datepicker-i18n-hebrew';\nexport {NgbDatepickerMonth} from './datepicker-month';\nexport {NgbDatepickerDayView} from './datepicker-day-view';\nexport {NgbDatepickerNavigation} from './datepicker-navigation';\nexport {NgbDatepickerNavigationSelect} from './datepicker-navigation-select';\nexport {NgbDatepickerConfig} from './datepicker-config';\nexport {NgbInputDatepickerConfig} from './datepicker-input-config';\nexport {NgbDatepickerI18n} from './datepicker-i18n';\nexport {NgbDateStruct} from './ngb-date-struct';\nexport {NgbDate} from './ngb-date';\nexport {NgbDateAdapter} from './adapters/ngb-date-adapter';\nexport {NgbDateNativeAdapter} from './adapters/ngb-date-native-adapter';\nexport {NgbDateNativeUTCAdapter} from './adapters/ngb-date-native-utc-adapter';\nexport {NgbDateParserFormatter} from './ngb-date-parser-formatter';\nexport {NgbDatepickerKeyboardService} from './datepicker-keyboard-service';\n\n@NgModule({\n declarations: [\n NgbDatepicker, NgbDatepickerContent, NgbDatepickerMonth, NgbDatepickerNavigation, NgbDatepickerNavigationSelect,\n NgbDatepickerDayView, NgbInputDatepicker\n ],\n exports: [NgbDatepicker, NgbDatepickerContent, NgbInputDatepicker, NgbDatepickerMonth],\n imports: [CommonModule, FormsModule],\n entryComponents: [NgbDatepicker]\n})\nexport class NgbDatepickerModule {\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbDropdown`](#/components/dropdown/api#NgbDropdown) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the dropdowns used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbDropdownConfig {\n autoClose: boolean | 'outside' | 'inside' = true;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n container: null | 'body';\n}\n","import {\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n NgZone,\n AfterContentInit,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n Optional\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {fromEvent, Subject, Subscription} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {Placement, PlacementArray, positionElements} from '../util/positioning';\nimport {ngbAutoClose, SOURCE} from '../util/autoclose';\nimport {Key} from '../util/key';\n\nimport {NgbDropdownConfig} from './dropdown-config';\nimport {FOCUSABLE_ELEMENTS_SELECTOR} from '../util/focus-trap';\n\n@Directive({selector: '.navbar'})\nexport class NgbNavbar {\n}\n\n/**\n * A directive you should put on a dropdown item to enable keyboard navigation.\n * Arrow keys will move focus between items marked with this directive.\n *\n * @since 4.1.0\n */\n@Directive({selector: '[ngbDropdownItem]', host: {'class': 'dropdown-item', '[class.disabled]': 'disabled'}})\nexport class NgbDropdownItem {\n static ngAcceptInputType_disabled: boolean | '';\n\n private _disabled = false;\n\n @Input()\n set disabled(value: boolean) {\n this._disabled = value === '' || value === true; // accept an empty attribute as true\n }\n\n get disabled(): boolean { return this._disabled; }\n\n constructor(public elementRef: ElementRef) {}\n}\n\n/**\n * A directive that wraps dropdown menu content and dropdown items.\n */\n@Directive({\n selector: '[ngbDropdownMenu]',\n host: {\n '[class.dropdown-menu]': 'true',\n '[class.show]': 'dropdown.isOpen()',\n '[attr.x-placement]': 'placement',\n '(keydown.ArrowUp)': 'dropdown.onKeyDown($event)',\n '(keydown.ArrowDown)': 'dropdown.onKeyDown($event)',\n '(keydown.Home)': 'dropdown.onKeyDown($event)',\n '(keydown.End)': 'dropdown.onKeyDown($event)',\n '(keydown.Enter)': 'dropdown.onKeyDown($event)',\n '(keydown.Space)': 'dropdown.onKeyDown($event)',\n '(keydown.Tab)': 'dropdown.onKeyDown($event)',\n '(keydown.Shift.Tab)': 'dropdown.onKeyDown($event)'\n }\n})\nexport class NgbDropdownMenu {\n nativeElement: HTMLElement;\n placement: Placement | null = 'bottom';\n isOpen = false;\n\n @ContentChildren(NgbDropdownItem) menuItems: QueryList;\n\n constructor(@Inject(forwardRef(() => NgbDropdown)) public dropdown, _elementRef: ElementRef) {\n this.nativeElement = _elementRef.nativeElement;\n }\n}\n\n/**\n * A directive to mark an element to which dropdown menu will be anchored.\n *\n * This is a simple version of the `NgbDropdownToggle` directive.\n * It plays the same role, but doesn't listen to click events to toggle dropdown menu thus enabling support\n * for events other than click.\n *\n * @since 1.1.0\n */\n@Directive(\n {selector: '[ngbDropdownAnchor]', host: {'class': 'dropdown-toggle', '[attr.aria-expanded]': 'dropdown.isOpen()'}})\nexport class NgbDropdownAnchor {\n nativeElement: HTMLElement;\n constructor(@Inject(forwardRef(() => NgbDropdown)) public dropdown, _elementRef: ElementRef) {\n this.nativeElement = _elementRef.nativeElement;\n }\n}\n\n/**\n * A directive to mark an element that will toggle dropdown via the `click` event.\n *\n * You can also use `NgbDropdownAnchor` as an alternative.\n */\n@Directive({\n selector: '[ngbDropdownToggle]',\n host: {\n 'class': 'dropdown-toggle',\n '[attr.aria-expanded]': 'dropdown.isOpen()',\n '(click)': 'dropdown.toggle()',\n '(keydown.ArrowUp)': 'dropdown.onKeyDown($event)',\n '(keydown.ArrowDown)': 'dropdown.onKeyDown($event)',\n '(keydown.Home)': 'dropdown.onKeyDown($event)',\n '(keydown.End)': 'dropdown.onKeyDown($event)',\n '(keydown.Tab)': 'dropdown.onKeyDown($event)',\n '(keydown.Shift.Tab)': 'dropdown.onKeyDown($event)'\n },\n providers: [{provide: NgbDropdownAnchor, useExisting: forwardRef(() => NgbDropdownToggle)}]\n})\nexport class NgbDropdownToggle extends NgbDropdownAnchor {\n constructor(@Inject(forwardRef(() => NgbDropdown)) dropdown, elementRef: ElementRef) {\n super(dropdown, elementRef);\n }\n}\n\n/**\n * A directive that provides contextual overlays for displaying lists of links and more.\n */\n@Directive({selector: '[ngbDropdown]', exportAs: 'ngbDropdown', host: {'[class.show]': 'isOpen()'}})\nexport class NgbDropdown implements AfterContentInit, OnDestroy {\n static ngAcceptInputType_autoClose: boolean | string;\n static ngAcceptInputType_display: string;\n private _closed$ = new Subject();\n private _zoneSubscription: Subscription;\n private _bodyContainer: HTMLElement | null = null;\n\n @ContentChild(NgbDropdownMenu, {static: false}) private _menu: NgbDropdownMenu;\n @ContentChild(NgbDropdownAnchor, {static: false}) private _anchor: NgbDropdownAnchor;\n\n /**\n * Indicates whether the dropdown should be closed when clicking one of dropdown items or pressing ESC.\n *\n * * `true` - the dropdown will close on both outside and inside (menu) clicks.\n * * `false` - the dropdown can only be closed manually via `close()` or `toggle()` methods.\n * * `\"inside\"` - the dropdown will close on inside menu clicks, but not outside clicks.\n * * `\"outside\"` - the dropdown will close only on the outside clicks and not on menu clicks.\n */\n @Input() autoClose: boolean | 'outside' | 'inside';\n\n /**\n * Defines whether or not the dropdown menu is opened initially.\n */\n @Input('open') _open = false;\n\n /**\n * The preferred placement of the dropdown.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * A selector specifying the element the dropdown should be appended to.\n * Currently only supports \"body\".\n *\n * @since 4.1.0\n */\n @Input() container: null | 'body';\n\n /**\n * Enable or disable the dynamic positioning. The default value is dynamic unless the dropdown is used\n * inside a Bootstrap navbar. If you need custom placement for a dropdown in a navbar, set it to\n * dynamic explicitly. See the [positioning of dropdown](#/positioning#dropdown)\n * and the [navbar demo](/#/components/dropdown/examples#navbar) for more details.\n *\n * @since 4.2.0\n */\n @Input() display: 'dynamic' | 'static';\n\n /**\n * An event fired when the dropdown is opened or closed.\n *\n * The event payload is a `boolean`:\n * * `true` - the dropdown was opened\n * * `false` - the dropdown was closed\n */\n @Output() openChange = new EventEmitter();\n\n constructor(\n private _changeDetector: ChangeDetectorRef, config: NgbDropdownConfig, @Inject(DOCUMENT) private _document: any,\n private _ngZone: NgZone, private _elementRef: ElementRef, private _renderer: Renderer2,\n @Optional() ngbNavbar: NgbNavbar) {\n this.placement = config.placement;\n this.container = config.container;\n this.autoClose = config.autoClose;\n\n this.display = ngbNavbar ? 'static' : 'dynamic';\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => { this._positionMenu(); });\n }\n\n ngAfterContentInit() {\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n this._applyPlacementClasses();\n if (this._open) {\n this._setCloseHandlers();\n }\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.container && this._open) {\n this._applyContainer(this.container);\n }\n\n if (changes.placement && !changes.placement.isFirstChange) {\n this._applyPlacementClasses();\n }\n }\n\n /**\n * Checks if the dropdown menu is open.\n */\n isOpen(): boolean { return this._open; }\n\n /**\n * Opens the dropdown menu.\n */\n open(): void {\n if (!this._open) {\n this._open = true;\n this._applyContainer(this.container);\n this.openChange.emit(true);\n this._setCloseHandlers();\n if (this._anchor) {\n this._anchor.nativeElement.focus();\n }\n }\n }\n\n private _setCloseHandlers() {\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose,\n (source: SOURCE) => {\n this.close();\n if (source === SOURCE.ESCAPE) {\n this._anchor.nativeElement.focus();\n }\n },\n this._closed$, this._menu ? [this._menu.nativeElement] : [], this._anchor ? [this._anchor.nativeElement] : [],\n '.dropdown-item,.dropdown-divider');\n }\n\n /**\n * Closes the dropdown menu.\n */\n close(): void {\n if (this._open) {\n this._open = false;\n this._resetContainer();\n this._closed$.next();\n this.openChange.emit(false);\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Toggles the dropdown menu.\n */\n toggle(): void {\n if (this.isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n ngOnDestroy() {\n this._resetContainer();\n\n this._closed$.next();\n this._zoneSubscription.unsubscribe();\n }\n\n onKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n const key = event.which;\n const itemElements = this._getMenuElements();\n\n let position = -1;\n let itemElement: HTMLElement | null = null;\n const isEventFromToggle = this._isEventFromToggle(event);\n\n if (!isEventFromToggle && itemElements.length) {\n itemElements.forEach((item, index) => {\n if (item.contains(event.target as HTMLElement)) {\n itemElement = item;\n }\n if (item === this._document.activeElement) {\n position = index;\n }\n });\n }\n\n // closing on Enter / Space\n if (key === Key.Space || key === Key.Enter) {\n if (itemElement && (this.autoClose === true || this.autoClose === 'inside')) {\n // Item is either a button or a link, so click will be triggered by the browser on Enter or Space.\n // So we have to register a one-time click handler that will fire after any user defined click handlers\n // to close the dropdown\n fromEvent(itemElement, 'click').pipe(take(1)).subscribe(() => this.close());\n }\n return;\n }\n\n if (key === Key.Tab) {\n if (event.target && this.isOpen() && this.autoClose) {\n if (this._anchor.nativeElement === event.target) {\n if (this.container === 'body' && !event.shiftKey) {\n /* This case is special: user is using [Tab] from the anchor/toggle.\n User expects the next focusable element in the dropdown menu to get focus.\n But the menu is not a sibling to anchor/toggle, it is at the end of the body.\n Trick is to synchronously focus the menu element, and let the [keydown.Tab] go\n so that browser will focus the proper element (first one focusable in the menu) */\n this._renderer.setAttribute(this._menu.nativeElement, 'tabindex', '0');\n this._menu.nativeElement.focus();\n this._renderer.removeAttribute(this._menu.nativeElement, 'tabindex');\n } else if (event.shiftKey) {\n this.close();\n }\n return;\n } else if (this.container === 'body') {\n const focusableElements = this._menu.nativeElement.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR);\n if (event.shiftKey && event.target === focusableElements[0]) {\n this._anchor.nativeElement.focus();\n event.preventDefault();\n } else if (!event.shiftKey && event.target === focusableElements[focusableElements.length - 1]) {\n this._anchor.nativeElement.focus();\n this.close();\n }\n } else {\n fromEvent(event.target as HTMLElement, 'focusout').pipe(take(1)).subscribe(({relatedTarget}) => {\n if (!this._elementRef.nativeElement.contains(relatedTarget as HTMLElement)) {\n this.close();\n }\n });\n }\n }\n return;\n }\n\n // opening / navigating\n if (isEventFromToggle || itemElement) {\n this.open();\n\n if (itemElements.length) {\n switch (key) {\n case Key.ArrowDown:\n position = Math.min(position + 1, itemElements.length - 1);\n break;\n case Key.ArrowUp:\n if (this._isDropup() && position === -1) {\n position = itemElements.length - 1;\n break;\n }\n position = Math.max(position - 1, 0);\n break;\n case Key.Home:\n position = 0;\n break;\n case Key.End:\n position = itemElements.length - 1;\n break;\n }\n itemElements[position].focus();\n }\n event.preventDefault();\n }\n }\n\n private _isDropup(): boolean { return this._elementRef.nativeElement.classList.contains('dropup'); }\n\n private _isEventFromToggle(event: KeyboardEvent) {\n return this._anchor.nativeElement.contains(event.target as HTMLElement);\n }\n\n private _getMenuElements(): HTMLElement[] {\n const menu = this._menu;\n if (menu == null) {\n return [];\n }\n return menu.menuItems.filter(item => !item.disabled).map(item => item.elementRef.nativeElement);\n }\n\n private _positionMenu() {\n const menu = this._menu;\n if (this.isOpen() && menu) {\n this._applyPlacementClasses(\n this.display === 'dynamic' ? positionElements(\n this._anchor.nativeElement, this._bodyContainer || this._menu.nativeElement,\n this.placement, this.container === 'body') :\n this._getFirstPlacement(this.placement));\n }\n }\n\n private _getFirstPlacement(placement: PlacementArray): Placement {\n return Array.isArray(placement) ? placement[0] : placement.split(' ')[0] as Placement;\n }\n\n private _resetContainer() {\n const renderer = this._renderer;\n if (this._menu) {\n const dropdownElement = this._elementRef.nativeElement;\n const dropdownMenuElement = this._menu.nativeElement;\n\n renderer.appendChild(dropdownElement, dropdownMenuElement);\n renderer.removeStyle(dropdownMenuElement, 'position');\n renderer.removeStyle(dropdownMenuElement, 'transform');\n }\n if (this._bodyContainer) {\n renderer.removeChild(this._document.body, this._bodyContainer);\n this._bodyContainer = null;\n }\n }\n\n private _applyContainer(container: null | 'body' = null) {\n this._resetContainer();\n if (container === 'body') {\n const renderer = this._renderer;\n const dropdownMenuElement = this._menu.nativeElement;\n const bodyContainer = this._bodyContainer = this._bodyContainer || renderer.createElement('div');\n\n // Override some styles to have the positionning working\n renderer.setStyle(bodyContainer, 'position', 'absolute');\n renderer.setStyle(dropdownMenuElement, 'position', 'static');\n renderer.setStyle(bodyContainer, 'z-index', '1050');\n\n renderer.appendChild(bodyContainer, dropdownMenuElement);\n renderer.appendChild(this._document.body, bodyContainer);\n }\n }\n\n private _applyPlacementClasses(placement?: Placement | null) {\n const menu = this._menu;\n if (menu) {\n if (!placement) {\n placement = this._getFirstPlacement(this.placement);\n }\n\n const renderer = this._renderer;\n const dropdownElement = this._elementRef.nativeElement;\n\n // remove the current placement classes\n renderer.removeClass(dropdownElement, 'dropup');\n renderer.removeClass(dropdownElement, 'dropdown');\n menu.placement = this.display === 'static' ? null : placement;\n\n /*\n * apply the new placement\n * in case of top use up-arrow or down-arrow otherwise\n */\n const dropdownClass = placement.search('^top') !== -1 ? 'dropup' : 'dropdown';\n renderer.addClass(dropdownElement, dropdownClass);\n\n const bodyContainer = this._bodyContainer;\n if (bodyContainer) {\n renderer.removeClass(bodyContainer, 'dropup');\n renderer.removeClass(bodyContainer, 'dropdown');\n renderer.addClass(bodyContainer, dropdownClass);\n }\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownToggle,\n NgbDropdownMenu,\n NgbDropdownItem,\n NgbNavbar\n} from './dropdown';\n\nexport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownToggle,\n NgbDropdownMenu,\n NgbDropdownItem,\n NgbNavbar\n} from './dropdown';\nexport {NgbDropdownConfig} from './dropdown-config';\n\nconst NGB_DROPDOWN_DIRECTIVES =\n [NgbDropdown, NgbDropdownAnchor, NgbDropdownToggle, NgbDropdownMenu, NgbDropdownItem, NgbNavbar];\n\n@NgModule({declarations: NGB_DROPDOWN_DIRECTIVES, exports: NGB_DROPDOWN_DIRECTIVES})\nexport class NgbDropdownModule {\n}\n","import {Injectable, Injector} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * Options available when opening new modal windows with `NgbModal.open()` method.\n */\nexport interface NgbModalOptions {\n /**\n * If `true`, modal opening and closing will be animated.\n *\n * @since 8.0.0\n */\n animation?: boolean;\n\n /**\n * `aria-labelledby` attribute value to set on the modal window.\n *\n * @since 2.2.0\n */\n ariaLabelledBy?: string;\n\n /**\n * `aria-describedby` attribute value to set on the modal window.\n *\n * @since 6.1.0\n */\n ariaDescribedBy?: string;\n\n /**\n * If `true`, the backdrop element will be created for a given modal.\n *\n * Alternatively, specify `'static'` for a backdrop which doesn't close the modal on click.\n *\n * Default value is `true`.\n */\n backdrop?: boolean | 'static';\n\n /**\n * Callback right before the modal will be dismissed.\n *\n * If this function returns:\n * * `false`\n * * a promise resolved with `false`\n * * a promise that is rejected\n *\n * then the modal won't be dismissed.\n */\n beforeDismiss?: () => boolean | Promise;\n\n /**\n * If `true`, the modal will be centered vertically.\n *\n * Default value is `false`.\n *\n * @since 1.1.0\n */\n centered?: boolean;\n\n /**\n * A selector specifying the element all new modal windows should be appended to.\n * Since v5.3.0 it is also possible to pass the reference to an `HTMLElement`.\n *\n * If not specified, will be `body`.\n */\n container?: string | HTMLElement;\n\n /**\n * The `Injector` to use for modal content.\n */\n injector?: Injector;\n\n /**\n * If `true`, the modal will be closed when `Escape` key is pressed\n *\n * Default value is `true`.\n */\n keyboard?: boolean;\n\n /**\n * Scrollable modal content (false by default).\n *\n * @since 5.0.0\n */\n scrollable?: boolean;\n\n /**\n * Size of a new modal window.\n */\n size?: 'sm' | 'lg' | 'xl' | string;\n\n /**\n * A custom class to append to the modal window.\n */\n windowClass?: string;\n\n /**\n * A custom class to append to the modal backdrop.\n *\n * @since 1.1.0\n */\n backdropClass?: string;\n}\n\n/**\n * A configuration service for the [`NgbModal`](#/components/modal/api#NgbModal) service.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all modals used in the application.\n*\n* @since 3.1.0\n*/\n@Injectable({providedIn: 'root'})\nexport class NgbModalConfig implements Required {\n ariaLabelledBy: string;\n ariaDescribedBy: string;\n backdrop: boolean | 'static' = true;\n beforeDismiss: () => boolean | Promise;\n centered: boolean;\n container: string;\n injector: Injector;\n keyboard = true;\n scrollable: boolean;\n size: 'sm' | 'lg' | 'xl' | string;\n windowClass: string;\n backdropClass: string;\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Injector,\n NgZone,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n ViewRef\n} from '@angular/core';\n\nimport {Observable, of} from 'rxjs';\nimport {mergeMap, take, tap} from 'rxjs/operators';\n\nimport {ngbRunTransition} from './transition/ngbTransition';\n\nexport class ContentRef {\n constructor(public nodes: any[], public viewRef?: ViewRef, public componentRef?: ComponentRef) {}\n}\n\nexport class PopupService {\n private _windowRef: ComponentRef| null = null;\n private _contentRef: ContentRef | null = null;\n\n constructor(\n private _type: any, private _injector: Injector, private _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2, private _ngZone: NgZone,\n private _componentFactoryResolver: ComponentFactoryResolver, private _applicationRef: ApplicationRef) {}\n\n open(content?: string | TemplateRef, context?: any, animation = false):\n {windowRef: ComponentRef, transition$: Observable} {\n if (!this._windowRef) {\n this._contentRef = this._getContentRef(content, context);\n this._windowRef = this._viewContainerRef.createComponent(\n this._componentFactoryResolver.resolveComponentFactory(this._type), this._viewContainerRef.length,\n this._injector, this._contentRef.nodes);\n }\n\n const {nativeElement} = this._windowRef.location;\n const transition$ = this._ngZone.onStable.pipe(\n take(1), mergeMap(\n () => ngbRunTransition(\n this._ngZone, nativeElement, ({classList}) => classList.add('show'),\n {animation, runningTransition: 'continue'})));\n\n return {windowRef: this._windowRef, transition$};\n }\n\n close(animation = false): Observable {\n if (!this._windowRef) {\n return of(undefined);\n }\n\n return ngbRunTransition(\n this._ngZone, this._windowRef.location.nativeElement, ({classList}) => classList.remove('show'),\n {animation, runningTransition: 'stop'})\n .pipe(tap(() => {\n if (this._windowRef) {\n // this is required because of the container='body' option\n this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView));\n this._windowRef = null;\n }\n if (this._contentRef?.viewRef) {\n this._applicationRef.detachView(this._contentRef.viewRef);\n this._contentRef.viewRef.destroy();\n this._contentRef = null;\n }\n }));\n }\n\n private _getContentRef(content?: string | TemplateRef, context?: any): ContentRef {\n if (!content) {\n return new ContentRef([]);\n } else if (content instanceof TemplateRef) {\n const viewRef = content.createEmbeddedView(context);\n this._applicationRef.attachView(viewRef);\n return new ContentRef([viewRef.rootNodes], viewRef);\n } else {\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n }\n}\n","import {Injectable, Inject} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\nconst noop = () => {};\n\n\n\n/** Type for the callback used to revert the scrollbar compensation. */\nexport type CompensationReverter = () => void;\n\n\n\n/**\n * Utility to handle the scrollbar.\n *\n * It allows to compensate the lack of a vertical scrollbar by adding an\n * equivalent padding on the right of the body, and to remove this compensation.\n */\n@Injectable({providedIn: 'root'})\nexport class ScrollBar {\n constructor(@Inject(DOCUMENT) private _document: any) {}\n\n /**\n * To be called right before a potential vertical scrollbar would be removed:\n *\n * - if there was a scrollbar, adds some compensation padding to the body\n * to keep the same layout as when the scrollbar is there\n * - if there was none, there is nothing to do\n *\n * @return a callback used to revert the compensation (noop if there was none,\n * otherwise a function removing the padding)\n */\n compensate(): CompensationReverter {\n const width = this._getWidth();\n return !this._isPresent(width) ? noop : this._adjustBody(width);\n }\n\n /**\n * Adds a padding of the given width on the right of the body.\n *\n * @return a callback used to revert the padding to its previous value\n */\n private _adjustBody(scrollbarWidth: number): CompensationReverter {\n const body = this._document.body;\n const userSetPaddingStyle = body.style.paddingRight;\n const actualPadding = parseFloat(window.getComputedStyle(body)['padding-right']);\n body.style['padding-right'] = `${actualPadding + scrollbarWidth}px`;\n return () => body.style['padding-right'] = userSetPaddingStyle;\n }\n\n /**\n * Tells whether a scrollbar is currently present on the body.\n *\n * @return true if scrollbar is present, false otherwise\n */\n private _isPresent(scrollbarWidth: number): boolean {\n const rect = this._document.body.getBoundingClientRect();\n const bodyToViewportGap = window.innerWidth - (rect.left + rect.right);\n const uncertainty = 0.1 * scrollbarWidth;\n return bodyToViewportGap >= scrollbarWidth - uncertainty;\n }\n\n /**\n * Calculates and returns the width of a scrollbar.\n *\n * @return the width of a scrollbar on this page\n */\n private _getWidth(): number {\n const measurer = this._document.createElement('div');\n measurer.className = 'modal-scrollbar-measure';\n\n const body = this._document.body;\n body.appendChild(measurer);\n const width = measurer.getBoundingClientRect().width - measurer.clientWidth;\n body.removeChild(measurer);\n\n return width;\n }\n}\n","import {Component, ElementRef, Input, NgZone, OnInit, ViewEncapsulation} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {reflow} from '../util/util';\n\n@Component({\n selector: 'ngb-modal-backdrop',\n encapsulation: ViewEncapsulation.None,\n template: '',\n host: {\n '[class]': '\"modal-backdrop\" + (backdropClass ? \" \" + backdropClass : \"\")',\n '[class.show]': '!animation',\n '[class.fade]': 'animation',\n 'style': 'z-index: 1050'\n }\n})\nexport class NgbModalBackdrop implements OnInit {\n @Input() animation: boolean;\n @Input() backdropClass: string;\n\n constructor(private _el: ElementRef, private _zone: NgZone) {}\n\n ngOnInit() {\n this._zone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n ngbRunTransition(this._zone, this._el.nativeElement, (element: HTMLElement, animation: boolean) => {\n if (animation) {\n reflow(element);\n }\n element.classList.add('show');\n }, {animation: this.animation, runningTransition: 'continue'});\n });\n }\n\n hide(): Observable {\n return ngbRunTransition(\n this._zone, this._el.nativeElement, ({classList}) => classList.remove('show'),\n {animation: this.animation, runningTransition: 'stop'});\n }\n}\n","import {ComponentRef} from '@angular/core';\n\nimport {Observable, of, Subject, zip} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalWindow} from './modal-window';\n\nimport {ContentRef} from '../util/popup';\n\n/**\n * A reference to the currently opened (active) modal.\n *\n * Instances of this class can be injected into your component passed as modal content.\n * So you can `.close()` or `.dismiss()` the modal window from your component.\n */\nexport class NgbActiveModal {\n /**\n * Closes the modal with an optional `result` value.\n *\n * The `NgbModalRef.result` promise will be resolved with the provided value.\n */\n close(result?: any): void {}\n\n /**\n * Dismisses the modal with an optional `reason` value.\n *\n * The `NgbModalRef.result` promise will be rejected with the provided value.\n */\n dismiss(reason?: any): void {}\n}\n\n/**\n * A reference to the newly opened modal returned by the `NgbModal.open()` method.\n */\nexport class NgbModalRef {\n private _closed = new Subject();\n private _dismissed = new Subject();\n private _hidden = new Subject();\n private _resolve: (result?: any) => void;\n private _reject: (reason?: any) => void;\n\n /**\n * The instance of a component used for the modal content.\n *\n * When a `TemplateRef` is used as the content or when the modal is closed, will return `undefined`.\n */\n get componentInstance(): any {\n if (this._contentRef && this._contentRef.componentRef) {\n return this._contentRef.componentRef.instance;\n }\n }\n\n /**\n * The promise that is resolved when the modal is closed and rejected when the modal is dismissed.\n */\n result: Promise;\n\n /**\n * The observable that emits when the modal is closed via the `.close()` method.\n *\n * It will emit the result passed to the `.close()` method.\n *\n * @since 8.0.0\n */\n get closed(): Observable { return this._closed.asObservable().pipe(takeUntil(this._hidden)); }\n\n /**\n * The observable that emits when the modal is dismissed via the `.dismiss()` method.\n *\n * It will emit the reason passed to the `.dismissed()` method by the user, or one of the internal\n * reasons like backdrop click or ESC key press.\n *\n * @since 8.0.0\n */\n get dismissed(): Observable { return this._dismissed.asObservable().pipe(takeUntil(this._hidden)); }\n\n /**\n * The observable that emits when both modal window and backdrop are closed and animations were finished.\n * At this point modal and backdrop elements will be removed from the DOM tree.\n *\n * This observable will be completed after emitting.\n *\n * @since 8.0.0\n */\n get hidden(): Observable { return this._hidden.asObservable(); }\n\n /**\n * The observable that emits when modal is fully visible and animation was finished.\n * Modal DOM element is always available synchronously after calling 'modal.open()' service.\n *\n * This observable will be completed after emitting.\n * It will not emit, if modal is closed before open animation is finished.\n *\n * @since 8.0.0\n */\n get shown(): Observable { return this._windowCmptRef.instance.shown.asObservable(); }\n\n constructor(\n private _windowCmptRef: ComponentRef, private _contentRef: ContentRef,\n private _backdropCmptRef?: ComponentRef, private _beforeDismiss?: Function) {\n _windowCmptRef.instance.dismissEvent.subscribe((reason: any) => { this.dismiss(reason); });\n\n this.result = new Promise((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n this.result.then(null, () => {});\n }\n\n /**\n * Closes the modal with an optional `result` value.\n *\n * The `NgbMobalRef.result` promise will be resolved with the provided value.\n */\n close(result?: any): void {\n if (this._windowCmptRef) {\n this._closed.next(result);\n this._resolve(result);\n this._removeModalElements();\n }\n }\n\n private _dismiss(reason?: any) {\n this._dismissed.next(reason);\n this._reject(reason);\n this._removeModalElements();\n }\n\n /**\n * Dismisses the modal with an optional `reason` value.\n *\n * The `NgbModalRef.result` promise will be rejected with the provided value.\n */\n dismiss(reason?: any): void {\n if (this._windowCmptRef) {\n if (!this._beforeDismiss) {\n this._dismiss(reason);\n } else {\n const dismiss = this._beforeDismiss();\n if (dismiss && dismiss.then) {\n dismiss.then(\n result => {\n if (result !== false) {\n this._dismiss(reason);\n }\n },\n () => {});\n } else if (dismiss !== false) {\n this._dismiss(reason);\n }\n }\n }\n }\n\n private _removeModalElements() {\n const windowTransition$ = this._windowCmptRef.instance.hide();\n const backdropTransition$ = this._backdropCmptRef ? this._backdropCmptRef.instance.hide() : of(undefined);\n\n // hiding window\n windowTransition$.subscribe(() => {\n const {nativeElement} = this._windowCmptRef.location;\n nativeElement.parentNode.removeChild(nativeElement);\n this._windowCmptRef.destroy();\n\n if (this._contentRef && this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n\n this._windowCmptRef = null;\n this._contentRef = null;\n });\n\n // hiding backdrop\n backdropTransition$.subscribe(() => {\n if (this._backdropCmptRef) {\n const {nativeElement} = this._backdropCmptRef.location;\n nativeElement.parentNode.removeChild(nativeElement);\n this._backdropCmptRef.destroy();\n this._backdropCmptRef = null;\n }\n });\n\n // all done\n zip(windowTransition$, backdropTransition$).subscribe(() => {\n this._hidden.next();\n this._hidden.complete();\n });\n }\n}\n","export enum ModalDismissReasons {\n BACKDROP_CLICK,\n ESC\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport {fromEvent, Observable, Subject, zip} from 'rxjs';\nimport {filter, switchMap, take, takeUntil, tap} from 'rxjs/operators';\n\nimport {getFocusableBoundaryElements} from '../util/focus-trap';\nimport {Key} from '../util/key';\nimport {ModalDismissReasons} from './modal-dismiss-reasons';\nimport {ngbRunTransition, NgbTransitionOptions} from '../util/transition/ngbTransition';\nimport {reflow} from '../util/util';\n\n@Component({\n selector: 'ngb-modal-window',\n host: {\n '[class]': '\"modal d-block\" + (windowClass ? \" \" + windowClass : \"\")',\n '[class.fade]': 'animation',\n 'role': 'dialog',\n 'tabindex': '-1',\n '[attr.aria-modal]': 'true',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n '[attr.aria-describedby]': 'ariaDescribedBy'\n },\n template: `\n
\n
\n
\n `,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./modal.scss']\n})\nexport class NgbModalWindow implements OnInit,\n AfterViewInit, OnDestroy {\n private _closed$ = new Subject();\n private _elWithFocus: Element | null = null; // element that is focused prior to modal opening\n\n @ViewChild('dialog', {static: true}) private _dialogEl: ElementRef;\n\n @Input() animation: boolean;\n @Input() ariaLabelledBy: string;\n @Input() ariaDescribedBy: string;\n @Input() backdrop: boolean | string = true;\n @Input() centered: string;\n @Input() keyboard = true;\n @Input() scrollable: string;\n @Input() size: string;\n @Input() windowClass: string;\n\n @Output('dismiss') dismissEvent = new EventEmitter();\n\n shown = new Subject();\n hidden = new Subject();\n\n constructor(\n @Inject(DOCUMENT) private _document: any, private _elRef: ElementRef, private _zone: NgZone) {}\n\n dismiss(reason): void { this.dismissEvent.emit(reason); }\n\n ngOnInit() { this._elWithFocus = this._document.activeElement; }\n\n ngAfterViewInit() { this._show(); }\n\n ngOnDestroy() { this._disableEventHandling(); }\n\n hide(): Observable {\n const {nativeElement} = this._elRef;\n const context: NgbTransitionOptions = {animation: this.animation, runningTransition: 'stop'};\n\n const windowTransition$ =\n ngbRunTransition(this._zone, nativeElement, () => nativeElement.classList.remove('show'), context);\n const dialogTransition$ = ngbRunTransition(this._zone, this._dialogEl.nativeElement, () => {}, context);\n\n const transitions$ = zip(windowTransition$, dialogTransition$);\n transitions$.subscribe(() => {\n this.hidden.next();\n this.hidden.complete();\n });\n\n this._disableEventHandling();\n this._restoreFocus();\n\n return transitions$;\n }\n\n private _show() {\n const context: NgbTransitionOptions = {animation: this.animation, runningTransition: 'continue'};\n\n const windowTransition$ =\n ngbRunTransition(this._zone, this._elRef.nativeElement, (element: HTMLElement, animation: boolean) => {\n if (animation) {\n reflow(element);\n }\n element.classList.add('show');\n }, context);\n const dialogTransition$ = ngbRunTransition(this._zone, this._dialogEl.nativeElement, () => {}, context);\n\n zip(windowTransition$, dialogTransition$).subscribe(() => {\n this.shown.next();\n this.shown.complete();\n });\n\n this._enableEventHandling();\n this._setFocus();\n }\n\n private _enableEventHandling() {\n const {nativeElement} = this._elRef;\n this._zone.runOutsideAngular(() => {\n fromEvent(nativeElement, 'keydown')\n .pipe(\n takeUntil(this._closed$),\n // tslint:disable-next-line:deprecation\n filter(e => e.which === Key.Escape))\n .subscribe(event => {\n if (this.keyboard) {\n requestAnimationFrame(() => {\n if (!event.defaultPrevented) {\n this._zone.run(() => this.dismiss(ModalDismissReasons.ESC));\n }\n });\n } else if (this.backdrop === 'static') {\n this._bumpBackdrop();\n }\n });\n\n // We're listening to 'mousedown' and 'mouseup' to prevent modal from closing when pressing the mouse\n // inside the modal dialog and releasing it outside\n let preventClose = false;\n fromEvent(this._dialogEl.nativeElement, 'mousedown')\n .pipe(\n takeUntil(this._closed$), tap(() => preventClose = false),\n switchMap(() => fromEvent(nativeElement, 'mouseup').pipe(takeUntil(this._closed$), take(1))),\n filter(({target}) => nativeElement === target))\n .subscribe(() => { preventClose = true; });\n\n // We're listening to 'click' to dismiss modal on modal window click, except when:\n // 1. clicking on modal dialog itself\n // 2. closing was prevented by mousedown/up handlers\n // 3. clicking on scrollbar when the viewport is too small and modal doesn't fit (click is not triggered at all)\n fromEvent(nativeElement, 'click').pipe(takeUntil(this._closed$)).subscribe(({target}) => {\n if (nativeElement === target) {\n if (this.backdrop === 'static') {\n this._bumpBackdrop();\n } else if (this.backdrop === true && !preventClose) {\n this._zone.run(() => this.dismiss(ModalDismissReasons.BACKDROP_CLICK));\n }\n }\n\n preventClose = false;\n });\n });\n }\n\n private _disableEventHandling() { this._closed$.next(); }\n\n private _setFocus() {\n const {nativeElement} = this._elRef;\n if (!nativeElement.contains(document.activeElement)) {\n const autoFocusable = nativeElement.querySelector(`[ngbAutofocus]`) as HTMLElement;\n const firstFocusable = getFocusableBoundaryElements(nativeElement)[0];\n\n const elementToFocus = autoFocusable || firstFocusable || nativeElement;\n elementToFocus.focus();\n }\n }\n\n private _restoreFocus() {\n const body = this._document.body;\n const elWithFocus = this._elWithFocus;\n\n let elementToFocus;\n if (elWithFocus && elWithFocus['focus'] && body.contains(elWithFocus)) {\n elementToFocus = elWithFocus;\n } else {\n elementToFocus = body;\n }\n this._zone.runOutsideAngular(() => {\n setTimeout(() => elementToFocus.focus());\n this._elWithFocus = null;\n });\n }\n\n private _bumpBackdrop() {\n if (this.backdrop === 'static') {\n ngbRunTransition(this._zone, this._elRef.nativeElement, ({classList}) => {\n classList.add('modal-static');\n return () => classList.remove('modal-static');\n }, {animation: this.animation, runningTransition: 'continue'});\n }\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n EventEmitter,\n Inject,\n Injectable,\n Injector,\n NgZone,\n RendererFactory2,\n TemplateRef\n} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nimport {ngbFocusTrap} from '../util/focus-trap';\nimport {ContentRef} from '../util/popup';\nimport {ScrollBar} from '../util/scrollbar';\nimport {isDefined, isString} from '../util/util';\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalOptions} from './modal-config';\nimport {NgbActiveModal, NgbModalRef} from './modal-ref';\nimport {NgbModalWindow} from './modal-window';\n\n@Injectable({providedIn: 'root'})\nexport class NgbModalStack {\n private _activeWindowCmptHasChanged = new Subject();\n private _ariaHiddenValues: Map = new Map();\n private _backdropAttributes = ['animation', 'backdropClass'];\n private _modalRefs: NgbModalRef[] = [];\n private _windowAttributes = [\n 'animation', 'ariaLabelledBy', 'ariaDescribedBy', 'backdrop', 'centered', 'keyboard', 'scrollable', 'size',\n 'windowClass'\n ];\n private _windowCmpts: ComponentRef[] = [];\n private _activeInstances: EventEmitter = new EventEmitter();\n\n constructor(\n private _applicationRef: ApplicationRef, private _injector: Injector, @Inject(DOCUMENT) private _document: any,\n private _scrollBar: ScrollBar, private _rendererFactory: RendererFactory2, private _ngZone: NgZone) {\n // Trap focus on active WindowCmpt\n this._activeWindowCmptHasChanged.subscribe(() => {\n if (this._windowCmpts.length) {\n const activeWindowCmpt = this._windowCmpts[this._windowCmpts.length - 1];\n ngbFocusTrap(this._ngZone, activeWindowCmpt.location.nativeElement, this._activeWindowCmptHasChanged);\n this._revertAriaHidden();\n this._setAriaHidden(activeWindowCmpt.location.nativeElement);\n }\n });\n }\n\n open(moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, options): NgbModalRef {\n const containerEl = options.container instanceof HTMLElement ? options.container : isDefined(options.container) ?\n this._document.querySelector(options.container) :\n this._document.body;\n const renderer = this._rendererFactory.createRenderer(null, null);\n\n const revertPaddingForScrollBar = this._scrollBar.compensate();\n const removeBodyClass = () => {\n if (!this._modalRefs.length) {\n renderer.removeClass(this._document.body, 'modal-open');\n this._revertAriaHidden();\n }\n };\n\n if (!containerEl) {\n throw new Error(`The specified modal container \"${options.container || 'body'}\" was not found in the DOM.`);\n }\n\n const activeModal = new NgbActiveModal();\n const contentRef =\n this._getContentRef(moduleCFR, options.injector || contentInjector, content, activeModal, options);\n\n let backdropCmptRef: ComponentRef| undefined =\n options.backdrop !== false ? this._attachBackdrop(moduleCFR, containerEl) : undefined;\n let windowCmptRef: ComponentRef = this._attachWindowComponent(moduleCFR, containerEl, contentRef);\n let ngbModalRef: NgbModalRef = new NgbModalRef(windowCmptRef, contentRef, backdropCmptRef, options.beforeDismiss);\n\n this._registerModalRef(ngbModalRef);\n this._registerWindowCmpt(windowCmptRef);\n ngbModalRef.result.then(revertPaddingForScrollBar, revertPaddingForScrollBar);\n ngbModalRef.result.then(removeBodyClass, removeBodyClass);\n activeModal.close = (result: any) => { ngbModalRef.close(result); };\n activeModal.dismiss = (reason: any) => { ngbModalRef.dismiss(reason); };\n\n this._applyWindowOptions(windowCmptRef.instance, options);\n if (this._modalRefs.length === 1) {\n renderer.addClass(this._document.body, 'modal-open');\n }\n\n if (backdropCmptRef && backdropCmptRef.instance) {\n this._applyBackdropOptions(backdropCmptRef.instance, options);\n }\n return ngbModalRef;\n }\n\n get activeInstances() { return this._activeInstances; }\n\n dismissAll(reason?: any) { this._modalRefs.forEach(ngbModalRef => ngbModalRef.dismiss(reason)); }\n\n hasOpenModals(): boolean { return this._modalRefs.length > 0; }\n\n private _attachBackdrop(moduleCFR: ComponentFactoryResolver, containerEl: any): ComponentRef {\n let backdropFactory = moduleCFR.resolveComponentFactory(NgbModalBackdrop);\n let backdropCmptRef = backdropFactory.create(this._injector);\n this._applicationRef.attachView(backdropCmptRef.hostView);\n containerEl.appendChild(backdropCmptRef.location.nativeElement);\n return backdropCmptRef;\n }\n\n private _attachWindowComponent(moduleCFR: ComponentFactoryResolver, containerEl: any, contentRef: any):\n ComponentRef {\n let windowFactory = moduleCFR.resolveComponentFactory(NgbModalWindow);\n let windowCmptRef = windowFactory.create(this._injector, contentRef.nodes);\n this._applicationRef.attachView(windowCmptRef.hostView);\n containerEl.appendChild(windowCmptRef.location.nativeElement);\n return windowCmptRef;\n }\n\n private _applyWindowOptions(windowInstance: NgbModalWindow, options: Object): void {\n this._windowAttributes.forEach((optionName: string) => {\n if (isDefined(options[optionName])) {\n windowInstance[optionName] = options[optionName];\n }\n });\n }\n\n private _applyBackdropOptions(backdropInstance: NgbModalBackdrop, options: Object): void {\n this._backdropAttributes.forEach((optionName: string) => {\n if (isDefined(options[optionName])) {\n backdropInstance[optionName] = options[optionName];\n }\n });\n }\n\n private _getContentRef(\n moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, activeModal: NgbActiveModal,\n options: NgbModalOptions): ContentRef {\n if (!content) {\n return new ContentRef([]);\n } else if (content instanceof TemplateRef) {\n return this._createFromTemplateRef(content, activeModal);\n } else if (isString(content)) {\n return this._createFromString(content);\n } else {\n return this._createFromComponent(moduleCFR, contentInjector, content, activeModal, options);\n }\n }\n\n private _createFromTemplateRef(content: TemplateRef, activeModal: NgbActiveModal): ContentRef {\n const context = {\n $implicit: activeModal,\n close(result) { activeModal.close(result); },\n dismiss(reason) { activeModal.dismiss(reason); }\n };\n const viewRef = content.createEmbeddedView(context);\n this._applicationRef.attachView(viewRef);\n return new ContentRef([viewRef.rootNodes], viewRef);\n }\n\n private _createFromString(content: string): ContentRef {\n const component = this._document.createTextNode(`${content}`);\n return new ContentRef([[component]]);\n }\n\n private _createFromComponent(\n moduleCFR: ComponentFactoryResolver, contentInjector: Injector, content: any, context: NgbActiveModal,\n options: NgbModalOptions): ContentRef {\n const contentCmptFactory = moduleCFR.resolveComponentFactory(content);\n const modalContentInjector =\n Injector.create({providers: [{provide: NgbActiveModal, useValue: context}], parent: contentInjector});\n const componentRef = contentCmptFactory.create(modalContentInjector);\n const componentNativeEl = componentRef.location.nativeElement;\n if (options.scrollable) {\n (componentNativeEl as HTMLElement).classList.add('component-host-scrollable');\n }\n this._applicationRef.attachView(componentRef.hostView);\n // FIXME: we should here get rid of the component nativeElement\n // and use `[Array.from(componentNativeEl.childNodes)]` instead and remove the above CSS class.\n return new ContentRef([[componentNativeEl]], componentRef.hostView, componentRef);\n }\n\n private _setAriaHidden(element: Element) {\n const parent = element.parentElement;\n if (parent && element !== this._document.body) {\n Array.from(parent.children).forEach(sibling => {\n if (sibling !== element && sibling.nodeName !== 'SCRIPT') {\n this._ariaHiddenValues.set(sibling, sibling.getAttribute('aria-hidden'));\n sibling.setAttribute('aria-hidden', 'true');\n }\n });\n\n this._setAriaHidden(parent);\n }\n }\n\n private _revertAriaHidden() {\n this._ariaHiddenValues.forEach((value, element) => {\n if (value) {\n element.setAttribute('aria-hidden', value);\n } else {\n element.removeAttribute('aria-hidden');\n }\n });\n this._ariaHiddenValues.clear();\n }\n\n private _registerModalRef(ngbModalRef: NgbModalRef) {\n const unregisterModalRef = () => {\n const index = this._modalRefs.indexOf(ngbModalRef);\n if (index > -1) {\n this._modalRefs.splice(index, 1);\n this._activeInstances.emit(this._modalRefs);\n }\n };\n this._modalRefs.push(ngbModalRef);\n this._activeInstances.emit(this._modalRefs);\n ngbModalRef.result.then(unregisterModalRef, unregisterModalRef);\n }\n\n private _registerWindowCmpt(ngbWindowCmpt: ComponentRef) {\n this._windowCmpts.push(ngbWindowCmpt);\n this._activeWindowCmptHasChanged.next();\n\n ngbWindowCmpt.onDestroy(() => {\n const index = this._windowCmpts.indexOf(ngbWindowCmpt);\n if (index > -1) {\n this._windowCmpts.splice(index, 1);\n this._activeWindowCmptHasChanged.next();\n }\n });\n }\n}\n","import {Injectable, Injector, ComponentFactoryResolver} from '@angular/core';\n\nimport {NgbModalOptions, NgbModalConfig} from './modal-config';\nimport {NgbModalRef} from './modal-ref';\nimport {NgbModalStack} from './modal-stack';\n\n/**\n * A service for opening modal windows.\n *\n * Creating a modal is straightforward: create a component or a template and pass it as an argument to\n * the `.open()` method.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbModal {\n constructor(\n private _moduleCFR: ComponentFactoryResolver, private _injector: Injector, private _modalStack: NgbModalStack,\n private _config: NgbModalConfig) {}\n\n /**\n * Opens a new modal window with the specified content and supplied options.\n *\n * Content can be provided as a `TemplateRef` or a component type. If you pass a component type as content,\n * then instances of those components can be injected with an instance of the `NgbActiveModal` class. You can then\n * use `NgbActiveModal` methods to close / dismiss modals from \"inside\" of your component.\n *\n * Also see the [`NgbModalOptions`](#/components/modal/api#NgbModalOptions) for the list of supported options.\n */\n open(content: any, options: NgbModalOptions = {}): NgbModalRef {\n const combinedOptions = {...this._config, animation: this._config.animation, ...options};\n return this._modalStack.open(this._moduleCFR, this._injector, content, combinedOptions);\n }\n\n /**\n * Returns an observable that holds the active modal instances.\n */\n get activeInstances() { return this._modalStack.activeInstances; }\n\n /**\n * Dismisses all currently displayed modal windows with the supplied reason.\n *\n * @since 3.1.0\n */\n dismissAll(reason?: any) { this._modalStack.dismissAll(reason); }\n\n /**\n * Indicates if there are currently any open modal windows in the application.\n *\n * @since 3.3.0\n */\n hasOpenModals(): boolean { return this._modalStack.hasOpenModals(); }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbModal} from './modal';\nimport {NgbModalBackdrop} from './modal-backdrop';\nimport {NgbModalWindow} from './modal-window';\n\nexport {NgbModal} from './modal';\nexport {NgbModalConfig, NgbModalOptions} from './modal-config';\nexport {NgbModalRef, NgbActiveModal} from './modal-ref';\nexport {ModalDismissReasons} from './modal-dismiss-reasons';\n\n@NgModule({\n declarations: [NgbModalBackdrop, NgbModalWindow],\n entryComponents: [NgbModalBackdrop, NgbModalWindow],\n providers: [NgbModal]\n})\nexport class NgbModalModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [`NgbNav`](#/components/nav/api#NgbNav) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the navs used in the application.\n *\n * @since 5.2.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbNavConfig {\n destroyOnHide = true;\n orientation: 'horizontal' | 'vertical' = 'horizontal';\n roles: 'tablist' | false = 'tablist';\n keyboard: boolean | 'changeWithArrows' = false;\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {\n AfterContentChecked,\n AfterContentInit,\n Attribute,\n ChangeDetectorRef,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {isDefined} from '../util/util';\nimport {NgbNavConfig} from './nav-config';\nimport {Key} from '../util/key';\n\nconst isValidNavId = (id: any) => isDefined(id) && id !== '';\n\nlet navCounter = 0;\n\n/**\n * Context passed to the nav content template.\n *\n * See [this demo](#/components/nav/examples#keep-content) as the example.\n *\n * @since 5.2.0\n */\nexport interface NgbNavContentContext {\n /**\n * If `true`, current nav content is visible and active\n */\n $implicit: boolean;\n}\n\n\n/**\n * This directive must be used to wrap content to be displayed in the nav.\n *\n * @since 5.2.0\n */\n@Directive({selector: 'ng-template[ngbNavContent]'})\nexport class NgbNavContent {\n constructor(public templateRef: TemplateRef) {}\n}\n\n\n/**\n * The directive used to group nav link and related nav content. As well as set nav identifier and some options.\n *\n * @since 5.2.0\n */\n@Directive({selector: '[ngbNavItem]', exportAs: 'ngbNavItem', host: {'[class.nav-item]': 'true'}})\nexport class NgbNavItem implements AfterContentChecked, OnInit {\n private _nav: NgbNav;\n\n /**\n * If `true`, non-active current nav item content will be removed from DOM\n * Otherwise it will just be hidden\n */\n @Input() destroyOnHide;\n\n /**\n * If `true`, the current nav item is disabled and can't be toggled by user.\n *\n * Nevertheless disabled nav can be selected programmatically via the `.select()` method and the `[activeId]` binding.\n */\n @Input() disabled = false;\n\n /**\n * The id used for the DOM elements.\n * Must be unique inside the document in case you have multiple `ngbNav`s on the page.\n *\n * Autogenerated as `ngb-nav-XXX` if not provided.\n */\n @Input() domId: string;\n\n /**\n * The id used as a model for active nav.\n * It can be anything, but must be unique inside one `ngbNav`.\n *\n * The only limitation is that it is not possible to have the `''` (empty string) as id,\n * because ` ngbNavItem `, `ngbNavItem=''` and `[ngbNavItem]=\"''\"` are indistinguishable\n */\n @Input('ngbNavItem') _id: any;\n\n /**\n * An event emitted when the fade in transition is finished on the related nav content\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the fade out transition is finished on the related nav content\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n contentTpl: NgbNavContent | null;\n\n @ContentChildren(NgbNavContent, {descendants: false}) contentTpls: QueryList;\n\n constructor(@Inject(forwardRef(() => NgbNav)) nav, public elementRef: ElementRef) {\n // TODO: cf https://github.com/angular/angular/issues/30106\n this._nav = nav;\n }\n\n ngAfterContentChecked() {\n // We are using @ContentChildren instead of @ContentChild as in the Angular version being used\n // only @ContentChildren allows us to specify the {descendants: false} option.\n // Without {descendants: false} we are hitting bugs described in:\n // https://github.com/ng-bootstrap/ng-bootstrap/issues/2240\n this.contentTpl = this.contentTpls.first;\n }\n\n ngOnInit() {\n if (!isDefined(this.domId)) {\n this.domId = `ngb-nav-${navCounter++}`;\n }\n }\n\n get active() { return this._nav.activeId === this.id; }\n\n get id() { return isValidNavId(this._id) ? this._id : this.domId; }\n\n get panelDomId() { return `${this.domId}-panel`; }\n\n isPanelInDom() {\n return (isDefined(this.destroyOnHide) ? !this.destroyOnHide : !this._nav.destroyOnHide) || this.active;\n }\n}\n\n\n/**\n * A nav directive that helps with implementing tabbed navigation components.\n *\n * @since 5.2.0\n */\n@Directive({\n selector: '[ngbNav]',\n exportAs: 'ngbNav',\n host: {\n '[class.nav]': 'true',\n '[class.flex-column]': `orientation === 'vertical'`,\n '[attr.aria-orientation]': `orientation === 'vertical' && roles === 'tablist' ? 'vertical' : undefined`,\n '[attr.role]': `role ? role : roles ? 'tablist' : undefined`,\n '(keydown.arrowLeft)': 'onKeyDown($event)',\n '(keydown.arrowRight)': 'onKeyDown($event)',\n '(keydown.arrowDown)': 'onKeyDown($event)',\n '(keydown.arrowUp)': 'onKeyDown($event)',\n '(keydown.Home)': 'onKeyDown($event)',\n '(keydown.End)': 'onKeyDown($event)'\n }\n})\nexport class NgbNav implements AfterContentInit,\n OnDestroy {\n static ngAcceptInputType_orientation: string;\n static ngAcceptInputType_roles: boolean | string;\n\n /**\n * The id of the nav that should be active\n *\n * You could also use the `.select()` method and the `(navChange)` event\n */\n @Input() activeId: any;\n\n /**\n * The event emitted after the active nav changes\n * The payload of the event is the newly active nav id\n *\n * If you want to prevent nav change, you should use `(navChange)` event\n */\n @Output() activeIdChange = new EventEmitter();\n\n /**\n * If `true`, nav change will be animated.\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * If `true`, non-active nav content will be removed from DOM\n * Otherwise it will just be hidden\n */\n @Input() destroyOnHide;\n\n /**\n * The orientation of navs.\n *\n * Using `vertical` will also add the `aria-orientation` attribute\n */\n @Input() orientation: 'horizontal' | 'vertical';\n\n /**\n * Role attribute generating strategy:\n * - `false` - no role attributes will be generated\n * - `'tablist'` - 'tablist', 'tab' and 'tabpanel' will be generated (default)\n */\n @Input() roles: 'tablist' | false;\n\n /**\n * Keyboard support for nav focus/selection using arrow keys.\n *\n * * `false` - no keyboard support.\n * * `true` - navs will be focused using keyboard arrow keys\n * * `'changeWithArrows'` - nav will be selected using keyboard arrow keys\n *\n * See the [list of available keyboard shortcuts](#/components/nav/overview#keyboard-shortcuts).\n *\n * @since 6.1.0\n */\n @Input() keyboard: boolean | 'changeWithArrows';\n\n /**\n * An event emitted when the fade in transition is finished for one of the items.\n *\n * Payload of the event is the nav id that was just shown.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the fade out transition is finished for one of the items.\n *\n * Payload of the event is the nav id that was just hidden.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n @ContentChildren(NgbNavItem) items: QueryList;\n @ContentChildren(forwardRef(() => NgbNavLink), {descendants: true}) links: QueryList;\n\n destroy$ = new Subject();\n navItemChange$ = new Subject();\n\n constructor(\n @Attribute('role') public role: string, config: NgbNavConfig, private _cd: ChangeDetectorRef,\n @Inject(DOCUMENT) private _document: any) {\n this.animation = config.animation;\n this.destroyOnHide = config.destroyOnHide;\n this.orientation = config.orientation;\n this.roles = config.roles;\n this.keyboard = config.keyboard;\n }\n\n /**\n * The nav change event emitted right before the nav change happens on user click.\n *\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\n *\n * See [`NgbNavChangeEvent`](#/components/nav/api#NgbNavChangeEvent) for payload details.\n */\n @Output() navChange = new EventEmitter();\n\n click(item: NgbNavItem) {\n if (!item.disabled) {\n this._updateActiveId(item.id);\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.roles !== 'tablist' || !this.keyboard) {\n return;\n }\n // tslint:disable-next-line: deprecation\n const key = event.which;\n const enabledLinks = this.links.filter(link => !link.navItem.disabled);\n const {length} = enabledLinks;\n\n let position = -1;\n\n enabledLinks.forEach((link, index) => {\n if (link.elRef.nativeElement === this._document.activeElement) {\n position = index;\n }\n });\n\n if (length) {\n switch (key) {\n case Key.ArrowLeft:\n if (this.orientation === 'vertical') {\n return;\n }\n position = (position - 1 + length) % length;\n break;\n case Key.ArrowRight:\n if (this.orientation === 'vertical') {\n return;\n }\n position = (position + 1) % length;\n break;\n case Key.ArrowDown:\n if (this.orientation === 'horizontal') {\n return;\n }\n position = (position + 1) % length;\n break;\n case Key.ArrowUp:\n if (this.orientation === 'horizontal') {\n return;\n }\n position = (position - 1 + length) % length;\n break;\n case Key.Home:\n position = 0;\n break;\n case Key.End:\n position = length - 1;\n break;\n }\n if (this.keyboard === 'changeWithArrows') {\n this.select(enabledLinks[position].navItem.id);\n }\n enabledLinks[position].elRef.nativeElement.focus();\n\n event.preventDefault();\n }\n }\n\n /**\n * Selects the nav with the given id and shows its associated pane.\n * Any other nav that was previously selected becomes unselected and its associated pane is hidden.\n */\n select(id: any) { this._updateActiveId(id, false); }\n\n ngAfterContentInit() {\n if (!isDefined(this.activeId)) {\n const nextId = this.items.first ? this.items.first.id : null;\n if (isValidNavId(nextId)) {\n this._updateActiveId(nextId, false);\n this._cd.detectChanges();\n }\n }\n\n this.items.changes.pipe(takeUntil(this.destroy$)).subscribe(() => this._notifyItemChanged(this.activeId));\n }\n\n ngOnChanges({activeId}: SimpleChanges): void {\n if (activeId && !activeId.firstChange) {\n this._notifyItemChanged(activeId.currentValue);\n }\n }\n\n ngOnDestroy() { this.destroy$.next(); }\n\n private _updateActiveId(nextId: any, emitNavChange = true) {\n if (this.activeId !== nextId) {\n let defaultPrevented = false;\n\n if (emitNavChange) {\n this.navChange.emit({activeId: this.activeId, nextId, preventDefault: () => { defaultPrevented = true; }});\n }\n\n if (!defaultPrevented) {\n this.activeId = nextId;\n this.activeIdChange.emit(nextId);\n this._notifyItemChanged(nextId);\n }\n }\n }\n\n private _notifyItemChanged(nextItemId: any) { this.navItemChange$.next(this._getItemById(nextItemId)); }\n\n private _getItemById(itemId: any): NgbNavItem | null {\n return this.items && this.items.find(item => item.id === itemId) || null;\n }\n}\n\n\n/**\n * A directive to put on the nav link.\n *\n * @since 5.2.0\n */\n@Directive({\n selector: 'a[ngbNavLink]',\n host: {\n '[id]': 'navItem.domId',\n '[class.nav-link]': 'true',\n '[class.nav-item]': 'hasNavItemClass()',\n '[attr.role]': `role ? role : nav.roles ? 'tab' : undefined`,\n 'href': '',\n '[class.active]': 'navItem.active',\n '[class.disabled]': 'navItem.disabled',\n '[attr.tabindex]': 'navItem.disabled ? -1 : undefined',\n '[attr.aria-controls]': 'navItem.isPanelInDom() ? navItem.panelDomId : null',\n '[attr.aria-selected]': 'navItem.active',\n '[attr.aria-disabled]': 'navItem.disabled',\n '(click)': 'nav.click(navItem); $event.preventDefault()'\n }\n})\nexport class NgbNavLink {\n constructor(\n @Attribute('role') public role: string, public navItem: NgbNavItem, public nav: NgbNav,\n public elRef: ElementRef) {}\n\n hasNavItemClass() {\n // with alternative markup we have to add `.nav-item` class, because `ngbNavItem` is on the ng-container\n return this.navItem.elementRef.nativeElement.nodeType === Node.COMMENT_NODE;\n }\n}\n\n\n/**\n * The payload of the change event emitted right before the nav change happens on user click.\n *\n * This event won't be emitted if nav is changed programmatically via `[activeId]` or `.select()`.\n *\n * @since 5.2.0\n */\nexport interface NgbNavChangeEvent {\n /**\n * Id of the currently active nav.\n */\n activeId: T;\n\n /**\n * Id of the newly selected nav.\n */\n nextId: T;\n\n /**\n * Function that will prevent nav change if called.\n */\n preventDefault: () => void;\n}\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\nimport {reflow} from '../util/util';\n\nexport const ngbNavFadeOutTransition: NgbTransitionStartFn = ({classList}) => {\n classList.remove('show');\n return () => classList.remove('active');\n};\n\nexport const ngbNavFadeInTransition: NgbTransitionStartFn = (element: HTMLElement, animation: boolean) => {\n if (animation) {\n reflow(element);\n }\n element.classList.add('show');\n};\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n Input,\n NgZone,\n QueryList,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport {distinctUntilChanged, skip, startWith, takeUntil} from 'rxjs/operators';\n\nimport {ngbNavFadeInTransition, ngbNavFadeOutTransition} from './nav-transition';\nimport {ngbRunTransition, NgbTransitionOptions} from '../util/transition/ngbTransition';\nimport {NgbNav, NgbNavItem} from './nav';\n\n@Directive({\n selector: '[ngbNavPane]',\n host: {\n '[id]': 'item.panelDomId',\n 'class': 'tab-pane',\n '[class.fade]': 'nav.animation',\n '[attr.role]': 'role ? role : nav.roles ? \"tabpanel\" : undefined',\n '[attr.aria-labelledby]': 'item.domId'\n }\n})\nexport class NgbNavPane {\n @Input() item: NgbNavItem;\n @Input() nav: NgbNav;\n @Input() role: string;\n\n constructor(public elRef: ElementRef) {}\n}\n\n/**\n * The outlet where currently active nav content will be displayed.\n *\n * @since 5.2.0\n */\n@Component({\n selector: '[ngbNavOutlet]',\n host: {'[class.tab-content]': 'true'},\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n \n
\n \n
\n
\n `\n})\nexport class NgbNavOutlet implements AfterViewInit {\n private _activePane: NgbNavPane | null = null;\n\n @ViewChildren(NgbNavPane) private _panes: QueryList;\n\n /**\n * A role to set on the nav pane\n */\n @Input() paneRole;\n\n /**\n * Reference to the `NgbNav`\n */\n @Input('ngbNavOutlet') nav: NgbNav;\n\n constructor(private _cd: ChangeDetectorRef, private _ngZone: NgZone) {}\n\n isPanelTransitioning(item: NgbNavItem) { return this._activePane ?.item === item; }\n\n ngAfterViewInit() {\n // initial display\n this._updateActivePane();\n\n // this will be emitted for all 3 types of nav changes: .select(), [activeId] or (click)\n this.nav.navItemChange$\n .pipe(takeUntil(this.nav.destroy$), startWith(this._activePane ?.item || null), distinctUntilChanged(), skip(1))\n .subscribe(nextItem => {\n const options: NgbTransitionOptions = {animation: this.nav.animation, runningTransition: 'stop'};\n\n // next panel we're switching to will only appear in DOM after the change detection is done\n // and `this._panes` will be updated\n this._cd.detectChanges();\n\n // fading out\n if (this._activePane) {\n ngbRunTransition(this._ngZone, this._activePane.elRef.nativeElement, ngbNavFadeOutTransition, options)\n .subscribe(() => {\n const activeItem = this._activePane ?.item;\n this._activePane = this._getPaneForItem(nextItem);\n\n // mark for check when transition finishes as outlet or parent containers might be OnPush\n // without this the panes that have \"faded out\" will stay in DOM\n this._cd.markForCheck();\n\n // fading in\n if (this._activePane) {\n // we have to add the '.active' class before running the transition,\n // because it should be in place before `ngbRunTransition` does `reflow()`\n this._activePane.elRef.nativeElement.classList.add('active');\n ngbRunTransition(this._ngZone, this._activePane.elRef.nativeElement, ngbNavFadeInTransition, options)\n .subscribe(() => {\n if (nextItem) {\n nextItem.shown.emit();\n this.nav.shown.emit(nextItem.id);\n }\n });\n }\n\n if (activeItem) {\n activeItem.hidden.emit();\n this.nav.hidden.emit(activeItem.id);\n }\n });\n } else {\n this._updateActivePane();\n }\n });\n }\n\n private _updateActivePane() {\n this._activePane = this._getActivePane();\n this._activePane ?.elRef.nativeElement.classList.add('show');\n this._activePane ?.elRef.nativeElement.classList.add('active');\n }\n\n private _getPaneForItem(item: NgbNavItem | null) {\n return this._panes && this._panes.find(pane => pane.item === item) || null;\n }\n\n private _getActivePane(): NgbNavPane | null {\n return this._panes && this._panes.find(pane => pane.item.active) || null;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbNav, NgbNavContent, NgbNavItem, NgbNavLink} from './nav';\nimport {NgbNavOutlet, NgbNavPane} from './nav-outlet';\n\nexport {NgbNav, NgbNavContent, NgbNavContentContext, NgbNavItem, NgbNavLink, NgbNavChangeEvent} from './nav';\nexport {NgbNavOutlet, NgbNavPane} from './nav-outlet';\nexport {NgbNavConfig} from './nav-config';\n\nconst NGB_NAV_DIRECTIVES = [NgbNavContent, NgbNav, NgbNavItem, NgbNavLink, NgbNavOutlet, NgbNavPane];\n\n@NgModule({declarations: NGB_NAV_DIRECTIVES, exports: NGB_NAV_DIRECTIVES, imports: [CommonModule]})\nexport class NgbNavModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbPagination`](#/components/pagination/api#NgbPagination) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the paginations used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbPaginationConfig {\n disabled = false;\n boundaryLinks = false;\n directionLinks = true;\n ellipses = true;\n maxSize = 0;\n pageSize = 10;\n rotate = false;\n size: 'sm' | 'lg';\n}\n","import {\n Component,\n ContentChild,\n Directive,\n EventEmitter,\n Input,\n Output,\n OnChanges,\n ChangeDetectionStrategy,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport {getValueInRange, isNumber} from '../util/util';\nimport {NgbPaginationConfig} from './pagination-config';\n\n/**\n * A context for the\n * * `NgbPaginationFirst`\n * * `NgbPaginationPrevious`\n * * `NgbPaginationNext`\n * * `NgbPaginationLast`\n * * `NgbPaginationEllipsis`\n *\n * link templates in case you want to override one.\n *\n * @since 4.1.0\n */\nexport interface NgbPaginationLinkContext {\n /**\n * The currently selected page number\n */\n currentPage: number;\n\n /**\n * If `true`, the current link is disabled\n */\n disabled: boolean;\n}\n\n/**\n * A context for the `NgbPaginationNumber` link template in case you want to override one.\n *\n * Extends `NgbPaginationLinkContext`.\n *\n * @since 4.1.0\n */\nexport interface NgbPaginationNumberContext extends NgbPaginationLinkContext {\n /**\n * The page number, displayed by the current page link.\n */\n $implicit: number;\n}\n\n/**\n * A directive to match the 'ellipsis' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationEllipsis]'})\nexport class NgbPaginationEllipsis {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'first' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationFirst]'})\nexport class NgbPaginationFirst {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'last' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationLast]'})\nexport class NgbPaginationLast {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'next' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationNext]'})\nexport class NgbPaginationNext {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the page 'number' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationNumber]'})\nexport class NgbPaginationNumber {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A directive to match the 'previous' link template\n *\n * @since 4.1.0\n */\n@Directive({selector: 'ng-template[ngbPaginationPrevious]'})\nexport class NgbPaginationPrevious {\n constructor(public templateRef: TemplateRef) {}\n}\n\n/**\n * A component that displays page numbers and allows to customize them in several ways.\n */\n@Component({\n selector: 'ngb-pagination',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'role': 'navigation'},\n template: `\n ««\n «\n »\n »»\n ...\n \n {{ page }}\n (current)\n \n \n `\n})\nexport class NgbPagination implements OnChanges {\n pageCount = 0;\n pages: number[] = [];\n\n @ContentChild(NgbPaginationEllipsis, {static: false}) tplEllipsis: NgbPaginationEllipsis;\n @ContentChild(NgbPaginationFirst, {static: false}) tplFirst: NgbPaginationFirst;\n @ContentChild(NgbPaginationLast, {static: false}) tplLast: NgbPaginationLast;\n @ContentChild(NgbPaginationNext, {static: false}) tplNext: NgbPaginationNext;\n @ContentChild(NgbPaginationNumber, {static: false}) tplNumber: NgbPaginationNumber;\n @ContentChild(NgbPaginationPrevious, {static: false}) tplPrevious: NgbPaginationPrevious;\n\n /**\n * If `true`, pagination links will be disabled.\n */\n @Input() disabled: boolean;\n\n /**\n * If `true`, the \"First\" and \"Last\" page links are shown.\n */\n @Input() boundaryLinks: boolean;\n\n /**\n * If `true`, the \"Next\" and \"Previous\" page links are shown.\n */\n @Input() directionLinks: boolean;\n\n /**\n * If `true`, the ellipsis symbols and first/last page numbers will be shown when `maxSize` > number of pages.\n */\n @Input() ellipses: boolean;\n\n /**\n * Whether to rotate pages when `maxSize` > number of pages.\n *\n * The current page always stays in the middle if `true`.\n */\n @Input() rotate: boolean;\n\n /**\n * The number of items in your paginated collection.\n *\n * Note, that this is not the number of pages. Page numbers are calculated dynamically based on\n * `collectionSize` and `pageSize`. Ex. if you have 100 items in your collection and displaying 20 items per page,\n * you'll end up with 5 pages.\n */\n @Input() collectionSize: number;\n\n /**\n * The maximum number of pages to display.\n */\n @Input() maxSize: number;\n\n /**\n * The current page.\n *\n * Page numbers start with `1`.\n */\n @Input() page = 1;\n\n /**\n * The number of items per page.\n */\n @Input() pageSize: number;\n\n /**\n * An event fired when the page is changed. Will fire only if collection size is set and all values are valid.\n *\n * Event payload is the number of the newly selected page.\n *\n * Page numbers start with `1`.\n */\n @Output() pageChange = new EventEmitter(true);\n\n /**\n * The pagination display size.\n *\n * Bootstrap currently supports small and large sizes.\n */\n @Input() size: 'sm' | 'lg';\n\n constructor(config: NgbPaginationConfig) {\n this.disabled = config.disabled;\n this.boundaryLinks = config.boundaryLinks;\n this.directionLinks = config.directionLinks;\n this.ellipses = config.ellipses;\n this.maxSize = config.maxSize;\n this.pageSize = config.pageSize;\n this.rotate = config.rotate;\n this.size = config.size;\n }\n\n hasPrevious(): boolean { return this.page > 1; }\n\n hasNext(): boolean { return this.page < this.pageCount; }\n\n nextDisabled(): boolean { return !this.hasNext() || this.disabled; }\n\n previousDisabled(): boolean { return !this.hasPrevious() || this.disabled; }\n\n selectPage(pageNumber: number): void { this._updatePages(pageNumber); }\n\n ngOnChanges(changes: SimpleChanges): void { this._updatePages(this.page); }\n\n isEllipsis(pageNumber): boolean { return pageNumber === -1; }\n\n /**\n * Appends ellipses and first/last page number to the displayed pages\n */\n private _applyEllipses(start: number, end: number) {\n if (this.ellipses) {\n if (start > 0) {\n // The first page will always be included. If the displayed range\n // starts after the third page, then add ellipsis. But if the range\n // starts on the third page, then add the second page instead of\n // an ellipsis, because the ellipsis would only hide a single page.\n if (start > 2) {\n this.pages.unshift(-1);\n } else if (start === 2) {\n this.pages.unshift(2);\n }\n this.pages.unshift(1);\n }\n if (end < this.pageCount) {\n // The last page will always be included. If the displayed range\n // ends before the third-last page, then add ellipsis. But if the range\n // ends on third-last page, then add the second-last page instead of\n // an ellipsis, because the ellipsis would only hide a single page.\n if (end < (this.pageCount - 2)) {\n this.pages.push(-1);\n } else if (end === (this.pageCount - 2)) {\n this.pages.push(this.pageCount - 1);\n }\n this.pages.push(this.pageCount);\n }\n }\n }\n\n /**\n * Rotates page numbers based on maxSize items visible.\n * Currently selected page stays in the middle:\n *\n * Ex. for selected page = 6:\n * [5,*6*,7] for maxSize = 3\n * [4,5,*6*,7] for maxSize = 4\n */\n private _applyRotation(): [number, number] {\n let start = 0;\n let end = this.pageCount;\n let leftOffset = Math.floor(this.maxSize / 2);\n let rightOffset = this.maxSize % 2 === 0 ? leftOffset - 1 : leftOffset;\n\n if (this.page <= leftOffset) {\n // very beginning, no rotation -> [0..maxSize]\n end = this.maxSize;\n } else if (this.pageCount - this.page < leftOffset) {\n // very end, no rotation -> [len-maxSize..len]\n start = this.pageCount - this.maxSize;\n } else {\n // rotate\n start = this.page - leftOffset - 1;\n end = this.page + rightOffset;\n }\n\n return [start, end];\n }\n\n /**\n * Paginates page numbers based on maxSize items per page.\n */\n private _applyPagination(): [number, number] {\n let page = Math.ceil(this.page / this.maxSize) - 1;\n let start = page * this.maxSize;\n let end = start + this.maxSize;\n\n return [start, end];\n }\n\n private _setPageInRange(newPageNo) {\n const prevPageNo = this.page;\n this.page = getValueInRange(newPageNo, this.pageCount, 1);\n\n if (this.page !== prevPageNo && isNumber(this.collectionSize)) {\n this.pageChange.emit(this.page);\n }\n }\n\n private _updatePages(newPage: number) {\n this.pageCount = Math.ceil(this.collectionSize / this.pageSize);\n\n if (!isNumber(this.pageCount)) {\n this.pageCount = 0;\n }\n\n // fill-in model needed to render pages\n this.pages.length = 0;\n for (let i = 1; i <= this.pageCount; i++) {\n this.pages.push(i);\n }\n\n // set page within 1..max range\n this._setPageInRange(newPage);\n\n // apply maxSize if necessary\n if (this.maxSize > 0 && this.pageCount > this.maxSize) {\n let start = 0;\n let end = this.pageCount;\n\n // either paginating or rotating page numbers\n if (this.rotate) {\n [start, end] = this._applyRotation();\n } else {\n [start, end] = this._applyPagination();\n }\n\n this.pages = this.pages.slice(start, end);\n\n // adding ellipses\n this._applyEllipses(start, end);\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {\n NgbPagination,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination';\n\nexport {\n NgbPagination,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination';\nexport {NgbPaginationConfig} from './pagination-config';\n\nconst DIRECTIVES = [\n NgbPagination, NgbPaginationEllipsis, NgbPaginationFirst, NgbPaginationLast, NgbPaginationNext, NgbPaginationNumber,\n NgbPaginationPrevious\n];\n\n@NgModule({declarations: DIRECTIVES, exports: DIRECTIVES, imports: [CommonModule]})\nexport class NgbPaginationModule {\n}\n","import {Observable, merge} from 'rxjs';\nimport {share, filter, delay, map} from 'rxjs/operators';\nimport {Renderer2} from '@angular/core';\n\nexport class Trigger {\n constructor(public open: string, public close?: string) {\n if (!close) {\n this.close = open;\n }\n }\n\n isManual() { return this.open === 'manual' || this.close === 'manual'; }\n}\n\nconst DEFAULT_ALIASES = {\n 'hover': ['mouseenter', 'mouseleave'],\n 'focus': ['focusin', 'focusout'],\n};\n\nexport function parseTriggers(triggers: string, aliases = DEFAULT_ALIASES): Trigger[] {\n const trimmedTriggers = (triggers || '').trim();\n\n if (trimmedTriggers.length === 0) {\n return [];\n }\n\n const parsedTriggers = trimmedTriggers.split(/\\s+/).map(trigger => trigger.split(':')).map((triggerPair) => {\n let alias = aliases[triggerPair[0]] || triggerPair;\n return new Trigger(alias[0], alias[1]);\n });\n\n const manualTriggers = parsedTriggers.filter(triggerPair => triggerPair.isManual());\n\n if (manualTriggers.length > 1) {\n throw 'Triggers parse error: only one manual trigger is allowed';\n }\n\n if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\n throw 'Triggers parse error: manual trigger can\\'t be mixed with other triggers';\n }\n\n return parsedTriggers;\n}\n\nexport function observeTriggers(\n renderer: Renderer2, nativeElement: HTMLElement, triggers: Trigger[], isOpenedFn: () => boolean) {\n return new Observable(subscriber => {\n const listeners: Function[] = [];\n const openFn = () => subscriber.next(true);\n const closeFn = () => subscriber.next(false);\n const toggleFn = () => subscriber.next(!isOpenedFn());\n\n triggers.forEach((trigger: Trigger) => {\n if (trigger.open === trigger.close) {\n listeners.push(renderer.listen(nativeElement, trigger.open, toggleFn));\n } else {\n listeners.push(\n renderer.listen(nativeElement, trigger.open, openFn),\n renderer.listen(nativeElement, trigger.close !, closeFn));\n }\n });\n\n return () => { listeners.forEach(unsubscribeFn => unsubscribeFn()); };\n });\n}\n\nconst delayOrNoop = (time: number) => time > 0 ? delay(time) : (a: Observable) => a;\n\nexport function triggerDelay(openDelay: number, closeDelay: number, isOpenedFn: () => boolean) {\n return (input$: Observable) => {\n let pending: {open: boolean} | null = null;\n const filteredInput$ = input$.pipe(\n map(open => ({open})), filter(event => {\n const currentlyOpen = isOpenedFn();\n if (currentlyOpen !== event.open && (!pending || pending.open === currentlyOpen)) {\n pending = event;\n return true;\n }\n if (pending && pending.open !== event.open) {\n pending = null;\n }\n return false;\n }),\n share());\n const delayedOpen$ = filteredInput$.pipe(filter(event => event.open), delayOrNoop(openDelay));\n const delayedClose$ = filteredInput$.pipe(filter(event => !event.open), delayOrNoop(closeDelay));\n return merge(delayedOpen$, delayedClose$)\n .pipe(\n filter(event => {\n if (event === pending) {\n pending = null;\n return event.open !== isOpenedFn();\n }\n return false;\n }),\n map(event => event.open));\n };\n}\n\nexport function listenToTriggers(\n renderer: Renderer2, nativeElement: HTMLElement, triggers: string, isOpenedFn: () => boolean, openFn: Function,\n closeFn: Function, openDelay = 0, closeDelay = 0) {\n const parsedTriggers = parseTriggers(triggers);\n\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return () => {};\n }\n\n const subscription = observeTriggers(renderer, nativeElement, parsedTriggers, isOpenedFn)\n .pipe(triggerDelay(openDelay, closeDelay, isOpenedFn))\n .subscribe(open => (open ? openFn() : closeFn()));\n\n return () => subscription.unsubscribe();\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [`NgbPopover`](#/components/popover/api#NgbPopover) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the popovers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbPopoverConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n placement: PlacementArray = 'auto';\n triggers = 'click';\n container: string;\n disablePopover = false;\n popoverClass: string;\n openDelay = 0;\n closeDelay = 0;\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n OnChanges,\n Inject,\n Injector,\n Renderer2,\n ComponentRef,\n ElementRef,\n TemplateRef,\n ViewContainerRef,\n ComponentFactoryResolver,\n NgZone,\n SimpleChanges,\n ViewEncapsulation,\n ChangeDetectorRef,\n ApplicationRef\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {listenToTriggers} from '../util/triggers';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {positionElements, PlacementArray} from '../util/positioning';\nimport {PopupService} from '../util/popup';\n\nimport {NgbPopoverConfig} from './popover-config';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngb-popover-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '\"popover\" + (popoverClass ? \" \" + popoverClass : \"\")',\n '[class.fade]': 'animation',\n 'role': 'tooltip',\n '[id]': 'id'\n },\n template: `\n
\n

\n {{title}}\n \n

\n
`,\n styleUrls: ['./popover.scss']\n})\nexport class NgbPopoverWindow {\n @Input() animation: boolean;\n @Input() title: string | TemplateRef| null | undefined;\n @Input() id: string;\n @Input() popoverClass: string;\n @Input() context: any;\n\n isTitleTemplate() { return this.title instanceof TemplateRef; }\n}\n\n/**\n * A lightweight and extensible directive for fancy popover creation.\n */\n@Directive({selector: '[ngbPopover]', exportAs: 'ngbPopover'})\nexport class NgbPopover implements OnInit, OnDestroy, OnChanges {\n static ngAcceptInputType_autoClose: boolean | string;\n\n /**\n * If `true`, popover opening and closing will be animated.\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * Indicates whether the popover should be closed on `Escape` key and inside/outside clicks:\n *\n * * `true` - closes on both outside and inside clicks as well as `Escape` presses\n * * `false` - disables the autoClose feature (NB: triggers still apply)\n * * `\"inside\"` - closes on inside clicks as well as Escape presses\n * * `\"outside\"` - closes on outside clicks (sometimes also achievable through triggers)\n * as well as `Escape` presses\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The string content or a `TemplateRef` for the content to be displayed in the popover.\n *\n * If the title and the content are falsy, the popover won't open.\n */\n @Input() ngbPopover: string | TemplateRef| null | undefined;\n\n /**\n * The title of the popover.\n *\n * If the title and the content are falsy, the popover won't open.\n */\n @Input() popoverTitle: string | TemplateRef| null | undefined;\n\n /**\n * The preferred placement of the popover.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"auto\"` (same as the sequence above).\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * Specifies events that should trigger the tooltip.\n *\n * Supports a space separated list of event names.\n * For more details see the [triggers demo](#/components/popover/examples#triggers).\n */\n @Input() triggers: string;\n\n /**\n * A selector specifying the element the popover should be appended to.\n *\n * Currently only supports `body`.\n */\n @Input() container: string;\n\n /**\n * If `true`, popover is disabled and won't be displayed.\n *\n * @since 1.1.0\n */\n @Input() disablePopover: boolean;\n\n /**\n * An optional class applied to the popover window element.\n *\n * @since 2.2.0\n */\n @Input() popoverClass: string;\n\n /**\n * The opening delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() openDelay: number;\n\n /**\n * The closing delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() closeDelay: number;\n\n /**\n * An event emitted when the popover opening animation has finished. Contains no payload.\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the popover closing animation has finished. Contains no payload.\n *\n * At this point popover is not in the DOM anymore.\n */\n @Output() hidden = new EventEmitter();\n\n private _ngbPopoverWindowId = `ngb-popover-${nextId++}`;\n private _popupService: PopupService;\n private _windowRef: ComponentRef| null = null;\n private _unregisterListenersFn;\n private _zoneSubscription: any;\n private _isDisabled(): boolean {\n if (this.disablePopover) {\n return true;\n }\n if (!this.ngbPopover && !this.popoverTitle) {\n return true;\n }\n return false;\n }\n\n constructor(\n private _elementRef: ElementRef, private _renderer: Renderer2, injector: Injector,\n componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: NgbPopoverConfig,\n private _ngZone: NgZone, @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n applicationRef: ApplicationRef) {\n this.animation = config.animation;\n this.autoClose = config.autoClose;\n this.placement = config.placement;\n this.triggers = config.triggers;\n this.container = config.container;\n this.disablePopover = config.disablePopover;\n this.popoverClass = config.popoverClass;\n this.openDelay = config.openDelay;\n this.closeDelay = config.closeDelay;\n this._popupService = new PopupService(\n NgbPopoverWindow, injector, viewContainerRef, _renderer, this._ngZone, componentFactoryResolver,\n applicationRef);\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\n if (this._windowRef) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\n this.container === 'body', 'bs-popover');\n }\n });\n }\n\n /**\n * Opens the popover.\n *\n * This is considered to be a \"manual\" triggering.\n * The `context` is an optional value to be injected into the popover template when it is created.\n */\n open(context?: any) {\n if (!this._windowRef && !this._isDisabled()) {\n // this type assertion is safe because otherwise _isDisabled would return true\n const {windowRef, transition$} =\n this._popupService.open(this.ngbPopover as(string | TemplateRef), context, this.animation);\n this._windowRef = windowRef;\n this._windowRef.instance.animation = this.animation;\n this._windowRef.instance.title = this.popoverTitle;\n this._windowRef.instance.context = context;\n this._windowRef.instance.popoverClass = this.popoverClass;\n this._windowRef.instance.id = this._ngbPopoverWindowId;\n\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbPopoverWindowId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n // We need to detect changes, because we don't know where .open() might be called from.\n // Ex. opening popover from one of lifecycle hooks that run after the CD\n // (say from ngAfterViewInit) will result in 'ExpressionHasChanged' exception\n this._windowRef.changeDetectorRef.detectChanges();\n\n // We need to mark for check, because popover won't work inside the OnPush component.\n // Ex. when we use expression like `{{ popover.isOpen() : 'opened' : 'closed' }}`\n // inside the template of an OnPush component and we change the popover from\n // open -> closed, the expression in question won't be updated unless we explicitly\n // mark the parent component to be checked.\n this._windowRef.changeDetectorRef.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden,\n [this._windowRef.location.nativeElement]);\n\n transition$.subscribe(() => this.shown.emit());\n }\n }\n\n /**\n * Closes the popover.\n *\n * This is considered to be a \"manual\" triggering of the popover.\n */\n close() {\n if (this._windowRef) {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n this._popupService.close(this.animation).subscribe(() => {\n this._windowRef = null;\n this.hidden.emit();\n this._changeDetector.markForCheck();\n });\n }\n }\n\n /**\n * Toggles the popover.\n *\n * This is considered to be a \"manual\" triggering of the popover.\n */\n toggle(): void {\n if (this._windowRef) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Returns `true`, if the popover is currently shown.\n */\n isOpen(): boolean { return this._windowRef != null; }\n\n ngOnInit() {\n this._unregisterListenersFn = listenToTriggers(\n this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this),\n this.close.bind(this), +this.openDelay, +this.closeDelay);\n }\n\n ngOnChanges({ngbPopover, popoverTitle, disablePopover, popoverClass}: SimpleChanges) {\n if (popoverClass && this.isOpen()) {\n this._windowRef !.instance.popoverClass = popoverClass.currentValue;\n }\n // close popover if title and content become empty, or disablePopover set to true\n if ((ngbPopover || popoverTitle || disablePopover) && this._isDisabled()) {\n this.close();\n }\n }\n\n ngOnDestroy() {\n this.close();\n // This check is needed as it might happen that ngOnDestroy is called before ngOnInit\n // under certain conditions, see: https://github.com/ng-bootstrap/ng-bootstrap/issues/2199\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n this._zoneSubscription.unsubscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbPopover, NgbPopoverWindow} from './popover';\nimport {CommonModule} from '@angular/common';\n\nexport {NgbPopover} from './popover';\nexport {NgbPopoverConfig} from './popover-config';\nexport {Placement} from '../util/positioning';\n\n@NgModule({\n declarations: [NgbPopover, NgbPopoverWindow],\n exports: [NgbPopover],\n imports: [CommonModule],\n entryComponents: [NgbPopoverWindow]\n})\nexport class NgbPopoverModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbProgressbar`](#/components/progressbar/api#NgbProgressbar) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the progress bars used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbProgressbarConfig {\n max = 100;\n animated = false;\n striped = false;\n textType: string;\n type: string;\n showValue = false;\n height: string;\n}\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation, HostBinding} from '@angular/core';\nimport {getValueInRange, isNumber} from '../util/util';\nimport {NgbProgressbarConfig} from './progressbar-config';\n\n/**\n * A directive that provides feedback on the progress of a workflow or an action.\n */\n@Component({\n selector: 'ngb-progressbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {class: 'progress'},\n template: `\n
\n {{getValue() / max | percent}}\n
\n `\n})\nexport class NgbProgressbar {\n private _max: number;\n\n /**\n * The maximal value to be displayed in the progress bar.\n *\n * Should be a positive number. Will default to 100 otherwise.\n */\n @Input()\n set max(max: number) {\n this._max = !isNumber(max) || max <= 0 ? 100 : max;\n }\n\n get max(): number { return this._max; }\n\n /**\n * If `true`, the stripes on the progress bar are animated.\n *\n * Takes effect only for browsers supporting CSS3 animations, and if `striped` is `true`.\n */\n @Input() animated: boolean;\n\n /**\n * If `true`, the progress bars will be displayed as striped.\n */\n @Input() striped: boolean;\n\n /**\n * If `true`, the current percentage will be shown in the `xx%` format.\n */\n @Input() showValue: boolean;\n\n /**\n * Optional text variant type of the progress bar.\n *\n * Supports types based on Bootstrap background color variants, like:\n * `\"success\"`, `\"info\"`, `\"warning\"`, `\"danger\"`, `\"primary\"`, `\"secondary\"`, `\"dark\"` and so on.\n *\n * @since 5.2.0\n */\n @Input() textType: string;\n\n /**\n * The type of the progress bar.\n *\n * Supports types based on Bootstrap background color variants, like:\n * `\"success\"`, `\"info\"`, `\"warning\"`, `\"danger\"`, `\"primary\"`, `\"secondary\"`, `\"dark\"` and so on.\n */\n @Input() type: string;\n\n /**\n * The current value for the progress bar.\n *\n * Should be in the `[0, max]` range.\n */\n @Input() value = 0;\n\n /**\n * The height of the progress bar.\n *\n * Accepts any valid CSS height values, ex. `\"2rem\"`\n */\n @Input() @HostBinding('style.height') height: string;\n\n constructor(config: NgbProgressbarConfig) {\n this.max = config.max;\n this.animated = config.animated;\n this.striped = config.striped;\n this.textType = config.textType;\n this.type = config.type;\n this.showValue = config.showValue;\n this.height = config.height;\n }\n\n getValue() { return getValueInRange(this.value, this.max); }\n\n getPercentValue() { return 100 * this.getValue() / this.max; }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbProgressbar} from './progressbar';\n\nexport {NgbProgressbar} from './progressbar';\nexport {NgbProgressbarConfig} from './progressbar-config';\n\n@NgModule({declarations: [NgbProgressbar], exports: [NgbProgressbar], imports: [CommonModule]})\nexport class NgbProgressbarModule {\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbRating`](#/components/rating/api#NgbRating) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the ratings used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbRatingConfig {\n max = 10;\n readonly = false;\n resettable = false;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {NgbRatingConfig} from './rating-config';\nimport {getValueInRange} from '../util/util';\nimport {Key} from '../util/key';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\n/**\n * The context for the custom star display template defined in the `starTemplate`.\n */\nexport interface StarTemplateContext {\n /**\n * The star fill percentage, an integer in the `[0, 100]` range.\n */\n fill: number;\n\n /**\n * Index of the star, starts with `0`.\n */\n index: number;\n}\n\n/**\n * A directive that helps visualising and interacting with a star rating bar.\n */\n@Component({\n selector: 'ngb-rating',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'd-inline-flex',\n '[tabindex]': 'disabled ? -1 : 0',\n 'role': 'slider',\n 'aria-valuemin': '0',\n '[attr.aria-valuemax]': 'max',\n '[attr.aria-valuenow]': 'nextRate',\n '[attr.aria-valuetext]': 'ariaValueText()',\n '[attr.aria-disabled]': 'readonly ? true : null',\n '(blur)': 'handleBlur()',\n '(keydown)': 'handleKeyDown($event)',\n '(mouseleave)': 'reset()'\n },\n template: `\n {{ fill === 100 ? '★' : '☆' }}\n \n ({{ index < nextRate ? '*' : ' ' }})\n \n \n \n \n \n `,\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbRating), multi: true}]\n})\nexport class NgbRating implements ControlValueAccessor,\n OnInit, OnChanges {\n contexts: StarTemplateContext[] = [];\n disabled = false;\n nextRate: number;\n\n\n /**\n * The maximal rating that can be given.\n */\n @Input() max: number;\n\n /**\n * The current rating. Could be a decimal value like `3.75`.\n */\n @Input() rate: number;\n\n /**\n * If `true`, the rating can't be changed.\n */\n @Input() readonly: boolean;\n\n /**\n * If `true`, the rating can be reset to `0` by mouse clicking currently set rating.\n */\n @Input() resettable: boolean;\n\n /**\n * The template to override the way each star is displayed.\n *\n * Alternatively put an `` as the only child of your `` element\n */\n @Input() starTemplate: TemplateRef;\n @ContentChild(TemplateRef, {static: false}) starTemplateFromContent: TemplateRef;\n\n /**\n * An event emitted when the user is hovering over a given rating.\n *\n * Event payload equals to the rating being hovered over.\n */\n @Output() hover = new EventEmitter();\n\n /**\n * An event emitted when the user stops hovering over a given rating.\n *\n * Event payload equals to the rating of the last item being hovered over.\n */\n @Output() leave = new EventEmitter();\n\n /**\n * An event emitted when the user selects a new rating.\n *\n * Event payload equals to the newly selected rating.\n */\n @Output() rateChange = new EventEmitter(true);\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n constructor(config: NgbRatingConfig, private _changeDetectorRef: ChangeDetectorRef) {\n this.max = config.max;\n this.readonly = config.readonly;\n }\n\n ariaValueText() { return `${this.nextRate} out of ${this.max}`; }\n\n isInteractive(): boolean { return !this.readonly && !this.disabled; }\n\n enter(value: number): void {\n if (this.isInteractive()) {\n this._updateState(value);\n }\n this.hover.emit(value);\n }\n\n handleBlur() { this.onTouched(); }\n\n handleClick(value: number) {\n if (this.isInteractive()) {\n this.update(this.resettable && this.rate === value ? 0 : value);\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.ArrowDown:\n case Key.ArrowLeft:\n this.update(this.rate - 1);\n break;\n case Key.ArrowUp:\n case Key.ArrowRight:\n this.update(this.rate + 1);\n break;\n case Key.Home:\n this.update(0);\n break;\n case Key.End:\n this.update(this.max);\n break;\n default:\n return;\n }\n\n // note 'return' in default case\n event.preventDefault();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['rate']) {\n this.update(this.rate);\n }\n }\n\n ngOnInit(): void {\n this.contexts = Array.from({length: this.max}, (v, k) => ({fill: 0, index: k}));\n this._updateState(this.rate);\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n reset(): void {\n this.leave.emit(this.nextRate);\n this._updateState(this.rate);\n }\n\n setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; }\n\n update(value: number, internalChange = true): void {\n const newRate = getValueInRange(value, this.max, 0);\n if (this.isInteractive() && this.rate !== newRate) {\n this.rate = newRate;\n this.rateChange.emit(this.rate);\n }\n if (internalChange) {\n this.onChange(this.rate);\n this.onTouched();\n }\n this._updateState(this.rate);\n }\n\n writeValue(value) {\n this.update(value, false);\n this._changeDetectorRef.markForCheck();\n }\n\n private _updateState(nextValue: number) {\n this.nextRate = nextValue;\n this.contexts.forEach(\n (context, index) => context.fill = Math.round(getValueInRange(nextValue - index, 1, 0) * 100));\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbRating} from './rating';\n\nexport {NgbRating} from './rating';\nexport {NgbRatingConfig} from './rating-config';\n\n@NgModule({declarations: [NgbRating], exports: [NgbRating], imports: [CommonModule]})\nexport class NgbRatingModule {\n}\n","import {isNumber, toInteger} from '../util/util';\n\nexport class NgbTime {\n hour: number;\n minute: number;\n second: number;\n\n constructor(hour?: number, minute?: number, second?: number) {\n this.hour = toInteger(hour);\n this.minute = toInteger(minute);\n this.second = toInteger(second);\n }\n\n changeHour(step = 1) { this.updateHour((isNaN(this.hour) ? 0 : this.hour) + step); }\n\n updateHour(hour: number) {\n if (isNumber(hour)) {\n this.hour = (hour < 0 ? 24 + hour : hour) % 24;\n } else {\n this.hour = NaN;\n }\n }\n\n changeMinute(step = 1) { this.updateMinute((isNaN(this.minute) ? 0 : this.minute) + step); }\n\n updateMinute(minute: number) {\n if (isNumber(minute)) {\n this.minute = minute % 60 < 0 ? 60 + minute % 60 : minute % 60;\n this.changeHour(Math.floor(minute / 60));\n } else {\n this.minute = NaN;\n }\n }\n\n changeSecond(step = 1) { this.updateSecond((isNaN(this.second) ? 0 : this.second) + step); }\n\n updateSecond(second: number) {\n if (isNumber(second)) {\n this.second = second < 0 ? 60 + second % 60 : second % 60;\n this.changeMinute(Math.floor(second / 60));\n } else {\n this.second = NaN;\n }\n }\n\n isValid(checkSecs = true) {\n return isNumber(this.hour) && isNumber(this.minute) && (checkSecs ? isNumber(this.second) : true);\n }\n\n toString() { return `${this.hour || 0}:${this.minute || 0}:${this.second || 0}`; }\n}\n","import {Injectable} from '@angular/core';\n\n/**\n * A configuration service for the [`NgbTimepicker`](#/components/timepicker/api#NgbTimepicker) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the timepickers used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTimepickerConfig {\n meridian = false;\n spinners = true;\n seconds = false;\n hourStep = 1;\n minuteStep = 1;\n secondStep = 1;\n disabled = false;\n readonlyInputs = false;\n size: 'small' | 'medium' | 'large' = 'medium';\n}\n","import {Injectable} from '@angular/core';\nimport {NgbTimeStruct} from './ngb-time-struct';\nimport {isInteger} from '../util/util';\n\nexport function NGB_DATEPICKER_TIME_ADAPTER_FACTORY() {\n return new NgbTimeStructAdapter();\n}\n\n/**\n * An abstract service that does the conversion between the internal timepicker `NgbTimeStruct` model and\n * any provided user time model `T`, ex. a string, a native date, etc.\n *\n * The adapter is used **only** for conversion when binding timepicker to a form control,\n * ex. `[(ngModel)]=\"userTimeModel\"`. Here `userTimeModel` can be of any type.\n *\n * The default timepicker implementation assumes we use `NgbTimeStruct` as a user model.\n *\n * See the [custom time adapter demo](#/components/timepicker/examples#adapter) for an example.\n *\n * @since 2.2.0\n */\n@Injectable({providedIn: 'root', useFactory: NGB_DATEPICKER_TIME_ADAPTER_FACTORY})\nexport abstract class NgbTimeAdapter {\n /**\n * Converts a user-model time of type `T` to an `NgbTimeStruct` for internal use.\n */\n abstract fromModel(value: T | null): NgbTimeStruct | null;\n\n /**\n * Converts an internal `NgbTimeStruct` time to a user-model time of type `T`.\n */\n abstract toModel(time: NgbTimeStruct | null): T | null;\n}\n\n@Injectable()\nexport class NgbTimeStructAdapter extends NgbTimeAdapter {\n /**\n * Converts a NgbTimeStruct value into NgbTimeStruct value\n */\n fromModel(time: NgbTimeStruct | null): NgbTimeStruct | null {\n return (time && isInteger(time.hour) && isInteger(time.minute)) ?\n {hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null} :\n null;\n }\n\n /**\n * Converts a NgbTimeStruct value into NgbTimeStruct value\n */\n toModel(time: NgbTimeStruct | null): NgbTimeStruct | null {\n return (time && isInteger(time.hour) && isInteger(time.minute)) ?\n {hour: time.hour, minute: time.minute, second: isInteger(time.second) ? time.second : null} :\n null;\n }\n}\n","import {Inject, Injectable, LOCALE_ID} from '@angular/core';\nimport {FormStyle, getLocaleDayPeriods, TranslationWidth} from '@angular/common';\n\nexport function NGB_TIMEPICKER_I18N_FACTORY(locale) {\n return new NgbTimepickerI18nDefault(locale);\n}\n\n/**\n * Type of the service supplying day periods (for example, 'AM' and 'PM') to NgbTimepicker component.\n * The default implementation of this service honors the Angular locale, and uses the registered locale data,\n * as explained in the Angular i18n guide.\n */\n@Injectable({providedIn: 'root', useFactory: NGB_TIMEPICKER_I18N_FACTORY, deps: [LOCALE_ID]})\nexport abstract class NgbTimepickerI18n {\n /**\n * Returns the name for the period before midday.\n */\n abstract getMorningPeriod(): string;\n\n /**\n * Returns the name for the period after midday.\n */\n abstract getAfternoonPeriod(): string;\n}\n\n@Injectable()\nexport class NgbTimepickerI18nDefault extends NgbTimepickerI18n {\n private _periods: Readonly<[string, string]>;\n\n constructor(@Inject(LOCALE_ID) locale: string) {\n super();\n\n this._periods = getLocaleDayPeriods(locale, FormStyle.Standalone, TranslationWidth.Narrow);\n }\n\n getMorningPeriod(): string { return this._periods[0]; }\n\n getAfternoonPeriod(): string { return this._periods[1]; }\n}\n","import {\n ChangeDetectorRef,\n Component,\n forwardRef,\n Input,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {isInteger, isNumber, padNumber, toInteger} from '../util/util';\nimport {NgbTime} from './ngb-time';\nimport {NgbTimepickerConfig} from './timepicker-config';\nimport {NgbTimeAdapter} from './ngb-time-adapter';\nimport {NgbTimepickerI18n} from './timepicker-i18n';\n\nconst FILTER_REGEX = /[^0-9]/g;\n\n/**\n * A directive that helps with wth picking hours, minutes and seconds.\n */\n@Component({\n selector: 'ngb-timepicker',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./timepicker.scss'],\n template: `\n
\n
\n
\n \n \n \n
\n
:
\n
\n \n \n \n
\n
:
\n
\n \n \n \n
\n
\n
\n \n
\n
\n
\n `,\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbTimepicker), multi: true}]\n})\nexport class NgbTimepicker implements ControlValueAccessor,\n OnChanges {\n static ngAcceptInputType_size: string;\n\n disabled: boolean;\n model: NgbTime;\n\n private _hourStep: number;\n private _minuteStep: number;\n private _secondStep: number;\n\n /**\n * Whether to display 12H or 24H mode.\n */\n @Input() meridian: boolean;\n\n /**\n * If `true`, the spinners above and below inputs are visible.\n */\n @Input() spinners: boolean;\n\n /**\n * If `true`, it is possible to select seconds.\n */\n @Input() seconds: boolean;\n\n /**\n * The number of hours to add/subtract when clicking hour spinners.\n */\n @Input()\n set hourStep(step: number) {\n this._hourStep = isInteger(step) ? step : this._config.hourStep;\n }\n\n get hourStep(): number { return this._hourStep; }\n\n /**\n * The number of minutes to add/subtract when clicking minute spinners.\n */\n @Input()\n set minuteStep(step: number) {\n this._minuteStep = isInteger(step) ? step : this._config.minuteStep;\n }\n\n get minuteStep(): number { return this._minuteStep; }\n\n /**\n * The number of seconds to add/subtract when clicking second spinners.\n */\n @Input()\n set secondStep(step: number) {\n this._secondStep = isInteger(step) ? step : this._config.secondStep;\n }\n\n get secondStep(): number { return this._secondStep; }\n\n /**\n * If `true`, the timepicker is readonly and can't be changed.\n */\n @Input() readonlyInputs: boolean;\n\n /**\n * The size of inputs and buttons.\n */\n @Input() size: 'small' | 'medium' | 'large';\n\n constructor(\n private readonly _config: NgbTimepickerConfig, private _ngbTimeAdapter: NgbTimeAdapter,\n private _cd: ChangeDetectorRef, public i18n: NgbTimepickerI18n) {\n this.meridian = _config.meridian;\n this.spinners = _config.spinners;\n this.seconds = _config.seconds;\n this.hourStep = _config.hourStep;\n this.minuteStep = _config.minuteStep;\n this.secondStep = _config.secondStep;\n this.disabled = _config.disabled;\n this.readonlyInputs = _config.readonlyInputs;\n this.size = _config.size;\n }\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(value) {\n const structValue = this._ngbTimeAdapter.fromModel(value);\n this.model = structValue ? new NgbTime(structValue.hour, structValue.minute, structValue.second) : new NgbTime();\n if (!this.seconds && (!structValue || !isNumber(structValue.second))) {\n this.model.second = 0;\n }\n this._cd.markForCheck();\n }\n\n registerOnChange(fn: (value: any) => any): void { this.onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this.onTouched = fn; }\n\n setDisabledState(isDisabled: boolean) { this.disabled = isDisabled; }\n\n changeHour(step: number) {\n this.model.changeHour(step);\n this.propagateModelChange();\n }\n\n changeMinute(step: number) {\n this.model.changeMinute(step);\n this.propagateModelChange();\n }\n\n changeSecond(step: number) {\n this.model.changeSecond(step);\n this.propagateModelChange();\n }\n\n updateHour(newVal: string) {\n const isPM = this.model.hour >= 12;\n const enteredHour = toInteger(newVal);\n if (this.meridian && (isPM && enteredHour < 12 || !isPM && enteredHour === 12)) {\n this.model.updateHour(enteredHour + 12);\n } else {\n this.model.updateHour(enteredHour);\n }\n this.propagateModelChange();\n }\n\n updateMinute(newVal: string) {\n this.model.updateMinute(toInteger(newVal));\n this.propagateModelChange();\n }\n\n updateSecond(newVal: string) {\n this.model.updateSecond(toInteger(newVal));\n this.propagateModelChange();\n }\n\n toggleMeridian() {\n if (this.meridian) {\n this.changeHour(12);\n }\n }\n\n formatInput(input: HTMLInputElement) { input.value = input.value.replace(FILTER_REGEX, ''); }\n\n formatHour(value?: number) {\n if (isNumber(value)) {\n if (this.meridian) {\n return padNumber(value % 12 === 0 ? 12 : value % 12);\n } else {\n return padNumber(value % 24);\n }\n } else {\n return padNumber(NaN);\n }\n }\n\n formatMinSec(value?: number) { return padNumber(isNumber(value) ? value : NaN); }\n\n get isSmallSize(): boolean { return this.size === 'small'; }\n\n get isLargeSize(): boolean { return this.size === 'large'; }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['seconds'] && !this.seconds && this.model && !isNumber(this.model.second)) {\n this.model.second = 0;\n this.propagateModelChange(false);\n }\n }\n\n private propagateModelChange(touched = true) {\n if (touched) {\n this.onTouched();\n }\n if (this.model.isValid(this.seconds)) {\n this.onChange(\n this._ngbTimeAdapter.toModel({hour: this.model.hour, minute: this.model.minute, second: this.model.second}));\n } else {\n this.onChange(this._ngbTimeAdapter.toModel(null));\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbTimepicker} from './timepicker';\n\nexport {NgbTimepicker} from './timepicker';\nexport {NgbTimepickerConfig} from './timepicker-config';\nexport {NgbTimeStruct} from './ngb-time-struct';\nexport {NgbTimeAdapter} from './ngb-time-adapter';\nexport {NgbTimepickerI18n} from './timepicker-i18n';\n\n@NgModule({declarations: [NgbTimepicker], exports: [NgbTimepicker], imports: [CommonModule]})\nexport class NgbTimepickerModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * Interface used to type all toast config options. See `NgbToastConfig`.\n *\n * @since 5.0.0\n */\nexport interface NgbToastOptions {\n /**\n * Specify if the toast component should emit the `hide()` output\n * after a certain `delay` in ms.\n */\n autohide?: boolean;\n\n /**\n * Delay in ms after which the `hide()` output should be emitted.\n */\n delay?: number;\n\n /**\n * Type of aria-live attribute to be used.\n *\n * Could be one of these 2 values (as string):\n * - `polite` (default)\n * - `alert`\n */\n ariaLive?: 'polite' | 'alert';\n}\n\n/**\n * Configuration service for the NgbToast component. You can inject this service, typically in your root component,\n * and customize the values of its properties in order to provide default values for all the toasts used in the\n * application.\n *\n * @since 5.0.0\n */\n@Injectable({providedIn: 'root'})\nexport class NgbToastConfig implements NgbToastOptions {\n autohide = true;\n delay = 500;\n ariaLive: 'polite' | 'alert' = 'polite';\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {NgbTransitionStartFn} from '../util/transition/ngbTransition';\nimport {reflow} from '../util/util';\n\nexport const ngbToastFadeInTransition: NgbTransitionStartFn = (element: HTMLElement, animation: true) => {\n const {classList} = element;\n\n if (!animation) {\n classList.add('show');\n return;\n }\n\n classList.remove('hide');\n reflow(element);\n classList.add('showing');\n\n return () => {\n classList.remove('showing');\n classList.add('show');\n };\n};\n\nexport const ngbToastFadeOutTransition: NgbTransitionStartFn = ({classList}: HTMLElement) => {\n classList.remove('show');\n return () => { classList.add('hide'); };\n};\n","import {\n AfterContentInit,\n Attribute,\n Component,\n ContentChild,\n Directive,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n ElementRef,\n NgZone,\n} from '@angular/core';\n\nimport {Observable} from 'rxjs';\nimport {take} from 'rxjs/operators';\n\nimport {NgbToastConfig} from './toast-config';\nimport {ngbRunTransition} from '../util/transition/ngbTransition';\nimport {ngbToastFadeInTransition, ngbToastFadeOutTransition} from './toast-transition';\n\n\n/**\n * This directive allows the usage of HTML markup or other directives\n * inside of the toast's header.\n *\n * @since 5.0.0\n */\n@Directive({selector: '[ngbToastHeader]'})\nexport class NgbToastHeader {\n}\n\n/**\n * Toasts provide feedback messages as notifications to the user.\n * Goal is to mimic the push notifications available both on mobile and desktop operating systems.\n *\n * @since 5.0.0\n */\n@Component({\n selector: 'ngb-toast',\n exportAs: 'ngbToast',\n encapsulation: ViewEncapsulation.None,\n host: {\n 'role': 'alert',\n '[attr.aria-live]': 'ariaLive',\n 'aria-atomic': 'true',\n 'class': 'toast',\n '[class.fade]': 'animation',\n },\n template: `\n \n {{header}}\n \n \n
\n \n \n
\n
\n
\n \n
\n `,\n styleUrls: ['./toast.scss']\n})\nexport class NgbToast implements AfterContentInit,\n OnChanges {\n /**\n * If `true`, toast opening and closing will be animated.\n *\n * Animation is triggered only when the `.hide()` or `.show()` functions are called\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n private _timeoutID;\n\n /**\n * Delay after which the toast will hide (ms).\n * default: `500` (ms) (inherited from NgbToastConfig)\n */\n @Input() delay: number;\n\n /**\n * Auto hide the toast after a delay in ms.\n * default: `true` (inherited from NgbToastConfig)\n */\n @Input() autohide: boolean;\n\n /**\n * Text to be used as toast's header.\n * Ignored if a ContentChild template is specified at the same time.\n */\n @Input() header: string;\n\n /**\n * A template like `` can be\n * used in the projected content to allow markup usage.\n */\n @ContentChild(NgbToastHeader, {read: TemplateRef, static: true}) contentHeaderTpl: TemplateRef| null = null;\n\n /**\n * An event fired after the animation triggered by calling `.show()` method has finished.\n *\n * @since 8.0.0\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event fired after the animation triggered by calling `.hide()` method has finished.\n *\n * It can only occur in 2 different scenarios:\n * - `autohide` timeout fires\n * - user clicks on a closing cross\n *\n * Additionally this output is purely informative. The toast won't be removed from DOM automatically, it's up\n * to the user to take care of that.\n *\n * @since 8.0.0\n */\n @Output() hidden = new EventEmitter();\n\n constructor(\n @Attribute('aria-live') public ariaLive: string, config: NgbToastConfig, private _zone: NgZone,\n private _element: ElementRef) {\n if (this.ariaLive == null) {\n this.ariaLive = config.ariaLive;\n }\n this.delay = config.delay;\n this.autohide = config.autohide;\n this.animation = config.animation;\n }\n\n ngAfterContentInit() {\n this._zone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n this._init();\n this.show();\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if ('autohide' in changes) {\n this._clearTimeout();\n this._init();\n }\n }\n\n /**\n * Triggers toast closing programmatically.\n *\n * The returned observable will emit and be completed once the closing transition has finished.\n * If the animations are turned off this happens synchronously.\n *\n * Alternatively you could listen or subscribe to the `(hidden)` output\n *\n * @since 8.0.0\n */\n hide(): Observable {\n this._clearTimeout();\n const transition = ngbRunTransition(\n this._zone, this._element.nativeElement, ngbToastFadeOutTransition,\n {animation: this.animation, runningTransition: 'stop'});\n transition.subscribe(() => { this.hidden.emit(); });\n return transition;\n }\n\n /**\n * Triggers toast opening programmatically.\n *\n * The returned observable will emit and be completed once the opening transition has finished.\n * If the animations are turned off this happens synchronously.\n *\n * Alternatively you could listen or subscribe to the `(shown)` output\n *\n * @since 8.0.0\n */\n show(): Observable {\n const transition = ngbRunTransition(this._zone, this._element.nativeElement, ngbToastFadeInTransition, {\n animation: this.animation,\n runningTransition: 'continue',\n });\n transition.subscribe(() => { this.shown.emit(); });\n return transition;\n }\n\n private _init() {\n if (this.autohide && !this._timeoutID) {\n this._timeoutID = setTimeout(() => this.hide(), this.delay);\n }\n }\n\n private _clearTimeout() {\n if (this._timeoutID) {\n clearTimeout(this._timeoutID);\n this._timeoutID = null;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {NgbToast, NgbToastHeader} from './toast';\n\nexport {NgbToast, NgbToastHeader} from './toast';\nexport {NgbToastConfig, NgbToastOptions} from './toast-config';\n\n@NgModule({declarations: [NgbToast, NgbToastHeader], imports: [CommonModule], exports: [NgbToast, NgbToastHeader]})\nexport class NgbToastModule {\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\nimport {NgbConfig} from '../ngb-config';\n\n/**\n * A configuration service for the [`NgbTooltip`](#/components/tooltip/api#NgbTooltip) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the tooltips used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTooltipConfig {\n autoClose: boolean | 'inside' | 'outside' = true;\n placement: PlacementArray = 'auto';\n triggers = 'hover focus';\n container: string;\n disableTooltip = false;\n tooltipClass: string;\n openDelay = 0;\n closeDelay = 0;\n\n private _animation: boolean;\n\n constructor(private _ngbConfig: NgbConfig) {}\n\n get animation(): boolean { return (this._animation === undefined) ? this._ngbConfig.animation : this._animation; }\n set animation(animation: boolean) { this._animation = animation; }\n}\n","import {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n ChangeDetectionStrategy,\n OnInit,\n OnDestroy,\n Inject,\n Injector,\n Renderer2,\n ComponentRef,\n ElementRef,\n TemplateRef,\n ViewContainerRef,\n ComponentFactoryResolver,\n NgZone,\n ViewEncapsulation,\n ChangeDetectorRef,\n ApplicationRef,\n OnChanges,\n SimpleChanges\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {listenToTriggers} from '../util/triggers';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {positionElements, PlacementArray} from '../util/positioning';\nimport {PopupService} from '../util/popup';\n\nimport {NgbTooltipConfig} from './tooltip-config';\n\nlet nextId = 0;\n\n@Component({\n selector: 'ngb-tooltip-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': '\"tooltip\" + (tooltipClass ? \" \" + tooltipClass : \"\")',\n '[class.fade]': 'animation',\n 'role': 'tooltip',\n '[id]': 'id'\n },\n template: `
`,\n styleUrls: ['./tooltip.scss']\n})\nexport class NgbTooltipWindow {\n @Input() animation: boolean;\n @Input() id: string;\n @Input() tooltipClass: string;\n}\n\n/**\n * A lightweight and extensible directive for fancy tooltip creation.\n */\n@Directive({selector: '[ngbTooltip]', exportAs: 'ngbTooltip'})\nexport class NgbTooltip implements OnInit, OnDestroy, OnChanges {\n static ngAcceptInputType_autoClose: boolean | string;\n\n /**\n * If `true`, tooltip opening and closing will be animated.\n *\n * @since 8.0.0\n */\n @Input() animation: boolean;\n\n /**\n * Indicates whether the tooltip should be closed on `Escape` key and inside/outside clicks:\n *\n * * `true` - closes on both outside and inside clicks as well as `Escape` presses\n * * `false` - disables the autoClose feature (NB: triggers still apply)\n * * `\"inside\"` - closes on inside clicks as well as Escape presses\n * * `\"outside\"` - closes on outside clicks (sometimes also achievable through triggers)\n * as well as `Escape` presses\n *\n * @since 3.0.0\n */\n @Input() autoClose: boolean | 'inside' | 'outside';\n\n /**\n * The preferred placement of the tooltip.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"auto\"` (same as the sequence above).\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray;\n\n /**\n * Specifies events that should trigger the tooltip.\n *\n * Supports a space separated list of event names.\n * For more details see the [triggers demo](#/components/tooltip/examples#triggers).\n */\n @Input() triggers: string;\n\n /**\n * A selector specifying the element the tooltip should be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * If `true`, tooltip is disabled and won't be displayed.\n *\n * @since 1.1.0\n */\n @Input() disableTooltip: boolean;\n\n /**\n * An optional class applied to the tooltip window element.\n *\n * @since 3.2.0\n */\n @Input() tooltipClass: string;\n\n /**\n * The opening delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() openDelay: number;\n\n /**\n * The closing delay in ms. Works only for \"non-manual\" opening triggers defined by the `triggers` input.\n *\n * @since 4.1.0\n */\n @Input() closeDelay: number;\n\n /**\n * An event emitted when the tooltip opening animation has finished. Contains no payload.\n */\n @Output() shown = new EventEmitter();\n\n /**\n * An event emitted when the tooltip closing animation has finished. Contains no payload.\n */\n @Output() hidden = new EventEmitter();\n\n private _ngbTooltip: string | TemplateRef| null | undefined;\n private _ngbTooltipWindowId = `ngb-tooltip-${nextId++}`;\n private _popupService: PopupService;\n private _windowRef: ComponentRef| null = null;\n private _unregisterListenersFn;\n private _zoneSubscription: any;\n\n constructor(\n private _elementRef: ElementRef, private _renderer: Renderer2, injector: Injector,\n componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, config: NgbTooltipConfig,\n private _ngZone: NgZone, @Inject(DOCUMENT) private _document: any, private _changeDetector: ChangeDetectorRef,\n applicationRef: ApplicationRef) {\n this.animation = config.animation;\n this.autoClose = config.autoClose;\n this.placement = config.placement;\n this.triggers = config.triggers;\n this.container = config.container;\n this.disableTooltip = config.disableTooltip;\n this.tooltipClass = config.tooltipClass;\n this.openDelay = config.openDelay;\n this.closeDelay = config.closeDelay;\n this._popupService = new PopupService(\n NgbTooltipWindow, injector, viewContainerRef, _renderer, this._ngZone, componentFactoryResolver,\n applicationRef);\n\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\n if (this._windowRef) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement,\n this.container === 'body', 'bs-tooltip');\n }\n });\n }\n\n /**\n * The string content or a `TemplateRef` for the content to be displayed in the tooltip.\n *\n * If the content if falsy, the tooltip won't open.\n */\n @Input()\n set ngbTooltip(value: string | TemplateRef| null | undefined) {\n this._ngbTooltip = value;\n if (!value && this._windowRef) {\n this.close();\n }\n }\n\n get ngbTooltip() { return this._ngbTooltip; }\n\n /**\n * Opens the tooltip.\n *\n * This is considered to be a \"manual\" triggering.\n * The `context` is an optional value to be injected into the tooltip template when it is created.\n */\n open(context?: any) {\n if (!this._windowRef && this._ngbTooltip && !this.disableTooltip) {\n const {windowRef, transition$} = this._popupService.open(this._ngbTooltip, context, this.animation);\n this._windowRef = windowRef;\n this._windowRef.instance.animation = this.animation;\n this._windowRef.instance.tooltipClass = this.tooltipClass;\n this._windowRef.instance.id = this._ngbTooltipWindowId;\n\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbTooltipWindowId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n // We need to detect changes, because we don't know where .open() might be called from.\n // Ex. opening tooltip from one of lifecycle hooks that run after the CD\n // (say from ngAfterViewInit) will result in 'ExpressionHasChanged' exception\n this._windowRef.changeDetectorRef.detectChanges();\n\n // We need to mark for check, because tooltip won't work inside the OnPush component.\n // Ex. when we use expression like `{{ tooltip.isOpen() : 'opened' : 'closed' }}`\n // inside the template of an OnPush component and we change the tooltip from\n // open -> closed, the expression in question won't be updated unless we explicitly\n // mark the parent component to be checked.\n this._windowRef.changeDetectorRef.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden,\n [this._windowRef.location.nativeElement]);\n\n transition$.subscribe(() => this.shown.emit());\n }\n }\n\n /**\n * Closes the tooltip.\n *\n * This is considered to be a \"manual\" triggering of the tooltip.\n */\n close(): void {\n if (this._windowRef != null) {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n this._popupService.close(this.animation).subscribe(() => {\n this._windowRef = null;\n this.hidden.emit();\n this._changeDetector.markForCheck();\n });\n }\n }\n\n /**\n * Toggles the tooltip.\n *\n * This is considered to be a \"manual\" triggering of the tooltip.\n */\n toggle(): void {\n if (this._windowRef) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Returns `true`, if the popover is currently shown.\n */\n isOpen(): boolean { return this._windowRef != null; }\n\n ngOnInit() {\n this._unregisterListenersFn = listenToTriggers(\n this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this),\n this.close.bind(this), +this.openDelay, +this.closeDelay);\n }\n\n ngOnChanges({tooltipClass}: SimpleChanges) {\n if (tooltipClass && this.isOpen()) {\n this._windowRef !.instance.tooltipClass = tooltipClass.currentValue;\n }\n }\n\n ngOnDestroy() {\n this.close();\n // This check is needed as it might happen that ngOnDestroy is called before ngOnInit\n // under certain conditions, see: https://github.com/ng-bootstrap/ng-bootstrap/issues/2199\n if (this._unregisterListenersFn) {\n this._unregisterListenersFn();\n }\n this._zoneSubscription.unsubscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbTooltip, NgbTooltipWindow} from './tooltip';\n\nexport {NgbTooltipConfig} from './tooltip-config';\nexport {NgbTooltip} from './tooltip';\nexport {Placement} from '../util/positioning';\n\n@NgModule({declarations: [NgbTooltip, NgbTooltipWindow], exports: [NgbTooltip], entryComponents: [NgbTooltipWindow]})\nexport class NgbTooltipModule {\n}\n","import {Component, Input, OnChanges, ChangeDetectionStrategy, SimpleChanges, ViewEncapsulation} from '@angular/core';\nimport {regExpEscape, toString} from '../util/util';\n\n/**\n * A component that helps with text highlighting.\n *\n * If splits the `result` text into parts that contain the searched `term` and generates the HTML markup to simplify\n * highlighting:\n *\n * Ex. `result=\"Alaska\"` and `term=\"as\"` will produce `Alaska`.\n */\n@Component({\n selector: 'ngb-highlight',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `` +\n `{{part}}{{part}}` +\n ``, // template needs to be formatted in a certain way so we don't add empty text nodes\n styleUrls: ['./highlight.scss']\n})\nexport class NgbHighlight implements OnChanges {\n parts: string[];\n\n /**\n * The CSS class for `` elements wrapping the `term` inside the `result`.\n */\n @Input() highlightClass = 'ngb-highlight';\n\n /**\n * The text highlighting is added to.\n *\n * If the `term` is found inside this text, it will be highlighted.\n * If the `term` contains array then all the items from it will be highlighted inside the text.\n */\n @Input() result?: string | null;\n\n /**\n * The term or array of terms to be highlighted.\n * Since version `v4.2.0` term could be a `string[]`\n */\n @Input() term: string | readonly string[];\n\n ngOnChanges(changes: SimpleChanges) {\n const result = toString(this.result);\n\n const terms = Array.isArray(this.term) ? this.term : [this.term];\n const escapedTerms = terms.map(term => regExpEscape(toString(term))).filter(term => term);\n\n this.parts = escapedTerms.length ? result.split(new RegExp(`(${escapedTerms.join('|')})`, 'gmi')) : [result];\n }\n}\n","import {Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewEncapsulation} from '@angular/core';\n\nimport {toString} from '../util/util';\n\n/**\n * The context for the typeahead result template in case you want to override the default one.\n */\nexport interface ResultTemplateContext {\n /**\n * Your typeahead result item.\n */\n result: any;\n\n /**\n * Search term from the `` used to get current result.\n */\n term: string;\n}\n\n@Component({\n selector: 'ngb-typeahead-window',\n exportAs: 'ngbTypeaheadWindow',\n encapsulation: ViewEncapsulation.None,\n host: {'(mousedown)': '$event.preventDefault()', 'class': 'dropdown-menu show', 'role': 'listbox', '[id]': 'id'},\n template: `\n \n \n \n \n \n \n `\n})\nexport class NgbTypeaheadWindow implements OnInit {\n activeIdx = 0;\n\n /**\n * The id for the typeahead window. The id should be unique and the same\n * as the associated typeahead's id.\n */\n @Input() id: string;\n\n /**\n * Flag indicating if the first row should be active initially\n */\n @Input() focusFirst = true;\n\n /**\n * Typeahead match results to be displayed\n */\n @Input() results;\n\n /**\n * Search term used to get current results\n */\n @Input() term: string;\n\n /**\n * A function used to format a given result before display. This function should return a formatted string without any\n * HTML markup\n */\n @Input() formatter = toString;\n\n /**\n * A template to override a matching result default display\n */\n @Input() resultTemplate: TemplateRef;\n\n /**\n * Event raised when user selects a particular result row\n */\n @Output('select') selectEvent = new EventEmitter();\n\n @Output('activeChange') activeChangeEvent = new EventEmitter();\n\n hasActive() { return this.activeIdx > -1 && this.activeIdx < this.results.length; }\n\n getActive() { return this.results[this.activeIdx]; }\n\n markActive(activeIdx: number) {\n this.activeIdx = activeIdx;\n this._activeChanged();\n }\n\n next() {\n if (this.activeIdx === this.results.length - 1) {\n this.activeIdx = this.focusFirst ? (this.activeIdx + 1) % this.results.length : -1;\n } else {\n this.activeIdx++;\n }\n this._activeChanged();\n }\n\n prev() {\n if (this.activeIdx < 0) {\n this.activeIdx = this.results.length - 1;\n } else if (this.activeIdx === 0) {\n this.activeIdx = this.focusFirst ? this.results.length - 1 : -1;\n } else {\n this.activeIdx--;\n }\n this._activeChanged();\n }\n\n resetActive() {\n this.activeIdx = this.focusFirst ? 0 : -1;\n this._activeChanged();\n }\n\n select(item) { this.selectEvent.emit(item); }\n\n ngOnInit() { this.resetActive(); }\n\n private _activeChanged() {\n this.activeChangeEvent.emit(this.activeIdx >= 0 ? this.id + '-' + this.activeIdx : undefined);\n }\n}\n","import {Injectable, Inject, InjectionToken, OnDestroy} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\n\n// usefulness (and default value) of delay documented in Material's CDK\n// https://github.com/angular/material2/blob/6405da9b8e8532a7e5c854c920ee1815c275d734/src/cdk/a11y/live-announcer/live-announcer.ts#L50\nexport type ARIA_LIVE_DELAY_TYPE = number | null;\nexport const ARIA_LIVE_DELAY = new InjectionToken(\n 'live announcer delay', {providedIn: 'root', factory: ARIA_LIVE_DELAY_FACTORY});\nexport function ARIA_LIVE_DELAY_FACTORY(): number {\n return 100;\n}\n\n\nfunction getLiveElement(document: any, lazyCreate = false): HTMLElement | null {\n let element = document.body.querySelector('#ngb-live') as HTMLElement;\n\n if (element == null && lazyCreate) {\n element = document.createElement('div');\n\n element.setAttribute('id', 'ngb-live');\n element.setAttribute('aria-live', 'polite');\n element.setAttribute('aria-atomic', 'true');\n\n element.classList.add('sr-only');\n\n document.body.appendChild(element);\n }\n\n return element;\n}\n\n\n\n@Injectable({providedIn: 'root'})\nexport class Live implements OnDestroy {\n constructor(@Inject(DOCUMENT) private _document: any, @Inject(ARIA_LIVE_DELAY) private _delay: any) {}\n\n ngOnDestroy() {\n const element = getLiveElement(this._document);\n if (element) {\n // if exists, it will always be attached to the \n element.parentElement !.removeChild(element);\n }\n }\n\n say(message: string) {\n const element = getLiveElement(this._document, true);\n const delay = this._delay;\n\n if (element != null) {\n element.textContent = '';\n const setText = () => element.textContent = message;\n if (delay === null) {\n setText();\n } else {\n setTimeout(setText, delay);\n }\n }\n }\n}\n","import {Injectable} from '@angular/core';\nimport {PlacementArray} from '../util/positioning';\n\n/**\n * A configuration service for the [`NgbTypeahead`](#/components/typeahead/api#NgbTypeahead) component.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all the typeaheads used in the application.\n */\n@Injectable({providedIn: 'root'})\nexport class NgbTypeaheadConfig {\n container;\n editable = true;\n focusFirst = true;\n showHint = false;\n placement: PlacementArray = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n}\n","import {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n ApplicationRef\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {DOCUMENT} from '@angular/common';\nimport {BehaviorSubject, fromEvent, Observable, Subject, Subscription} from 'rxjs';\nimport {map, switchMap, tap} from 'rxjs/operators';\n\nimport {Live} from '../util/accessibility/live';\nimport {ngbAutoClose} from '../util/autoclose';\nimport {Key} from '../util/key';\nimport {PopupService} from '../util/popup';\nimport {PlacementArray, positionElements} from '../util/positioning';\nimport {isDefined, toString} from '../util/util';\n\nimport {NgbTypeaheadConfig} from './typeahead-config';\nimport {NgbTypeaheadWindow, ResultTemplateContext} from './typeahead-window';\n\n/**\n * An event emitted right before an item is selected from the result list.\n */\nexport interface NgbTypeaheadSelectItemEvent {\n /**\n * The item from the result list about to be selected.\n */\n item: T;\n\n /**\n * Calling this function will prevent item selection from happening.\n */\n preventDefault: () => void;\n}\n\nlet nextWindowId = 0;\n\n/**\n * A directive providing a simple way of creating powerful typeaheads from any text input.\n */\n@Directive({\n selector: 'input[ngbTypeahead]',\n exportAs: 'ngbTypeahead',\n host: {\n '(blur)': 'handleBlur()',\n '[class.open]': 'isPopupOpen()',\n '(keydown)': 'handleKeyDown($event)',\n '[autocomplete]': 'autocomplete',\n 'autocapitalize': 'off',\n 'autocorrect': 'off',\n 'role': 'combobox',\n 'aria-multiline': 'false',\n '[attr.aria-autocomplete]': 'showHint ? \"both\" : \"list\"',\n '[attr.aria-activedescendant]': 'activeDescendant',\n '[attr.aria-owns]': 'isPopupOpen() ? popupId : null',\n '[attr.aria-expanded]': 'isPopupOpen()'\n },\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgbTypeahead), multi: true}]\n})\nexport class NgbTypeahead implements ControlValueAccessor,\n OnInit, OnDestroy {\n private _popupService: PopupService;\n private _subscription: Subscription | null = null;\n private _closed$ = new Subject();\n private _inputValueBackup: string | null = null;\n private _valueChanges: Observable;\n private _resubscribeTypeahead: BehaviorSubject;\n private _windowRef: ComponentRef| null = null;\n private _zoneSubscription: any;\n\n /**\n * The value for the `autocomplete` attribute for the `` element.\n *\n * Defaults to `\"off\"` to disable the native browser autocomplete, but you can override it if necessary.\n *\n * @since 2.1.0\n */\n @Input() autocomplete = 'off';\n\n /**\n * A selector specifying the element the typeahead popup will be appended to.\n *\n * Currently only supports `\"body\"`.\n */\n @Input() container: string;\n\n /**\n * If `true`, model values will not be restricted only to items selected from the popup.\n */\n @Input() editable: boolean;\n\n /**\n * If `true`, the first item in the result list will always stay focused while typing.\n */\n @Input() focusFirst: boolean;\n\n /**\n * The function that converts an item from the result list to a `string` to display in the `` field.\n *\n * It is called when the user selects something in the popup or the model value changes, so the input needs to\n * be updated.\n */\n @Input() inputFormatter: (item: any) => string;\n\n /**\n * The function that converts a stream of text values from the `` element to the stream of the array of items\n * to display in the typeahead popup.\n *\n * If the resulting observable emits a non-empty array - the popup will be shown. If it emits an empty array - the\n * popup will be closed.\n *\n * See the [basic example](#/components/typeahead/examples#basic) for more details.\n *\n * Note that the `this` argument is `undefined` so you need to explicitly bind it to a desired \"this\" target.\n */\n @Input() ngbTypeahead: (text: Observable) => Observable;\n\n /**\n * The function that converts an item from the result list to a `string` to display in the popup.\n *\n * Must be provided, if your `ngbTypeahead` returns something other than `Observable`.\n *\n * Alternatively for more complex markup in the popup you should use `resultTemplate`.\n */\n @Input() resultFormatter: (item: any) => string;\n\n /**\n * The template to override the way resulting items are displayed in the popup.\n *\n * See the [ResultTemplateContext](#/components/typeahead/api#ResultTemplateContext) for the template context.\n *\n * Also see the [template for results demo](#/components/typeahead/examples#template) for more details.\n */\n @Input() resultTemplate: TemplateRef;\n\n /**\n * If `true`, will show the hint in the `` when an item in the result list matches.\n */\n @Input() showHint: boolean;\n\n /**\n * The preferred placement of the typeahead.\n *\n * Possible values are `\"top\"`, `\"top-left\"`, `\"top-right\"`, `\"bottom\"`, `\"bottom-left\"`,\n * `\"bottom-right\"`, `\"left\"`, `\"left-top\"`, `\"left-bottom\"`, `\"right\"`, `\"right-top\"`,\n * `\"right-bottom\"`\n *\n * Accepts an array of strings or a string with space separated possible values.\n *\n * The default order of preference is `\"bottom-left bottom-right top-left top-right\"`\n *\n * Please see the [positioning overview](#/positioning) for more details.\n */\n @Input() placement: PlacementArray = 'bottom-left';\n\n /**\n * An event emitted right before an item is selected from the result list.\n *\n * Event payload is of type [`NgbTypeaheadSelectItemEvent`](#/components/typeahead/api#NgbTypeaheadSelectItemEvent).\n */\n @Output() selectItem = new EventEmitter();\n\n activeDescendant: string | null = null;\n popupId = `ngb-typeahead-${nextWindowId++}`;\n\n private _onTouched = () => {};\n private _onChange = (_: any) => {};\n\n constructor(\n private _elementRef: ElementRef, viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2, injector: Injector, componentFactoryResolver: ComponentFactoryResolver,\n config: NgbTypeaheadConfig, ngZone: NgZone, private _live: Live, @Inject(DOCUMENT) private _document: any,\n private _ngZone: NgZone, private _changeDetector: ChangeDetectorRef, applicationRef: ApplicationRef) {\n this.container = config.container;\n this.editable = config.editable;\n this.focusFirst = config.focusFirst;\n this.showHint = config.showHint;\n this.placement = config.placement;\n\n this._valueChanges = fromEvent(_elementRef.nativeElement, 'input')\n .pipe(map($event => ($event.target as HTMLInputElement).value));\n\n this._resubscribeTypeahead = new BehaviorSubject(null);\n\n this._popupService = new PopupService(\n NgbTypeaheadWindow, injector, viewContainerRef, _renderer, this._ngZone, componentFactoryResolver,\n applicationRef);\n\n this._zoneSubscription = ngZone.onStable.subscribe(() => {\n if (this.isPopupOpen()) {\n positionElements(\n this._elementRef.nativeElement, this._windowRef !.location.nativeElement, this.placement,\n this.container === 'body');\n }\n });\n }\n\n ngOnInit(): void {\n const inputValues$ = this._valueChanges.pipe(tap(value => {\n this._inputValueBackup = this.showHint ? value : null;\n this._onChange(this.editable ? value : undefined);\n }));\n const results$ = inputValues$.pipe(this.ngbTypeahead);\n const userInput$ = this._resubscribeTypeahead.pipe(switchMap(() => results$));\n this._subscription = this._subscribeToUserInput(userInput$);\n }\n\n ngOnDestroy(): void {\n this._closePopup();\n this._unsubscribeFromUserInput();\n this._zoneSubscription.unsubscribe();\n }\n\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn; }\n\n registerOnTouched(fn: () => any): void { this._onTouched = fn; }\n\n writeValue(value) {\n this._writeInputValue(this._formatItemForInput(value));\n if (this.showHint) {\n this._inputValueBackup = value;\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n }\n\n /**\n * Dismisses typeahead popup window\n */\n dismissPopup() {\n if (this.isPopupOpen()) {\n this._resubscribeTypeahead.next(null);\n this._closePopup();\n if (this.showHint && this._inputValueBackup !== null) {\n this._writeInputValue(this._inputValueBackup);\n }\n this._changeDetector.markForCheck();\n }\n }\n\n /**\n * Returns true if the typeahead popup window is displayed\n */\n isPopupOpen() { return this._windowRef != null; }\n\n handleBlur() {\n this._resubscribeTypeahead.next(null);\n this._onTouched();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (!this.isPopupOpen()) {\n return;\n }\n\n // tslint:disable-next-line:deprecation\n switch (event.which) {\n case Key.ArrowDown:\n event.preventDefault();\n this._windowRef !.instance.next();\n this._showHint();\n break;\n case Key.ArrowUp:\n event.preventDefault();\n this._windowRef !.instance.prev();\n this._showHint();\n break;\n case Key.Enter:\n case Key.Tab:\n const result = this._windowRef !.instance.getActive();\n if (isDefined(result)) {\n event.preventDefault();\n event.stopPropagation();\n this._selectResult(result);\n }\n this._closePopup();\n break;\n }\n }\n\n private _openPopup() {\n if (!this.isPopupOpen()) {\n this._inputValueBackup = this._elementRef.nativeElement.value;\n const {windowRef} = this._popupService.open();\n this._windowRef = windowRef;\n this._windowRef.instance.id = this.popupId;\n this._windowRef.instance.selectEvent.subscribe((result: any) => this._selectResultClosePopup(result));\n this._windowRef.instance.activeChangeEvent.subscribe((activeId: string) => this.activeDescendant = activeId);\n\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n\n this._changeDetector.markForCheck();\n\n ngbAutoClose(\n this._ngZone, this._document, 'outside', () => this.dismissPopup(), this._closed$,\n [this._elementRef.nativeElement, this._windowRef.location.nativeElement]);\n }\n }\n\n private _closePopup() {\n this._popupService.close().subscribe(() => {\n this._closed$.next();\n this._windowRef = null;\n this.activeDescendant = null;\n });\n }\n\n private _selectResult(result: any) {\n let defaultPrevented = false;\n this.selectItem.emit({item: result, preventDefault: () => { defaultPrevented = true; }});\n this._resubscribeTypeahead.next(null);\n\n if (!defaultPrevented) {\n this.writeValue(result);\n this._onChange(result);\n }\n }\n\n private _selectResultClosePopup(result: any) {\n this._selectResult(result);\n this._closePopup();\n }\n\n private _showHint() {\n if (this.showHint && this._windowRef?.instance.hasActive() && this._inputValueBackup != null) {\n const userInputLowerCase = this._inputValueBackup.toLowerCase();\n const formattedVal = this._formatItemForInput(this._windowRef.instance.getActive());\n\n if (userInputLowerCase === formattedVal.substr(0, this._inputValueBackup.length).toLowerCase()) {\n this._writeInputValue(this._inputValueBackup + formattedVal.substr(this._inputValueBackup.length));\n this._elementRef.nativeElement['setSelectionRange'].apply(\n this._elementRef.nativeElement, [this._inputValueBackup.length, formattedVal.length]);\n } else {\n this._writeInputValue(formattedVal);\n }\n }\n }\n\n private _formatItemForInput(item: any): string {\n return item != null && this.inputFormatter ? this.inputFormatter(item) : toString(item);\n }\n\n private _writeInputValue(value: string): void {\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', toString(value));\n }\n\n private _subscribeToUserInput(userInput$: Observable): Subscription {\n return userInput$.subscribe((results) => {\n if (!results || results.length === 0) {\n this._closePopup();\n } else {\n this._openPopup();\n this._windowRef !.instance.focusFirst = this.focusFirst;\n this._windowRef !.instance.results = results;\n this._windowRef !.instance.term = this._elementRef.nativeElement.value;\n if (this.resultFormatter) {\n this._windowRef !.instance.formatter = this.resultFormatter;\n }\n if (this.resultTemplate) {\n this._windowRef !.instance.resultTemplate = this.resultTemplate;\n }\n this._windowRef !.instance.resetActive();\n\n // The observable stream we are subscribing to might have async steps\n // and if a component containing typeahead is using the OnPush strategy\n // the change detection turn wouldn't be invoked automatically.\n this._windowRef !.changeDetectorRef.detectChanges();\n\n this._showHint();\n }\n\n // live announcer\n const count = results ? results.length : 0;\n this._live.say(count === 0 ? 'No results available' : `${count} result${count === 1 ? '' : 's'} available`);\n });\n }\n\n private _unsubscribeFromUserInput() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n this._subscription = null;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgbHighlight} from './highlight';\nimport {NgbTypeaheadWindow} from './typeahead-window';\nimport {NgbTypeahead} from './typeahead';\n\nexport {NgbHighlight} from './highlight';\nexport {NgbTypeaheadWindow} from './typeahead-window';\nexport {NgbTypeaheadConfig} from './typeahead-config';\nexport {NgbTypeahead, NgbTypeaheadSelectItemEvent} from './typeahead';\n\n@NgModule({\n declarations: [NgbTypeahead, NgbHighlight, NgbTypeaheadWindow],\n exports: [NgbTypeahead, NgbHighlight],\n imports: [CommonModule],\n entryComponents: [NgbTypeaheadWindow]\n})\nexport class NgbTypeaheadModule {\n}\n","import {NgModule} from '@angular/core';\n\nimport {NgbAccordionModule} from './accordion/accordion.module';\nimport {NgbAlertModule} from './alert/alert.module';\nimport {NgbButtonsModule} from './buttons/buttons.module';\nimport {NgbCarouselModule} from './carousel/carousel.module';\nimport {NgbCollapseModule} from './collapse/collapse.module';\nimport {NgbDatepickerModule} from './datepicker/datepicker.module';\nimport {NgbDropdownModule} from './dropdown/dropdown.module';\nimport {NgbModalModule} from './modal/modal.module';\nimport {NgbNavModule} from './nav/nav.module';\nimport {NgbPaginationModule} from './pagination/pagination.module';\nimport {NgbPopoverModule} from './popover/popover.module';\nimport {NgbProgressbarModule} from './progressbar/progressbar.module';\nimport {NgbRatingModule} from './rating/rating.module';\nimport {NgbTimepickerModule} from './timepicker/timepicker.module';\nimport {NgbToastModule} from './toast/toast.module';\nimport {NgbTooltipModule} from './tooltip/tooltip.module';\nimport {NgbTypeaheadModule} from './typeahead/typeahead.module';\n\n\n\nexport {\n NgbAccordion,\n NgbAccordionConfig,\n NgbAccordionModule,\n NgbPanel,\n NgbPanelChangeEvent,\n NgbPanelContent,\n NgbPanelHeader,\n NgbPanelHeaderContext,\n NgbPanelTitle,\n NgbPanelToggle\n} from './accordion/accordion.module';\nexport {NgbAlert, NgbAlertConfig, NgbAlertModule} from './alert/alert.module';\nexport {NgbButtonLabel, NgbButtonsModule, NgbCheckBox, NgbRadio, NgbRadioGroup} from './buttons/buttons.module';\nexport {\n NgbCarousel,\n NgbCarouselConfig,\n NgbCarouselModule,\n NgbSlide,\n NgbSlideEvent,\n NgbSlideEventDirection,\n NgbSlideEventSource\n} from './carousel/carousel.module';\nexport {NgbCollapse, NgbCollapseConfig, NgbCollapseModule} from './collapse/collapse.module';\nexport {\n NgbCalendar,\n NgbCalendarGregorian,\n NgbCalendarHebrew,\n NgbCalendarIslamicCivil,\n NgbCalendarIslamicUmalqura,\n NgbCalendarPersian,\n NgbDate,\n NgbDateAdapter,\n NgbDateNativeAdapter,\n NgbDateNativeUTCAdapter,\n NgbDateParserFormatter,\n NgbDatepicker,\n NgbDatepickerConfig,\n NgbInputDatepickerConfig,\n NgbDatepickerContent,\n NgbDatepickerI18n,\n NgbDatepickerI18nHebrew,\n NgbDatepickerKeyboardService,\n NgbDatepickerModule,\n NgbDatepickerMonth,\n NgbDatepickerNavigateEvent,\n NgbDatepickerState,\n NgbDateStruct,\n NgbInputDatepicker,\n NgbPeriod\n} from './datepicker/datepicker.module';\nexport {\n NgbDropdown,\n NgbDropdownAnchor,\n NgbDropdownConfig,\n NgbDropdownItem,\n NgbDropdownMenu,\n NgbDropdownModule,\n NgbDropdownToggle,\n NgbNavbar\n} from './dropdown/dropdown.module';\nexport {\n ModalDismissReasons,\n NgbActiveModal,\n NgbModal,\n NgbModalConfig,\n NgbModalModule,\n NgbModalOptions,\n NgbModalRef\n} from './modal/modal.module';\nexport {\n NgbNavChangeEvent,\n NgbNavConfig,\n NgbNav,\n NgbNavContent,\n NgbNavContentContext,\n NgbNavItem,\n NgbNavLink,\n NgbNavModule,\n NgbNavOutlet,\n NgbNavPane\n} from './nav/nav.module';\nexport {\n NgbPagination,\n NgbPaginationConfig,\n NgbPaginationEllipsis,\n NgbPaginationFirst,\n NgbPaginationLast,\n NgbPaginationModule,\n NgbPaginationNext,\n NgbPaginationNumber,\n NgbPaginationPrevious\n} from './pagination/pagination.module';\nexport {NgbPopover, NgbPopoverConfig, NgbPopoverModule} from './popover/popover.module';\nexport {NgbProgressbar, NgbProgressbarConfig, NgbProgressbarModule} from './progressbar/progressbar.module';\nexport {NgbRating, NgbRatingConfig, NgbRatingModule} from './rating/rating.module';\nexport {\n NgbTimeAdapter,\n NgbTimepickerI18n,\n NgbTimepicker,\n NgbTimepickerConfig,\n NgbTimepickerModule,\n NgbTimeStruct\n} from './timepicker/timepicker.module';\nexport {NgbToast, NgbToastConfig, NgbToastHeader, NgbToastModule} from './toast/toast.module';\nexport {NgbTooltip, NgbTooltipConfig, NgbTooltipModule} from './tooltip/tooltip.module';\nexport {\n NgbHighlight,\n NgbTypeahead,\n NgbTypeaheadConfig,\n NgbTypeaheadModule,\n NgbTypeaheadSelectItemEvent\n} from './typeahead/typeahead.module';\nexport {Placement} from './util/positioning';\n\nexport {NgbConfig} from './ngb-config';\n\n\nconst NGB_MODULES = [\n NgbAccordionModule, NgbAlertModule, NgbButtonsModule, NgbCarouselModule, NgbCollapseModule, NgbDatepickerModule,\n NgbDropdownModule, NgbModalModule, NgbNavModule, NgbPaginationModule, NgbPopoverModule, NgbProgressbarModule,\n NgbRatingModule, NgbTimepickerModule, NgbToastModule, NgbTooltipModule, NgbTypeaheadModule\n];\n\n@NgModule({imports: NGB_MODULES, exports: NGB_MODULES})\nexport class NgbModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {NGB_CAROUSEL_DIRECTIVES as ɵa} from './carousel/carousel';\nexport {NGB_DATEPICKER_DATE_ADAPTER_FACTORY as ɵh,NgbDateStructAdapter as ɵi} from './datepicker/adapters/ngb-date-adapter';\nexport {NgbDatepickerDayView as ɵc} from './datepicker/datepicker-day-view';\nexport {NGB_DATEPICKER_18N_FACTORY as ɵf,NgbDatepickerI18nDefault as ɵg} from './datepicker/datepicker-i18n';\nexport {NgbDatepickerNavigation as ɵd} from './datepicker/datepicker-navigation';\nexport {NgbDatepickerNavigationSelect as ɵe} from './datepicker/datepicker-navigation-select';\nexport {NgbDatepickerService as ɵs} from './datepicker/datepicker-service';\nexport {NgbCalendarHijri as ɵba} from './datepicker/hijri/ngb-calendar-hijri';\nexport {NGB_DATEPICKER_CALENDAR_FACTORY as ɵb} from './datepicker/ngb-calendar';\nexport {NGB_DATEPICKER_PARSER_FORMATTER_FACTORY as ɵj,NgbDateISOParserFormatter as ɵk} from './datepicker/ngb-date-parser-formatter';\nexport {NgbModalBackdrop as ɵt} from './modal/modal-backdrop';\nexport {NgbModalStack as ɵv} from './modal/modal-stack';\nexport {NgbModalWindow as ɵu} from './modal/modal-window';\nexport {NgbPopoverWindow as ɵl} from './popover/popover';\nexport {NGB_DATEPICKER_TIME_ADAPTER_FACTORY as ɵm,NgbTimeStructAdapter as ɵn} from './timepicker/ngb-time-adapter';\nexport {NGB_TIMEPICKER_I18N_FACTORY as ɵo,NgbTimepickerI18nDefault as ɵp} from './timepicker/timepicker-i18n';\nexport {NgbTooltipWindow as ɵq} from './tooltip/tooltip';\nexport {NgbTypeaheadWindow as ɵr} from './typeahead/typeahead-window';\nexport {ARIA_LIVE_DELAY as ɵx,ARIA_LIVE_DELAY_FACTORY as ɵy,Live as ɵz} from './util/accessibility/live';\nexport {ContentRef as ɵbb} from './util/popup';\nexport {ScrollBar as ɵw} from './util/scrollbar';","/**\n * @license Angular v11.2.1\n * (c) 2010-2020 Google LLC. https://angular.io/\n * License: MIT\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 */\nvar TagContentType;\n(function (TagContentType) {\n TagContentType[TagContentType[\"RAW_TEXT\"] = 0] = \"RAW_TEXT\";\n TagContentType[TagContentType[\"ESCAPABLE_RAW_TEXT\"] = 1] = \"ESCAPABLE_RAW_TEXT\";\n TagContentType[TagContentType[\"PARSABLE_DATA\"] = 2] = \"PARSABLE_DATA\";\n})(TagContentType || (TagContentType = {}));\nfunction splitNsName(elementName) {\n if (elementName[0] != ':') {\n return [null, elementName];\n }\n const colonIndex = elementName.indexOf(':', 1);\n if (colonIndex == -1) {\n throw new Error(`Unsupported format \"${elementName}\" expecting \":namespace:name\"`);\n }\n return [elementName.slice(1, colonIndex), elementName.slice(colonIndex + 1)];\n}\n// `` tags work the same regardless the namespace\nfunction isNgContainer(tagName) {\n return splitNsName(tagName)[1] === 'ng-container';\n}\n// `` tags work the same regardless the namespace\nfunction isNgContent(tagName) {\n return splitNsName(tagName)[1] === 'ng-content';\n}\n// `` tags work the same regardless the namespace\nfunction isNgTemplate(tagName) {\n return splitNsName(tagName)[1] === 'ng-template';\n}\nfunction getNsPrefix(fullName) {\n return fullName === null ? null : splitNsName(fullName)[0];\n}\nfunction mergeNsAndName(prefix, localName) {\n return prefix ? `:${prefix}:${localName}` : localName;\n}\n// see https://www.w3.org/TR/html51/syntax.html#named-character-references\n// see https://html.spec.whatwg.org/multipage/entities.json\n// This list is not exhaustive to keep the compiler footprint low.\n// The `{` / `ƫ` syntax should be used when the named character reference does not\n// exist.\nconst NAMED_ENTITIES = {\n 'Aacute': '\\u00C1',\n 'aacute': '\\u00E1',\n 'Acirc': '\\u00C2',\n 'acirc': '\\u00E2',\n 'acute': '\\u00B4',\n 'AElig': '\\u00C6',\n 'aelig': '\\u00E6',\n 'Agrave': '\\u00C0',\n 'agrave': '\\u00E0',\n 'alefsym': '\\u2135',\n 'Alpha': '\\u0391',\n 'alpha': '\\u03B1',\n 'amp': '&',\n 'and': '\\u2227',\n 'ang': '\\u2220',\n 'apos': '\\u0027',\n 'Aring': '\\u00C5',\n 'aring': '\\u00E5',\n 'asymp': '\\u2248',\n 'Atilde': '\\u00C3',\n 'atilde': '\\u00E3',\n 'Auml': '\\u00C4',\n 'auml': '\\u00E4',\n 'bdquo': '\\u201E',\n 'Beta': '\\u0392',\n 'beta': '\\u03B2',\n 'brvbar': '\\u00A6',\n 'bull': '\\u2022',\n 'cap': '\\u2229',\n 'Ccedil': '\\u00C7',\n 'ccedil': '\\u00E7',\n 'cedil': '\\u00B8',\n 'cent': '\\u00A2',\n 'Chi': '\\u03A7',\n 'chi': '\\u03C7',\n 'circ': '\\u02C6',\n 'clubs': '\\u2663',\n 'cong': '\\u2245',\n 'copy': '\\u00A9',\n 'crarr': '\\u21B5',\n 'cup': '\\u222A',\n 'curren': '\\u00A4',\n 'dagger': '\\u2020',\n 'Dagger': '\\u2021',\n 'darr': '\\u2193',\n 'dArr': '\\u21D3',\n 'deg': '\\u00B0',\n 'Delta': '\\u0394',\n 'delta': '\\u03B4',\n 'diams': '\\u2666',\n 'divide': '\\u00F7',\n 'Eacute': '\\u00C9',\n 'eacute': '\\u00E9',\n 'Ecirc': '\\u00CA',\n 'ecirc': '\\u00EA',\n 'Egrave': '\\u00C8',\n 'egrave': '\\u00E8',\n 'empty': '\\u2205',\n 'emsp': '\\u2003',\n 'ensp': '\\u2002',\n 'Epsilon': '\\u0395',\n 'epsilon': '\\u03B5',\n 'equiv': '\\u2261',\n 'Eta': '\\u0397',\n 'eta': '\\u03B7',\n 'ETH': '\\u00D0',\n 'eth': '\\u00F0',\n 'Euml': '\\u00CB',\n 'euml': '\\u00EB',\n 'euro': '\\u20AC',\n 'exist': '\\u2203',\n 'fnof': '\\u0192',\n 'forall': '\\u2200',\n 'frac12': '\\u00BD',\n 'frac14': '\\u00BC',\n 'frac34': '\\u00BE',\n 'frasl': '\\u2044',\n 'Gamma': '\\u0393',\n 'gamma': '\\u03B3',\n 'ge': '\\u2265',\n 'gt': '>',\n 'harr': '\\u2194',\n 'hArr': '\\u21D4',\n 'hearts': '\\u2665',\n 'hellip': '\\u2026',\n 'Iacute': '\\u00CD',\n 'iacute': '\\u00ED',\n 'Icirc': '\\u00CE',\n 'icirc': '\\u00EE',\n 'iexcl': '\\u00A1',\n 'Igrave': '\\u00CC',\n 'igrave': '\\u00EC',\n 'image': '\\u2111',\n 'infin': '\\u221E',\n 'int': '\\u222B',\n 'Iota': '\\u0399',\n 'iota': '\\u03B9',\n 'iquest': '\\u00BF',\n 'isin': '\\u2208',\n 'Iuml': '\\u00CF',\n 'iuml': '\\u00EF',\n 'Kappa': '\\u039A',\n 'kappa': '\\u03BA',\n 'Lambda': '\\u039B',\n 'lambda': '\\u03BB',\n 'lang': '\\u27E8',\n 'laquo': '\\u00AB',\n 'larr': '\\u2190',\n 'lArr': '\\u21D0',\n 'lceil': '\\u2308',\n 'ldquo': '\\u201C',\n 'le': '\\u2264',\n 'lfloor': '\\u230A',\n 'lowast': '\\u2217',\n 'loz': '\\u25CA',\n 'lrm': '\\u200E',\n 'lsaquo': '\\u2039',\n 'lsquo': '\\u2018',\n 'lt': '<',\n 'macr': '\\u00AF',\n 'mdash': '\\u2014',\n 'micro': '\\u00B5',\n 'middot': '\\u00B7',\n 'minus': '\\u2212',\n 'Mu': '\\u039C',\n 'mu': '\\u03BC',\n 'nabla': '\\u2207',\n 'nbsp': '\\u00A0',\n 'ndash': '\\u2013',\n 'ne': '\\u2260',\n 'ni': '\\u220B',\n 'not': '\\u00AC',\n 'notin': '\\u2209',\n 'nsub': '\\u2284',\n 'Ntilde': '\\u00D1',\n 'ntilde': '\\u00F1',\n 'Nu': '\\u039D',\n 'nu': '\\u03BD',\n 'Oacute': '\\u00D3',\n 'oacute': '\\u00F3',\n 'Ocirc': '\\u00D4',\n 'ocirc': '\\u00F4',\n 'OElig': '\\u0152',\n 'oelig': '\\u0153',\n 'Ograve': '\\u00D2',\n 'ograve': '\\u00F2',\n 'oline': '\\u203E',\n 'Omega': '\\u03A9',\n 'omega': '\\u03C9',\n 'Omicron': '\\u039F',\n 'omicron': '\\u03BF',\n 'oplus': '\\u2295',\n 'or': '\\u2228',\n 'ordf': '\\u00AA',\n 'ordm': '\\u00BA',\n 'Oslash': '\\u00D8',\n 'oslash': '\\u00F8',\n 'Otilde': '\\u00D5',\n 'otilde': '\\u00F5',\n 'otimes': '\\u2297',\n 'Ouml': '\\u00D6',\n 'ouml': '\\u00F6',\n 'para': '\\u00B6',\n 'permil': '\\u2030',\n 'perp': '\\u22A5',\n 'Phi': '\\u03A6',\n 'phi': '\\u03C6',\n 'Pi': '\\u03A0',\n 'pi': '\\u03C0',\n 'piv': '\\u03D6',\n 'plusmn': '\\u00B1',\n 'pound': '\\u00A3',\n 'prime': '\\u2032',\n 'Prime': '\\u2033',\n 'prod': '\\u220F',\n 'prop': '\\u221D',\n 'Psi': '\\u03A8',\n 'psi': '\\u03C8',\n 'quot': '\\u0022',\n 'radic': '\\u221A',\n 'rang': '\\u27E9',\n 'raquo': '\\u00BB',\n 'rarr': '\\u2192',\n 'rArr': '\\u21D2',\n 'rceil': '\\u2309',\n 'rdquo': '\\u201D',\n 'real': '\\u211C',\n 'reg': '\\u00AE',\n 'rfloor': '\\u230B',\n 'Rho': '\\u03A1',\n 'rho': '\\u03C1',\n 'rlm': '\\u200F',\n 'rsaquo': '\\u203A',\n 'rsquo': '\\u2019',\n 'sbquo': '\\u201A',\n 'Scaron': '\\u0160',\n 'scaron': '\\u0161',\n 'sdot': '\\u22C5',\n 'sect': '\\u00A7',\n 'shy': '\\u00AD',\n 'Sigma': '\\u03A3',\n 'sigma': '\\u03C3',\n 'sigmaf': '\\u03C2',\n 'sim': '\\u223C',\n 'spades': '\\u2660',\n 'sub': '\\u2282',\n 'sube': '\\u2286',\n 'sum': '\\u2211',\n 'sup': '\\u2283',\n 'sup1': '\\u00B9',\n 'sup2': '\\u00B2',\n 'sup3': '\\u00B3',\n 'supe': '\\u2287',\n 'szlig': '\\u00DF',\n 'Tau': '\\u03A4',\n 'tau': '\\u03C4',\n 'there4': '\\u2234',\n 'Theta': '\\u0398',\n 'theta': '\\u03B8',\n 'thetasym': '\\u03D1',\n 'thinsp': '\\u2009',\n 'THORN': '\\u00DE',\n 'thorn': '\\u00FE',\n 'tilde': '\\u02DC',\n 'times': '\\u00D7',\n 'trade': '\\u2122',\n 'Uacute': '\\u00DA',\n 'uacute': '\\u00FA',\n 'uarr': '\\u2191',\n 'uArr': '\\u21D1',\n 'Ucirc': '\\u00DB',\n 'ucirc': '\\u00FB',\n 'Ugrave': '\\u00D9',\n 'ugrave': '\\u00F9',\n 'uml': '\\u00A8',\n 'upsih': '\\u03D2',\n 'Upsilon': '\\u03A5',\n 'upsilon': '\\u03C5',\n 'Uuml': '\\u00DC',\n 'uuml': '\\u00FC',\n 'weierp': '\\u2118',\n 'Xi': '\\u039E',\n 'xi': '\\u03BE',\n 'Yacute': '\\u00DD',\n 'yacute': '\\u00FD',\n 'yen': '\\u00A5',\n 'yuml': '\\u00FF',\n 'Yuml': '\\u0178',\n 'Zeta': '\\u0396',\n 'zeta': '\\u03B6',\n 'zwj': '\\u200D',\n 'zwnj': '\\u200C',\n};\n// The &ngsp; pseudo-entity is denoting a space. see:\n// https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart\nconst NGSP_UNICODE = '\\uE500';\nNAMED_ENTITIES['ngsp'] = NGSP_UNICODE;\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 HtmlTagDefinition {\n constructor({ closedByChildren, implicitNamespacePrefix, contentType = TagContentType.PARSABLE_DATA, closedByParent = false, isVoid = false, ignoreFirstLf = false, preventNamespaceInheritance = false } = {}) {\n this.closedByChildren = {};\n this.closedByParent = false;\n this.canSelfClose = false;\n if (closedByChildren && closedByChildren.length > 0) {\n closedByChildren.forEach(tagName => this.closedByChildren[tagName] = true);\n }\n this.isVoid = isVoid;\n this.closedByParent = closedByParent || isVoid;\n this.implicitNamespacePrefix = implicitNamespacePrefix || null;\n this.contentType = contentType;\n this.ignoreFirstLf = ignoreFirstLf;\n this.preventNamespaceInheritance = preventNamespaceInheritance;\n }\n isClosedByChild(name) {\n return this.isVoid || name.toLowerCase() in this.closedByChildren;\n }\n getContentType(prefix) {\n if (typeof this.contentType === 'object') {\n const overrideType = prefix == null ? undefined : this.contentType[prefix];\n return overrideType !== null && overrideType !== void 0 ? overrideType : this.contentType.default;\n }\n return this.contentType;\n }\n}\nlet _DEFAULT_TAG_DEFINITION;\n// see https://www.w3.org/TR/html51/syntax.html#optional-tags\n// This implementation does not fully conform to the HTML5 spec.\nlet TAG_DEFINITIONS;\nfunction getHtmlTagDefinition(tagName) {\n var _a, _b;\n if (!TAG_DEFINITIONS) {\n _DEFAULT_TAG_DEFINITION = new HtmlTagDefinition();\n TAG_DEFINITIONS = {\n 'base': new HtmlTagDefinition({ isVoid: true }),\n 'meta': new HtmlTagDefinition({ isVoid: true }),\n 'area': new HtmlTagDefinition({ isVoid: true }),\n 'embed': new HtmlTagDefinition({ isVoid: true }),\n 'link': new HtmlTagDefinition({ isVoid: true }),\n 'img': new HtmlTagDefinition({ isVoid: true }),\n 'input': new HtmlTagDefinition({ isVoid: true }),\n 'param': new HtmlTagDefinition({ isVoid: true }),\n 'hr': new HtmlTagDefinition({ isVoid: true }),\n 'br': new HtmlTagDefinition({ isVoid: true }),\n 'source': new HtmlTagDefinition({ isVoid: true }),\n 'track': new HtmlTagDefinition({ isVoid: true }),\n 'wbr': new HtmlTagDefinition({ isVoid: true }),\n 'p': new HtmlTagDefinition({\n closedByChildren: [\n 'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset',\n 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5',\n 'h6', 'header', 'hgroup', 'hr', 'main', 'nav', 'ol',\n 'p', 'pre', 'section', 'table', 'ul'\n ],\n closedByParent: true\n }),\n 'thead': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'] }),\n 'tbody': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'], closedByParent: true }),\n 'tfoot': new HtmlTagDefinition({ closedByChildren: ['tbody'], closedByParent: true }),\n 'tr': new HtmlTagDefinition({ closedByChildren: ['tr'], closedByParent: true }),\n 'td': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'th': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'col': new HtmlTagDefinition({ isVoid: true }),\n 'svg': new HtmlTagDefinition({ implicitNamespacePrefix: 'svg' }),\n 'foreignObject': new HtmlTagDefinition({\n // Usually the implicit namespace here would be redundant since it will be inherited from\n // the parent `svg`, but we have to do it for `foreignObject`, because the way the parser\n // works is that the parent node of an end tag is its own start tag which means that\n // the `preventNamespaceInheritance` on `foreignObject` would have it default to the\n // implicit namespace which is `html`, unless specified otherwise.\n implicitNamespacePrefix: 'svg',\n // We want to prevent children of foreignObject from inheriting its namespace, because\n // the point of the element is to allow nodes from other namespaces to be inserted.\n preventNamespaceInheritance: true,\n }),\n 'math': new HtmlTagDefinition({ implicitNamespacePrefix: 'math' }),\n 'li': new HtmlTagDefinition({ closedByChildren: ['li'], closedByParent: true }),\n 'dt': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'] }),\n 'dd': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'], closedByParent: true }),\n 'rb': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rt': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rtc': new HtmlTagDefinition({ closedByChildren: ['rb', 'rtc', 'rp'], closedByParent: true }),\n 'rp': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'optgroup': new HtmlTagDefinition({ closedByChildren: ['optgroup'], closedByParent: true }),\n 'option': new HtmlTagDefinition({ closedByChildren: ['option', 'optgroup'], closedByParent: true }),\n 'pre': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'listing': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'style': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'script': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'title': new HtmlTagDefinition({\n // The browser supports two separate `title` tags which have to use\n // a different content type: `HTMLTitleElement` and `SVGTitleElement`\n contentType: { default: TagContentType.ESCAPABLE_RAW_TEXT, svg: TagContentType.PARSABLE_DATA }\n }),\n 'textarea': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }),\n };\n }\n // We have to make both a case-sensitive and a case-insesitive lookup, because\n // HTML tag names are case insensitive, whereas some SVG tags are case sensitive.\n return (_b = (_a = TAG_DEFINITIONS[tagName]) !== null && _a !== void 0 ? _a : TAG_DEFINITIONS[tagName.toLowerCase()]) !== null && _b !== void 0 ? _b : _DEFAULT_TAG_DEFINITION;\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 _SELECTOR_REGEXP = new RegExp('(\\\\:not\\\\()|' + // 1: \":not(\"\n '(([\\\\.\\\\#]?)[-\\\\w]+)|' + // 2: \"tag\"; 3: \".\"/\"#\";\n // \"-\" should appear first in the regexp below as FF31 parses \"[.-\\w]\" as a range\n // 4: attribute; 5: attribute_string; 6: attribute_value\n '(?:\\\\[([-.\\\\w*]+)(?:=([\\\"\\']?)([^\\\\]\\\"\\']*)\\\\5)?\\\\])|' + // \"[name]\", \"[name=value]\",\n // \"[name=\"value\"]\",\n // \"[name='value']\"\n '(\\\\))|' + // 7: \")\"\n '(\\\\s*,\\\\s*)', // 8: \",\"\n'g');\n/**\n * A css selector contains an element name,\n * css classes and attribute/value pairs with the purpose\n * of selecting subsets out of them.\n */\nclass CssSelector {\n constructor() {\n this.element = null;\n this.classNames = [];\n /**\n * The selectors are encoded in pairs where:\n * - even locations are attribute names\n * - odd locations are attribute values.\n *\n * Example:\n * Selector: `[key1=value1][key2]` would parse to:\n * ```\n * ['key1', 'value1', 'key2', '']\n * ```\n */\n this.attrs = [];\n this.notSelectors = [];\n }\n static parse(selector) {\n const results = [];\n const _addResult = (res, cssSel) => {\n if (cssSel.notSelectors.length > 0 && !cssSel.element && cssSel.classNames.length == 0 &&\n cssSel.attrs.length == 0) {\n cssSel.element = '*';\n }\n res.push(cssSel);\n };\n let cssSelector = new CssSelector();\n let match;\n let current = cssSelector;\n let inNot = false;\n _SELECTOR_REGEXP.lastIndex = 0;\n while (match = _SELECTOR_REGEXP.exec(selector)) {\n if (match[1 /* NOT */]) {\n if (inNot) {\n throw new Error('Nesting :not in a selector is not allowed');\n }\n inNot = true;\n current = new CssSelector();\n cssSelector.notSelectors.push(current);\n }\n const tag = match[2 /* TAG */];\n if (tag) {\n const prefix = match[3 /* PREFIX */];\n if (prefix === '#') {\n // #hash\n current.addAttribute('id', tag.substr(1));\n }\n else if (prefix === '.') {\n // Class\n current.addClassName(tag.substr(1));\n }\n else {\n // Element\n current.setElement(tag);\n }\n }\n const attribute = match[4 /* ATTRIBUTE */];\n if (attribute) {\n current.addAttribute(attribute, match[6 /* ATTRIBUTE_VALUE */]);\n }\n if (match[7 /* NOT_END */]) {\n inNot = false;\n current = cssSelector;\n }\n if (match[8 /* SEPARATOR */]) {\n if (inNot) {\n throw new Error('Multiple selectors in :not are not supported');\n }\n _addResult(results, cssSelector);\n cssSelector = current = new CssSelector();\n }\n }\n _addResult(results, cssSelector);\n return results;\n }\n isElementSelector() {\n return this.hasElementSelector() && this.classNames.length == 0 && this.attrs.length == 0 &&\n this.notSelectors.length === 0;\n }\n hasElementSelector() {\n return !!this.element;\n }\n setElement(element = null) {\n this.element = element;\n }\n /** Gets a template string for an element that matches the selector. */\n getMatchingElementTemplate() {\n const tagName = this.element || 'div';\n const classAttr = this.classNames.length > 0 ? ` class=\"${this.classNames.join(' ')}\"` : '';\n let attrs = '';\n for (let i = 0; i < this.attrs.length; i += 2) {\n const attrName = this.attrs[i];\n const attrValue = this.attrs[i + 1] !== '' ? `=\"${this.attrs[i + 1]}\"` : '';\n attrs += ` ${attrName}${attrValue}`;\n }\n return getHtmlTagDefinition(tagName).isVoid ? `<${tagName}${classAttr}${attrs}/>` :\n `<${tagName}${classAttr}${attrs}>`;\n }\n getAttrs() {\n const result = [];\n if (this.classNames.length > 0) {\n result.push('class', this.classNames.join(' '));\n }\n return result.concat(this.attrs);\n }\n addAttribute(name, value = '') {\n this.attrs.push(name, value && value.toLowerCase() || '');\n }\n addClassName(name) {\n this.classNames.push(name.toLowerCase());\n }\n toString() {\n let res = this.element || '';\n if (this.classNames) {\n this.classNames.forEach(klass => res += `.${klass}`);\n }\n if (this.attrs) {\n for (let i = 0; i < this.attrs.length; i += 2) {\n const name = this.attrs[i];\n const value = this.attrs[i + 1];\n res += `[${name}${value ? '=' + value : ''}]`;\n }\n }\n this.notSelectors.forEach(notSelector => res += `:not(${notSelector})`);\n return res;\n }\n}\n/**\n * Reads a list of CssSelectors and allows to calculate which ones\n * are contained in a given CssSelector.\n */\nclass SelectorMatcher {\n constructor() {\n this._elementMap = new Map();\n this._elementPartialMap = new Map();\n this._classMap = new Map();\n this._classPartialMap = new Map();\n this._attrValueMap = new Map();\n this._attrValuePartialMap = new Map();\n this._listContexts = [];\n }\n static createNotMatcher(notSelectors) {\n const notMatcher = new SelectorMatcher();\n notMatcher.addSelectables(notSelectors, null);\n return notMatcher;\n }\n addSelectables(cssSelectors, callbackCtxt) {\n let listContext = null;\n if (cssSelectors.length > 1) {\n listContext = new SelectorListContext(cssSelectors);\n this._listContexts.push(listContext);\n }\n for (let i = 0; i < cssSelectors.length; i++) {\n this._addSelectable(cssSelectors[i], callbackCtxt, listContext);\n }\n }\n /**\n * Add an object that can be found later on by calling `match`.\n * @param cssSelector A css selector\n * @param callbackCtxt An opaque object that will be given to the callback of the `match` function\n */\n _addSelectable(cssSelector, callbackCtxt, listContext) {\n let matcher = this;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n const selectable = new SelectorContext(cssSelector, callbackCtxt, listContext);\n if (element) {\n const isTerminal = attrs.length === 0 && classNames.length === 0;\n if (isTerminal) {\n this._addTerminal(matcher._elementMap, element, selectable);\n }\n else {\n matcher = this._addPartial(matcher._elementPartialMap, element);\n }\n }\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const isTerminal = attrs.length === 0 && i === classNames.length - 1;\n const className = classNames[i];\n if (isTerminal) {\n this._addTerminal(matcher._classMap, className, selectable);\n }\n else {\n matcher = this._addPartial(matcher._classPartialMap, className);\n }\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const isTerminal = i === attrs.length - 2;\n const name = attrs[i];\n const value = attrs[i + 1];\n if (isTerminal) {\n const terminalMap = matcher._attrValueMap;\n let terminalValuesMap = terminalMap.get(name);\n if (!terminalValuesMap) {\n terminalValuesMap = new Map();\n terminalMap.set(name, terminalValuesMap);\n }\n this._addTerminal(terminalValuesMap, value, selectable);\n }\n else {\n const partialMap = matcher._attrValuePartialMap;\n let partialValuesMap = partialMap.get(name);\n if (!partialValuesMap) {\n partialValuesMap = new Map();\n partialMap.set(name, partialValuesMap);\n }\n matcher = this._addPartial(partialValuesMap, value);\n }\n }\n }\n }\n _addTerminal(map, name, selectable) {\n let terminalList = map.get(name);\n if (!terminalList) {\n terminalList = [];\n map.set(name, terminalList);\n }\n terminalList.push(selectable);\n }\n _addPartial(map, name) {\n let matcher = map.get(name);\n if (!matcher) {\n matcher = new SelectorMatcher();\n map.set(name, matcher);\n }\n return matcher;\n }\n /**\n * Find the objects that have been added via `addSelectable`\n * whose css selector is contained in the given css selector.\n * @param cssSelector A css selector\n * @param matchedCallback This callback will be called with the object handed into `addSelectable`\n * @return boolean true if a match was found\n */\n match(cssSelector, matchedCallback) {\n let result = false;\n const element = cssSelector.element;\n const classNames = cssSelector.classNames;\n const attrs = cssSelector.attrs;\n for (let i = 0; i < this._listContexts.length; i++) {\n this._listContexts[i].alreadyMatched = false;\n }\n result = this._matchTerminal(this._elementMap, element, cssSelector, matchedCallback) || result;\n result = this._matchPartial(this._elementPartialMap, element, cssSelector, matchedCallback) ||\n result;\n if (classNames) {\n for (let i = 0; i < classNames.length; i++) {\n const className = classNames[i];\n result =\n this._matchTerminal(this._classMap, className, cssSelector, matchedCallback) || result;\n result =\n this._matchPartial(this._classPartialMap, className, cssSelector, matchedCallback) ||\n result;\n }\n }\n if (attrs) {\n for (let i = 0; i < attrs.length; i += 2) {\n const name = attrs[i];\n const value = attrs[i + 1];\n const terminalValuesMap = this._attrValueMap.get(name);\n if (value) {\n result =\n this._matchTerminal(terminalValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchTerminal(terminalValuesMap, value, cssSelector, matchedCallback) || result;\n const partialValuesMap = this._attrValuePartialMap.get(name);\n if (value) {\n result = this._matchPartial(partialValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchPartial(partialValuesMap, value, cssSelector, matchedCallback) || result;\n }\n }\n return result;\n }\n /** @internal */\n _matchTerminal(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n let selectables = map.get(name) || [];\n const starSelectables = map.get('*');\n if (starSelectables) {\n selectables = selectables.concat(starSelectables);\n }\n if (selectables.length === 0) {\n return false;\n }\n let selectable;\n let result = false;\n for (let i = 0; i < selectables.length; i++) {\n selectable = selectables[i];\n result = selectable.finalize(cssSelector, matchedCallback) || result;\n }\n return result;\n }\n /** @internal */\n _matchPartial(map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n const nestedSelector = map.get(name);\n if (!nestedSelector) {\n return false;\n }\n // TODO(perf): get rid of recursion and measure again\n // TODO(perf): don't pass the whole selector into the recursion,\n // but only the not processed parts\n return nestedSelector.match(cssSelector, matchedCallback);\n }\n}\nclass SelectorListContext {\n constructor(selectors) {\n this.selectors = selectors;\n this.alreadyMatched = false;\n }\n}\n// Store context to pass back selector and context when a selector is matched\nclass SelectorContext {\n constructor(selector, cbContext, listContext) {\n this.selector = selector;\n this.cbContext = cbContext;\n this.listContext = listContext;\n this.notSelectors = selector.notSelectors;\n }\n finalize(cssSelector, callback) {\n let result = true;\n if (this.notSelectors.length > 0 && (!this.listContext || !this.listContext.alreadyMatched)) {\n const notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors);\n result = !notMatcher.match(cssSelector, null);\n }\n if (result && callback && (!this.listContext || !this.listContext.alreadyMatched)) {\n if (this.listContext) {\n this.listContext.alreadyMatched = true;\n }\n callback(this.selector, this.cbContext);\n }\n return result;\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 createInject = makeMetadataFactory('Inject', (token) => ({ token }));\nconst createInjectionToken = makeMetadataFactory('InjectionToken', (desc) => ({ _desc: desc, ɵprov: undefined }));\nconst createAttribute = makeMetadataFactory('Attribute', (attributeName) => ({ attributeName }));\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/core/src/metadata/di.ts\nconst emitDistinctChangesOnlyDefaultValue = false;\nconst createContentChildren = makeMetadataFactory('ContentChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false, emitDistinctChangesOnly: emitDistinctChangesOnlyDefaultValue }, data)));\nconst createContentChild = makeMetadataFactory('ContentChild', (selector, data = {}) => (Object.assign({ selector, first: true, isViewQuery: false, descendants: true }, data)));\nconst createViewChildren = makeMetadataFactory('ViewChildren', (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true, emitDistinctChangesOnly: emitDistinctChangesOnlyDefaultValue }, data)));\nconst createViewChild = makeMetadataFactory('ViewChild', (selector, data) => (Object.assign({ selector, first: true, isViewQuery: true, descendants: true }, data)));\nconst createDirective = makeMetadataFactory('Directive', (dir = {}) => dir);\nvar ViewEncapsulation;\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 || (ViewEncapsulation = {}));\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\nconst createComponent = makeMetadataFactory('Component', (c = {}) => (Object.assign({ changeDetection: ChangeDetectionStrategy.Default }, c)));\nconst createPipe = makeMetadataFactory('Pipe', (p) => (Object.assign({ pure: true }, p)));\nconst createInput = makeMetadataFactory('Input', (bindingPropertyName) => ({ bindingPropertyName }));\nconst createOutput = makeMetadataFactory('Output', (bindingPropertyName) => ({ bindingPropertyName }));\nconst createHostBinding = makeMetadataFactory('HostBinding', (hostPropertyName) => ({ hostPropertyName }));\nconst createHostListener = makeMetadataFactory('HostListener', (eventName, args) => ({ eventName, args }));\nconst createNgModule = makeMetadataFactory('NgModule', (ngModule) => ngModule);\nconst createInjectable = makeMetadataFactory('Injectable', (injectable = {}) => injectable);\nconst CUSTOM_ELEMENTS_SCHEMA = {\n name: 'custom-elements'\n};\nconst NO_ERRORS_SCHEMA = {\n name: 'no-errors-schema'\n};\nconst createOptional = makeMetadataFactory('Optional');\nconst createSelf = makeMetadataFactory('Self');\nconst createSkipSelf = makeMetadataFactory('SkipSelf');\nconst createHost = makeMetadataFactory('Host');\nconst Type = Function;\nvar SecurityContext;\n(function (SecurityContext) {\n SecurityContext[SecurityContext[\"NONE\"] = 0] = \"NONE\";\n SecurityContext[SecurityContext[\"HTML\"] = 1] = \"HTML\";\n SecurityContext[SecurityContext[\"STYLE\"] = 2] = \"STYLE\";\n SecurityContext[SecurityContext[\"SCRIPT\"] = 3] = \"SCRIPT\";\n SecurityContext[SecurityContext[\"URL\"] = 4] = \"URL\";\n SecurityContext[SecurityContext[\"RESOURCE_URL\"] = 5] = \"RESOURCE_URL\";\n})(SecurityContext || (SecurityContext = {}));\nvar MissingTranslationStrategy;\n(function (MissingTranslationStrategy) {\n MissingTranslationStrategy[MissingTranslationStrategy[\"Error\"] = 0] = \"Error\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Warning\"] = 1] = \"Warning\";\n MissingTranslationStrategy[MissingTranslationStrategy[\"Ignore\"] = 2] = \"Ignore\";\n})(MissingTranslationStrategy || (MissingTranslationStrategy = {}));\nfunction makeMetadataFactory(name, props) {\n // This must be declared as a function, not a fat arrow, so that ES2015 devmode produces code\n // that works with the static_reflector.ts in the ViewEngine compiler.\n // In particular, `_registerDecoratorOrConstructor` assumes that the value returned here can be\n // new'ed.\n function factory(...args) {\n const values = props ? props(...args) : {};\n return Object.assign({ ngMetadataName: name }, values);\n }\n factory.isTypeOf = (obj) => obj && obj.ngMetadataName === name;\n factory.ngMetadataName = name;\n return factory;\n}\nfunction parserSelectorToSimpleSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* CLASS */, ...selector.classNames] :\n [];\n const elementName = selector.element && selector.element !== '*' ? selector.element : '';\n return [elementName, ...selector.attrs, ...classes];\n}\nfunction parserSelectorToNegativeSelector(selector) {\n const classes = selector.classNames && selector.classNames.length ?\n [8 /* CLASS */, ...selector.classNames] :\n [];\n if (selector.element) {\n return [\n 1 /* NOT */ | 4 /* ELEMENT */, selector.element, ...selector.attrs, ...classes\n ];\n }\n else if (selector.attrs.length) {\n return [1 /* NOT */ | 2 /* ATTRIBUTE */, ...selector.attrs, ...classes];\n }\n else {\n return selector.classNames && selector.classNames.length ?\n [1 /* NOT */ | 8 /* CLASS */, ...selector.classNames] :\n [];\n }\n}\nfunction parserSelectorToR3Selector(selector) {\n const positive = parserSelectorToSimpleSelector(selector);\n const negative = selector.notSelectors && selector.notSelectors.length ?\n selector.notSelectors.map(notSelector => parserSelectorToNegativeSelector(notSelector)) :\n [];\n return positive.concat(...negative);\n}\nfunction parseSelectorToR3Selector(selector) {\n return selector ? CssSelector.parse(selector).map(parserSelectorToR3Selector) : [];\n}\n\nvar core = /*#__PURE__*/Object.freeze({\n __proto__: null,\n createInject: createInject,\n createInjectionToken: createInjectionToken,\n createAttribute: createAttribute,\n emitDistinctChangesOnlyDefaultValue: emitDistinctChangesOnlyDefaultValue,\n createContentChildren: createContentChildren,\n createContentChild: createContentChild,\n createViewChildren: createViewChildren,\n createViewChild: createViewChild,\n createDirective: createDirective,\n get ViewEncapsulation () { return ViewEncapsulation; },\n get ChangeDetectionStrategy () { return ChangeDetectionStrategy; },\n createComponent: createComponent,\n createPipe: createPipe,\n createInput: createInput,\n createOutput: createOutput,\n createHostBinding: createHostBinding,\n createHostListener: createHostListener,\n createNgModule: createNgModule,\n createInjectable: createInjectable,\n CUSTOM_ELEMENTS_SCHEMA: CUSTOM_ELEMENTS_SCHEMA,\n NO_ERRORS_SCHEMA: NO_ERRORS_SCHEMA,\n createOptional: createOptional,\n createSelf: createSelf,\n createSkipSelf: createSkipSelf,\n createHost: createHost,\n Type: Type,\n get SecurityContext () { return SecurityContext; },\n get MissingTranslationStrategy () { return MissingTranslationStrategy; },\n parseSelectorToR3Selector: parseSelectorToR3Selector\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//// Types\nvar TypeModifier;\n(function (TypeModifier) {\n TypeModifier[TypeModifier[\"Const\"] = 0] = \"Const\";\n})(TypeModifier || (TypeModifier = {}));\nclass Type$1 {\n constructor(modifiers = []) {\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n}\nvar BuiltinTypeName;\n(function (BuiltinTypeName) {\n BuiltinTypeName[BuiltinTypeName[\"Dynamic\"] = 0] = \"Dynamic\";\n BuiltinTypeName[BuiltinTypeName[\"Bool\"] = 1] = \"Bool\";\n BuiltinTypeName[BuiltinTypeName[\"String\"] = 2] = \"String\";\n BuiltinTypeName[BuiltinTypeName[\"Int\"] = 3] = \"Int\";\n BuiltinTypeName[BuiltinTypeName[\"Number\"] = 4] = \"Number\";\n BuiltinTypeName[BuiltinTypeName[\"Function\"] = 5] = \"Function\";\n BuiltinTypeName[BuiltinTypeName[\"Inferred\"] = 6] = \"Inferred\";\n BuiltinTypeName[BuiltinTypeName[\"None\"] = 7] = \"None\";\n})(BuiltinTypeName || (BuiltinTypeName = {}));\nclass BuiltinType extends Type$1 {\n constructor(name, modifiers) {\n super(modifiers);\n this.name = name;\n }\n visitType(visitor, context) {\n return visitor.visitBuiltinType(this, context);\n }\n}\nclass ExpressionType extends Type$1 {\n constructor(value, modifiers, typeParams = null) {\n super(modifiers);\n this.value = value;\n this.typeParams = typeParams;\n }\n visitType(visitor, context) {\n return visitor.visitExpressionType(this, context);\n }\n}\nclass ArrayType extends Type$1 {\n constructor(of, modifiers) {\n super(modifiers);\n this.of = of;\n }\n visitType(visitor, context) {\n return visitor.visitArrayType(this, context);\n }\n}\nclass MapType extends Type$1 {\n constructor(valueType, modifiers) {\n super(modifiers);\n this.valueType = valueType || null;\n }\n visitType(visitor, context) {\n return visitor.visitMapType(this, context);\n }\n}\nconst DYNAMIC_TYPE = new BuiltinType(BuiltinTypeName.Dynamic);\nconst INFERRED_TYPE = new BuiltinType(BuiltinTypeName.Inferred);\nconst BOOL_TYPE = new BuiltinType(BuiltinTypeName.Bool);\nconst INT_TYPE = new BuiltinType(BuiltinTypeName.Int);\nconst NUMBER_TYPE = new BuiltinType(BuiltinTypeName.Number);\nconst STRING_TYPE = new BuiltinType(BuiltinTypeName.String);\nconst FUNCTION_TYPE = new BuiltinType(BuiltinTypeName.Function);\nconst NONE_TYPE = new BuiltinType(BuiltinTypeName.None);\n///// Expressions\nvar UnaryOperator;\n(function (UnaryOperator) {\n UnaryOperator[UnaryOperator[\"Minus\"] = 0] = \"Minus\";\n UnaryOperator[UnaryOperator[\"Plus\"] = 1] = \"Plus\";\n})(UnaryOperator || (UnaryOperator = {}));\nvar BinaryOperator;\n(function (BinaryOperator) {\n BinaryOperator[BinaryOperator[\"Equals\"] = 0] = \"Equals\";\n BinaryOperator[BinaryOperator[\"NotEquals\"] = 1] = \"NotEquals\";\n BinaryOperator[BinaryOperator[\"Identical\"] = 2] = \"Identical\";\n BinaryOperator[BinaryOperator[\"NotIdentical\"] = 3] = \"NotIdentical\";\n BinaryOperator[BinaryOperator[\"Minus\"] = 4] = \"Minus\";\n BinaryOperator[BinaryOperator[\"Plus\"] = 5] = \"Plus\";\n BinaryOperator[BinaryOperator[\"Divide\"] = 6] = \"Divide\";\n BinaryOperator[BinaryOperator[\"Multiply\"] = 7] = \"Multiply\";\n BinaryOperator[BinaryOperator[\"Modulo\"] = 8] = \"Modulo\";\n BinaryOperator[BinaryOperator[\"And\"] = 9] = \"And\";\n BinaryOperator[BinaryOperator[\"Or\"] = 10] = \"Or\";\n BinaryOperator[BinaryOperator[\"BitwiseAnd\"] = 11] = \"BitwiseAnd\";\n BinaryOperator[BinaryOperator[\"Lower\"] = 12] = \"Lower\";\n BinaryOperator[BinaryOperator[\"LowerEquals\"] = 13] = \"LowerEquals\";\n BinaryOperator[BinaryOperator[\"Bigger\"] = 14] = \"Bigger\";\n BinaryOperator[BinaryOperator[\"BiggerEquals\"] = 15] = \"BiggerEquals\";\n})(BinaryOperator || (BinaryOperator = {}));\nfunction nullSafeIsEquivalent(base, other) {\n if (base == null || other == null) {\n return base == other;\n }\n return base.isEquivalent(other);\n}\nfunction areAllEquivalentPredicate(base, other, equivalentPredicate) {\n const len = base.length;\n if (len !== other.length) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n if (!equivalentPredicate(base[i], other[i])) {\n return false;\n }\n }\n return true;\n}\nfunction areAllEquivalent(base, other) {\n return areAllEquivalentPredicate(base, other, (baseElement, otherElement) => baseElement.isEquivalent(otherElement));\n}\nclass Expression {\n constructor(type, sourceSpan) {\n this.type = type || null;\n this.sourceSpan = sourceSpan || null;\n }\n prop(name, sourceSpan) {\n return new ReadPropExpr(this, name, null, sourceSpan);\n }\n key(index, type, sourceSpan) {\n return new ReadKeyExpr(this, index, type, sourceSpan);\n }\n callMethod(name, params, sourceSpan) {\n return new InvokeMethodExpr(this, name, params, null, sourceSpan);\n }\n callFn(params, sourceSpan, pure) {\n return new InvokeFunctionExpr(this, params, null, sourceSpan, pure);\n }\n instantiate(params, type, sourceSpan) {\n return new InstantiateExpr(this, params, type, sourceSpan);\n }\n conditional(trueCase, falseCase = null, sourceSpan) {\n return new ConditionalExpr(this, trueCase, falseCase, null, sourceSpan);\n }\n equals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Equals, this, rhs, null, sourceSpan);\n }\n notEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotEquals, this, rhs, null, sourceSpan);\n }\n identical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Identical, this, rhs, null, sourceSpan);\n }\n notIdentical(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.NotIdentical, this, rhs, null, sourceSpan);\n }\n minus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Minus, this, rhs, null, sourceSpan);\n }\n plus(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Plus, this, rhs, null, sourceSpan);\n }\n divide(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Divide, this, rhs, null, sourceSpan);\n }\n multiply(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Multiply, this, rhs, null, sourceSpan);\n }\n modulo(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Modulo, this, rhs, null, sourceSpan);\n }\n and(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.And, this, rhs, null, sourceSpan);\n }\n bitwiseAnd(rhs, sourceSpan, parens = true) {\n return new BinaryOperatorExpr(BinaryOperator.BitwiseAnd, this, rhs, null, sourceSpan, parens);\n }\n or(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Or, this, rhs, null, sourceSpan);\n }\n lower(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Lower, this, rhs, null, sourceSpan);\n }\n lowerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.LowerEquals, this, rhs, null, sourceSpan);\n }\n bigger(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.Bigger, this, rhs, null, sourceSpan);\n }\n biggerEquals(rhs, sourceSpan) {\n return new BinaryOperatorExpr(BinaryOperator.BiggerEquals, this, rhs, null, sourceSpan);\n }\n isBlank(sourceSpan) {\n // Note: We use equals by purpose here to compare to null and undefined in JS.\n // We use the typed null to allow strictNullChecks to narrow types.\n return this.equals(TYPED_NULL_EXPR, sourceSpan);\n }\n cast(type, sourceSpan) {\n return new CastExpr(this, type, sourceSpan);\n }\n toStmt() {\n return new ExpressionStatement(this, null);\n }\n}\nvar BuiltinVar;\n(function (BuiltinVar) {\n BuiltinVar[BuiltinVar[\"This\"] = 0] = \"This\";\n BuiltinVar[BuiltinVar[\"Super\"] = 1] = \"Super\";\n BuiltinVar[BuiltinVar[\"CatchError\"] = 2] = \"CatchError\";\n BuiltinVar[BuiltinVar[\"CatchStack\"] = 3] = \"CatchStack\";\n})(BuiltinVar || (BuiltinVar = {}));\nclass ReadVarExpr extends Expression {\n constructor(name, type, sourceSpan) {\n super(type, sourceSpan);\n if (typeof name === 'string') {\n this.name = name;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = name;\n }\n }\n isEquivalent(e) {\n return e instanceof ReadVarExpr && this.name === e.name && this.builtin === e.builtin;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadVarExpr(this, context);\n }\n set(value) {\n if (!this.name) {\n throw new Error(`Built in variable ${this.builtin} can not be assigned to.`);\n }\n return new WriteVarExpr(this.name, value, null, this.sourceSpan);\n }\n}\nclass TypeofExpr extends Expression {\n constructor(expr, type, sourceSpan) {\n super(type, sourceSpan);\n this.expr = expr;\n }\n visitExpression(visitor, context) {\n return visitor.visitTypeofExpr(this, context);\n }\n isEquivalent(e) {\n return e instanceof TypeofExpr && e.expr.isEquivalent(this.expr);\n }\n isConstant() {\n return this.expr.isConstant();\n }\n}\nclass WrappedNodeExpr extends Expression {\n constructor(node, type, sourceSpan) {\n super(type, sourceSpan);\n this.node = node;\n }\n isEquivalent(e) {\n return e instanceof WrappedNodeExpr && this.node === e.node;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWrappedNodeExpr(this, context);\n }\n}\nclass WriteVarExpr extends Expression {\n constructor(name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteVarExpr && this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteVarExpr(this, context);\n }\n toDeclStmt(type, modifiers) {\n return new DeclareVarStmt(this.name, this.value, type, modifiers, this.sourceSpan);\n }\n toConstDecl() {\n return this.toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]);\n }\n}\nclass WriteKeyExpr extends Expression {\n constructor(receiver, index, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WriteKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index) && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWriteKeyExpr(this, context);\n }\n}\nclass WritePropExpr extends Expression {\n constructor(receiver, name, value, type, sourceSpan) {\n super(type || value.type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof WritePropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitWritePropExpr(this, context);\n }\n}\nvar BuiltinMethod;\n(function (BuiltinMethod) {\n BuiltinMethod[BuiltinMethod[\"ConcatArray\"] = 0] = \"ConcatArray\";\n BuiltinMethod[BuiltinMethod[\"SubscribeObservable\"] = 1] = \"SubscribeObservable\";\n BuiltinMethod[BuiltinMethod[\"Bind\"] = 2] = \"Bind\";\n})(BuiltinMethod || (BuiltinMethod = {}));\nclass InvokeMethodExpr extends Expression {\n constructor(receiver, method, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.args = args;\n if (typeof method === 'string') {\n this.name = method;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = method;\n }\n }\n isEquivalent(e) {\n return e instanceof InvokeMethodExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name && this.builtin === e.builtin && areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeMethodExpr(this, context);\n }\n}\nclass InvokeFunctionExpr extends Expression {\n constructor(fn, args, type, sourceSpan, pure = false) {\n super(type, sourceSpan);\n this.fn = fn;\n this.args = args;\n this.pure = pure;\n }\n isEquivalent(e) {\n return e instanceof InvokeFunctionExpr && this.fn.isEquivalent(e.fn) &&\n areAllEquivalent(this.args, e.args) && this.pure === e.pure;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInvokeFunctionExpr(this, context);\n }\n}\nclass TaggedTemplateExpr extends Expression {\n constructor(tag, template, type, sourceSpan) {\n super(type, sourceSpan);\n this.tag = tag;\n this.template = template;\n }\n isEquivalent(e) {\n return e instanceof TaggedTemplateExpr && this.tag.isEquivalent(e.tag) &&\n areAllEquivalentPredicate(this.template.elements, e.template.elements, (a, b) => a.text === b.text) &&\n areAllEquivalent(this.template.expressions, e.template.expressions);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitTaggedTemplateExpr(this, context);\n }\n}\nclass InstantiateExpr extends Expression {\n constructor(classExpr, args, type, sourceSpan) {\n super(type, sourceSpan);\n this.classExpr = classExpr;\n this.args = args;\n }\n isEquivalent(e) {\n return e instanceof InstantiateExpr && this.classExpr.isEquivalent(e.classExpr) &&\n areAllEquivalent(this.args, e.args);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitInstantiateExpr(this, context);\n }\n}\nclass LiteralExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof LiteralExpr && this.value === e.value;\n }\n isConstant() {\n return true;\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralExpr(this, context);\n }\n}\nclass TemplateLiteral {\n constructor(elements, expressions) {\n this.elements = elements;\n this.expressions = expressions;\n }\n}\nclass TemplateLiteralElement {\n constructor(text, sourceSpan, rawText) {\n var _a;\n this.text = text;\n this.sourceSpan = sourceSpan;\n // If `rawText` is not provided, try to extract the raw string from its\n // associated `sourceSpan`. If that is also not available, \"fake\" the raw\n // string instead by escaping the following control sequences:\n // - \"\\\" would otherwise indicate that the next character is a control character.\n // - \"`\" and \"${\" are template string control sequences that would otherwise prematurely\n // indicate the end of the template literal element.\n this.rawText = (_a = rawText !== null && rawText !== void 0 ? rawText : sourceSpan === null || sourceSpan === void 0 ? void 0 : sourceSpan.toString()) !== null && _a !== void 0 ? _a : escapeForTemplateLiteral(escapeSlashes(text));\n }\n}\nclass MessagePiece {\n constructor(text, sourceSpan) {\n this.text = text;\n this.sourceSpan = sourceSpan;\n }\n}\nclass LiteralPiece extends MessagePiece {\n}\nclass PlaceholderPiece extends MessagePiece {\n}\nclass LocalizedString extends Expression {\n constructor(metaBlock, messageParts, placeHolderNames, expressions, sourceSpan) {\n super(STRING_TYPE, sourceSpan);\n this.metaBlock = metaBlock;\n this.messageParts = messageParts;\n this.placeHolderNames = placeHolderNames;\n this.expressions = expressions;\n }\n isEquivalent(e) {\n // return e instanceof LocalizedString && this.message === e.message;\n return false;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitLocalizedString(this, context);\n }\n /**\n * Serialize the given `meta` and `messagePart` into \"cooked\" and \"raw\" strings that can be used\n * in a `$localize` tagged string. The format of the metadata is the same as that parsed by\n * `parseI18nMeta()`.\n *\n * @param meta The metadata to serialize\n * @param messagePart The first part of the tagged string\n */\n serializeI18nHead() {\n const MEANING_SEPARATOR = '|';\n const ID_SEPARATOR = '@@';\n const LEGACY_ID_INDICATOR = '␟';\n let metaBlock = this.metaBlock.description || '';\n if (this.metaBlock.meaning) {\n metaBlock = `${this.metaBlock.meaning}${MEANING_SEPARATOR}${metaBlock}`;\n }\n if (this.metaBlock.customId) {\n metaBlock = `${metaBlock}${ID_SEPARATOR}${this.metaBlock.customId}`;\n }\n if (this.metaBlock.legacyIds) {\n this.metaBlock.legacyIds.forEach(legacyId => {\n metaBlock = `${metaBlock}${LEGACY_ID_INDICATOR}${legacyId}`;\n });\n }\n return createCookedRawString(metaBlock, this.messageParts[0].text, this.getMessagePartSourceSpan(0));\n }\n getMessagePartSourceSpan(i) {\n var _a, _b;\n return (_b = (_a = this.messageParts[i]) === null || _a === void 0 ? void 0 : _a.sourceSpan) !== null && _b !== void 0 ? _b : this.sourceSpan;\n }\n getPlaceholderSourceSpan(i) {\n var _a, _b, _c, _d;\n return (_d = (_b = (_a = this.placeHolderNames[i]) === null || _a === void 0 ? void 0 : _a.sourceSpan) !== null && _b !== void 0 ? _b : (_c = this.expressions[i]) === null || _c === void 0 ? void 0 : _c.sourceSpan) !== null && _d !== void 0 ? _d : this.sourceSpan;\n }\n /**\n * Serialize the given `placeholderName` and `messagePart` into \"cooked\" and \"raw\" strings that\n * can be used in a `$localize` tagged string.\n *\n * @param placeholderName The placeholder name to serialize\n * @param messagePart The following message string after this placeholder\n */\n serializeI18nTemplatePart(partIndex) {\n const placeholderName = this.placeHolderNames[partIndex - 1].text;\n const messagePart = this.messageParts[partIndex];\n return createCookedRawString(placeholderName, messagePart.text, this.getMessagePartSourceSpan(partIndex));\n }\n}\nconst escapeSlashes = (str) => str.replace(/\\\\/g, '\\\\\\\\');\nconst escapeStartingColon = (str) => str.replace(/^:/, '\\\\:');\nconst escapeColons = (str) => str.replace(/:/g, '\\\\:');\nconst escapeForTemplateLiteral = (str) => str.replace(/`/g, '\\\\`').replace(/\\${/g, '$\\\\{');\n/**\n * Creates a `{cooked, raw}` object from the `metaBlock` and `messagePart`.\n *\n * The `raw` text must have various character sequences escaped:\n * * \"\\\" would otherwise indicate that the next character is a control character.\n * * \"`\" and \"${\" are template string control sequences that would otherwise prematurely indicate\n * the end of a message part.\n * * \":\" inside a metablock would prematurely indicate the end of the metablock.\n * * \":\" at the start of a messagePart with no metablock would erroneously indicate the start of a\n * metablock.\n *\n * @param metaBlock Any metadata that should be prepended to the string\n * @param messagePart The message part of the string\n */\nfunction createCookedRawString(metaBlock, messagePart, range) {\n if (metaBlock === '') {\n return {\n cooked: messagePart,\n raw: escapeForTemplateLiteral(escapeStartingColon(escapeSlashes(messagePart))),\n range,\n };\n }\n else {\n return {\n cooked: `:${metaBlock}:${messagePart}`,\n raw: escapeForTemplateLiteral(`:${escapeColons(escapeSlashes(metaBlock))}:${escapeSlashes(messagePart)}`),\n range,\n };\n }\n}\nclass ExternalExpr extends Expression {\n constructor(value, type, typeParams = null, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n this.typeParams = typeParams;\n }\n isEquivalent(e) {\n return e instanceof ExternalExpr && this.value.name === e.value.name &&\n this.value.moduleName === e.value.moduleName && this.value.runtime === e.value.runtime;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitExternalExpr(this, context);\n }\n}\nclass ExternalReference {\n constructor(moduleName, name, runtime) {\n this.moduleName = moduleName;\n this.name = name;\n this.runtime = runtime;\n }\n}\nclass ConditionalExpr extends Expression {\n constructor(condition, trueCase, falseCase = null, type, sourceSpan) {\n super(type || trueCase.type, sourceSpan);\n this.condition = condition;\n this.falseCase = falseCase;\n this.trueCase = trueCase;\n }\n isEquivalent(e) {\n return e instanceof ConditionalExpr && this.condition.isEquivalent(e.condition) &&\n this.trueCase.isEquivalent(e.trueCase) && nullSafeIsEquivalent(this.falseCase, e.falseCase);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitConditionalExpr(this, context);\n }\n}\nclass NotExpr extends Expression {\n constructor(condition, sourceSpan) {\n super(BOOL_TYPE, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof NotExpr && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitNotExpr(this, context);\n }\n}\nclass AssertNotNull extends Expression {\n constructor(condition, sourceSpan) {\n super(condition.type, sourceSpan);\n this.condition = condition;\n }\n isEquivalent(e) {\n return e instanceof AssertNotNull && this.condition.isEquivalent(e.condition);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitAssertNotNullExpr(this, context);\n }\n}\nclass CastExpr extends Expression {\n constructor(value, type, sourceSpan) {\n super(type, sourceSpan);\n this.value = value;\n }\n isEquivalent(e) {\n return e instanceof CastExpr && this.value.isEquivalent(e.value);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCastExpr(this, context);\n }\n}\nclass FnParam {\n constructor(name, type = null) {\n this.name = name;\n this.type = type;\n }\n isEquivalent(param) {\n return this.name === param.name;\n }\n}\nclass FunctionExpr extends Expression {\n constructor(params, statements, type, sourceSpan, name) {\n super(type, sourceSpan);\n this.params = params;\n this.statements = statements;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof FunctionExpr && areAllEquivalent(this.params, e.params) &&\n areAllEquivalent(this.statements, e.statements);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitFunctionExpr(this, context);\n }\n toDeclStmt(name, modifiers) {\n return new DeclareFunctionStmt(name, this.params, this.statements, this.type, modifiers, this.sourceSpan);\n }\n}\nclass UnaryOperatorExpr extends Expression {\n constructor(operator, expr, type, sourceSpan, parens = true) {\n super(type || NUMBER_TYPE, sourceSpan);\n this.operator = operator;\n this.expr = expr;\n this.parens = parens;\n }\n isEquivalent(e) {\n return e instanceof UnaryOperatorExpr && this.operator === e.operator &&\n this.expr.isEquivalent(e.expr);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitUnaryOperatorExpr(this, context);\n }\n}\nclass BinaryOperatorExpr extends Expression {\n constructor(operator, lhs, rhs, type, sourceSpan, parens = true) {\n super(type || lhs.type, sourceSpan);\n this.operator = operator;\n this.rhs = rhs;\n this.parens = parens;\n this.lhs = lhs;\n }\n isEquivalent(e) {\n return e instanceof BinaryOperatorExpr && this.operator === e.operator &&\n this.lhs.isEquivalent(e.lhs) && this.rhs.isEquivalent(e.rhs);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitBinaryOperatorExpr(this, context);\n }\n}\nclass ReadPropExpr extends Expression {\n constructor(receiver, name, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.name = name;\n }\n isEquivalent(e) {\n return e instanceof ReadPropExpr && this.receiver.isEquivalent(e.receiver) &&\n this.name === e.name;\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadPropExpr(this, context);\n }\n set(value) {\n return new WritePropExpr(this.receiver, this.name, value, null, this.sourceSpan);\n }\n}\nclass ReadKeyExpr extends Expression {\n constructor(receiver, index, type, sourceSpan) {\n super(type, sourceSpan);\n this.receiver = receiver;\n this.index = index;\n }\n isEquivalent(e) {\n return e instanceof ReadKeyExpr && this.receiver.isEquivalent(e.receiver) &&\n this.index.isEquivalent(e.index);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitReadKeyExpr(this, context);\n }\n set(value) {\n return new WriteKeyExpr(this.receiver, this.index, value, null, this.sourceSpan);\n }\n}\nclass LiteralArrayExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n }\n isConstant() {\n return this.entries.every(e => e.isConstant());\n }\n isEquivalent(e) {\n return e instanceof LiteralArrayExpr && areAllEquivalent(this.entries, e.entries);\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralArrayExpr(this, context);\n }\n}\nclass LiteralMapEntry {\n constructor(key, value, quoted) {\n this.key = key;\n this.value = value;\n this.quoted = quoted;\n }\n isEquivalent(e) {\n return this.key === e.key && this.value.isEquivalent(e.value);\n }\n}\nclass LiteralMapExpr extends Expression {\n constructor(entries, type, sourceSpan) {\n super(type, sourceSpan);\n this.entries = entries;\n this.valueType = null;\n if (type) {\n this.valueType = type.valueType;\n }\n }\n isEquivalent(e) {\n return e instanceof LiteralMapExpr && areAllEquivalent(this.entries, e.entries);\n }\n isConstant() {\n return this.entries.every(e => e.value.isConstant());\n }\n visitExpression(visitor, context) {\n return visitor.visitLiteralMapExpr(this, context);\n }\n}\nclass CommaExpr extends Expression {\n constructor(parts, sourceSpan) {\n super(parts[parts.length - 1].type, sourceSpan);\n this.parts = parts;\n }\n isEquivalent(e) {\n return e instanceof CommaExpr && areAllEquivalent(this.parts, e.parts);\n }\n isConstant() {\n return false;\n }\n visitExpression(visitor, context) {\n return visitor.visitCommaExpr(this, context);\n }\n}\nconst THIS_EXPR = new ReadVarExpr(BuiltinVar.This, null, null);\nconst SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super, null, null);\nconst CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError, null, null);\nconst CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack, null, null);\nconst NULL_EXPR = new LiteralExpr(null, null, null);\nconst TYPED_NULL_EXPR = new LiteralExpr(null, INFERRED_TYPE, null);\n//// Statements\nvar StmtModifier;\n(function (StmtModifier) {\n StmtModifier[StmtModifier[\"Final\"] = 0] = \"Final\";\n StmtModifier[StmtModifier[\"Private\"] = 1] = \"Private\";\n StmtModifier[StmtModifier[\"Exported\"] = 2] = \"Exported\";\n StmtModifier[StmtModifier[\"Static\"] = 3] = \"Static\";\n})(StmtModifier || (StmtModifier = {}));\nclass LeadingComment {\n constructor(text, multiline, trailingNewline) {\n this.text = text;\n this.multiline = multiline;\n this.trailingNewline = trailingNewline;\n }\n toString() {\n return this.multiline ? ` ${this.text} ` : this.text;\n }\n}\nclass JSDocComment extends LeadingComment {\n constructor(tags) {\n super('', /* multiline */ true, /* trailingNewline */ true);\n this.tags = tags;\n }\n toString() {\n return serializeTags(this.tags);\n }\n}\nclass Statement {\n constructor(modifiers = [], sourceSpan = null, leadingComments) {\n this.modifiers = modifiers;\n this.sourceSpan = sourceSpan;\n this.leadingComments = leadingComments;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n addLeadingComment(leadingComment) {\n var _a;\n this.leadingComments = (_a = this.leadingComments) !== null && _a !== void 0 ? _a : [];\n this.leadingComments.push(leadingComment);\n }\n}\nclass DeclareVarStmt extends Statement {\n constructor(name, value, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.value = value;\n this.type = type || (value && value.type) || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareVarStmt && this.name === stmt.name &&\n (this.value ? !!stmt.value && this.value.isEquivalent(stmt.value) : !stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareVarStmt(this, context);\n }\n}\nclass DeclareFunctionStmt extends Statement {\n constructor(name, params, statements, type, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.params = params;\n this.statements = statements;\n this.type = type || null;\n }\n isEquivalent(stmt) {\n return stmt instanceof DeclareFunctionStmt && areAllEquivalent(this.params, stmt.params) &&\n areAllEquivalent(this.statements, stmt.statements);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareFunctionStmt(this, context);\n }\n}\nclass ExpressionStatement extends Statement {\n constructor(expr, sourceSpan, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.expr = expr;\n }\n isEquivalent(stmt) {\n return stmt instanceof ExpressionStatement && this.expr.isEquivalent(stmt.expr);\n }\n visitStatement(visitor, context) {\n return visitor.visitExpressionStmt(this, context);\n }\n}\nclass ReturnStatement extends Statement {\n constructor(value, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.value = value;\n }\n isEquivalent(stmt) {\n return stmt instanceof ReturnStatement && this.value.isEquivalent(stmt.value);\n }\n visitStatement(visitor, context) {\n return visitor.visitReturnStmt(this, context);\n }\n}\nclass AbstractClassPart {\n constructor(type = null, modifiers = []) {\n this.type = type;\n this.modifiers = modifiers;\n }\n hasModifier(modifier) {\n return this.modifiers.indexOf(modifier) !== -1;\n }\n}\nclass ClassField extends AbstractClassPart {\n constructor(name, type, modifiers, initializer) {\n super(type, modifiers);\n this.name = name;\n this.initializer = initializer;\n }\n isEquivalent(f) {\n return this.name === f.name;\n }\n}\nclass ClassMethod extends AbstractClassPart {\n constructor(name, params, body, type, modifiers) {\n super(type, modifiers);\n this.name = name;\n this.params = params;\n this.body = body;\n }\n isEquivalent(m) {\n return this.name === m.name && areAllEquivalent(this.body, m.body);\n }\n}\nclass ClassGetter extends AbstractClassPart {\n constructor(name, body, type, modifiers) {\n super(type, modifiers);\n this.name = name;\n this.body = body;\n }\n isEquivalent(m) {\n return this.name === m.name && areAllEquivalent(this.body, m.body);\n }\n}\nclass ClassStmt extends Statement {\n constructor(name, parent, fields, getters, constructorMethod, methods, modifiers, sourceSpan, leadingComments) {\n super(modifiers, sourceSpan, leadingComments);\n this.name = name;\n this.parent = parent;\n this.fields = fields;\n this.getters = getters;\n this.constructorMethod = constructorMethod;\n this.methods = methods;\n }\n isEquivalent(stmt) {\n return stmt instanceof ClassStmt && this.name === stmt.name &&\n nullSafeIsEquivalent(this.parent, stmt.parent) &&\n areAllEquivalent(this.fields, stmt.fields) &&\n areAllEquivalent(this.getters, stmt.getters) &&\n this.constructorMethod.isEquivalent(stmt.constructorMethod) &&\n areAllEquivalent(this.methods, stmt.methods);\n }\n visitStatement(visitor, context) {\n return visitor.visitDeclareClassStmt(this, context);\n }\n}\nclass IfStmt extends Statement {\n constructor(condition, trueCase, falseCase = [], sourceSpan, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.condition = condition;\n this.trueCase = trueCase;\n this.falseCase = falseCase;\n }\n isEquivalent(stmt) {\n return stmt instanceof IfStmt && this.condition.isEquivalent(stmt.condition) &&\n areAllEquivalent(this.trueCase, stmt.trueCase) &&\n areAllEquivalent(this.falseCase, stmt.falseCase);\n }\n visitStatement(visitor, context) {\n return visitor.visitIfStmt(this, context);\n }\n}\nclass TryCatchStmt extends Statement {\n constructor(bodyStmts, catchStmts, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.bodyStmts = bodyStmts;\n this.catchStmts = catchStmts;\n }\n isEquivalent(stmt) {\n return stmt instanceof TryCatchStmt && areAllEquivalent(this.bodyStmts, stmt.bodyStmts) &&\n areAllEquivalent(this.catchStmts, stmt.catchStmts);\n }\n visitStatement(visitor, context) {\n return visitor.visitTryCatchStmt(this, context);\n }\n}\nclass ThrowStmt extends Statement {\n constructor(error, sourceSpan = null, leadingComments) {\n super([], sourceSpan, leadingComments);\n this.error = error;\n }\n isEquivalent(stmt) {\n return stmt instanceof TryCatchStmt && this.error.isEquivalent(stmt.error);\n }\n visitStatement(visitor, context) {\n return visitor.visitThrowStmt(this, context);\n }\n}\nclass AstTransformer {\n transformExpr(expr, context) {\n return expr;\n }\n transformStmt(stmt, context) {\n return stmt;\n }\n visitReadVarExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitTypeofExpr(expr, context) {\n return this.transformExpr(new TypeofExpr(expr.expr.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWriteVarExpr(expr, context) {\n return this.transformExpr(new WriteVarExpr(expr.name, expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWriteKeyExpr(expr, context) {\n return this.transformExpr(new WriteKeyExpr(expr.receiver.visitExpression(this, context), expr.index.visitExpression(this, context), expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitWritePropExpr(expr, context) {\n return this.transformExpr(new WritePropExpr(expr.receiver.visitExpression(this, context), expr.name, expr.value.visitExpression(this, context), expr.type, expr.sourceSpan), context);\n }\n visitInvokeMethodExpr(ast, context) {\n const method = ast.builtin || ast.name;\n return this.transformExpr(new InvokeMethodExpr(ast.receiver.visitExpression(this, context), method, this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitInvokeFunctionExpr(ast, context) {\n return this.transformExpr(new InvokeFunctionExpr(ast.fn.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitTaggedTemplateExpr(ast, context) {\n return this.transformExpr(new TaggedTemplateExpr(ast.tag.visitExpression(this, context), new TemplateLiteral(ast.template.elements, ast.template.expressions.map((e) => e.visitExpression(this, context))), ast.type, ast.sourceSpan), context);\n }\n visitInstantiateExpr(ast, context) {\n return this.transformExpr(new InstantiateExpr(ast.classExpr.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.transformExpr(new LocalizedString(ast.metaBlock, ast.messageParts, ast.placeHolderNames, this.visitAllExpressions(ast.expressions, context), ast.sourceSpan), context);\n }\n visitExternalExpr(ast, context) {\n return this.transformExpr(ast, context);\n }\n visitConditionalExpr(ast, context) {\n return this.transformExpr(new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitNotExpr(ast, context) {\n return this.transformExpr(new NotExpr(ast.condition.visitExpression(this, context), ast.sourceSpan), context);\n }\n visitAssertNotNullExpr(ast, context) {\n return this.transformExpr(new AssertNotNull(ast.condition.visitExpression(this, context), ast.sourceSpan), context);\n }\n visitCastExpr(ast, context) {\n return this.transformExpr(new CastExpr(ast.value.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitFunctionExpr(ast, context) {\n return this.transformExpr(new FunctionExpr(ast.params, this.visitAllStatements(ast.statements, context), ast.type, ast.sourceSpan), context);\n }\n visitUnaryOperatorExpr(ast, context) {\n return this.transformExpr(new UnaryOperatorExpr(ast.operator, ast.expr.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitBinaryOperatorExpr(ast, context) {\n return this.transformExpr(new BinaryOperatorExpr(ast.operator, ast.lhs.visitExpression(this, context), ast.rhs.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitReadPropExpr(ast, context) {\n return this.transformExpr(new ReadPropExpr(ast.receiver.visitExpression(this, context), ast.name, ast.type, ast.sourceSpan), context);\n }\n visitReadKeyExpr(ast, context) {\n return this.transformExpr(new ReadKeyExpr(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralArrayExpr(ast, context) {\n return this.transformExpr(new LiteralArrayExpr(this.visitAllExpressions(ast.entries, context), ast.type, ast.sourceSpan), context);\n }\n visitLiteralMapExpr(ast, context) {\n const entries = ast.entries.map((entry) => new LiteralMapEntry(entry.key, entry.value.visitExpression(this, context), entry.quoted));\n const mapType = new MapType(ast.valueType);\n return this.transformExpr(new LiteralMapExpr(entries, mapType, ast.sourceSpan), context);\n }\n visitCommaExpr(ast, context) {\n return this.transformExpr(new CommaExpr(this.visitAllExpressions(ast.parts, context), ast.sourceSpan), context);\n }\n visitAllExpressions(exprs, context) {\n return exprs.map(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n const value = stmt.value && stmt.value.visitExpression(this, context);\n return this.transformStmt(new DeclareVarStmt(stmt.name, value, stmt.type, stmt.modifiers, stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitDeclareFunctionStmt(stmt, context) {\n return this.transformStmt(new DeclareFunctionStmt(stmt.name, stmt.params, this.visitAllStatements(stmt.statements, context), stmt.type, stmt.modifiers, stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitExpressionStmt(stmt, context) {\n return this.transformStmt(new ExpressionStatement(stmt.expr.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitReturnStmt(stmt, context) {\n return this.transformStmt(new ReturnStatement(stmt.value.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitDeclareClassStmt(stmt, context) {\n const parent = stmt.parent.visitExpression(this, context);\n const getters = stmt.getters.map(getter => new ClassGetter(getter.name, this.visitAllStatements(getter.body, context), getter.type, getter.modifiers));\n const ctorMethod = stmt.constructorMethod &&\n new ClassMethod(stmt.constructorMethod.name, stmt.constructorMethod.params, this.visitAllStatements(stmt.constructorMethod.body, context), stmt.constructorMethod.type, stmt.constructorMethod.modifiers);\n const methods = stmt.methods.map(method => new ClassMethod(method.name, method.params, this.visitAllStatements(method.body, context), method.type, method.modifiers));\n return this.transformStmt(new ClassStmt(stmt.name, parent, stmt.fields, getters, ctorMethod, methods, stmt.modifiers, stmt.sourceSpan), context);\n }\n visitIfStmt(stmt, context) {\n return this.transformStmt(new IfStmt(stmt.condition.visitExpression(this, context), this.visitAllStatements(stmt.trueCase, context), this.visitAllStatements(stmt.falseCase, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitTryCatchStmt(stmt, context) {\n return this.transformStmt(new TryCatchStmt(this.visitAllStatements(stmt.bodyStmts, context), this.visitAllStatements(stmt.catchStmts, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitThrowStmt(stmt, context) {\n return this.transformStmt(new ThrowStmt(stmt.error.visitExpression(this, context), stmt.sourceSpan, stmt.leadingComments), context);\n }\n visitAllStatements(stmts, context) {\n return stmts.map(stmt => stmt.visitStatement(this, context));\n }\n}\nclass RecursiveAstVisitor {\n visitType(ast, context) {\n return ast;\n }\n visitExpression(ast, context) {\n if (ast.type) {\n ast.type.visitType(this, context);\n }\n return ast;\n }\n visitBuiltinType(type, context) {\n return this.visitType(type, context);\n }\n visitExpressionType(type, context) {\n type.value.visitExpression(this, context);\n if (type.typeParams !== null) {\n type.typeParams.forEach(param => this.visitType(param, context));\n }\n return this.visitType(type, context);\n }\n visitArrayType(type, context) {\n return this.visitType(type, context);\n }\n visitMapType(type, context) {\n return this.visitType(type, context);\n }\n visitWrappedNodeExpr(ast, context) {\n return ast;\n }\n visitTypeofExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitReadVarExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitWriteVarExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWriteKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitWritePropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeMethodExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitInvokeFunctionExpr(ast, context) {\n ast.fn.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitTaggedTemplateExpr(ast, context) {\n ast.tag.visitExpression(this, context);\n this.visitAllExpressions(ast.template.expressions, context);\n return this.visitExpression(ast, context);\n }\n visitInstantiateExpr(ast, context) {\n ast.classExpr.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralExpr(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitLocalizedString(ast, context) {\n return this.visitExpression(ast, context);\n }\n visitExternalExpr(ast, context) {\n if (ast.typeParams) {\n ast.typeParams.forEach(type => type.visitType(this, context));\n }\n return this.visitExpression(ast, context);\n }\n visitConditionalExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n ast.trueCase.visitExpression(this, context);\n ast.falseCase.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitNotExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitAssertNotNullExpr(ast, context) {\n ast.condition.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitCastExpr(ast, context) {\n ast.value.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitFunctionExpr(ast, context) {\n this.visitAllStatements(ast.statements, context);\n return this.visitExpression(ast, context);\n }\n visitUnaryOperatorExpr(ast, context) {\n ast.expr.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitBinaryOperatorExpr(ast, context) {\n ast.lhs.visitExpression(this, context);\n ast.rhs.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadPropExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitReadKeyExpr(ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralArrayExpr(ast, context) {\n this.visitAllExpressions(ast.entries, context);\n return this.visitExpression(ast, context);\n }\n visitLiteralMapExpr(ast, context) {\n ast.entries.forEach((entry) => entry.value.visitExpression(this, context));\n return this.visitExpression(ast, context);\n }\n visitCommaExpr(ast, context) {\n this.visitAllExpressions(ast.parts, context);\n return this.visitExpression(ast, context);\n }\n visitAllExpressions(exprs, context) {\n exprs.forEach(expr => expr.visitExpression(this, context));\n }\n visitDeclareVarStmt(stmt, context) {\n if (stmt.value) {\n stmt.value.visitExpression(this, context);\n }\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitDeclareFunctionStmt(stmt, context) {\n this.visitAllStatements(stmt.statements, context);\n if (stmt.type) {\n stmt.type.visitType(this, context);\n }\n return stmt;\n }\n visitExpressionStmt(stmt, context) {\n stmt.expr.visitExpression(this, context);\n return stmt;\n }\n visitReturnStmt(stmt, context) {\n stmt.value.visitExpression(this, context);\n return stmt;\n }\n visitDeclareClassStmt(stmt, context) {\n stmt.parent.visitExpression(this, context);\n stmt.getters.forEach(getter => this.visitAllStatements(getter.body, context));\n if (stmt.constructorMethod) {\n this.visitAllStatements(stmt.constructorMethod.body, context);\n }\n stmt.methods.forEach(method => this.visitAllStatements(method.body, context));\n return stmt;\n }\n visitIfStmt(stmt, context) {\n stmt.condition.visitExpression(this, context);\n this.visitAllStatements(stmt.trueCase, context);\n this.visitAllStatements(stmt.falseCase, context);\n return stmt;\n }\n visitTryCatchStmt(stmt, context) {\n this.visitAllStatements(stmt.bodyStmts, context);\n this.visitAllStatements(stmt.catchStmts, context);\n return stmt;\n }\n visitThrowStmt(stmt, context) {\n stmt.error.visitExpression(this, context);\n return stmt;\n }\n visitAllStatements(stmts, context) {\n stmts.forEach(stmt => stmt.visitStatement(this, context));\n }\n}\nfunction findReadVarNames(stmts) {\n const visitor = new _ReadVarVisitor();\n visitor.visitAllStatements(stmts, null);\n return visitor.varNames;\n}\nclass _ReadVarVisitor extends RecursiveAstVisitor {\n constructor() {\n super(...arguments);\n this.varNames = new Set();\n }\n visitDeclareFunctionStmt(stmt, context) {\n // Don't descend into nested functions\n return stmt;\n }\n visitDeclareClassStmt(stmt, context) {\n // Don't descend into nested classes\n return stmt;\n }\n visitReadVarExpr(ast, context) {\n if (ast.name) {\n this.varNames.add(ast.name);\n }\n return null;\n }\n}\nfunction collectExternalReferences(stmts) {\n const visitor = new _FindExternalReferencesVisitor();\n visitor.visitAllStatements(stmts, null);\n return visitor.externalReferences;\n}\nclass _FindExternalReferencesVisitor extends RecursiveAstVisitor {\n constructor() {\n super(...arguments);\n this.externalReferences = [];\n }\n visitExternalExpr(e, context) {\n this.externalReferences.push(e.value);\n return super.visitExternalExpr(e, context);\n }\n}\nfunction applySourceSpanToStatementIfNeeded(stmt, sourceSpan) {\n if (!sourceSpan) {\n return stmt;\n }\n const transformer = new _ApplySourceSpanTransformer(sourceSpan);\n return stmt.visitStatement(transformer, null);\n}\nfunction applySourceSpanToExpressionIfNeeded(expr, sourceSpan) {\n if (!sourceSpan) {\n return expr;\n }\n const transformer = new _ApplySourceSpanTransformer(sourceSpan);\n return expr.visitExpression(transformer, null);\n}\nclass _ApplySourceSpanTransformer extends AstTransformer {\n constructor(sourceSpan) {\n super();\n this.sourceSpan = sourceSpan;\n }\n _clone(obj) {\n const clone = Object.create(obj.constructor.prototype);\n for (let prop of Object.keys(obj)) {\n clone[prop] = obj[prop];\n }\n return clone;\n }\n transformExpr(expr, context) {\n if (!expr.sourceSpan) {\n expr = this._clone(expr);\n expr.sourceSpan = this.sourceSpan;\n }\n return expr;\n }\n transformStmt(stmt, context) {\n if (!stmt.sourceSpan) {\n stmt = this._clone(stmt);\n stmt.sourceSpan = this.sourceSpan;\n }\n return stmt;\n }\n}\nfunction leadingComment(text, multiline = false, trailingNewline = true) {\n return new LeadingComment(text, multiline, trailingNewline);\n}\nfunction jsDocComment(tags = []) {\n return new JSDocComment(tags);\n}\nfunction variable(name, type, sourceSpan) {\n return new ReadVarExpr(name, type, sourceSpan);\n}\nfunction importExpr(id, typeParams = null, sourceSpan) {\n return new ExternalExpr(id, null, typeParams, sourceSpan);\n}\nfunction importType(id, typeParams, typeModifiers) {\n return id != null ? expressionType(importExpr(id, typeParams, null), typeModifiers) : null;\n}\nfunction expressionType(expr, typeModifiers, typeParams) {\n return new ExpressionType(expr, typeModifiers, typeParams);\n}\nfunction typeofExpr(expr) {\n return new TypeofExpr(expr);\n}\nfunction literalArr(values, type, sourceSpan) {\n return new LiteralArrayExpr(values, type, sourceSpan);\n}\nfunction literalMap(values, type = null) {\n return new LiteralMapExpr(values.map(e => new LiteralMapEntry(e.key, e.value, e.quoted)), type, null);\n}\nfunction unary(operator, expr, type, sourceSpan) {\n return new UnaryOperatorExpr(operator, expr, type, sourceSpan);\n}\nfunction not(expr, sourceSpan) {\n return new NotExpr(expr, sourceSpan);\n}\nfunction assertNotNull(expr, sourceSpan) {\n return new AssertNotNull(expr, sourceSpan);\n}\nfunction fn(params, body, type, sourceSpan, name) {\n return new FunctionExpr(params, body, type, sourceSpan, name);\n}\nfunction ifStmt(condition, thenClause, elseClause, sourceSpan, leadingComments) {\n return new IfStmt(condition, thenClause, elseClause, sourceSpan, leadingComments);\n}\nfunction taggedTemplate(tag, template, type, sourceSpan) {\n return new TaggedTemplateExpr(tag, template, type, sourceSpan);\n}\nfunction literal(value, type, sourceSpan) {\n return new LiteralExpr(value, type, sourceSpan);\n}\nfunction localizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan) {\n return new LocalizedString(metaBlock, messageParts, placeholderNames, expressions, sourceSpan);\n}\nfunction isNull(exp) {\n return exp instanceof LiteralExpr && exp.value === null;\n}\n/*\n * Serializes a `Tag` into a string.\n * Returns a string like \" @foo {bar} baz\" (note the leading whitespace before `@foo`).\n */\nfunction tagToString(tag) {\n let out = '';\n if (tag.tagName) {\n out += ` @${tag.tagName}`;\n }\n if (tag.text) {\n if (tag.text.match(/\\/\\*|\\*\\//)) {\n throw new Error('JSDoc text cannot contain \"/*\" and \"*/\"');\n }\n out += ' ' + tag.text.replace(/@/g, '\\\\@');\n }\n return out;\n}\nfunction serializeTags(tags) {\n if (tags.length === 0)\n return '';\n if (tags.length === 1 && tags[0].tagName && !tags[0].text) {\n // The JSDOC comment is a single simple tag: e.g `/** @tagname */`.\n return `*${tagToString(tags[0])} `;\n }\n let out = '*\\n';\n for (const tag of tags) {\n out += ' *';\n // If the tagToString is multi-line, insert \" * \" prefixes on lines.\n out += tagToString(tag).replace(/\\n/g, '\\n * ');\n out += '\\n';\n }\n out += ' ';\n return out;\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 DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction splitAtColon(input, defaultValues) {\n return _splitAt(input, ':', defaultValues);\n}\nfunction splitAtPeriod(input, defaultValues) {\n return _splitAt(input, '.', defaultValues);\n}\nfunction _splitAt(input, character, defaultValues) {\n const characterIndex = input.indexOf(character);\n if (characterIndex == -1)\n return defaultValues;\n return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()];\n}\nfunction visitValue(value, visitor, context) {\n if (Array.isArray(value)) {\n return visitor.visitArray(value, context);\n }\n if (isStrictStringMap(value)) {\n return visitor.visitStringMap(value, context);\n }\n if (value == null || typeof value == 'string' || typeof value == 'number' ||\n typeof value == 'boolean') {\n return visitor.visitPrimitive(value, context);\n }\n return visitor.visitOther(value, context);\n}\nfunction isDefined(val) {\n return val !== null && val !== undefined;\n}\nfunction noUndefined(val) {\n return val === undefined ? null : val;\n}\nclass ValueTransformer {\n visitArray(arr, context) {\n return arr.map(value => visitValue(value, this, context));\n }\n visitStringMap(map, context) {\n const result = {};\n Object.keys(map).forEach(key => {\n result[key] = visitValue(map[key], this, context);\n });\n return result;\n }\n visitPrimitive(value, context) {\n return value;\n }\n visitOther(value, context) {\n return value;\n }\n}\nconst SyncAsync = {\n assertSync: (value) => {\n if (isPromise(value)) {\n throw new Error(`Illegal state: value cannot be a promise`);\n }\n return value;\n },\n then: (value, cb) => {\n return isPromise(value) ? value.then(cb) : cb(value);\n },\n all: (syncAsyncValues) => {\n return syncAsyncValues.some(isPromise) ? Promise.all(syncAsyncValues) : syncAsyncValues;\n }\n};\nfunction error(msg) {\n throw new Error(`Internal Error: ${msg}`);\n}\nfunction syntaxError(msg, parseErrors) {\n const error = Error(msg);\n error[ERROR_SYNTAX_ERROR] = true;\n if (parseErrors)\n error[ERROR_PARSE_ERRORS] = parseErrors;\n return error;\n}\nconst ERROR_SYNTAX_ERROR = 'ngSyntaxError';\nconst ERROR_PARSE_ERRORS = 'ngParseErrors';\nfunction isSyntaxError(error) {\n return error[ERROR_SYNTAX_ERROR];\n}\nfunction getParseErrors(error) {\n return error[ERROR_PARSE_ERRORS] || [];\n}\n// Escape characters that have a special meaning in Regular Expressions\nfunction escapeRegExp(s) {\n return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n}\nconst STRING_MAP_PROTO = Object.getPrototypeOf({});\nfunction isStrictStringMap(obj) {\n return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\nfunction utf8Encode(str) {\n let encoded = [];\n for (let index = 0; index < str.length; index++) {\n let codePoint = str.charCodeAt(index);\n // decode surrogate\n // see https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n if (codePoint >= 0xd800 && codePoint <= 0xdbff && str.length > (index + 1)) {\n const low = str.charCodeAt(index + 1);\n if (low >= 0xdc00 && low <= 0xdfff) {\n index++;\n codePoint = ((codePoint - 0xd800) << 10) + low - 0xdc00 + 0x10000;\n }\n }\n if (codePoint <= 0x7f) {\n encoded.push(codePoint);\n }\n else if (codePoint <= 0x7ff) {\n encoded.push(((codePoint >> 6) & 0x1F) | 0xc0, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0xffff) {\n encoded.push((codePoint >> 12) | 0xe0, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n else if (codePoint <= 0x1fffff) {\n encoded.push(((codePoint >> 18) & 0x07) | 0xf0, ((codePoint >> 12) & 0x3f) | 0x80, ((codePoint >> 6) & 0x3f) | 0x80, (codePoint & 0x3f) | 0x80);\n }\n }\n return encoded;\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 if (!token.toString) {\n return 'object';\n }\n // WARNING: do not try to `JSON.stringify(token)` here\n // see https://github.com/angular/angular/issues/23440\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 * Lazily retrieves the reference value from a forwardRef.\n */\nfunction resolveForwardRef(type) {\n if (typeof type === 'function' && type.hasOwnProperty('__forward_ref__')) {\n return type();\n }\n else {\n return type;\n }\n}\n/**\n * Determine if the argument is shaped like a Promise\n */\nfunction isPromise(obj) {\n // allow any Promise/A+ compliant thenable.\n // It's up to the caller to ensure that obj.then conforms to the spec\n return !!obj && typeof obj.then === 'function';\n}\nclass Version {\n constructor(full) {\n this.full = full;\n const splits = full.split('.');\n this.major = splits[0];\n this.minor = splits[1];\n this.patch = splits.slice(2).join('.');\n }\n}\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// Check __global first, because in Node tests both __global and __window may be defined and _global\n// should be __global in that case.\nconst _global = __global || __window || __self;\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 * Partitions a given array into 2 arrays, based on a boolean value returned by the condition\n * function.\n *\n * @param arr Input array that should be partitioned\n * @param conditionFn Condition function that is called for each item in a given array and returns a\n * boolean value.\n */\nfunction partitionArray(arr, conditionFn) {\n const truthy = [];\n const falsy = [];\n for (const item of arr) {\n (conditionFn(item) ? truthy : falsy).push(item);\n }\n return [truthy, falsy];\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 CONSTANT_PREFIX = '_c';\n/**\n * `ConstantPool` tries to reuse literal factories when two or more literals are identical.\n * We determine whether literals are identical by creating a key out of their AST using the\n * `KeyVisitor`. This constant is used to replace dynamic expressions which can't be safely\n * converted into a key. E.g. given an expression `{foo: bar()}`, since we don't know what\n * the result of `bar` will be, we create a key that looks like `{foo: }`. Note\n * that we use a variable, rather than something like `null` in order to avoid collisions.\n */\nconst UNKNOWN_VALUE_KEY = variable('');\n/**\n * Context to use when producing a key.\n *\n * This ensures we see the constant not the reference variable when producing\n * a key.\n */\nconst KEY_CONTEXT = {};\n/**\n * Generally all primitive values are excluded from the `ConstantPool`, but there is an exclusion\n * for strings that reach a certain length threshold. This constant defines the length threshold for\n * strings.\n */\nconst POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS = 50;\n/**\n * A node that is a place-holder that allows the node to be replaced when the actual\n * node is known.\n *\n * This allows the constant pool to change an expression from a direct reference to\n * a constant to a shared constant. It returns a fix-up node that is later allowed to\n * change the referenced expression.\n */\nclass FixupExpression extends Expression {\n constructor(resolved) {\n super(resolved.type);\n this.resolved = resolved;\n this.original = resolved;\n }\n visitExpression(visitor, context) {\n if (context === KEY_CONTEXT) {\n // When producing a key we want to traverse the constant not the\n // variable used to refer to it.\n return this.original.visitExpression(visitor, context);\n }\n else {\n return this.resolved.visitExpression(visitor, context);\n }\n }\n isEquivalent(e) {\n return e instanceof FixupExpression && this.resolved.isEquivalent(e.resolved);\n }\n isConstant() {\n return true;\n }\n fixup(expression) {\n this.resolved = expression;\n this.shared = true;\n }\n}\n/**\n * A constant pool allows a code emitter to share constant in an output context.\n *\n * The constant pool also supports sharing access to ivy definitions references.\n */\nclass ConstantPool {\n constructor(isClosureCompilerEnabled = false) {\n this.isClosureCompilerEnabled = isClosureCompilerEnabled;\n this.statements = [];\n this.literals = new Map();\n this.literalFactories = new Map();\n this.injectorDefinitions = new Map();\n this.directiveDefinitions = new Map();\n this.componentDefinitions = new Map();\n this.pipeDefinitions = new Map();\n this.nextNameIndex = 0;\n }\n getConstLiteral(literal, forceShared) {\n if ((literal instanceof LiteralExpr && !isLongStringLiteral(literal)) ||\n literal instanceof FixupExpression) {\n // Do no put simple literals into the constant pool or try to produce a constant for a\n // reference to a constant.\n return literal;\n }\n const key = this.keyOf(literal);\n let fixup = this.literals.get(key);\n let newValue = false;\n if (!fixup) {\n fixup = new FixupExpression(literal);\n this.literals.set(key, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n // Replace the expression with a variable\n const name = this.freshName();\n let definition;\n let usage;\n if (this.isClosureCompilerEnabled && isLongStringLiteral(literal)) {\n // For string literals, Closure will **always** inline the string at\n // **all** usages, duplicating it each time. For large strings, this\n // unnecessarily bloats bundle size. To work around this restriction, we\n // wrap the string in a function, and call that function for each usage.\n // This tricks Closure into using inline logic for functions instead of\n // string literals. Function calls are only inlined if the body is small\n // enough to be worth it. By doing this, very large strings will be\n // shared across multiple usages, rather than duplicating the string at\n // each usage site.\n //\n // const myStr = function() { return \"very very very long string\"; };\n // const usage1 = myStr();\n // const usage2 = myStr();\n definition = variable(name).set(new FunctionExpr([], // Params.\n [\n // Statements.\n new ReturnStatement(literal),\n ]));\n usage = variable(name).callFn([]);\n }\n else {\n // Just declare and use the variable directly, without a function call\n // indirection. This saves a few bytes and avoids an unncessary call.\n definition = variable(name).set(literal);\n usage = variable(name);\n }\n this.statements.push(definition.toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]));\n fixup.fixup(usage);\n }\n return fixup;\n }\n getDefinition(type, kind, ctx, forceShared = false) {\n const definitions = this.definitionsOf(kind);\n let fixup = definitions.get(type);\n let newValue = false;\n if (!fixup) {\n const property = this.propertyNameOf(kind);\n fixup = new FixupExpression(ctx.importExpr(type).prop(property));\n definitions.set(type, fixup);\n newValue = true;\n }\n if ((!newValue && !fixup.shared) || (newValue && forceShared)) {\n const name = this.freshName();\n this.statements.push(variable(name).set(fixup.resolved).toDeclStmt(INFERRED_TYPE, [StmtModifier.Final]));\n fixup.fixup(variable(name));\n }\n return fixup;\n }\n getLiteralFactory(literal) {\n // Create a pure function that builds an array of a mix of constant and variable expressions\n if (literal instanceof LiteralArrayExpr) {\n const argumentsForKey = literal.entries.map(e => e.isConstant() ? e : UNKNOWN_VALUE_KEY);\n const key = this.keyOf(literalArr(argumentsForKey));\n return this._getLiteralFactory(key, literal.entries, entries => literalArr(entries));\n }\n else {\n const expressionForKey = literalMap(literal.entries.map(e => ({\n key: e.key,\n value: e.value.isConstant() ? e.value : UNKNOWN_VALUE_KEY,\n quoted: e.quoted\n })));\n const key = this.keyOf(expressionForKey);\n return this._getLiteralFactory(key, literal.entries.map(e => e.value), entries => literalMap(entries.map((value, index) => ({\n key: literal.entries[index].key,\n value,\n quoted: literal.entries[index].quoted\n }))));\n }\n }\n _getLiteralFactory(key, values, resultMap) {\n let literalFactory = this.literalFactories.get(key);\n const literalFactoryArguments = values.filter((e => !e.isConstant()));\n if (!literalFactory) {\n const resultExpressions = values.map((e, index) => e.isConstant() ? this.getConstLiteral(e, true) : variable(`a${index}`));\n const parameters = resultExpressions.filter(isVariable).map(e => new FnParam(e.name, DYNAMIC_TYPE));\n const pureFunctionDeclaration = fn(parameters, [new ReturnStatement(resultMap(resultExpressions))], INFERRED_TYPE);\n const name = this.freshName();\n this.statements.push(variable(name).set(pureFunctionDeclaration).toDeclStmt(INFERRED_TYPE, [\n StmtModifier.Final\n ]));\n literalFactory = variable(name);\n this.literalFactories.set(key, literalFactory);\n }\n return { literalFactory, literalFactoryArguments };\n }\n /**\n * Produce a unique name.\n *\n * The name might be unique among different prefixes if any of the prefixes end in\n * a digit so the prefix should be a constant string (not based on user input) and\n * must not end in a digit.\n */\n uniqueName(prefix) {\n return `${prefix}${this.nextNameIndex++}`;\n }\n definitionsOf(kind) {\n switch (kind) {\n case 2 /* Component */:\n return this.componentDefinitions;\n case 1 /* Directive */:\n return this.directiveDefinitions;\n case 0 /* Injector */:\n return this.injectorDefinitions;\n case 3 /* Pipe */:\n return this.pipeDefinitions;\n }\n error(`Unknown definition kind ${kind}`);\n return this.componentDefinitions;\n }\n propertyNameOf(kind) {\n switch (kind) {\n case 2 /* Component */:\n return 'ɵcmp';\n case 1 /* Directive */:\n return 'ɵdir';\n case 0 /* Injector */:\n return 'ɵinj';\n case 3 /* Pipe */:\n return 'ɵpipe';\n }\n error(`Unknown definition kind ${kind}`);\n return '';\n }\n freshName() {\n return this.uniqueName(CONSTANT_PREFIX);\n }\n keyOf(expression) {\n return expression.visitExpression(new KeyVisitor(), KEY_CONTEXT);\n }\n}\n/**\n * Visitor used to determine if 2 expressions are equivalent and can be shared in the\n * `ConstantPool`.\n *\n * When the id (string) generated by the visitor is equal, expressions are considered equivalent.\n */\nclass KeyVisitor {\n constructor() {\n this.visitWrappedNodeExpr = invalid;\n this.visitWriteVarExpr = invalid;\n this.visitWriteKeyExpr = invalid;\n this.visitWritePropExpr = invalid;\n this.visitInvokeMethodExpr = invalid;\n this.visitInvokeFunctionExpr = invalid;\n this.visitTaggedTemplateExpr = invalid;\n this.visitInstantiateExpr = invalid;\n this.visitConditionalExpr = invalid;\n this.visitNotExpr = invalid;\n this.visitAssertNotNullExpr = invalid;\n this.visitCastExpr = invalid;\n this.visitFunctionExpr = invalid;\n this.visitUnaryOperatorExpr = invalid;\n this.visitBinaryOperatorExpr = invalid;\n this.visitReadPropExpr = invalid;\n this.visitReadKeyExpr = invalid;\n this.visitCommaExpr = invalid;\n this.visitLocalizedString = invalid;\n }\n visitLiteralExpr(ast) {\n return `${typeof ast.value === 'string' ? '\"' + ast.value + '\"' : ast.value}`;\n }\n visitLiteralArrayExpr(ast, context) {\n return `[${ast.entries.map(entry => entry.visitExpression(this, context)).join(',')}]`;\n }\n visitLiteralMapExpr(ast, context) {\n const mapKey = (entry) => {\n const quote = entry.quoted ? '\"' : '';\n return `${quote}${entry.key}${quote}`;\n };\n const mapEntry = (entry) => `${mapKey(entry)}:${entry.value.visitExpression(this, context)}`;\n return `{${ast.entries.map(mapEntry).join(',')}`;\n }\n visitExternalExpr(ast) {\n return ast.value.moduleName ? `EX:${ast.value.moduleName}:${ast.value.name}` :\n `EX:${ast.value.runtime.name}`;\n }\n visitReadVarExpr(node) {\n return `VAR:${node.name}`;\n }\n visitTypeofExpr(node, context) {\n return `TYPEOF:${node.expr.visitExpression(this, context)}`;\n }\n}\nfunction invalid(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction isVariable(e) {\n return e instanceof ReadVarExpr;\n}\nfunction isLongStringLiteral(expr) {\n return expr instanceof LiteralExpr && typeof expr.value === 'string' &&\n expr.value.length >= POOL_INCLUSION_LENGTH_THRESHOLD_FOR_STRINGS;\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 CORE = '@angular/core';\nclass Identifiers {\n}\nIdentifiers.ANALYZE_FOR_ENTRY_COMPONENTS = {\n name: 'ANALYZE_FOR_ENTRY_COMPONENTS',\n moduleName: CORE,\n};\nIdentifiers.ElementRef = { name: 'ElementRef', moduleName: CORE };\nIdentifiers.NgModuleRef = { name: 'NgModuleRef', moduleName: CORE };\nIdentifiers.ViewContainerRef = { name: 'ViewContainerRef', moduleName: CORE };\nIdentifiers.ChangeDetectorRef = {\n name: 'ChangeDetectorRef',\n moduleName: CORE,\n};\nIdentifiers.QueryList = { name: 'QueryList', moduleName: CORE };\nIdentifiers.TemplateRef = { name: 'TemplateRef', moduleName: CORE };\nIdentifiers.Renderer2 = { name: 'Renderer2', moduleName: CORE };\nIdentifiers.CodegenComponentFactoryResolver = {\n name: 'ɵCodegenComponentFactoryResolver',\n moduleName: CORE,\n};\nIdentifiers.ComponentFactoryResolver = {\n name: 'ComponentFactoryResolver',\n moduleName: CORE,\n};\nIdentifiers.ComponentFactory = { name: 'ComponentFactory', moduleName: CORE };\nIdentifiers.ComponentRef = { name: 'ComponentRef', moduleName: CORE };\nIdentifiers.NgModuleFactory = { name: 'NgModuleFactory', moduleName: CORE };\nIdentifiers.createModuleFactory = {\n name: 'ɵcmf',\n moduleName: CORE,\n};\nIdentifiers.moduleDef = {\n name: 'ɵmod',\n moduleName: CORE,\n};\nIdentifiers.moduleProviderDef = {\n name: 'ɵmpd',\n moduleName: CORE,\n};\nIdentifiers.RegisterModuleFactoryFn = {\n name: 'ɵregisterModuleFactory',\n moduleName: CORE,\n};\nIdentifiers.inject = { name: 'ɵɵinject', moduleName: CORE };\nIdentifiers.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE };\nIdentifiers.INJECTOR = { name: 'INJECTOR', moduleName: CORE };\nIdentifiers.Injector = { name: 'Injector', moduleName: CORE };\nIdentifiers.ɵɵdefineInjectable = { name: 'ɵɵdefineInjectable', moduleName: CORE };\nIdentifiers.InjectableDef = { name: 'ɵɵInjectableDef', moduleName: CORE };\nIdentifiers.ViewEncapsulation = {\n name: 'ViewEncapsulation',\n moduleName: CORE,\n};\nIdentifiers.ChangeDetectionStrategy = {\n name: 'ChangeDetectionStrategy',\n moduleName: CORE,\n};\nIdentifiers.SecurityContext = {\n name: 'SecurityContext',\n moduleName: CORE,\n};\nIdentifiers.LOCALE_ID = { name: 'LOCALE_ID', moduleName: CORE };\nIdentifiers.TRANSLATIONS_FORMAT = {\n name: 'TRANSLATIONS_FORMAT',\n moduleName: CORE,\n};\nIdentifiers.inlineInterpolate = {\n name: 'ɵinlineInterpolate',\n moduleName: CORE,\n};\nIdentifiers.interpolate = { name: 'ɵinterpolate', moduleName: CORE };\nIdentifiers.EMPTY_ARRAY = { name: 'ɵEMPTY_ARRAY', moduleName: CORE };\nIdentifiers.EMPTY_MAP = { name: 'ɵEMPTY_MAP', moduleName: CORE };\nIdentifiers.Renderer = { name: 'Renderer', moduleName: CORE };\nIdentifiers.viewDef = { name: 'ɵvid', moduleName: CORE };\nIdentifiers.elementDef = { name: 'ɵeld', moduleName: CORE };\nIdentifiers.anchorDef = { name: 'ɵand', moduleName: CORE };\nIdentifiers.textDef = { name: 'ɵted', moduleName: CORE };\nIdentifiers.directiveDef = { name: 'ɵdid', moduleName: CORE };\nIdentifiers.providerDef = { name: 'ɵprd', moduleName: CORE };\nIdentifiers.queryDef = { name: 'ɵqud', moduleName: CORE };\nIdentifiers.pureArrayDef = { name: 'ɵpad', moduleName: CORE };\nIdentifiers.pureObjectDef = { name: 'ɵpod', moduleName: CORE };\nIdentifiers.purePipeDef = { name: 'ɵppd', moduleName: CORE };\nIdentifiers.pipeDef = { name: 'ɵpid', moduleName: CORE };\nIdentifiers.nodeValue = { name: 'ɵnov', moduleName: CORE };\nIdentifiers.ngContentDef = { name: 'ɵncd', moduleName: CORE };\nIdentifiers.unwrapValue = { name: 'ɵunv', moduleName: CORE };\nIdentifiers.createRendererType2 = { name: 'ɵcrt', moduleName: CORE };\n// type only\nIdentifiers.RendererType2 = {\n name: 'RendererType2',\n moduleName: CORE,\n};\n// type only\nIdentifiers.ViewDefinition = {\n name: 'ɵViewDefinition',\n moduleName: CORE,\n};\nIdentifiers.createComponentFactory = { name: 'ɵccf', moduleName: CORE };\nIdentifiers.setClassMetadata = { name: 'ɵsetClassMetadata', moduleName: CORE };\nfunction createTokenForReference(reference) {\n return { identifier: { reference: reference } };\n}\nfunction createTokenForExternalReference(reflector, reference) {\n return createTokenForReference(reflector.resolveExternalReference(reference));\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 token representing the a reference to a static type.\n *\n * This token is unique for a filePath and name and can be used as a hash table key.\n */\nclass StaticSymbol {\n constructor(filePath, name, members) {\n this.filePath = filePath;\n this.name = name;\n this.members = members;\n }\n assertNoMembers() {\n if (this.members.length) {\n throw new Error(`Illegal state: symbol without members expected, but got ${JSON.stringify(this)}.`);\n }\n }\n}\n/**\n * A cache of static symbol used by the StaticReflector to return the same symbol for the\n * same symbol values.\n */\nclass StaticSymbolCache {\n constructor() {\n this.cache = new Map();\n }\n get(declarationFile, name, members) {\n members = members || [];\n const memberSuffix = members.length ? `.${members.join('.')}` : '';\n const key = `\"${declarationFile}\".${name}${memberSuffix}`;\n let result = this.cache.get(key);\n if (!result) {\n result = new StaticSymbol(declarationFile, name, members);\n this.cache.set(key, result);\n }\n return result;\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// group 0: \"[prop] or (event) or @trigger\"\n// group 1: \"prop\" from \"[prop]\"\n// group 2: \"event\" from \"(event)\"\n// group 3: \"@trigger\" from \"@trigger\"\nconst HOST_REG_EXP = /^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;\nfunction sanitizeIdentifier(name) {\n return name.replace(/\\W/g, '_');\n}\nlet _anonymousTypeIndex = 0;\nfunction identifierName(compileIdentifier) {\n if (!compileIdentifier || !compileIdentifier.reference) {\n return null;\n }\n const ref = compileIdentifier.reference;\n if (ref instanceof StaticSymbol) {\n return ref.name;\n }\n if (ref['__anonymousType']) {\n return ref['__anonymousType'];\n }\n let identifier = stringify(ref);\n if (identifier.indexOf('(') >= 0) {\n // case: anonymous functions!\n identifier = `anonymous_${_anonymousTypeIndex++}`;\n ref['__anonymousType'] = identifier;\n }\n else {\n identifier = sanitizeIdentifier(identifier);\n }\n return identifier;\n}\nfunction identifierModuleUrl(compileIdentifier) {\n const ref = compileIdentifier.reference;\n if (ref instanceof StaticSymbol) {\n return ref.filePath;\n }\n // Runtime type\n return `./${stringify(ref)}`;\n}\nfunction viewClassName(compType, embeddedTemplateIndex) {\n return `View_${identifierName({ reference: compType })}_${embeddedTemplateIndex}`;\n}\nfunction rendererTypeName(compType) {\n return `RenderType_${identifierName({ reference: compType })}`;\n}\nfunction hostViewClassName(compType) {\n return `HostView_${identifierName({ reference: compType })}`;\n}\nfunction componentFactoryName(compType) {\n return `${identifierName({ reference: compType })}NgFactory`;\n}\nvar CompileSummaryKind;\n(function (CompileSummaryKind) {\n CompileSummaryKind[CompileSummaryKind[\"Pipe\"] = 0] = \"Pipe\";\n CompileSummaryKind[CompileSummaryKind[\"Directive\"] = 1] = \"Directive\";\n CompileSummaryKind[CompileSummaryKind[\"NgModule\"] = 2] = \"NgModule\";\n CompileSummaryKind[CompileSummaryKind[\"Injectable\"] = 3] = \"Injectable\";\n})(CompileSummaryKind || (CompileSummaryKind = {}));\nfunction tokenName(token) {\n return token.value != null ? sanitizeIdentifier(token.value) : identifierName(token.identifier);\n}\nfunction tokenReference(token) {\n if (token.identifier != null) {\n return token.identifier.reference;\n }\n else {\n return token.value;\n }\n}\n/**\n * Metadata about a stylesheet\n */\nclass CompileStylesheetMetadata {\n constructor({ moduleUrl, styles, styleUrls } = {}) {\n this.moduleUrl = moduleUrl || null;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n }\n}\n/**\n * Metadata regarding compilation of a template.\n */\nclass CompileTemplateMetadata {\n constructor({ encapsulation, template, templateUrl, htmlAst, styles, styleUrls, externalStylesheets, animations, ngContentSelectors, interpolation, isInline, preserveWhitespaces }) {\n this.encapsulation = encapsulation;\n this.template = template;\n this.templateUrl = templateUrl;\n this.htmlAst = htmlAst;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n this.externalStylesheets = _normalizeArray(externalStylesheets);\n this.animations = animations ? flatten(animations) : [];\n this.ngContentSelectors = ngContentSelectors || [];\n if (interpolation && interpolation.length != 2) {\n throw new Error(`'interpolation' should have a start and an end symbol.`);\n }\n this.interpolation = interpolation;\n this.isInline = isInline;\n this.preserveWhitespaces = preserveWhitespaces;\n }\n toSummary() {\n return {\n ngContentSelectors: this.ngContentSelectors,\n encapsulation: this.encapsulation,\n styles: this.styles,\n animations: this.animations\n };\n }\n}\n/**\n * Metadata regarding compilation of a directive.\n */\nclass CompileDirectiveMetadata {\n constructor({ isHost, type, isComponent, selector, exportAs, changeDetection, inputs, outputs, hostListeners, hostProperties, hostAttributes, providers, viewProviders, queries, guards, viewQueries, entryComponents, template, componentViewType, rendererType, componentFactory }) {\n this.isHost = !!isHost;\n this.type = type;\n this.isComponent = isComponent;\n this.selector = selector;\n this.exportAs = exportAs;\n this.changeDetection = changeDetection;\n this.inputs = inputs;\n this.outputs = outputs;\n this.hostListeners = hostListeners;\n this.hostProperties = hostProperties;\n this.hostAttributes = hostAttributes;\n this.providers = _normalizeArray(providers);\n this.viewProviders = _normalizeArray(viewProviders);\n this.queries = _normalizeArray(queries);\n this.guards = guards;\n this.viewQueries = _normalizeArray(viewQueries);\n this.entryComponents = _normalizeArray(entryComponents);\n this.template = template;\n this.componentViewType = componentViewType;\n this.rendererType = rendererType;\n this.componentFactory = componentFactory;\n }\n static create({ isHost, type, isComponent, selector, exportAs, changeDetection, inputs, outputs, host, providers, viewProviders, queries, guards, viewQueries, entryComponents, template, componentViewType, rendererType, componentFactory }) {\n const hostListeners = {};\n const hostProperties = {};\n const hostAttributes = {};\n if (host != null) {\n Object.keys(host).forEach(key => {\n const value = host[key];\n const matches = key.match(HOST_REG_EXP);\n if (matches === null) {\n hostAttributes[key] = value;\n }\n else if (matches[1] != null) {\n hostProperties[matches[1]] = value;\n }\n else if (matches[2] != null) {\n hostListeners[matches[2]] = value;\n }\n });\n }\n const inputsMap = {};\n if (inputs != null) {\n inputs.forEach((bindConfig) => {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n const parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n inputsMap[parts[0]] = parts[1];\n });\n }\n const outputsMap = {};\n if (outputs != null) {\n outputs.forEach((bindConfig) => {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n const parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n outputsMap[parts[0]] = parts[1];\n });\n }\n return new CompileDirectiveMetadata({\n isHost,\n type,\n isComponent: !!isComponent,\n selector,\n exportAs,\n changeDetection,\n inputs: inputsMap,\n outputs: outputsMap,\n hostListeners,\n hostProperties,\n hostAttributes,\n providers,\n viewProviders,\n queries,\n guards,\n viewQueries,\n entryComponents,\n template,\n componentViewType,\n rendererType,\n componentFactory,\n });\n }\n toSummary() {\n return {\n summaryKind: CompileSummaryKind.Directive,\n type: this.type,\n isComponent: this.isComponent,\n selector: this.selector,\n exportAs: this.exportAs,\n inputs: this.inputs,\n outputs: this.outputs,\n hostListeners: this.hostListeners,\n hostProperties: this.hostProperties,\n hostAttributes: this.hostAttributes,\n providers: this.providers,\n viewProviders: this.viewProviders,\n queries: this.queries,\n guards: this.guards,\n viewQueries: this.viewQueries,\n entryComponents: this.entryComponents,\n changeDetection: this.changeDetection,\n template: this.template && this.template.toSummary(),\n componentViewType: this.componentViewType,\n rendererType: this.rendererType,\n componentFactory: this.componentFactory\n };\n }\n}\nclass CompilePipeMetadata {\n constructor({ type, name, pure }) {\n this.type = type;\n this.name = name;\n this.pure = !!pure;\n }\n toSummary() {\n return {\n summaryKind: CompileSummaryKind.Pipe,\n type: this.type,\n name: this.name,\n pure: this.pure\n };\n }\n}\nclass CompileShallowModuleMetadata {\n}\n/**\n * Metadata regarding compilation of a module.\n */\nclass CompileNgModuleMetadata {\n constructor({ type, providers, declaredDirectives, exportedDirectives, declaredPipes, exportedPipes, entryComponents, bootstrapComponents, importedModules, exportedModules, schemas, transitiveModule, id }) {\n this.type = type || null;\n this.declaredDirectives = _normalizeArray(declaredDirectives);\n this.exportedDirectives = _normalizeArray(exportedDirectives);\n this.declaredPipes = _normalizeArray(declaredPipes);\n this.exportedPipes = _normalizeArray(exportedPipes);\n this.providers = _normalizeArray(providers);\n this.entryComponents = _normalizeArray(entryComponents);\n this.bootstrapComponents = _normalizeArray(bootstrapComponents);\n this.importedModules = _normalizeArray(importedModules);\n this.exportedModules = _normalizeArray(exportedModules);\n this.schemas = _normalizeArray(schemas);\n this.id = id || null;\n this.transitiveModule = transitiveModule || null;\n }\n toSummary() {\n const module = this.transitiveModule;\n return {\n summaryKind: CompileSummaryKind.NgModule,\n type: this.type,\n entryComponents: module.entryComponents,\n providers: module.providers,\n modules: module.modules,\n exportedDirectives: module.exportedDirectives,\n exportedPipes: module.exportedPipes\n };\n }\n}\nclass TransitiveCompileNgModuleMetadata {\n constructor() {\n this.directivesSet = new Set();\n this.directives = [];\n this.exportedDirectivesSet = new Set();\n this.exportedDirectives = [];\n this.pipesSet = new Set();\n this.pipes = [];\n this.exportedPipesSet = new Set();\n this.exportedPipes = [];\n this.modulesSet = new Set();\n this.modules = [];\n this.entryComponentsSet = new Set();\n this.entryComponents = [];\n this.providers = [];\n }\n addProvider(provider, module) {\n this.providers.push({ provider: provider, module: module });\n }\n addDirective(id) {\n if (!this.directivesSet.has(id.reference)) {\n this.directivesSet.add(id.reference);\n this.directives.push(id);\n }\n }\n addExportedDirective(id) {\n if (!this.exportedDirectivesSet.has(id.reference)) {\n this.exportedDirectivesSet.add(id.reference);\n this.exportedDirectives.push(id);\n }\n }\n addPipe(id) {\n if (!this.pipesSet.has(id.reference)) {\n this.pipesSet.add(id.reference);\n this.pipes.push(id);\n }\n }\n addExportedPipe(id) {\n if (!this.exportedPipesSet.has(id.reference)) {\n this.exportedPipesSet.add(id.reference);\n this.exportedPipes.push(id);\n }\n }\n addModule(id) {\n if (!this.modulesSet.has(id.reference)) {\n this.modulesSet.add(id.reference);\n this.modules.push(id);\n }\n }\n addEntryComponent(ec) {\n if (!this.entryComponentsSet.has(ec.componentType)) {\n this.entryComponentsSet.add(ec.componentType);\n this.entryComponents.push(ec);\n }\n }\n}\nfunction _normalizeArray(obj) {\n return obj || [];\n}\nclass ProviderMeta {\n constructor(token, { useClass, useValue, useExisting, useFactory, deps, multi }) {\n this.token = token;\n this.useClass = useClass || null;\n this.useValue = useValue;\n this.useExisting = useExisting;\n this.useFactory = useFactory || null;\n this.dependencies = deps || null;\n this.multi = !!multi;\n }\n}\nfunction flatten(list) {\n return list.reduce((flat, item) => {\n const flatItem = Array.isArray(item) ? flatten(item) : item;\n return flat.concat(flatItem);\n }, []);\n}\nfunction jitSourceUrl(url) {\n // Note: We need 3 \"/\" so that ng shows up as a separate domain\n // in the chrome dev tools.\n return url.replace(/(\\w+:\\/\\/[\\w:-]+)?(\\/+)?/, 'ng:///');\n}\nfunction templateSourceUrl(ngModuleType, compMeta, templateMeta) {\n let url;\n if (templateMeta.isInline) {\n if (compMeta.type.reference instanceof StaticSymbol) {\n // Note: a .ts file might contain multiple components with inline templates,\n // so we need to give them unique urls, as these will be used for sourcemaps.\n url = `${compMeta.type.reference.filePath}.${compMeta.type.reference.name}.html`;\n }\n else {\n url = `${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.html`;\n }\n }\n else {\n url = templateMeta.templateUrl;\n }\n return compMeta.type.reference instanceof StaticSymbol ? url : jitSourceUrl(url);\n}\nfunction sharedStylesheetJitUrl(meta, id) {\n const pathParts = meta.moduleUrl.split(/\\/\\\\/g);\n const baseName = pathParts[pathParts.length - 1];\n return jitSourceUrl(`css/${id}${baseName}.ngstyle.js`);\n}\nfunction ngModuleJitUrl(moduleMeta) {\n return jitSourceUrl(`${identifierName(moduleMeta.type)}/module.ngfactory.js`);\n}\nfunction templateJitUrl(ngModuleType, compMeta) {\n return jitSourceUrl(`${identifierName(ngModuleType)}/${identifierName(compMeta.type)}.ngfactory.js`);\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 CORE$1 = '@angular/core';\nclass Identifiers$1 {\n}\n/* Methods */\nIdentifiers$1.NEW_METHOD = 'factory';\nIdentifiers$1.TRANSFORM_METHOD = 'transform';\nIdentifiers$1.PATCH_DEPS = 'patchedDeps';\nIdentifiers$1.core = { name: null, moduleName: CORE$1 };\n/* Instructions */\nIdentifiers$1.namespaceHTML = { name: 'ɵɵnamespaceHTML', moduleName: CORE$1 };\nIdentifiers$1.namespaceMathML = { name: 'ɵɵnamespaceMathML', moduleName: CORE$1 };\nIdentifiers$1.namespaceSVG = { name: 'ɵɵnamespaceSVG', moduleName: CORE$1 };\nIdentifiers$1.element = { name: 'ɵɵelement', moduleName: CORE$1 };\nIdentifiers$1.elementStart = { name: 'ɵɵelementStart', moduleName: CORE$1 };\nIdentifiers$1.elementEnd = { name: 'ɵɵelementEnd', moduleName: CORE$1 };\nIdentifiers$1.advance = { name: 'ɵɵadvance', moduleName: CORE$1 };\nIdentifiers$1.syntheticHostProperty = { name: 'ɵɵsyntheticHostProperty', moduleName: CORE$1 };\nIdentifiers$1.syntheticHostListener = { name: 'ɵɵsyntheticHostListener', moduleName: CORE$1 };\nIdentifiers$1.attribute = { name: 'ɵɵattribute', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate1 = { name: 'ɵɵattributeInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate2 = { name: 'ɵɵattributeInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate3 = { name: 'ɵɵattributeInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate4 = { name: 'ɵɵattributeInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate5 = { name: 'ɵɵattributeInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate6 = { name: 'ɵɵattributeInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate7 = { name: 'ɵɵattributeInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolate8 = { name: 'ɵɵattributeInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.attributeInterpolateV = { name: 'ɵɵattributeInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.classProp = { name: 'ɵɵclassProp', moduleName: CORE$1 };\nIdentifiers$1.elementContainerStart = { name: 'ɵɵelementContainerStart', moduleName: CORE$1 };\nIdentifiers$1.elementContainerEnd = { name: 'ɵɵelementContainerEnd', moduleName: CORE$1 };\nIdentifiers$1.elementContainer = { name: 'ɵɵelementContainer', moduleName: CORE$1 };\nIdentifiers$1.styleMap = { name: 'ɵɵstyleMap', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate1 = { name: 'ɵɵstyleMapInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate2 = { name: 'ɵɵstyleMapInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate3 = { name: 'ɵɵstyleMapInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate4 = { name: 'ɵɵstyleMapInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate5 = { name: 'ɵɵstyleMapInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate6 = { name: 'ɵɵstyleMapInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate7 = { name: 'ɵɵstyleMapInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolate8 = { name: 'ɵɵstyleMapInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.styleMapInterpolateV = { name: 'ɵɵstyleMapInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.classMap = { name: 'ɵɵclassMap', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate1 = { name: 'ɵɵclassMapInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate2 = { name: 'ɵɵclassMapInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate3 = { name: 'ɵɵclassMapInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate4 = { name: 'ɵɵclassMapInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate5 = { name: 'ɵɵclassMapInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate6 = { name: 'ɵɵclassMapInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate7 = { name: 'ɵɵclassMapInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolate8 = { name: 'ɵɵclassMapInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.classMapInterpolateV = { name: 'ɵɵclassMapInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.styleProp = { name: 'ɵɵstyleProp', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate1 = { name: 'ɵɵstylePropInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate2 = { name: 'ɵɵstylePropInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate3 = { name: 'ɵɵstylePropInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate4 = { name: 'ɵɵstylePropInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate5 = { name: 'ɵɵstylePropInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate6 = { name: 'ɵɵstylePropInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate7 = { name: 'ɵɵstylePropInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolate8 = { name: 'ɵɵstylePropInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.stylePropInterpolateV = { name: 'ɵɵstylePropInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.nextContext = { name: 'ɵɵnextContext', moduleName: CORE$1 };\nIdentifiers$1.templateCreate = { name: 'ɵɵtemplate', moduleName: CORE$1 };\nIdentifiers$1.text = { name: 'ɵɵtext', moduleName: CORE$1 };\nIdentifiers$1.enableBindings = { name: 'ɵɵenableBindings', moduleName: CORE$1 };\nIdentifiers$1.disableBindings = { name: 'ɵɵdisableBindings', moduleName: CORE$1 };\nIdentifiers$1.getCurrentView = { name: 'ɵɵgetCurrentView', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate = { name: 'ɵɵtextInterpolate', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate1 = { name: 'ɵɵtextInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate2 = { name: 'ɵɵtextInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate3 = { name: 'ɵɵtextInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate4 = { name: 'ɵɵtextInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate5 = { name: 'ɵɵtextInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate6 = { name: 'ɵɵtextInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate7 = { name: 'ɵɵtextInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.textInterpolate8 = { name: 'ɵɵtextInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.textInterpolateV = { name: 'ɵɵtextInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.restoreView = { name: 'ɵɵrestoreView', moduleName: CORE$1 };\nIdentifiers$1.pureFunction0 = { name: 'ɵɵpureFunction0', moduleName: CORE$1 };\nIdentifiers$1.pureFunction1 = { name: 'ɵɵpureFunction1', moduleName: CORE$1 };\nIdentifiers$1.pureFunction2 = { name: 'ɵɵpureFunction2', moduleName: CORE$1 };\nIdentifiers$1.pureFunction3 = { name: 'ɵɵpureFunction3', moduleName: CORE$1 };\nIdentifiers$1.pureFunction4 = { name: 'ɵɵpureFunction4', moduleName: CORE$1 };\nIdentifiers$1.pureFunction5 = { name: 'ɵɵpureFunction5', moduleName: CORE$1 };\nIdentifiers$1.pureFunction6 = { name: 'ɵɵpureFunction6', moduleName: CORE$1 };\nIdentifiers$1.pureFunction7 = { name: 'ɵɵpureFunction7', moduleName: CORE$1 };\nIdentifiers$1.pureFunction8 = { name: 'ɵɵpureFunction8', moduleName: CORE$1 };\nIdentifiers$1.pureFunctionV = { name: 'ɵɵpureFunctionV', moduleName: CORE$1 };\nIdentifiers$1.pipeBind1 = { name: 'ɵɵpipeBind1', moduleName: CORE$1 };\nIdentifiers$1.pipeBind2 = { name: 'ɵɵpipeBind2', moduleName: CORE$1 };\nIdentifiers$1.pipeBind3 = { name: 'ɵɵpipeBind3', moduleName: CORE$1 };\nIdentifiers$1.pipeBind4 = { name: 'ɵɵpipeBind4', moduleName: CORE$1 };\nIdentifiers$1.pipeBindV = { name: 'ɵɵpipeBindV', moduleName: CORE$1 };\nIdentifiers$1.hostProperty = { name: 'ɵɵhostProperty', moduleName: CORE$1 };\nIdentifiers$1.property = { name: 'ɵɵproperty', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate = { name: 'ɵɵpropertyInterpolate', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate1 = { name: 'ɵɵpropertyInterpolate1', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate2 = { name: 'ɵɵpropertyInterpolate2', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate3 = { name: 'ɵɵpropertyInterpolate3', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate4 = { name: 'ɵɵpropertyInterpolate4', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate5 = { name: 'ɵɵpropertyInterpolate5', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate6 = { name: 'ɵɵpropertyInterpolate6', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate7 = { name: 'ɵɵpropertyInterpolate7', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolate8 = { name: 'ɵɵpropertyInterpolate8', moduleName: CORE$1 };\nIdentifiers$1.propertyInterpolateV = { name: 'ɵɵpropertyInterpolateV', moduleName: CORE$1 };\nIdentifiers$1.i18n = { name: 'ɵɵi18n', moduleName: CORE$1 };\nIdentifiers$1.i18nAttributes = { name: 'ɵɵi18nAttributes', moduleName: CORE$1 };\nIdentifiers$1.i18nExp = { name: 'ɵɵi18nExp', moduleName: CORE$1 };\nIdentifiers$1.i18nStart = { name: 'ɵɵi18nStart', moduleName: CORE$1 };\nIdentifiers$1.i18nEnd = { name: 'ɵɵi18nEnd', moduleName: CORE$1 };\nIdentifiers$1.i18nApply = { name: 'ɵɵi18nApply', moduleName: CORE$1 };\nIdentifiers$1.i18nPostprocess = { name: 'ɵɵi18nPostprocess', moduleName: CORE$1 };\nIdentifiers$1.pipe = { name: 'ɵɵpipe', moduleName: CORE$1 };\nIdentifiers$1.projection = { name: 'ɵɵprojection', moduleName: CORE$1 };\nIdentifiers$1.projectionDef = { name: 'ɵɵprojectionDef', moduleName: CORE$1 };\nIdentifiers$1.reference = { name: 'ɵɵreference', moduleName: CORE$1 };\nIdentifiers$1.inject = { name: 'ɵɵinject', moduleName: CORE$1 };\nIdentifiers$1.injectAttribute = { name: 'ɵɵinjectAttribute', moduleName: CORE$1 };\nIdentifiers$1.injectPipeChangeDetectorRef = { name: 'ɵɵinjectPipeChangeDetectorRef', moduleName: CORE$1 };\nIdentifiers$1.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE$1 };\nIdentifiers$1.invalidFactory = { name: 'ɵɵinvalidFactory', moduleName: CORE$1 };\nIdentifiers$1.invalidFactoryDep = { name: 'ɵɵinvalidFactoryDep', moduleName: CORE$1 };\nIdentifiers$1.templateRefExtractor = { name: 'ɵɵtemplateRefExtractor', moduleName: CORE$1 };\nIdentifiers$1.forwardRef = { name: 'forwardRef', moduleName: CORE$1 };\nIdentifiers$1.resolveForwardRef = { name: 'resolveForwardRef', moduleName: CORE$1 };\nIdentifiers$1.resolveWindow = { name: 'ɵɵresolveWindow', moduleName: CORE$1 };\nIdentifiers$1.resolveDocument = { name: 'ɵɵresolveDocument', moduleName: CORE$1 };\nIdentifiers$1.resolveBody = { name: 'ɵɵresolveBody', moduleName: CORE$1 };\nIdentifiers$1.defineComponent = { name: 'ɵɵdefineComponent', moduleName: CORE$1 };\nIdentifiers$1.declareComponent = { name: 'ɵɵngDeclareComponent', moduleName: CORE$1 };\nIdentifiers$1.setComponentScope = { name: 'ɵɵsetComponentScope', moduleName: CORE$1 };\nIdentifiers$1.ChangeDetectionStrategy = {\n name: 'ChangeDetectionStrategy',\n moduleName: CORE$1,\n};\nIdentifiers$1.ViewEncapsulation = {\n name: 'ViewEncapsulation',\n moduleName: CORE$1,\n};\nIdentifiers$1.ComponentDefWithMeta = {\n name: 'ɵɵComponentDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.FactoryDef = {\n name: 'ɵɵFactoryDef',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineDirective = { name: 'ɵɵdefineDirective', moduleName: CORE$1 };\nIdentifiers$1.declareDirective = { name: 'ɵɵngDeclareDirective', moduleName: CORE$1 };\nIdentifiers$1.DirectiveDefWithMeta = {\n name: 'ɵɵDirectiveDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.InjectorDef = {\n name: 'ɵɵInjectorDef',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineInjector = {\n name: 'ɵɵdefineInjector',\n moduleName: CORE$1,\n};\nIdentifiers$1.NgModuleDefWithMeta = {\n name: 'ɵɵNgModuleDefWithMeta',\n moduleName: CORE$1,\n};\nIdentifiers$1.ModuleWithProviders = {\n name: 'ModuleWithProviders',\n moduleName: CORE$1,\n};\nIdentifiers$1.defineNgModule = { name: 'ɵɵdefineNgModule', moduleName: CORE$1 };\nIdentifiers$1.setNgModuleScope = { name: 'ɵɵsetNgModuleScope', moduleName: CORE$1 };\nIdentifiers$1.PipeDefWithMeta = { name: 'ɵɵPipeDefWithMeta', moduleName: CORE$1 };\nIdentifiers$1.definePipe = { name: 'ɵɵdefinePipe', moduleName: CORE$1 };\nIdentifiers$1.declarePipe = { name: 'ɵɵngDeclarePipe', moduleName: CORE$1 };\nIdentifiers$1.queryRefresh = { name: 'ɵɵqueryRefresh', moduleName: CORE$1 };\nIdentifiers$1.viewQuery = { name: 'ɵɵviewQuery', moduleName: CORE$1 };\nIdentifiers$1.loadQuery = { name: 'ɵɵloadQuery', moduleName: CORE$1 };\nIdentifiers$1.contentQuery = { name: 'ɵɵcontentQuery', moduleName: CORE$1 };\nIdentifiers$1.NgOnChangesFeature = { name: 'ɵɵNgOnChangesFeature', moduleName: CORE$1 };\nIdentifiers$1.InheritDefinitionFeature = { name: 'ɵɵInheritDefinitionFeature', moduleName: CORE$1 };\nIdentifiers$1.CopyDefinitionFeature = { name: 'ɵɵCopyDefinitionFeature', moduleName: CORE$1 };\nIdentifiers$1.ProvidersFeature = { name: 'ɵɵProvidersFeature', moduleName: CORE$1 };\nIdentifiers$1.listener = { name: 'ɵɵlistener', moduleName: CORE$1 };\nIdentifiers$1.getFactoryOf = {\n name: 'ɵɵgetFactoryOf',\n moduleName: CORE$1,\n};\nIdentifiers$1.getInheritedFactory = {\n name: 'ɵɵgetInheritedFactory',\n moduleName: CORE$1,\n};\n// sanitization-related functions\nIdentifiers$1.sanitizeHtml = { name: 'ɵɵsanitizeHtml', moduleName: CORE$1 };\nIdentifiers$1.sanitizeStyle = { name: 'ɵɵsanitizeStyle', moduleName: CORE$1 };\nIdentifiers$1.sanitizeResourceUrl = { name: 'ɵɵsanitizeResourceUrl', moduleName: CORE$1 };\nIdentifiers$1.sanitizeScript = { name: 'ɵɵsanitizeScript', moduleName: CORE$1 };\nIdentifiers$1.sanitizeUrl = { name: 'ɵɵsanitizeUrl', moduleName: CORE$1 };\nIdentifiers$1.sanitizeUrlOrResourceUrl = { name: 'ɵɵsanitizeUrlOrResourceUrl', moduleName: CORE$1 };\nIdentifiers$1.trustConstantHtml = { name: 'ɵɵtrustConstantHtml', moduleName: CORE$1 };\nIdentifiers$1.trustConstantResourceUrl = { name: 'ɵɵtrustConstantResourceUrl', moduleName: CORE$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// https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit\nconst VERSION = 3;\nconst JS_B64_PREFIX = '# sourceMappingURL=data:application/json;base64,';\nclass SourceMapGenerator {\n constructor(file = null) {\n this.file = file;\n this.sourcesContent = new Map();\n this.lines = [];\n this.lastCol0 = 0;\n this.hasMappings = false;\n }\n // The content is `null` when the content is expected to be loaded using the URL\n addSource(url, content = null) {\n if (!this.sourcesContent.has(url)) {\n this.sourcesContent.set(url, content);\n }\n return this;\n }\n addLine() {\n this.lines.push([]);\n this.lastCol0 = 0;\n return this;\n }\n addMapping(col0, sourceUrl, sourceLine0, sourceCol0) {\n if (!this.currentLine) {\n throw new Error(`A line must be added before mappings can be added`);\n }\n if (sourceUrl != null && !this.sourcesContent.has(sourceUrl)) {\n throw new Error(`Unknown source file \"${sourceUrl}\"`);\n }\n if (col0 == null) {\n throw new Error(`The column in the generated code must be provided`);\n }\n if (col0 < this.lastCol0) {\n throw new Error(`Mapping should be added in output order`);\n }\n if (sourceUrl && (sourceLine0 == null || sourceCol0 == null)) {\n throw new Error(`The source location must be provided when a source url is provided`);\n }\n this.hasMappings = true;\n this.lastCol0 = col0;\n this.currentLine.push({ col0, sourceUrl, sourceLine0, sourceCol0 });\n return this;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get currentLine() {\n return this.lines.slice(-1)[0];\n }\n toJSON() {\n if (!this.hasMappings) {\n return null;\n }\n const sourcesIndex = new Map();\n const sources = [];\n const sourcesContent = [];\n Array.from(this.sourcesContent.keys()).forEach((url, i) => {\n sourcesIndex.set(url, i);\n sources.push(url);\n sourcesContent.push(this.sourcesContent.get(url) || null);\n });\n let mappings = '';\n let lastCol0 = 0;\n let lastSourceIndex = 0;\n let lastSourceLine0 = 0;\n let lastSourceCol0 = 0;\n this.lines.forEach(segments => {\n lastCol0 = 0;\n mappings += segments\n .map(segment => {\n // zero-based starting column of the line in the generated code\n let segAsStr = toBase64VLQ(segment.col0 - lastCol0);\n lastCol0 = segment.col0;\n if (segment.sourceUrl != null) {\n // zero-based index into the “sources” list\n segAsStr +=\n toBase64VLQ(sourcesIndex.get(segment.sourceUrl) - lastSourceIndex);\n lastSourceIndex = sourcesIndex.get(segment.sourceUrl);\n // the zero-based starting line in the original source\n segAsStr += toBase64VLQ(segment.sourceLine0 - lastSourceLine0);\n lastSourceLine0 = segment.sourceLine0;\n // the zero-based starting column in the original source\n segAsStr += toBase64VLQ(segment.sourceCol0 - lastSourceCol0);\n lastSourceCol0 = segment.sourceCol0;\n }\n return segAsStr;\n })\n .join(',');\n mappings += ';';\n });\n mappings = mappings.slice(0, -1);\n return {\n 'file': this.file || '',\n 'version': VERSION,\n 'sourceRoot': '',\n 'sources': sources,\n 'sourcesContent': sourcesContent,\n 'mappings': mappings,\n };\n }\n toJsComment() {\n return this.hasMappings ? '//' + JS_B64_PREFIX + toBase64String(JSON.stringify(this, null, 0)) :\n '';\n }\n}\nfunction toBase64String(value) {\n let b64 = '';\n const encoded = utf8Encode(value);\n for (let i = 0; i < encoded.length;) {\n const i1 = encoded[i++];\n const i2 = i < encoded.length ? encoded[i++] : null;\n const i3 = i < encoded.length ? encoded[i++] : null;\n b64 += toBase64Digit(i1 >> 2);\n b64 += toBase64Digit(((i1 & 3) << 4) | (i2 === null ? 0 : i2 >> 4));\n b64 += i2 === null ? '=' : toBase64Digit(((i2 & 15) << 2) | (i3 === null ? 0 : i3 >> 6));\n b64 += i2 === null || i3 === null ? '=' : toBase64Digit(i3 & 63);\n }\n return b64;\n}\nfunction toBase64VLQ(value) {\n value = value < 0 ? ((-value) << 1) + 1 : value << 1;\n let out = '';\n do {\n let digit = value & 31;\n value = value >> 5;\n if (value > 0) {\n digit = digit | 32;\n }\n out += toBase64Digit(digit);\n } while (value > 0);\n return out;\n}\nconst B64_DIGITS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfunction toBase64Digit(value) {\n if (value < 0 || value >= 64) {\n throw new Error(`Can only encode value in the range [0, 63]`);\n }\n return B64_DIGITS[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 */\nconst _SINGLE_QUOTE_ESCAPE_STRING_RE = /'|\\\\|\\n|\\r|\\$/g;\nconst _LEGAL_IDENTIFIER_RE = /^[$A-Z_][0-9A-Z_$]*$/i;\nconst _INDENT_WITH = ' ';\nconst CATCH_ERROR_VAR$1 = variable('error', null, null);\nconst CATCH_STACK_VAR$1 = variable('stack', null, null);\nclass _EmittedLine {\n constructor(indent) {\n this.indent = indent;\n this.partsLength = 0;\n this.parts = [];\n this.srcSpans = [];\n }\n}\nclass EmitterVisitorContext {\n constructor(_indent) {\n this._indent = _indent;\n this._classes = [];\n this._preambleLineCount = 0;\n this._lines = [new _EmittedLine(_indent)];\n }\n static createRoot() {\n return new EmitterVisitorContext(0);\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get _currentLine() {\n return this._lines[this._lines.length - 1];\n }\n println(from, lastPart = '') {\n this.print(from || null, lastPart, true);\n }\n lineIsEmpty() {\n return this._currentLine.parts.length === 0;\n }\n lineLength() {\n return this._currentLine.indent * _INDENT_WITH.length + this._currentLine.partsLength;\n }\n print(from, part, newLine = false) {\n if (part.length > 0) {\n this._currentLine.parts.push(part);\n this._currentLine.partsLength += part.length;\n this._currentLine.srcSpans.push(from && from.sourceSpan || null);\n }\n if (newLine) {\n this._lines.push(new _EmittedLine(this._indent));\n }\n }\n removeEmptyLastLine() {\n if (this.lineIsEmpty()) {\n this._lines.pop();\n }\n }\n incIndent() {\n this._indent++;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n decIndent() {\n this._indent--;\n if (this.lineIsEmpty()) {\n this._currentLine.indent = this._indent;\n }\n }\n pushClass(clazz) {\n this._classes.push(clazz);\n }\n popClass() {\n return this._classes.pop();\n }\n get currentClass() {\n return this._classes.length > 0 ? this._classes[this._classes.length - 1] : null;\n }\n toSource() {\n return this.sourceLines\n .map(l => l.parts.length > 0 ? _createIndent(l.indent) + l.parts.join('') : '')\n .join('\\n');\n }\n toSourceMapGenerator(genFilePath, startsAtLine = 0) {\n const map = new SourceMapGenerator(genFilePath);\n let firstOffsetMapped = false;\n const mapFirstOffsetIfNeeded = () => {\n if (!firstOffsetMapped) {\n // Add a single space so that tools won't try to load the file from disk.\n // Note: We are using virtual urls like `ng:///`, so we have to\n // provide a content here.\n map.addSource(genFilePath, ' ').addMapping(0, genFilePath, 0, 0);\n firstOffsetMapped = true;\n }\n };\n for (let i = 0; i < startsAtLine; i++) {\n map.addLine();\n mapFirstOffsetIfNeeded();\n }\n this.sourceLines.forEach((line, lineIdx) => {\n map.addLine();\n const spans = line.srcSpans;\n const parts = line.parts;\n let col0 = line.indent * _INDENT_WITH.length;\n let spanIdx = 0;\n // skip leading parts without source spans\n while (spanIdx < spans.length && !spans[spanIdx]) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n if (spanIdx < spans.length && lineIdx === 0 && col0 === 0) {\n firstOffsetMapped = true;\n }\n else {\n mapFirstOffsetIfNeeded();\n }\n while (spanIdx < spans.length) {\n const span = spans[spanIdx];\n const source = span.start.file;\n const sourceLine = span.start.line;\n const sourceCol = span.start.col;\n map.addSource(source.url, source.content)\n .addMapping(col0, source.url, sourceLine, sourceCol);\n col0 += parts[spanIdx].length;\n spanIdx++;\n // assign parts without span or the same span to the previous segment\n while (spanIdx < spans.length && (span === spans[spanIdx] || !spans[spanIdx])) {\n col0 += parts[spanIdx].length;\n spanIdx++;\n }\n }\n });\n return map;\n }\n setPreambleLineCount(count) {\n return this._preambleLineCount = count;\n }\n spanOf(line, column) {\n const emittedLine = this._lines[line - this._preambleLineCount];\n if (emittedLine) {\n let columnsLeft = column - _createIndent(emittedLine.indent).length;\n for (let partIndex = 0; partIndex < emittedLine.parts.length; partIndex++) {\n const part = emittedLine.parts[partIndex];\n if (part.length > columnsLeft) {\n return emittedLine.srcSpans[partIndex];\n }\n columnsLeft -= part.length;\n }\n }\n return null;\n }\n /**\n * @internal strip this from published d.ts files due to\n * https://github.com/microsoft/TypeScript/issues/36216\n */\n get sourceLines() {\n if (this._lines.length && this._lines[this._lines.length - 1].parts.length === 0) {\n return this._lines.slice(0, -1);\n }\n return this._lines;\n }\n}\nclass AbstractEmitterVisitor {\n constructor(_escapeDollarInStrings) {\n this._escapeDollarInStrings = _escapeDollarInStrings;\n }\n printLeadingComments(stmt, ctx) {\n if (stmt.leadingComments === undefined) {\n return;\n }\n for (const comment of stmt.leadingComments) {\n if (comment instanceof JSDocComment) {\n ctx.print(stmt, `/*${comment.toString()}*/`, comment.trailingNewline);\n }\n else {\n if (comment.multiline) {\n ctx.print(stmt, `/* ${comment.text} */`, comment.trailingNewline);\n }\n else {\n comment.text.split('\\n').forEach((line) => {\n ctx.println(stmt, `// ${line}`);\n });\n }\n }\n }\n }\n visitExpressionStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n stmt.expr.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitReturnStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `return `);\n stmt.value.visitExpression(this, ctx);\n ctx.println(stmt, ';');\n return null;\n }\n visitIfStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `if (`);\n stmt.condition.visitExpression(this, ctx);\n ctx.print(stmt, `) {`);\n const hasElseCase = stmt.falseCase != null && stmt.falseCase.length > 0;\n if (stmt.trueCase.length <= 1 && !hasElseCase) {\n ctx.print(stmt, ` `);\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.removeEmptyLastLine();\n ctx.print(stmt, ` `);\n }\n else {\n ctx.println();\n ctx.incIndent();\n this.visitAllStatements(stmt.trueCase, ctx);\n ctx.decIndent();\n if (hasElseCase) {\n ctx.println(stmt, `} else {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.falseCase, ctx);\n ctx.decIndent();\n }\n }\n ctx.println(stmt, `}`);\n return null;\n }\n visitThrowStmt(stmt, ctx) {\n this.printLeadingComments(stmt, ctx);\n ctx.print(stmt, `throw `);\n stmt.error.visitExpression(this, ctx);\n ctx.println(stmt, `;`);\n return null;\n }\n visitWriteVarExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n ctx.print(expr, `${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWriteKeyExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `[`);\n expr.index.visitExpression(this, ctx);\n ctx.print(expr, `] = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitWritePropExpr(expr, ctx) {\n const lineWasEmpty = ctx.lineIsEmpty();\n if (!lineWasEmpty) {\n ctx.print(expr, '(');\n }\n expr.receiver.visitExpression(this, ctx);\n ctx.print(expr, `.${expr.name} = `);\n expr.value.visitExpression(this, ctx);\n if (!lineWasEmpty) {\n ctx.print(expr, ')');\n }\n return null;\n }\n visitInvokeMethodExpr(expr, ctx) {\n expr.receiver.visitExpression(this, ctx);\n let name = expr.name;\n if (expr.builtin != null) {\n name = this.getBuiltinMethodName(expr.builtin);\n if (name == null) {\n // some builtins just mean to skip the call.\n return null;\n }\n }\n ctx.print(expr, `.${name}(`);\n this.visitAllExpressions(expr.args, ctx, `,`);\n ctx.print(expr, `)`);\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n expr.fn.visitExpression(this, ctx);\n ctx.print(expr, `(`);\n this.visitAllExpressions(expr.args, ctx, ',');\n ctx.print(expr, `)`);\n return null;\n }\n visitTaggedTemplateExpr(expr, ctx) {\n expr.tag.visitExpression(this, ctx);\n ctx.print(expr, '`' + expr.template.elements[0].rawText);\n for (let i = 1; i < expr.template.elements.length; i++) {\n ctx.print(expr, '${');\n expr.template.expressions[i - 1].visitExpression(this, ctx);\n ctx.print(expr, `}${expr.template.elements[i].rawText}`);\n }\n ctx.print(expr, '`');\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Abstract emitter cannot visit WrappedNodeExpr.');\n }\n visitTypeofExpr(expr, ctx) {\n ctx.print(expr, 'typeof ');\n expr.expr.visitExpression(this, ctx);\n }\n visitReadVarExpr(ast, ctx) {\n let varName = ast.name;\n if (ast.builtin != null) {\n switch (ast.builtin) {\n case BuiltinVar.Super:\n varName = 'super';\n break;\n case BuiltinVar.This:\n varName = 'this';\n break;\n case BuiltinVar.CatchError:\n varName = CATCH_ERROR_VAR$1.name;\n break;\n case BuiltinVar.CatchStack:\n varName = CATCH_STACK_VAR$1.name;\n break;\n default:\n throw new Error(`Unknown builtin variable ${ast.builtin}`);\n }\n }\n ctx.print(ast, varName);\n return null;\n }\n visitInstantiateExpr(ast, ctx) {\n ctx.print(ast, `new `);\n ast.classExpr.visitExpression(this, ctx);\n ctx.print(ast, `(`);\n this.visitAllExpressions(ast.args, ctx, ',');\n ctx.print(ast, `)`);\n return null;\n }\n visitLiteralExpr(ast, ctx) {\n const value = ast.value;\n if (typeof value === 'string') {\n ctx.print(ast, escapeIdentifier(value, this._escapeDollarInStrings));\n }\n else {\n ctx.print(ast, `${value}`);\n }\n return null;\n }\n visitLocalizedString(ast, ctx) {\n const head = ast.serializeI18nHead();\n ctx.print(ast, '$localize `' + head.raw);\n for (let i = 1; i < ast.messageParts.length; i++) {\n ctx.print(ast, '${');\n ast.expressions[i - 1].visitExpression(this, ctx);\n ctx.print(ast, `}${ast.serializeI18nTemplatePart(i).raw}`);\n }\n ctx.print(ast, '`');\n return null;\n }\n visitConditionalExpr(ast, ctx) {\n ctx.print(ast, `(`);\n ast.condition.visitExpression(this, ctx);\n ctx.print(ast, '? ');\n ast.trueCase.visitExpression(this, ctx);\n ctx.print(ast, ': ');\n ast.falseCase.visitExpression(this, ctx);\n ctx.print(ast, `)`);\n return null;\n }\n visitNotExpr(ast, ctx) {\n ctx.print(ast, '!');\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitAssertNotNullExpr(ast, ctx) {\n ast.condition.visitExpression(this, ctx);\n return null;\n }\n visitUnaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case UnaryOperator.Plus:\n opStr = '+';\n break;\n case UnaryOperator.Minus:\n opStr = '-';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ctx.print(ast, opStr);\n ast.expr.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitBinaryOperatorExpr(ast, ctx) {\n let opStr;\n switch (ast.operator) {\n case BinaryOperator.Equals:\n opStr = '==';\n break;\n case BinaryOperator.Identical:\n opStr = '===';\n break;\n case BinaryOperator.NotEquals:\n opStr = '!=';\n break;\n case BinaryOperator.NotIdentical:\n opStr = '!==';\n break;\n case BinaryOperator.And:\n opStr = '&&';\n break;\n case BinaryOperator.BitwiseAnd:\n opStr = '&';\n break;\n case BinaryOperator.Or:\n opStr = '||';\n break;\n case BinaryOperator.Plus:\n opStr = '+';\n break;\n case BinaryOperator.Minus:\n opStr = '-';\n break;\n case BinaryOperator.Divide:\n opStr = '/';\n break;\n case BinaryOperator.Multiply:\n opStr = '*';\n break;\n case BinaryOperator.Modulo:\n opStr = '%';\n break;\n case BinaryOperator.Lower:\n opStr = '<';\n break;\n case BinaryOperator.LowerEquals:\n opStr = '<=';\n break;\n case BinaryOperator.Bigger:\n opStr = '>';\n break;\n case BinaryOperator.BiggerEquals:\n opStr = '>=';\n break;\n default:\n throw new Error(`Unknown operator ${ast.operator}`);\n }\n if (ast.parens)\n ctx.print(ast, `(`);\n ast.lhs.visitExpression(this, ctx);\n ctx.print(ast, ` ${opStr} `);\n ast.rhs.visitExpression(this, ctx);\n if (ast.parens)\n ctx.print(ast, `)`);\n return null;\n }\n visitReadPropExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `.`);\n ctx.print(ast, ast.name);\n return null;\n }\n visitReadKeyExpr(ast, ctx) {\n ast.receiver.visitExpression(this, ctx);\n ctx.print(ast, `[`);\n ast.index.visitExpression(this, ctx);\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralArrayExpr(ast, ctx) {\n ctx.print(ast, `[`);\n this.visitAllExpressions(ast.entries, ctx, ',');\n ctx.print(ast, `]`);\n return null;\n }\n visitLiteralMapExpr(ast, ctx) {\n ctx.print(ast, `{`);\n this.visitAllObjects(entry => {\n ctx.print(ast, `${escapeIdentifier(entry.key, this._escapeDollarInStrings, entry.quoted)}:`);\n entry.value.visitExpression(this, ctx);\n }, ast.entries, ctx, ',');\n ctx.print(ast, `}`);\n return null;\n }\n visitCommaExpr(ast, ctx) {\n ctx.print(ast, '(');\n this.visitAllExpressions(ast.parts, ctx, ',');\n ctx.print(ast, ')');\n return null;\n }\n visitAllExpressions(expressions, ctx, separator) {\n this.visitAllObjects(expr => expr.visitExpression(this, ctx), expressions, ctx, separator);\n }\n visitAllObjects(handler, expressions, ctx, separator) {\n let incrementedIndent = false;\n for (let i = 0; i < expressions.length; i++) {\n if (i > 0) {\n if (ctx.lineLength() > 80) {\n ctx.print(null, separator, true);\n if (!incrementedIndent) {\n // continuation are marked with double indent.\n ctx.incIndent();\n ctx.incIndent();\n incrementedIndent = true;\n }\n }\n else {\n ctx.print(null, separator, false);\n }\n }\n handler(expressions[i]);\n }\n if (incrementedIndent) {\n // continuation are marked with double indent.\n ctx.decIndent();\n ctx.decIndent();\n }\n }\n visitAllStatements(statements, ctx) {\n statements.forEach((stmt) => stmt.visitStatement(this, ctx));\n }\n}\nfunction escapeIdentifier(input, escapeDollar, alwaysQuote = true) {\n if (input == null) {\n return null;\n }\n const body = input.replace(_SINGLE_QUOTE_ESCAPE_STRING_RE, (...match) => {\n if (match[0] == '$') {\n return escapeDollar ? '\\\\$' : '$';\n }\n else if (match[0] == '\\n') {\n return '\\\\n';\n }\n else if (match[0] == '\\r') {\n return '\\\\r';\n }\n else {\n return `\\\\${match[0]}`;\n }\n });\n const requiresQuotes = alwaysQuote || !_LEGAL_IDENTIFIER_RE.test(body);\n return requiresQuotes ? `'${body}'` : body;\n}\nfunction _createIndent(count) {\n let res = '';\n for (let i = 0; i < count; i++) {\n res += _INDENT_WITH;\n }\n return res;\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 * Convert an object map with `Expression` values into a `LiteralMapExpr`.\n */\nfunction mapToMapExpression(map) {\n const result = Object.keys(map).map(key => ({\n key,\n // The assertion here is because really TypeScript doesn't allow us to express that if the\n // key is present, it will have a value, but this is true in reality.\n value: map[key],\n quoted: false,\n }));\n return literalMap(result);\n}\n/**\n * Convert metadata into an `Expression` in the given `OutputContext`.\n *\n * This operation will handle arrays, references to symbols, or literal `null` or `undefined`.\n */\nfunction convertMetaToOutput(meta, ctx) {\n if (Array.isArray(meta)) {\n return literalArr(meta.map(entry => convertMetaToOutput(entry, ctx)));\n }\n if (meta instanceof StaticSymbol) {\n return ctx.importExpr(meta);\n }\n if (meta == null) {\n return literal(meta);\n }\n throw new Error(`Internal error: Unsupported or unknown metadata: ${meta}`);\n}\nfunction typeWithParameters(type, numParams) {\n if (numParams === 0) {\n return expressionType(type);\n }\n const params = [];\n for (let i = 0; i < numParams; i++) {\n params.push(DYNAMIC_TYPE);\n }\n return expressionType(type, undefined, params);\n}\nconst ANIMATE_SYMBOL_PREFIX = '@';\nfunction prepareSyntheticPropertyName(name) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}`;\n}\nfunction prepareSyntheticListenerName(name, phase) {\n return `${ANIMATE_SYMBOL_PREFIX}${name}.${phase}`;\n}\nfunction isSyntheticPropertyOrListener(name) {\n return name.charAt(0) == ANIMATE_SYMBOL_PREFIX;\n}\nfunction getSyntheticPropertyName(name) {\n // this will strip out listener phase values...\n // @foo.start => @foo\n const i = name.indexOf('.');\n name = i > 0 ? name.substring(0, i) : name;\n if (name.charAt(0) !== ANIMATE_SYMBOL_PREFIX) {\n name = ANIMATE_SYMBOL_PREFIX + name;\n }\n return name;\n}\nfunction getSafePropertyAccessString(accessor, name) {\n const escapedName = escapeIdentifier(name, false, false);\n return escapedName !== name ? `${accessor}[${escapedName}]` : `${accessor}.${name}`;\n}\nfunction prepareSyntheticListenerFunctionName(name, phase) {\n return `animation_${name}_${phase}`;\n}\nfunction jitOnlyGuardedExpression(expr) {\n return guardedExpression('ngJitMode', expr);\n}\nfunction devOnlyGuardedExpression(expr) {\n return guardedExpression('ngDevMode', expr);\n}\nfunction guardedExpression(guard, expr) {\n const guardExpr = new ExternalExpr({ name: guard, moduleName: null });\n const guardNotDefined = new BinaryOperatorExpr(BinaryOperator.Identical, new TypeofExpr(guardExpr), literal('undefined'));\n const guardUndefinedOrTrue = new BinaryOperatorExpr(BinaryOperator.Or, guardNotDefined, guardExpr, /* type */ undefined, \n /* sourceSpan */ undefined, true);\n return new BinaryOperatorExpr(BinaryOperator.And, guardUndefinedOrTrue, expr);\n}\nfunction wrapReference(value) {\n const wrapped = new WrappedNodeExpr(value);\n return { value: wrapped, type: wrapped };\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 Text {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass BoundText {\n constructor(value, sourceSpan, i18n) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitBoundText(this);\n }\n}\n/**\n * Represents a text attribute in the template.\n *\n * `valueSpan` may not be present in cases where there is no value `
`.\n * `keySpan` may also not be present for synthetic attributes from ICU expansions.\n */\nclass TextAttribute {\n constructor(name, value, sourceSpan, keySpan, valueSpan, i18n) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTextAttribute(this);\n }\n}\nclass BoundAttribute {\n constructor(name, type, securityContext, value, unit, sourceSpan, keySpan, valueSpan, i18n) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n this.i18n = i18n;\n }\n static fromBoundElementProperty(prop, i18n) {\n if (prop.keySpan === undefined) {\n throw new Error(`Unexpected state: keySpan must be defined for bound attributes but was not for ${prop.name}: ${prop.sourceSpan}`);\n }\n return new BoundAttribute(prop.name, prop.type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan, prop.keySpan, prop.valueSpan, i18n);\n }\n visit(visitor) {\n return visitor.visitBoundAttribute(this);\n }\n}\nclass BoundEvent {\n constructor(name, type, handler, target, phase, sourceSpan, handlerSpan, keySpan) {\n this.name = name;\n this.type = type;\n this.handler = handler;\n this.target = target;\n this.phase = phase;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n this.keySpan = keySpan;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n if (event.keySpan === undefined) {\n throw new Error(`Unexpected state: keySpan must be defined for bound event but was not for ${event.name}: ${event.sourceSpan}`);\n }\n return new BoundEvent(event.name, event.type, event.handler, target, phase, event.sourceSpan, event.handlerSpan, event.keySpan);\n }\n visit(visitor) {\n return visitor.visitBoundEvent(this);\n }\n}\nclass Element {\n constructor(name, attributes, inputs, outputs, children, references, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.name = name;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.children = children;\n this.references = references;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitElement(this);\n }\n}\nclass Template {\n constructor(tagName, attributes, inputs, outputs, templateAttrs, children, references, variables, sourceSpan, startSourceSpan, endSourceSpan, i18n) {\n this.tagName = tagName;\n this.attributes = attributes;\n this.inputs = inputs;\n this.outputs = outputs;\n this.templateAttrs = templateAttrs;\n this.children = children;\n this.references = references;\n this.variables = variables;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitTemplate(this);\n }\n}\nclass Content {\n constructor(selector, attributes, sourceSpan, i18n) {\n this.selector = selector;\n this.attributes = attributes;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n this.name = 'ng-content';\n }\n visit(visitor) {\n return visitor.visitContent(this);\n }\n}\nclass Variable {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitVariable(this);\n }\n}\nclass Reference {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor) {\n return visitor.visitReference(this);\n }\n}\nclass Icu {\n constructor(vars, placeholders, sourceSpan, i18n) {\n this.vars = vars;\n this.placeholders = placeholders;\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n visit(visitor) {\n return visitor.visitIcu(this);\n }\n}\nclass NullVisitor {\n visitElement(element) { }\n visitTemplate(template) { }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass RecursiveVisitor {\n visitElement(element) {\n visitAll(this, element.attributes);\n visitAll(this, element.children);\n visitAll(this, element.references);\n }\n visitTemplate(template) {\n visitAll(this, template.attributes);\n visitAll(this, template.children);\n visitAll(this, template.references);\n visitAll(this, template.variables);\n }\n visitContent(content) { }\n visitVariable(variable) { }\n visitReference(reference) { }\n visitTextAttribute(attribute) { }\n visitBoundAttribute(attribute) { }\n visitBoundEvent(attribute) { }\n visitText(text) { }\n visitBoundText(text) { }\n visitIcu(icu) { }\n}\nclass TransformVisitor {\n visitElement(element) {\n const newAttributes = transformAll(this, element.attributes);\n const newInputs = transformAll(this, element.inputs);\n const newOutputs = transformAll(this, element.outputs);\n const newChildren = transformAll(this, element.children);\n const newReferences = transformAll(this, element.references);\n if (newAttributes != element.attributes || newInputs != element.inputs ||\n newOutputs != element.outputs || newChildren != element.children ||\n newReferences != element.references) {\n return new Element(element.name, newAttributes, newInputs, newOutputs, newChildren, newReferences, element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n return element;\n }\n visitTemplate(template) {\n const newAttributes = transformAll(this, template.attributes);\n const newInputs = transformAll(this, template.inputs);\n const newOutputs = transformAll(this, template.outputs);\n const newTemplateAttrs = transformAll(this, template.templateAttrs);\n const newChildren = transformAll(this, template.children);\n const newReferences = transformAll(this, template.references);\n const newVariables = transformAll(this, template.variables);\n if (newAttributes != template.attributes || newInputs != template.inputs ||\n newOutputs != template.outputs || newTemplateAttrs != template.templateAttrs ||\n newChildren != template.children || newReferences != template.references ||\n newVariables != template.variables) {\n return new Template(template.tagName, newAttributes, newInputs, newOutputs, newTemplateAttrs, newChildren, newReferences, newVariables, template.sourceSpan, template.startSourceSpan, template.endSourceSpan);\n }\n return template;\n }\n visitContent(content) {\n return content;\n }\n visitVariable(variable) {\n return variable;\n }\n visitReference(reference) {\n return reference;\n }\n visitTextAttribute(attribute) {\n return attribute;\n }\n visitBoundAttribute(attribute) {\n return attribute;\n }\n visitBoundEvent(attribute) {\n return attribute;\n }\n visitText(text) {\n return text;\n }\n visitBoundText(text) {\n return text;\n }\n visitIcu(icu) {\n return icu;\n }\n}\nfunction visitAll(visitor, nodes) {\n const result = [];\n if (visitor.visit) {\n for (const node of nodes) {\n const newNode = visitor.visit(node) || node.visit(visitor);\n }\n }\n else {\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n }\n }\n return result;\n}\nfunction transformAll(visitor, nodes) {\n const result = [];\n let changed = false;\n for (const node of nodes) {\n const newNode = node.visit(visitor);\n if (newNode) {\n result.push(newNode);\n }\n changed = changed || newNode != node;\n }\n return changed ? result : nodes;\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 Message {\n /**\n * @param nodes message AST\n * @param placeholders maps placeholder names to static content and their source spans\n * @param placeholderToMessage maps placeholder names to messages (used for nested ICU messages)\n * @param meaning\n * @param description\n * @param customId\n */\n constructor(nodes, placeholders, placeholderToMessage, meaning, description, customId) {\n this.nodes = nodes;\n this.placeholders = placeholders;\n this.placeholderToMessage = placeholderToMessage;\n this.meaning = meaning;\n this.description = description;\n this.customId = customId;\n this.id = this.customId;\n /** The ids to use if there are no custom id and if `i18nLegacyMessageIdFormat` is not empty */\n this.legacyIds = [];\n if (nodes.length) {\n this.sources = [{\n filePath: nodes[0].sourceSpan.start.file.url,\n startLine: nodes[0].sourceSpan.start.line + 1,\n startCol: nodes[0].sourceSpan.start.col + 1,\n endLine: nodes[nodes.length - 1].sourceSpan.end.line + 1,\n endCol: nodes[0].sourceSpan.start.col + 1\n }];\n }\n else {\n this.sources = [];\n }\n }\n}\nclass Text$1 {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n// TODO(vicb): do we really need this node (vs an array) ?\nclass Container {\n constructor(children, sourceSpan) {\n this.children = children;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitContainer(this, context);\n }\n}\nclass Icu$1 {\n constructor(expression, type, cases, sourceSpan) {\n this.expression = expression;\n this.type = type;\n this.cases = cases;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcu(this, context);\n }\n}\nclass TagPlaceholder {\n constructor(tag, attrs, startName, closeName, children, isVoid, \n // TODO sourceSpan should cover all (we need a startSourceSpan and endSourceSpan)\n sourceSpan, startSourceSpan, endSourceSpan) {\n this.tag = tag;\n this.attrs = attrs;\n this.startName = startName;\n this.closeName = closeName;\n this.children = children;\n this.isVoid = isVoid;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitTagPlaceholder(this, context);\n }\n}\nclass Placeholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitPlaceholder(this, context);\n }\n}\nclass IcuPlaceholder {\n constructor(value, name, sourceSpan) {\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitIcuPlaceholder(this, context);\n }\n}\n// Clone the AST\nclass CloneVisitor {\n visitText(text, context) {\n return new Text$1(text.value, text.sourceSpan);\n }\n visitContainer(container, context) {\n const children = container.children.map(n => n.visit(this, context));\n return new Container(children, container.sourceSpan);\n }\n visitIcu(icu, context) {\n const cases = {};\n Object.keys(icu.cases).forEach(key => cases[key] = icu.cases[key].visit(this, context));\n const msg = new Icu$1(icu.expression, icu.type, cases, icu.sourceSpan);\n msg.expressionPlaceholder = icu.expressionPlaceholder;\n return msg;\n }\n visitTagPlaceholder(ph, context) {\n const children = ph.children.map(n => n.visit(this, context));\n return new TagPlaceholder(ph.tag, ph.attrs, ph.startName, ph.closeName, children, ph.isVoid, ph.sourceSpan, ph.startSourceSpan, ph.endSourceSpan);\n }\n visitPlaceholder(ph, context) {\n return new Placeholder(ph.value, ph.name, ph.sourceSpan);\n }\n visitIcuPlaceholder(ph, context) {\n return new IcuPlaceholder(ph.value, ph.name, ph.sourceSpan);\n }\n}\n// Visit all the nodes recursively\nclass RecurseVisitor {\n visitText(text, context) { }\n visitContainer(container, context) {\n container.children.forEach(child => child.visit(this));\n }\n visitIcu(icu, context) {\n Object.keys(icu.cases).forEach(k => {\n icu.cases[k].visit(this);\n });\n }\n visitTagPlaceholder(ph, context) {\n ph.children.forEach(child => child.visit(this));\n }\n visitPlaceholder(ph, context) { }\n visitIcuPlaceholder(ph, context) { }\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 big integer using a buffer of its individual digits, with the least significant\n * digit stored at the beginning of the array (little endian).\n *\n * For performance reasons, each instance is mutable. The addition operation can be done in-place\n * to reduce memory pressure of allocation for the digits array.\n */\nclass BigInteger {\n /**\n * Creates a big integer using its individual digits in little endian storage.\n */\n constructor(digits) {\n this.digits = digits;\n }\n static zero() {\n return new BigInteger([0]);\n }\n static one() {\n return new BigInteger([1]);\n }\n /**\n * Creates a clone of this instance.\n */\n clone() {\n return new BigInteger(this.digits.slice());\n }\n /**\n * Returns a new big integer with the sum of `this` and `other` as its value. This does not mutate\n * `this` but instead returns a new instance, unlike `addToSelf`.\n */\n add(other) {\n const result = this.clone();\n result.addToSelf(other);\n return result;\n }\n /**\n * Adds `other` to the instance itself, thereby mutating its value.\n */\n addToSelf(other) {\n const maxNrOfDigits = Math.max(this.digits.length, other.digits.length);\n let carry = 0;\n for (let i = 0; i < maxNrOfDigits; i++) {\n let digitSum = carry;\n if (i < this.digits.length) {\n digitSum += this.digits[i];\n }\n if (i < other.digits.length) {\n digitSum += other.digits[i];\n }\n if (digitSum >= 10) {\n this.digits[i] = digitSum - 10;\n carry = 1;\n }\n else {\n this.digits[i] = digitSum;\n carry = 0;\n }\n }\n // Apply a remaining carry if needed.\n if (carry > 0) {\n this.digits[maxNrOfDigits] = 1;\n }\n }\n /**\n * Builds the decimal string representation of the big integer. As this is stored in\n * little endian, the digits are concatenated in reverse order.\n */\n toString() {\n let res = '';\n for (let i = this.digits.length - 1; i >= 0; i--) {\n res += this.digits[i];\n }\n return res;\n }\n}\n/**\n * Represents a big integer which is optimized for multiplication operations, as its power-of-twos\n * are memoized. See `multiplyBy()` for details on the multiplication algorithm.\n */\nclass BigIntForMultiplication {\n constructor(value) {\n this.powerOfTwos = [value];\n }\n /**\n * Returns the big integer itself.\n */\n getValue() {\n return this.powerOfTwos[0];\n }\n /**\n * Computes the value for `num * b`, where `num` is a JS number and `b` is a big integer. The\n * value for `b` is represented by a storage model that is optimized for this computation.\n *\n * This operation is implemented in N(log2(num)) by continuous halving of the number, where the\n * least-significant bit (LSB) is tested in each iteration. If the bit is set, the bit's index is\n * used as exponent into the power-of-two multiplication of `b`.\n *\n * As an example, consider the multiplication num=42, b=1337. In binary 42 is 0b00101010 and the\n * algorithm unrolls into the following iterations:\n *\n * Iteration | num | LSB | b * 2^iter | Add? | product\n * -----------|------------|------|------------|------|--------\n * 0 | 0b00101010 | 0 | 1337 | No | 0\n * 1 | 0b00010101 | 1 | 2674 | Yes | 2674\n * 2 | 0b00001010 | 0 | 5348 | No | 2674\n * 3 | 0b00000101 | 1 | 10696 | Yes | 13370\n * 4 | 0b00000010 | 0 | 21392 | No | 13370\n * 5 | 0b00000001 | 1 | 42784 | Yes | 56154\n * 6 | 0b00000000 | 0 | 85568 | No | 56154\n *\n * The computed product of 56154 is indeed the correct result.\n *\n * The `BigIntForMultiplication` representation for a big integer provides memoized access to the\n * power-of-two values to reduce the workload in computing those values.\n */\n multiplyBy(num) {\n const product = BigInteger.zero();\n this.multiplyByAndAddTo(num, product);\n return product;\n }\n /**\n * See `multiplyBy()` for details. This function allows for the computed product to be added\n * directly to the provided result big integer.\n */\n multiplyByAndAddTo(num, result) {\n for (let exponent = 0; num !== 0; num = num >>> 1, exponent++) {\n if (num & 1) {\n const value = this.getMultipliedByPowerOfTwo(exponent);\n result.addToSelf(value);\n }\n }\n }\n /**\n * Computes and memoizes the big integer value for `this.number * 2^exponent`.\n */\n getMultipliedByPowerOfTwo(exponent) {\n // Compute the powers up until the requested exponent, where each value is computed from its\n // predecessor. This is simple as `this.number * 2^(exponent - 1)` only has to be doubled (i.e.\n // added to itself) to reach `this.number * 2^exponent`.\n for (let i = this.powerOfTwos.length; i <= exponent; i++) {\n const previousPower = this.powerOfTwos[i - 1];\n this.powerOfTwos[i] = previousPower.add(previousPower);\n }\n return this.powerOfTwos[exponent];\n }\n}\n/**\n * Represents an exponentiation operation for the provided base, of which exponents are computed and\n * memoized. The results are represented by a `BigIntForMultiplication` which is tailored for\n * multiplication operations by memoizing the power-of-twos. This effectively results in a matrix\n * representation that is lazily computed upon request.\n */\nclass BigIntExponentiation {\n constructor(base) {\n this.base = base;\n this.exponents = [new BigIntForMultiplication(BigInteger.one())];\n }\n /**\n * Compute the value for `this.base^exponent`, resulting in a big integer that is optimized for\n * further multiplication operations.\n */\n toThePowerOf(exponent) {\n // Compute the results up until the requested exponent, where every value is computed from its\n // predecessor. This is because `this.base^(exponent - 1)` only has to be multiplied by `base`\n // to reach `this.base^exponent`.\n for (let i = this.exponents.length; i <= exponent; i++) {\n const value = this.exponents[i - 1].multiplyBy(this.base);\n this.exponents[i] = new BigIntForMultiplication(value);\n }\n return this.exponents[exponent];\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 * Return the message id or compute it using the XLIFF1 digest.\n */\nfunction digest(message) {\n return message.id || computeDigest(message);\n}\n/**\n * Compute the message id using the XLIFF1 digest.\n */\nfunction computeDigest(message) {\n return sha1(serializeNodes(message.nodes).join('') + `[${message.meaning}]`);\n}\n/**\n * Return the message id or compute it using the XLIFF2/XMB/$localize digest.\n */\nfunction decimalDigest(message) {\n return message.id || computeDecimalDigest(message);\n}\n/**\n * Compute the message id using the XLIFF2/XMB/$localize digest.\n */\nfunction computeDecimalDigest(message) {\n const visitor = new _SerializerIgnoreIcuExpVisitor();\n const parts = message.nodes.map(a => a.visit(visitor, null));\n return computeMsgId(parts.join(''), message.meaning);\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * The visitor is also used in the i18n parser tests\n *\n * @internal\n */\nclass _SerializerVisitor {\n visitText(text, context) {\n return text.value;\n }\n visitContainer(container, context) {\n return `[${container.children.map(child => child.visit(this)).join(', ')}]`;\n }\n visitIcu(icu, context) {\n const strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n return `{${icu.expression}, ${icu.type}, ${strCases.join(', ')}}`;\n }\n visitTagPlaceholder(ph, context) {\n return ph.isVoid ?\n `` :\n `${ph.children.map(child => child.visit(this)).join(', ')}`;\n }\n visitPlaceholder(ph, context) {\n return ph.value ? `${ph.value}` : ``;\n }\n visitIcuPlaceholder(ph, context) {\n return `${ph.value.visit(this)}`;\n }\n}\nconst serializerVisitor = new _SerializerVisitor();\nfunction serializeNodes(nodes) {\n return nodes.map(a => a.visit(serializerVisitor, null));\n}\n/**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * Ignore the ICU expressions so that message IDs stays identical if only the expression changes.\n *\n * @internal\n */\nclass _SerializerIgnoreIcuExpVisitor extends _SerializerVisitor {\n visitIcu(icu, context) {\n let strCases = Object.keys(icu.cases).map((k) => `${k} {${icu.cases[k].visit(this)}}`);\n // Do not take the expression into account\n return `{${icu.type}, ${strCases.join(', ')}}`;\n }\n}\n/**\n * Compute the SHA1 of the given string\n *\n * see https://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf\n *\n * WARNING: this function has not been designed not tested with security in mind.\n * DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.\n */\nfunction sha1(str) {\n const utf8 = utf8Encode(str);\n const words32 = bytesToWords32(utf8, Endian.Big);\n const len = utf8.length * 8;\n const w = newArray(80);\n let a = 0x67452301, b = 0xefcdab89, c = 0x98badcfe, d = 0x10325476, e = 0xc3d2e1f0;\n words32[len >> 5] |= 0x80 << (24 - len % 32);\n words32[((len + 64 >> 9) << 4) + 15] = len;\n for (let i = 0; i < words32.length; i += 16) {\n const h0 = a, h1 = b, h2 = c, h3 = d, h4 = e;\n for (let j = 0; j < 80; j++) {\n if (j < 16) {\n w[j] = words32[i + j];\n }\n else {\n w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n }\n const fkVal = fk(j, b, c, d);\n const f = fkVal[0];\n const k = fkVal[1];\n const temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);\n e = d;\n d = c;\n c = rol32(b, 30);\n b = a;\n a = temp;\n }\n a = add32(a, h0);\n b = add32(b, h1);\n c = add32(c, h2);\n d = add32(d, h3);\n e = add32(e, h4);\n }\n return bytesToHexString(words32ToByteString([a, b, c, d, e]));\n}\nfunction fk(index, b, c, d) {\n if (index < 20) {\n return [(b & c) | (~b & d), 0x5a827999];\n }\n if (index < 40) {\n return [b ^ c ^ d, 0x6ed9eba1];\n }\n if (index < 60) {\n return [(b & c) | (b & d) | (c & d), 0x8f1bbcdc];\n }\n return [b ^ c ^ d, 0xca62c1d6];\n}\n/**\n * Compute the fingerprint of the given string\n *\n * The output is 64 bit number encoded as a decimal string\n *\n * based on:\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/GoogleJsMessageIdGenerator.java\n */\nfunction fingerprint(str) {\n const utf8 = utf8Encode(str);\n let hi = hash32(utf8, 0);\n let lo = hash32(utf8, 102072);\n if (hi == 0 && (lo == 0 || lo == 1)) {\n hi = hi ^ 0x130f9bef;\n lo = lo ^ -0x6b5f56d8;\n }\n return [hi, lo];\n}\nfunction computeMsgId(msg, meaning = '') {\n let msgFingerprint = fingerprint(msg);\n if (meaning) {\n const meaningFingerprint = fingerprint(meaning);\n msgFingerprint = add64(rol64(msgFingerprint, 1), meaningFingerprint);\n }\n const hi = msgFingerprint[0];\n const lo = msgFingerprint[1];\n return wordsToDecimalString(hi & 0x7fffffff, lo);\n}\nfunction hash32(bytes, c) {\n let a = 0x9e3779b9, b = 0x9e3779b9;\n let i;\n const len = bytes.length;\n for (i = 0; i + 12 <= len; i += 12) {\n a = add32(a, wordAt(bytes, i, Endian.Little));\n b = add32(b, wordAt(bytes, i + 4, Endian.Little));\n c = add32(c, wordAt(bytes, i + 8, Endian.Little));\n const res = mix(a, b, c);\n a = res[0], b = res[1], c = res[2];\n }\n a = add32(a, wordAt(bytes, i, Endian.Little));\n b = add32(b, wordAt(bytes, i + 4, Endian.Little));\n // the first byte of c is reserved for the length\n c = add32(c, len);\n c = add32(c, wordAt(bytes, i + 8, Endian.Little) << 8);\n return mix(a, b, c)[2];\n}\n// clang-format off\nfunction mix(a, b, c) {\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 13;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 8;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 13;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 12;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 16;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 5;\n a = sub32(a, b);\n a = sub32(a, c);\n a ^= c >>> 3;\n b = sub32(b, c);\n b = sub32(b, a);\n b ^= a << 10;\n c = sub32(c, a);\n c = sub32(c, b);\n c ^= b >>> 15;\n return [a, b, c];\n}\n// clang-format on\n// Utils\nvar Endian;\n(function (Endian) {\n Endian[Endian[\"Little\"] = 0] = \"Little\";\n Endian[Endian[\"Big\"] = 1] = \"Big\";\n})(Endian || (Endian = {}));\nfunction add32(a, b) {\n return add32to64(a, b)[1];\n}\nfunction add32to64(a, b) {\n const low = (a & 0xffff) + (b & 0xffff);\n const high = (a >>> 16) + (b >>> 16) + (low >>> 16);\n return [high >>> 16, (high << 16) | (low & 0xffff)];\n}\nfunction add64(a, b) {\n const ah = a[0], al = a[1];\n const bh = b[0], bl = b[1];\n const result = add32to64(al, bl);\n const carry = result[0];\n const l = result[1];\n const h = add32(add32(ah, bh), carry);\n return [h, l];\n}\nfunction sub32(a, b) {\n const low = (a & 0xffff) - (b & 0xffff);\n const high = (a >> 16) - (b >> 16) + (low >> 16);\n return (high << 16) | (low & 0xffff);\n}\n// Rotate a 32b number left `count` position\nfunction rol32(a, count) {\n return (a << count) | (a >>> (32 - count));\n}\n// Rotate a 64b number left `count` position\nfunction rol64(num, count) {\n const hi = num[0], lo = num[1];\n const h = (hi << count) | (lo >>> (32 - count));\n const l = (lo << count) | (hi >>> (32 - count));\n return [h, l];\n}\nfunction bytesToWords32(bytes, endian) {\n const size = (bytes.length + 3) >>> 2;\n const words32 = [];\n for (let i = 0; i < size; i++) {\n words32[i] = wordAt(bytes, i * 4, endian);\n }\n return words32;\n}\nfunction byteAt(bytes, index) {\n return index >= bytes.length ? 0 : bytes[index];\n}\nfunction wordAt(bytes, index, endian) {\n let word = 0;\n if (endian === Endian.Big) {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << (24 - 8 * i);\n }\n }\n else {\n for (let i = 0; i < 4; i++) {\n word += byteAt(bytes, index + i) << 8 * i;\n }\n }\n return word;\n}\nfunction words32ToByteString(words32) {\n return words32.reduce((bytes, word) => bytes.concat(word32ToByteString(word)), []);\n}\nfunction word32ToByteString(word) {\n let bytes = [];\n for (let i = 0; i < 4; i++) {\n bytes.push((word >>> 8 * (3 - i)) & 0xff);\n }\n return bytes;\n}\nfunction bytesToHexString(bytes) {\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n const b = byteAt(bytes, i);\n hex += (b >>> 4).toString(16) + (b & 0x0f).toString(16);\n }\n return hex.toLowerCase();\n}\n/**\n * Create a shared exponentiation pool for base-256 computations. This shared pool provides memoized\n * power-of-256 results with memoized power-of-two computations for efficient multiplication.\n *\n * For our purposes, this can be safely stored as a global without memory concerns. The reason is\n * that we encode two words, so only need the 0th (for the low word) and 4th (for the high word)\n * exponent.\n */\nconst base256 = new BigIntExponentiation(256);\n/**\n * Represents two 32-bit words as a single decimal number. This requires a big integer storage\n * model as JS numbers are not accurate enough to represent the 64-bit number.\n *\n * Based on https://www.danvk.org/hex2dec.html\n */\nfunction wordsToDecimalString(hi, lo) {\n // Encode the four bytes in lo in the lower digits of the decimal number.\n // Note: the multiplication results in lo itself but represented by a big integer using its\n // decimal digits.\n const decimal = base256.toThePowerOf(0).multiplyBy(lo);\n // Encode the four bytes in hi above the four lo bytes. lo is a maximum of (2^8)^4, which is why\n // this multiplication factor is applied.\n base256.toThePowerOf(4).multiplyByAndAddTo(hi, decimal);\n return decimal.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 */\nclass Serializer {\n // Creates a name mapper, see `PlaceholderMapper`\n // Returning `null` means that no name mapping is used.\n createNameMapper(message) {\n return null;\n }\n}\n/**\n * A simple mapper that take a function to transform an internal name to a public name\n */\nclass SimplePlaceholderMapper extends RecurseVisitor {\n // create a mapping from the message\n constructor(message, mapName) {\n super();\n this.mapName = mapName;\n this.internalToPublic = {};\n this.publicToNextId = {};\n this.publicToInternal = {};\n message.nodes.forEach(node => node.visit(this));\n }\n toPublicName(internalName) {\n return this.internalToPublic.hasOwnProperty(internalName) ?\n this.internalToPublic[internalName] :\n null;\n }\n toInternalName(publicName) {\n return this.publicToInternal.hasOwnProperty(publicName) ? this.publicToInternal[publicName] :\n null;\n }\n visitText(text, context) {\n return null;\n }\n visitTagPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.startName);\n super.visitTagPlaceholder(ph, context);\n this.visitPlaceholderName(ph.closeName);\n }\n visitPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n visitIcuPlaceholder(ph, context) {\n this.visitPlaceholderName(ph.name);\n }\n // XMB placeholders could only contains A-Z, 0-9 and _\n visitPlaceholderName(internalName) {\n if (!internalName || this.internalToPublic.hasOwnProperty(internalName)) {\n return;\n }\n let publicName = this.mapName(internalName);\n if (this.publicToInternal.hasOwnProperty(publicName)) {\n // Create a new XMB when it has already been used\n const nextId = this.publicToNextId[publicName];\n this.publicToNextId[publicName] = nextId + 1;\n publicName = `${publicName}_${nextId}`;\n }\n else {\n this.publicToNextId[publicName] = 1;\n }\n this.internalToPublic[internalName] = publicName;\n this.publicToInternal[publicName] = internalName;\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 */\nclass _Visitor {\n visitTag(tag) {\n const strAttrs = this._serializeAttributes(tag.attrs);\n if (tag.children.length == 0) {\n return `<${tag.name}${strAttrs}/>`;\n }\n const strChildren = tag.children.map(node => node.visit(this));\n return `<${tag.name}${strAttrs}>${strChildren.join('')}`;\n }\n visitText(text) {\n return text.value;\n }\n visitDeclaration(decl) {\n return ``;\n }\n _serializeAttributes(attrs) {\n const strAttrs = Object.keys(attrs).map((name) => `${name}=\"${attrs[name]}\"`).join(' ');\n return strAttrs.length > 0 ? ' ' + strAttrs : '';\n }\n visitDoctype(doctype) {\n return ``;\n }\n}\nconst _visitor = new _Visitor();\nfunction serialize(nodes) {\n return nodes.map((node) => node.visit(_visitor)).join('');\n}\nclass Declaration {\n constructor(unescapedAttrs) {\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitDeclaration(this);\n }\n}\nclass Doctype {\n constructor(rootTag, dtd) {\n this.rootTag = rootTag;\n this.dtd = dtd;\n }\n visit(visitor) {\n return visitor.visitDoctype(this);\n }\n}\nclass Tag {\n constructor(name, unescapedAttrs = {}, children = []) {\n this.name = name;\n this.children = children;\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach((k) => {\n this.attrs[k] = escapeXml(unescapedAttrs[k]);\n });\n }\n visit(visitor) {\n return visitor.visitTag(this);\n }\n}\nclass Text$2 {\n constructor(unescapedValue) {\n this.value = escapeXml(unescapedValue);\n }\n visit(visitor) {\n return visitor.visitText(this);\n }\n}\nclass CR extends Text$2 {\n constructor(ws = 0) {\n super(`\\n${new Array(ws + 1).join(' ')}`);\n }\n}\nconst _ESCAPED_CHARS = [\n [/&/g, '&'],\n [/\"/g, '"'],\n [/'/g, '''],\n [//g, '>'],\n];\n// Escape `_ESCAPED_CHARS` characters in the given text with encoded entities\nfunction escapeXml(text) {\n return _ESCAPED_CHARS.reduce((text, entry) => text.replace(entry[0], entry[1]), text);\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 _MESSAGES_TAG = 'messagebundle';\nconst _MESSAGE_TAG = 'msg';\nconst _PLACEHOLDER_TAG = 'ph';\nconst _EXAMPLE_TAG = 'ex';\nconst _SOURCE_TAG = 'source';\nconst _DOCTYPE = `\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n`;\nclass Xmb extends Serializer {\n write(messages, locale) {\n const exampleVisitor = new ExampleVisitor();\n const visitor = new _Visitor$1();\n let rootNode = new Tag(_MESSAGES_TAG);\n messages.forEach(message => {\n const attrs = { id: message.id };\n if (message.description) {\n attrs['desc'] = message.description;\n }\n if (message.meaning) {\n attrs['meaning'] = message.meaning;\n }\n let sourceTags = [];\n message.sources.forEach((source) => {\n sourceTags.push(new Tag(_SOURCE_TAG, {}, [new Text$2(`${source.filePath}:${source.startLine}${source.endLine !== source.startLine ? ',' + source.endLine : ''}`)]));\n });\n rootNode.children.push(new CR(2), new Tag(_MESSAGE_TAG, attrs, [...sourceTags, ...visitor.serialize(message.nodes)]));\n });\n rootNode.children.push(new CR());\n return serialize([\n new Declaration({ version: '1.0', encoding: 'UTF-8' }),\n new CR(),\n new Doctype(_MESSAGES_TAG, _DOCTYPE),\n new CR(),\n exampleVisitor.addDefaultExamples(rootNode),\n new CR(),\n ]);\n }\n load(content, url) {\n throw new Error('Unsupported');\n }\n digest(message) {\n return digest$1(message);\n }\n createNameMapper(message) {\n return new SimplePlaceholderMapper(message, toPublicName);\n }\n}\nclass _Visitor$1 {\n visitText(text, context) {\n return [new Text$2(text.value)];\n }\n visitContainer(container, context) {\n const nodes = [];\n container.children.forEach((node) => nodes.push(...node.visit(this)));\n return nodes;\n }\n visitIcu(icu, context) {\n const nodes = [new Text$2(`{${icu.expressionPlaceholder}, ${icu.type}, `)];\n Object.keys(icu.cases).forEach((c) => {\n nodes.push(new Text$2(`${c} {`), ...icu.cases[c].visit(this), new Text$2(`} `));\n });\n nodes.push(new Text$2(`}`));\n return nodes;\n }\n visitTagPlaceholder(ph, context) {\n const startTagAsText = new Text$2(`<${ph.tag}>`);\n const startEx = new Tag(_EXAMPLE_TAG, {}, [startTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const startTagPh = new Tag(_PLACEHOLDER_TAG, { name: ph.startName }, [startEx, startTagAsText]);\n if (ph.isVoid) {\n // void tags have no children nor closing tags\n return [startTagPh];\n }\n const closeTagAsText = new Text$2(``);\n const closeEx = new Tag(_EXAMPLE_TAG, {}, [closeTagAsText]);\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n const closeTagPh = new Tag(_PLACEHOLDER_TAG, { name: ph.closeName }, [closeEx, closeTagAsText]);\n return [startTagPh, ...this.serialize(ph.children), closeTagPh];\n }\n visitPlaceholder(ph, context) {\n const interpolationAsText = new Text$2(`{{${ph.value}}}`);\n // Example tag needs to be not-empty for TC.\n const exTag = new Tag(_EXAMPLE_TAG, {}, [interpolationAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG, { name: ph.name }, [exTag, interpolationAsText])\n ];\n }\n visitIcuPlaceholder(ph, context) {\n const icuExpression = ph.value.expression;\n const icuType = ph.value.type;\n const icuCases = Object.keys(ph.value.cases).map((value) => value + ' {...}').join(' ');\n const icuAsText = new Text$2(`{${icuExpression}, ${icuType}, ${icuCases}}`);\n const exTag = new Tag(_EXAMPLE_TAG, {}, [icuAsText]);\n return [\n // TC requires PH to have a non empty EX, and uses the text node to show the \"original\" value.\n new Tag(_PLACEHOLDER_TAG, { name: ph.name }, [exTag, icuAsText])\n ];\n }\n serialize(nodes) {\n return [].concat(...nodes.map(node => node.visit(this)));\n }\n}\nfunction digest$1(message) {\n return decimalDigest(message);\n}\n// TC requires at least one non-empty example on placeholders\nclass ExampleVisitor {\n addDefaultExamples(node) {\n node.visit(this);\n return node;\n }\n visitTag(tag) {\n if (tag.name === _PLACEHOLDER_TAG) {\n if (!tag.children || tag.children.length == 0) {\n const exText = new Text$2(tag.attrs['name'] || '...');\n tag.children = [new Tag(_EXAMPLE_TAG, {}, [exText])];\n }\n }\n else if (tag.children) {\n tag.children.forEach(node => node.visit(this));\n }\n }\n visitText(text) { }\n visitDeclaration(decl) { }\n visitDoctype(doctype) { }\n}\n// XMB/XTB placeholders can only contain A-Z, 0-9 and _\nfunction toPublicName(internalName) {\n return internalName.toUpperCase().replace(/[^A-Z0-9_]/g, '_');\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/* Closure variables holding messages must be named `MSG_[A-Z0-9]+` */\nconst CLOSURE_TRANSLATION_VAR_PREFIX = 'MSG_';\n/**\n * Prefix for non-`goog.getMsg` i18n-related vars.\n * Note: the prefix uses lowercase characters intentionally due to a Closure behavior that\n * considers variables like `I18N_0` as constants and throws an error when their value changes.\n */\nconst TRANSLATION_VAR_PREFIX = 'i18n_';\n/** Name of the i18n attributes **/\nconst I18N_ATTR = 'i18n';\nconst I18N_ATTR_PREFIX = 'i18n-';\n/** Prefix of var expressions used in ICUs */\nconst I18N_ICU_VAR_PREFIX = 'VAR_';\n/** Prefix of ICU expressions for post processing */\nconst I18N_ICU_MAPPING_PREFIX = 'I18N_EXP_';\n/** Placeholder wrapper for i18n expressions **/\nconst I18N_PLACEHOLDER_SYMBOL = '�';\nfunction isI18nAttribute(name) {\n return name === I18N_ATTR || name.startsWith(I18N_ATTR_PREFIX);\n}\nfunction isI18nRootNode(meta) {\n return meta instanceof Message;\n}\nfunction isSingleI18nIcu(meta) {\n return isI18nRootNode(meta) && meta.nodes.length === 1 && meta.nodes[0] instanceof Icu$1;\n}\nfunction hasI18nMeta(node) {\n return !!node.i18n;\n}\nfunction hasI18nAttrs(element) {\n return element.attrs.some((attr) => isI18nAttribute(attr.name));\n}\nfunction icuFromI18nMessage(message) {\n return message.nodes[0];\n}\nfunction wrapI18nPlaceholder(content, contextId = 0) {\n const blockId = contextId > 0 ? `:${contextId}` : '';\n return `${I18N_PLACEHOLDER_SYMBOL}${content}${blockId}${I18N_PLACEHOLDER_SYMBOL}`;\n}\nfunction assembleI18nBoundString(strings, bindingStartIndex = 0, contextId = 0) {\n if (!strings.length)\n return '';\n let acc = '';\n const lastIdx = strings.length - 1;\n for (let i = 0; i < lastIdx; i++) {\n acc += `${strings[i]}${wrapI18nPlaceholder(bindingStartIndex + i, contextId)}`;\n }\n acc += strings[lastIdx];\n return acc;\n}\nfunction getSeqNumberGenerator(startsAt = 0) {\n let current = startsAt;\n return () => current++;\n}\nfunction placeholdersToParams(placeholders) {\n const params = {};\n placeholders.forEach((values, key) => {\n params[key] = literal(values.length > 1 ? `[${values.join('|')}]` : values[0]);\n });\n return params;\n}\nfunction updatePlaceholderMap(map, name, ...values) {\n const current = map.get(name) || [];\n current.push(...values);\n map.set(name, current);\n}\nfunction assembleBoundTextPlaceholders(meta, bindingStartIndex = 0, contextId = 0) {\n const startIdx = bindingStartIndex;\n const placeholders = new Map();\n const node = meta instanceof Message ? meta.nodes.find(node => node instanceof Container) : meta;\n if (node) {\n node\n .children\n .filter((child) => child instanceof Placeholder)\n .forEach((child, idx) => {\n const content = wrapI18nPlaceholder(startIdx + idx, contextId);\n updatePlaceholderMap(placeholders, child.name, content);\n });\n }\n return placeholders;\n}\n/**\n * Format the placeholder names in a map of placeholders to expressions.\n *\n * The placeholder names are converted from \"internal\" format (e.g. `START_TAG_DIV_1`) to \"external\"\n * format (e.g. `startTagDiv_1`).\n *\n * @param params A map of placeholder names to expressions.\n * @param useCamelCase whether to camelCase the placeholder name when formatting.\n * @returns A new map of formatted placeholder names to expressions.\n */\nfunction i18nFormatPlaceholderNames(params = {}, useCamelCase) {\n const _params = {};\n if (params && Object.keys(params).length) {\n Object.keys(params).forEach(key => _params[formatI18nPlaceholderName(key, useCamelCase)] = params[key]);\n }\n return _params;\n}\n/**\n * Converts internal placeholder names to public-facing format\n * (for example to use in goog.getMsg call).\n * Example: `START_TAG_DIV_1` is converted to `startTagDiv_1`.\n *\n * @param name The placeholder name that should be formatted\n * @returns Formatted placeholder name\n */\nfunction formatI18nPlaceholderName(name, useCamelCase = true) {\n const publicName = toPublicName(name);\n if (!useCamelCase) {\n return publicName;\n }\n const chunks = publicName.split('_');\n if (chunks.length === 1) {\n // if no \"_\" found - just lowercase the value\n return name.toLowerCase();\n }\n let postfix;\n // eject last element if it's a number\n if (/^\\d+$/.test(chunks[chunks.length - 1])) {\n postfix = chunks.pop();\n }\n let raw = chunks.shift().toLowerCase();\n if (chunks.length) {\n raw += chunks.map(c => c.charAt(0).toUpperCase() + c.slice(1).toLowerCase()).join('');\n }\n return postfix ? `${raw}_${postfix}` : raw;\n}\n/**\n * Generates a prefix for translation const name.\n *\n * @param extra Additional local prefix that should be injected into translation var name\n * @returns Complete translation const prefix\n */\nfunction getTranslationConstPrefix(extra) {\n return `${CLOSURE_TRANSLATION_VAR_PREFIX}${extra}`.toUpperCase();\n}\n/**\n * Generate AST to declare a variable. E.g. `var I18N_1;`.\n * @param variable the name of the variable to declare.\n */\nfunction declareI18nVariable(variable) {\n return new DeclareVarStmt(variable.name, undefined, INFERRED_TYPE, undefined, variable.sourceSpan);\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 * Checks whether an object key contains potentially unsafe chars, thus the key should be wrapped in\n * quotes. Note: we do not wrap all keys into quotes, as it may have impact on minification and may\n * bot work in some cases when object keys are mangled by minifier.\n *\n * TODO(FW-1136): this is a temporary solution, we need to come up with a better way of working with\n * inputs that contain potentially unsafe chars.\n */\nconst UNSAFE_OBJECT_KEY_NAME_REGEXP = /[-.]/;\n/** Name of the temporary to use during data binding */\nconst TEMPORARY_NAME = '_t';\n/** Name of the context parameter passed into a template function */\nconst CONTEXT_NAME = 'ctx';\n/** Name of the RenderFlag passed into a template function */\nconst RENDER_FLAGS = 'rf';\n/** The prefix reference variables */\nconst REFERENCE_PREFIX = '_r';\n/** The name of the implicit context reference */\nconst IMPLICIT_REFERENCE = '$implicit';\n/** Non bindable attribute name **/\nconst NON_BINDABLE_ATTR = 'ngNonBindable';\n/**\n * Creates an allocator for a temporary variable.\n *\n * A variable declaration is added to the statements the first time the allocator is invoked.\n */\nfunction temporaryAllocator(statements, name) {\n let temp = null;\n return () => {\n if (!temp) {\n statements.push(new DeclareVarStmt(TEMPORARY_NAME, undefined, DYNAMIC_TYPE));\n temp = variable(name);\n }\n return temp;\n };\n}\nfunction unsupported(feature) {\n if (this) {\n throw new Error(`Builder ${this.constructor.name} doesn't support ${feature} yet`);\n }\n throw new Error(`Feature ${feature} is not supported yet`);\n}\nfunction invalid$1(arg) {\n throw new Error(`Invalid state: Visitor ${this.constructor.name} doesn't handle ${arg.constructor.name}`);\n}\nfunction asLiteral(value) {\n if (Array.isArray(value)) {\n return literalArr(value.map(asLiteral));\n }\n return literal(value, INFERRED_TYPE);\n}\nfunction conditionallyCreateMapObjectLiteral(keys, keepDeclared) {\n if (Object.getOwnPropertyNames(keys).length > 0) {\n return mapToExpression(keys, keepDeclared);\n }\n return null;\n}\nfunction mapToExpression(map, keepDeclared) {\n return literalMap(Object.getOwnPropertyNames(map).map(key => {\n // canonical syntax: `dirProp: publicProp`\n // if there is no `:`, use dirProp = elProp\n const value = map[key];\n let declaredName;\n let publicName;\n let minifiedName;\n let needsDeclaredName;\n if (Array.isArray(value)) {\n [publicName, declaredName] = value;\n minifiedName = key;\n needsDeclaredName = publicName !== declaredName;\n }\n else {\n [declaredName, publicName] = splitAtColon(key, [key, value]);\n minifiedName = declaredName;\n // Only include the declared name if extracted from the key, i.e. the key contains a colon.\n // Otherwise the declared name should be omitted even if it is different from the public name,\n // as it may have already been minified.\n needsDeclaredName = publicName !== declaredName && key.includes(':');\n }\n return {\n key: minifiedName,\n // put quotes around keys that contain potentially unsafe characters\n quoted: UNSAFE_OBJECT_KEY_NAME_REGEXP.test(minifiedName),\n value: (keepDeclared && needsDeclaredName) ?\n literalArr([asLiteral(publicName), asLiteral(declaredName)]) :\n asLiteral(publicName)\n };\n }));\n}\n/**\n * Remove trailing null nodes as they are implied.\n */\nfunction trimTrailingNulls(parameters) {\n while (isNull(parameters[parameters.length - 1])) {\n parameters.pop();\n }\n return parameters;\n}\nfunction getQueryPredicate(query, constantPool) {\n if (Array.isArray(query.predicate)) {\n let predicate = [];\n query.predicate.forEach((selector) => {\n // Each item in predicates array may contain strings with comma-separated refs\n // (for ex. 'ref, ref1, ..., refN'), thus we extract individual refs and store them\n // as separate array entities\n const selectors = selector.split(',').map(token => literal(token.trim()));\n predicate.push(...selectors);\n });\n return constantPool.getConstLiteral(literalArr(predicate), true);\n }\n else {\n return query.predicate;\n }\n}\n/**\n * A representation for an object literal used during codegen of definition objects. The generic\n * type `T` allows to reference a documented type of the generated structure, such that the\n * property names that are set can be resolved to their documented declaration.\n */\nclass DefinitionMap {\n constructor() {\n this.values = [];\n }\n set(key, value) {\n if (value) {\n this.values.push({ key: key, value, quoted: false });\n }\n }\n toLiteralMap() {\n return literalMap(this.values);\n }\n}\n/**\n * Extract a map of properties to values for a given element or template node, which can be used\n * by the directive matching machinery.\n *\n * @param elOrTpl the element or template in question\n * @return an object set up for directive matching. For attributes on the element/template, this\n * object maps a property name to its (static) value. For any bindings, this map simply maps the\n * property name to an empty string.\n */\nfunction getAttrsForDirectiveMatching(elOrTpl) {\n const attributesMap = {};\n if (elOrTpl instanceof Template && elOrTpl.tagName !== 'ng-template') {\n elOrTpl.templateAttrs.forEach(a => attributesMap[a.name] = '');\n }\n else {\n elOrTpl.attributes.forEach(a => {\n if (!isI18nAttribute(a.name)) {\n attributesMap[a.name] = a.value;\n }\n });\n elOrTpl.inputs.forEach(i => {\n attributesMap[i.name] = '';\n });\n elOrTpl.outputs.forEach(o => {\n attributesMap[o.name] = '';\n });\n }\n return attributesMap;\n}\n/** Returns a call expression to a chained instruction, e.g. `property(params[0])(params[1])`. */\nfunction chainedInstruction(reference, calls, span) {\n let expression = importExpr(reference, null, span);\n if (calls.length > 0) {\n for (let i = 0; i < calls.length; i++) {\n expression = expression.callFn(calls[i], span);\n }\n }\n else {\n // Add a blank invocation, in case the `calls` array is empty.\n expression = expression.callFn([], span);\n }\n return expression;\n}\n/**\n * Gets the number of arguments expected to be passed to a generated instruction in the case of\n * interpolation instructions.\n * @param interpolation An interpolation ast\n */\nfunction getInterpolationArgsLength(interpolation) {\n const { expressions, strings } = interpolation;\n if (expressions.length === 1 && strings.length === 2 && strings[0] === '' && strings[1] === '') {\n // If the interpolation has one interpolated value, but the prefix and suffix are both empty\n // strings, we only pass one argument, to a special instruction like `propertyInterpolate` or\n // `textInterpolate`.\n return 1;\n }\n else {\n return expressions.length + strings.length;\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 */\nvar R3FactoryDelegateType;\n(function (R3FactoryDelegateType) {\n R3FactoryDelegateType[R3FactoryDelegateType[\"Class\"] = 0] = \"Class\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Function\"] = 1] = \"Function\";\n R3FactoryDelegateType[R3FactoryDelegateType[\"Factory\"] = 2] = \"Factory\";\n})(R3FactoryDelegateType || (R3FactoryDelegateType = {}));\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 = {}));\n/**\n * Resolved type of a dependency.\n *\n * Occasionally, dependencies will have special significance which is known statically. In that\n * case the `R3ResolvedDependencyType` informs the factory generator that a particular dependency\n * should be generated specially (usually by calling a special injection function instead of the\n * standard one).\n */\nvar R3ResolvedDependencyType;\n(function (R3ResolvedDependencyType) {\n /**\n * A normal token dependency.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Token\"] = 0] = \"Token\";\n /**\n * The dependency is for an attribute.\n *\n * The token expression is a string representing the attribute name.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Attribute\"] = 1] = \"Attribute\";\n /**\n * Injecting the `ChangeDetectorRef` token. Needs special handling when injected into a pipe.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"ChangeDetectorRef\"] = 2] = \"ChangeDetectorRef\";\n /**\n * An invalid dependency (no token could be determined). An error should be thrown at runtime.\n */\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Invalid\"] = 3] = \"Invalid\";\n})(R3ResolvedDependencyType || (R3ResolvedDependencyType = {}));\n/**\n * Construct a factory function expression for the given `R3FactoryMetadata`.\n */\nfunction compileFactoryFunction(meta) {\n const t = variable('t');\n const statements = [];\n let ctorDepsType = NONE_TYPE;\n // The type to instantiate via constructor invocation. If there is no delegated factory, meaning\n // this type is always created by constructor invocation, then this is the type-to-create\n // parameter provided by the user (t) if specified, or the current type if not. If there is a\n // delegated factory (which is used to create the current type) then this is only the type-to-\n // create parameter (t).\n const typeForCtor = !isDelegatedMetadata(meta) ?\n new BinaryOperatorExpr(BinaryOperator.Or, t, meta.internalType) :\n t;\n let ctorExpr = null;\n if (meta.deps !== null) {\n // There is a constructor (either explicitly or implicitly defined).\n if (meta.deps !== 'invalid') {\n ctorExpr = new InstantiateExpr(typeForCtor, injectDependencies(meta.deps, meta.injectFn, meta.target === R3FactoryTarget.Pipe));\n ctorDepsType = createCtorDepsType(meta.deps);\n }\n }\n else {\n const baseFactory = variable(`ɵ${meta.name}_BaseFactory`);\n const getInheritedFactory = importExpr(Identifiers$1.getInheritedFactory);\n const baseFactoryStmt = baseFactory\n .set(getInheritedFactory.callFn([meta.internalType], /* sourceSpan */ undefined, /* pure */ true))\n .toDeclStmt(INFERRED_TYPE, [StmtModifier.Exported, StmtModifier.Final]);\n statements.push(baseFactoryStmt);\n // There is no constructor, use the base class' factory to construct typeForCtor.\n ctorExpr = baseFactory.callFn([typeForCtor]);\n }\n const ctorExprFinal = ctorExpr;\n const body = [];\n let retExpr = null;\n function makeConditionalFactory(nonCtorExpr) {\n const r = variable('r');\n body.push(r.set(NULL_EXPR).toDeclStmt());\n let ctorStmt = null;\n if (ctorExprFinal !== null) {\n ctorStmt = r.set(ctorExprFinal).toStmt();\n }\n else {\n ctorStmt = importExpr(Identifiers$1.invalidFactory).callFn([]).toStmt();\n }\n body.push(ifStmt(t, [ctorStmt], [r.set(nonCtorExpr).toStmt()]));\n return r;\n }\n if (isDelegatedMetadata(meta) && meta.delegateType === R3FactoryDelegateType.Factory) {\n const delegateFactory = variable(`ɵ${meta.name}_BaseFactory`);\n const getFactoryOf = importExpr(Identifiers$1.getFactoryOf);\n if (meta.delegate.isEquivalent(meta.internalType)) {\n throw new Error(`Illegal state: compiling factory that delegates to itself`);\n }\n const delegateFactoryStmt = delegateFactory.set(getFactoryOf.callFn([meta.delegate])).toDeclStmt(INFERRED_TYPE, [\n StmtModifier.Exported, StmtModifier.Final\n ]);\n statements.push(delegateFactoryStmt);\n retExpr = makeConditionalFactory(delegateFactory.callFn([]));\n }\n else if (isDelegatedMetadata(meta)) {\n // This type is created with a delegated factory. If a type parameter is not specified, call\n // the factory instead.\n const delegateArgs = injectDependencies(meta.delegateDeps, meta.injectFn, meta.target === R3FactoryTarget.Pipe);\n // Either call `new delegate(...)` or `delegate(...)` depending on meta.delegateType.\n const factoryExpr = new (meta.delegateType === R3FactoryDelegateType.Class ?\n InstantiateExpr :\n InvokeFunctionExpr)(meta.delegate, delegateArgs);\n retExpr = makeConditionalFactory(factoryExpr);\n }\n else if (isExpressionFactoryMetadata(meta)) {\n // TODO(alxhub): decide whether to lower the value here or in the caller\n retExpr = makeConditionalFactory(meta.expression);\n }\n else {\n retExpr = ctorExpr;\n }\n if (retExpr !== null) {\n body.push(new ReturnStatement(retExpr));\n }\n else {\n body.push(importExpr(Identifiers$1.invalidFactory).callFn([]).toStmt());\n }\n return {\n factory: fn([new FnParam('t', DYNAMIC_TYPE)], body, INFERRED_TYPE, undefined, `${meta.name}_Factory`),\n statements,\n type: expressionType(importExpr(Identifiers$1.FactoryDef, [typeWithParameters(meta.type.type, meta.typeArgumentCount), ctorDepsType]))\n };\n}\nfunction injectDependencies(deps, injectFn, isPipe) {\n return deps.map((dep, index) => compileInjectDependency(dep, injectFn, isPipe, index));\n}\nfunction compileInjectDependency(dep, injectFn, isPipe, index) {\n // Interpret the dependency according to its resolved type.\n switch (dep.resolved) {\n case R3ResolvedDependencyType.Token:\n case R3ResolvedDependencyType.ChangeDetectorRef:\n // Build up the injection flags according to the metadata.\n const flags = 0 /* Default */ | (dep.self ? 2 /* Self */ : 0) |\n (dep.skipSelf ? 4 /* SkipSelf */ : 0) | (dep.host ? 1 /* Host */ : 0) |\n (dep.optional ? 8 /* Optional */ : 0);\n // If this dependency is optional or otherwise has non-default flags, then additional\n // parameters describing how to inject the dependency must be passed to the inject function\n // that's being used.\n let flagsParam = (flags !== 0 /* Default */ || dep.optional) ? literal(flags) : null;\n // We have a separate instruction for injecting ChangeDetectorRef into a pipe.\n if (isPipe && dep.resolved === R3ResolvedDependencyType.ChangeDetectorRef) {\n return importExpr(Identifiers$1.injectPipeChangeDetectorRef).callFn(flagsParam ? [flagsParam] : []);\n }\n // Build up the arguments to the injectFn call.\n const injectArgs = [dep.token];\n if (flagsParam) {\n injectArgs.push(flagsParam);\n }\n return importExpr(injectFn).callFn(injectArgs);\n case R3ResolvedDependencyType.Attribute:\n // In the case of attributes, the attribute name in question is given as the token.\n return importExpr(Identifiers$1.injectAttribute).callFn([dep.token]);\n case R3ResolvedDependencyType.Invalid:\n return importExpr(Identifiers$1.invalidFactoryDep).callFn([literal(index)]);\n default:\n return unsupported(`Unknown R3ResolvedDependencyType: ${R3ResolvedDependencyType[dep.resolved]}`);\n }\n}\nfunction createCtorDepsType(deps) {\n let hasTypes = false;\n const attributeTypes = deps.map(dep => {\n const type = createCtorDepType(dep);\n if (type !== null) {\n hasTypes = true;\n return type;\n }\n else {\n return literal(null);\n }\n });\n if (hasTypes) {\n return expressionType(literalArr(attributeTypes));\n }\n else {\n return NONE_TYPE;\n }\n}\nfunction createCtorDepType(dep) {\n const entries = [];\n if (dep.resolved === R3ResolvedDependencyType.Attribute) {\n if (dep.attribute !== null) {\n entries.push({ key: 'attribute', value: dep.attribute, quoted: false });\n }\n }\n if (dep.optional) {\n entries.push({ key: 'optional', value: literal(true), quoted: false });\n }\n if (dep.host) {\n entries.push({ key: 'host', value: literal(true), quoted: false });\n }\n if (dep.self) {\n entries.push({ key: 'self', value: literal(true), quoted: false });\n }\n if (dep.skipSelf) {\n entries.push({ key: 'skipSelf', value: literal(true), quoted: false });\n }\n return entries.length > 0 ? literalMap(entries) : null;\n}\n/**\n * A helper function useful for extracting `R3DependencyMetadata` from a Render2\n * `CompileTypeMetadata` instance.\n */\nfunction dependenciesFromGlobalMetadata(type, outputCtx, reflector) {\n // Use the `CompileReflector` to look up references to some well-known Angular types. These will\n // be compared with the token to statically determine whether the token has significance to\n // Angular, and set the correct `R3ResolvedDependencyType` as a result.\n const injectorRef = reflector.resolveExternalReference(Identifiers.Injector);\n // Iterate through the type's DI dependencies and produce `R3DependencyMetadata` for each of them.\n const deps = [];\n for (let dependency of type.diDeps) {\n if (dependency.token) {\n const tokenRef = tokenReference(dependency.token);\n let resolved = dependency.isAttribute ?\n R3ResolvedDependencyType.Attribute :\n R3ResolvedDependencyType.Token;\n // In the case of most dependencies, the token will be a reference to a type. Sometimes,\n // however, it can be a string, in the case of older Angular code or @Attribute injection.\n const token = tokenRef instanceof StaticSymbol ? outputCtx.importExpr(tokenRef) : literal(tokenRef);\n // Construct the dependency.\n deps.push({\n token,\n attribute: null,\n resolved,\n host: !!dependency.isHost,\n optional: !!dependency.isOptional,\n self: !!dependency.isSelf,\n skipSelf: !!dependency.isSkipSelf,\n });\n }\n else {\n unsupported('dependency without a token');\n }\n }\n return deps;\n}\nfunction isDelegatedMetadata(meta) {\n return meta.delegateType !== undefined;\n}\nfunction isExpressionFactoryMetadata(meta) {\n return meta.expression !== 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 */\nfunction compileInjectable(meta) {\n let result = null;\n const factoryMeta = {\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: meta.typeArgumentCount,\n deps: [],\n injectFn: Identifiers.inject,\n target: R3FactoryTarget.Injectable,\n };\n if (meta.useClass !== undefined) {\n // meta.useClass has two modes of operation. Either deps are specified, in which case `new` is\n // used to instantiate the class with dependencies injected, or deps are not specified and\n // the factory of the class is used to instantiate it.\n //\n // A special case exists for useClass: Type where Type is the injectable type itself and no\n // deps are specified, in which case 'useClass' is effectively ignored.\n const useClassOnSelf = meta.useClass.isEquivalent(meta.internalType);\n let deps = undefined;\n if (meta.userDeps !== undefined) {\n deps = meta.userDeps;\n }\n if (deps !== undefined) {\n // factory: () => new meta.useClass(...deps)\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { delegate: meta.useClass, delegateDeps: deps, delegateType: R3FactoryDelegateType.Class }));\n }\n else if (useClassOnSelf) {\n result = compileFactoryFunction(factoryMeta);\n }\n else {\n result = delegateToFactory(meta.type.value, meta.useClass);\n }\n }\n else if (meta.useFactory !== undefined) {\n if (meta.userDeps !== undefined) {\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { delegate: meta.useFactory, delegateDeps: meta.userDeps || [], delegateType: R3FactoryDelegateType.Function }));\n }\n else {\n result = {\n statements: [],\n factory: fn([], [new ReturnStatement(meta.useFactory.callFn([]))])\n };\n }\n }\n else if (meta.useValue !== undefined) {\n // Note: it's safe to use `meta.useValue` instead of the `USE_VALUE in meta` check used for\n // client code because meta.useValue is an Expression which will be defined even if the actual\n // value is undefined.\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: meta.useValue }));\n }\n else if (meta.useExisting !== undefined) {\n // useExisting is an `inject` call on the existing token.\n result = compileFactoryFunction(Object.assign(Object.assign({}, factoryMeta), { expression: importExpr(Identifiers.inject).callFn([meta.useExisting]) }));\n }\n else {\n result = delegateToFactory(meta.type.value, meta.internalType);\n }\n const token = meta.internalType;\n const injectableProps = { token, factory: result.factory };\n // Only generate providedIn property if it has a non-null value\n if (meta.providedIn.value !== null) {\n injectableProps.providedIn = meta.providedIn;\n }\n const expression = importExpr(Identifiers.ɵɵdefineInjectable).callFn([mapToMapExpression(injectableProps)]);\n const type = new ExpressionType(importExpr(Identifiers.InjectableDef, [typeWithParameters(meta.type.type, meta.typeArgumentCount)]));\n return {\n expression,\n type,\n statements: result.statements,\n };\n}\nfunction delegateToFactory(type, internalType) {\n return {\n statements: [],\n // If types are the same, we can generate `factory: type.ɵfac`\n // If types are different, we have to generate a wrapper function to ensure\n // the internal type has been resolved (`factory: function(t) { return type.ɵfac(t); }`)\n factory: type.node === internalType.node ?\n internalType.prop('ɵfac') :\n fn([new FnParam('t', DYNAMIC_TYPE)], [new ReturnStatement(internalType.callMethod('ɵfac', [variable('t')]))])\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 assertArrayOfStrings(identifier, value) {\n if (value == null) {\n return;\n }\n if (!Array.isArray(value)) {\n throw new Error(`Expected '${identifier}' to be an array of strings.`);\n }\n for (let i = 0; i < value.length; i += 1) {\n if (typeof value[i] !== 'string') {\n throw new Error(`Expected '${identifier}' to be an array of strings.`);\n }\n }\n}\nconst UNUSABLE_INTERPOLATION_REGEXPS = [\n /^\\s*$/,\n /[<>]/,\n /^[{}]$/,\n /&(#|[a-z])/i,\n /^\\/\\//,\n];\nfunction assertInterpolationSymbols(identifier, value) {\n if (value != null && !(Array.isArray(value) && value.length == 2)) {\n throw new Error(`Expected '${identifier}' to be an array, [start, end].`);\n }\n else if (value != null) {\n const start = value[0];\n const end = value[1];\n // Check for unusable interpolation symbols\n UNUSABLE_INTERPOLATION_REGEXPS.forEach(regexp => {\n if (regexp.test(start) || regexp.test(end)) {\n throw new Error(`['${start}', '${end}'] contains unusable interpolation symbol.`);\n }\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 */\nclass InterpolationConfig {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n static fromArray(markers) {\n if (!markers) {\n return DEFAULT_INTERPOLATION_CONFIG;\n }\n assertInterpolationSymbols('interpolation', markers);\n return new InterpolationConfig(markers[0], markers[1]);\n }\n}\nconst DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');\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 * In TypeScript, tagged template functions expect a \"template object\", which is an array of\n * \"cooked\" strings plus a `raw` property that contains an array of \"raw\" strings. This is\n * typically constructed with a function called `__makeTemplateObject(cooked, raw)`, but it may not\n * be available in all environments.\n *\n * This is a JavaScript polyfill that uses __makeTemplateObject when it's available, but otherwise\n * creates an inline helper with the same functionality.\n *\n * In the inline function, if `Object.defineProperty` is available we use that to attach the `raw`\n * array.\n */\nconst makeTemplateObjectPolyfill = '(this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t,e})';\nclass AbstractJsEmitterVisitor extends AbstractEmitterVisitor {\n constructor() {\n super(false);\n }\n visitDeclareClassStmt(stmt, ctx) {\n ctx.pushClass(stmt);\n this._visitClassConstructor(stmt, ctx);\n if (stmt.parent != null) {\n ctx.print(stmt, `${stmt.name}.prototype = Object.create(`);\n stmt.parent.visitExpression(this, ctx);\n ctx.println(stmt, `.prototype);`);\n }\n stmt.getters.forEach((getter) => this._visitClassGetter(stmt, getter, ctx));\n stmt.methods.forEach((method) => this._visitClassMethod(stmt, method, ctx));\n ctx.popClass();\n return null;\n }\n _visitClassConstructor(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n if (stmt.constructorMethod != null) {\n this._visitParams(stmt.constructorMethod.params, ctx);\n }\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n if (stmt.constructorMethod != null) {\n if (stmt.constructorMethod.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(stmt.constructorMethod.body, ctx);\n }\n }\n ctx.decIndent();\n ctx.println(stmt, `}`);\n }\n _visitClassGetter(stmt, getter, ctx) {\n ctx.println(stmt, `Object.defineProperty(${stmt.name}.prototype, '${getter.name}', { get: function() {`);\n ctx.incIndent();\n if (getter.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(getter.body, ctx);\n }\n ctx.decIndent();\n ctx.println(stmt, `}});`);\n }\n _visitClassMethod(stmt, method, ctx) {\n ctx.print(stmt, `${stmt.name}.prototype.${method.name} = function(`);\n this._visitParams(method.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n if (method.body.length > 0) {\n ctx.println(stmt, `var self = this;`);\n this.visitAllStatements(method.body, ctx);\n }\n ctx.decIndent();\n ctx.println(stmt, `};`);\n }\n visitWrappedNodeExpr(ast, ctx) {\n throw new Error('Cannot emit a WrappedNodeExpr in Javascript.');\n }\n visitReadVarExpr(ast, ctx) {\n if (ast.builtin === BuiltinVar.This) {\n ctx.print(ast, 'self');\n }\n else if (ast.builtin === BuiltinVar.Super) {\n throw new Error(`'super' needs to be handled at a parent ast node, not at the variable level!`);\n }\n else {\n super.visitReadVarExpr(ast, ctx);\n }\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n ctx.print(stmt, `var ${stmt.name}`);\n if (stmt.value) {\n ctx.print(stmt, ' = ');\n stmt.value.visitExpression(this, ctx);\n }\n ctx.println(stmt, `;`);\n return null;\n }\n visitCastExpr(ast, ctx) {\n ast.value.visitExpression(this, ctx);\n return null;\n }\n visitInvokeFunctionExpr(expr, ctx) {\n const fnExpr = expr.fn;\n if (fnExpr instanceof ReadVarExpr && fnExpr.builtin === BuiltinVar.Super) {\n ctx.currentClass.parent.visitExpression(this, ctx);\n ctx.print(expr, `.call(this`);\n if (expr.args.length > 0) {\n ctx.print(expr, `, `);\n this.visitAllExpressions(expr.args, ctx, ',');\n }\n ctx.print(expr, `)`);\n }\n else {\n super.visitInvokeFunctionExpr(expr, ctx);\n }\n return null;\n }\n visitTaggedTemplateExpr(ast, ctx) {\n // The following convoluted piece of code is effectively the downlevelled equivalent of\n // ```\n // tag`...`\n // ```\n // which is effectively like:\n // ```\n // tag(__makeTemplateObject(cooked, raw), expression1, expression2, ...);\n // ```\n const elements = ast.template.elements;\n ast.tag.visitExpression(this, ctx);\n ctx.print(ast, `(${makeTemplateObjectPolyfill}(`);\n ctx.print(ast, `[${elements.map(part => escapeIdentifier(part.text, false)).join(', ')}], `);\n ctx.print(ast, `[${elements.map(part => escapeIdentifier(part.rawText, false)).join(', ')}])`);\n ast.template.expressions.forEach(expression => {\n ctx.print(ast, ', ');\n expression.visitExpression(this, ctx);\n });\n ctx.print(ast, ')');\n return null;\n }\n visitFunctionExpr(ast, ctx) {\n ctx.print(ast, `function${ast.name ? ' ' + ast.name : ''}(`);\n this._visitParams(ast.params, ctx);\n ctx.println(ast, `) {`);\n ctx.incIndent();\n this.visitAllStatements(ast.statements, ctx);\n ctx.decIndent();\n ctx.print(ast, `}`);\n return null;\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n ctx.print(stmt, `function ${stmt.name}(`);\n this._visitParams(stmt.params, ctx);\n ctx.println(stmt, `) {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.statements, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitTryCatchStmt(stmt, ctx) {\n ctx.println(stmt, `try {`);\n ctx.incIndent();\n this.visitAllStatements(stmt.bodyStmts, ctx);\n ctx.decIndent();\n ctx.println(stmt, `} catch (${CATCH_ERROR_VAR$1.name}) {`);\n ctx.incIndent();\n const catchStmts = [CATCH_STACK_VAR$1.set(CATCH_ERROR_VAR$1.prop('stack')).toDeclStmt(null, [\n StmtModifier.Final\n ])].concat(stmt.catchStmts);\n this.visitAllStatements(catchStmts, ctx);\n ctx.decIndent();\n ctx.println(stmt, `}`);\n return null;\n }\n visitLocalizedString(ast, ctx) {\n // The following convoluted piece of code is effectively the downlevelled equivalent of\n // ```\n // $localize `...`\n // ```\n // which is effectively like:\n // ```\n // $localize(__makeTemplateObject(cooked, raw), expression1, expression2, ...);\n // ```\n ctx.print(ast, `$localize(${makeTemplateObjectPolyfill}(`);\n const parts = [ast.serializeI18nHead()];\n for (let i = 1; i < ast.messageParts.length; i++) {\n parts.push(ast.serializeI18nTemplatePart(i));\n }\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.cooked, false)).join(', ')}], `);\n ctx.print(ast, `[${parts.map(part => escapeIdentifier(part.raw, false)).join(', ')}])`);\n ast.expressions.forEach(expression => {\n ctx.print(ast, ', ');\n expression.visitExpression(this, ctx);\n });\n ctx.print(ast, ')');\n return null;\n }\n _visitParams(params, ctx) {\n this.visitAllObjects(param => ctx.print(null, param.name), params, ctx, ',');\n }\n getBuiltinMethodName(method) {\n let name;\n switch (method) {\n case BuiltinMethod.ConcatArray:\n name = 'concat';\n break;\n case BuiltinMethod.SubscribeObservable:\n name = 'subscribe';\n break;\n case BuiltinMethod.Bind:\n name = 'bind';\n break;\n default:\n throw new Error(`Unknown builtin method: ${method}`);\n }\n return name;\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 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 =\n _global.trustedTypes.createPolicy('angular#unsafe-jit', {\n createScript: (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 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 call the Function constructor with the given string arguments.\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 the JIT compiler, as use in other code can lead to XSS\n * vulnerabilities.\n */\nfunction newTrustedFunctionForJIT(...args) {\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 * A helper class to manage the evaluation of JIT generated code.\n */\nclass JitEvaluator {\n /**\n *\n * @param sourceUrl The URL of the generated code.\n * @param statements An array of Angular statement AST nodes to be evaluated.\n * @param reflector A helper used when converting the statements to executable code.\n * @param createSourceMaps If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns A map of all the variables in the generated code.\n */\n evaluateStatements(sourceUrl, statements, reflector, createSourceMaps) {\n const converter = new JitEmitterVisitor(reflector);\n const ctx = EmitterVisitorContext.createRoot();\n // Ensure generated code is in strict mode\n if (statements.length > 0 && !isUseStrictStatement(statements[0])) {\n statements = [\n literal('use strict').toStmt(),\n ...statements,\n ];\n }\n converter.visitAllStatements(statements, ctx);\n converter.createReturnStmt(ctx);\n return this.evaluateCode(sourceUrl, ctx, converter.getArgs(), createSourceMaps);\n }\n /**\n * Evaluate a piece of JIT generated code.\n * @param sourceUrl The URL of this generated code.\n * @param ctx A context object that contains an AST of the code to be evaluated.\n * @param vars A map containing the names and values of variables that the evaluated code might\n * reference.\n * @param createSourceMap If true then create a source-map for the generated code and include it\n * inline as a source-map comment.\n * @returns The result of evaluating the code.\n */\n evaluateCode(sourceUrl, ctx, vars, createSourceMap) {\n let fnBody = `\"use strict\";${ctx.toSource()}\\n//# sourceURL=${sourceUrl}`;\n const fnArgNames = [];\n const fnArgValues = [];\n for (const argName in vars) {\n fnArgValues.push(vars[argName]);\n fnArgNames.push(argName);\n }\n if (createSourceMap) {\n // using `new Function(...)` generates a header, 1 line of no arguments, 2 lines otherwise\n // E.g. ```\n // function anonymous(a,b,c\n // /**/) { ... }```\n // We don't want to hard code this fact, so we auto detect it via an empty function first.\n const emptyFn = newTrustedFunctionForJIT(...fnArgNames.concat('return null;')).toString();\n const headerLines = emptyFn.slice(0, emptyFn.indexOf('return null;')).split('\\n').length - 1;\n fnBody += `\\n${ctx.toSourceMapGenerator(sourceUrl, headerLines).toJsComment()}`;\n }\n const fn = newTrustedFunctionForJIT(...fnArgNames.concat(fnBody));\n return this.executeFunction(fn, fnArgValues);\n }\n /**\n * Execute a JIT generated function by calling it.\n *\n * This method can be overridden in tests to capture the functions that are generated\n * by this `JitEvaluator` class.\n *\n * @param fn A function to execute.\n * @param args The arguments to pass to the function being executed.\n * @returns The return value of the executed function.\n */\n executeFunction(fn, args) {\n return fn(...args);\n }\n}\n/**\n * An Angular AST visitor that converts AST nodes into executable JavaScript code.\n */\nclass JitEmitterVisitor extends AbstractJsEmitterVisitor {\n constructor(reflector) {\n super();\n this.reflector = reflector;\n this._evalArgNames = [];\n this._evalArgValues = [];\n this._evalExportedVars = [];\n }\n createReturnStmt(ctx) {\n const stmt = new ReturnStatement(new LiteralMapExpr(this._evalExportedVars.map(resultVar => new LiteralMapEntry(resultVar, variable(resultVar), false))));\n stmt.visitStatement(this, ctx);\n }\n getArgs() {\n const result = {};\n for (let i = 0; i < this._evalArgNames.length; i++) {\n result[this._evalArgNames[i]] = this._evalArgValues[i];\n }\n return result;\n }\n visitExternalExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, this.reflector.resolveExternalReference(ast.value), ctx);\n return null;\n }\n visitWrappedNodeExpr(ast, ctx) {\n this._emitReferenceToExternal(ast, ast.node, ctx);\n return null;\n }\n visitDeclareVarStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareVarStmt(stmt, ctx);\n }\n visitDeclareFunctionStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareFunctionStmt(stmt, ctx);\n }\n visitDeclareClassStmt(stmt, ctx) {\n if (stmt.hasModifier(StmtModifier.Exported)) {\n this._evalExportedVars.push(stmt.name);\n }\n return super.visitDeclareClassStmt(stmt, ctx);\n }\n _emitReferenceToExternal(ast, value, ctx) {\n let id = this._evalArgValues.indexOf(value);\n if (id === -1) {\n id = this._evalArgValues.length;\n this._evalArgValues.push(value);\n const name = identifierName({ reference: value }) || 'val';\n this._evalArgNames.push(`jit_${name}_${id}`);\n }\n ctx.print(ast, this._evalArgNames[id]);\n }\n}\nfunction isUseStrictStatement(statement) {\n return statement.isEquivalent(literal('use strict').toStmt());\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 $EOF = 0;\nconst $BSPACE = 8;\nconst $TAB = 9;\nconst $LF = 10;\nconst $VTAB = 11;\nconst $FF = 12;\nconst $CR = 13;\nconst $SPACE = 32;\nconst $BANG = 33;\nconst $DQ = 34;\nconst $HASH = 35;\nconst $$ = 36;\nconst $PERCENT = 37;\nconst $AMPERSAND = 38;\nconst $SQ = 39;\nconst $LPAREN = 40;\nconst $RPAREN = 41;\nconst $STAR = 42;\nconst $PLUS = 43;\nconst $COMMA = 44;\nconst $MINUS = 45;\nconst $PERIOD = 46;\nconst $SLASH = 47;\nconst $COLON = 58;\nconst $SEMICOLON = 59;\nconst $LT = 60;\nconst $EQ = 61;\nconst $GT = 62;\nconst $QUESTION = 63;\nconst $0 = 48;\nconst $7 = 55;\nconst $9 = 57;\nconst $A = 65;\nconst $E = 69;\nconst $F = 70;\nconst $X = 88;\nconst $Z = 90;\nconst $LBRACKET = 91;\nconst $BACKSLASH = 92;\nconst $RBRACKET = 93;\nconst $CARET = 94;\nconst $_ = 95;\nconst $a = 97;\nconst $b = 98;\nconst $e = 101;\nconst $f = 102;\nconst $n = 110;\nconst $r = 114;\nconst $t = 116;\nconst $u = 117;\nconst $v = 118;\nconst $x = 120;\nconst $z = 122;\nconst $LBRACE = 123;\nconst $BAR = 124;\nconst $RBRACE = 125;\nconst $NBSP = 160;\nconst $PIPE = 124;\nconst $TILDA = 126;\nconst $AT = 64;\nconst $BT = 96;\nfunction isWhitespace(code) {\n return (code >= $TAB && code <= $SPACE) || (code == $NBSP);\n}\nfunction isDigit(code) {\n return $0 <= code && code <= $9;\n}\nfunction isAsciiLetter(code) {\n return code >= $a && code <= $z || code >= $A && code <= $Z;\n}\nfunction isAsciiHexDigit(code) {\n return code >= $a && code <= $f || code >= $A && code <= $F || isDigit(code);\n}\nfunction isNewLine(code) {\n return code === $LF || code === $CR;\n}\nfunction isOctalDigit(code) {\n return $0 <= code && code <= $7;\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 ParseLocation {\n constructor(file, offset, line, col) {\n this.file = file;\n this.offset = offset;\n this.line = line;\n this.col = col;\n }\n toString() {\n return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url;\n }\n moveBy(delta) {\n const source = this.file.content;\n const len = source.length;\n let offset = this.offset;\n let line = this.line;\n let col = this.col;\n while (offset > 0 && delta < 0) {\n offset--;\n delta++;\n const ch = source.charCodeAt(offset);\n if (ch == $LF) {\n line--;\n const priorLine = source.substr(0, offset - 1).lastIndexOf(String.fromCharCode($LF));\n col = priorLine > 0 ? offset - priorLine : offset;\n }\n else {\n col--;\n }\n }\n while (offset < len && delta > 0) {\n const ch = source.charCodeAt(offset);\n offset++;\n delta--;\n if (ch == $LF) {\n line++;\n col = 0;\n }\n else {\n col++;\n }\n }\n return new ParseLocation(this.file, offset, line, col);\n }\n // Return the source around the location\n // Up to `maxChars` or `maxLines` on each side of the location\n getContext(maxChars, maxLines) {\n const content = this.file.content;\n let startOffset = this.offset;\n if (startOffset != null) {\n if (startOffset > content.length - 1) {\n startOffset = content.length - 1;\n }\n let endOffset = startOffset;\n let ctxChars = 0;\n let ctxLines = 0;\n while (ctxChars < maxChars && startOffset > 0) {\n startOffset--;\n ctxChars++;\n if (content[startOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n ctxChars = 0;\n ctxLines = 0;\n while (ctxChars < maxChars && endOffset < content.length - 1) {\n endOffset++;\n ctxChars++;\n if (content[endOffset] == '\\n') {\n if (++ctxLines == maxLines) {\n break;\n }\n }\n }\n return {\n before: content.substring(startOffset, this.offset),\n after: content.substring(this.offset, endOffset + 1),\n };\n }\n return null;\n }\n}\nclass ParseSourceFile {\n constructor(content, url) {\n this.content = content;\n this.url = url;\n }\n}\nclass ParseSourceSpan {\n /**\n * Create an object that holds information about spans of tokens/nodes captured during\n * lexing/parsing of text.\n *\n * @param start\n * The location of the start of the span (having skipped leading trivia).\n * Skipping leading trivia makes source-spans more \"user friendly\", since things like HTML\n * elements will appear to begin at the start of the opening tag, rather than at the start of any\n * leading trivia, which could include newlines.\n *\n * @param end\n * The location of the end of the span.\n *\n * @param fullStart\n * The start of the token without skipping the leading trivia.\n * This is used by tooling that splits tokens further, such as extracting Angular interpolations\n * from text tokens. Such tooling creates new source-spans relative to the original token's\n * source-span. If leading trivia characters have been skipped then the new source-spans may be\n * incorrectly offset.\n *\n * @param details\n * Additional information (such as identifier names) that should be associated with the span.\n */\n constructor(start, end, fullStart = start, details = null) {\n this.start = start;\n this.end = end;\n this.fullStart = fullStart;\n this.details = details;\n }\n toString() {\n return this.start.file.content.substring(this.start.offset, this.end.offset);\n }\n}\nvar ParseErrorLevel;\n(function (ParseErrorLevel) {\n ParseErrorLevel[ParseErrorLevel[\"WARNING\"] = 0] = \"WARNING\";\n ParseErrorLevel[ParseErrorLevel[\"ERROR\"] = 1] = \"ERROR\";\n})(ParseErrorLevel || (ParseErrorLevel = {}));\nclass ParseError {\n constructor(span, msg, level = ParseErrorLevel.ERROR) {\n this.span = span;\n this.msg = msg;\n this.level = level;\n }\n contextualMessage() {\n const ctx = this.span.start.getContext(100, 3);\n return ctx ? `${this.msg} (\"${ctx.before}[${ParseErrorLevel[this.level]} ->]${ctx.after}\")` :\n this.msg;\n }\n toString() {\n const details = this.span.details ? `, ${this.span.details}` : '';\n return `${this.contextualMessage()}: ${this.span.start}${details}`;\n }\n}\nfunction typeSourceSpan(kind, type) {\n const moduleUrl = identifierModuleUrl(type);\n const sourceFileName = moduleUrl != null ? `in ${kind} ${identifierName(type)} in ${moduleUrl}` :\n `in ${kind} ${identifierName(type)}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -1));\n}\n/**\n * Generates Source Span object for a given R3 Type for JIT mode.\n *\n * @param kind Component or Directive.\n * @param typeName name of the Component or Directive.\n * @param sourceUrl reference to Component or Directive source.\n * @returns instance of ParseSourceSpan that represent a given Component or Directive.\n */\nfunction r3JitTypeSourceSpan(kind, typeName, sourceUrl) {\n const sourceFileName = `in ${kind} ${typeName} in ${sourceUrl}`;\n const sourceFile = new ParseSourceFile('', sourceFileName);\n return new ParseSourceSpan(new ParseLocation(sourceFile, -1, -1, -1), new ParseLocation(sourceFile, -1, -1, -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 */\n/**\n * Implementation of `CompileReflector` which resolves references to @angular/core\n * symbols at runtime, according to a consumer-provided mapping.\n *\n * Only supports `resolveExternalReference`, all other methods throw.\n */\nclass R3JitReflector {\n constructor(context) {\n this.context = context;\n }\n resolveExternalReference(ref) {\n // This reflector only handles @angular/core imports.\n if (ref.moduleName !== '@angular/core') {\n throw new Error(`Cannot resolve external reference to ${ref.moduleName}, only references to @angular/core are supported.`);\n }\n if (!this.context.hasOwnProperty(ref.name)) {\n throw new Error(`No value provided for @angular/core symbol '${ref.name}'.`);\n }\n return this.context[ref.name];\n }\n parameters(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n annotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n shallowAnnotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n tryAnnotations(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n propMetadata(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n hasLifecycleHook(type, lcProperty) {\n throw new Error('Not implemented.');\n }\n guards(typeOrFunc) {\n throw new Error('Not implemented.');\n }\n componentModuleUrl(type, cmpMetadata) {\n throw new Error('Not implemented.');\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 mapEntry(key, value) {\n return { key, value, quoted: false };\n}\nfunction mapLiteral(obj, quoted = false) {\n return literalMap(Object.keys(obj).map(key => ({\n key,\n quoted,\n value: obj[key],\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 * Construct an `R3NgModuleDef` for the given `R3NgModuleMetadata`.\n */\nfunction compileNgModule(meta) {\n const { internalType, type: moduleType, bootstrap, declarations, imports, exports, schemas, containsForwardDecls, emitInline, id } = meta;\n const additionalStatements = [];\n const definitionMap = { type: internalType };\n // Only generate the keys in the metadata if the arrays have values.\n if (bootstrap.length) {\n definitionMap.bootstrap = refsToArray(bootstrap, containsForwardDecls);\n }\n // If requested to emit scope information inline, pass the declarations, imports and exports to\n // the `ɵɵdefineNgModule` call. The JIT compilation uses this.\n if (emitInline) {\n if (declarations.length) {\n definitionMap.declarations = refsToArray(declarations, containsForwardDecls);\n }\n if (imports.length) {\n definitionMap.imports = refsToArray(imports, containsForwardDecls);\n }\n if (exports.length) {\n definitionMap.exports = refsToArray(exports, containsForwardDecls);\n }\n }\n // If not emitting inline, the scope information is not passed into `ɵɵdefineNgModule` as it would\n // prevent tree-shaking of the declarations, imports and exports references.\n else {\n const setNgModuleScopeCall = generateSetNgModuleScopeCall(meta);\n if (setNgModuleScopeCall !== null) {\n additionalStatements.push(setNgModuleScopeCall);\n }\n }\n if (schemas && schemas.length) {\n definitionMap.schemas = literalArr(schemas.map(ref => ref.value));\n }\n if (id) {\n definitionMap.id = id;\n }\n const expression = importExpr(Identifiers$1.defineNgModule).callFn([mapToMapExpression(definitionMap)]);\n const type = new ExpressionType(importExpr(Identifiers$1.NgModuleDefWithMeta, [\n new ExpressionType(moduleType.type), tupleTypeOf(declarations), tupleTypeOf(imports),\n tupleTypeOf(exports)\n ]));\n return { expression, type, additionalStatements };\n}\n/**\n * Generates a function call to `ɵɵsetNgModuleScope` with all necessary information so that the\n * transitive module scope can be computed during runtime in JIT mode. This call is marked pure\n * such that the references to declarations, imports and exports may be elided causing these\n * symbols to become tree-shakeable.\n */\nfunction generateSetNgModuleScopeCall(meta) {\n const { adjacentType: moduleType, declarations, imports, exports, containsForwardDecls } = meta;\n const scopeMap = {};\n if (declarations.length) {\n scopeMap.declarations = refsToArray(declarations, containsForwardDecls);\n }\n if (imports.length) {\n scopeMap.imports = refsToArray(imports, containsForwardDecls);\n }\n if (exports.length) {\n scopeMap.exports = refsToArray(exports, containsForwardDecls);\n }\n if (Object.keys(scopeMap).length === 0) {\n return null;\n }\n // setNgModuleScope(...)\n const fnCall = new InvokeFunctionExpr(\n /* fn */ importExpr(Identifiers$1.setNgModuleScope), \n /* args */ [moduleType, mapToMapExpression(scopeMap)]);\n // (ngJitMode guard) && setNgModuleScope(...)\n const guardedCall = jitOnlyGuardedExpression(fnCall);\n // function() { (ngJitMode guard) && setNgModuleScope(...); }\n const iife = new FunctionExpr(\n /* params */ [], \n /* statements */ [guardedCall.toStmt()]);\n // (function() { (ngJitMode guard) && setNgModuleScope(...); })()\n const iifeCall = new InvokeFunctionExpr(\n /* fn */ iife, \n /* args */ []);\n return iifeCall.toStmt();\n}\nfunction compileInjector(meta) {\n const result = compileFactoryFunction({\n name: meta.name,\n type: meta.type,\n internalType: meta.internalType,\n typeArgumentCount: 0,\n deps: meta.deps,\n injectFn: Identifiers$1.inject,\n target: R3FactoryTarget.NgModule,\n });\n const definitionMap = {\n factory: result.factory,\n };\n if (meta.providers !== null) {\n definitionMap.providers = meta.providers;\n }\n if (meta.imports.length > 0) {\n definitionMap.imports = literalArr(meta.imports);\n }\n const expression = importExpr(Identifiers$1.defineInjector).callFn([mapToMapExpression(definitionMap)]);\n const type = new ExpressionType(importExpr(Identifiers$1.InjectorDef, [new ExpressionType(meta.type.type)]));\n return { expression, type, statements: result.statements };\n}\n// TODO(alxhub): integrate this with `compileNgModule`. Currently the two are separate operations.\nfunction compileNgModuleFromRender2(ctx, ngModule, injectableCompiler) {\n const className = identifierName(ngModule.type);\n const rawImports = ngModule.rawImports ? [ngModule.rawImports] : [];\n const rawExports = ngModule.rawExports ? [ngModule.rawExports] : [];\n const injectorDefArg = mapLiteral({\n 'factory': injectableCompiler.factoryFor({ type: ngModule.type, symbol: ngModule.type.reference }, ctx),\n 'providers': convertMetaToOutput(ngModule.rawProviders, ctx),\n 'imports': convertMetaToOutput([...rawImports, ...rawExports], ctx),\n });\n const injectorDef = importExpr(Identifiers$1.defineInjector).callFn([injectorDefArg]);\n ctx.statements.push(new ClassStmt(\n /* name */ className, \n /* parent */ null, \n /* fields */ [new ClassField(\n /* name */ 'ɵinj', \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ injectorDef)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []));\n}\nfunction accessExportScope(module) {\n const selectorScope = new ReadPropExpr(module, 'ɵmod');\n return new ReadPropExpr(selectorScope, 'exported');\n}\nfunction tupleTypeOf(exp) {\n const types = exp.map(ref => typeofExpr(ref.type));\n return exp.length > 0 ? expressionType(literalArr(types)) : NONE_TYPE;\n}\nfunction refsToArray(refs, shouldForwardDeclare) {\n const values = literalArr(refs.map(ref => ref.value));\n return shouldForwardDeclare ? fn([], [new ReturnStatement(values)]) : values;\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 compilePipeFromMetadata(metadata) {\n const definitionMapValues = [];\n // e.g. `name: 'myPipe'`\n definitionMapValues.push({ key: 'name', value: literal(metadata.pipeName), quoted: false });\n // e.g. `type: MyPipe`\n definitionMapValues.push({ key: 'type', value: metadata.type.value, quoted: false });\n // e.g. `pure: true`\n definitionMapValues.push({ key: 'pure', value: literal(metadata.pure), quoted: false });\n const expression = importExpr(Identifiers$1.definePipe).callFn([literalMap(definitionMapValues)]);\n const type = createPipeType(metadata);\n return { expression, type };\n}\nfunction createPipeType(metadata) {\n return new ExpressionType(importExpr(Identifiers$1.PipeDefWithMeta, [\n typeWithParameters(metadata.type.type, metadata.typeArgumentCount),\n new ExpressionType(new LiteralExpr(metadata.pipeName)),\n ]));\n}\n/**\n * Write a pipe definition to the output context.\n */\nfunction compilePipeFromRender2(outputCtx, pipe, reflector) {\n const name = identifierName(pipe.type);\n if (!name) {\n return error(`Cannot resolve the name of ${pipe.type}`);\n }\n const type = outputCtx.importExpr(pipe.type.reference);\n const metadata = {\n name,\n type: wrapReference(type),\n internalType: type,\n pipeName: pipe.name,\n typeArgumentCount: 0,\n deps: dependenciesFromGlobalMetadata(pipe.type, outputCtx, reflector),\n pure: pipe.pure,\n };\n const res = compilePipeFromMetadata(metadata);\n const factoryRes = compileFactoryFunction(Object.assign(Object.assign({}, metadata), { injectFn: Identifiers$1.directiveInject, target: R3FactoryTarget.Pipe }));\n const definitionField = outputCtx.constantPool.propertyNameOf(3 /* Pipe */);\n const ngFactoryDefStatement = new ClassStmt(\n /* name */ name, \n /* parent */ null, \n /* fields */\n [new ClassField(\n /* name */ 'ɵfac', \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ factoryRes.factory)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []);\n const pipeDefStatement = new ClassStmt(\n /* name */ name, \n /* parent */ null, \n /* fields */ [new ClassField(\n /* name */ definitionField, \n /* type */ INFERRED_TYPE, \n /* modifiers */ [StmtModifier.Static], \n /* initializer */ res.expression)], \n /* getters */ [], \n /* constructorMethod */ new ClassMethod(null, [], []), \n /* methods */ []);\n outputCtx.statements.push(ngFactoryDefStatement, pipeDefStatement);\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 ParserError {\n constructor(message, input, errLocation, ctxLocation) {\n this.input = input;\n this.errLocation = errLocation;\n this.ctxLocation = ctxLocation;\n this.message = `Parser Error: ${message} ${errLocation} [${input}] in ${ctxLocation}`;\n }\n}\nclass ParseSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n toAbsolute(absoluteOffset) {\n return new AbsoluteSourceSpan(absoluteOffset + this.start, absoluteOffset + this.end);\n }\n}\nclass AST {\n constructor(span, \n /**\n * Absolute location of the expression AST in a source code file.\n */\n sourceSpan) {\n this.span = span;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context = null) {\n return null;\n }\n toString() {\n return 'AST';\n }\n}\nclass ASTWithName extends AST {\n constructor(span, sourceSpan, nameSpan) {\n super(span, sourceSpan);\n this.nameSpan = nameSpan;\n }\n}\n/**\n * Represents a quoted expression of the form:\n *\n * quote = prefix `:` uninterpretedExpression\n * prefix = identifier\n * uninterpretedExpression = arbitrary string\n *\n * A quoted expression is meant to be pre-processed by an AST transformer that\n * converts it into another AST that no longer contains quoted expressions.\n * It is meant to allow third-party developers to extend Angular template\n * expression language. The `uninterpretedExpression` part of the quote is\n * therefore not interpreted by the Angular's own expression parser.\n */\nclass Quote extends AST {\n constructor(span, sourceSpan, prefix, uninterpretedExpression, location) {\n super(span, sourceSpan);\n this.prefix = prefix;\n this.uninterpretedExpression = uninterpretedExpression;\n this.location = location;\n }\n visit(visitor, context = null) {\n return visitor.visitQuote(this, context);\n }\n toString() {\n return 'Quote';\n }\n}\nclass EmptyExpr extends AST {\n visit(visitor, context = null) {\n // do nothing\n }\n}\nclass ImplicitReceiver extends AST {\n visit(visitor, context = null) {\n return visitor.visitImplicitReceiver(this, context);\n }\n}\n/**\n * Receiver when something is accessed through `this` (e.g. `this.foo`). Note that this class\n * inherits from `ImplicitReceiver`, because accessing something through `this` is treated the\n * same as accessing it implicitly inside of an Angular template (e.g. `[attr.title]=\"this.title\"`\n * is the same as `[attr.title]=\"title\"`.). Inheriting allows for the `this` accesses to be treated\n * the same as implicit ones, except for a couple of exceptions like `$event` and `$any`.\n * TODO: we should find a way for this class not to extend from `ImplicitReceiver` in the future.\n */\nclass ThisReceiver extends ImplicitReceiver {\n visit(visitor, context = null) {\n var _a;\n return (_a = visitor.visitThisReceiver) === null || _a === void 0 ? void 0 : _a.call(visitor, this, context);\n }\n}\n/**\n * Multiple expressions separated by a semicolon.\n */\nclass Chain extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitChain(this, context);\n }\n}\nclass Conditional extends AST {\n constructor(span, sourceSpan, condition, trueExp, falseExp) {\n super(span, sourceSpan);\n this.condition = condition;\n this.trueExp = trueExp;\n this.falseExp = falseExp;\n }\n visit(visitor, context = null) {\n return visitor.visitConditional(this, context);\n }\n}\nclass PropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyRead(this, context);\n }\n}\nclass PropertyWrite extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, value) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitPropertyWrite(this, context);\n }\n}\nclass SafePropertyRead extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n }\n visit(visitor, context = null) {\n return visitor.visitSafePropertyRead(this, context);\n }\n}\nclass KeyedRead extends AST {\n constructor(span, sourceSpan, obj, key) {\n super(span, sourceSpan);\n this.obj = obj;\n this.key = key;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedRead(this, context);\n }\n}\nclass KeyedWrite extends AST {\n constructor(span, sourceSpan, obj, key, value) {\n super(span, sourceSpan);\n this.obj = obj;\n this.key = key;\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitKeyedWrite(this, context);\n }\n}\nclass BindingPipe extends ASTWithName {\n constructor(span, sourceSpan, exp, name, args, nameSpan) {\n super(span, sourceSpan, nameSpan);\n this.exp = exp;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitPipe(this, context);\n }\n}\nclass LiteralPrimitive extends AST {\n constructor(span, sourceSpan, value) {\n super(span, sourceSpan);\n this.value = value;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralPrimitive(this, context);\n }\n}\nclass LiteralArray extends AST {\n constructor(span, sourceSpan, expressions) {\n super(span, sourceSpan);\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralArray(this, context);\n }\n}\nclass LiteralMap extends AST {\n constructor(span, sourceSpan, keys, values) {\n super(span, sourceSpan);\n this.keys = keys;\n this.values = values;\n }\n visit(visitor, context = null) {\n return visitor.visitLiteralMap(this, context);\n }\n}\nclass Interpolation extends AST {\n constructor(span, sourceSpan, strings, expressions) {\n super(span, sourceSpan);\n this.strings = strings;\n this.expressions = expressions;\n }\n visit(visitor, context = null) {\n return visitor.visitInterpolation(this, context);\n }\n}\nclass Binary extends AST {\n constructor(span, sourceSpan, operation, left, right) {\n super(span, sourceSpan);\n this.operation = operation;\n this.left = left;\n this.right = right;\n }\n visit(visitor, context = null) {\n return visitor.visitBinary(this, context);\n }\n}\n/**\n * For backwards compatibility reasons, `Unary` inherits from `Binary` and mimics the binary AST\n * node that was originally used. This inheritance relation can be deleted in some future major,\n * after consumers have been given a chance to fully support Unary.\n */\nclass Unary extends Binary {\n /**\n * During the deprecation period this constructor is private, to avoid consumers from creating\n * a `Unary` with the fallback properties for `Binary`.\n */\n constructor(span, sourceSpan, operator, expr, binaryOp, binaryLeft, binaryRight) {\n super(span, sourceSpan, binaryOp, binaryLeft, binaryRight);\n this.operator = operator;\n this.expr = expr;\n }\n /**\n * Creates a unary minus expression \"-x\", represented as `Binary` using \"0 - x\".\n */\n static createMinus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '-', expr, '-', new LiteralPrimitive(span, sourceSpan, 0), expr);\n }\n /**\n * Creates a unary plus expression \"+x\", represented as `Binary` using \"x - 0\".\n */\n static createPlus(span, sourceSpan, expr) {\n return new Unary(span, sourceSpan, '+', expr, '-', expr, new LiteralPrimitive(span, sourceSpan, 0));\n }\n visit(visitor, context = null) {\n if (visitor.visitUnary !== undefined) {\n return visitor.visitUnary(this, context);\n }\n return visitor.visitBinary(this, context);\n }\n}\nclass PrefixNot extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitPrefixNot(this, context);\n }\n}\nclass NonNullAssert extends AST {\n constructor(span, sourceSpan, expression) {\n super(span, sourceSpan);\n this.expression = expression;\n }\n visit(visitor, context = null) {\n return visitor.visitNonNullAssert(this, context);\n }\n}\nclass MethodCall extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, args) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitMethodCall(this, context);\n }\n}\nclass SafeMethodCall extends ASTWithName {\n constructor(span, sourceSpan, nameSpan, receiver, name, args) {\n super(span, sourceSpan, nameSpan);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitSafeMethodCall(this, context);\n }\n}\nclass FunctionCall extends AST {\n constructor(span, sourceSpan, target, args) {\n super(span, sourceSpan);\n this.target = target;\n this.args = args;\n }\n visit(visitor, context = null) {\n return visitor.visitFunctionCall(this, context);\n }\n}\n/**\n * Records the absolute position of a text span in a source file, where `start` and `end` are the\n * starting and ending byte offsets, respectively, of the text span in a source file.\n */\nclass AbsoluteSourceSpan {\n constructor(start, end) {\n this.start = start;\n this.end = end;\n }\n}\nclass ASTWithSource extends AST {\n constructor(ast, source, location, absoluteOffset, errors) {\n super(new ParseSpan(0, source === null ? 0 : source.length), new AbsoluteSourceSpan(absoluteOffset, source === null ? absoluteOffset : absoluteOffset + source.length));\n this.ast = ast;\n this.source = source;\n this.location = location;\n this.errors = errors;\n }\n visit(visitor, context = null) {\n if (visitor.visitASTWithSource) {\n return visitor.visitASTWithSource(this, context);\n }\n return this.ast.visit(visitor, context);\n }\n toString() {\n return `${this.source} in ${this.location}`;\n }\n}\nclass VariableBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key name of the LHS along with its span.\n * @param value optional value for the RHS along with its span.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass ExpressionBinding {\n /**\n * @param sourceSpan entire span of the binding.\n * @param key binding name, like ngForOf, ngForTrackBy, ngIf, along with its\n * span. Note that the length of the span may not be the same as\n * `key.source.length`. For example,\n * 1. key.source = ngFor, key.span is for \"ngFor\"\n * 2. key.source = ngForOf, key.span is for \"of\"\n * 3. key.source = ngForTrackBy, key.span is for \"trackBy\"\n * @param value optional expression for the RHS.\n */\n constructor(sourceSpan, key, value) {\n this.sourceSpan = sourceSpan;\n this.key = key;\n this.value = value;\n }\n}\nclass RecursiveAstVisitor$1 {\n visit(ast, context) {\n // The default implementation just visits every node.\n // Classes that extend RecursiveAstVisitor should override this function\n // to selectively visit the specified node.\n ast.visit(this, context);\n }\n visitUnary(ast, context) {\n this.visit(ast.expr, context);\n }\n visitBinary(ast, context) {\n this.visit(ast.left, context);\n this.visit(ast.right, context);\n }\n visitChain(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitConditional(ast, context) {\n this.visit(ast.condition, context);\n this.visit(ast.trueExp, context);\n this.visit(ast.falseExp, context);\n }\n visitPipe(ast, context) {\n this.visit(ast.exp, context);\n this.visitAll(ast.args, context);\n }\n visitFunctionCall(ast, context) {\n if (ast.target) {\n this.visit(ast.target, context);\n }\n this.visitAll(ast.args, context);\n }\n visitImplicitReceiver(ast, context) { }\n visitThisReceiver(ast, context) { }\n visitInterpolation(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitKeyedRead(ast, context) {\n this.visit(ast.obj, context);\n this.visit(ast.key, context);\n }\n visitKeyedWrite(ast, context) {\n this.visit(ast.obj, context);\n this.visit(ast.key, context);\n this.visit(ast.value, context);\n }\n visitLiteralArray(ast, context) {\n this.visitAll(ast.expressions, context);\n }\n visitLiteralMap(ast, context) {\n this.visitAll(ast.values, context);\n }\n visitLiteralPrimitive(ast, context) { }\n visitMethodCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitPrefixNot(ast, context) {\n this.visit(ast.expression, context);\n }\n visitNonNullAssert(ast, context) {\n this.visit(ast.expression, context);\n }\n visitPropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitPropertyWrite(ast, context) {\n this.visit(ast.receiver, context);\n this.visit(ast.value, context);\n }\n visitSafePropertyRead(ast, context) {\n this.visit(ast.receiver, context);\n }\n visitSafeMethodCall(ast, context) {\n this.visit(ast.receiver, context);\n this.visitAll(ast.args, context);\n }\n visitQuote(ast, context) { }\n // This is not part of the AstVisitor interface, just a helper method\n visitAll(asts, context) {\n for (const ast of asts) {\n this.visit(ast, context);\n }\n }\n}\nclass AstTransformer$1 {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitThisReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, this.visitAll(ast.expressions));\n }\n visitLiteralPrimitive(ast, context) {\n return new LiteralPrimitive(ast.span, ast.sourceSpan, ast.value);\n }\n visitPropertyRead(ast, context) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitPropertyWrite(ast, context) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, ast.value.visit(this));\n }\n visitSafePropertyRead(ast, context) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name);\n }\n visitMethodCall(ast, context) {\n return new MethodCall(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n }\n visitSafeMethodCall(ast, context) {\n return new SafeMethodCall(ast.span, ast.sourceSpan, ast.nameSpan, ast.receiver.visit(this), ast.name, this.visitAll(ast.args));\n }\n visitFunctionCall(ast, context) {\n return new FunctionCall(ast.span, ast.sourceSpan, ast.target.visit(this), this.visitAll(ast.args));\n }\n visitLiteralArray(ast, context) {\n return new LiteralArray(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitLiteralMap(ast, context) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, this.visitAll(ast.values));\n }\n visitUnary(ast, context) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, ast.expr.visit(this));\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n visitBinary(ast, context) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, ast.left.visit(this), ast.right.visit(this));\n }\n visitPrefixNot(ast, context) {\n return new PrefixNot(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitNonNullAssert(ast, context) {\n return new NonNullAssert(ast.span, ast.sourceSpan, ast.expression.visit(this));\n }\n visitConditional(ast, context) {\n return new Conditional(ast.span, ast.sourceSpan, ast.condition.visit(this), ast.trueExp.visit(this), ast.falseExp.visit(this));\n }\n visitPipe(ast, context) {\n return new BindingPipe(ast.span, ast.sourceSpan, ast.exp.visit(this), ast.name, this.visitAll(ast.args), ast.nameSpan);\n }\n visitKeyedRead(ast, context) {\n return new KeyedRead(ast.span, ast.sourceSpan, ast.obj.visit(this), ast.key.visit(this));\n }\n visitKeyedWrite(ast, context) {\n return new KeyedWrite(ast.span, ast.sourceSpan, ast.obj.visit(this), ast.key.visit(this), ast.value.visit(this));\n }\n visitAll(asts) {\n const res = [];\n for (let i = 0; i < asts.length; ++i) {\n res[i] = asts[i].visit(this);\n }\n return res;\n }\n visitChain(ast, context) {\n return new Chain(ast.span, ast.sourceSpan, this.visitAll(ast.expressions));\n }\n visitQuote(ast, context) {\n return new Quote(ast.span, ast.sourceSpan, ast.prefix, ast.uninterpretedExpression, ast.location);\n }\n}\n// A transformer that only creates new nodes if the transformer makes a change or\n// a change is made a child node.\nclass AstMemoryEfficientTransformer {\n visitImplicitReceiver(ast, context) {\n return ast;\n }\n visitThisReceiver(ast, context) {\n return ast;\n }\n visitInterpolation(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions)\n return new Interpolation(ast.span, ast.sourceSpan, ast.strings, expressions);\n return ast;\n }\n visitLiteralPrimitive(ast, context) {\n return ast;\n }\n visitPropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new PropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitPropertyWrite(ast, context) {\n const receiver = ast.receiver.visit(this);\n const value = ast.value.visit(this);\n if (receiver !== ast.receiver || value !== ast.value) {\n return new PropertyWrite(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, value);\n }\n return ast;\n }\n visitSafePropertyRead(ast, context) {\n const receiver = ast.receiver.visit(this);\n if (receiver !== ast.receiver) {\n return new SafePropertyRead(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name);\n }\n return ast;\n }\n visitMethodCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new MethodCall(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, args);\n }\n return ast;\n }\n visitSafeMethodCall(ast, context) {\n const receiver = ast.receiver.visit(this);\n const args = this.visitAll(ast.args);\n if (receiver !== ast.receiver || args !== ast.args) {\n return new SafeMethodCall(ast.span, ast.sourceSpan, ast.nameSpan, receiver, ast.name, args);\n }\n return ast;\n }\n visitFunctionCall(ast, context) {\n const target = ast.target && ast.target.visit(this);\n const args = this.visitAll(ast.args);\n if (target !== ast.target || args !== ast.args) {\n return new FunctionCall(ast.span, ast.sourceSpan, target, args);\n }\n return ast;\n }\n visitLiteralArray(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new LiteralArray(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitLiteralMap(ast, context) {\n const values = this.visitAll(ast.values);\n if (values !== ast.values) {\n return new LiteralMap(ast.span, ast.sourceSpan, ast.keys, values);\n }\n return ast;\n }\n visitUnary(ast, context) {\n const expr = ast.expr.visit(this);\n if (expr !== ast.expr) {\n switch (ast.operator) {\n case '+':\n return Unary.createPlus(ast.span, ast.sourceSpan, expr);\n case '-':\n return Unary.createMinus(ast.span, ast.sourceSpan, expr);\n default:\n throw new Error(`Unknown unary operator ${ast.operator}`);\n }\n }\n return ast;\n }\n visitBinary(ast, context) {\n const left = ast.left.visit(this);\n const right = ast.right.visit(this);\n if (left !== ast.left || right !== ast.right) {\n return new Binary(ast.span, ast.sourceSpan, ast.operation, left, right);\n }\n return ast;\n }\n visitPrefixNot(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new PrefixNot(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitNonNullAssert(ast, context) {\n const expression = ast.expression.visit(this);\n if (expression !== ast.expression) {\n return new NonNullAssert(ast.span, ast.sourceSpan, expression);\n }\n return ast;\n }\n visitConditional(ast, context) {\n const condition = ast.condition.visit(this);\n const trueExp = ast.trueExp.visit(this);\n const falseExp = ast.falseExp.visit(this);\n if (condition !== ast.condition || trueExp !== ast.trueExp || falseExp !== ast.falseExp) {\n return new Conditional(ast.span, ast.sourceSpan, condition, trueExp, falseExp);\n }\n return ast;\n }\n visitPipe(ast, context) {\n const exp = ast.exp.visit(this);\n const args = this.visitAll(ast.args);\n if (exp !== ast.exp || args !== ast.args) {\n return new BindingPipe(ast.span, ast.sourceSpan, exp, ast.name, args, ast.nameSpan);\n }\n return ast;\n }\n visitKeyedRead(ast, context) {\n const obj = ast.obj.visit(this);\n const key = ast.key.visit(this);\n if (obj !== ast.obj || key !== ast.key) {\n return new KeyedRead(ast.span, ast.sourceSpan, obj, key);\n }\n return ast;\n }\n visitKeyedWrite(ast, context) {\n const obj = ast.obj.visit(this);\n const key = ast.key.visit(this);\n const value = ast.value.visit(this);\n if (obj !== ast.obj || key !== ast.key || value !== ast.value) {\n return new KeyedWrite(ast.span, ast.sourceSpan, obj, key, value);\n }\n return ast;\n }\n visitAll(asts) {\n const res = [];\n let modified = false;\n for (let i = 0; i < asts.length; ++i) {\n const original = asts[i];\n const value = original.visit(this);\n res[i] = value;\n modified = modified || value !== original;\n }\n return modified ? res : asts;\n }\n visitChain(ast, context) {\n const expressions = this.visitAll(ast.expressions);\n if (expressions !== ast.expressions) {\n return new Chain(ast.span, ast.sourceSpan, expressions);\n }\n return ast;\n }\n visitQuote(ast, context) {\n return ast;\n }\n}\n// Bindings\nclass ParsedProperty {\n constructor(name, expression, type, \n // TODO(FW-2095): `keySpan` should really be required but allows `undefined` so VE does\n // not need to be updated. Make `keySpan` required when VE is removed.\n sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.expression = expression;\n this.type = type;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n this.isLiteral = this.type === ParsedPropertyType.LITERAL_ATTR;\n this.isAnimation = this.type === ParsedPropertyType.ANIMATION;\n }\n}\nvar ParsedPropertyType;\n(function (ParsedPropertyType) {\n ParsedPropertyType[ParsedPropertyType[\"DEFAULT\"] = 0] = \"DEFAULT\";\n ParsedPropertyType[ParsedPropertyType[\"LITERAL_ATTR\"] = 1] = \"LITERAL_ATTR\";\n ParsedPropertyType[ParsedPropertyType[\"ANIMATION\"] = 2] = \"ANIMATION\";\n})(ParsedPropertyType || (ParsedPropertyType = {}));\nclass ParsedEvent {\n // Regular events have a target\n // Animation events have a phase\n constructor(name, targetOrPhase, type, handler, sourceSpan, \n // TODO(FW-2095): keySpan should be required but was made optional to avoid changing VE\n handlerSpan, keySpan) {\n this.name = name;\n this.targetOrPhase = targetOrPhase;\n this.type = type;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n this.keySpan = keySpan;\n }\n}\n/**\n * ParsedVariable represents a variable declaration in a microsyntax expression.\n */\nclass ParsedVariable {\n constructor(name, value, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n}\nclass BoundElementProperty {\n constructor(name, type, securityContext, value, unit, sourceSpan, keySpan, valueSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\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 */\nclass EventHandlerVars {\n}\nEventHandlerVars.event = variable('$event');\nclass ConvertActionBindingResult {\n constructor(\n /**\n * Render2 compatible statements,\n */\n stmts, \n /**\n * Variable name used with render2 compatible statements.\n */\n allowDefault) {\n this.stmts = stmts;\n this.allowDefault = allowDefault;\n /**\n * This is bit of a hack. It converts statements which render2 expects to statements which are\n * expected by render3.\n *\n * Example: `
` will generate:\n *\n * Render3:\n * ```\n * const pd_b:any = ((ctx.doSomething($event)) !== false);\n * return pd_b;\n * ```\n *\n * but render2 expects:\n * ```\n * return ctx.doSomething($event);\n * ```\n */\n // TODO(misko): remove this hack once we no longer support ViewEngine.\n this.render3Stmts = stmts.map((statement) => {\n if (statement instanceof DeclareVarStmt && statement.name == allowDefault.name &&\n statement.value instanceof BinaryOperatorExpr) {\n const lhs = statement.value.lhs;\n return new ReturnStatement(lhs.value);\n }\n return statement;\n });\n }\n}\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression is\n * used in an action binding (e.g. an event handler).\n */\nfunction convertActionBinding(localResolver, implicitReceiver, action, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses, globals) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver(globals);\n }\n const actionWithoutBuiltins = convertPropertyBindingBuiltins({\n createLiteralArrayConverter: (argCount) => {\n // Note: no caching for literal arrays in actions.\n return (args) => literalArr(args);\n },\n createLiteralMapConverter: (keys) => {\n // Note: no caching for literal maps in actions.\n return (values) => {\n const entries = keys.map((k, i) => ({\n key: k.key,\n value: values[i],\n quoted: k.quoted,\n }));\n return literalMap(entries);\n };\n },\n createPipeConverter: (name) => {\n throw new Error(`Illegal State: Actions are not allowed to contain pipes. Pipe: ${name}`);\n }\n }, action);\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses);\n const actionStmts = [];\n flattenStatements(actionWithoutBuiltins.visit(visitor, _Mode.Statement), actionStmts);\n prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const lastIndex = actionStmts.length - 1;\n let preventDefaultVar = null;\n if (lastIndex >= 0) {\n const lastStatement = actionStmts[lastIndex];\n const returnExpr = convertStmtIntoExpression(lastStatement);\n if (returnExpr) {\n // Note: We need to cast the result of the method call to dynamic,\n // as it might be a void method!\n preventDefaultVar = createPreventDefaultVar(bindingId);\n actionStmts[lastIndex] =\n preventDefaultVar.set(returnExpr.cast(DYNAMIC_TYPE).notIdentical(literal(false)))\n .toDeclStmt(null, [StmtModifier.Final]);\n }\n }\n return new ConvertActionBindingResult(actionStmts, preventDefaultVar);\n}\nfunction convertPropertyBindingBuiltins(converterFactory, ast) {\n return convertBuiltins(converterFactory, ast);\n}\nclass ConvertPropertyBindingResult {\n constructor(stmts, currValExpr) {\n this.stmts = stmts;\n this.currValExpr = currValExpr;\n }\n}\nvar BindingForm;\n(function (BindingForm) {\n // The general form of binding expression, supports all expressions.\n BindingForm[BindingForm[\"General\"] = 0] = \"General\";\n // Try to generate a simple binding (no temporaries or statements)\n // otherwise generate a general binding\n BindingForm[BindingForm[\"TrySimple\"] = 1] = \"TrySimple\";\n // Inlines assignment of temporaries into the generated expression. The result may still\n // have statements attached for declarations of temporary variables.\n // This is the only relevant form for Ivy, the other forms are only used in ViewEngine.\n BindingForm[BindingForm[\"Expression\"] = 2] = \"Expression\";\n})(BindingForm || (BindingForm = {}));\n/**\n * Converts the given expression AST into an executable output AST, assuming the expression\n * is used in property binding. The expression has to be preprocessed via\n * `convertPropertyBindingBuiltins`.\n */\nfunction convertPropertyBinding(localResolver, implicitReceiver, expressionWithoutBuiltins, bindingId, form, interpolationFunction) {\n if (!localResolver) {\n localResolver = new DefaultLocalResolver();\n }\n const visitor = new _AstToIrVisitor(localResolver, implicitReceiver, bindingId, interpolationFunction);\n const outputExpr = expressionWithoutBuiltins.visit(visitor, _Mode.Expression);\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n if (visitor.temporaryCount === 0 && form == BindingForm.TrySimple) {\n return new ConvertPropertyBindingResult([], outputExpr);\n }\n else if (form === BindingForm.Expression) {\n return new ConvertPropertyBindingResult(stmts, outputExpr);\n }\n const currValExpr = createCurrValueExpr(bindingId);\n stmts.push(currValExpr.set(outputExpr).toDeclStmt(DYNAMIC_TYPE, [StmtModifier.Final]));\n return new ConvertPropertyBindingResult(stmts, currValExpr);\n}\n/**\n * Given some expression, such as a binding or interpolation expression, and a context expression to\n * look values up on, visit each facet of the given expression resolving values from the context\n * expression such that a list of arguments can be derived from the found values that can be used as\n * arguments to an external update instruction.\n *\n * @param localResolver The resolver to use to look up expressions by name appropriately\n * @param contextVariableExpression The expression representing the context variable used to create\n * the final argument expressions\n * @param expressionWithArgumentsToExtract The expression to visit to figure out what values need to\n * be resolved and what arguments list to build.\n * @param bindingId A name prefix used to create temporary variable names if they're needed for the\n * arguments generated\n * @returns An array of expressions that can be passed as arguments to instruction expressions like\n * `o.importExpr(R3.propertyInterpolate).callFn(result)`\n */\nfunction convertUpdateArguments(localResolver, contextVariableExpression, expressionWithArgumentsToExtract, bindingId) {\n const visitor = new _AstToIrVisitor(localResolver, contextVariableExpression, bindingId, undefined);\n const outputExpr = expressionWithArgumentsToExtract.visit(visitor, _Mode.Expression);\n if (visitor.usesImplicitReceiver) {\n localResolver.notifyImplicitReceiverUse();\n }\n const stmts = getStatementsFromVisitor(visitor, bindingId);\n // Removing the first argument, because it was a length for ViewEngine, not Ivy.\n let args = outputExpr.args.slice(1);\n if (expressionWithArgumentsToExtract instanceof Interpolation) {\n // If we're dealing with an interpolation of 1 value with an empty prefix and suffix, reduce the\n // args returned to just the value, because we're going to pass it to a special instruction.\n const strings = expressionWithArgumentsToExtract.strings;\n if (args.length === 3 && strings[0] === '' && strings[1] === '') {\n // Single argument interpolate instructions.\n args = [args[1]];\n }\n else if (args.length >= 19) {\n // 19 or more arguments must be passed to the `interpolateV`-style instructions, which accept\n // an array of arguments\n args = [literalArr(args)];\n }\n }\n return { stmts, args };\n}\nfunction getStatementsFromVisitor(visitor, bindingId) {\n const stmts = [];\n for (let i = 0; i < visitor.temporaryCount; i++) {\n stmts.push(temporaryDeclaration(bindingId, i));\n }\n return stmts;\n}\nfunction convertBuiltins(converterFactory, ast) {\n const visitor = new _BuiltinAstConverter(converterFactory);\n return ast.visit(visitor);\n}\nfunction temporaryName(bindingId, temporaryNumber) {\n return `tmp_${bindingId}_${temporaryNumber}`;\n}\nfunction temporaryDeclaration(bindingId, temporaryNumber) {\n return new DeclareVarStmt(temporaryName(bindingId, temporaryNumber), NULL_EXPR);\n}\nfunction prependTemporaryDecls(temporaryCount, bindingId, statements) {\n for (let i = temporaryCount - 1; i >= 0; i--) {\n statements.unshift(temporaryDeclaration(bindingId, i));\n }\n}\nvar _Mode;\n(function (_Mode) {\n _Mode[_Mode[\"Statement\"] = 0] = \"Statement\";\n _Mode[_Mode[\"Expression\"] = 1] = \"Expression\";\n})(_Mode || (_Mode = {}));\nfunction ensureStatementMode(mode, ast) {\n if (mode !== _Mode.Statement) {\n throw new Error(`Expected a statement, but saw ${ast}`);\n }\n}\nfunction ensureExpressionMode(mode, ast) {\n if (mode !== _Mode.Expression) {\n throw new Error(`Expected an expression, but saw ${ast}`);\n }\n}\nfunction convertToStatementIfNeeded(mode, expr) {\n if (mode === _Mode.Statement) {\n return expr.toStmt();\n }\n else {\n return expr;\n }\n}\nclass _BuiltinAstConverter extends AstTransformer$1 {\n constructor(_converterFactory) {\n super();\n this._converterFactory = _converterFactory;\n }\n visitPipe(ast, context) {\n const args = [ast.exp, ...ast.args].map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createPipeConverter(ast.name, args.length));\n }\n visitLiteralArray(ast, context) {\n const args = ast.expressions.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralArrayConverter(ast.expressions.length));\n }\n visitLiteralMap(ast, context) {\n const args = ast.values.map(ast => ast.visit(this, context));\n return new BuiltinFunctionCall(ast.span, ast.sourceSpan, args, this._converterFactory.createLiteralMapConverter(ast.keys));\n }\n}\nclass _AstToIrVisitor {\n constructor(_localResolver, _implicitReceiver, bindingId, interpolationFunction, baseSourceSpan, implicitReceiverAccesses) {\n this._localResolver = _localResolver;\n this._implicitReceiver = _implicitReceiver;\n this.bindingId = bindingId;\n this.interpolationFunction = interpolationFunction;\n this.baseSourceSpan = baseSourceSpan;\n this.implicitReceiverAccesses = implicitReceiverAccesses;\n this._nodeMap = new Map();\n this._resultMap = new Map();\n this._currentTemporary = 0;\n this.temporaryCount = 0;\n this.usesImplicitReceiver = false;\n }\n visitUnary(ast, mode) {\n let op;\n switch (ast.operator) {\n case '+':\n op = UnaryOperator.Plus;\n break;\n case '-':\n op = UnaryOperator.Minus;\n break;\n default:\n throw new Error(`Unsupported operator ${ast.operator}`);\n }\n return convertToStatementIfNeeded(mode, new UnaryOperatorExpr(op, this._visit(ast.expr, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitBinary(ast, mode) {\n let op;\n switch (ast.operation) {\n case '+':\n op = BinaryOperator.Plus;\n break;\n case '-':\n op = BinaryOperator.Minus;\n break;\n case '*':\n op = BinaryOperator.Multiply;\n break;\n case '/':\n op = BinaryOperator.Divide;\n break;\n case '%':\n op = BinaryOperator.Modulo;\n break;\n case '&&':\n op = BinaryOperator.And;\n break;\n case '||':\n op = BinaryOperator.Or;\n break;\n case '==':\n op = BinaryOperator.Equals;\n break;\n case '!=':\n op = BinaryOperator.NotEquals;\n break;\n case '===':\n op = BinaryOperator.Identical;\n break;\n case '!==':\n op = BinaryOperator.NotIdentical;\n break;\n case '<':\n op = BinaryOperator.Lower;\n break;\n case '>':\n op = BinaryOperator.Bigger;\n break;\n case '<=':\n op = BinaryOperator.LowerEquals;\n break;\n case '>=':\n op = BinaryOperator.BiggerEquals;\n break;\n default:\n throw new Error(`Unsupported operation ${ast.operation}`);\n }\n return convertToStatementIfNeeded(mode, new BinaryOperatorExpr(op, this._visit(ast.left, _Mode.Expression), this._visit(ast.right, _Mode.Expression), undefined, this.convertSourceSpan(ast.span)));\n }\n visitChain(ast, mode) {\n ensureStatementMode(mode, ast);\n return this.visitAll(ast.expressions, mode);\n }\n visitConditional(ast, mode) {\n const value = this._visit(ast.condition, _Mode.Expression);\n return convertToStatementIfNeeded(mode, value.conditional(this._visit(ast.trueExp, _Mode.Expression), this._visit(ast.falseExp, _Mode.Expression), this.convertSourceSpan(ast.span)));\n }\n visitPipe(ast, mode) {\n throw new Error(`Illegal state: Pipes should have been converted into functions. Pipe: ${ast.name}`);\n }\n visitFunctionCall(ast, mode) {\n const convertedArgs = this.visitAll(ast.args, _Mode.Expression);\n let fnResult;\n if (ast instanceof BuiltinFunctionCall) {\n fnResult = ast.converter(convertedArgs);\n }\n else {\n fnResult = this._visit(ast.target, _Mode.Expression)\n .callFn(convertedArgs, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, fnResult);\n }\n visitImplicitReceiver(ast, mode) {\n ensureExpressionMode(mode, ast);\n this.usesImplicitReceiver = true;\n return this._implicitReceiver;\n }\n visitThisReceiver(ast, mode) {\n return this.visitImplicitReceiver(ast, mode);\n }\n visitInterpolation(ast, mode) {\n ensureExpressionMode(mode, ast);\n const args = [literal(ast.expressions.length)];\n for (let i = 0; i < ast.strings.length - 1; i++) {\n args.push(literal(ast.strings[i]));\n args.push(this._visit(ast.expressions[i], _Mode.Expression));\n }\n args.push(literal(ast.strings[ast.strings.length - 1]));\n if (this.interpolationFunction) {\n return this.interpolationFunction(args);\n }\n return ast.expressions.length <= 9 ?\n importExpr(Identifiers.inlineInterpolate).callFn(args) :\n importExpr(Identifiers.interpolate).callFn([\n args[0], literalArr(args.slice(1), undefined, this.convertSourceSpan(ast.span))\n ]);\n }\n visitKeyedRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n return convertToStatementIfNeeded(mode, this._visit(ast.obj, _Mode.Expression).key(this._visit(ast.key, _Mode.Expression)));\n }\n }\n visitKeyedWrite(ast, mode) {\n const obj = this._visit(ast.obj, _Mode.Expression);\n const key = this._visit(ast.key, _Mode.Expression);\n const value = this._visit(ast.value, _Mode.Expression);\n return convertToStatementIfNeeded(mode, obj.key(key).set(value));\n }\n visitLiteralArray(ast, mode) {\n throw new Error(`Illegal State: literal arrays should have been converted into functions`);\n }\n visitLiteralMap(ast, mode) {\n throw new Error(`Illegal State: literal maps should have been converted into functions`);\n }\n visitLiteralPrimitive(ast, mode) {\n // For literal values of null, undefined, true, or false allow type interference\n // to infer the type.\n const type = ast.value === null || ast.value === undefined || ast.value === true || ast.value === true ?\n INFERRED_TYPE :\n undefined;\n return convertToStatementIfNeeded(mode, literal(ast.value, type, this.convertSourceSpan(ast.span)));\n }\n _getLocal(name, receiver) {\n var _a;\n if (((_a = this._localResolver.globals) === null || _a === void 0 ? void 0 : _a.has(name)) && receiver instanceof ThisReceiver) {\n return null;\n }\n return this._localResolver.getLocal(name);\n }\n visitMethodCall(ast, mode) {\n if (ast.receiver instanceof ImplicitReceiver &&\n !(ast.receiver instanceof ThisReceiver) && ast.name === '$any') {\n const args = this.visitAll(ast.args, _Mode.Expression);\n if (args.length != 1) {\n throw new Error(`Invalid call to $any, expected 1 argument but received ${args.length || 'none'}`);\n }\n return args[0].cast(DYNAMIC_TYPE, this.convertSourceSpan(ast.span));\n }\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n const args = this.visitAll(ast.args, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let result = null;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n const varExpr = this._getLocal(ast.name, ast.receiver);\n if (varExpr) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n result = varExpr.callFn(args);\n this.addImplicitReceiverAccess(ast.name);\n }\n }\n if (result == null) {\n result = receiver.callMethod(ast.name, args, this.convertSourceSpan(ast.span));\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPrefixNot(ast, mode) {\n return convertToStatementIfNeeded(mode, not(this._visit(ast.expression, _Mode.Expression)));\n }\n visitNonNullAssert(ast, mode) {\n return convertToStatementIfNeeded(mode, assertNotNull(this._visit(ast.expression, _Mode.Expression)));\n }\n visitPropertyRead(ast, mode) {\n const leftMostSafe = this.leftMostSafeNode(ast);\n if (leftMostSafe) {\n return this.convertSafeAccess(ast, leftMostSafe, mode);\n }\n else {\n let result = null;\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n if (receiver === this._implicitReceiver) {\n result = this._getLocal(ast.name, ast.receiver);\n if (result) {\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n this.addImplicitReceiverAccess(ast.name);\n }\n }\n if (result == null) {\n result = receiver.prop(ast.name);\n }\n return convertToStatementIfNeeded(mode, result);\n }\n }\n visitPropertyWrite(ast, mode) {\n const receiver = this._visit(ast.receiver, _Mode.Expression);\n const prevUsesImplicitReceiver = this.usesImplicitReceiver;\n let varExpr = null;\n if (receiver === this._implicitReceiver) {\n const localExpr = this._getLocal(ast.name, ast.receiver);\n if (localExpr) {\n if (localExpr instanceof ReadPropExpr) {\n // If the local variable is a property read expression, it's a reference\n // to a 'context.property' value and will be used as the target of the\n // write expression.\n varExpr = localExpr;\n // Restore the previous \"usesImplicitReceiver\" state since the implicit\n // receiver has been replaced with a resolved local expression.\n this.usesImplicitReceiver = prevUsesImplicitReceiver;\n this.addImplicitReceiverAccess(ast.name);\n }\n else {\n // Otherwise it's an error.\n const receiver = ast.name;\n const value = (ast.value instanceof PropertyRead) ? ast.value.name : undefined;\n throw new Error(`Cannot assign value \"${value}\" to template variable \"${receiver}\". Template variables are read-only.`);\n }\n }\n }\n // If no local expression could be produced, use the original receiver's\n // property as the target.\n if (varExpr === null) {\n varExpr = receiver.prop(ast.name);\n }\n return convertToStatementIfNeeded(mode, varExpr.set(this._visit(ast.value, _Mode.Expression)));\n }\n visitSafePropertyRead(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitSafeMethodCall(ast, mode) {\n return this.convertSafeAccess(ast, this.leftMostSafeNode(ast), mode);\n }\n visitAll(asts, mode) {\n return asts.map(ast => this._visit(ast, mode));\n }\n visitQuote(ast, mode) {\n throw new Error(`Quotes are not supported for evaluation!\n Statement: ${ast.uninterpretedExpression} located at ${ast.location}`);\n }\n _visit(ast, mode) {\n const result = this._resultMap.get(ast);\n if (result)\n return result;\n return (this._nodeMap.get(ast) || ast).visit(this, mode);\n }\n convertSafeAccess(ast, leftMostSafe, mode) {\n // If the expression contains a safe access node on the left it needs to be converted to\n // an expression that guards the access to the member by checking the receiver for blank. As\n // execution proceeds from left to right, the left most part of the expression must be guarded\n // first but, because member access is left associative, the right side of the expression is at\n // the top of the AST. The desired result requires lifting a copy of the left part of the\n // expression up to test it for blank before generating the unguarded version.\n // Consider, for example the following expression: a?.b.c?.d.e\n // This results in the ast:\n // .\n // / \\\n // ?. e\n // / \\\n // . d\n // / \\\n // ?. c\n // / \\\n // a b\n // The following tree should be generated:\n //\n // /---- ? ----\\\n // / | \\\n // a /--- ? ---\\ null\n // / | \\\n // . . null\n // / \\ / \\\n // . c . e\n // / \\ / \\\n // a b . d\n // / \\\n // . c\n // / \\\n // a b\n //\n // Notice that the first guard condition is the left hand of the left most safe access node\n // which comes in as leftMostSafe to this routine.\n let guardedExpression = this._visit(leftMostSafe.receiver, _Mode.Expression);\n let temporary = undefined;\n if (this.needsTemporary(leftMostSafe.receiver)) {\n // If the expression has method calls or pipes then we need to save the result into a\n // temporary variable to avoid calling stateful or impure code more than once.\n temporary = this.allocateTemporary();\n // Preserve the result in the temporary variable\n guardedExpression = temporary.set(guardedExpression);\n // Ensure all further references to the guarded expression refer to the temporary instead.\n this._resultMap.set(leftMostSafe.receiver, temporary);\n }\n const condition = guardedExpression.isBlank();\n // Convert the ast to an unguarded access to the receiver's member. The map will substitute\n // leftMostNode with its unguarded version in the call to `this.visit()`.\n if (leftMostSafe instanceof SafeMethodCall) {\n this._nodeMap.set(leftMostSafe, new MethodCall(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name, leftMostSafe.args));\n }\n else {\n this._nodeMap.set(leftMostSafe, new PropertyRead(leftMostSafe.span, leftMostSafe.sourceSpan, leftMostSafe.nameSpan, leftMostSafe.receiver, leftMostSafe.name));\n }\n // Recursively convert the node now without the guarded member access.\n const access = this._visit(ast, _Mode.Expression);\n // Remove the mapping. This is not strictly required as the converter only traverses each node\n // once but is safer if the conversion is changed to traverse the nodes more than once.\n this._nodeMap.delete(leftMostSafe);\n // If we allocated a temporary, release it.\n if (temporary) {\n this.releaseTemporary(temporary);\n }\n // Produce the conditional\n return convertToStatementIfNeeded(mode, condition.conditional(literal(null), access));\n }\n // Given an expression of the form a?.b.c?.d.e then the left most safe node is\n // the (a?.b). The . and ?. are left associative thus can be rewritten as:\n // ((((a?.c).b).c)?.d).e. This returns the most deeply nested safe read or\n // safe method call as this needs to be transformed initially to:\n // a == null ? null : a.c.b.c?.d.e\n // then to:\n // a == null ? null : a.b.c == null ? null : a.b.c.d.e\n leftMostSafeNode(ast) {\n const visit = (visitor, ast) => {\n return (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n return ast.visit({\n visitUnary(ast) {\n return null;\n },\n visitBinary(ast) {\n return null;\n },\n visitChain(ast) {\n return null;\n },\n visitConditional(ast) {\n return null;\n },\n visitFunctionCall(ast) {\n return null;\n },\n visitImplicitReceiver(ast) {\n return null;\n },\n visitThisReceiver(ast) {\n return null;\n },\n visitInterpolation(ast) {\n return null;\n },\n visitKeyedRead(ast) {\n return visit(this, ast.obj);\n },\n visitKeyedWrite(ast) {\n return null;\n },\n visitLiteralArray(ast) {\n return null;\n },\n visitLiteralMap(ast) {\n return null;\n },\n visitLiteralPrimitive(ast) {\n return null;\n },\n visitMethodCall(ast) {\n return visit(this, ast.receiver);\n },\n visitPipe(ast) {\n return null;\n },\n visitPrefixNot(ast) {\n return null;\n },\n visitNonNullAssert(ast) {\n return null;\n },\n visitPropertyRead(ast) {\n return visit(this, ast.receiver);\n },\n visitPropertyWrite(ast) {\n return null;\n },\n visitQuote(ast) {\n return null;\n },\n visitSafeMethodCall(ast) {\n return visit(this, ast.receiver) || ast;\n },\n visitSafePropertyRead(ast) {\n return visit(this, ast.receiver) || ast;\n }\n });\n }\n // Returns true of the AST includes a method or a pipe indicating that, if the\n // expression is used as the target of a safe property or method access then\n // the expression should be stored into a temporary variable.\n needsTemporary(ast) {\n const visit = (visitor, ast) => {\n return ast && (this._nodeMap.get(ast) || ast).visit(visitor);\n };\n const visitSome = (visitor, ast) => {\n return ast.some(ast => visit(visitor, ast));\n };\n return ast.visit({\n visitUnary(ast) {\n return visit(this, ast.expr);\n },\n visitBinary(ast) {\n return visit(this, ast.left) || visit(this, ast.right);\n },\n visitChain(ast) {\n return false;\n },\n visitConditional(ast) {\n return visit(this, ast.condition) || visit(this, ast.trueExp) || visit(this, ast.falseExp);\n },\n visitFunctionCall(ast) {\n return true;\n },\n visitImplicitReceiver(ast) {\n return false;\n },\n visitThisReceiver(ast) {\n return false;\n },\n visitInterpolation(ast) {\n return visitSome(this, ast.expressions);\n },\n visitKeyedRead(ast) {\n return false;\n },\n visitKeyedWrite(ast) {\n return false;\n },\n visitLiteralArray(ast) {\n return true;\n },\n visitLiteralMap(ast) {\n return true;\n },\n visitLiteralPrimitive(ast) {\n return false;\n },\n visitMethodCall(ast) {\n return true;\n },\n visitPipe(ast) {\n return true;\n },\n visitPrefixNot(ast) {\n return visit(this, ast.expression);\n },\n visitNonNullAssert(ast) {\n return visit(this, ast.expression);\n },\n visitPropertyRead(ast) {\n return false;\n },\n visitPropertyWrite(ast) {\n return false;\n },\n visitQuote(ast) {\n return false;\n },\n visitSafeMethodCall(ast) {\n return true;\n },\n visitSafePropertyRead(ast) {\n return false;\n }\n });\n }\n allocateTemporary() {\n const tempNumber = this._currentTemporary++;\n this.temporaryCount = Math.max(this._currentTemporary, this.temporaryCount);\n return new ReadVarExpr(temporaryName(this.bindingId, tempNumber));\n }\n releaseTemporary(temporary) {\n this._currentTemporary--;\n if (temporary.name != temporaryName(this.bindingId, this._currentTemporary)) {\n throw new Error(`Temporary ${temporary.name} released out of order`);\n }\n }\n /**\n * Creates an absolute `ParseSourceSpan` from the relative `ParseSpan`.\n *\n * `ParseSpan` objects are relative to the start of the expression.\n * This method converts these to full `ParseSourceSpan` objects that\n * show where the span is within the overall source file.\n *\n * @param span the relative span to convert.\n * @returns a `ParseSourceSpan` for the given span or null if no\n * `baseSourceSpan` was provided to this class.\n */\n convertSourceSpan(span) {\n if (this.baseSourceSpan) {\n const start = this.baseSourceSpan.start.moveBy(span.start);\n const end = this.baseSourceSpan.start.moveBy(span.end);\n const fullStart = this.baseSourceSpan.fullStart.moveBy(span.start);\n return new ParseSourceSpan(start, end, fullStart);\n }\n else {\n return null;\n }\n }\n /** Adds the name of an AST to the list of implicit receiver accesses. */\n addImplicitReceiverAccess(name) {\n if (this.implicitReceiverAccesses) {\n this.implicitReceiverAccesses.add(name);\n }\n }\n}\nfunction flattenStatements(arg, output) {\n if (Array.isArray(arg)) {\n arg.forEach((entry) => flattenStatements(entry, output));\n }\n else {\n output.push(arg);\n }\n}\nclass DefaultLocalResolver {\n constructor(globals) {\n this.globals = globals;\n }\n notifyImplicitReceiverUse() { }\n getLocal(name) {\n if (name === EventHandlerVars.event.name) {\n return EventHandlerVars.event;\n }\n return null;\n }\n}\nfunction createCurrValueExpr(bindingId) {\n return variable(`currVal_${bindingId}`); // fix syntax highlighting: `\n}\nfunction createPreventDefaultVar(bindingId) {\n return variable(`pd_${bindingId}`);\n}\nfunction convertStmtIntoExpression(stmt) {\n if (stmt instanceof ExpressionStatement) {\n return stmt.expr;\n }\n else if (stmt instanceof ReturnStatement) {\n return stmt.value;\n }\n return null;\n}\nclass BuiltinFunctionCall extends FunctionCall {\n constructor(span, sourceSpan, args, converter) {\n super(span, sourceSpan, null, args);\n this.args = args;\n this.converter = converter;\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 * This file is a port of shadowCSS from webcomponents.js to TypeScript.\n *\n * Please make sure to keep to edits in sync with the source file.\n *\n * Source:\n * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js\n *\n * The original file level comment is reproduced below\n */\n/*\n This is a limited shim for ShadowDOM css styling.\n https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles\n\n The intention here is to support only the styling features which can be\n relatively simply implemented. The goal is to allow users to avoid the\n most obvious pitfalls and do so without compromising performance significantly.\n For ShadowDOM styling that's not covered here, a set of best practices\n can be provided that should allow users to accomplish more complex styling.\n\n The following is a list of specific ShadowDOM styling features and a brief\n discussion of the approach used to shim.\n\n Shimmed features:\n\n * :host, :host-context: ShadowDOM allows styling of the shadowRoot's host\n element using the :host rule. To shim this feature, the :host styles are\n reformatted and prefixed with a given scope name and promoted to a\n document level stylesheet.\n For example, given a scope name of .foo, a rule like this:\n\n :host {\n background: red;\n }\n }\n\n becomes:\n\n .foo {\n background: red;\n }\n\n * encapsulation: Styles defined within ShadowDOM, apply only to\n dom inside the ShadowDOM. Polymer uses one of two techniques to implement\n this feature.\n\n By default, rules are prefixed with the host element tag name\n as a descendant selector. This ensures styling does not leak out of the 'top'\n of the element's ShadowDOM. For example,\n\n div {\n font-weight: bold;\n }\n\n becomes:\n\n x-foo div {\n font-weight: bold;\n }\n\n becomes:\n\n\n Alternatively, if WebComponents.ShadowCSS.strictStyling is set to true then\n selectors are scoped by adding an attribute selector suffix to each\n simple selector that contains the host element tag name. Each element\n in the element's ShadowDOM template is also given the scope attribute.\n Thus, these rules match only elements that have the scope attribute.\n For example, given a scope name of x-foo, a rule like this:\n\n div {\n font-weight: bold;\n }\n\n becomes:\n\n div[x-foo] {\n font-weight: bold;\n }\n\n Note that elements that are dynamically added to a scope must have the scope\n selector added to them manually.\n\n * upper/lower bound encapsulation: Styles which are defined outside a\n shadowRoot should not cross the ShadowDOM boundary and should not apply\n inside a shadowRoot.\n\n This styling behavior is not emulated. Some possible ways to do this that\n were rejected due to complexity and/or performance concerns include: (1) reset\n every possible property for every possible selector for a given scope name;\n (2) re-implement css in javascript.\n\n As an alternative, users should make sure to use selectors\n specific to the scope in which they are working.\n\n * ::distributed: This behavior is not emulated. It's often not necessary\n to style the contents of a specific insertion point and instead, descendants\n of the host element can be styled selectively. Users can also create an\n extra node around an insertion point and style that node's contents\n via descendent selectors. For example, with a shadowRoot like this:\n\n \n \n\n could become:\n\n \n
\n \n
\n\n Note the use of @polyfill in the comment above a ShadowDOM specific style\n declaration. This is a directive to the styling shim to use the selector\n in comments in lieu of the next selector when running under polyfill.\n*/\nclass ShadowCss {\n constructor() {\n this.strictStyling = true;\n }\n /*\n * Shim some cssText with the given selector. Returns cssText that can\n * be included in the document via WebComponents.ShadowCSS.addCssToDocument(css).\n *\n * When strictStyling is true:\n * - selector is the attribute added to all elements inside the host,\n * - hostSelector is the attribute added to the host itself.\n */\n shimCssText(cssText, selector, hostSelector = '') {\n const commentsWithHash = extractCommentsWithHash(cssText);\n cssText = stripComments(cssText);\n cssText = this._insertDirectives(cssText);\n const scopedCssText = this._scopeCssText(cssText, selector, hostSelector);\n return [scopedCssText, ...commentsWithHash].join('\\n');\n }\n _insertDirectives(cssText) {\n cssText = this._insertPolyfillDirectivesInCssText(cssText);\n return this._insertPolyfillRulesInCssText(cssText);\n }\n /*\n * Process styles to convert native ShadowDOM rules that will trip\n * up the css parser; we rely on decorating the stylesheet with inert rules.\n *\n * For example, we convert this rule:\n *\n * polyfill-next-selector { content: ':host menu-item'; }\n * ::content menu-item {\n *\n * to this:\n *\n * scopeName menu-item {\n *\n **/\n _insertPolyfillDirectivesInCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentNextSelectorRe, function (...m) {\n return m[2] + '{';\n });\n }\n /*\n * Process styles to add rules which will only apply under the polyfill\n *\n * For example, we convert this rule:\n *\n * polyfill-rule {\n * content: ':host menu-item';\n * ...\n * }\n *\n * to this:\n *\n * scopeName menu-item {...}\n *\n **/\n _insertPolyfillRulesInCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n return cssText.replace(_cssContentRuleRe, (...m) => {\n const rule = m[0].replace(m[1], '').replace(m[2], '');\n return m[4] + rule;\n });\n }\n /* Ensure styles are scoped. Pseudo-scoping takes a rule like:\n *\n * .foo {... }\n *\n * and converts this to\n *\n * scopeName .foo { ... }\n */\n _scopeCssText(cssText, scopeSelector, hostSelector) {\n const unscopedRules = this._extractUnscopedRulesFromCssText(cssText);\n // replace :host and :host-context -shadowcsshost and -shadowcsshost respectively\n cssText = this._insertPolyfillHostInCssText(cssText);\n cssText = this._convertColonHost(cssText);\n cssText = this._convertColonHostContext(cssText);\n cssText = this._convertShadowDOMSelectors(cssText);\n if (scopeSelector) {\n cssText = this._scopeSelectors(cssText, scopeSelector, hostSelector);\n }\n cssText = cssText + '\\n' + unscopedRules;\n return cssText.trim();\n }\n /*\n * Process styles to add rules which will only apply under the polyfill\n * and do not process via CSSOM. (CSSOM is destructive to rules on rare\n * occasions, e.g. -webkit-calc on Safari.)\n * For example, we convert this rule:\n *\n * @polyfill-unscoped-rule {\n * content: 'menu-item';\n * ... }\n *\n * to this:\n *\n * menu-item {...}\n *\n **/\n _extractUnscopedRulesFromCssText(cssText) {\n // Difference with webcomponents.js: does not handle comments\n let r = '';\n let m;\n _cssContentUnscopedRuleRe.lastIndex = 0;\n while ((m = _cssContentUnscopedRuleRe.exec(cssText)) !== null) {\n const rule = m[0].replace(m[2], '').replace(m[1], m[4]);\n r += rule + '\\n\\n';\n }\n return r;\n }\n /*\n * convert a rule like :host(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar\n */\n _convertColonHost(cssText) {\n return cssText.replace(_cssColonHostRe, (_, hostSelectors, otherSelectors) => {\n if (hostSelectors) {\n const convertedSelectors = [];\n const hostSelectorArray = hostSelectors.split(',').map(p => p.trim());\n for (const hostSelector of hostSelectorArray) {\n if (!hostSelector)\n break;\n const convertedSelector = _polyfillHostNoCombinator + hostSelector.replace(_polyfillHost, '') + otherSelectors;\n convertedSelectors.push(convertedSelector);\n }\n return convertedSelectors.join(',');\n }\n else {\n return _polyfillHostNoCombinator + otherSelectors;\n }\n });\n }\n /*\n * convert a rule like :host-context(.foo) > .bar { }\n *\n * to\n *\n * .foo > .bar, .foo > .bar { }\n *\n * and\n *\n * :host-context(.foo:host) .bar { ... }\n *\n * to\n *\n * .foo .bar { ... }\n */\n _convertColonHostContext(cssText) {\n return cssText.replace(_cssColonHostContextReGlobal, selectorText => {\n // We have captured a selector that contains a `:host-context` rule.\n var _a;\n // For backward compatibility `:host-context` may contain a comma separated list of selectors.\n // Each context selector group will contain a list of host-context selectors that must match\n // an ancestor of the host.\n // (Normally `contextSelectorGroups` will only contain a single array of context selectors.)\n const contextSelectorGroups = [[]];\n // There may be more than `:host-context` in this selector so `selectorText` could look like:\n // `:host-context(.one):host-context(.two)`.\n // Execute `_cssColonHostContextRe` over and over until we have extracted all the\n // `:host-context` selectors from this selector.\n let match;\n while (match = _cssColonHostContextRe.exec(selectorText)) {\n // `match` = [':host-context()', , ]\n // The `` could actually be a comma separated list: `:host-context(.one, .two)`.\n const newContextSelectors = ((_a = match[1]) !== null && _a !== void 0 ? _a : '').trim().split(',').map(m => m.trim()).filter(m => m !== '');\n // We must duplicate the current selector group for each of these new selectors.\n // For example if the current groups are:\n // ```\n // [\n // ['a', 'b', 'c'],\n // ['x', 'y', 'z'],\n // ]\n // ```\n // And we have a new set of comma separated selectors: `:host-context(m,n)` then the new\n // groups are:\n // ```\n // [\n // ['a', 'b', 'c', 'm'],\n // ['x', 'y', 'z', 'm'],\n // ['a', 'b', 'c', 'n'],\n // ['x', 'y', 'z', 'n'],\n // ]\n // ```\n const contextSelectorGroupsLength = contextSelectorGroups.length;\n repeatGroups(contextSelectorGroups, newContextSelectors.length);\n for (let i = 0; i < newContextSelectors.length; i++) {\n for (let j = 0; j < contextSelectorGroupsLength; j++) {\n contextSelectorGroups[j + (i * contextSelectorGroupsLength)].push(newContextSelectors[i]);\n }\n }\n // Update the `selectorText` and see repeat to see if there are more `:host-context`s.\n selectorText = match[2];\n }\n // The context selectors now must be combined with each other to capture all the possible\n // selectors that `:host-context` can match. See `combineHostContextSelectors()` for more\n // info about how this is done.\n return contextSelectorGroups\n .map(contextSelectors => combineHostContextSelectors(contextSelectors, selectorText))\n .join(', ');\n });\n }\n /*\n * Convert combinators like ::shadow and pseudo-elements like ::content\n * by replacing with space.\n */\n _convertShadowDOMSelectors(cssText) {\n return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, ' '), cssText);\n }\n // change a selector like 'div' to 'name div'\n _scopeSelectors(cssText, scopeSelector, hostSelector) {\n return processRules(cssText, (rule) => {\n let selector = rule.selector;\n let content = rule.content;\n if (rule.selector[0] != '@') {\n selector =\n this._scopeSelector(rule.selector, scopeSelector, hostSelector, this.strictStyling);\n }\n else if (rule.selector.startsWith('@media') || rule.selector.startsWith('@supports') ||\n rule.selector.startsWith('@page') || rule.selector.startsWith('@document')) {\n content = this._scopeSelectors(rule.content, scopeSelector, hostSelector);\n }\n return new CssRule(selector, content);\n });\n }\n _scopeSelector(selector, scopeSelector, hostSelector, strict) {\n return selector.split(',')\n .map(part => part.trim().split(_shadowDeepSelectors))\n .map((deepParts) => {\n const [shallowPart, ...otherParts] = deepParts;\n const applyScope = (shallowPart) => {\n if (this._selectorNeedsScoping(shallowPart, scopeSelector)) {\n return strict ?\n this._applyStrictSelectorScope(shallowPart, scopeSelector, hostSelector) :\n this._applySelectorScope(shallowPart, scopeSelector, hostSelector);\n }\n else {\n return shallowPart;\n }\n };\n return [applyScope(shallowPart), ...otherParts].join(' ');\n })\n .join(', ');\n }\n _selectorNeedsScoping(selector, scopeSelector) {\n const re = this._makeScopeMatcher(scopeSelector);\n return !re.test(selector);\n }\n _makeScopeMatcher(scopeSelector) {\n const lre = /\\[/g;\n const rre = /\\]/g;\n scopeSelector = scopeSelector.replace(lre, '\\\\[').replace(rre, '\\\\]');\n return new RegExp('^(' + scopeSelector + ')' + _selectorReSuffix, 'm');\n }\n _applySelectorScope(selector, scopeSelector, hostSelector) {\n // Difference from webcomponents.js: scopeSelector could not be an array\n return this._applySimpleSelectorScope(selector, scopeSelector, hostSelector);\n }\n // scope via name and [is=name]\n _applySimpleSelectorScope(selector, scopeSelector, hostSelector) {\n // In Android browser, the lastIndex is not reset when the regex is used in String.replace()\n _polyfillHostRe.lastIndex = 0;\n if (_polyfillHostRe.test(selector)) {\n const replaceBy = this.strictStyling ? `[${hostSelector}]` : scopeSelector;\n return selector\n .replace(_polyfillHostNoCombinatorRe, (hnc, selector) => {\n return selector.replace(/([^:]*)(:*)(.*)/, (_, before, colon, after) => {\n return before + replaceBy + colon + after;\n });\n })\n .replace(_polyfillHostRe, replaceBy + ' ');\n }\n return scopeSelector + ' ' + selector;\n }\n // return a selector with [name] suffix on each simple selector\n // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] /** @internal */\n _applyStrictSelectorScope(selector, scopeSelector, hostSelector) {\n const isRe = /\\[is=([^\\]]*)\\]/g;\n scopeSelector = scopeSelector.replace(isRe, (_, ...parts) => parts[0]);\n const attrName = '[' + scopeSelector + ']';\n const _scopeSelectorPart = (p) => {\n let scopedP = p.trim();\n if (!scopedP) {\n return '';\n }\n if (p.indexOf(_polyfillHostNoCombinator) > -1) {\n scopedP = this._applySimpleSelectorScope(p, scopeSelector, hostSelector);\n }\n else {\n // remove :host since it should be unnecessary\n const t = p.replace(_polyfillHostRe, '');\n if (t.length > 0) {\n const matches = t.match(/([^:]*)(:*)(.*)/);\n if (matches) {\n scopedP = matches[1] + attrName + matches[2] + matches[3];\n }\n }\n }\n return scopedP;\n };\n const safeContent = new SafeSelector(selector);\n selector = safeContent.content();\n let scopedSelector = '';\n let startIndex = 0;\n let res;\n const sep = /( |>|\\+|~(?!=))\\s*/g;\n // If a selector appears before :host it should not be shimmed as it\n // matches on ancestor elements and not on elements in the host's shadow\n // `:host-context(div)` is transformed to\n // `-shadowcsshost-no-combinatordiv, div -shadowcsshost-no-combinator`\n // the `div` is not part of the component in the 2nd selectors and should not be scoped.\n // Historically `component-tag:host` was matching the component so we also want to preserve\n // this behavior to avoid breaking legacy apps (it should not match).\n // The behavior should be:\n // - `tag:host` -> `tag[h]` (this is to avoid breaking legacy apps, should not match anything)\n // - `tag :host` -> `tag [h]` (`tag` is not scoped because it's considered part of a\n // `:host-context(tag)`)\n const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;\n // Only scope parts after the first `-shadowcsshost-no-combinator` when it is present\n let shouldScope = !hasHost;\n while ((res = sep.exec(selector)) !== null) {\n const separator = res[1];\n const part = selector.slice(startIndex, res.index).trim();\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n const scopedPart = shouldScope ? _scopeSelectorPart(part) : part;\n scopedSelector += `${scopedPart} ${separator} `;\n startIndex = sep.lastIndex;\n }\n const part = selector.substring(startIndex);\n shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;\n scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;\n // replace the placeholders with their original values\n return safeContent.restore(scopedSelector);\n }\n _insertPolyfillHostInCssText(selector) {\n return selector.replace(_colonHostContextRe, _polyfillHostContext)\n .replace(_colonHostRe, _polyfillHost);\n }\n}\nclass SafeSelector {\n constructor(selector) {\n this.placeholders = [];\n this.index = 0;\n // Replaces attribute selectors with placeholders.\n // The WS in [attr=\"va lue\"] would otherwise be interpreted as a selector separator.\n selector = this._escapeRegexMatches(selector, /(\\[[^\\]]*\\])/g);\n // CSS allows for certain special characters to be used in selectors if they're escaped.\n // E.g. `.foo:blue` won't match a class called `foo:blue`, because the colon denotes a\n // pseudo-class, but writing `.foo\\:blue` will match, because the colon was escaped.\n // Replace all escape sequences (`\\` followed by a character) with a placeholder so\n // that our handling of pseudo-selectors doesn't mess with them.\n selector = this._escapeRegexMatches(selector, /(\\\\.)/g);\n // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.\n // WS and \"+\" would otherwise be interpreted as selector separators.\n this._content = selector.replace(/(:nth-[-\\w]+)(\\([^)]+\\))/g, (_, pseudo, exp) => {\n const replaceBy = `__ph-${this.index}__`;\n this.placeholders.push(exp);\n this.index++;\n return pseudo + replaceBy;\n });\n }\n restore(content) {\n return content.replace(/__ph-(\\d+)__/g, (_ph, index) => this.placeholders[+index]);\n }\n content() {\n return this._content;\n }\n /**\n * Replaces all of the substrings that match a regex within a\n * special string (e.g. `__ph-0__`, `__ph-1__`, etc).\n */\n _escapeRegexMatches(content, pattern) {\n return content.replace(pattern, (_, keep) => {\n const replaceBy = `__ph-${this.index}__`;\n this.placeholders.push(keep);\n this.index++;\n return replaceBy;\n });\n }\n}\nconst _cssContentNextSelectorRe = /polyfill-next-selector[^}]*content:[\\s]*?(['\"])(.*?)\\1[;\\s]*}([^{]*?){/gim;\nconst _cssContentRuleRe = /(polyfill-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nconst _cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content:[\\s]*(['\"])(.*?)\\3)[;\\s]*[^}]*}/gim;\nconst _polyfillHost = '-shadowcsshost';\n// note: :host-context pre-processed to -shadowcsshostcontext.\nconst _polyfillHostContext = '-shadowcsscontext';\nconst _parenSuffix = '(?:\\\\((' +\n '(?:\\\\([^)(]*\\\\)|[^)(]*)+?' +\n ')\\\\))?([^,{]*)';\nconst _cssColonHostRe = new RegExp(_polyfillHost + _parenSuffix, 'gim');\nconst _cssColonHostContextReGlobal = new RegExp(_polyfillHostContext + _parenSuffix, 'gim');\nconst _cssColonHostContextRe = new RegExp(_polyfillHostContext + _parenSuffix, 'im');\nconst _polyfillHostNoCombinator = _polyfillHost + '-no-combinator';\nconst _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\\s]*)/;\nconst _shadowDOMSelectorsRe = [\n /::shadow/g,\n /::content/g,\n // Deprecated selectors\n /\\/shadow-deep\\//g,\n /\\/shadow\\//g,\n];\n// The deep combinator is deprecated in the CSS spec\n// Support for `>>>`, `deep`, `::ng-deep` is then also deprecated and will be removed in the future.\n// see https://github.com/angular/angular/pull/17677\nconst _shadowDeepSelectors = /(?:>>>)|(?:\\/deep\\/)|(?:::ng-deep)/g;\nconst _selectorReSuffix = '([>\\\\s~+\\[.,{:][\\\\s\\\\S]*)?$';\nconst _polyfillHostRe = /-shadowcsshost/gim;\nconst _colonHostRe = /:host/gim;\nconst _colonHostContextRe = /:host-context/gim;\nconst _commentRe = /\\/\\*\\s*[\\s\\S]*?\\*\\//g;\nfunction stripComments(input) {\n return input.replace(_commentRe, '');\n}\nconst _commentWithHashRe = /\\/\\*\\s*#\\s*source(Mapping)?URL=[\\s\\S]+?\\*\\//g;\nfunction extractCommentsWithHash(input) {\n return input.match(_commentWithHashRe) || [];\n}\nconst BLOCK_PLACEHOLDER = '%BLOCK%';\nconst QUOTE_PLACEHOLDER = '%QUOTED%';\nconst _ruleRe = /(\\s*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))/g;\nconst _quotedRe = /%QUOTED%/g;\nconst CONTENT_PAIRS = new Map([['{', '}']]);\nconst QUOTE_PAIRS = new Map([[`\"`, `\"`], [`'`, `'`]]);\nclass CssRule {\n constructor(selector, content) {\n this.selector = selector;\n this.content = content;\n }\n}\nfunction processRules(input, ruleCallback) {\n const inputWithEscapedQuotes = escapeBlocks(input, QUOTE_PAIRS, QUOTE_PLACEHOLDER);\n const inputWithEscapedBlocks = escapeBlocks(inputWithEscapedQuotes.escapedString, CONTENT_PAIRS, BLOCK_PLACEHOLDER);\n let nextBlockIndex = 0;\n let nextQuoteIndex = 0;\n return inputWithEscapedBlocks.escapedString\n .replace(_ruleRe, (...m) => {\n const selector = m[2];\n let content = '';\n let suffix = m[4];\n let contentPrefix = '';\n if (suffix && suffix.startsWith('{' + BLOCK_PLACEHOLDER)) {\n content = inputWithEscapedBlocks.blocks[nextBlockIndex++];\n suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1);\n contentPrefix = '{';\n }\n const rule = ruleCallback(new CssRule(selector, content));\n return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`;\n })\n .replace(_quotedRe, () => inputWithEscapedQuotes.blocks[nextQuoteIndex++]);\n}\nclass StringWithEscapedBlocks {\n constructor(escapedString, blocks) {\n this.escapedString = escapedString;\n this.blocks = blocks;\n }\n}\nfunction escapeBlocks(input, charPairs, placeholder) {\n const resultParts = [];\n const escapedBlocks = [];\n let openCharCount = 0;\n let nonBlockStartIndex = 0;\n let blockStartIndex = -1;\n let openChar;\n let closeChar;\n for (let i = 0; i < input.length; i++) {\n const char = input[i];\n if (char === '\\\\') {\n i++;\n }\n else if (char === closeChar) {\n openCharCount--;\n if (openCharCount === 0) {\n escapedBlocks.push(input.substring(blockStartIndex, i));\n resultParts.push(placeholder);\n nonBlockStartIndex = i;\n blockStartIndex = -1;\n openChar = closeChar = undefined;\n }\n }\n else if (char === openChar) {\n openCharCount++;\n }\n else if (openCharCount === 0 && charPairs.has(char)) {\n openChar = char;\n closeChar = charPairs.get(char);\n openCharCount = 1;\n blockStartIndex = i + 1;\n resultParts.push(input.substring(nonBlockStartIndex, blockStartIndex));\n }\n }\n if (blockStartIndex !== -1) {\n escapedBlocks.push(input.substring(blockStartIndex));\n resultParts.push(placeholder);\n }\n else {\n resultParts.push(input.substring(nonBlockStartIndex));\n }\n return new StringWithEscapedBlocks(resultParts.join(''), escapedBlocks);\n}\n/**\n * Combine the `contextSelectors` with the `hostMarker` and the `otherSelectors`\n * to create a selector that matches the same as `:host-context()`.\n *\n * Given a single context selector `A` we need to output selectors that match on the host and as an\n * ancestor of the host:\n *\n * ```\n * A , A {}\n * ```\n *\n * When there is more than one context selector we also have to create combinations of those\n * selectors with each other. For example if there are `A` and `B` selectors the output is:\n *\n * ```\n * AB, AB , A B,\n * B A, A B , B A {}\n * ```\n *\n * And so on...\n *\n * @param hostMarker the string that selects the host element.\n * @param contextSelectors an array of context selectors that will be combined.\n * @param otherSelectors the rest of the selectors that are not context selectors.\n */\nfunction combineHostContextSelectors(contextSelectors, otherSelectors) {\n const hostMarker = _polyfillHostNoCombinator;\n const otherSelectorsHasHost = _polyfillHostRe.test(otherSelectors);\n // If there are no context selectors then just output a host marker\n if (contextSelectors.length === 0) {\n return hostMarker + otherSelectors;\n }\n const combined = [contextSelectors.pop() || ''];\n while (contextSelectors.length > 0) {\n const length = combined.length;\n const contextSelector = contextSelectors.pop();\n for (let i = 0; i < length; i++) {\n const previousSelectors = combined[i];\n // Add the new selector as a descendant of the previous selectors\n combined[length * 2 + i] = previousSelectors + ' ' + contextSelector;\n // Add the new selector as an ancestor of the previous selectors\n combined[length + i] = contextSelector + ' ' + previousSelectors;\n // Add the new selector to act on the same element as the previous selectors\n combined[i] = contextSelector + previousSelectors;\n }\n }\n // Finally connect the selector to the `hostMarker`s: either acting directly on the host\n // (A) or as an ancestor (A ).\n return combined\n .map(s => otherSelectorsHasHost ?\n `${s}${otherSelectors}` :\n `${s}${hostMarker}${otherSelectors}, ${s} ${hostMarker}${otherSelectors}`)\n .join(',');\n}\n/**\n * Mutate the given `groups` array so that there are `multiples` clones of the original array\n * stored.\n *\n * For example `repeatGroups([a, b], 3)` will result in `[a, b, a, b, a, b]` - but importantly the\n * newly added groups will be clones of the original.\n *\n * @param groups An array of groups of strings that will be repeated. This array is mutated\n * in-place.\n * @param multiples The number of times the current groups should appear.\n */\nfunction repeatGroups(groups, multiples) {\n const length = groups.length;\n for (let i = 1; i < multiples; i++) {\n for (let j = 0; j < length; j++) {\n groups[j + (i * length)] = groups[j].slice(0);\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 */\nconst COMPONENT_VARIABLE = '%COMP%';\nconst HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;\nconst CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;\nclass StylesCompileDependency {\n constructor(name, moduleUrl, setValue) {\n this.name = name;\n this.moduleUrl = moduleUrl;\n this.setValue = setValue;\n }\n}\nclass CompiledStylesheet {\n constructor(outputCtx, stylesVar, dependencies, isShimmed, meta) {\n this.outputCtx = outputCtx;\n this.stylesVar = stylesVar;\n this.dependencies = dependencies;\n this.isShimmed = isShimmed;\n this.meta = meta;\n }\n}\nclass StyleCompiler {\n constructor(_urlResolver) {\n this._urlResolver = _urlResolver;\n this._shadowCss = new ShadowCss();\n }\n compileComponent(outputCtx, comp) {\n const template = comp.template;\n return this._compileStyles(outputCtx, comp, new CompileStylesheetMetadata({\n styles: template.styles,\n styleUrls: template.styleUrls,\n moduleUrl: identifierModuleUrl(comp.type)\n }), this.needsStyleShim(comp), true);\n }\n compileStyles(outputCtx, comp, stylesheet, shim = this.needsStyleShim(comp)) {\n return this._compileStyles(outputCtx, comp, stylesheet, shim, false);\n }\n needsStyleShim(comp) {\n return comp.template.encapsulation === ViewEncapsulation.Emulated;\n }\n _compileStyles(outputCtx, comp, stylesheet, shim, isComponentStylesheet) {\n const styleExpressions = stylesheet.styles.map(plainStyle => literal(this._shimIfNeeded(plainStyle, shim)));\n const dependencies = [];\n stylesheet.styleUrls.forEach((styleUrl) => {\n const exprIndex = styleExpressions.length;\n // Note: This placeholder will be filled later.\n styleExpressions.push(null);\n dependencies.push(new StylesCompileDependency(getStylesVarName(null), styleUrl, (value) => styleExpressions[exprIndex] = outputCtx.importExpr(value)));\n });\n // styles variable contains plain strings and arrays of other styles arrays (recursive),\n // so we set its type to dynamic.\n const stylesVar = getStylesVarName(isComponentStylesheet ? comp : null);\n const stmt = variable(stylesVar)\n .set(literalArr(styleExpressions, new ArrayType(DYNAMIC_TYPE, [TypeModifier.Const])))\n .toDeclStmt(null, isComponentStylesheet ? [StmtModifier.Final] : [\n StmtModifier.Final, StmtModifier.Exported\n ]);\n outputCtx.statements.push(stmt);\n return new CompiledStylesheet(outputCtx, stylesVar, dependencies, shim, stylesheet);\n }\n _shimIfNeeded(style, shim) {\n return shim ? this._shadowCss.shimCssText(style, CONTENT_ATTR, HOST_ATTR) : style;\n }\n}\nfunction getStylesVarName(component) {\n let result = `styles`;\n if (component) {\n result += `_${identifierName(component.type)}`;\n }\n return result;\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 path is an ordered set of elements. Typically a path is to a\n * particular offset in a source file. The head of the list is the top\n * most node. The tail is the node that contains the offset directly.\n *\n * For example, the expression `a + b + c` might have an ast that looks\n * like:\n * +\n * / \\\n * a +\n * / \\\n * b c\n *\n * The path to the node at offset 9 would be `['+' at 1-10, '+' at 7-10,\n * 'c' at 9-10]` and the path the node at offset 1 would be\n * `['+' at 1-10, 'a' at 1-2]`.\n */\nclass AstPath {\n constructor(path, position = -1) {\n this.path = path;\n this.position = position;\n }\n get empty() {\n return !this.path || !this.path.length;\n }\n get head() {\n return this.path[0];\n }\n get tail() {\n return this.path[this.path.length - 1];\n }\n parentOf(node) {\n return node && this.path[this.path.indexOf(node) - 1];\n }\n childOf(node) {\n return this.path[this.path.indexOf(node) + 1];\n }\n first(ctor) {\n for (let i = this.path.length - 1; i >= 0; i--) {\n let item = this.path[i];\n if (item instanceof ctor)\n return item;\n }\n }\n push(node) {\n this.path.push(node);\n }\n pop() {\n return this.path.pop();\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 */\nclass NodeWithI18n {\n constructor(sourceSpan, i18n) {\n this.sourceSpan = sourceSpan;\n this.i18n = i18n;\n }\n}\nclass Text$3 extends NodeWithI18n {\n constructor(value, sourceSpan, i18n) {\n super(sourceSpan, i18n);\n this.value = value;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\nclass Expansion extends NodeWithI18n {\n constructor(switchValue, type, cases, sourceSpan, switchValueSourceSpan, i18n) {\n super(sourceSpan, i18n);\n this.switchValue = switchValue;\n this.type = type;\n this.cases = cases;\n this.switchValueSourceSpan = switchValueSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitExpansion(this, context);\n }\n}\nclass ExpansionCase {\n constructor(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {\n this.value = value;\n this.expression = expression;\n this.sourceSpan = sourceSpan;\n this.valueSourceSpan = valueSourceSpan;\n this.expSourceSpan = expSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitExpansionCase(this, context);\n }\n}\nclass Attribute extends NodeWithI18n {\n constructor(name, value, sourceSpan, keySpan, valueSpan, i18n) {\n super(sourceSpan, i18n);\n this.name = name;\n this.value = value;\n this.keySpan = keySpan;\n this.valueSpan = valueSpan;\n }\n visit(visitor, context) {\n return visitor.visitAttribute(this, context);\n }\n}\nclass Element$1 extends NodeWithI18n {\n constructor(name, attrs, children, sourceSpan, startSourceSpan, endSourceSpan = null, i18n) {\n super(sourceSpan, i18n);\n this.name = name;\n this.attrs = attrs;\n this.children = children;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitElement(this, context);\n }\n}\nclass Comment {\n constructor(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitComment(this, context);\n }\n}\nfunction visitAll$1(visitor, nodes, context = null) {\n const result = [];\n const visit = visitor.visit ?\n (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :\n (ast) => ast.visit(visitor, context);\n nodes.forEach(ast => {\n const astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n}\nclass RecursiveVisitor$1 {\n constructor() { }\n visitElement(ast, context) {\n this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.children);\n });\n }\n visitAttribute(ast, context) { }\n visitText(ast, context) { }\n visitComment(ast, context) { }\n visitExpansion(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.cases);\n });\n }\n visitExpansionCase(ast, context) { }\n visitChildren(context, cb) {\n let results = [];\n let t = this;\n function visit(children) {\n if (children)\n results.push(visitAll$1(t, children, context));\n }\n cb(visit);\n return Array.prototype.concat.apply([], results);\n }\n}\nfunction spanOf(ast) {\n const start = ast.sourceSpan.start.offset;\n let end = ast.sourceSpan.end.offset;\n if (ast instanceof Element$1) {\n if (ast.endSourceSpan) {\n end = ast.endSourceSpan.end.offset;\n }\n else if (ast.children && ast.children.length) {\n end = spanOf(ast.children[ast.children.length - 1]).end;\n }\n }\n return { start, end };\n}\nfunction findNode(nodes, position) {\n const path = [];\n const visitor = new class extends RecursiveVisitor$1 {\n visit(ast, context) {\n const span = spanOf(ast);\n if (span.start <= position && position < span.end) {\n path.push(ast);\n }\n else {\n // Returning a value here will result in the children being skipped.\n return true;\n }\n }\n };\n visitAll$1(visitor, nodes);\n return new AstPath(path, position);\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 */\nvar TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"TAG_OPEN_START\"] = 0] = \"TAG_OPEN_START\";\n TokenType[TokenType[\"TAG_OPEN_END\"] = 1] = \"TAG_OPEN_END\";\n TokenType[TokenType[\"TAG_OPEN_END_VOID\"] = 2] = \"TAG_OPEN_END_VOID\";\n TokenType[TokenType[\"TAG_CLOSE\"] = 3] = \"TAG_CLOSE\";\n TokenType[TokenType[\"INCOMPLETE_TAG_OPEN\"] = 4] = \"INCOMPLETE_TAG_OPEN\";\n TokenType[TokenType[\"TEXT\"] = 5] = \"TEXT\";\n TokenType[TokenType[\"ESCAPABLE_RAW_TEXT\"] = 6] = \"ESCAPABLE_RAW_TEXT\";\n TokenType[TokenType[\"RAW_TEXT\"] = 7] = \"RAW_TEXT\";\n TokenType[TokenType[\"COMMENT_START\"] = 8] = \"COMMENT_START\";\n TokenType[TokenType[\"COMMENT_END\"] = 9] = \"COMMENT_END\";\n TokenType[TokenType[\"CDATA_START\"] = 10] = \"CDATA_START\";\n TokenType[TokenType[\"CDATA_END\"] = 11] = \"CDATA_END\";\n TokenType[TokenType[\"ATTR_NAME\"] = 12] = \"ATTR_NAME\";\n TokenType[TokenType[\"ATTR_QUOTE\"] = 13] = \"ATTR_QUOTE\";\n TokenType[TokenType[\"ATTR_VALUE\"] = 14] = \"ATTR_VALUE\";\n TokenType[TokenType[\"DOC_TYPE\"] = 15] = \"DOC_TYPE\";\n TokenType[TokenType[\"EXPANSION_FORM_START\"] = 16] = \"EXPANSION_FORM_START\";\n TokenType[TokenType[\"EXPANSION_CASE_VALUE\"] = 17] = \"EXPANSION_CASE_VALUE\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_START\"] = 18] = \"EXPANSION_CASE_EXP_START\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_END\"] = 19] = \"EXPANSION_CASE_EXP_END\";\n TokenType[TokenType[\"EXPANSION_FORM_END\"] = 20] = \"EXPANSION_FORM_END\";\n TokenType[TokenType[\"EOF\"] = 21] = \"EOF\";\n})(TokenType || (TokenType = {}));\nclass Token {\n constructor(type, parts, sourceSpan) {\n this.type = type;\n this.parts = parts;\n this.sourceSpan = sourceSpan;\n }\n}\nclass TokenError extends ParseError {\n constructor(errorMsg, tokenType, span) {\n super(span, errorMsg);\n this.tokenType = tokenType;\n }\n}\nclass TokenizeResult {\n constructor(tokens, errors, nonNormalizedIcuExpressions) {\n this.tokens = tokens;\n this.errors = errors;\n this.nonNormalizedIcuExpressions = nonNormalizedIcuExpressions;\n }\n}\nfunction tokenize(source, url, getTagDefinition, options = {}) {\n const tokenizer = new _Tokenizer(new ParseSourceFile(source, url), getTagDefinition, options);\n tokenizer.tokenize();\n return new TokenizeResult(mergeTextTokens(tokenizer.tokens), tokenizer.errors, tokenizer.nonNormalizedIcuExpressions);\n}\nconst _CR_OR_CRLF_REGEXP = /\\r\\n?/g;\nfunction _unexpectedCharacterErrorMsg(charCode) {\n const char = charCode === $EOF ? 'EOF' : String.fromCharCode(charCode);\n return `Unexpected character \"${char}\"`;\n}\nfunction _unknownEntityErrorMsg(entitySrc) {\n return `Unknown entity \"${entitySrc}\" - use the \"&#;\" or \"&#x;\" syntax`;\n}\nfunction _unparsableEntityErrorMsg(type, entityStr) {\n return `Unable to parse entity \"${entityStr}\" - ${type} character reference entities must end with \";\"`;\n}\nvar CharacterReferenceType;\n(function (CharacterReferenceType) {\n CharacterReferenceType[\"HEX\"] = \"hexadecimal\";\n CharacterReferenceType[\"DEC\"] = \"decimal\";\n})(CharacterReferenceType || (CharacterReferenceType = {}));\nclass _ControlFlowError {\n constructor(error) {\n this.error = error;\n }\n}\n// See https://www.w3.org/TR/html51/syntax.html#writing-html-documents\nclass _Tokenizer {\n /**\n * @param _file The html source file being tokenized.\n * @param _getTagDefinition A function that will retrieve a tag definition for a given tag name.\n * @param options Configuration of the tokenization.\n */\n constructor(_file, _getTagDefinition, options) {\n this._getTagDefinition = _getTagDefinition;\n this._currentTokenStart = null;\n this._currentTokenType = null;\n this._expansionCaseStack = [];\n this._inInterpolation = false;\n this.tokens = [];\n this.errors = [];\n this.nonNormalizedIcuExpressions = [];\n this._tokenizeIcu = options.tokenizeExpansionForms || false;\n this._interpolationConfig = options.interpolationConfig || DEFAULT_INTERPOLATION_CONFIG;\n this._leadingTriviaCodePoints =\n options.leadingTriviaChars && options.leadingTriviaChars.map(c => c.codePointAt(0) || 0);\n const range = options.range || { endPos: _file.content.length, startPos: 0, startLine: 0, startCol: 0 };\n this._cursor = options.escapedString ? new EscapedCharacterCursor(_file, range) :\n new PlainCharacterCursor(_file, range);\n this._preserveLineEndings = options.preserveLineEndings || false;\n this._escapedString = options.escapedString || false;\n this._i18nNormalizeLineEndingsInICUs = options.i18nNormalizeLineEndingsInICUs || false;\n try {\n this._cursor.init();\n }\n catch (e) {\n this.handleError(e);\n }\n }\n _processCarriageReturns(content) {\n if (this._preserveLineEndings) {\n return content;\n }\n // https://www.w3.org/TR/html51/syntax.html#preprocessing-the-input-stream\n // In order to keep the original position in the source, we can not\n // pre-process it.\n // Instead CRs are processed right before instantiating the tokens.\n return content.replace(_CR_OR_CRLF_REGEXP, '\\n');\n }\n tokenize() {\n while (this._cursor.peek() !== $EOF) {\n const start = this._cursor.clone();\n try {\n if (this._attemptCharCode($LT)) {\n if (this._attemptCharCode($BANG)) {\n if (this._attemptCharCode($LBRACKET)) {\n this._consumeCdata(start);\n }\n else if (this._attemptCharCode($MINUS)) {\n this._consumeComment(start);\n }\n else {\n this._consumeDocType(start);\n }\n }\n else if (this._attemptCharCode($SLASH)) {\n this._consumeTagClose(start);\n }\n else {\n this._consumeTagOpen(start);\n }\n }\n else if (!(this._tokenizeIcu && this._tokenizeExpansionForm())) {\n this._consumeText();\n }\n }\n catch (e) {\n this.handleError(e);\n }\n }\n this._beginToken(TokenType.EOF);\n this._endToken([]);\n }\n /**\n * @returns whether an ICU token has been created\n * @internal\n */\n _tokenizeExpansionForm() {\n if (this.isExpansionFormStart()) {\n this._consumeExpansionFormStart();\n return true;\n }\n if (isExpansionCaseStart(this._cursor.peek()) && this._isInExpansionForm()) {\n this._consumeExpansionCaseStart();\n return true;\n }\n if (this._cursor.peek() === $RBRACE) {\n if (this._isInExpansionCase()) {\n this._consumeExpansionCaseEnd();\n return true;\n }\n if (this._isInExpansionForm()) {\n this._consumeExpansionFormEnd();\n return true;\n }\n }\n return false;\n }\n _beginToken(type, start = this._cursor.clone()) {\n this._currentTokenStart = start;\n this._currentTokenType = type;\n }\n _endToken(parts, end) {\n if (this._currentTokenStart === null) {\n throw new TokenError('Programming error - attempted to end a token when there was no start to the token', this._currentTokenType, this._cursor.getSpan(end));\n }\n if (this._currentTokenType === null) {\n throw new TokenError('Programming error - attempted to end a token which has no token type', null, this._cursor.getSpan(this._currentTokenStart));\n }\n const token = new Token(this._currentTokenType, parts, this._cursor.getSpan(this._currentTokenStart, this._leadingTriviaCodePoints));\n this.tokens.push(token);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return token;\n }\n _createError(msg, span) {\n if (this._isInExpansionForm()) {\n msg += ` (Do you have an unescaped \"{\" in your template? Use \"{{ '{' }}\") to escape it.)`;\n }\n const error = new TokenError(msg, this._currentTokenType, span);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return new _ControlFlowError(error);\n }\n handleError(e) {\n if (e instanceof CursorError) {\n e = this._createError(e.msg, this._cursor.getSpan(e.cursor));\n }\n if (e instanceof _ControlFlowError) {\n this.errors.push(e.error);\n }\n else {\n throw e;\n }\n }\n _attemptCharCode(charCode) {\n if (this._cursor.peek() === charCode) {\n this._cursor.advance();\n return true;\n }\n return false;\n }\n _attemptCharCodeCaseInsensitive(charCode) {\n if (compareCharCodeCaseInsensitive(this._cursor.peek(), charCode)) {\n this._cursor.advance();\n return true;\n }\n return false;\n }\n _requireCharCode(charCode) {\n const location = this._cursor.clone();\n if (!this._attemptCharCode(charCode)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));\n }\n }\n _attemptStr(chars) {\n const len = chars.length;\n if (this._cursor.charsLeft() < len) {\n return false;\n }\n const initialPosition = this._cursor.clone();\n for (let i = 0; i < len; i++) {\n if (!this._attemptCharCode(chars.charCodeAt(i))) {\n // If attempting to parse the string fails, we want to reset the parser\n // to where it was before the attempt\n this._cursor = initialPosition;\n return false;\n }\n }\n return true;\n }\n _attemptStrCaseInsensitive(chars) {\n for (let i = 0; i < chars.length; i++) {\n if (!this._attemptCharCodeCaseInsensitive(chars.charCodeAt(i))) {\n return false;\n }\n }\n return true;\n }\n _requireStr(chars) {\n const location = this._cursor.clone();\n if (!this._attemptStr(chars)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(location));\n }\n }\n _attemptCharCodeUntilFn(predicate) {\n while (!predicate(this._cursor.peek())) {\n this._cursor.advance();\n }\n }\n _requireCharCodeUntilFn(predicate, len) {\n const start = this._cursor.clone();\n this._attemptCharCodeUntilFn(predicate);\n if (this._cursor.diff(start) < len) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));\n }\n }\n _attemptUntilChar(char) {\n while (this._cursor.peek() !== char) {\n this._cursor.advance();\n }\n }\n _readChar(decodeEntities) {\n if (decodeEntities && this._cursor.peek() === $AMPERSAND) {\n return this._decodeEntity();\n }\n else {\n // Don't rely upon reading directly from `_input` as the actual char value\n // may have been generated from an escape sequence.\n const char = String.fromCodePoint(this._cursor.peek());\n this._cursor.advance();\n return char;\n }\n }\n _decodeEntity() {\n const start = this._cursor.clone();\n this._cursor.advance();\n if (this._attemptCharCode($HASH)) {\n const isHex = this._attemptCharCode($x) || this._attemptCharCode($X);\n const codeStart = this._cursor.clone();\n this._attemptCharCodeUntilFn(isDigitEntityEnd);\n if (this._cursor.peek() != $SEMICOLON) {\n // Advance cursor to include the peeked character in the string provided to the error\n // message.\n this._cursor.advance();\n const entityType = isHex ? CharacterReferenceType.HEX : CharacterReferenceType.DEC;\n throw this._createError(_unparsableEntityErrorMsg(entityType, this._cursor.getChars(start)), this._cursor.getSpan());\n }\n const strNum = this._cursor.getChars(codeStart);\n this._cursor.advance();\n try {\n const charCode = parseInt(strNum, isHex ? 16 : 10);\n return String.fromCharCode(charCode);\n }\n catch (_a) {\n throw this._createError(_unknownEntityErrorMsg(this._cursor.getChars(start)), this._cursor.getSpan());\n }\n }\n else {\n const nameStart = this._cursor.clone();\n this._attemptCharCodeUntilFn(isNamedEntityEnd);\n if (this._cursor.peek() != $SEMICOLON) {\n this._cursor = nameStart;\n return '&';\n }\n const name = this._cursor.getChars(nameStart);\n this._cursor.advance();\n const char = NAMED_ENTITIES[name];\n if (!char) {\n throw this._createError(_unknownEntityErrorMsg(name), this._cursor.getSpan(start));\n }\n return char;\n }\n }\n _consumeRawText(decodeEntities, endMarkerPredicate) {\n this._beginToken(decodeEntities ? TokenType.ESCAPABLE_RAW_TEXT : TokenType.RAW_TEXT);\n const parts = [];\n while (true) {\n const tagCloseStart = this._cursor.clone();\n const foundEndMarker = endMarkerPredicate();\n this._cursor = tagCloseStart;\n if (foundEndMarker) {\n break;\n }\n parts.push(this._readChar(decodeEntities));\n }\n return this._endToken([this._processCarriageReturns(parts.join(''))]);\n }\n _consumeComment(start) {\n this._beginToken(TokenType.COMMENT_START, start);\n this._requireCharCode($MINUS);\n this._endToken([]);\n this._consumeRawText(false, () => this._attemptStr('-->'));\n this._beginToken(TokenType.COMMENT_END);\n this._requireStr('-->');\n this._endToken([]);\n }\n _consumeCdata(start) {\n this._beginToken(TokenType.CDATA_START, start);\n this._requireStr('CDATA[');\n this._endToken([]);\n this._consumeRawText(false, () => this._attemptStr(']]>'));\n this._beginToken(TokenType.CDATA_END);\n this._requireStr(']]>');\n this._endToken([]);\n }\n _consumeDocType(start) {\n this._beginToken(TokenType.DOC_TYPE, start);\n const contentStart = this._cursor.clone();\n this._attemptUntilChar($GT);\n const content = this._cursor.getChars(contentStart);\n this._cursor.advance();\n this._endToken([content]);\n }\n _consumePrefixAndName() {\n const nameOrPrefixStart = this._cursor.clone();\n let prefix = '';\n while (this._cursor.peek() !== $COLON && !isPrefixEnd(this._cursor.peek())) {\n this._cursor.advance();\n }\n let nameStart;\n if (this._cursor.peek() === $COLON) {\n prefix = this._cursor.getChars(nameOrPrefixStart);\n this._cursor.advance();\n nameStart = this._cursor.clone();\n }\n else {\n nameStart = nameOrPrefixStart;\n }\n this._requireCharCodeUntilFn(isNameEnd, prefix === '' ? 0 : 1);\n const name = this._cursor.getChars(nameStart);\n return [prefix, name];\n }\n _consumeTagOpen(start) {\n let tagName;\n let prefix;\n let openTagToken;\n try {\n if (!isAsciiLetter(this._cursor.peek())) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._cursor.peek()), this._cursor.getSpan(start));\n }\n openTagToken = this._consumeTagOpenStart(start);\n prefix = openTagToken.parts[0];\n tagName = openTagToken.parts[1];\n this._attemptCharCodeUntilFn(isNotWhitespace);\n while (this._cursor.peek() !== $SLASH && this._cursor.peek() !== $GT &&\n this._cursor.peek() !== $LT) {\n this._consumeAttributeName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (this._attemptCharCode($EQ)) {\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._consumeAttributeValue();\n }\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n this._consumeTagOpenEnd();\n }\n catch (e) {\n if (e instanceof _ControlFlowError) {\n if (openTagToken) {\n // We errored before we could close the opening tag, so it is incomplete.\n openTagToken.type = TokenType.INCOMPLETE_TAG_OPEN;\n }\n else {\n // When the start tag is invalid, assume we want a \"<\" as text.\n // Back to back text tokens are merged at the end.\n this._beginToken(TokenType.TEXT, start);\n this._endToken(['<']);\n }\n return;\n }\n throw e;\n }\n const contentTokenType = this._getTagDefinition(tagName).getContentType(prefix);\n if (contentTokenType === TagContentType.RAW_TEXT) {\n this._consumeRawTextWithTagClose(prefix, tagName, false);\n }\n else if (contentTokenType === TagContentType.ESCAPABLE_RAW_TEXT) {\n this._consumeRawTextWithTagClose(prefix, tagName, true);\n }\n }\n _consumeRawTextWithTagClose(prefix, tagName, decodeEntities) {\n this._consumeRawText(decodeEntities, () => {\n if (!this._attemptCharCode($LT))\n return false;\n if (!this._attemptCharCode($SLASH))\n return false;\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (!this._attemptStrCaseInsensitive(tagName))\n return false;\n this._attemptCharCodeUntilFn(isNotWhitespace);\n return this._attemptCharCode($GT);\n });\n this._beginToken(TokenType.TAG_CLOSE);\n this._requireCharCodeUntilFn(code => code === $GT, 3);\n this._cursor.advance(); // Consume the `>`\n this._endToken([prefix, tagName]);\n }\n _consumeTagOpenStart(start) {\n this._beginToken(TokenType.TAG_OPEN_START, start);\n const parts = this._consumePrefixAndName();\n return this._endToken(parts);\n }\n _consumeAttributeName() {\n const attrNameStart = this._cursor.peek();\n if (attrNameStart === $SQ || attrNameStart === $DQ) {\n throw this._createError(_unexpectedCharacterErrorMsg(attrNameStart), this._cursor.getSpan());\n }\n this._beginToken(TokenType.ATTR_NAME);\n const prefixAndName = this._consumePrefixAndName();\n this._endToken(prefixAndName);\n }\n _consumeAttributeValue() {\n let value;\n if (this._cursor.peek() === $SQ || this._cursor.peek() === $DQ) {\n this._beginToken(TokenType.ATTR_QUOTE);\n const quoteChar = this._cursor.peek();\n this._cursor.advance();\n this._endToken([String.fromCodePoint(quoteChar)]);\n this._beginToken(TokenType.ATTR_VALUE);\n const parts = [];\n while (this._cursor.peek() !== quoteChar) {\n parts.push(this._readChar(true));\n }\n value = parts.join('');\n this._endToken([this._processCarriageReturns(value)]);\n this._beginToken(TokenType.ATTR_QUOTE);\n this._cursor.advance();\n this._endToken([String.fromCodePoint(quoteChar)]);\n }\n else {\n this._beginToken(TokenType.ATTR_VALUE);\n const valueStart = this._cursor.clone();\n this._requireCharCodeUntilFn(isNameEnd, 1);\n value = this._cursor.getChars(valueStart);\n this._endToken([this._processCarriageReturns(value)]);\n }\n }\n _consumeTagOpenEnd() {\n const tokenType = this._attemptCharCode($SLASH) ? TokenType.TAG_OPEN_END_VOID : TokenType.TAG_OPEN_END;\n this._beginToken(tokenType);\n this._requireCharCode($GT);\n this._endToken([]);\n }\n _consumeTagClose(start) {\n this._beginToken(TokenType.TAG_CLOSE, start);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n const prefixAndName = this._consumePrefixAndName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._requireCharCode($GT);\n this._endToken(prefixAndName);\n }\n _consumeExpansionFormStart() {\n this._beginToken(TokenType.EXPANSION_FORM_START);\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._expansionCaseStack.push(TokenType.EXPANSION_FORM_START);\n this._beginToken(TokenType.RAW_TEXT);\n const condition = this._readUntil($COMMA);\n const normalizedCondition = this._processCarriageReturns(condition);\n if (this._i18nNormalizeLineEndingsInICUs) {\n // We explicitly want to normalize line endings for this text.\n this._endToken([normalizedCondition]);\n }\n else {\n // We are not normalizing line endings.\n const conditionToken = this._endToken([condition]);\n if (normalizedCondition !== condition) {\n this.nonNormalizedIcuExpressions.push(conditionToken);\n }\n }\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType.RAW_TEXT);\n const type = this._readUntil($COMMA);\n this._endToken([type]);\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n _consumeExpansionCaseStart() {\n this._beginToken(TokenType.EXPANSION_CASE_VALUE);\n const value = this._readUntil($LBRACE).trim();\n this._endToken([value]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType.EXPANSION_CASE_EXP_START);\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.push(TokenType.EXPANSION_CASE_EXP_START);\n }\n _consumeExpansionCaseEnd() {\n this._beginToken(TokenType.EXPANSION_CASE_EXP_END);\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.pop();\n }\n _consumeExpansionFormEnd() {\n this._beginToken(TokenType.EXPANSION_FORM_END);\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._expansionCaseStack.pop();\n }\n _consumeText() {\n const start = this._cursor.clone();\n this._beginToken(TokenType.TEXT, start);\n const parts = [];\n do {\n if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.start)) {\n parts.push(this._interpolationConfig.start);\n this._inInterpolation = true;\n }\n else if (this._interpolationConfig && this._inInterpolation &&\n this._attemptStr(this._interpolationConfig.end)) {\n parts.push(this._interpolationConfig.end);\n this._inInterpolation = false;\n }\n else {\n parts.push(this._readChar(true));\n }\n } while (!this._isTextEnd());\n this._endToken([this._processCarriageReturns(parts.join(''))]);\n }\n _isTextEnd() {\n if (this._cursor.peek() === $LT || this._cursor.peek() === $EOF) {\n return true;\n }\n if (this._tokenizeIcu && !this._inInterpolation) {\n if (this.isExpansionFormStart()) {\n // start of an expansion form\n return true;\n }\n if (this._cursor.peek() === $RBRACE && this._isInExpansionCase()) {\n // end of and expansion case\n return true;\n }\n }\n return false;\n }\n _readUntil(char) {\n const start = this._cursor.clone();\n this._attemptUntilChar(char);\n return this._cursor.getChars(start);\n }\n _isInExpansionCase() {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType.EXPANSION_CASE_EXP_START;\n }\n _isInExpansionForm() {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType.EXPANSION_FORM_START;\n }\n isExpansionFormStart() {\n if (this._cursor.peek() !== $LBRACE) {\n return false;\n }\n if (this._interpolationConfig) {\n const start = this._cursor.clone();\n const isInterpolation = this._attemptStr(this._interpolationConfig.start);\n this._cursor = start;\n return !isInterpolation;\n }\n return true;\n }\n}\nfunction isNotWhitespace(code) {\n return !isWhitespace(code) || code === $EOF;\n}\nfunction isNameEnd(code) {\n return isWhitespace(code) || code === $GT || code === $LT ||\n code === $SLASH || code === $SQ || code === $DQ || code === $EQ;\n}\nfunction isPrefixEnd(code) {\n return (code < $a || $z < code) && (code < $A || $Z < code) &&\n (code < $0 || code > $9);\n}\nfunction isDigitEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiHexDigit(code);\n}\nfunction isNamedEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiLetter(code);\n}\nfunction isExpansionCaseStart(peek) {\n return peek !== $RBRACE;\n}\nfunction compareCharCodeCaseInsensitive(code1, code2) {\n return toUpperCaseCharCode(code1) == toUpperCaseCharCode(code2);\n}\nfunction toUpperCaseCharCode(code) {\n return code >= $a && code <= $z ? code - $a + $A : code;\n}\nfunction mergeTextTokens(srcTokens) {\n const dstTokens = [];\n let lastDstToken = undefined;\n for (let i = 0; i < srcTokens.length; i++) {\n const token = srcTokens[i];\n if (lastDstToken && lastDstToken.type == TokenType.TEXT && token.type == TokenType.TEXT) {\n lastDstToken.parts[0] += token.parts[0];\n lastDstToken.sourceSpan.end = token.sourceSpan.end;\n }\n else {\n lastDstToken = token;\n dstTokens.push(lastDstToken);\n }\n }\n return dstTokens;\n}\nclass PlainCharacterCursor {\n constructor(fileOrCursor, range) {\n if (fileOrCursor instanceof PlainCharacterCursor) {\n this.file = fileOrCursor.file;\n this.input = fileOrCursor.input;\n this.end = fileOrCursor.end;\n const state = fileOrCursor.state;\n // Note: avoid using `{...fileOrCursor.state}` here as that has a severe performance penalty.\n // In ES5 bundles the object spread operator is translated into the `__assign` helper, which\n // is not optimized by VMs as efficiently as a raw object literal. Since this constructor is\n // called in tight loops, this difference matters.\n this.state = {\n peek: state.peek,\n offset: state.offset,\n line: state.line,\n column: state.column,\n };\n }\n else {\n if (!range) {\n throw new Error('Programming error: the range argument must be provided with a file argument.');\n }\n this.file = fileOrCursor;\n this.input = fileOrCursor.content;\n this.end = range.endPos;\n this.state = {\n peek: -1,\n offset: range.startPos,\n line: range.startLine,\n column: range.startCol,\n };\n }\n }\n clone() {\n return new PlainCharacterCursor(this);\n }\n peek() {\n return this.state.peek;\n }\n charsLeft() {\n return this.end - this.state.offset;\n }\n diff(other) {\n return this.state.offset - other.state.offset;\n }\n advance() {\n this.advanceState(this.state);\n }\n init() {\n this.updatePeek(this.state);\n }\n getSpan(start, leadingTriviaCodePoints) {\n start = start || this;\n let fullStart = start;\n if (leadingTriviaCodePoints) {\n while (this.diff(start) > 0 && leadingTriviaCodePoints.indexOf(start.peek()) !== -1) {\n if (fullStart === start) {\n start = start.clone();\n }\n start.advance();\n }\n }\n const startLocation = this.locationFromCursor(start);\n const endLocation = this.locationFromCursor(this);\n const fullStartLocation = fullStart !== start ? this.locationFromCursor(fullStart) : startLocation;\n return new ParseSourceSpan(startLocation, endLocation, fullStartLocation);\n }\n getChars(start) {\n return this.input.substring(start.state.offset, this.state.offset);\n }\n charAt(pos) {\n return this.input.charCodeAt(pos);\n }\n advanceState(state) {\n if (state.offset >= this.end) {\n this.state = state;\n throw new CursorError('Unexpected character \"EOF\"', this);\n }\n const currentChar = this.charAt(state.offset);\n if (currentChar === $LF) {\n state.line++;\n state.column = 0;\n }\n else if (!isNewLine(currentChar)) {\n state.column++;\n }\n state.offset++;\n this.updatePeek(state);\n }\n updatePeek(state) {\n state.peek = state.offset >= this.end ? $EOF : this.charAt(state.offset);\n }\n locationFromCursor(cursor) {\n return new ParseLocation(cursor.file, cursor.state.offset, cursor.state.line, cursor.state.column);\n }\n}\nclass EscapedCharacterCursor extends PlainCharacterCursor {\n constructor(fileOrCursor, range) {\n if (fileOrCursor instanceof EscapedCharacterCursor) {\n super(fileOrCursor);\n this.internalState = Object.assign({}, fileOrCursor.internalState);\n }\n else {\n super(fileOrCursor, range);\n this.internalState = this.state;\n }\n }\n advance() {\n this.state = this.internalState;\n super.advance();\n this.processEscapeSequence();\n }\n init() {\n super.init();\n this.processEscapeSequence();\n }\n clone() {\n return new EscapedCharacterCursor(this);\n }\n getChars(start) {\n const cursor = start.clone();\n let chars = '';\n while (cursor.internalState.offset < this.internalState.offset) {\n chars += String.fromCodePoint(cursor.peek());\n cursor.advance();\n }\n return chars;\n }\n /**\n * Process the escape sequence that starts at the current position in the text.\n *\n * This method is called to ensure that `peek` has the unescaped value of escape sequences.\n */\n processEscapeSequence() {\n const peek = () => this.internalState.peek;\n if (peek() === $BACKSLASH) {\n // We have hit an escape sequence so we need the internal state to become independent\n // of the external state.\n this.internalState = Object.assign({}, this.state);\n // Move past the backslash\n this.advanceState(this.internalState);\n // First check for standard control char sequences\n if (peek() === $n) {\n this.state.peek = $LF;\n }\n else if (peek() === $r) {\n this.state.peek = $CR;\n }\n else if (peek() === $v) {\n this.state.peek = $VTAB;\n }\n else if (peek() === $t) {\n this.state.peek = $TAB;\n }\n else if (peek() === $b) {\n this.state.peek = $BSPACE;\n }\n else if (peek() === $f) {\n this.state.peek = $FF;\n }\n // Now consider more complex sequences\n else if (peek() === $u) {\n // Unicode code-point sequence\n this.advanceState(this.internalState); // advance past the `u` char\n if (peek() === $LBRACE) {\n // Variable length Unicode, e.g. `\\x{123}`\n this.advanceState(this.internalState); // advance past the `{` char\n // Advance past the variable number of hex digits until we hit a `}` char\n const digitStart = this.clone();\n let length = 0;\n while (peek() !== $RBRACE) {\n this.advanceState(this.internalState);\n length++;\n }\n this.state.peek = this.decodeHexDigits(digitStart, length);\n }\n else {\n // Fixed length Unicode, e.g. `\\u1234`\n const digitStart = this.clone();\n this.advanceState(this.internalState);\n this.advanceState(this.internalState);\n this.advanceState(this.internalState);\n this.state.peek = this.decodeHexDigits(digitStart, 4);\n }\n }\n else if (peek() === $x) {\n // Hex char code, e.g. `\\x2F`\n this.advanceState(this.internalState); // advance past the `x` char\n const digitStart = this.clone();\n this.advanceState(this.internalState);\n this.state.peek = this.decodeHexDigits(digitStart, 2);\n }\n else if (isOctalDigit(peek())) {\n // Octal char code, e.g. `\\012`,\n let octal = '';\n let length = 0;\n let previous = this.clone();\n while (isOctalDigit(peek()) && length < 3) {\n previous = this.clone();\n octal += String.fromCodePoint(peek());\n this.advanceState(this.internalState);\n length++;\n }\n this.state.peek = parseInt(octal, 8);\n // Backup one char\n this.internalState = previous.internalState;\n }\n else if (isNewLine(this.internalState.peek)) {\n // Line continuation `\\` followed by a new line\n this.advanceState(this.internalState); // advance over the newline\n this.state = this.internalState;\n }\n else {\n // If none of the `if` blocks were executed then we just have an escaped normal character.\n // In that case we just, effectively, skip the backslash from the character.\n this.state.peek = this.internalState.peek;\n }\n }\n }\n decodeHexDigits(start, length) {\n const hex = this.input.substr(start.internalState.offset, length);\n const charCode = parseInt(hex, 16);\n if (!isNaN(charCode)) {\n return charCode;\n }\n else {\n start.state = start.internalState;\n throw new CursorError('Invalid hexadecimal escape sequence', start);\n }\n }\n}\nclass CursorError {\n constructor(msg, cursor) {\n this.msg = msg;\n this.cursor = cursor;\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 */\nclass TreeError extends ParseError {\n constructor(elementName, span, msg) {\n super(span, msg);\n this.elementName = elementName;\n }\n static create(elementName, span, msg) {\n return new TreeError(elementName, span, msg);\n }\n}\nclass ParseTreeResult {\n constructor(rootNodes, errors) {\n this.rootNodes = rootNodes;\n this.errors = errors;\n }\n}\nclass Parser {\n constructor(getTagDefinition) {\n this.getTagDefinition = getTagDefinition;\n }\n parse(source, url, options) {\n const tokenizeResult = tokenize(source, url, this.getTagDefinition, options);\n const parser = new _TreeBuilder(tokenizeResult.tokens, this.getTagDefinition);\n parser.build();\n return new ParseTreeResult(parser.rootNodes, tokenizeResult.errors.concat(parser.errors));\n }\n}\nclass _TreeBuilder {\n constructor(tokens, getTagDefinition) {\n this.tokens = tokens;\n this.getTagDefinition = getTagDefinition;\n this._index = -1;\n this._elementStack = [];\n this.rootNodes = [];\n this.errors = [];\n this._advance();\n }\n build() {\n while (this._peek.type !== TokenType.EOF) {\n if (this._peek.type === TokenType.TAG_OPEN_START ||\n this._peek.type === TokenType.INCOMPLETE_TAG_OPEN) {\n this._consumeStartTag(this._advance());\n }\n else if (this._peek.type === TokenType.TAG_CLOSE) {\n this._consumeEndTag(this._advance());\n }\n else if (this._peek.type === TokenType.CDATA_START) {\n this._closeVoidElement();\n this._consumeCdata(this._advance());\n }\n else if (this._peek.type === TokenType.COMMENT_START) {\n this._closeVoidElement();\n this._consumeComment(this._advance());\n }\n else if (this._peek.type === TokenType.TEXT || this._peek.type === TokenType.RAW_TEXT ||\n this._peek.type === TokenType.ESCAPABLE_RAW_TEXT) {\n this._closeVoidElement();\n this._consumeText(this._advance());\n }\n else if (this._peek.type === TokenType.EXPANSION_FORM_START) {\n this._consumeExpansion(this._advance());\n }\n else {\n // Skip all other tokens...\n this._advance();\n }\n }\n }\n _advance() {\n const prev = this._peek;\n if (this._index < this.tokens.length - 1) {\n // Note: there is always an EOF token at the end\n this._index++;\n }\n this._peek = this.tokens[this._index];\n return prev;\n }\n _advanceIf(type) {\n if (this._peek.type === type) {\n return this._advance();\n }\n return null;\n }\n _consumeCdata(_startToken) {\n this._consumeText(this._advance());\n this._advanceIf(TokenType.CDATA_END);\n }\n _consumeComment(token) {\n const text = this._advanceIf(TokenType.RAW_TEXT);\n this._advanceIf(TokenType.COMMENT_END);\n const value = text != null ? text.parts[0].trim() : null;\n this._addToParent(new Comment(value, token.sourceSpan));\n }\n _consumeExpansion(token) {\n const switchValue = this._advance();\n const type = this._advance();\n const cases = [];\n // read =\n while (this._peek.type === TokenType.EXPANSION_CASE_VALUE) {\n const expCase = this._parseExpansionCase();\n if (!expCase)\n return; // error\n cases.push(expCase);\n }\n // read the final }\n if (this._peek.type !== TokenType.EXPANSION_FORM_END) {\n this.errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return;\n }\n const sourceSpan = new ParseSourceSpan(token.sourceSpan.start, this._peek.sourceSpan.end, token.sourceSpan.fullStart);\n this._addToParent(new Expansion(switchValue.parts[0], type.parts[0], cases, sourceSpan, switchValue.sourceSpan));\n this._advance();\n }\n _parseExpansionCase() {\n const value = this._advance();\n // read {\n if (this._peek.type !== TokenType.EXPANSION_CASE_EXP_START) {\n this.errors.push(TreeError.create(null, this._peek.sourceSpan, `Invalid ICU message. Missing '{'.`));\n return null;\n }\n // read until }\n const start = this._advance();\n const exp = this._collectExpansionExpTokens(start);\n if (!exp)\n return null;\n const end = this._advance();\n exp.push(new Token(TokenType.EOF, [], end.sourceSpan));\n // parse everything in between { and }\n const expansionCaseParser = new _TreeBuilder(exp, this.getTagDefinition);\n expansionCaseParser.build();\n if (expansionCaseParser.errors.length > 0) {\n this.errors = this.errors.concat(expansionCaseParser.errors);\n return null;\n }\n const sourceSpan = new ParseSourceSpan(value.sourceSpan.start, end.sourceSpan.end, value.sourceSpan.fullStart);\n const expSourceSpan = new ParseSourceSpan(start.sourceSpan.start, end.sourceSpan.end, start.sourceSpan.fullStart);\n return new ExpansionCase(value.parts[0], expansionCaseParser.rootNodes, sourceSpan, value.sourceSpan, expSourceSpan);\n }\n _collectExpansionExpTokens(start) {\n const exp = [];\n const expansionFormStack = [TokenType.EXPANSION_CASE_EXP_START];\n while (true) {\n if (this._peek.type === TokenType.EXPANSION_FORM_START ||\n this._peek.type === TokenType.EXPANSION_CASE_EXP_START) {\n expansionFormStack.push(this._peek.type);\n }\n if (this._peek.type === TokenType.EXPANSION_CASE_EXP_END) {\n if (lastOnStack(expansionFormStack, TokenType.EXPANSION_CASE_EXP_START)) {\n expansionFormStack.pop();\n if (expansionFormStack.length == 0)\n return exp;\n }\n else {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n }\n if (this._peek.type === TokenType.EXPANSION_FORM_END) {\n if (lastOnStack(expansionFormStack, TokenType.EXPANSION_FORM_START)) {\n expansionFormStack.pop();\n }\n else {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n }\n if (this._peek.type === TokenType.EOF) {\n this.errors.push(TreeError.create(null, start.sourceSpan, `Invalid ICU message. Missing '}'.`));\n return null;\n }\n exp.push(this._advance());\n }\n }\n _consumeText(token) {\n let text = token.parts[0];\n if (text.length > 0 && text[0] == '\\n') {\n const parent = this._getParentElement();\n if (parent != null && parent.children.length == 0 &&\n this.getTagDefinition(parent.name).ignoreFirstLf) {\n text = text.substring(1);\n }\n }\n if (text.length > 0) {\n this._addToParent(new Text$3(text, token.sourceSpan));\n }\n }\n _closeVoidElement() {\n const el = this._getParentElement();\n if (el && this.getTagDefinition(el.name).isVoid) {\n this._elementStack.pop();\n }\n }\n _consumeStartTag(startTagToken) {\n const [prefix, name] = startTagToken.parts;\n const attrs = [];\n while (this._peek.type === TokenType.ATTR_NAME) {\n attrs.push(this._consumeAttr(this._advance()));\n }\n const fullName = this._getElementFullName(prefix, name, this._getParentElement());\n let selfClosing = false;\n // Note: There could have been a tokenizer error\n // so that we don't get a token for the end tag...\n if (this._peek.type === TokenType.TAG_OPEN_END_VOID) {\n this._advance();\n selfClosing = true;\n const tagDef = this.getTagDefinition(fullName);\n if (!(tagDef.canSelfClose || getNsPrefix(fullName) !== null || tagDef.isVoid)) {\n this.errors.push(TreeError.create(fullName, startTagToken.sourceSpan, `Only void and foreign elements can be self closed \"${startTagToken.parts[1]}\"`));\n }\n }\n else if (this._peek.type === TokenType.TAG_OPEN_END) {\n this._advance();\n selfClosing = false;\n }\n const end = this._peek.sourceSpan.fullStart;\n const span = new ParseSourceSpan(startTagToken.sourceSpan.start, end, startTagToken.sourceSpan.fullStart);\n // Create a separate `startSpan` because `span` will be modified when there is an `end` span.\n const startSpan = new ParseSourceSpan(startTagToken.sourceSpan.start, end, startTagToken.sourceSpan.fullStart);\n const el = new Element$1(fullName, attrs, [], span, startSpan, undefined);\n this._pushElement(el);\n if (selfClosing) {\n // Elements that are self-closed have their `endSourceSpan` set to the full span, as the\n // element start tag also represents the end tag.\n this._popElement(fullName, span);\n }\n else if (startTagToken.type === TokenType.INCOMPLETE_TAG_OPEN) {\n // We already know the opening tag is not complete, so it is unlikely it has a corresponding\n // close tag. Let's optimistically parse it as a full element and emit an error.\n this._popElement(fullName, null);\n this.errors.push(TreeError.create(fullName, span, `Opening tag \"${fullName}\" not terminated.`));\n }\n }\n _pushElement(el) {\n const parentEl = this._getParentElement();\n if (parentEl && this.getTagDefinition(parentEl.name).isClosedByChild(el.name)) {\n this._elementStack.pop();\n }\n this._addToParent(el);\n this._elementStack.push(el);\n }\n _consumeEndTag(endTagToken) {\n const fullName = this._getElementFullName(endTagToken.parts[0], endTagToken.parts[1], this._getParentElement());\n if (this.getTagDefinition(fullName).isVoid) {\n this.errors.push(TreeError.create(fullName, endTagToken.sourceSpan, `Void elements do not have end tags \"${endTagToken.parts[1]}\"`));\n }\n else if (!this._popElement(fullName, endTagToken.sourceSpan)) {\n const errMsg = `Unexpected closing tag \"${fullName}\". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;\n this.errors.push(TreeError.create(fullName, endTagToken.sourceSpan, errMsg));\n }\n }\n /**\n * Closes the nearest element with the tag name `fullName` in the parse tree.\n * `endSourceSpan` is the span of the closing tag, or null if the element does\n * not have a closing tag (for example, this happens when an incomplete\n * opening tag is recovered).\n */\n _popElement(fullName, endSourceSpan) {\n for (let stackIndex = this._elementStack.length - 1; stackIndex >= 0; stackIndex--) {\n const el = this._elementStack[stackIndex];\n if (el.name == fullName) {\n // Record the parse span with the element that is being closed. Any elements that are\n // removed from the element stack at this point are closed implicitly, so they won't get\n // an end source span (as there is no explicit closing element).\n el.endSourceSpan = endSourceSpan;\n el.sourceSpan.end = endSourceSpan !== null ? endSourceSpan.end : el.sourceSpan.end;\n this._elementStack.splice(stackIndex, this._elementStack.length - stackIndex);\n return true;\n }\n if (!this.getTagDefinition(el.name).closedByParent) {\n return false;\n }\n }\n return false;\n }\n _consumeAttr(attrName) {\n const fullName = mergeNsAndName(attrName.parts[0], attrName.parts[1]);\n let end = attrName.sourceSpan.end;\n let value = '';\n let valueSpan = undefined;\n if (this._peek.type === TokenType.ATTR_QUOTE) {\n this._advance();\n }\n if (this._peek.type === TokenType.ATTR_VALUE) {\n const valueToken = this._advance();\n value = valueToken.parts[0];\n end = valueToken.sourceSpan.end;\n valueSpan = valueToken.sourceSpan;\n }\n if (this._peek.type === TokenType.ATTR_QUOTE) {\n const quoteToken = this._advance();\n end = quoteToken.sourceSpan.end;\n }\n const keySpan = new ParseSourceSpan(attrName.sourceSpan.start, attrName.sourceSpan.end);\n return new Attribute(fullName, value, new ParseSourceSpan(attrName.sourceSpan.start, end, attrName.sourceSpan.fullStart), keySpan, valueSpan);\n }\n _getParentElement() {\n return this._elementStack.length > 0 ? this._elementStack[this._elementStack.length - 1] : null;\n }\n _addToParent(node) {\n const parent = this._getParentElement();\n if (parent != null) {\n parent.children.push(node);\n }\n else {\n this.rootNodes.push(node);\n }\n }\n _getElementFullName(prefix, localName, parentElement) {\n if (prefix === '') {\n prefix = this.getTagDefinition(localName).implicitNamespacePrefix || '';\n if (prefix === '' && parentElement != null) {\n const parentTagName = splitNsName(parentElement.name)[1];\n const parentTagDefinition = this.getTagDefinition(parentTagName);\n if (!parentTagDefinition.preventNamespaceInheritance) {\n prefix = getNsPrefix(parentElement.name);\n }\n }\n }\n return mergeNsAndName(prefix, localName);\n }\n}\nfunction lastOnStack(stack, element) {\n return stack.length > 0 && stack[stack.length - 1] === element;\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 HtmlParser extends Parser {\n constructor() {\n super(getHtmlTagDefinition);\n }\n parse(source, url, options) {\n return super.parse(source, url, options);\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 PRESERVE_WS_ATTR_NAME = 'ngPreserveWhitespaces';\nconst SKIP_WS_TRIM_TAGS = new Set(['pre', 'template', 'textarea', 'script', 'style']);\n// Equivalent to \\s with \\u00a0 (non-breaking space) excluded.\n// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\nconst WS_CHARS = ' \\f\\n\\r\\t\\v\\u1680\\u180e\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff';\nconst NO_WS_REGEXP = new RegExp(`[^${WS_CHARS}]`);\nconst WS_REPLACE_REGEXP = new RegExp(`[${WS_CHARS}]{2,}`, 'g');\nfunction hasPreserveWhitespacesAttr(attrs) {\n return attrs.some((attr) => attr.name === PRESERVE_WS_ATTR_NAME);\n}\n/**\n * Angular Dart introduced &ngsp; as a placeholder for non-removable space, see:\n * https://github.com/dart-lang/angular/blob/0bb611387d29d65b5af7f9d2515ab571fd3fbee4/_tests/test/compiler/preserve_whitespace_test.dart#L25-L32\n * In Angular Dart &ngsp; is converted to the 0xE500 PUA (Private Use Areas) unicode character\n * and later on replaced by a space. We are re-implementing the same idea here.\n */\nfunction replaceNgsp(value) {\n // lexer is replacing the &ngsp; pseudo-entity with NGSP_UNICODE\n return value.replace(new RegExp(NGSP_UNICODE, 'g'), ' ');\n}\n/**\n * This visitor can walk HTML parse tree and remove / trim text nodes using the following rules:\n * - consider spaces, tabs and new lines as whitespace characters;\n * - drop text nodes consisting of whitespace characters only;\n * - for all other text nodes replace consecutive whitespace characters with one space;\n * - convert &ngsp; pseudo-entity to a single space;\n *\n * Removal and trimming of whitespaces have positive performance impact (less code to generate\n * while compiling templates, faster view creation). At the same time it can be \"destructive\"\n * in some cases (whitespaces can influence layout). Because of the potential of breaking layout\n * this visitor is not activated by default in Angular 5 and people need to explicitly opt-in for\n * whitespace removal. The default option for whitespace removal will be revisited in Angular 6\n * and might be changed to \"on\" by default.\n */\nclass WhitespaceVisitor {\n visitElement(element, context) {\n if (SKIP_WS_TRIM_TAGS.has(element.name) || hasPreserveWhitespacesAttr(element.attrs)) {\n // don't descent into elements where we need to preserve whitespaces\n // but still visit all attributes to eliminate one used as a market to preserve WS\n return new Element$1(element.name, visitAll$1(this, element.attrs), element.children, element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);\n }\n return new Element$1(element.name, element.attrs, visitAllWithSiblings(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.i18n);\n }\n visitAttribute(attribute, context) {\n return attribute.name !== PRESERVE_WS_ATTR_NAME ? attribute : null;\n }\n visitText(text, context) {\n const isNotBlank = text.value.match(NO_WS_REGEXP);\n const hasExpansionSibling = context &&\n (context.prev instanceof Expansion || context.next instanceof Expansion);\n if (isNotBlank || hasExpansionSibling) {\n return new Text$3(replaceNgsp(text.value).replace(WS_REPLACE_REGEXP, ' '), text.sourceSpan, text.i18n);\n }\n return null;\n }\n visitComment(comment, context) {\n return comment;\n }\n visitExpansion(expansion, context) {\n return expansion;\n }\n visitExpansionCase(expansionCase, context) {\n return expansionCase;\n }\n}\nfunction removeWhitespaces(htmlAstWithErrors) {\n return new ParseTreeResult(visitAll$1(new WhitespaceVisitor(), htmlAstWithErrors.rootNodes), htmlAstWithErrors.errors);\n}\nfunction visitAllWithSiblings(visitor, nodes) {\n const result = [];\n nodes.forEach((ast, i) => {\n const context = { prev: nodes[i - 1], next: nodes[i + 1] };\n const astResult = ast.visit(visitor, context);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\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// http://cldr.unicode.org/index/cldr-spec/plural-rules\nconst PLURAL_CASES = ['zero', 'one', 'two', 'few', 'many', 'other'];\n/**\n * Expands special forms into elements.\n *\n * For example,\n *\n * ```\n * { messages.length, plural,\n * =0 {zero}\n * =1 {one}\n * other {more than one}\n * }\n * ```\n *\n * will be expanded into\n *\n * ```\n * \n * zero\n * one\n * more than one\n * \n * ```\n */\nfunction expandNodes(nodes) {\n const expander = new _Expander();\n return new ExpansionResult(visitAll$1(expander, nodes), expander.isExpanded, expander.errors);\n}\nclass ExpansionResult {\n constructor(nodes, expanded, errors) {\n this.nodes = nodes;\n this.expanded = expanded;\n this.errors = errors;\n }\n}\nclass ExpansionError extends ParseError {\n constructor(span, errorMsg) {\n super(span, errorMsg);\n }\n}\n/**\n * Expand expansion forms (plural, select) to directives\n *\n * @internal\n */\nclass _Expander {\n constructor() {\n this.isExpanded = false;\n this.errors = [];\n }\n visitElement(element, context) {\n return new Element$1(element.name, element.attrs, visitAll$1(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n }\n visitAttribute(attribute, context) {\n return attribute;\n }\n visitText(text, context) {\n return text;\n }\n visitComment(comment, context) {\n return comment;\n }\n visitExpansion(icu, context) {\n this.isExpanded = true;\n return icu.type == 'plural' ? _expandPluralForm(icu, this.errors) :\n _expandDefaultForm(icu, this.errors);\n }\n visitExpansionCase(icuCase, context) {\n throw new Error('Should not be reached');\n }\n}\n// Plural forms are expanded to `NgPlural` and `NgPluralCase`s\nfunction _expandPluralForm(ast, errors) {\n const children = ast.cases.map(c => {\n if (PLURAL_CASES.indexOf(c.value) == -1 && !c.value.match(/^=\\d+$/)) {\n errors.push(new ExpansionError(c.valueSourceSpan, `Plural cases should be \"=\" or one of ${PLURAL_CASES.join(', ')}`));\n }\n const expansionResult = expandNodes(c.expression);\n errors.push(...expansionResult.errors);\n return new Element$1(`ng-template`, [new Attribute('ngPluralCase', `${c.value}`, c.valueSourceSpan, undefined /* keySpan */, undefined /* valueSpan */, undefined /* i18n */)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n const switchAttr = new Attribute('[ngPlural]', ast.switchValue, ast.switchValueSourceSpan, undefined /* keySpan */, undefined /* valueSpan */, undefined /* i18n */);\n return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n}\n// ICU messages (excluding plural form) are expanded to `NgSwitch` and `NgSwitchCase`s\nfunction _expandDefaultForm(ast, errors) {\n const children = ast.cases.map(c => {\n const expansionResult = expandNodes(c.expression);\n errors.push(...expansionResult.errors);\n if (c.value === 'other') {\n // other is the default case when no values match\n return new Element$1(`ng-template`, [new Attribute('ngSwitchDefault', '', c.valueSourceSpan, undefined /* keySpan */, undefined /* valueSpan */, undefined /* i18n */)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n }\n return new Element$1(`ng-template`, [new Attribute('ngSwitchCase', `${c.value}`, c.valueSourceSpan, undefined /* keySpan */, undefined /* valueSpan */, undefined /* i18n */)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n const switchAttr = new Attribute('[ngSwitch]', ast.switchValue, ast.switchValueSourceSpan, undefined /* keySpan */, undefined /* valueSpan */, undefined /* i18n */);\n return new Element$1('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\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 segment of text within the template.\n */\nclass TextAst {\n constructor(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitText(this, context);\n }\n}\n/**\n * A bound expression within the text of a template.\n */\nclass BoundTextAst {\n constructor(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitBoundText(this, context);\n }\n}\n/**\n * A plain attribute on an element.\n */\nclass AttrAst {\n constructor(name, value, sourceSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitAttr(this, context);\n }\n}\nconst BoundPropertyMapping = {\n [4 /* Animation */]: 4 /* Animation */,\n [1 /* Attribute */]: 1 /* Attribute */,\n [2 /* Class */]: 2 /* Class */,\n [0 /* Property */]: 0 /* Property */,\n [3 /* Style */]: 3 /* Style */,\n};\n/**\n * A binding for an element property (e.g. `[property]=\"expression\"`) or an animation trigger (e.g.\n * `[@trigger]=\"stateExp\"`)\n */\nclass BoundElementPropertyAst {\n constructor(name, type, securityContext, value, unit, sourceSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n this.isAnimation = this.type === 4 /* Animation */;\n }\n static fromBoundProperty(prop) {\n const type = BoundPropertyMapping[prop.type];\n return new BoundElementPropertyAst(prop.name, type, prop.securityContext, prop.value, prop.unit, prop.sourceSpan);\n }\n visit(visitor, context) {\n return visitor.visitElementProperty(this, context);\n }\n}\n/**\n * A binding for an element event (e.g. `(event)=\"handler()\"`) or an animation trigger event (e.g.\n * `(@trigger.phase)=\"callback($event)\"`).\n */\nclass BoundEventAst {\n constructor(name, target, phase, handler, sourceSpan, handlerSpan) {\n this.name = name;\n this.target = target;\n this.phase = phase;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n this.handlerSpan = handlerSpan;\n this.fullName = BoundEventAst.calcFullName(this.name, this.target, this.phase);\n this.isAnimation = !!this.phase;\n }\n static calcFullName(name, target, phase) {\n if (target) {\n return `${target}:${name}`;\n }\n if (phase) {\n return `@${name}.${phase}`;\n }\n return name;\n }\n static fromParsedEvent(event) {\n const target = event.type === 0 /* Regular */ ? event.targetOrPhase : null;\n const phase = event.type === 1 /* Animation */ ? event.targetOrPhase : null;\n return new BoundEventAst(event.name, target, phase, event.handler, event.sourceSpan, event.handlerSpan);\n }\n visit(visitor, context) {\n return visitor.visitEvent(this, context);\n }\n}\n/**\n * A reference declaration on an element (e.g. `let someName=\"expression\"`).\n */\nclass ReferenceAst {\n constructor(name, value, originalValue, sourceSpan) {\n this.name = name;\n this.value = value;\n this.originalValue = originalValue;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitReference(this, context);\n }\n}\n/**\n * A variable declaration on a (e.g. `var-someName=\"someLocalName\"`).\n */\nclass VariableAst {\n constructor(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n static fromParsedVariable(v) {\n return new VariableAst(v.name, v.value, v.sourceSpan, v.valueSpan);\n }\n visit(visitor, context) {\n return visitor.visitVariable(this, context);\n }\n}\n/**\n * An element declaration in a template.\n */\nclass ElementAst {\n constructor(name, attrs, inputs, outputs, references, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan, endSourceSpan) {\n this.name = name;\n this.attrs = attrs;\n this.inputs = inputs;\n this.outputs = outputs;\n this.references = references;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.queryMatches = queryMatches;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitElement(this, context);\n }\n}\n/**\n * A `` element included in an Angular template.\n */\nclass EmbeddedTemplateAst {\n constructor(attrs, outputs, references, variables, directives, providers, hasViewContainer, queryMatches, children, ngContentIndex, sourceSpan) {\n this.attrs = attrs;\n this.outputs = outputs;\n this.references = references;\n this.variables = variables;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.queryMatches = queryMatches;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitEmbeddedTemplate(this, context);\n }\n}\n/**\n * A directive property with a bound value (e.g. `*ngIf=\"condition\").\n */\nclass BoundDirectivePropertyAst {\n constructor(directiveName, templateName, value, sourceSpan) {\n this.directiveName = directiveName;\n this.templateName = templateName;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitDirectiveProperty(this, context);\n }\n}\n/**\n * A directive declared on an element.\n */\nclass DirectiveAst {\n constructor(directive, inputs, hostProperties, hostEvents, contentQueryStartId, sourceSpan) {\n this.directive = directive;\n this.inputs = inputs;\n this.hostProperties = hostProperties;\n this.hostEvents = hostEvents;\n this.contentQueryStartId = contentQueryStartId;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitDirective(this, context);\n }\n}\n/**\n * A provider declared on an element\n */\nclass ProviderAst {\n constructor(token, multiProvider, eager, providers, providerType, lifecycleHooks, sourceSpan, isModule) {\n this.token = token;\n this.multiProvider = multiProvider;\n this.eager = eager;\n this.providers = providers;\n this.providerType = providerType;\n this.lifecycleHooks = lifecycleHooks;\n this.sourceSpan = sourceSpan;\n this.isModule = isModule;\n }\n visit(visitor, context) {\n // No visit method in the visitor for now...\n return null;\n }\n}\nvar ProviderAstType;\n(function (ProviderAstType) {\n ProviderAstType[ProviderAstType[\"PublicService\"] = 0] = \"PublicService\";\n ProviderAstType[ProviderAstType[\"PrivateService\"] = 1] = \"PrivateService\";\n ProviderAstType[ProviderAstType[\"Component\"] = 2] = \"Component\";\n ProviderAstType[ProviderAstType[\"Directive\"] = 3] = \"Directive\";\n ProviderAstType[ProviderAstType[\"Builtin\"] = 4] = \"Builtin\";\n})(ProviderAstType || (ProviderAstType = {}));\n/**\n * Position where content is to be projected (instance of `` in a template).\n */\nclass NgContentAst {\n constructor(index, ngContentIndex, sourceSpan) {\n this.index = index;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n visit(visitor, context) {\n return visitor.visitNgContent(this, context);\n }\n}\n/**\n * A visitor that accepts each node but doesn't do anything. It is intended to be used\n * as the base class for a visitor that is only interested in a subset of the node types.\n */\nclass NullTemplateVisitor {\n visitNgContent(ast, context) { }\n visitEmbeddedTemplate(ast, context) { }\n visitElement(ast, context) { }\n visitReference(ast, context) { }\n visitVariable(ast, context) { }\n visitEvent(ast, context) { }\n visitElementProperty(ast, context) { }\n visitAttr(ast, context) { }\n visitBoundText(ast, context) { }\n visitText(ast, context) { }\n visitDirective(ast, context) { }\n visitDirectiveProperty(ast, context) { }\n}\n/**\n * Base class that can be used to build a visitor that visits each node\n * in an template ast recursively.\n */\nclass RecursiveTemplateAstVisitor extends NullTemplateVisitor {\n constructor() {\n super();\n }\n // Nodes with children\n visitEmbeddedTemplate(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.references);\n visit(ast.variables);\n visit(ast.directives);\n visit(ast.providers);\n visit(ast.children);\n });\n }\n visitElement(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.attrs);\n visit(ast.inputs);\n visit(ast.outputs);\n visit(ast.references);\n visit(ast.directives);\n visit(ast.providers);\n visit(ast.children);\n });\n }\n visitDirective(ast, context) {\n return this.visitChildren(context, visit => {\n visit(ast.inputs);\n visit(ast.hostProperties);\n visit(ast.hostEvents);\n });\n }\n visitChildren(context, cb) {\n let results = [];\n let t = this;\n function visit(children) {\n if (children && children.length)\n results.push(templateVisitAll(t, children, context));\n }\n cb(visit);\n return Array.prototype.concat.apply([], results);\n }\n}\n/**\n * Visit every node in a list of {@link TemplateAst}s with the given {@link TemplateAstVisitor}.\n */\nfunction templateVisitAll(visitor, asts, context = null) {\n const result = [];\n const visit = visitor.visit ?\n (ast) => visitor.visit(ast, context) || ast.visit(visitor, context) :\n (ast) => ast.visit(visitor, context);\n asts.forEach(ast => {\n const astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\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 ProviderError extends ParseError {\n constructor(message, span) {\n super(span, message);\n }\n}\nclass ProviderViewContext {\n constructor(reflector, component) {\n this.reflector = reflector;\n this.component = component;\n this.errors = [];\n this.viewQueries = _getViewQueries(component);\n this.viewProviders = new Map();\n component.viewProviders.forEach((provider) => {\n if (this.viewProviders.get(tokenReference(provider.token)) == null) {\n this.viewProviders.set(tokenReference(provider.token), true);\n }\n });\n }\n}\nclass ProviderElementContext {\n constructor(viewContext, _parent, _isViewRoot, _directiveAsts, attrs, refs, isTemplate, contentQueryStartId, _sourceSpan) {\n this.viewContext = viewContext;\n this._parent = _parent;\n this._isViewRoot = _isViewRoot;\n this._directiveAsts = _directiveAsts;\n this._sourceSpan = _sourceSpan;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._queriedTokens = new Map();\n this.transformedHasViewContainer = false;\n this._attrs = {};\n attrs.forEach((attrAst) => this._attrs[attrAst.name] = attrAst.value);\n const directivesMeta = _directiveAsts.map(directiveAst => directiveAst.directive);\n this._allProviders =\n _resolveProvidersFromDirectives(directivesMeta, _sourceSpan, viewContext.errors);\n this._contentQueries = _getContentQueries(contentQueryStartId, directivesMeta);\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._addQueryReadsTo(provider.token, provider.token, this._queriedTokens);\n });\n if (isTemplate) {\n const templateRefId = createTokenForExternalReference(this.viewContext.reflector, Identifiers.TemplateRef);\n this._addQueryReadsTo(templateRefId, templateRefId, this._queriedTokens);\n }\n refs.forEach((refAst) => {\n let defaultQueryValue = refAst.value ||\n createTokenForExternalReference(this.viewContext.reflector, Identifiers.ElementRef);\n this._addQueryReadsTo({ value: refAst.name }, defaultQueryValue, this._queriedTokens);\n });\n if (this._queriedTokens.get(this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef))) {\n this.transformedHasViewContainer = true;\n }\n // create the providers that we know are eager first\n Array.from(this._allProviders.values()).forEach((provider) => {\n const eager = provider.eager || this._queriedTokens.get(tokenReference(provider.token));\n if (eager) {\n this._getOrCreateLocalProvider(provider.providerType, provider.token, true);\n }\n });\n }\n afterElement() {\n // collect lazy providers\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._getOrCreateLocalProvider(provider.providerType, provider.token, false);\n });\n }\n get transformProviders() {\n // Note: Maps keep their insertion order.\n const lazyProviders = [];\n const eagerProviders = [];\n this._transformedProviders.forEach(provider => {\n if (provider.eager) {\n eagerProviders.push(provider);\n }\n else {\n lazyProviders.push(provider);\n }\n });\n return lazyProviders.concat(eagerProviders);\n }\n get transformedDirectiveAsts() {\n const sortedProviderTypes = this.transformProviders.map(provider => provider.token.identifier);\n const sortedDirectives = this._directiveAsts.slice();\n sortedDirectives.sort((dir1, dir2) => sortedProviderTypes.indexOf(dir1.directive.type) -\n sortedProviderTypes.indexOf(dir2.directive.type));\n return sortedDirectives;\n }\n get queryMatches() {\n const allMatches = [];\n this._queriedTokens.forEach((matches) => {\n allMatches.push(...matches);\n });\n return allMatches;\n }\n _addQueryReadsTo(token, defaultValue, queryReadTokens) {\n this._getQueriesFor(token).forEach((query) => {\n const queryValue = query.meta.read || defaultValue;\n const tokenRef = tokenReference(queryValue);\n let queryMatches = queryReadTokens.get(tokenRef);\n if (!queryMatches) {\n queryMatches = [];\n queryReadTokens.set(tokenRef, queryMatches);\n }\n queryMatches.push({ queryId: query.queryId, value: queryValue });\n });\n }\n _getQueriesFor(token) {\n const result = [];\n let currentEl = this;\n let distance = 0;\n let queries;\n while (currentEl !== null) {\n queries = currentEl._contentQueries.get(tokenReference(token));\n if (queries) {\n result.push(...queries.filter((query) => query.meta.descendants || distance <= 1));\n }\n if (currentEl._directiveAsts.length > 0) {\n distance++;\n }\n currentEl = currentEl._parent;\n }\n queries = this.viewContext.viewQueries.get(tokenReference(token));\n if (queries) {\n result.push(...queries);\n }\n return result;\n }\n _getOrCreateLocalProvider(requestingProviderType, token, eager) {\n const resolvedProvider = this._allProviders.get(tokenReference(token));\n if (!resolvedProvider ||\n ((requestingProviderType === ProviderAstType.Directive ||\n requestingProviderType === ProviderAstType.PublicService) &&\n resolvedProvider.providerType === ProviderAstType.PrivateService) ||\n ((requestingProviderType === ProviderAstType.PrivateService ||\n requestingProviderType === ProviderAstType.PublicService) &&\n resolvedProvider.providerType === ProviderAstType.Builtin)) {\n return null;\n }\n let transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n if (transformedProviderAst) {\n return transformedProviderAst;\n }\n if (this._seenProviders.get(tokenReference(token)) != null) {\n this.viewContext.errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, this._sourceSpan));\n return null;\n }\n this._seenProviders.set(tokenReference(token), true);\n const transformedProviders = resolvedProvider.providers.map((provider) => {\n let transformedUseValue = provider.useValue;\n let transformedUseExisting = provider.useExisting;\n let transformedDeps = undefined;\n if (provider.useExisting != null) {\n const existingDiDep = this._getDependency(resolvedProvider.providerType, { token: provider.useExisting }, eager);\n if (existingDiDep.token != null) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (provider.useFactory) {\n const deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));\n }\n else if (provider.useClass) {\n const deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(resolvedProvider.providerType, dep, eager));\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n return transformedProviderAst;\n }\n _getLocalDependency(requestingProviderType, dep, eager = false) {\n if (dep.isAttribute) {\n const attrValue = this._attrs[dep.token.value];\n return { isValue: true, value: attrValue == null ? null : attrValue };\n }\n if (dep.token != null) {\n // access builtints\n if ((requestingProviderType === ProviderAstType.Directive ||\n requestingProviderType === ProviderAstType.Component)) {\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.Renderer) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ElementRef) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ChangeDetectorRef) ||\n tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.TemplateRef)) {\n return dep;\n }\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.ViewContainerRef)) {\n this.transformedHasViewContainer = true;\n }\n }\n // access the injector\n if (tokenReference(dep.token) ===\n this.viewContext.reflector.resolveExternalReference(Identifiers.Injector)) {\n return dep;\n }\n // access providers\n if (this._getOrCreateLocalProvider(requestingProviderType, dep.token, eager) != null) {\n return dep;\n }\n }\n return null;\n }\n _getDependency(requestingProviderType, dep, eager = false) {\n let currElement = this;\n let currEager = eager;\n let result = null;\n if (!dep.isSkipSelf) {\n result = this._getLocalDependency(requestingProviderType, dep, eager);\n }\n if (dep.isSelf) {\n if (!result && dep.isOptional) {\n result = { isValue: true, value: null };\n }\n }\n else {\n // check parent elements\n while (!result && currElement._parent) {\n const prevElement = currElement;\n currElement = currElement._parent;\n if (prevElement._isViewRoot) {\n currEager = false;\n }\n result = currElement._getLocalDependency(ProviderAstType.PublicService, dep, currEager);\n }\n // check @Host restriction\n if (!result) {\n if (!dep.isHost || this.viewContext.component.isHost ||\n this.viewContext.component.type.reference === tokenReference(dep.token) ||\n this.viewContext.viewProviders.get(tokenReference(dep.token)) != null) {\n result = dep;\n }\n else {\n result = dep.isOptional ? { isValue: true, value: null } : null;\n }\n }\n }\n if (!result) {\n this.viewContext.errors.push(new ProviderError(`No provider for ${tokenName(dep.token)}`, this._sourceSpan));\n }\n return result;\n }\n}\nclass NgModuleProviderAnalyzer {\n constructor(reflector, ngModule, extraProviders, sourceSpan) {\n this.reflector = reflector;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._errors = [];\n this._allProviders = new Map();\n ngModule.transitiveModule.modules.forEach((ngModuleType) => {\n const ngModuleProvider = { token: { identifier: ngModuleType }, useClass: ngModuleType };\n _resolveProviders([ngModuleProvider], ProviderAstType.PublicService, true, sourceSpan, this._errors, this._allProviders, /* isModule */ true);\n });\n _resolveProviders(ngModule.transitiveModule.providers.map(entry => entry.provider).concat(extraProviders), ProviderAstType.PublicService, false, sourceSpan, this._errors, this._allProviders, \n /* isModule */ false);\n }\n parse() {\n Array.from(this._allProviders.values()).forEach((provider) => {\n this._getOrCreateLocalProvider(provider.token, provider.eager);\n });\n if (this._errors.length > 0) {\n const errorString = this._errors.join('\\n');\n throw new Error(`Provider parse errors:\\n${errorString}`);\n }\n // Note: Maps keep their insertion order.\n const lazyProviders = [];\n const eagerProviders = [];\n this._transformedProviders.forEach(provider => {\n if (provider.eager) {\n eagerProviders.push(provider);\n }\n else {\n lazyProviders.push(provider);\n }\n });\n return lazyProviders.concat(eagerProviders);\n }\n _getOrCreateLocalProvider(token, eager) {\n const resolvedProvider = this._allProviders.get(tokenReference(token));\n if (!resolvedProvider) {\n return null;\n }\n let transformedProviderAst = this._transformedProviders.get(tokenReference(token));\n if (transformedProviderAst) {\n return transformedProviderAst;\n }\n if (this._seenProviders.get(tokenReference(token)) != null) {\n this._errors.push(new ProviderError(`Cannot instantiate cyclic dependency! ${tokenName(token)}`, resolvedProvider.sourceSpan));\n return null;\n }\n this._seenProviders.set(tokenReference(token), true);\n const transformedProviders = resolvedProvider.providers.map((provider) => {\n let transformedUseValue = provider.useValue;\n let transformedUseExisting = provider.useExisting;\n let transformedDeps = undefined;\n if (provider.useExisting != null) {\n const existingDiDep = this._getDependency({ token: provider.useExisting }, eager, resolvedProvider.sourceSpan);\n if (existingDiDep.token != null) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (provider.useFactory) {\n const deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));\n }\n else if (provider.useClass) {\n const deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map((dep) => this._getDependency(dep, eager, resolvedProvider.sourceSpan));\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(tokenReference(token), transformedProviderAst);\n return transformedProviderAst;\n }\n _getDependency(dep, eager = false, requestorSourceSpan) {\n let foundLocal = false;\n if (!dep.isSkipSelf && dep.token != null) {\n // access the injector\n if (tokenReference(dep.token) ===\n this.reflector.resolveExternalReference(Identifiers.Injector) ||\n tokenReference(dep.token) ===\n this.reflector.resolveExternalReference(Identifiers.ComponentFactoryResolver)) {\n foundLocal = true;\n // access providers\n }\n else if (this._getOrCreateLocalProvider(dep.token, eager) != null) {\n foundLocal = true;\n }\n }\n return dep;\n }\n}\nfunction _transformProvider(provider, { useExisting, useValue, deps }) {\n return {\n token: provider.token,\n useClass: provider.useClass,\n useExisting: useExisting,\n useFactory: provider.useFactory,\n useValue: useValue,\n deps: deps,\n multi: provider.multi\n };\n}\nfunction _transformProviderAst(provider, { eager, providers }) {\n return new ProviderAst(provider.token, provider.multiProvider, provider.eager || eager, providers, provider.providerType, provider.lifecycleHooks, provider.sourceSpan, provider.isModule);\n}\nfunction _resolveProvidersFromDirectives(directives, sourceSpan, targetErrors) {\n const providersByToken = new Map();\n directives.forEach((directive) => {\n const dirProvider = { token: { identifier: directive.type }, useClass: directive.type };\n _resolveProviders([dirProvider], directive.isComponent ? ProviderAstType.Component : ProviderAstType.Directive, true, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n });\n // Note: directives need to be able to overwrite providers of a component!\n const directivesWithComponentFirst = directives.filter(dir => dir.isComponent).concat(directives.filter(dir => !dir.isComponent));\n directivesWithComponentFirst.forEach((directive) => {\n _resolveProviders(directive.providers, ProviderAstType.PublicService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n _resolveProviders(directive.viewProviders, ProviderAstType.PrivateService, false, sourceSpan, targetErrors, providersByToken, /* isModule */ false);\n });\n return providersByToken;\n}\nfunction _resolveProviders(providers, providerType, eager, sourceSpan, targetErrors, targetProvidersByToken, isModule) {\n providers.forEach((provider) => {\n let resolvedProvider = targetProvidersByToken.get(tokenReference(provider.token));\n if (resolvedProvider != null && !!resolvedProvider.multiProvider !== !!provider.multi) {\n targetErrors.push(new ProviderError(`Mixing multi and non multi provider is not possible for token ${tokenName(resolvedProvider.token)}`, sourceSpan));\n }\n if (!resolvedProvider) {\n const lifecycleHooks = provider.token.identifier &&\n provider.token.identifier.lifecycleHooks ?\n provider.token.identifier.lifecycleHooks :\n [];\n const isUseValue = !(provider.useClass || provider.useExisting || provider.useFactory);\n resolvedProvider = new ProviderAst(provider.token, !!provider.multi, eager || isUseValue, [provider], providerType, lifecycleHooks, sourceSpan, isModule);\n targetProvidersByToken.set(tokenReference(provider.token), resolvedProvider);\n }\n else {\n if (!provider.multi) {\n resolvedProvider.providers.length = 0;\n }\n resolvedProvider.providers.push(provider);\n }\n });\n}\nfunction _getViewQueries(component) {\n // Note: queries start with id 1 so we can use the number in a Bloom filter!\n let viewQueryId = 1;\n const viewQueries = new Map();\n if (component.viewQueries) {\n component.viewQueries.forEach((query) => _addQueryToTokenMap(viewQueries, { meta: query, queryId: viewQueryId++ }));\n }\n return viewQueries;\n}\nfunction _getContentQueries(contentQueryStartId, directives) {\n let contentQueryId = contentQueryStartId;\n const contentQueries = new Map();\n directives.forEach((directive, directiveIndex) => {\n if (directive.queries) {\n directive.queries.forEach((query) => _addQueryToTokenMap(contentQueries, { meta: query, queryId: contentQueryId++ }));\n }\n });\n return contentQueries;\n}\nfunction _addQueryToTokenMap(map, query) {\n query.meta.selectors.forEach((token) => {\n let entry = map.get(tokenReference(token));\n if (!entry) {\n entry = [];\n map.set(tokenReference(token), entry);\n }\n entry.push(query);\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 */\nclass StyleWithImports {\n constructor(style, styleUrls) {\n this.style = style;\n this.styleUrls = styleUrls;\n }\n}\nfunction isStyleUrlResolvable(url) {\n if (url == null || url.length === 0 || url[0] == '/')\n return false;\n const schemeMatch = url.match(URL_WITH_SCHEMA_REGEXP);\n return schemeMatch === null || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';\n}\n/**\n * Rewrites stylesheets by resolving and removing the @import urls that\n * are either relative or don't have a `package:` scheme\n */\nfunction extractStyleUrls(resolver, baseUrl, cssText) {\n const foundUrls = [];\n const modifiedCssText = cssText.replace(CSS_STRIPPABLE_COMMENT_REGEXP, '')\n .replace(CSS_IMPORT_REGEXP, (...m) => {\n const url = m[1] || m[2];\n if (!isStyleUrlResolvable(url)) {\n // Do not attempt to resolve non-package absolute URLs with URI\n // scheme\n return m[0];\n }\n foundUrls.push(resolver.resolve(baseUrl, url));\n return '';\n });\n return new StyleWithImports(modifiedCssText, foundUrls);\n}\nconst CSS_IMPORT_REGEXP = /@import\\s+(?:url\\()?\\s*(?:(?:['\"]([^'\"]*))|([^;\\)\\s]*))[^;]*;?/g;\nconst CSS_STRIPPABLE_COMMENT_REGEXP = /\\/\\*(?!#\\s*(?:sourceURL|sourceMappingURL)=)[\\s\\S]+?\\*\\//g;\nconst URL_WITH_SCHEMA_REGEXP = /^([^:/?#]+):/;\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 PROPERTY_PARTS_SEPARATOR = '.';\nconst ATTRIBUTE_PREFIX = 'attr';\nconst CLASS_PREFIX = 'class';\nconst STYLE_PREFIX = 'style';\nconst TEMPLATE_ATTR_PREFIX = '*';\nconst ANIMATE_PROP_PREFIX = 'animate-';\n/**\n * Parses bindings in templates and in the directive host area.\n */\nclass BindingParser {\n constructor(_exprParser, _interpolationConfig, _schemaRegistry, pipes, errors) {\n this._exprParser = _exprParser;\n this._interpolationConfig = _interpolationConfig;\n this._schemaRegistry = _schemaRegistry;\n this.errors = errors;\n this.pipesByName = null;\n this._usedPipes = new Map();\n // When the `pipes` parameter is `null`, do not check for used pipes\n // This is used in IVY when we might not know the available pipes at compile time\n if (pipes) {\n const pipesByName = new Map();\n pipes.forEach(pipe => pipesByName.set(pipe.name, pipe));\n this.pipesByName = pipesByName;\n }\n }\n get interpolationConfig() {\n return this._interpolationConfig;\n }\n getUsedPipes() {\n return Array.from(this._usedPipes.values());\n }\n createBoundHostProperties(dirMeta, sourceSpan) {\n if (dirMeta.hostProperties) {\n const boundProps = [];\n Object.keys(dirMeta.hostProperties).forEach(propName => {\n const expression = dirMeta.hostProperties[propName];\n if (typeof expression === 'string') {\n this.parsePropertyBinding(propName, expression, true, sourceSpan, sourceSpan.start.offset, undefined, [], \n // Use the `sourceSpan` for `keySpan`. This isn't really accurate, but neither is the\n // sourceSpan, as it represents the sourceSpan of the host itself rather than the\n // source of the host binding (which doesn't exist in the template). Regardless,\n // neither of these values are used in Ivy but are only here to satisfy the function\n // signature. This should likely be refactored in the future so that `sourceSpan`\n // isn't being used inaccurately.\n boundProps, sourceSpan);\n }\n else {\n this._reportError(`Value of the host property binding \"${propName}\" needs to be a string representing an expression but got \"${expression}\" (${typeof expression})`, sourceSpan);\n }\n });\n return boundProps;\n }\n return null;\n }\n createDirectiveHostPropertyAsts(dirMeta, elementSelector, sourceSpan) {\n const boundProps = this.createBoundHostProperties(dirMeta, sourceSpan);\n return boundProps &&\n boundProps.map((prop) => this.createBoundElementProperty(elementSelector, prop));\n }\n createDirectiveHostEventAsts(dirMeta, sourceSpan) {\n if (dirMeta.hostListeners) {\n const targetEvents = [];\n Object.keys(dirMeta.hostListeners).forEach(propName => {\n const expression = dirMeta.hostListeners[propName];\n if (typeof expression === 'string') {\n // Use the `sourceSpan` for `keySpan` and `handlerSpan`. This isn't really accurate, but\n // neither is the `sourceSpan`, as it represents the `sourceSpan` of the host itself\n // rather than the source of the host binding (which doesn't exist in the template).\n // Regardless, neither of these values are used in Ivy but are only here to satisfy the\n // function signature. This should likely be refactored in the future so that `sourceSpan`\n // isn't being used inaccurately.\n this.parseEvent(propName, expression, sourceSpan, sourceSpan, [], targetEvents, sourceSpan);\n }\n else {\n this._reportError(`Value of the host listener \"${propName}\" needs to be a string representing an expression but got \"${expression}\" (${typeof expression})`, sourceSpan);\n }\n });\n return targetEvents;\n }\n return null;\n }\n parseInterpolation(value, sourceSpan) {\n const sourceInfo = sourceSpan.start.toString();\n const absoluteOffset = sourceSpan.fullStart.offset;\n try {\n const ast = this._exprParser.parseInterpolation(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n /**\n * Similar to `parseInterpolation`, but treats the provided string as a single expression\n * element that would normally appear within the interpolation prefix and suffix (`{{` and `}}`).\n * This is used for parsing the switch expression in ICUs.\n */\n parseInterpolationExpression(expression, sourceSpan) {\n const sourceInfo = sourceSpan.start.toString();\n const absoluteOffset = sourceSpan.start.offset;\n try {\n const ast = this._exprParser.parseInterpolationExpression(expression, sourceInfo, absoluteOffset);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n /**\n * Parses the bindings in a microsyntax expression, and converts them to\n * `ParsedProperty` or `ParsedVariable`.\n *\n * @param tplKey template binding name\n * @param tplValue template binding value\n * @param sourceSpan span of template binding relative to entire the template\n * @param absoluteValueOffset start of the tplValue relative to the entire template\n * @param targetMatchableAttrs potential attributes to match in the template\n * @param targetProps target property bindings in the template\n * @param targetVars target variables in the template\n */\n parseInlineTemplateBinding(tplKey, tplValue, sourceSpan, absoluteValueOffset, targetMatchableAttrs, targetProps, targetVars, isIvyAst) {\n const absoluteKeyOffset = sourceSpan.start.offset + TEMPLATE_ATTR_PREFIX.length;\n const bindings = this._parseTemplateBindings(tplKey, tplValue, sourceSpan, absoluteKeyOffset, absoluteValueOffset);\n for (const binding of bindings) {\n // sourceSpan is for the entire HTML attribute. bindingSpan is for a particular\n // binding within the microsyntax expression so it's more narrow than sourceSpan.\n const bindingSpan = moveParseSourceSpan(sourceSpan, binding.sourceSpan);\n const key = binding.key.source;\n const keySpan = moveParseSourceSpan(sourceSpan, binding.key.span);\n if (binding instanceof VariableBinding) {\n const value = binding.value ? binding.value.source : '$implicit';\n const valueSpan = binding.value ? moveParseSourceSpan(sourceSpan, binding.value.span) : undefined;\n targetVars.push(new ParsedVariable(key, value, bindingSpan, keySpan, valueSpan));\n }\n else if (binding.value) {\n const srcSpan = isIvyAst ? bindingSpan : sourceSpan;\n const valueSpan = moveParseSourceSpan(sourceSpan, binding.value.ast.sourceSpan);\n this._parsePropertyAst(key, binding.value, srcSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetMatchableAttrs.push([key, '' /* value */]);\n // Since this is a literal attribute with no RHS, source span should be\n // just the key span.\n this.parseLiteralAttr(key, null /* value */, keySpan, absoluteValueOffset, undefined /* valueSpan */, targetMatchableAttrs, targetProps, keySpan);\n }\n }\n }\n /**\n * Parses the bindings in a microsyntax expression, e.g.\n * ```\n * \n * ```\n *\n * @param tplKey template binding name\n * @param tplValue template binding value\n * @param sourceSpan span of template binding relative to entire the template\n * @param absoluteKeyOffset start of the `tplKey`\n * @param absoluteValueOffset start of the `tplValue`\n */\n _parseTemplateBindings(tplKey, tplValue, sourceSpan, absoluteKeyOffset, absoluteValueOffset) {\n const sourceInfo = sourceSpan.start.toString();\n try {\n const bindingsResult = this._exprParser.parseTemplateBindings(tplKey, tplValue, sourceInfo, absoluteKeyOffset, absoluteValueOffset);\n this._reportExpressionParserErrors(bindingsResult.errors, sourceSpan);\n bindingsResult.templateBindings.forEach((binding) => {\n if (binding.value instanceof ASTWithSource) {\n this._checkPipes(binding.value, sourceSpan);\n }\n });\n bindingsResult.warnings.forEach((warning) => {\n this._reportError(warning, sourceSpan, ParseErrorLevel.WARNING);\n });\n return bindingsResult.templateBindings;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return [];\n }\n }\n parseLiteralAttr(name, value, sourceSpan, absoluteOffset, valueSpan, targetMatchableAttrs, \n // TODO(atscott): keySpan is only optional here so VE template parser implementation does not\n // have to change This should be required when VE is removed.\n targetProps, keySpan) {\n if (isAnimationLabel(name)) {\n name = name.substring(1);\n if (keySpan !== undefined) {\n keySpan = moveParseSourceSpan(keySpan, new AbsoluteSourceSpan(keySpan.start.offset + 1, keySpan.end.offset));\n }\n if (value) {\n this._reportError(`Assigning animation triggers via @prop=\"exp\" attributes with an expression is invalid.` +\n ` Use property bindings (e.g. [@prop]=\"exp\") or use an attribute without a value (e.g. @prop) instead.`, sourceSpan, ParseErrorLevel.ERROR);\n }\n this._parseAnimation(name, value, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n targetProps.push(new ParsedProperty(name, this._exprParser.wrapLiteralPrimitive(value, '', absoluteOffset), ParsedPropertyType.LITERAL_ATTR, sourceSpan, keySpan, valueSpan));\n }\n }\n parsePropertyBinding(name, expression, isHost, sourceSpan, absoluteOffset, valueSpan, \n // TODO(atscott): keySpan is only optional here so VE template parser implementation does not\n // have to change This should be required when VE is removed.\n targetMatchableAttrs, targetProps, keySpan) {\n if (name.length === 0) {\n this._reportError(`Property name is missing in binding`, sourceSpan);\n }\n let isAnimationProp = false;\n if (name.startsWith(ANIMATE_PROP_PREFIX)) {\n isAnimationProp = true;\n name = name.substring(ANIMATE_PROP_PREFIX.length);\n if (keySpan !== undefined) {\n keySpan = moveParseSourceSpan(keySpan, new AbsoluteSourceSpan(keySpan.start.offset + ANIMATE_PROP_PREFIX.length, keySpan.end.offset));\n }\n }\n else if (isAnimationLabel(name)) {\n isAnimationProp = true;\n name = name.substring(1);\n if (keySpan !== undefined) {\n keySpan = moveParseSourceSpan(keySpan, new AbsoluteSourceSpan(keySpan.start.offset + 1, keySpan.end.offset));\n }\n }\n if (isAnimationProp) {\n this._parseAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n else {\n this._parsePropertyAst(name, this._parseBinding(expression, isHost, valueSpan || sourceSpan, absoluteOffset), sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n }\n }\n parsePropertyInterpolation(name, value, sourceSpan, valueSpan, targetMatchableAttrs, \n // TODO(atscott): keySpan is only optional here so VE template parser implementation does not\n // have to change This should be required when VE is removed.\n targetProps, keySpan) {\n const expr = this.parseInterpolation(value, valueSpan || sourceSpan);\n if (expr) {\n this._parsePropertyAst(name, expr, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps);\n return true;\n }\n return false;\n }\n _parsePropertyAst(name, ast, sourceSpan, keySpan, valueSpan, targetMatchableAttrs, targetProps) {\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.DEFAULT, sourceSpan, keySpan, valueSpan));\n }\n _parseAnimation(name, expression, sourceSpan, absoluteOffset, keySpan, valueSpan, targetMatchableAttrs, targetProps) {\n if (name.length === 0) {\n this._reportError('Animation trigger is missing', sourceSpan);\n }\n // This will occur when a @trigger is not paired with an expression.\n // For animations it is valid to not have an expression since */void\n // states will be applied by angular when the element is attached/detached\n const ast = this._parseBinding(expression || 'undefined', false, valueSpan || sourceSpan, absoluteOffset);\n targetMatchableAttrs.push([name, ast.source]);\n targetProps.push(new ParsedProperty(name, ast, ParsedPropertyType.ANIMATION, sourceSpan, keySpan, valueSpan));\n }\n _parseBinding(value, isHostBinding, sourceSpan, absoluteOffset) {\n const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown)').toString();\n try {\n const ast = isHostBinding ?\n this._exprParser.parseSimpleBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig) :\n this._exprParser.parseBinding(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast)\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n createBoundElementProperty(elementSelector, boundProp, skipValidation = false, mapPropertyName = true) {\n if (boundProp.isAnimation) {\n return new BoundElementProperty(boundProp.name, 4 /* Animation */, SecurityContext.NONE, boundProp.expression, null, boundProp.sourceSpan, boundProp.keySpan, boundProp.valueSpan);\n }\n let unit = null;\n let bindingType = undefined;\n let boundPropertyName = null;\n const parts = boundProp.name.split(PROPERTY_PARTS_SEPARATOR);\n let securityContexts = undefined;\n // Check for special cases (prefix style, attr, class)\n if (parts.length > 1) {\n if (parts[0] == ATTRIBUTE_PREFIX) {\n boundPropertyName = parts.slice(1).join(PROPERTY_PARTS_SEPARATOR);\n if (!skipValidation) {\n this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, true);\n }\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, true);\n const nsSeparatorIdx = boundPropertyName.indexOf(':');\n if (nsSeparatorIdx > -1) {\n const ns = boundPropertyName.substring(0, nsSeparatorIdx);\n const name = boundPropertyName.substring(nsSeparatorIdx + 1);\n boundPropertyName = mergeNsAndName(ns, name);\n }\n bindingType = 1 /* Attribute */;\n }\n else if (parts[0] == CLASS_PREFIX) {\n boundPropertyName = parts[1];\n bindingType = 2 /* Class */;\n securityContexts = [SecurityContext.NONE];\n }\n else if (parts[0] == STYLE_PREFIX) {\n unit = parts.length > 2 ? parts[2] : null;\n boundPropertyName = parts[1];\n bindingType = 3 /* Style */;\n securityContexts = [SecurityContext.STYLE];\n }\n }\n // If not a special case, use the full property name\n if (boundPropertyName === null) {\n const mappedPropName = this._schemaRegistry.getMappedPropName(boundProp.name);\n boundPropertyName = mapPropertyName ? mappedPropName : boundProp.name;\n securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, mappedPropName, false);\n bindingType = 0 /* Property */;\n if (!skipValidation) {\n this._validatePropertyOrAttributeName(mappedPropName, boundProp.sourceSpan, false);\n }\n }\n return new BoundElementProperty(boundPropertyName, bindingType, securityContexts[0], boundProp.expression, unit, boundProp.sourceSpan, boundProp.keySpan, boundProp.valueSpan);\n }\n // TODO: keySpan should be required but was made optional to avoid changing VE parser.\n parseEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents, keySpan) {\n if (name.length === 0) {\n this._reportError(`Event name is missing in binding`, sourceSpan);\n }\n if (isAnimationLabel(name)) {\n name = name.substr(1);\n if (keySpan !== undefined) {\n keySpan = moveParseSourceSpan(keySpan, new AbsoluteSourceSpan(keySpan.start.offset + 1, keySpan.end.offset));\n }\n this._parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents, keySpan);\n }\n else {\n this._parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents, keySpan);\n }\n }\n calcPossibleSecurityContexts(selector, propName, isAttribute) {\n const prop = this._schemaRegistry.getMappedPropName(propName);\n return calcPossibleSecurityContexts(this._schemaRegistry, selector, prop, isAttribute);\n }\n _parseAnimationEvent(name, expression, sourceSpan, handlerSpan, targetEvents, keySpan) {\n const matches = splitAtPeriod(name, [name, '']);\n const eventName = matches[0];\n const phase = matches[1].toLowerCase();\n const ast = this._parseAction(expression, handlerSpan);\n targetEvents.push(new ParsedEvent(eventName, phase, 1 /* Animation */, ast, sourceSpan, handlerSpan, keySpan));\n if (eventName.length === 0) {\n this._reportError(`Animation event name is missing in binding`, sourceSpan);\n }\n if (phase) {\n if (phase !== 'start' && phase !== 'done') {\n this._reportError(`The provided animation output phase value \"${phase}\" for \"@${eventName}\" is not supported (use start or done)`, sourceSpan);\n }\n }\n else {\n this._reportError(`The animation trigger output event (@${eventName}) is missing its phase value name (start or done are currently supported)`, sourceSpan);\n }\n }\n _parseRegularEvent(name, expression, sourceSpan, handlerSpan, targetMatchableAttrs, targetEvents, keySpan) {\n // long format: 'target: eventName'\n const [target, eventName] = splitAtColon(name, [null, name]);\n const ast = this._parseAction(expression, handlerSpan);\n targetMatchableAttrs.push([name, ast.source]);\n targetEvents.push(new ParsedEvent(eventName, target, 0 /* Regular */, ast, sourceSpan, handlerSpan, keySpan));\n // Don't detect directives for event names for now,\n // so don't add the event name to the matchableAttrs\n }\n _parseAction(value, sourceSpan) {\n const sourceInfo = (sourceSpan && sourceSpan.start || '(unknown').toString();\n const absoluteOffset = (sourceSpan && sourceSpan.start) ? sourceSpan.start.offset : 0;\n try {\n const ast = this._exprParser.parseAction(value, sourceInfo, absoluteOffset, this._interpolationConfig);\n if (ast) {\n this._reportExpressionParserErrors(ast.errors, sourceSpan);\n }\n if (!ast || ast.ast instanceof EmptyExpr) {\n this._reportError(`Empty expressions are not allowed`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(`${e}`, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo, absoluteOffset);\n }\n }\n _reportError(message, sourceSpan, level = ParseErrorLevel.ERROR) {\n this.errors.push(new ParseError(sourceSpan, message, level));\n }\n _reportExpressionParserErrors(errors, sourceSpan) {\n for (const error of errors) {\n this._reportError(error.message, sourceSpan);\n }\n }\n // Make sure all the used pipes are known in `this.pipesByName`\n _checkPipes(ast, sourceSpan) {\n if (ast && this.pipesByName) {\n const collector = new PipeCollector();\n ast.visit(collector);\n collector.pipes.forEach((ast, pipeName) => {\n const pipeMeta = this.pipesByName.get(pipeName);\n if (!pipeMeta) {\n this._reportError(`The pipe '${pipeName}' could not be found`, new ParseSourceSpan(sourceSpan.start.moveBy(ast.span.start), sourceSpan.start.moveBy(ast.span.end)));\n }\n else {\n this._usedPipes.set(pipeName, pipeMeta);\n }\n });\n }\n }\n /**\n * @param propName the name of the property / attribute\n * @param sourceSpan\n * @param isAttr true when binding to an attribute\n */\n _validatePropertyOrAttributeName(propName, sourceSpan, isAttr) {\n const report = isAttr ? this._schemaRegistry.validateAttribute(propName) :\n this._schemaRegistry.validateProperty(propName);\n if (report.error) {\n this._reportError(report.msg, sourceSpan, ParseErrorLevel.ERROR);\n }\n }\n}\nclass PipeCollector extends RecursiveAstVisitor$1 {\n constructor() {\n super(...arguments);\n this.pipes = new Map();\n }\n visitPipe(ast, context) {\n this.pipes.set(ast.name, ast);\n ast.exp.visit(this);\n this.visitAll(ast.args, context);\n return null;\n }\n}\nfunction isAnimationLabel(name) {\n return name[0] == '@';\n}\nfunction calcPossibleSecurityContexts(registry, selector, propName, isAttribute) {\n const ctxs = [];\n CssSelector.parse(selector).forEach((selector) => {\n const elementNames = selector.element ? [selector.element] : registry.allKnownElementNames();\n const notElementNames = new Set(selector.notSelectors.filter(selector => selector.isElementSelector())\n .map((selector) => selector.element));\n const possibleElementNames = elementNames.filter(elementName => !notElementNames.has(elementName));\n ctxs.push(...possibleElementNames.map(elementName => registry.securityContext(elementName, propName, isAttribute)));\n });\n return ctxs.length === 0 ? [SecurityContext.NONE] : Array.from(new Set(ctxs)).sort();\n}\n/**\n * Compute a new ParseSourceSpan based off an original `sourceSpan` by using\n * absolute offsets from the specified `absoluteSpan`.\n *\n * @param sourceSpan original source span\n * @param absoluteSpan absolute source span to move to\n */\nfunction moveParseSourceSpan(sourceSpan, absoluteSpan) {\n // The difference of two absolute offsets provide the relative offset\n const startDiff = absoluteSpan.start - sourceSpan.start.offset;\n const endDiff = absoluteSpan.end - sourceSpan.end.offset;\n return new ParseSourceSpan(sourceSpan.start.moveBy(startDiff), sourceSpan.end.moveBy(endDiff), sourceSpan.fullStart.moveBy(startDiff), sourceSpan.details);\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_CONTENT_SELECT_ATTR = 'select';\nconst LINK_ELEMENT = 'link';\nconst LINK_STYLE_REL_ATTR = 'rel';\nconst LINK_STYLE_HREF_ATTR = 'href';\nconst LINK_STYLE_REL_VALUE = 'stylesheet';\nconst STYLE_ELEMENT = 'style';\nconst SCRIPT_ELEMENT = 'script';\nconst NG_NON_BINDABLE_ATTR = 'ngNonBindable';\nconst NG_PROJECT_AS = 'ngProjectAs';\nfunction preparseElement(ast) {\n let selectAttr = null;\n let hrefAttr = null;\n let relAttr = null;\n let nonBindable = false;\n let projectAs = '';\n ast.attrs.forEach(attr => {\n const lcAttrName = attr.name.toLowerCase();\n if (lcAttrName == NG_CONTENT_SELECT_ATTR) {\n selectAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_HREF_ATTR) {\n hrefAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_REL_ATTR) {\n relAttr = attr.value;\n }\n else if (attr.name == NG_NON_BINDABLE_ATTR) {\n nonBindable = true;\n }\n else if (attr.name == NG_PROJECT_AS) {\n if (attr.value.length > 0) {\n projectAs = attr.value;\n }\n }\n });\n selectAttr = normalizeNgContentSelect(selectAttr);\n const nodeName = ast.name.toLowerCase();\n let type = PreparsedElementType.OTHER;\n if (isNgContent(nodeName)) {\n type = PreparsedElementType.NG_CONTENT;\n }\n else if (nodeName == STYLE_ELEMENT) {\n type = PreparsedElementType.STYLE;\n }\n else if (nodeName == SCRIPT_ELEMENT) {\n type = PreparsedElementType.SCRIPT;\n }\n else if (nodeName == LINK_ELEMENT && relAttr == LINK_STYLE_REL_VALUE) {\n type = PreparsedElementType.STYLESHEET;\n }\n return new PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs);\n}\nvar PreparsedElementType;\n(function (PreparsedElementType) {\n PreparsedElementType[PreparsedElementType[\"NG_CONTENT\"] = 0] = \"NG_CONTENT\";\n PreparsedElementType[PreparsedElementType[\"STYLE\"] = 1] = \"STYLE\";\n PreparsedElementType[PreparsedElementType[\"STYLESHEET\"] = 2] = \"STYLESHEET\";\n PreparsedElementType[PreparsedElementType[\"SCRIPT\"] = 3] = \"SCRIPT\";\n PreparsedElementType[PreparsedElementType[\"OTHER\"] = 4] = \"OTHER\";\n})(PreparsedElementType || (PreparsedElementType = {}));\nclass PreparsedElement {\n constructor(type, selectAttr, hrefAttr, nonBindable, projectAs) {\n this.type = type;\n this.selectAttr = selectAttr;\n this.hrefAttr = hrefAttr;\n this.nonBindable = nonBindable;\n this.projectAs = projectAs;\n }\n}\nfunction normalizeNgContentSelect(selectAttr) {\n if (selectAttr === null || selectAttr.length === 0) {\n return '*';\n }\n return selectAttr;\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 BIND_NAME_REGEXP = /^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.*))|\\[\\(([^\\)]+)\\)\\]|\\[([^\\]]+)\\]|\\(([^\\)]+)\\))$/;\n// Group 1 = \"bind-\"\nconst KW_BIND_IDX = 1;\n// Group 2 = \"let-\"\nconst KW_LET_IDX = 2;\n// Group 3 = \"ref-/#\"\nconst KW_REF_IDX = 3;\n// Group 4 = \"on-\"\nconst KW_ON_IDX = 4;\n// Group 5 = \"bindon-\"\nconst KW_BINDON_IDX = 5;\n// Group 6 = \"@\"\nconst KW_AT_IDX = 6;\n// Group 7 = the identifier after \"bind-\", \"let-\", \"ref-/#\", \"on-\", \"bindon-\" or \"@\"\nconst IDENT_KW_IDX = 7;\n// Group 8 = identifier inside [()]\nconst IDENT_BANANA_BOX_IDX = 8;\n// Group 9 = identifier inside []\nconst IDENT_PROPERTY_IDX = 9;\n// Group 10 = identifier inside ()\nconst IDENT_EVENT_IDX = 10;\nconst TEMPLATE_ATTR_PREFIX$1 = '*';\nconst CLASS_ATTR = 'class';\nlet _TEXT_CSS_SELECTOR;\nfunction TEXT_CSS_SELECTOR() {\n if (!_TEXT_CSS_SELECTOR) {\n _TEXT_CSS_SELECTOR = CssSelector.parse('*')[0];\n }\n return _TEXT_CSS_SELECTOR;\n}\nclass TemplateParseError extends ParseError {\n constructor(message, span, level) {\n super(span, message, level);\n }\n}\nclass TemplateParseResult {\n constructor(templateAst, usedPipes, errors) {\n this.templateAst = templateAst;\n this.usedPipes = usedPipes;\n this.errors = errors;\n }\n}\nclass TemplateParser {\n constructor(_config, _reflector, _exprParser, _schemaRegistry, _htmlParser, _console, transforms) {\n this._config = _config;\n this._reflector = _reflector;\n this._exprParser = _exprParser;\n this._schemaRegistry = _schemaRegistry;\n this._htmlParser = _htmlParser;\n this._console = _console;\n this.transforms = transforms;\n }\n get expressionParser() {\n return this._exprParser;\n }\n parse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {\n var _a;\n const result = this.tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces);\n const warnings = result.errors.filter(error => error.level === ParseErrorLevel.WARNING);\n const errors = result.errors.filter(error => error.level === ParseErrorLevel.ERROR);\n if (warnings.length > 0) {\n (_a = this._console) === null || _a === void 0 ? void 0 : _a.warn(`Template parse warnings:\\n${warnings.join('\\n')}`);\n }\n if (errors.length > 0) {\n const errorString = errors.join('\\n');\n throw syntaxError(`Template parse errors:\\n${errorString}`, errors);\n }\n return { template: result.templateAst, pipes: result.usedPipes };\n }\n tryParse(component, template, directives, pipes, schemas, templateUrl, preserveWhitespaces) {\n let htmlParseResult = typeof template === 'string' ?\n this._htmlParser.parse(template, templateUrl, {\n tokenizeExpansionForms: true,\n interpolationConfig: this.getInterpolationConfig(component)\n }) :\n template;\n if (!preserveWhitespaces) {\n htmlParseResult = removeWhitespaces(htmlParseResult);\n }\n return this.tryParseHtml(this.expandHtml(htmlParseResult), component, directives, pipes, schemas);\n }\n tryParseHtml(htmlAstWithErrors, component, directives, pipes, schemas) {\n let result;\n const errors = htmlAstWithErrors.errors;\n const usedPipes = [];\n if (htmlAstWithErrors.rootNodes.length > 0) {\n const uniqDirectives = removeSummaryDuplicates(directives);\n const uniqPipes = removeSummaryDuplicates(pipes);\n const providerViewContext = new ProviderViewContext(this._reflector, component);\n let interpolationConfig = undefined;\n if (component.template && component.template.interpolation) {\n interpolationConfig = {\n start: component.template.interpolation[0],\n end: component.template.interpolation[1]\n };\n }\n const bindingParser = new BindingParser(this._exprParser, interpolationConfig, this._schemaRegistry, uniqPipes, errors);\n const parseVisitor = new TemplateParseVisitor(this._reflector, this._config, providerViewContext, uniqDirectives, bindingParser, this._schemaRegistry, schemas, errors);\n result = visitAll$1(parseVisitor, htmlAstWithErrors.rootNodes, EMPTY_ELEMENT_CONTEXT);\n errors.push(...providerViewContext.errors);\n usedPipes.push(...bindingParser.getUsedPipes());\n }\n else {\n result = [];\n }\n this._assertNoReferenceDuplicationOnTemplate(result, errors);\n if (errors.length > 0) {\n return new TemplateParseResult(result, usedPipes, errors);\n }\n if (this.transforms) {\n this.transforms.forEach((transform) => {\n result = templateVisitAll(transform, result);\n });\n }\n return new TemplateParseResult(result, usedPipes, errors);\n }\n expandHtml(htmlAstWithErrors, forced = false) {\n const errors = htmlAstWithErrors.errors;\n if (errors.length == 0 || forced) {\n // Transform ICU messages to angular directives\n const expandedHtmlAst = expandNodes(htmlAstWithErrors.rootNodes);\n errors.push(...expandedHtmlAst.errors);\n htmlAstWithErrors = new ParseTreeResult(expandedHtmlAst.nodes, errors);\n }\n return htmlAstWithErrors;\n }\n getInterpolationConfig(component) {\n if (component.template) {\n return InterpolationConfig.fromArray(component.template.interpolation);\n }\n return undefined;\n }\n /** @internal */\n _assertNoReferenceDuplicationOnTemplate(result, errors) {\n const existingReferences = [];\n result.filter(element => !!element.references)\n .forEach(element => element.references.forEach((reference) => {\n const name = reference.name;\n if (existingReferences.indexOf(name) < 0) {\n existingReferences.push(name);\n }\n else {\n const error = new TemplateParseError(`Reference \"#${name}\" is defined several times`, reference.sourceSpan, ParseErrorLevel.ERROR);\n errors.push(error);\n }\n }));\n }\n}\nclass TemplateParseVisitor {\n constructor(reflector, config, providerViewContext, directives, _bindingParser, _schemaRegistry, _schemas, _targetErrors) {\n this.reflector = reflector;\n this.config = config;\n this.providerViewContext = providerViewContext;\n this._bindingParser = _bindingParser;\n this._schemaRegistry = _schemaRegistry;\n this._schemas = _schemas;\n this._targetErrors = _targetErrors;\n this.selectorMatcher = new SelectorMatcher();\n this.directivesIndex = new Map();\n this.ngContentCount = 0;\n // Note: queries start with id 1 so we can use the number in a Bloom filter!\n this.contentQueryStartId = providerViewContext.component.viewQueries.length + 1;\n directives.forEach((directive, index) => {\n const selector = CssSelector.parse(directive.selector);\n this.selectorMatcher.addSelectables(selector, directive);\n this.directivesIndex.set(directive, index);\n });\n }\n visitExpansion(expansion, context) {\n return null;\n }\n visitExpansionCase(expansionCase, context) {\n return null;\n }\n visitText(text, parent) {\n const ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR());\n const valueNoNgsp = replaceNgsp(text.value);\n const expr = this._bindingParser.parseInterpolation(valueNoNgsp, text.sourceSpan);\n return expr ? new BoundTextAst(expr, ngContentIndex, text.sourceSpan) :\n new TextAst(valueNoNgsp, ngContentIndex, text.sourceSpan);\n }\n visitAttribute(attribute, context) {\n return new AttrAst(attribute.name, attribute.value, attribute.sourceSpan);\n }\n visitComment(comment, context) {\n return null;\n }\n visitElement(element, parent) {\n const queryStartIndex = this.contentQueryStartId;\n const elName = element.name;\n const preparsedElement = preparseElement(element);\n if (preparsedElement.type === PreparsedElementType.SCRIPT ||\n preparsedElement.type === PreparsedElementType.STYLE) {\n // Skipping