{"version":3,"sources":["node_modules/rxjs/_esm2015/internal/operators/distinctUntilChanged.js","node_modules/rxjs/_esm2015/internal/operators/concatAll.js","node_modules/rxjs/_esm2015/internal/operators/takeUntil.js","node_modules/rxjs/_esm2015/internal/observable/race.js","node_modules/rxjs/_esm2015/internal/operators/withLatestFrom.js","node_modules/rxjs/_esm2015/internal/operators/delay.js","node_modules/rxjs/_esm2015/internal/util/isDate.js","node_modules/@ng-bootstrap/ng-bootstrap/__ivy_ngcc__/fesm2015/ng-bootstrap.js","node_modules/rxjs/_esm2015/internal/symbol/rxSubscriber.js","node_modules/rxjs/_esm2015/internal/BehaviorSubject.js","node_modules/rxjs/_esm2015/internal/config.js","node_modules/rxjs/_esm2015/internal/scheduler/AsyncAction.js","node_modules/rxjs/_esm2015/internal/scheduler/Action.js","node_modules/rxjs/_esm2015/internal/observable/forkJoin.js","node_modules/@angular/forms/__ivy_ngcc__/fesm2015/forms.js","node_modules/rxjs/internal/operators/finalize.js","node_modules/rxjs/_esm2015/internal/util/ArgumentOutOfRangeError.js","node_modules/rxjs/_esm2015/internal/operators/mergeMap.js","node_modules/ngx-toastr/node_modules/tslib/tslib.es6.js","node_modules/ngx-toastr/__ivy_ngcc__/fesm2015/ngx-toastr.js","node_modules/rxjs/internal/util/subscribeTo.js","node_modules/rxjs/internal/BehaviorSubject.js","node_modules/rxjs/_esm2015/internal/Subscriber.js","node_modules/primeng/__ivy_ngcc__/fesm2015/primeng-api.js","node_modules/rxjs/internal/util/isPromise.js","node_modules/rxjs/internal/util/pipe.js","node_modules/rxjs/_esm2015/internal/util/ObjectUnsubscribedError.js","src/environments/environment.ts","src/app/shared/pdf-viewer/pdf.service.ts","node_modules/rxjs/_esm2015/internal/observable/from.js","node_modules/rxjs/_esm2015/internal/scheduled/scheduled.js","node_modules/rxjs/_esm2015/internal/util/isInteropObservable.js","node_modules/rxjs/_esm2015/internal/scheduled/scheduleObservable.js","node_modules/rxjs/_esm2015/internal/scheduled/schedulePromise.js","node_modules/rxjs/_esm2015/internal/util/isIterable.js","node_modules/rxjs/_esm2015/internal/scheduled/scheduleIterable.js","src/app/shared/navbar/navbar.module.ts","node_modules/rxjs/_esm2015/internal/scheduler/async.js","node_modules/rxjs/_esm2015/internal/util/isArray.js","node_modules/rxjs/_esm2015/internal/observable/empty.js","src/app/shared/navbar/navbar.component.ts","src/app/shared/navbar/navbar.component.html","src/app/app.service.ts","node_modules/rxjs/internal/Subscriber.js","node_modules/rxjs/internal/SubjectSubscription.js","node_modules/rxjs/internal/util/isObject.js","node_modules/rxjs/internal/Observer.js","node_modules/rxjs/_esm2015/internal/Observable.js","node_modules/rxjs/_esm2015/internal/util/toSubscriber.js","node_modules/rxjs/_esm2015/internal/util/canReportError.js","node_modules/rxjs/_esm2015/internal/util/pipe.js","node_modules/rxjs/_esm2015/internal/util/isArrayLike.js","node_modules/rxjs/_esm2015/internal/Scheduler.js","node_modules/rxjs/_esm2015/internal/scheduler/AsyncScheduler.js","node_modules/rxjs/_esm2015/internal/operators/take.js","node_modules/rxjs/_esm2015/internal/observable/concat.js","node_modules/rxjs/_esm2015/internal/operators/startWith.js","node_modules/rxjs/_esm2015/internal/util/noop.js","node_modules/rxjs/internal/util/UnsubscriptionError.js","node_modules/rxjs/_esm2015/internal/observable/of.js","node_modules/rxjs/_esm2015/internal/symbol/iterator.js","node_modules/rxjs/internal/util/hostReportError.js","node_modules/rxjs/internal/util/ObjectUnsubscribedError.js","node_modules/rxjs/_esm2015/internal/util/hostReportError.js","node_modules/rxjs/internal/util/subscribeToArray.js","node_modules/rxjs/_esm2015/internal/util/isNumeric.js","node_modules/rxjs/_esm2015/internal/observable/timer.js","node_modules/rxjs/internal/Observable.js","node_modules/primeng/__ivy_ngcc__/fesm2015/primeng-ripple.js","node_modules/@angular/animations/__ivy_ngcc__/fesm2015/animations.js","src/app/shared/helpers/enums.ts","node_modules/rxjs/_esm2015/internal/util/subscribeTo.js","node_modules/rxjs/_esm2015/internal/util/subscribeToObservable.js","node_modules/rxjs/_esm2015/internal/util/subscribeToPromise.js","node_modules/rxjs/_esm2015/internal/util/subscribeToIterable.js","node_modules/rxjs/_esm2015/internal/util/identity.js","src/app/shared/pipes/identification.pipe.ts","node_modules/rxjs/internal/symbol/iterator.js","node_modules/rxjs/_esm2015/internal/observable/merge.js","node_modules/rxjs/_esm2015/internal/Notification.js","node_modules/rxjs/_esm2015/internal/observable/throwError.js","node_modules/rxjs/_esm2015/internal/Subject.js","node_modules/rxjs/_esm2015/internal/util/isObject.js","node_modules/rxjs/internal/util/toSubscriber.js","src/app/shared/common.ts","node_modules/rxjs/_esm2015/internal/SubjectSubscription.js","node_modules/primeng/__ivy_ngcc__/fesm2015/primeng-dom.js","node_modules/rxjs/internal/util/subscribeToPromise.js","node_modules/rxjs/_esm2015/internal/InnerSubscriber.js","node_modules/rxjs/_esm2015/internal/util/subscribeToResult.js","src/app/shared/helpers/response.ts","node_modules/rxjs/internal/observable/empty.js","src/app/shared/pipes/pipe.module.ts","node_modules/rxjs/_esm2015/internal/operators/mergeAll.js","node_modules/rxjs/_esm2015/internal/operators/concatMap.js","src/app/shared/pdf-viewer/blob.service.ts","node_modules/rxjs/_esm2015/internal/util/isPromise.js","src/app/shared/footer/footer.module.ts","src/$_lazy_route_resource lazy namespace object","src/app/authorization/token.service.ts","node_modules/rxjs/internal/Subject.js","node_modules/rxjs/_esm2015/internal/operators/switchMap.js","node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js","node_modules/rxjs/_esm2015/internal/Observer.js","node_modules/rxjs/_esm2015/internal/observable/combineLatest.js","node_modules/primeng/__ivy_ngcc__/fesm2015/primeng-sidebar.js","src/app/shared/footer/footer.component.ts","src/app/shared/footer/footer.component.html","node_modules/rxjs/_esm2015/internal/scheduled/scheduleArray.js","node_modules/@angular/platform-browser/__ivy_ngcc__/fesm2015/platform-browser.js","node_modules/rxjs/_esm2015/internal/symbol/observable.js","node_modules/rxjs/_esm2015/internal/OuterSubscriber.js","node_modules/rxjs/_esm2015/internal/operators/map.js","node_modules/rxjs/internal/util/isArray.js","node_modules/tslib/tslib.es6.js","node_modules/rxjs/internal/config.js","node_modules/rxjs/_esm2015/internal/util/isFunction.js","node_modules/rxjs/_esm2015/internal/operators/finalize.js","node_modules/rxjs/_esm2015/internal/util/subscribeToArray.js","src/app/shared/sidebar/sidebar.module.ts","node_modules/@angular/common/__ivy_ngcc__/fesm2015/common.js","node_modules/rxjs/internal/util/subscribeToObservable.js","node_modules/rxjs/internal/symbol/rxSubscriber.js","node_modules/rxjs/_esm2015/internal/operators/filter.js","node_modules/rxjs/internal/util/subscribeToIterable.js","node_modules/rxjs/internal/util/isFunction.js","node_modules/rxjs/_esm2015/internal/Subscription.js","node_modules/rxjs/_esm2015/internal/util/UnsubscriptionError.js","node_modules/rxjs/internal/operators/catchError.js","src/app/shared/sidebar/sidebar.component.html","src/app/shared/sidebar/sidebar.component.ts","src/app/shared/admin-layout/admin-layout.component.html","src/app/shared/admin-layout/admin-layout.component.ts","node_modules/@angular/common/__ivy_ngcc__/fesm2015/http.js","node_modules/ngx-mask/__ivy_ngcc__/fesm2015/ngx-mask.js","src/app/shared/pdf-viewer/pdf-viewer.model.ts","node_modules/rxjs/_esm2015/internal/util/EmptyError.js","node_modules/rxjs/_esm2015/internal/observable/defer.js","node_modules/rxjs/_esm2015/internal/operators/takeLast.js","node_modules/rxjs/_esm2015/internal/operators/throwIfEmpty.js","node_modules/rxjs/_esm2015/internal/operators/defaultIfEmpty.js","node_modules/rxjs/_esm2015/internal/operators/scan.js","node_modules/rxjs/_esm2015/internal/operators/catchError.js","node_modules/rxjs/_esm2015/internal/operators/first.js","node_modules/@angular/router/__ivy_ngcc__/fesm2015/router.js","node_modules/rxjs/_esm2015/internal/operators/last.js","node_modules/rxjs/_esm2015/internal/operators/combineAll.js","node_modules/rxjs/internal/observable/throwError.js","node_modules/rxjs/_esm2015/internal/operators/tap.js","node_modules/rxjs/_esm2015/internal/operators/refCount.js","node_modules/rxjs/_esm2015/internal/observable/ConnectableObservable.js","node_modules/rxjs/_esm2015/internal/operators/share.js","node_modules/rxjs/_esm2015/internal/operators/multicast.js","node_modules/rxjs/internal/innerSubscribe.js","src/app/authorization/authorize.guard.ts","src/app/config.service.ts","node_modules/rxjs/_esm2015/internal/observable/fromEvent.js","node_modules/primeng/__ivy_ngcc__/fesm2015/primeng-tooltip.js","node_modules/rxjs/_esm2015/internal/observable/fromArray.js","node_modules/rxjs/internal/util/isArrayLike.js","node_modules/rxjs/internal/util/identity.js","node_modules/rxjs/internal/util/canReportError.js","node_modules/rxjs/_esm2015/internal/util/isScheduler.js","src/app/authorization/authentication.service.ts","node_modules/rxjs/internal/Subscription.js","node_modules/@angular/animations/__ivy_ngcc__/fesm2015/browser.js","node_modules/@angular/platform-browser/__ivy_ngcc__/fesm2015/animations.js","node_modules/primeng/__ivy_ngcc__/fesm2015/primeng-blockui.js","src/app/app.component.ts","src/app/shared/pdf-viewer/pdf-viewer.component.ts","node_modules/ng2-pdfjs-viewer/__ivy_ngcc__/index.js","src/app/shared/pdf-viewer/pdf-viewer.component.html","src/app/app.component.html","src/app/authorization/login/login.component.html","src/app/authorization/login/login.component.ts","src/app/configuracion/configuracion.guard.ts","src/app/director/director.guard.ts","src/app/compras/compras.guard.ts","src/app/authorization/login.guard.ts","src/app/asistencia-compra/asistencia-compra.guard.ts","src/app/asistencia/asistencia.guard.ts","src/app/recepcion/recepcion.guard.ts","src/app/home/home.component.ts","src/app/perito/perito.guard.ts","src/app/verificate/verificate.service.ts","src/app/home/home.component.html","src/app/verificate/verificate.model.ts","src/app/verificate/verificate.component.html","src/app/verificate/verificate.component.ts","src/app/presentacion/presentacion.guard.ts","src/app/confirmacion/confirmacion.guard.ts","src/app/shared/pdf-viewer/pdf-viewer.module.ts","src/app/authorization/authorization.module.ts","src/app/app.interceptor.ts","src/app/shared/admin-layout/admin-layout.module.ts","src/app/app.routing.ts","src/app/app.module.ts","src/main.ts","node_modules/rxjs/internal/symbol/observable.js","node_modules/rxjs/_esm2015/internal/innerSubscribe.js"],"names":["distinctUntilChanged","compare","keySelector","source","lift","DistinctUntilChangedOperator","this","subscriber","subscribe","DistinctUntilChangedSubscriber","destination","super","hasKey","value","x","y","key","err","error","result","next","concatAll","takeUntil","notifier","TakeUntilOperator","takeUntilSubscriber","TakeUntilSubscriber","notifierSubscription","seenValue","add","complete","RaceOperator","hasFirst","observables","subscriptions","innerValue","observable","push","len","length","i","subscription","subscribeToResult","_outerValue","outerIndex","unsubscribe","remove","OuterSubscriber","withLatestFrom","args","project","pop","WithLatestFromOperator","toRespond","values","Array","found","indexOf","splice","_tryProject","apply","delay","scheduler","delayFor","Date","isNaN","now","Math","abs","DelayOperator","queue","active","errored","schedule","dispatch","notification","message","DelayMessage","_schedule","scheduleNotification","Notification","createNext","createComplete","state","time","shift","observe","max","Subscriber","_c5","_c10","_c11","NgbDatepicker_ng_template_1_Template","rf","ctx","date_r8","date","currentMonth_r9","currentMonth","selected_r10","selected","disabled_r11","disabled","focused_r12","focused","NgbDatepicker_ng_template_4_div_1_div_2_Template","month_r14","$implicit","ctx_r16","i18n","getMonthFullName","number","year","getYearNumerals","NgbDatepicker_ng_template_4_div_1_Template","ctx_r13","navigation","displayMonths","firstDate","NgbDatepicker_ng_template_4_Template","ctx_r3","model","months","NgbDatepicker_ngb_datepicker_navigation_9_Template","_r19","$event","onNavigateEvent","onNavigateDateSelect","ctx_r4","prevDisabled","nextDisabled","selectBoxes","NgbDatepicker_ng_template_15_Template","NgbDatepicker_ng_template_18_Template","NgbDatepickerMonth_div_1_div_2_Template","NgbDatepickerMonth_div_1_div_4_Template","w_r4","getWeekdayShortName","NgbDatepickerMonth_div_1_Template","ctx_r0","datepicker","showWeekNumbers","viewModel","weekdays","NgbDatepickerMonth_ng_template_3_div_1_div_2_Template","week_r5","ctx_r7","getWeekNumerals","NgbDatepickerMonth_ng_template_3_div_1_div_4_ng_template_2_ng_template_1_Template","NgbDatepickerMonth_ng_template_3_div_1_div_4_ng_template_2_Template","day_r10","ctx_r11","dayTemplate","context","NgbDatepickerMonth_ng_template_3_div_1_div_4_Template","_r15","doSelect","preventDefault","hidden","today","tabindex","ariaLabel","NgbDatepickerMonth_ng_template_3_div_1_Template","ctx_r6","days","NgbDatepickerMonth_ng_template_3_Template","collapsed","NgbDatepickerNavigation_ngb_datepicker_navigation_select_9_Template","_r3","select","emit","years","NgbDatepickerNavigation_11_ng_template_0_div_1_Template","NgbDatepickerNavigation_11_ng_template_0_div_6_Template","NgbDatepickerNavigation_11_ng_template_0_Template","month_r5","i_r6","index","NgbDatepickerNavigation_11_Template","ctx_r1","_c20","_c21","_c22","NgbDatepickerNavigationSelect_option_4_Template","m_r4","getMonthShortName","NgbDatepickerNavigationSelect_option_9_Template","y_r5","_c31","NgbRating_ng_template_1_Template","fill","NgbRating_ng_template_4_ng_template_6_Template","NgbRating_ng_template_4_Template","_r7","index_r4","enter","handleClick","ctx_r2","_r0","nextRate","readonly","starTemplate","starTemplateFromContent","contexts","NgbTimepicker_button_7_Template","_r9","ctx_r8","changeHour","hourStep","isSmallSize","isLargeSize","NgbTimepicker_button_11_Template","_r11","ctx_r10","NgbTimepicker_button_19_Template","_r13","ctx_r12","changeMinute","minuteStep","NgbTimepicker_button_23_Template","ctx_r14","NgbTimepicker_div_26_Template","NgbTimepicker_div_28_button_2_Template","ctx_r18","changeSecond","secondStep","NgbTimepicker_div_28_button_6_Template","_r21","ctx_r20","ctx_r17","NgbTimepicker_div_28_Template","_r23","updateSecond","target","formatInput","ctx_r25","ctx_r26","ctx_r5","spinners","formatMinSec","second","readonlyInputs","NgbTimepicker_div_30_Template","NgbTimepicker_div_32_ng_container_4_Template","ctx_r27","getAfternoonPeriod","NgbTimepicker_div_32_ng_template_6_Template","ctx_r29","getMorningPeriod","NgbTimepicker_div_32_Template","_r31","toggleMeridian","_r28","hour","NgbHighlight_ng_template_0_span_0_Template","part_r1","highlightClass","NgbHighlight_ng_template_0_ng_template_1_Template","NgbHighlight_ng_template_0_Template","isOdd_r2","odd","_r4","NgbTypeaheadWindow_ng_template_1_Template","result_r3","term_r4","term","formatter_r5","formatter","NgbTypeaheadWindow_ng_template_4_ng_template_3_Template","_c86","a0","a1","a2","NgbTypeaheadWindow_ng_template_4_Template","_r10","idx_r7","markActive","result_r6","activeIdx","id","resultTemplate","toInteger","parseInt","isString","isNumber","isInteger","isFinite","floor","isDefined","padNumber","slice","hasClassName","element","className","split","Element","prototype","closest","matches","msMatchesSelector","webkitMatchesSelector","s","el","document","documentElement","contains","parentElement","parentNode","nodeType","NgbButtonLabel","NgbAlertModule","NgbAccordionModule","NgbCheckBox","NgbCollapseModule","NgbCollapse","NgbCarouselModule","NgbButtonsModule","NgbRadioGroup","ɵmod","type","ɵinj","factory","t","imports","ɵfac","ɵdir","selectors","hostVars","hostBindings","NGB_CHECKBOX_VALUE_ACCESSOR","provide","useExisting","multi","_label","_cd","valueChecked","valueUnChecked","onChange","_","onTouched","modelToPropagate","checked","writeValue","fn","isDisabled","markForCheck","isFocused","onInputChange","inputs","features","NGB_RADIO_VALUE_ACCESSOR","nextId$1","_radios","Set","_value","name","radio","_updateRadiosValue","_disabled","_updateRadiosDisabled","forEach","updateValue","updateDisabled","setDisabledState","hostAttrs","exportAs","NgbDate","month","day","other","fromJSDate","jsDate","getFullYear","getMonth","getDate","toJSDate","getTime","setFullYear","NGB_DATEPICKER_CALENDAR_FACTORY","NgbCalendarGregorian","NgbCalendar","ɵprov","token","providedIn","period","checkMonth","expectedMonth","setMonth","setDate","getNext","getDay","week","firstDayOfWeek","round","ɵNgbCalendarGregorian_BaseFactory","isChangedDate","prev","equals","isChangedMonth","checkDateInRange","minDate","maxDate","before","after","isDateSelectable","markDisabled","NgbDatepickerService","NgbDatepickerI18nDefault","NgbDatepickerI18n","NgbDatepickerConfig","weekNumber","locale","_locale","weekdaysStartingOnSunday","Standalone","Short","_weekdaysShort","map","_monthsShort","Abbreviated","_monthsFull","Wide","weekday","_calendar","_i18n","_VALIDATORS","dayTemplateData","_state","focusVisible","toValidDate","outsideDays","_model$","Subject","_dateSelect$","selectedDate","options","patch","Object","keys","reduce","obj","part","assign","_nextState","isValid","focusDate","emitEvent","getToday","defaultValue","ngbDate","from","struct","Error","newState","_updateState","_patchContexts","weeks","lastDate","calendar","prevDate","startDate","force","monthsToReuse","reusedIndex","findIndex","calendarToday","daysPerWeek","getDaysPerWeek","firstMonthDate","dayOfWeek","getWeekday","getPrev","getWeeksPerMonth","weekObject","newDate","nextDate","getDayAriaLabel","contextUserData","dayObject","data","currentYear","getWeekNumber","yearChanged","monthChanged","start","min","numbers","getMonths","pipe","filter","NavigationEvent","showWeekdays","NGB_DATEPICKER_DATE_ADAPTER_FACTORY","NgbDateStructAdapter","NgbDateAdapter","NgbDatepicker","NgbDatepickerContent","NgbDatepickerNavigation","NgbDatepickerMonth","NgbDatepickerKeyboardService","ɵNgbDateStructAdapter_BaseFactory","NGB_DATEPICKER_VALUE_ACCESSOR","templateRef","_service","config","cd","_elementRef","_ngbDateAdapter","_ngZone","_destroyed$","_publicState","navigate","dateSelect","input","dateSelect$","model$","oldDate","focusedDate","navigationPrevented","current","newSelectedDate","newFocusedDate","oldFocusedDate","_controlValue","toModel","focus","open","focusSelect","onStable","asObservable","take","elementToFocus","nativeElement","querySelector","runOutsideAngular","focusIns$","fromEvent","_contentEl","focusOuts$","merge","relatedTarget","run","set","navigateTo","_defaultDayTemplate","changes","currentValue","event","PREV","NEXT","fromModel","ɵcmp","contentQueries","dirIndex","_t","contentTemplate","first","viewQuery","footerTemplate","outputs","decls","vars","consts","template","_r2","directives","styles","encapsulation","changeDetection","Key","which","PageUp","shiftKey","PageDown","End","Home","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Enter","Space","stopPropagation","_keyboardService","processKey","onDateSelect","onKeyDown","currentTarget","showSelect","$localize","i18n_12","i18n_14","i18n_16","i18n_18","onClickPrev","onClickNext","isContainedIn","array","some","item","matchesSelectorIfAny","selector","isMobile","navigator","userAgent","test","maxTouchPoints","ngbAutoClose","zone","close","closed$","insideElements","ignoreElements","insideSelector","escapes$","e","Escape","tap","mouseDowns$","button","isArray","fromArray","setTimeout","FOCUSABLE_ELEMENTS_SELECTOR","join","getFocusableBoundaryElements","list","querySelectorAll","tabIndex","ngbFocusTrap","stopFocusTrap$","refocusOnClick","lastFocusedElement$","Tab","focusedElement","tabEvent","last","arr","lastFocusedElement","placementSeparator","positionService","window","getComputedStyle","prop","getAllStyles","getStyle","offsetParentEl","offsetParent","isStaticPositioned","elPosition","parentOffset","width","height","top","bottom","left","right","getBoundingClientRect","offset","clientTop","clientLeft","elBcr","viewportOffset","pageYOffset","pageXOffset","elOffset","offsetHeight","offsetWidth","hostElement","targetElement","placement","appendToBody","placementPrimary","placementSecondary","hostElPosition","position","targetElStyles","marginTop","parseFloat","marginBottom","marginLeft","marginRight","topPosition","leftPosition","style","transform","targetElBCR","html","windowHeight","innerHeight","clientHeight","windowWidth","innerWidth","clientWidth","positionElements","baseClass","placementVals","allowedPlacements","classList","addClassesToTarget","targetPlacement","primary","secondary","classes","classname","placementToRemove","hasAuto","val","find","search","testPlacement","isInViewport","addedClasses","NGB_DATEPICKER_PARSER_FORMATTER_FACTORY","NgbInputDatepickerConfig","NgbDateISOParserFormatter","NgbDateParserFormatter","NgbDatepickerNavigationSelect","NgbDatepickerDayView","NgbInputDatepicker","dateParts","trim","ɵNgbDateISOParserFormatter_BaseFactory","arguments","autoClose","restoreFocus","ɵNgbInputDatepickerConfig_BaseFactory","NGB_DATEPICKER_VALUE_ACCESSOR$1","NGB_DATEPICKER_VALIDATOR","_parserFormatter","_elRef","_vcRef","_renderer","_cfr","_dateAdapter","_document","_changeDetector","_cRef","_elWithFocus","closed","_onChange","_onTouched","_validatorChange","_zoneSubscription","_updatePopupPosition","c","_fromDateStruct","actual","invalid","_model","_writeModelValue","updateView","inputValueChanged","_inputValue","parse","isOpen","cf","resolveComponentFactory","createComponent","_applyPopupStyling","location","_applyDatepickerInputs","instance","_subscribeForDatepickerOutputs","ngOnInit","registerOnChange","changeDetectorRef","detectChanges","container","appendChild","activeElement","hostView","body","ngOnChanges","datepickerInstance","optionName","addClass","navigateEvent","format","setProperty","positionTarget","HTMLElement","manualDateChange","onFocus","onBlur","isMuted","attrs","getDayNumerals","_month","_year","monthSelect","yearSelect","i18n_23","i18n_25","i18n_27","i18n_29","changeMonth","changeYear","NgbDropdownConfig","NgbDatepickerModule","NgbDropdownToggle_1","NgbModalConfig","NgbDropdownModule","NgbDropdown","NgbDropdownToggle","NgbDropdownAnchor","NgbDropdownMenu","NgbDropdownItem","NgbNavbar","NgbModalBackdrop","ScrollBar","NgbRatingConfig","NgbProgressbarModule","NgbPopoverModule","NgbPaginationModule","NgbNavModule","NgbModalModule","NgbModal","NgbModalStack","NgbModalWindow","NgbTabsetModule","NgbRatingModule","NgbRating","NgbTimepickerConfig","elementRef","dropdown","menuItems","anchorEl","toggle","ngbNavbar","_closed$","_open","openChange","display","_positionMenu","_applyPlacementClasses","_setCloseHandlers","_applyContainer","isFirstChange","anchor","_anchor","_menu","_menuElement","getNativeElement","_resetContainer","itemElements","_getMenuElements","isEventFromItems","itemElement","isEventFromToggle","_isEventFromToggle","_isDropup","menu","_bodyContainer","_getFirstPlacement","renderer","menuElement","dropdownMenuElement","removeStyle","removeChild","bodyContainer","createElement","setStyle","dropdownElement","removeClass","dropdownClass","backdrop","keyboard","ContentRef","nodes","viewRef","componentRef","_type","_injector","_viewContainerRef","_componentFactoryResolver","_applicationRef","content","_windowRef","_contentRef","_getContentRef","detachView","destroy","createEmbeddedView","attachView","rootNodes","createText","_getWidth","_isPresent","_adjustBody","scrollbarWidth","userSetPaddingStyle","paddingRight","actualPadding","rect","measurer","backdropClass","NgbActiveModal","reason","NgbModalRef","_windowCmptRef","_backdropCmptRef","_beforeDismiss","dismissEvent","dismiss","Promise","resolve","reject","_resolve","_reject","then","_removeModalElements","_dismiss","windowNativeEl","backdropNativeEl","ModalDismissReasons","_zone","requestAnimationFrame","defaultPrevented","ESC","preventClose","_dialogEl","switchMap","BACKDROP_CLICK","autoFocusable","firstFocusable","elWithFocus","ariaLabelledBy","windowClass","centered","scrollable","size","ngContentSelectors","_scrollBar","_rendererFactory","_activeWindowCmptHasChanged","_ariaHiddenValues","Map","_backdropAttributes","_modalRefs","_windowAttributes","_windowCmpts","activeWindowCmpt","_revertAriaHidden","_setAriaHidden","moduleCFR","contentInjector","containerEl","createRenderer","revertPaddingForScrollBar","compensate","removeBodyClass","activeModal","contentRef","injector","backdropCmptRef","_attachBackdrop","windowCmptRef","_attachWindowComponent","ngbModalRef","beforeDismiss","_registerModalRef","_registerWindowCmpt","_applyWindowOptions","_applyBackdropOptions","create","windowInstance","backdropInstance","_createFromTemplateRef","_createFromString","_createFromComponent","component","createTextNode","contentCmptFactory","modalContentInjector","providers","useValue","parent","componentNativeEl","children","sibling","nodeName","getAttribute","setAttribute","removeAttribute","clear","unregisterModalRef","ngbWindowCmpt","onDestroy","_moduleCFR","_modalStack","_config","combinedOptions","dismissAll","hasOpenModals","resettable","NGB_RATING_VALUE_ACCESSOR","_changeDetectorRef","hover","leave","rateChange","update","rate","v","k","internalChange","newRate","diff","toFixed","nextValue","_getFillValue","handleBlur","handleKeyDown","reset","ariaValueText","NgbTime","minute","step","updateHour","NaN","updateMinute","checkSecs","meridian","seconds","NGB_DATEPICKER_TIME_ADAPTER_FACTORY","NgbTimepickerI18nDefault","NgbTimepickerI18n","NgbTimeStructAdapter","NgbTimeAdapter","NgbTypeaheadWindow","NgbHighlight","NgbTooltipModule","NgbToastModule","NgbTimepickerModule","NgbTimepicker","ɵNgbTimeStructAdapter_BaseFactory","_periods","Narrow","FILTER_REGEX","NGB_TIMEPICKER_VALUE_ACCESSOR","_ngbTimeAdapter","structValue","propagateModelChange","newVal","isPM","enteredHour","replace","touched","_hourStep","_minuteStep","_secondStep","i18n_56","i18n_58","i18n_60","i18n_62","i18n_64","i18n_66","i18n_68","i18n_70","i18n_72","i18n_74","i18n_76","i18n_78","i18n_80","i18n_82","formatHour","escapedTerms","parts","RegExp","focusFirst","selectEvent","activeChangeEvent","results","_activeChanged","resetActive","ARIA_LIVE_DELAY","getLiveElement","lazyCreate","NgbTypeaheadConfig","Live","NgbTypeaheadModule","NgbTypeahead","NgbModule","_delay","textContent","setText","editable","showHint","NGB_TYPEAHEAD_VALUE_ACCESSOR","nextWindowId","viewContainerRef","componentFactoryResolver","ngZone","_live","applicationRef","autocomplete","selectItem","popupId","_valueChanges","_resubscribeTypeahead","BehaviorSubject","_popupService","isPopupOpen","results$","_inputValueBackup","ngbTypeahead","userInput$","_subscription","_subscribeToUserInput","_closePopup","_unsubscribeFromUserInput","_writeInputValue","_formatItemForInput","_showHint","getActive","_selectResult","_selectResultClosePopup","activeId","activeDescendant","dismissPopup","hasActive","userInputLowerCase","toLowerCase","formattedVal","substr","inputFormatter","_openPopup","resultFormatter","count","say","NGB_MODULES","rxSubscriber","Symbol","random","hasError","thrownError","getValue","_enable_super_gross_mode_that_will_cause_bad_things","console","warn","stack","log","work","pending","recycleAsyncId","requestAsyncId","setInterval","flush","bind","clearInterval","_execute","errorValue","actions","forkJoinInternal","sources","Observable","completed","emitted","hasValue","CheckboxControlValueAccessor","DefaultValueAccessor","NG_VALUE_ACCESSOR","CHECKBOX_VALUE_ACCESSOR","DEFAULT_VALUE_ACCESSOR","COMPOSITION_BUFFER_MODE","_compositionMode","_composing","getUserAgent","_handleInput","_compositionStart","_compositionEnd","isEmptyInputValue","hasValidLength","NG_VALIDATORS","NG_ASYNC_VALIDATORS","EMAIL_REGEXP","mergeErrors","control","minLength","maxLength","pattern","regexStr","charAt","regex","toString","nullValidator","validators","presentValidators","isPresent","executeValidators","isObject","getPrototypeOf","resultSelector","toObservable","o","r","obs","arrayOfErrors","res","errors","validator","normalizeValidators","validate","composeValidators","compose","composeAsyncValidators","composeAsync","mergeValidators","controlValidators","dirValidator","ControlContainer","AbstractControlDirective","NgControlStatusGroup","NgControlStatus","NumberValueAccessor","RadioControlValueAccessor","RadioControlRegistry","RangeValueAccessor","_rawValidators","_rawAsyncValidators","_onDestroyCallbacks","_composedValidatorFn","_composedAsyncValidatorFn","errorCode","path","getError","valid","enabled","pristine","dirty","status","untouched","statusChanges","valueChanges","ɵControlContainer_BaseFactory","NgControl","_parent","valueAccessor","AbstractControlStatus","ngClassUntouched","ngClassTouched","ngClassPristine","ngClassDirty","ngClassValid","ngClassInvalid","ngClassPending","NUMBER_VALUE_ACCESSOR","RADIO_VALUE_ACCESSOR","_accessors","accessor","_isSameGroup","fireUncheck","controlPair","_control","_registry","formControlName","get","_checkName","_fn","RANGE_VALUE_ACCESSOR","SELECT_VALUE_ACCESSOR","_buildValueString","NgSelectOption","SelectControlValueAccessor","_optionMap","_idCounter","_compareWith","is","_getOptionId","valueString","_getOptionValue","has","compareWith","_element","_select","_registerOption","_setElementValue","ngValue","SELECT_MULTIPLE_VALUE_ACCESSOR","_buildValueString$1","ɵNgSelectMultipleOption","SelectMultipleControlValueAccessor","optionSelectedStateSetter","ids","opt","_setSelected","selectedOptions","setUpControl","dir","setUpValidators","newValue","_pendingValue","_pendingChange","_pendingDirty","updateOn","updateControl","emitModelEvent","viewToModelUpdate","_registerOnDestroy","_unregisterOnChange","registerOnTouched","_pendingTouched","markAsTouched","onDisabledChange","registerOnDisabledChange","_unregisterOnDisabledChange","registerOnValidatorChange","handleOnValidatorChange","setValidators","asyncValidators","asyncValidator","setAsyncValidators","onValidatorChange","updateValueAndValidity","markAsDirty","setValue","emitModelToViewChange","BUILTIN_ACCESSORS","removeListItem","pickValidators","validatorOrOpts","isOptionsObj","coerceToValidator","pickAsyncValidators","coerceToAsyncValidator","NgForm","ɵNgNoValidate","NgModel","RequiredValidator","EmailValidator","FormsModule","ɵInternalFormsSharedModule","MaxLengthValidator","_hasOwnPendingAsyncValidator","_onCollectionChange","_onDisabledChange","newValidator","opts","onlySelf","_forEachChild","markAllAsTouched","markAsUntouched","_updateTouched","markAsPristine","_updatePristine","markAsPending","skipPristineCheck","_parentMarkedDirty","disable","_updateValue","_updateAncestors","changeFn","enable","_setInitialStatus","_cancelExistingSubscription","_runValidator","_calculateStatus","_runAsyncValidator","ctrl","_updateTreeValidity","_allControlsDisabled","_asyncValidationSubscription","setErrors","_updateControlsErrors","delimiter","controlToFind","FormGroup","controls","hasOwnProperty","FormArray","at","_anyControlsHaveStatus","_anyControls","_anyControlsDirty","_anyControlsTouched","formState","_updateOn","validatorFn","asyncValidatorFn","FormControl","_applyFormState","_setUpdateStrategy","_initObservables","emitViewToModelChange","condition","cb","_isBoxedValue","_setUpControls","setParent","_registerOnCollectionChange","registerControl","controlName","_checkAllValuesPresent","_throwIfControlMissing","patchValue","_reduceChildren","acc","getRawValue","subtreeUpdated","updated","child","_syncPendingControls","_reduceValue","initValue","_registerControl","formDirectiveProvider","resolvedPromise","submitted","_directives","ngSubmit","form","_findContainer","removeControl","group","resetForm","onSubmit","onReset","formControlBinding","resolvedPromise$1","valueAccessors","_registered","_setValidators","_setAsyncValidators","defaultAccessor","builtinAccessor","customAccessor","constructor","a","_checkForErrors","_setUpControl","_updateDisabled","change","formDirective","_isStandalone","_setUpStandalone","addControl","standalone","_checkParentType","disabledValue","REQUIRED_VALIDATOR","_required","required","EMAIL_VALIDATOR","_enabled","email","MAX_LENGTH_VALIDATOR","_validator","_createValidator","maxlength","extendStatics","__extends","d","b","setPrototypeOf","__proto__","p","__","Subscriber_1","Subscription_1","exports","finalize","callback","FinallyOperator","call","FinallySubscriber","_super","_this","Subscription","ArgumentOutOfRangeError","ArgumentOutOfRangeErrorImpl","mergeMap","POSITIVE_INFINITY","concurrent","Number","ii","MergeMapOperator","observer","MergeMapSubscriber","hasCompleted","buffer","_tryNext","_innerSub","ish","innerSubscriber","innerSubscription","_next","__decorate","decorators","desc","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","_c0","Toast_button_0_Template","_r6","Toast_div_1_ng_container_2_Template","duplicatesCount","Toast_div_1_Template","titleClass","title","Toast_div_2_Template","messageClass","Toast_div_3_Template","Toast_div_4_Template","ToastNoAnimation_button_1_Template","ToastNoAnimation_div_3_ng_container_2_Template","ToastNoAnimation_div_3_Template","ToastNoAnimation_div_5_Template","ToastNoAnimation_div_7_Template","ToastNoAnimation_div_9_Template","OverlayContainer","Overlay","Toast","ToastrService","ToastrModule_1","ToastrModule","ToastNoAnimation","toastId","toastType","toastRef","_onTap","_onAction","afterClosed","tapToDismiss","action","DefaultNoComponentGlobalConfig","maxOpened","autoDismiss","newestOnTop","preventDuplicates","countDuplicates","resetTimeoutOnDuplicate","iconClasses","info","success","warning","closeButton","disableTimeOut","timeOut","extendedTimeOut","enableHtml","progressBar","toastClass","positionClass","easing","easeTime","onActivateTick","progressAnimation","TOAST_CONFIG","ComponentPortal","host","_attachedHost","attach","detach","DomPortalHost","_hostDomElement","_appRef","portal","componentFactory","setDisposeFn","insertBefore","_getComponentRootNode","firstChild","_attachedPortal","attachComponentPortal","setAttachedHost","_disposeFn","_containerElement","_createContainer","ngInjectableDef","OverlayRef","_portalHost","_overlayContainer","_paneElements","overlayContainer","_createOverlayRef","getPaneElement","_createPaneElement","pane","getContainerElement","_createPortalHost","_overlayRef","_afterClosed","_activate","_manualClose","_resetTimeout","_countDuplicate","isStopped","resetTimeout","countDuplicate","ToastInjector","_toastPackage","_parentInjector","flags","notFoundValue","overlay","sanitizer","currentlyActive","toasts","toastrConfig","override","_preBuildNotification","applyConfig","toast","manualClose","_findToast","activeToast","isInactive","activate","resetOnDuplicate","onDuplicate","_buildNotification","toastComponent","duplicate","findDuplicate","previousToastMessage","keepInactive","overlayRef","sanitizedMessage","sanitize","HTML","toastPackage","toastInjector","componentInstance","_component","ins","onShown","afterActivate","onHidden","onTap","onAction","toastrService","toastClasses","params","originalTimeout","sub","activateToast","sub1","manualClosed","sub2","timeoutReset","sub3","intervalId","clearTimeout","timeout","outsideTimeout","hideTime","outsideInterval","updateProgress","triggerTap","func","runInsideAngular","tapToast","stickAround","delayedHideToast","displayStyle","animation","opacity","DefaultGlobalConfig","ngModule","default","appRef","tick","subscribeToArray_1","subscribeToPromise_1","subscribeToIterable_1","subscribeToObservable_1","isArrayLike_1","isPromise_1","isObject_1","iterator_1","observable_1","subscribeTo","subscribeToObservable","isArrayLike","subscribeToArray","isPromise","subscribeToPromise","iterator","subscribeToIterable","TypeError","Subject_1","ObjectUnsubscribedError_1","enumerable","configurable","_subscribe","ObjectUnsubscribedError","destinationOrNext","syncErrorValue","syncErrorThrown","syncErrorThrowable","SafeSubscriber","_error","_complete","_parentOrParents","_parentSubscriber","observerOrNext","_context","useDeprecatedSynchronousErrorHandling","__tryOrSetError","__tryOrUnsub","wrappedComplete","PrimeNGConfig","ripple","ConfirmationService","requireConfirmationSource","acceptConfirmationSource","requireConfirmation$","accept","confirmation","Header","Footer","PrimeTemplate","SharedModule","identity_1","pipeFromArray","fns","identity","_i","ObjectUnsubscribedErrorImpl","environment","production","ipInfo","ipify","Staging","tokenKeyName","configFile","PdfService","configService","appService","toastr","_blobService","_responseTypeBlob","responseType","displayViewer","disableXlsx","fileName","onHideReport","url","getUrlApi","response","onHideAction","generateXls","subject","blockUI","participanteId","http","internalCallback","DocumentoId","Descripcion","descripcion","trigger","post","filters","propertyName","operator","Equals","resetParams","scheduleArray","done","NavbarModule","async","EMPTY","empty","authenticationService","NavbarComponent","router","env","isCollapsed","sidebarVisible","listTitles","listTitle","toggleButton","getElementsByClassName","events","sidebarClose","sidebarOpen","getElementsByTagName","mainPanel","navbar","sidebarToggle","collapse","AppService","turnOffBlockUI","turnOffBlockUIOnce","isFunction_1","Observer_1","rxSubscriber_1","config_1","hostReportError_1","_unsubscribeAndRecycle","isFunction","hostReportError","_unsubscribe","SubjectSubscription","observers","subscriberIndex","_isScalar","sink","nextOrObserver","_trySubscribe","promiseCtor","getPromiseCtor","operations","Scheduler","SchedulerAction","delegate","scheduled","execute","TakeOperator","total","TakeSubscriber","concat","of","startWith","isScheduler","noop","UnsubscriptionError","UnsubscriptionErrorImpl","getSymbolIterator","isNumeric","timer","dueTime","periodOrScheduler","due","canReportError_1","toSubscriber_1","pipe_1","toSubscriber","canReportError","toPromise","Ripple","mouseDownListener","onMouseDown","addEventListener","ink","getInk","getHeight","getWidth","getOuterWidth","getOuterHeight","getOffset","pageX","scrollTop","pageY","scrollLeft","animationListener","onAnimationEnd","removeEventListener","removeElement","RippleModule","AnimationBuilder","AnimationFactory","AUTO_STYLE","definitions","animate","timings","steps","sequence","tokens","keyframes","transition","stateChangeExpr","expr","animateChild","useAnimation","query","scheduleMicroTask","NoopAnimationPlayer","duration","_onDoneFns","_onStartFns","_onDestroyFns","_started","_destroyed","_finished","parentPlayer","totalTime","hasStarted","_onStart","triggerMicrotask","_onFinish","finish","phaseName","methods","AnimationGroupPlayer","_players","players","doneCount","destroyCount","startCount","player","onDone","_onDestroy","onStart","init","play","pause","restart","timeAtPosition","setPosition","getPosition","beforeDestroy","ɵPRE_STYLE","FilterOperator","promise","iterable","IdentificationPipe","str","match","$$iterator","kind","undefinedValueNotification","completeNotification","SubjectSubscriber","AnonymousSubject","copy","showToastr","logger","ROLES","COMPRAS","OFERENTE","DIRECTOR","PERITO","CONFIGURACION","RECEPCION","ASISTENCIA_CALLCENTER","ASISTENCIA_COMPRA","CONFIRMACIONASISTENCIA","PRESENTACION","canActivateByRole","decodeToken","rol","roles","includes","canActivateGuard","tokenService","user","role","isTokenExpired","AccessToken","redirectTo","Menu","Url","isInvalidEmail","mail","table","DomHandler","zindex","childNodes","num","attributeName","attributes","elementDimensions","getHiddenElementDimensions","targetHeight","targetOffset","viewport","getViewport","transformOrigin","elementOuterHeight","elementOuterWidth","targetOuterHeight","targetOuterWidth","windowScrollTop","getWindowScrollTop","windowScrollLeft","getWindowScrollLeft","parents","getParents","scrollableParents","overflowRegex","overflowCheck","node","styleDeclaration","getPropertyValue","scrollSelectors","dataset","findSingle","visibility","elementHeight","elementWidth","dimensions","borderTopValue","borderTop","paddingTopValue","paddingTop","containerRect","scroll","itemHeight","ms","gap","fading","doc","margin","paddingLeft","paddingBottom","borderTopWidth","borderBottomWidth","borderLeftWidth","borderRightWidth","win","g","replacementElement","replaceChild","ua","isElement","calculatedScrollbarWidth","scrollDiv","calculatedScrollbarHeight","scrollbarHeight","methodName","getSelection","removeAllRanges","rangeCount","getRangeAt","getClientRects","browser","matched","resolveUserAgent","version","exec","visibleFocusableElements","focusableElement","ConnectedOverlayScrollHandler","listener","getScrollableParents","unbindScrollListener","outerValue","notifyNext","notifyError","notifyComplete","outerSubscriber","RequestParameter","page","sorts","firstLoad","Observable_1","PipeModule","mergeAll","concatMap","N2BlobReference","n2BlobRef","BlobService","blob","FooterModule","webpackEmptyAsyncContext","req","code","module","TokenService","tokenKey","output","String","bc","bs","idx","fromCharCode","decodeURIComponent","_b64decode","charCodeAt","_b64DecodeUnicode","localStorage","setItem","getItem","accessToken","JSON","claim","offsetSeconds","getTokenExpirationDate","valueOf","decoded","_urlBase64Decode","setUTCSeconds","exp","SubjectSubscription_1","SwitchMapOperator","SwitchMapSubscriber","getClosureSafeProperty","objWithPropertyToExtract","fillProperties","stringify","overriddenName","newLineIndex","substring","concatStringsWithSpace","__forward_ref__","forwardRef","forwardRefFn","resolveForwardRef","isForwardRef","throwError","msg","expected","comparison","ɵɵdefineInjectable","defineInjectable","ɵɵdefineInjector","getInjectableDef","getOwnDefinition","NG_PROV_DEF","NG_INJECTABLE_DEF","field","getInjectorDef","NG_INJ_DEF","NG_INJECTOR_DEF","_injectImplementation","ngInjectorDef","InjectFlags","setInjectImplementation","impl","previous","injectRootLimpMode","injectableDef","Optional","noSideEffects","ChangeDetectionStrategy","ViewEncapsulation","__globalThis","globalThis","__window","__self","self","WorkerGlobalScope","__global","global","_global","EMPTY_OBJ","EMPTY_ARRAY","NG_COMP_DEF","NG_DIR_DEF","NG_PIPE_DEF","ɵpipe","NG_MOD_DEF","NG_LOC_ID_DEF","ɵloc","NG_FACTORY_DEF","NG_ELEMENT_ID","__NG_ELEMENT_ID__","_renderCompCount","ɵɵdefineComponent","componentDefinition","declaredInputs","def","providersResolver","onPush","OnPush","directiveDefs","pipeDefs","Emulated","setInput","schemas","tView","directiveTypes","feature","pipeTypes","pipes","invertObject","extractDirectiveDef","extractPipeDef","getComponentDef","autoRegisterModuleById","ɵɵdefineNgModule","bootstrap","declarations","transitiveCompileScopes","ɵɵsetNgModuleScope","scope","ngModuleDef","getNgModuleDef","newLookup","minifiedKey","publicName","declaredName","ɵɵdefineDirective","ɵɵdefinePipe","pipeDef","pure","ngOnDestroy","throwNotFound","isLView","isLContainer","isContentQueryHost","tNode","isComponentHost","isDirectiveHost","isComponentDef","getFactoryDef","RuntimeError","renderStringify","stringifyForError","throwProviderNotFoundError","injectorName","injectorDetails","SimpleChange","previousValue","firstChange","ɵɵNgOnChangesFeature","NgOnChangesFeatureImpl","definition","ngOnChangesSetInput","rememberChangeHistoryAndInvokeOnChangesHook","simpleChangesStore","getSimpleChangesStore","privateName","store","previousChange","ngInherit","DOCUMENT","setDocument","getDocument","isProceduralRenderer","domRendererFactory3","rendererType","unwrapRNode","getNativeByIndex","lView","getNativeByTNode","getTNode","load","view","getComponentLViewByIndex","nodeIndex","slotValue","readPatchedLView","isCreationMode","viewAttachedToChangeDetector","getConstant","resetPreOrderHookFlags","updateTransplantedViewCount","lContainer","amount","viewOrContainer","instructionState","lFrame","createLFrame","bindingsEnabled","isInCheckNoChangesMode","getBindingsEnabled","getLView","getTView","ɵɵrestoreView","viewToRestore","contextLView","getCurrentTNode","currentTNode","getCurrentTNodePlaceholderOk","getCurrentParentTNode","isParent","setCurrentTNode","isCurrentTNodeParent","setCurrentTNodeAsNotParent","setIsInCheckNoChangesMode","mode","getBindingRoot","bindingRootIndex","bindingStartIndex","getBindingIndex","bindingIndex","nextBindingIndex","incrementBindingIndex","setInI18nBlock","isInI18nBlock","inI18n","setCurrentDirectiveIndex","currentDirectiveIndex","getCurrentDirectiveDef","tData","getCurrentQueryIndex","currentQueryIndex","setCurrentQueryIndex","getDeclarationTNode","declTNode","enterDI","SkipSelf","parentTNode","parentLView","Host","allocLFrame","enterView","newView","newLFrame","currentLFrame","childLFrame","selectedIndex","elementDepthCount","currentNamespace","leaveViewLight","oldLFrame","leaveDI","leaveView","getSelectedIndex","setSelectedIndex","getSelectedTNode","registerPostOrderHooks","directiveStart","end","directiveEnd","lifecycleHooks","ngAfterContentInit","ngAfterContentChecked","ngAfterViewInit","ngAfterViewChecked","contentHooks","contentCheckHooks","viewHooks","viewCheckHooks","destroyHooks","executeCheckHooks","hooks","callHooks","executeInitAndCheckHooks","initPhase","incrementInitPhaseFlags","currentView","currentNodeIndex","nodeIndexLimit","lastNodeIndexFound","callHook","isInitHook","hook","directive","NodeInjectorFactory","isViewProvider","injectImplementation","resolving","canSeeViewProviders","injectImpl","setUpAttributes","native","isProc","namespaceURI","attrName","attrVal","setAttributeNS","isAnimationProp","isNameOnlyAttributeMarker","marker","mergeHostAttrs","dst","src","srcMarker","mergeHostAttribute","key1","key2","markerInsertPosition","dstValue","hasParentInjector","parentLocation","getParentInjectorIndex","getParentInjectorView","startView","viewOffset","parentView","includeViewProviders","setIncludeViewProviders","oldValue","nextNgElementId","getOrCreateNodeInjectorForNode","existingInjectorIndex","getInjectorIndex","firstCreatePass","injectorIndex","insertBloom","blueprint","parentLoc","getParentInjectorLocation","parentIndex","parentData","footer","declarationViewOffset","lViewCursor","tViewType","diPublicInInjector","bloomBit","BLOOM_SIZE","mask","b6","b5","notFoundValueOrThrow","lookupTokenUsingModuleInjector","Self","moduleInjector","previousInjectImplementation","getOrCreateInjectable","Default","bloomHash","tokenId","createNodeInjector","previousTView","hostTElementNode","shouldSearchParent","bloomHasToken","searchTokensOnInjector","NOT_FOUND","NodeInjector","currentTView","injectableIdx","locateDirectiveOrProvider","getNodeInjectable","canAccessViewProviders","isHostSpecialCase","nodeProviderIndexes","providerIndexes","tInjectables","injectablesStart","directivesStart","cptViewProvidersCount","endIndex","providerTokenOrDef","dirDef","previousIncludeViewProviders","directiveIndex","directiveDef","ngDoCheck","wrappedOnChanges","preOrderHooks","preOrderCheckHooks","injectorView","isFirstHostTNode","_tNode","_lView","ɵɵgetFactoryOf","typeAny","injectorDef","ɵɵgetInheritedFactory","ownConstructor","ownFactory","objectPrototype","ɵɵinjectAttribute","attrNameToInject","attrsLength","makeParamDecorator","props","parentClass","metaCtor","propName","ParamDecoratorFactory","annotationInstance","ParamDecorator","annotation","cls","unusedKey","parameters","ngMetadataName","annotationCls","Attribute","InjectionToken","_desc","ANALYZE_FOR_ENTRY_COMPONENTS","Type","Function","flatten","deepForEach","addToArray","removeFromArray","newArray","keyValueArraySet","keyValueArray","keyValueArrayIndexOf","value1","value2","keyValueArrayGet","middle","Inject","THROW_IF_NOT_FOUND","NEW_LINE","USE_VALUE","_currentInjector","setCurrentInjector","former","injectInjectorOnly","ɵɵinject","policy","inject","injectArgs","types","arg","j","meta","trustedHTMLFromString","_a","trustedTypes","createPolicy","createHTML","createScript","createScriptURL","getPolicy","SafeValueImpl","changingThisBreaksApplicationSecurity","SafeHtmlImpl","SafeStyleImpl","SafeScriptImpl","SafeUrlImpl","SafeResourceUrlImpl","unwrapSafeValue","allowSanitizationBypassAndThrow","actualType","getSanitizationBypassType","getTypeName","bypassSanitizationTrustHtml","trustedHtml","bypassSanitizationTrustStyle","trustedStyle","bypassSanitizationTrustScript","trustedScript","bypassSanitizationTrustUrl","trustedUrl","bypassSanitizationTrustResourceUrl","trustedResourceUrl","_devMode","_runModeLocked","isDevMode","enableProdMode","getInertBodyHelper","defaultDoc","DOMParser","parseFromString","DOMParserHelper","InertDocumentHelper","inertDocument","implementation","createHTMLDocument","inertHtml","inertBodyElement","nextSibling","templateEl","innerHTML","inertBody","documentMode","stripCustomNsAttrs","elAttrs","childNode","Node","ELEMENT_NODE","SAFE_URL_PATTERN","DATA_URL_PATTERN","_sanitizeUrl","sanitizeSrcset","srcset","tagSet","tags","sets","inertBodyHelper","VOID_ELEMENTS","OPTIONAL_END_TAG_BLOCK_ELEMENTS","OPTIONAL_END_TAG_INLINE_ELEMENTS","OPTIONAL_END_TAG_ELEMENTS","VALID_ELEMENTS","URI_ATTRS","SRCSET_ATTRS","VALID_ATTRS","SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS","SanitizingHtmlSerializer","sanitizedSomething","buf","nextNode","traverseContent","startElement","TEXT_NODE","chars","nodeValue","endElement","checkClobberedElement","tagName","elAttr","lower","encodeEntities","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","outerHTML","SURROGATE_PAIR_REGEXP","NON_ALPHANUMERIC_REGEXP","_sanitizeHtml","unsafeHtmlInput","unsafeHtml","getInertBodyElement","mXSSAttempts","parsedHtml","safeHtml","sanitizeChildren","getTemplateContent","SecurityContext","ɵɵsanitizeHtml","getSanitizer","ɵɵsanitizeUrl","unsafeUrl","URL","getDebugContext","getOriginalError","defaultErrorLogger","ErrorHandler","_console","originalError","_findOriginalError","_findContext","errorLogger","attachPatchData","defaultScheduler","maybeUnwrapFn","_icuContainerIterate","RendererStyleFlags2","icuContainerIterate","tIcuContainerNode","getLViewParent","getFirstLContainer","getNearestLContainer","getNextLContainer","applyToElementOrContainer","lNodeToHandle","beforeNode","isComponent","rNode","nativeAppendChild","nativeInsertBefore","nativeRemoveNode","destroyNode","parentRElement","applyView","updateTextNode","createCommentNode","createComment","createElementNode","namespace","createElementNS","detachMovedView","declarationContainer","movedViews","declarationViewIndex","insertionLContainer","removeIndex","indexInContainer","viewToDetach","declarationLContainer","removedLView","lQueries","destroyLView","rootView","lViewOrLContainer","cleanUpView","firstView","toCall","tCleanup","cleanup","lCleanup","idxOrTargetGetter","useCaptureOrSubIdx","getParentRElement","getClosestRElement","None","isMove","nativeAppendOrInsertBefore","nativeParentNode","getInsertInFrontOfRNode","_getInsertInFrontOfRNodeWithI18n","getInsertInFrontOfRNodeWithNoI18n","_processI18nInsertBefore","setI18nHandling","getInsertInFrontOfRNodeWithI18n","processI18nInsertBefore","childRNode","childTNode","parentRNode","anchorNode","getFirstNativeNode","tNodeType","getBeforeNodeForView","elIcuContainerChild","rNodeOrLContainer","componentView","componentHost","firstProjectedTNode","projection","viewIndexInContainer","nextViewIndex","firstTNodeOfView","isHostElement","nativeParent","applyNodes","isProjection","rawSlotValue","nextRNode","applyProjectionRecursive","projectionNext","tProjectionNode","componentLView","nodeToProjectOrRNodes","writeDirectStyle","cssText","writeDirectClass","classIndexOf","classToSearch","startingIndex","foundIndex","isCssClassMatching","cssClassToMatch","isProjectionMode","isInlineTemplate","hasTagAndTypeMatch","currentSelector","isNodeMatchingSelector","nodeAttrs","nameOnlyMarkerIdx","skipToNextSelector","isPositive","selectorAttrValue","attrIndexInNode","findAttrIndexInNode","nodeAttrValue","compareAgainstClassName","bindingsMode","maybeAttrName","attr","isNodeMatchingSelectorList","isSelectorInSelectorList","selectorListLoop","currentSelectorInList","maybeWrapInNotSelector","isNegativeMode","chunk","stringifyCSSSelector","currentChunk","valueOrMarker","attrValue","NO_CHANGE","ɵɵadvance","delta","selectIndexInternal","checkNoChangesMode","toTStylingRange","getTStylingRangePrev","tStylingRange","setTStylingRangePrevDuplicate","getTStylingRangeNext","setTStylingRangeNext","setTStylingRangeNextDuplicate","refreshContentQueries","queryStartIdx","directiveDefIdx","createLView","tHostNode","rendererFactory","getOrCreateTNode","createTNodeAtIndex","tParent","insertBeforeIndex","directiveStylingLast","propertyBindings","mergedAttrs","localNames","initialInputs","tViews","stylesWithoutHost","residualStyles","classesWithoutHost","residualClasses","classBindings","styleBindings","allocExpando","numSlotsToAlloc","initialValue","allocIdx","renderView","executeViewQueryFn","templateFn","executeTemplate","staticContentQueries","staticViewQueries","components","hostLView","renderComponent","incompleteFirstPass","refreshView","isInCheckNoChangesPass","hooksInitPhaseCompleted","movedLView","embeddedLView","embeddedTView","hostBindingOpCodes","opCode","directiveIdx","bindingRootIndx","hostBindingFn","refreshComponent","firstUpdatePass","renderComponentOrTemplate","normalExecutionPath","creationModeIsActive","begin","prevSelectedIndex","executeContentQueries","createDirectivesInstances","addComponentLogic","setInputsFromAttrs","elementIndex","invokeHostBindingsInCreationMode","saveResolvedLocalsInData","viewData","localRefExtractor","localIndex","getOrCreateTComponentView","createTView","constsOrFactory","initialViewLength","queries","expandoStartIndex","directiveRegistry","pipeRegistry","storeCleanupWithContext","cleanupFn","getLCleanup","generatePropertyAliases","inputAliasMap","propStore","internalName","elementPropertyInternal","nativeOnly","dataValue","inputData","setInputsForProperty","viewIndex","childComponentLView","resolveDirectives","localRefs","hasDirectives","registry","markAsComponentHost","unshift","exportsMap","initTNodeFlags","preOrderHooksFound","preOrderCheckHooksFound","configureViewWithDirective","saveNameToExportMap","lifeCycleHooks","tViewData","tNodeAttrs","inputsFromAttrs","inputsStore","outputsStore","directiveInputs","generateInitialInputs","registerHostBindingOpCodes","directiveVarsIdx","elementIndx","hostTNode","numberOfDirectives","directiveFactory","nodeInjectorFactory","addToViewTree","setElementAttribute","strValue","initialInputData","inputsToStore","createLContainer","hostNative","componentHostIdx","refreshContainsDirtyView","componentTView","markViewDirty","detectChangesInternal","handleError","detectChangesInRootView","rootContext","rootComponent","viewQueryFn","CLEAN_PROMISE","errorHandler","textBindingInternal","computeStaticStyling","writeToHost","INJECTOR$1","NullInjector","INJECTOR_SCOPE","NOT_YET","CIRCULAR","EMPTY_ARRAY$1","NULL_INJECTOR","getNullInjector","createInjectorWithoutInjectorInstances","defType","additionalProviders","R3Injector","records","injectorDefTypes","dedupStack","provider","processProvider","processInjectorType","makeRecord","record","assertNotDestroyed","service","previousInjector","injectableDefInScope","injectableDefOrInjectorDefFactory","hydrate","injectorErrorName","tokenPath","text","defOrWrappedDef","isDuplicate","importTypesWithProviders","imported","defProviders","injectorType","ngModuleType","isTypeProvider","isValueProvider","providerToFactory","multiRecord","paramLength","inheritedInjectableDef","typeName","unwrappedProvider","useFactory","deps","classRef","useClass","INJECTOR_IMPL","_resolveInjectorDefTypes","Injector","NULL","LifecycleHooksFeature","ɵɵInheritDefinitionFeature","superType","shouldInheritFields","inheritanceChain","superDef","writeableDef","maybeUnwrapEmpty","superHostBindings","inheritHostBindings","superViewQuery","superContentQueries","inheritViewQuery","inheritContentQueries","defData","prevViewQuery","prevContentQueries","prevHostBindings","_symbolIterator","getOwnPropertyNames","WrappedValue","wrapped","isWrapped","isListLikeIterable","isJsObject","updateBinding","getBinding","bindingUpdated","bindingUpdated2","exp1","exp2","different","bindingUpdated3","exp3","bindingUpdated4","exp4","ɵɵattribute","interpolation1","prefix","v0","suffix","interpolation2","i0","v1","ɵɵtemplate","attrsIndex","localRefsIndex","adjustedIndex","tViewConsts","comment","ɵɵreference","ɵɵdirectiveInject","ɵɵproperty","setDirectiveInputsWhichShadowsStyling","isClassBased","property","ɵɵelementStart","elementStart","ɵɵelementEnd","elementEnd","ɵɵelement","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵelementContainer","ɵɵgetCurrentView","isObservable","ɵɵlistener","eventName","listenerFn","eventTargetResolver","useCapture","isTNodeDirectiveHost","processOutputs","resolved","lCleanupIndex","existingListener","tNodeIdx","cleanupEventName","listenerIdxInLCleanup","__ngLastListenerFn__","__ngNextListenerFn__","wrapListener","listen","propsLength","executeListenerWithErrorHandling","wrapWithPreventDefault","wrapListenerIn_markDirtyAndPreventDefault","nextListenerFn","returnValue","ɵɵnextContext","level","nestingLevel","matchingProjectionSlotIndex","projectionSlots","wildcardNgContentIndex","ngProjectAsAttrVal","ngProjectAsAttrIdx","ɵɵprojectionDef","componentNode","projectionHeads","tails","componentChild","slotIndex","ɵɵprojection","selectorIndex","ɵɵpropertyInterpolate","ɵɵpropertyInterpolate1","interpolatedValue","ɵɵpropertyInterpolate2","EMPTY_ARRAY$3","markDuplicates","tStylingKey","isPrevDir","isClassBinding","tStylingAtIndex","isMap","cursor","foundDuplicate","tStyleRangeAtCursor","isStylingMatch","tStylingKeyCursor","parserState","textEnd","keyEnd","valueEnd","getLastParsedKey","getLastParsedValue","parseClassNameNext","startIndex","consumeWhitespace","parseStyleNext","ch","consumeSeparator","ch1","ch2","ch3","lastChIndex","consumeQuotedText","resetParserState","separator","quoteCharCode","ɵɵstyleProp","checkStylingProperty","ɵɵclassProp","ɵɵstyleMap","checkStylingMap","styleKeyValueArraySet","styleStringParser","ɵɵclassMap","classStringParser","stylingFirstUpdatePass","updateStyling","stringParser","hasStylingInputShadow","isInHostBindings","staticPrefix","oldKeyValueArray","newKeyValueArray","oldIndex","newIndex","oldKey","newKey","setKey","styleKeyValueArray","unwrappedValue","isHostBindings","stylingKey","hostDirectiveDef","residual","collectStylingFromTAttrs","collectStylingFromDirectives","templateStylingKey","bindings","tStylingKeyWithStatic","isHostBinding","tBindings","tmplHead","tmplTail","isKeyDuplicateOfStatic","staticKeyValueArray","previousNode","currentDirective","desiredMarker","currentMarker","tRange","isStylingValuePresent","findStylingValue","isProcedural","DashCase","removeProperty","isImportant","endsWith","Important","isPrevDirection","rawKey","containsStatics","isStylingMap","valueAtLViewIndex","ɵɵtext","textNative","ɵɵtextInterpolate","ɵɵtextInterpolate1","interpolated","ɵɵtextInterpolate2","ɵɵclassMapInterpolate1","ɵɵclassMapInterpolate4","i1","v2","i2","v3","ɵɵhostProperty","ɵɵsyntheticHostProperty","currentDef","u","localeEn","n","LOCALE_DATA","registerLocaleData","localeId","extraData","LocaleDataIndex","LocaleId","ExtraData","findLocaleData","normalizedLocale","getLocaleData","parentLocale","getLocaleCurrencyCode","CurrencyCode","getLocalePluralCase","PluralCase","ng","common","locales","pluralMapping","ELEMENT_MARKER","ICU_MARKER","I18nCreateOpCode","LOCALE_ID","setLocaleId","tNodeInsertBeforeIndex","i18nParent","anchorRNode","addTNodeAndUpdateInsertBeforeIndex","previousTNodes","newTNode","existingTNode","isI18nText","isNewTNodeCreatedBefore","setInsertBeforeIndex","getTIcu","createTNodePlaceholder","getCurrentICUCaseIndex","tIcu","currentCase","currentCaseLViewIndex","changeMask","changeMaskCounter","applyMutableOpCodes","mutableOpCodes","rootRNode","rootIdx","textNodeIndex","parentIdx","insertInFrontOf","refIdx","caseIndex","anchorIdx","commentValue","commentNodeIndex","elementNodeIndex","applyUpdateOpCodes","updateOpCodes","bindingsStartIndex","checkBit","skipCodes","sanitizeFn","tNodeOrTagName","rText","applyIcuSwitchCase","applyIcuUpdateCase","activeCaseIndex","icuExpression","bindingValue","cases","resolvedCase","plural","applyIcuSwitchCaseRemove","removeCodes","nodeOrIcuIndex","BINDING_REGEXP","NESTED_ICU","ICU_BLOCK_REGEXP","SUBTEMPLATE_REGEXP","PH_REGEXP","NGSP_UNICODE_REGEXP","createTNodeAndAddOpCode","rootTNode","existingTNodes","createOpCodes","isICU","i18nNodeIdx","SHIFT","APPEND_EAGERLY","COMMENT","_removes","_stack","_index","enterIcu","icuContainerIteratorNext","removeOpCode","i18nStartFirstCreatePassProcessTextNode","hasBinding","generateBindingUpdateOpCodes","destinationNode","maskIndex","sizeIndex","textParts","textValue","toMaskBit","removeInnerTemplateTranslation","tagMatched","inTemplate","icuStart","bindingMask","mainBinding","valueArr","nestedIcus","icuIndex","parseIcuCase","parseICUBlock","icuType","i18nParseTextIntoPartsAndICU","binding","pos","blocks","prevPos","braceStack","braces","lastIndex","block","caseName","unsafeCaseHtml","inertRootNode","walkIcuTree","sharedUpdateOpCodes","depth","currentNode","addCreateNodeAndAppend","lowerAttrName","addCreateAttribute","addRemoveNode","COMMENT_NODE","isNestedIcu","addRemoveNestedIcu","appendToParentIdx","createAtIdx","ɵɵi18n","messageIndex","subTemplateIndex","parentTNodeIndex","existingTNodeStack","msgParts","isClosing","tI18n","isComment","appendNow","ɵɵi18nExp","ɵɵi18nApply","resolveProvider$1","lInjectablesBlueprint","providerFactory","beginIndex","existingFactoryIndex","registerDestroyHooksIfSupported","existingProvidersFactoryIndex","existingViewProvidersFactoryIndex","doesProvidersFactoryExist","doesViewProvidersFactoryExist","factoryFn","f","componentProviders","multiFactoryAdd","multiViewProvidersFactoryResolver","multiProvidersFactoryResolver","contextIndex","indexInFactory","providerIsTypeProvider","existingCallbacksIndex","multiFactory","isComponentProvider","lData","multiResolve","factories","componentCount","multiProviders","ɵɵProvidersFeature","viewProviders","processProvidersFn","ComponentFactory","_NullComponentFactoryResolver","ComponentFactoryResolver","createElementRef","ElementRef","SWITCH_ELEMENT_REF_FACTORY","RendererFactory2","Renderer2","SWITCH_RENDERER2_FACTORY","nodeAtIndex","Sanitizer","Version","full","major","minor","VERSION","DefaultIterableDifferFactory","trackByFn","DefaultIterableDiffer","trackByIdentity","_linkedRecords","_unlinkedRecords","_previousItHead","_itHead","_itTail","_additionsHead","_additionsTail","_movesHead","_movesTail","_removalsHead","_removalsTail","_identityChangesHead","_identityChangesTail","_trackByFn","nextIt","nextRemove","addRemoveOffset","moveOffsets","currentIndex","getPreviousIndex","adjPreviousIndex","_nextRemoved","previousIndex","localMovePreviousIndex","localCurrentIndex","_nextPrevious","_nextAdded","_nextMoved","_nextIdentityChange","collection","check","_reset","itemTrackBy","mayBeDirty","trackById","_verifyReinsertion","_addIdentityChange","_mismatch","_truncate","isDirty","previousRecord","_prev","_remove","_moveAfter","_reinsertAfter","_addAfter","IterableChangeRecord_","reinsertRecord","_addToMoves","nextRecord","_addToRemovals","_unlink","prevRecord","_prevRemoved","_insertAfter","_DuplicateMap","put","toIndex","_prevDup","_nextDup","_DuplicateItemRecordList","_head","_tail","atOrAfterIndex","duplicates","recordList","moveOffset","DefaultKeyValueDifferFactory","DefaultKeyValueDiffer","_records","_mapHead","_appendAfter","_previousMapHead","_changesHead","_changesTail","_nextChanged","_forEach","_maybeAddToChanges","_getOrCreateRecordForKey","_insertBeforeOrAppend","KeyValueChangeRecord_","_addToAdditions","_addToChanges","IterableDiffers","supports","copied","KeyValueDiffers","kv","collectNativeNodes","lNode","lViewInAContainer","lViewFirstChildTNode","nodesInSlot","ViewRef","_cdRefInjectingView","vcRef","RootViewRef","_view","SWITCH_CHANGE_DETECTOR_REF_FACTORY","injectChangeDetectorRef","ChangeDetectorRef","__ChangeDetectorRef__","isPipe","keyValDiff","defaultIterableDiffers","defaultKeyValueDiffers","SWITCH_TEMPLATE_REF_FACTORY","createTemplateRef","TemplateRef","R3TemplateRef","_declarationLView","_declarationTContainer","declarationViewLQueries","NgModuleRef","NgModuleFactory","SWITCH_VIEW_CONTAINER_REF_FACTORY","createContainerRef","ViewContainerRef","R3ViewContainerRef","_lContainer","_hostTNode","_hostLView","viewRefs","getViewRefs","insert","projectableNodes","ngModuleRef","contextInjector","parentInjector","prevIdx","prevLContainer","prevVCRef","adjustedIdx","_adjustIndex","containerLength","insertView","parentNativeNode","attachToViewContainerRef","getOrCreateViewRefs","viewRefsArr","detachedView","commentNode","NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR","ComponentFactoryResolver$1","componentDef","ComponentFactory$1","toRefArray","nonMinified","templateName","SCHEDULER","componentType","isBoundToModule","rootSelectorOrNode","tElementNode","rootViewInjector","hostRenderer","elementName","hostRNode","elementOrSelector","selectRootElement","ShadowDom","rElement","rootFlags","clean","playerHandler","rootTView","rootLView","viewRenderer","nodesforSlot","hostFeatures","ComponentRef$1","_rootLView","destroyCbs","destroyed","modules","NgModuleRef$1","_bootstrapComponents","ngLocaleIdDef","_r3Injector","injectFlags","NgModuleFactory$1","moduleType","visited","recurse","incoming","ɵɵpureFunction0","slotOffset","pureFn","thisArg","ɵɵpureFunction1","pureFunction1Internal","ɵɵpureFunction2","pureFunction2Internal","ɵɵpureFunction3","pureFunction3Internal","ɵɵpureFunction4","bindingRoot","getPureFunctionReturnValue","ɵɵpureFunction5","exp5","ɵɵpureFunction6","exp6","ɵɵpureFunction7","exp7","ɵɵpureFunctionV","exps","returnValueIndex","lastReturnValue","ɵɵpipe","pipeName","pipeFactory","pipeInstance","ɵɵpipeBind1","unwrapValue$1","isPure","ɵɵpipeBind2","ɵɵpipeBind3","unwrap","EventEmitter","isAsync","__isAsync","generatorOrNext","schedulerFn","errorFn","completeFn","symbolIterator","_results","QueryList","symbol","proto","resultsTree","LQuery_","queryList","setDirty","LQueries_","tQueries","noOfInheritedQueries","viewLQueries","tQuery","getByIndex","indexInDeclarationView","clone","dirtyQueriesWithMatches","getTQuery","TQueryMetadata_","predicate","descendants","isStatic","read","TQueries_","queriesForTemplateRef","childQueryIndex","tqueryClone","tquery","TQuery_","crossesNgTemplate","_appliesToNextNode","_declarationNodeIndex","matchIdx","isApplyingToNode","matchTNode","addMatch","declarationNodeIdx","matchTNodeWithReadOption","getIdxOfMatchingSelector","nodeMatchIdx","directiveOrProviderIdx","createResultForNode","matchingIdx","materializeViewResults","queryIndex","lQuery","tQueryMatches","matchedNodeIdx","collectQueryResults","lViewResults","embeddedLViews","ɵɵqueryRefresh","notifyOnChanges","ɵɵstaticViewQuery","descend","viewQueryInternal","ɵɵviewQuery","createTQuery","createLQuery","ɵɵcontentQuery","contentQueryInternal","ɵɵstaticContentQuery","tViewContentQueries","ɵɵloadQuery","track","ɵɵtemplateRefExtractor","ɵɵinjectPipeChangeDetectorRef","APP_INITIALIZER","ApplicationInitStatus","appInits","initialized","donePromise","rej","asyncInitPromises","initResult","all","APP_ID","APP_ID_RANDOM_PROVIDER","_randomChar","PLATFORM_INITIALIZER","PLATFORM_ID","APP_BOOTSTRAP_LISTENER","Console","LOCALE_ID$1","DEFAULT_CURRENCY_CODE","ModuleWithComponentFactories","ngModuleFactory","componentFactories","Compiler_compileModuleSync__POST_R3__","Compiler_compileModuleSync","Compiler_compileModuleAsync","Compiler_compileModuleAndAllComponentsSync__POST_R3__","declaration","Compiler_compileModuleAndAllComponentsSync","Compiler_compileModuleAndAllComponentsAsync","Compiler","compileModuleSync","compileModuleAsync","compileModuleAndAllComponentsSync","compileModuleAndAllComponentsAsync","Zone","NgZone","maybeDelayChangeDetection","enableLongStackTrace","shouldCoalesceEventChangeDetection","hasPendingMacrotasks","hasPendingMicrotasks","isStable","onUnstable","onMicrotaskEmpty","onError","assertZonePatched","_nesting","_outer","_inner","fork","lastRequestAnimationFrameId","nativeRequestAnimationFrame","nativeCancelAnimationFrame","unpatchedRequestAnimationFrame","__symbol__","unpatchedCancelAnimationFrame","fakeTopEventTask","root","scheduleEventTask","updateMicroTaskStatus","checkStable","invoke","properties","onInvokeTask","task","applyThis","applyArgs","onEnter","invokeTask","onLeave","onInvoke","onHasTask","hasTaskState","hasTask","_hasPendingMicrotasks","microTask","macroTask","onHandleError","EMPTY_PAYLOAD","runTask","cancelTask","runGuarded","isInAngularZone","NoopNgZone","Testability","_pendingCount","_isZoneStable","_didWork","_callbacks","taskTrackingZone","_watchAngularEvents","assertNotInAngularZone","_runCallbacksIfReady","timeoutId","doneCb","getPendingTasks","updateCb","macroTasks","creationLocation","addCallback","using","exactMatch","TestabilityRegistry","_applications","_testabilityGetter","addToWindow","findInAncestors","testability","elem","findTestabilityInTree","setTestabilityGetter","getter","_platform","_NoopGetTestability","ALLOW_MULTIPLE_PLATFORMS","NgProbeToken","createPlatformFactory","parentPlatformFactory","extraProviders","platform","getPlatform","injectedProviders","PlatformRef","inits","requiredToken","_modules","_destroyListeners","moduleFactory","ngZoneOption","ngZoneEventCoalescing","ngZoneInjector","moduleRef","exceptionHandler","initStatus","runInitializers","_moduleDoBootstrap","compilerOptions","optionsReducer","bootstrapModuleFactory","ApplicationRef","ngDoBootstrap","objs","_exceptionHandler","_initStatus","_bootstrapListeners","_views","_runningTick","_enforceNoNewChanges","_stable","componentTypes","isCurrentlyStable","stableSub","unstableSub","assertInAngularZone","componentOrFactory","compRef","_unloadComponent","registerApplication","_loadComponent","checkNoChanges","attachToAppRef","detachFromAppRef","NgModuleFactoryLoader","SystemJsNgModuleLoaderConfig","DEFAULT_CONFIG","factoryPathPrefix","factoryPathSuffix","SystemJsNgModuleLoader","_compiler","exportName","loadAndCompile","checkNotEmpty","factoryClassSuffix","modulePath","getDebugNodeR2","_nativeNode","platformCore","APPLICATION_MODULE_PROVIDERS","ApplicationModule","NONE","combineLatest","CombineLatestOperator","CombineLatestSubscriber","unused","_tryResultSelector","Sidebar_button_6_Template","ariaCloseLabel","Sidebar_ng_container_10_Template","_c1","a3","a4","a5","a6","_c2","Sidebar","blockScroll","autoZIndex","baseZIndex","modal","dismissible","showCloseIcon","closeOnEscape","onShow","onHide","visibleChange","appendTo","containerViewChild","visible","show","templates","getType","executePostDisplayActions","zIndex","enableModality","disableModality","preventVisibleChangePropagation","hide","addMultipleClasses","maskClickListener","unbindMaskClickListener","toState","bindDocumentEscapeListener","unbindGlobalListeners","documentEscapeListener","ownerDocument","unbindDocumentEscapeListener","_visible","fullScreen","styleClass","onAnimationStart","SidebarModule","FooterComponent","urlParsingNode","BrowserDomAdapter","groupEnd","evt","dispatchEvent","getDefaultDocument","DocumentFragment","history","href","baseElement","pathname","performance","cookie","GenericBrowserDomAdapter","TRANSITION_ID","SERVER_TRANSITION_PROVIDERS","transitionId","dom","BrowserGetTestability","getAllTestabilities","getAllRootElements","testabilities","didWork","decrement","didWork_","whenStable","getTestability","isShadowRoot","EVENT_MANAGER_PLUGINS","EventManager","plugins","_eventNameToPlugin","manager","_plugins","reverse","handler","_findPluginFor","addGlobalEventListener","plugin","EventManagerPlugin","_doc","getGlobalEventTarget","SharedStylesHost","_stylesSet","additions","onStylesAdded","DomSharedStylesHost","_hostNodes","_styleNodes","head","styleNode","styleEl","hostNode","_addStylesToHost","NAMESPACE_URIS","COMPONENT_REGEX","flattenStyles","compId","decoratePreventDefault","eventHandler","DomRendererFactory2","eventManager","sharedStylesHost","appId","rendererByCompId","defaultRenderer","DefaultDomRenderer2","EmulatedEncapsulationDomRenderer2","applyToHost","ShadowDomRenderer","addStyles","newChild","refChild","oldChild","selectorOrNode","preserveContent","namespaceUri","removeAttributeNS","contentAttr","hostAttr","hostEl","shadowRoot","attachShadow","addHost","removeHost","nodeOrShadowRoot","DomEventsPlugin","MODIFIER_KEYS","_keyMap","_chromeNumKeyPadMap","MODIFIER_KEY_GETTERS","altKey","ctrlKey","metaKey","KeyEventsPlugin","keyName","parseEventName","parsedEvent","outsideHandler","eventCallback","getZone","onAndCancel","domEventName","_normalizeKey","fullKey","modifierName","keyIdentifier","startsWith","getEventFullKey","DomSanitizer","DomSanitizerImpl","domSanitizerImplFactory","STYLE","SCRIPT","RESOURCE_URL","INTERNAL_BROWSER_PLATFORM_PROVIDERS","makeCurrent","platformBrowser","BROWSER_MODULE_PROVIDERS","BrowserModule","parentModule","innerIndex","innerSub","MapOperator","MapSubscriber","__awaiter","_arguments","P","generator","fulfilled","rejected","_DOM","getDOM","setRootDomAdapter","adapter","DomAdapter","PlatformLocation","useBrowserPlatformLocation","BrowserPlatformLocation","LOCATION_INITIALIZED","_init","getLocation","_history","getHistory","getBaseHref","supportsState","pushState","hash","replaceState","forward","back","protocol","hostname","port","newPath","createBrowserPlatformLocation","joinWithSlash","slashes","stripTrailingSlash","pathEndIdx","normalizeQueryParams","LocationStrategy","provideLocationStrategy","platformLocation","PathLocationStrategy","origin","APP_BASE_HREF","_platformLocation","getBaseHrefFromDOM","_baseHref","onPopState","onHashChange","internal","includeHash","queryParams","externalUrl","prepareExternalUrl","HashLocationStrategy","Location","platformStrategy","_subject","_urlChangeListeners","_platformStrategy","browserBaseHref","_stripIndexHtml","ev","onReturn","normalize","getState","baseHref","_notifyUrlChangeListeners","_urlChangeSubscription","onNext","onThrow","createLocation","NumberFormatStyle","Plural","FormStyle","TranslationWidth","FormatWidth","NumberSymbol","getLocaleDayPeriods","formStyle","amPm","getLastDefinedValue","DayPeriodsFormat","DayPeriodsStandalone","getLocaleDayNames","DaysFormat","DaysStandalone","getLocaleMonthNames","MonthsFormat","MonthsStandalone","getLocaleDateFormat","DateFormat","getLocaleTimeFormat","TimeFormat","getLocaleDateTimeFormat","DateTimeFormat","getLocaleNumberSymbol","NumberSymbols","CurrencyDecimal","Decimal","CurrencyGroup","Group","checkFullData","extractTime","hours","minutes","ISO8601_DATE_REGEX","NAMED_FORMATS","DATE_FORMATS_SPLIT","ZoneWidth","DateType","TranslationType","formatDate","timezone","isDate","parsedNb","m","tzHour","tzMin","dateSetter","setUTCFullYear","timeSetter","setUTCHours","setHours","h","getNamedFormat","dateTimezoneOffset","getTimezoneOffset","timezoneToOffset","setMinutes","getMinutes","dateFormatter","DATE_FORMATS","dateStrGetter","Eras","dateGetter","FullYear","weekNumberingYearGetter","Month","Months","weekGetter","Days","DayPeriods","Format","Hours","Minutes","Seconds","FractionalSeconds","timeZoneGetter","Extended","ShortGMT","Long","formatValue","Medium","Full","shortTime","shortDate","formatDateTime","mediumTime","mediumDate","longTime","longDate","fullTime","fullDate","opt_values","digits","negWrap","minusSign","neg","strNum","getHours","getSeconds","getMilliseconds","Day","localeMinus","MinusSign","extended","currentHours","currentMinutes","rules","rule","dayPeriods","to","afterFrom","beforeTo","ceil","getThursdayThisWeek","datetime","monthBased","firstDayOfYear","nbDaysBefore1stDayOfMonth","thisThurs","firstThurs","THURSDAY","fallback","requestedTimezoneOffset","NUMBER_FORMAT_REGEXP","parseIntAutoRadix","NgLocalization","NgLocaleLocalization","Zero","One","Two","Few","Many","parseCookieValue","cookieStr","encodeURIComponent","eqIndex","cookieName","cookieValue","NgClass","_iterableDiffers","_keyValueDiffers","_ngEl","_iterableDiffer","_keyValueDiffer","_initialClasses","_rawClass","iterableChanges","_applyIterableChanges","keyValueChanges","_applyKeyValueChanges","forEachAddedItem","_toggleClass","forEachChangedItem","forEachRemovedItem","rawClassVal","klass","_removeClasses","_applyClasses","ngClass","NgForOfContext","ngForOf","even","NgForOf","_viewContainer","_template","_differs","_ngForOf","_ngForOfDirty","_differ","ngForTrackBy","_applyChanges","insertTuples","forEachOperation","adjustedPreviousIndex","tuple","RecordViewTuple","move","_perViewChange","ilen","forEachIdentityChange","ngForTemplate","NgIf","NgIfContext","_thenTemplateRef","_elseTemplateRef","_thenViewRef","_elseViewRef","ngIf","_updateView","assertTemplate","ngIfThen","ngIfElse","SwitchView","_templateRef","_created","created","NgSwitch","_defaultUsed","_caseCount","_lastCaseCheckIndex","_lastCasesMatched","_defaultViews","_ngSwitch","_updateDefaultCases","useDefault","enforceState","ngSwitch","NgSwitchCase","viewContainer","_addCase","ngSwitchCase","_matchCase","NgSwitchDefault","_addDefault","NgStyle","_ngStyle","nameAndUnit","unit","_setStyle","ngStyle","NgTemplateOutlet","_viewRef","ngTemplateOutletContext","ngTemplateOutlet","_shouldRecreateView","_updateExistingContext","ctxChange","_hasContextShapeChanged","prevCtxKeys","currCtxKeys","invalidPipeArgumentError","ObservableStrategy","updateLatestValue","_promiseStrategy","PromiseStrategy","_observableStrategy","AsyncPipe","_ref","_latestValue","_obj","_strategy","_dispose","_selectStrategy","createSubscription","_updateLatestValue","dispose","UpperCasePipe","toUpperCase","DatePipe","DecimalPipe","digitsInfo","groupSymbol","decimalSymbol","isPercent","formattedText","isZero","parsedNumber","integerLen","zeros","numStr","exponent","MAX_DIGITS","fractionLen","minInt","minFraction","minFrac","maxFraction","maxFrac","minIntPart","minFractionPart","maxFractionPart","fractionSize","roundAt","digit","dropTrailingZeros","minLen","carry","reduceRight","decimals","every","groups","lgSize","gSize","Exponential","Infinity","negPre","negSuf","posPre","posSuf","patternParts","positive","negative","positiveParts","lastIndexOf","integer","fraction","trunkLen","NumberFormats","SlicePipe","CommonModule","PLATFORM_BROWSER_ID","isPlatformBrowser","platformId","ViewportScroller","BrowserViewportScroller","supportsScrolling","scrollTo","elSelected","getElementById","getElementsByName","scrollToElement","scrollRestoration","supportScrollRestoration","scrollRestorationDescriptor","getScrollRestorationProperty","writable","$$rxSubscriber","FilterSubscriber","_subscriptions","_ctorUnsubscribe","flattenUnsubscriptionErrors","teardown","tmp","subscriptionIndex","errs","innerSubscribe_1","catchError","CatchOperator","caught","CatchSubscriber","err2","SimpleInnerSubscriber","innerSubscribe","SimpleOuterSubscriber","ROUTES","Title","Icon","Class","SidebarComponent","userSubject","AdminLayoutComponent","pdfService","HttpHandler","HttpBackend","HttpHeaders","headers","normalizedNames","lazyUpdate","lazyInit","line","maybeSetNormalizedName","op","lcName","copyFrom","applyUpdate","base","toDelete","existing","HttpUrlEncodingCodec","standardEncoding","HttpParams","rawParams","codec","updates","cloneFrom","encoder","fromString","fromObject","param","eqIdx","decodeKey","decodeValue","eKey","encodeKey","encodeValue","isArrayBuffer","ArrayBuffer","isBlob","Blob","isFormData","FormData","HttpRequest","method","third","fourth","reportProgress","withCredentials","urlWithParams","qIdx","setHeaders","setParams","HttpEventType","HttpResponseBase","defaultStatus","defaultStatusText","statusText","ok","HttpHeaderResponse","ResponseHeader","undefined","HttpResponse","Response","HttpErrorResponse","addBody","HttpClient","events$","handle","res$","request","callbackParam","append","HttpInterceptorHandler","interceptor","intercept","HTTP_INTERCEPTORS","NoopInterceptor","XSSI_PREFIX","XhrFactory","BrowserXhr","XMLHttpRequest","HttpXhrBackend","xhrFactory","abort","xhr","build","setRequestHeader","detectedType","detectContentTypeHeader","reqBody","serializeBody","headerResponse","partialFromXhr","getAllResponseHeaders","responseURL","getResponseHeader","onLoad","responseText","originalBody","sentHeaders","onDownProgress","progressEvent","DownloadProgress","loaded","lengthComputable","partialText","onUpProgress","progress","UploadProgress","upload","send","Sent","readyState","DONE","XSRF_COOKIE_NAME","XSRF_HEADER_NAME","HttpXsrfTokenExtractor","HttpXsrfCookieExtractor","lastCookieString","lastToken","parseCount","cookieString","HttpXsrfInterceptor","headerName","lcUrl","getToken","HttpInterceptingHandler","backend","chain","interceptors","HttpClientXsrfModule","HttpClientModule","withOptions","NEW_CONFIG","INITIAL_CONFIG","initialConfig","thousandSeparator","decimalMarker","clearIfNotMatch","showTemplate","showMaskTyped","placeHolderCharacter","dropSpecialCharacters","hiddenInput","shownMaskExpression","separatorLimit","allowNegativeNumbers","validation","specialCharacters","patterns","optional","X","A","S","M","H","timeMasks","withoutValidation","MaskApplierService","maskExpression","actualValue","_formatWithSeparators","thousandSeparatorChar","decimalChar","precision","rgx","percentage","getPrecision","checkInputPrecision","inputValue","precisionRegEx","_charToRegExpExpression","precisionMatch","_shift","maskSpecialCharacters","maskAvailablePatterns","char","maskAndPattern","customPattern","applyMask","backspaceShift","stepBack","inputArray","ipError","cpfCnpjError","_stripToDecimal","thousandSeperatorCharEscaped","decimalMarkerEscaped","invalidChars","invalidCharRegexp","strForSep","commaShift","shiftStep","inputSymbol","_checkSymbolMask","daysCount","monthsCount","withoutDays","day1monthInput","day2monthInput","day1monthPaste","day2monthPaste","_findSpecialChar","newPosition","actualShift","maskSymbol","MaskService","isNumberValue","maskIsShown","selStart","selEnd","writingValue","_formElement","showMaskInInput","formControlResult","getSymbol","newInputValue","actualResult","shiftTypedSymbols","Boolean","getActualValue","hideInput","resLen","prefNmask","countSkipedSymbol","_numberSkipedSymbols","clearIfNotMatchFn","curr","symbolToReplace","currSymbol","replaceSymbol","inputVal","_checkForIp","_checkForCpfCnpj","formElementProperty","_removeMask","_removeSuffix","_removePrefix","cpf","cnpj","_checkSymbols","specialCharactersForRemove","_regExpForRemove","separatorPrecision","_retrieveSeparatorPrecision","separatorValue","_retrieveSeparatorValue","_checkPrecision","maskExpretion","matcher","separatorExpression","MaskDirective","_maskService","_maskValue","_position","_maskExpressionArray","onTouch","sort","_applyMask","_createValidationError","_validateTime","counterOfOpt","checkSpecialCharAmount","_setMask","selectionStart","caretShift","applyValueChanges","_backspaceShift","positionToApply","_code","_getActualInputLength","setSelectionRange","selectionEnd","keyCode","suffixCheckOnPressDelete","cursorStart","readOnly","maskExp","accum","currval","_start","_end","repeatNumber","_repeatPatternSymbols","rowMaskLen","requiredMask","removeMask","onInput","onModelChange","NgxMaskModule","configValue","_configFactory","initConfig","commonjsGlobal","KeyboardEvent","_eventType","N2PdfViewerModel","file","EmptyError","EmptyErrorImpl","defer","observableFactory","takeLast","ring","throwIfEmpty","defaultErrorFactory","errorFactory","ThrowIfEmptyOperator","defaultIfEmpty","DefaultIfEmptyOperator","isEmpty","ScanOperator","accumulator","seed","hasSeed","_seed","hasDefaultValue","RouterEvent","NavigationStart","navigationTrigger","restoredState","NavigationEnd","urlAfterRedirects","NavigationCancel","NavigationError","RoutesRecognized","GuardsCheckStart","GuardsCheckEnd","shouldActivate","ResolveStart","ResolveEnd","RouteConfigLoadStart","route","RouteConfigLoadEnd","ChildActivationStart","snapshot","routeConfig","ChildActivationEnd","ActivationStart","ActivationEnd","Scroll","routerEvent","ParamsAsMap","convertToParamMap","navigationCancelingError","defaultUrlMatcher","segments","segmentGroup","pathMatch","hasChildren","posParams","segment","consumed","shallowEqual","k1","k2","equalArraysOrString","aSorted","bSorted","wrapIntoObservable","containsTree","containee","exact","equalSegmentGroups","containsSegmentGroup","equalPath","numberOfChildren","containsSegmentGroupHelper","containeePaths","UrlTree","fragment","DEFAULT_SERIALIZER","serialize","_queryParamMap","UrlSegmentGroup","serializePaths","UrlSegment","serializePath","_parameterMap","as","mapChildrenIntoArray","childOutlet","UrlSerializer","DefaultUrlSerializer","UrlParser","parseRootSegment","parseQueryParams","parseFragment","tree","serializeSegment","strParams","encodeUriQuery","encodeURI","encodeUriString","encodeUriSegment","decode","decodeQuery","SEGMENT_RE","matchSegments","QUERY_PARAM_RE","QUERY_PARAM_VALUE_RE","remaining","consumeOptional","peekStartsWith","parseChildren","parseQueryParam","parseSegment","capture","parseParens","parseMatrixParams","parseParam","valueMatch","decodedKey","decodedVal","currentVal","allowPrimary","outletName","Tree","_root","pathFromRoot","findNode","findPath","cc","TreeNode","nodeChildrenAsMap","outlet","RouterState","setRouterState","createEmptyState","urlTree","activated","ActivatedRouteSnapshot","RouterStateSnapshot","emptyUrl","emptyParams","emptyData","emptyQueryParams","futureSnapshot","_futureSnapshot","_routerState","_paramMap","inheritedParamsDataResolve","paramsInheritanceStrategy","inheritingStartingFrom","_resolvedData","urlSegment","lastPathIndex","_urlSegment","_lastPathIndex","serializeNode","advanceActivatedRoute","currentSnapshot","nextSnapshot","equalParamsAndUrlSegments","createNode","routeReuseStrategy","prevState","shouldReuseRoute","detachedRouteHandle","retrieve","setFutureSnapshotsOfActivatedRoutes","isMatrixParams","command","outlets","segmentPath","isCommandWithOutlets","oldSegmentGroup","newSegmentGroup","qp","replaceSegment","oldSegment","newSegment","Navigation","isAbsolute","numberOfDoubleDots","commands","cmdWithOutlet","Position","processChildren","updateSegmentGroup","updateSegmentGroupChildren","currentCommandIndex","currentPathIndex","noMatch","pathIndex","commandIndex","slicedCommands","createNewSegmentGroup","paths","createNewSegmentChildren","ActivateRoutes","futureState","currState","forwardEvent","parentContexts","futureRoot","currRoot","deactivateChildRoutes","activateChildRoutes","futureNode","currNode","futureChild","childOutletName","deactivateRoutes","childName","deactivateRouteAndItsChildren","parentContext","future","getContext","shouldDetach","detachAndStoreRouteSubtree","deactivateRouteAndOutlet","onOutletDeactivated","deactivate","activateRoutes","getOrCreateContext","shouldAttach","stored","onOutletReAttached","attachRef","advanceActivatedRouteNodeAndItsChildren","_loadedConfig","cmpFactoryResolver","resolver","activateWith","LoadedRouterConfig","routes","isUrlTree","INITIAL_VALUE","prioritizedGuardValue","isPending","innerAcc","ɵEmptyOutletComponent","validateConfig","parentPath","validateNode","getFullPath","fullPath","currentRoute","standardizeConfig","loadChildren","getOutlet","NoMatch","AbsoluteRedirect","absoluteRedirect","newTree","namedOutletsRedirect","configLoader","urlSerializer","allowRedirects","redirectToUrlSegment","expandSegmentGroup","rootSegmentGroup","createUrlTree","noMatchError","rootCandidate","expandChildren","expandSegment","waitHead","waitTail","mapped","routesByOutlet","routeOutlet","expansions","entries","expanded","expandSegmentAgainstRoute","noLeftoversInUrl","expandRoutes","matchSegmentAgainstRoute","expandSegmentAgainstRouteUsingRedirect","expandWildCardWithParamsAgainstRouteUsingRedirect","expandRegularSegmentAgainstRouteUsingRedirect","applyRedirectCommands","lineralizeSegments","newSegments","consumedSegments","lastChild","positionalParamSegments","rawSegmentGroup","cfg","rawSlicedSegments","getChildConfig","routerConfig","childModule","childConfig","slicedSegments","isEmptyPathRedirect","mergeTrivialChildren","primarySegmentGroup","cs","runCanLoadGuards","shouldLoadResult","canLoad","canLoadObservables","injectionToken","guardVal","guard","applyRedirectCreatreUrlTree","newRoot","createSegmentGroup","createQueryParams","redirectToParams","actualParams","sourceName","updatedSegments","createSegments","redirectToSegments","actualSegments","findPosParam","findOrReturn","CanActivate","CanDeactivate","getAllRouteGuards","getChildRouteGuards","futurePath","checks","canDeactivateChecks","canActivateChecks","prevChildren","shouldRun","runGuardsAndResolvers","isActivated","fireActivationStart","fireChildActivationStart","runCanActivate","futureRSS","futureARS","canActivate","canActivateObservables","runCanActivateChild","canActivateChildGuardsMapped","canActivateChild","guards","guardsMapped","NoMatch$1","rootComponentType","relativeLinkResolution","split$1","processSegmentGroup","freeze","rootNode","routeState","inheritParamsAndData","routeNode","processSegment","names","routeWithSameOutletName","localeCompare","processSegmentAgainstRoute","rawSegment","getData","getSourceSegmentGroup","getPathIndexShift","getResolve","_sourceSegment","_segmentIndexShift","emptyPathMatch","primarySegment","switchTap","nextResult","DefaultRouteReuseStrategy","detachedTree","loader","compiler","onLoadStartListener","onLoadEndListener","loadModuleFactory","OutletContext","ChildrenOutletContexts","DefaultUrlHandlingStrategy","newUrlPart","wholeUrl","defaultErrorHandler","defaultMalformedUriErrorHandler","defaultRouterHook","runExtras","RouterLinkWithHref","RouterLink","Router","rootContexts","lastSuccessfulNavigation","currentNavigation","lastLocationChangeInfo","navigationId","isNgZoneEnabled","malformedUriErrorHandler","navigated","lastSuccessfulId","beforePreactivation","afterPreactivation","urlHandlingStrategy","onSameUrlNavigation","urlUpdateStrategy","resetConfig","currentUrlTree","rawUrlTree","browserUrlTree","triggerEvent","routerState","transitions","currentRawUrl","extractedUrl","extract","rawUrl","extras","targetSnapshot","currentRouterState","targetRouterState","guardsResult","navigations","setupNavigations","processNavigations","eventsSubject","initialUrl","previousNavigation","urlTransition","shouldProcessUrl","serializeUrl","finalUrl","serializer","recognize","skipLocationChange","setBrowserUrl","replaceUrl","routesRecognized","navStart","appliedUrlTree","guardsStart","currRSS","currARS","canDeactivate","canDeactivateObservables","guardsEnd","resetUrlToCurrentUrlTree","navCancel","resolveStart","dataResolved","canActivateChecksResolved","resolvedData","resolveEnd","redirecting","resetStateAndUrl","mergedTree","scheduleNavigation","navError","ee","getTransition","setUpLocationChangeListener","navigateByUrl","locationSubscription","currentChange","extractLocationChangeInfoFromEvent","shouldScheduleNavigation","stateCopy","parseUrl","sameDestination","navigationExtras","relativeTo","queryParamsHandling","preserveFragment","q","removeEmptyProps","nav","cmd","cmdIdx","urlPart","partIndex","toRoot","startingPosition","modifier","ci","dd","priorPromise","lastNavigation","browserNavPrecededByRouterNav","duplicateNav","setTransition","isCurrentPathEqualTo","go","storedState","storedUrl","onChanges","attrBoolValue","onClick","routerLink","locationStrategy","updateTargetUrlAndHref","RouterOutlet","RouterLinkActive","RouterScroller","RouterPreloader","cdr","link","linkWithHref","isActive","routerLinkActiveOptions","routerEventsSubscription","links","linksWithHrefs","subscribeToEachLinkOnChanges","linkInputChangesSubscription","allLinkChanges","toArray","isLinkActive","hasActiveLinks","isActiveCheckFn","routerLinkActive","changeDetector","_activatedRoute","activateEvents","deactivateEvents","onChildOutletCreated","onChildOutletDestroyed","cmp","ref","activatedRoute","childContexts","OutletInjector","PreloadingStrategy","moduleLoader","preloadingStrategy","preload","processRoutes","preloadConfig","viewportScroller","lastId","lastSource","restoredId","scrollPositionRestoration","anchorScrolling","setHistoryScrollRestoration","createScrollEvents","scrollEventsSubscription","consumeScrollEvents","getScrollPosition","scheduleScrollEvent","scrollToPosition","scrollToAnchor","ROUTER_CONFIGURATION","ROUTER_FORROOT_GUARD","ROUTER_PROVIDERS","enableTracing","logGroup","logGroupEnd","routerNgProbeToken","RouterModule","provideRoutes","provideForRootGuard","createRouterScroller","getAppInitializer","ROUTER_INITIALIZER","getBootstrapListener","scrollOffset","setOffset","platformLocationStrategy","useHash","RouterInitializer","initNavigation","resultOfPreactivationDone","initialNavigation","bootstrappedComponentRef","preloader","routerScroller","setUpPreloading","resetRootComponentType","appInitializer","bootstrapListener","DoOperator","TapSubscriber","_tapNext","_tapError","_tapComplete","refCount","RefCountOperator","connectableProto","connectable","_refCount","refCounter","connection","connect","sharedConnection","_connection","subjectFactory","_isComplete","getSubject","connectableObservableDescriptor","shareSubjectFactory","share","subjectOrSubjectFactory","subscribeTo_1","ComplexInnerSubscriber","ComplexOuterSubscriber","_outerIndex","AuthGuard","currentUserValue","logout","returnUrl","ConfigService","configurationSubject","apps","api","setupSubscription","sourceObj","on","off","addListener","removeListener","Tooltip","tooltipPosition","tooltipEvent","tooltipZIndex","escape","mouseEnterListener","onMouseEnter","mouseLeaveListener","onMouseLeave","clickListener","focusListener","blurListener","showTimeout","clearHideTimeout","showDelay","life","hideTimeout","clearShowTimeout","hideDelay","tooltipArrow","tooltipText","updateText","positionStyle","align","fadeIn","bindDocumentResizeListener","bindScrollListener","_text","alignTop","isOutOfBounds","alignBottom","alignRight","alignLeft","preAlign","hostOffset","getHostOffset","defaultClassName","tooltipStyleClass","targetTop","targetLeft","resizeListener","onWindowResize","scrollHandler","unbindDocumentResizeListener","clearTimeouts","unbindEvents","TooltipModule","AuthenticationService","UserName","Password","removeItem","reload","isArray_1","UnsubscriptionError_1","isNode","process","optimizeGroupPlayer","normalizeKeyframes","driver","normalizer","preStyles","postStyles","normalizedKeyframes","previousOffset","previousKeyframe","kf","isSameOffset","normalizedKeyframe","normalizedProp","normalizedValue","normalizePropertyName","normalizeStyleValue","LINE_START","listenOnPlayer","copyAnimationEvent","makeAnimationEvent","triggerName","fromState","getOrSetAsInMap","parseTimelineCommand","separatorPos","_contains","elm1","elm2","_matches","_query","_isNode","matchesSelector","mozMatchesSelector","oMatchesSelector","elems","elm","_CACHED_BODY","_IS_WEBKIT","validateStyleProperty","matchesElement","containsElement","invokeQuery","hypenatePropsObject","object","newObj","newProp","NoopAnimationDriver","AnimationDriver","NOOP","resolveTimingValue","_convertTimeValueToMS","resolveTiming","allowNegativeValues","delayMatch","easingVal","containsErrors","copyObj","copyStyles","readPrototype","getStyleAttributeString","writeStyleAttribute","styleAttrValue","setStyles","formerStyles","camelProp","dashCaseToCamelCase","eraseStyles","normalizeAnimationEntry","PARAM_REGEX","extractStyleParams","interpolateParams","original","varName","localVal","iteratorToArray","DASH_CASE_REGEXP","allowPreviousPlayerStylesMerge","balancePreviousStylesIntoKeyframes","previousStyles","previousStyleProps","startingKeyframe","missingStyleProps","computeStyle","visitDslNode","visitor","visitTrigger","visitState","visitTransition","visitSequence","visitGroup","visitAnimate","visitKeyframes","visitStyle","visitReference","visitAnimateChild","visitAnimateRef","visitQuery","visitStagger","TRUE_BOOLEAN_VALUES","FALSE_BOOLEAN_VALUES","makeLambdaFromStates","lhs","rhs","LHS_MATCH_BOOLEAN","RHS_MATCH_BOOLEAN","lhsMatch","rhsMatch","SELF_TOKEN_REGEX","buildAnimationAst","_driver","AnimationAstBuilderContext","_resetContextStyleTimingState","currentQuerySelector","collectedStyles","currentTime","queryCount","depCount","states","stateDef","styleAst","astParams","containsDynamicStyles","missingSubs","stylesObj","missingSubsArr","transitionValue","expressions","matchers","eventStr","alias","normalizeAnimationOptions","furthestTime","innerAst","timingAst","makeTimingAst","ast","dynamic","currentAnimateTimings","styleMetadata","newStyleData","_styleAst","isEmptyStep","_makeStyleAst","_validateStyleAst","styleTuple","collectedEasing","styleData","styleMap","endTime","startTime","collectedEntry","updateCollectedStyle","totalKeyframesWithOffsets","offsets","offsetsOutOfOrder","keyframesOutOfRange","offsetVal","generatedOffset","limit","animateDuration","durationUpToThisFrame","parentSelector","currentQuery","hasAmpersand","NG_TRIGGER_SELECTOR","includeSelf","originalSelector","currentTransition","createTimelineInstruction","preStyleProps","postStyleProps","subTimeline","ElementInstructionMap","_map","instructions","existingInstructions","ENTER_TOKEN_REGEX","LEAVE_TOKEN_REGEX","buildAnimationTimelines","rootElement","enterClassName","leaveClassName","startingStyles","finalStyles","subInstructions","AnimationTimelineBuilderVisitor","buildKeyframes","AnimationTimelineContext","currentTimeline","timelines","timeline","containsAnimation","tl","allowOnlyTimelineStyles","elementInstructions","consume","innerContext","createSubContext","_visitSubInstructions","transformIntoNewTimeline","instruction","instructionTimings","appendInstructionToTimeline","updateOptions","subContextCount","snapshotCurrentStyles","DEFAULT_NOOP_PREVIOUS_NODE","delayNextStep","applyStylesToKeyframe","innerTimelines","mergeTimelineCollectedStyles","_visitTiming","incrementTime","getCurrentStyleProperties","forwardFrame","applyEmptyStep","innerTimeline","forwardTime","elms","currentQueryTotal","sameElementTimeline","maxTime","currentStaggerTime","startingTime","_enterClassName","_leaveClassName","initialTimeline","skipIfExists","newOptions","optionsToUpdate","newParams","paramsToUpdate","oldParams","newTime","_copyOptions","updatedTimings","builder","SubTimelineBuilder","stretchStartingKeyframe","elements","_elementTimelineStylesLookup","_previousKeyframe","_currentKeyframe","_keyframes","_styleSummary","_pendingStyles","_backFill","_currentEmptyStepKeyframe","_localTimelineStyles","_globalTimelineStyles","_loadKeyframe","hasPreStyleStep","allStyles","allProperties","_updateStyle","details0","details1","finalKeyframes","keyframe","finalKeyframe","preProps","postProps","kf0","kf1","_stretchStartingKeyframe","newKeyframes","startingGap","newFirstKeyframe","oldFirstKeyframe","roundOffset","decimalPoints","mult","pow","AnimationStyleNormalizer","WebAnimationsStyleNormalizer","userProvidedProperty","normalizedProperty","strVal","DIMENSIONAL_PROP_MAP","valAndSuffixMatch","createTransitionInstruction","isRemovalTransition","fromStyles","toStyles","queriedElements","EMPTY_OBJECT","AnimationTransitionFactory","_triggerName","_stateStyles","currentState","nextState","matchFns","stateName","backupStateStyler","stateStyler","backupStyles","buildStyles","currentOptions","nextOptions","skipAstBuild","transitionAnimationParams","currentStateStyles","nextAnimationParams","nextStateStyles","preStyleMap","postStyleMap","isRemoval","animationOptions","queriedElementsList","AnimationStateStyles","defaultParams","combinedParams","styleObj","AnimationTrigger","transitionFactories","balanceProperties","fallbackTransition","EMPTY_INSTRUCTION_MAP","bodyNode","_normalizer","_animations","_playersById","autoStylesMap","inst","_buildPlayer","_getPlayer","baseEvent","register","EMPTY_PLAYER_ARRAY","NULL_REMOVAL_STATE","namespaceId","setForRemoval","setForMove","hasAnimation","removedBeforeQueried","NULL_REMOVED_QUERIED_STATE","StateValue","isObj","DEFAULT_STATE_VALUE","AnimationTransitionNamespace","_engine","_triggers","_queue","_elementListeners","_hostClassName","containsData","phase","listeners","triggersWithStates","statesByElement","NG_TRIGGER_CLASSNAME","afterFlush","defaultToFallback","_getTrigger","absorbOptions","playersOnElement","playersByElement","queued","matchTransition","isFallbackTransition","totalQueuedPlayers","matchStyles","reportError","stateMap","entry","elementPlayers","namespaces","fetchNamespacesByElement","ns","triggerLeaveAnimation","clearElementCache","afterFlushAnimationsDone","destroyAfterComplete","triggerStates","markElementAsRemoved","processLeaveNode","visitedTriggers","engine","childElementCount","_signalRemovalForInnerTriggers","containsPotentialParentTransition","totalAnimations","currentPlayers","playersByQueriedElement","prepareLeaveAnimationListeners","removalFlag","destroyInnerAnimations","_onRemovalComplete","microtaskId","markedForDestroy","d0","d1","newHostElements","disabledNodes","_namespaceLookup","_namespaceList","_flushFns","_whenQuietFns","namespacesByHostElement","collectedEnterElements","collectedLeaveElements","onRemovalComplete","_balanceNamespaceList","collectEnterElement","createNamespace","_fetchNamespace","elementStates","nsId","isElementNode","details","insertNode","removeNode","hostNS","subTimelines","skipBuildAst","containerElement","destroyActiveAnimationsForElement","finishActiveQueriedAnimationOnElement","markElementAsDisabled","cleanupFns","_flushAnimations","quietFns","skippedPlayers","skippedPlayersMap","queuedInstructions","allPreStyleElements","allPostStyleElements","disabledElementsSet","nodesThatAreDisabled","allTriggerElements","enterNodeMap","buildRootMap","enterNodeMapIds","allLeaveNodes","mergedLeaveNodes","leaveNodesWithoutAnimations","leaveNodeMapIds","leaveNodeMap","allPlayers","erroneousTransitions","drainQueuedTransitions","nodeIsOrphaned","_buildInstruction","stringMap","setVal","allPreviousPlayersMap","animationElementMap","_beforeAnimationBuild","_getPreviousPlayers","prevPlayer","replaceNodes","replacePostStylesAsPre","postStylesMap","cloakAndComputeStyles","preStylesMap","pre","rootPlayers","subPlayers","NO_PARENT_ANIMATION_ELEMENT_DETECTED","overrideTotalTime","parentWithAnimation","parentsToAdd","detectedParent","innerPlayer","_buildAnimation","setRealPlayer","parentPlayers","playersForElement","syncPlayerEvents","queriedPlayerResults","queriedInnerElements","queriedPlayers","activePlayers","removeNodesAfterAnimationDone","elementContainsData","isQueriedElement","toStateValue","queriedElementPlayers","isRemovalAnimation","targetNameSpaceId","targetTriggerName","realPlayer","getRealPlayer","allQueriedPlayers","allConsumedElements","allSubElements","allNewPlayers","timelineInstruction","finalPlayers","previousPlayers","_flattenGroupPlayersRecur","wrappedPlayer","currentValues","_player","_containsRealPlayer","_queuedCallbacks","triggerCallback","_queueEvent","cloakElement","valuesMap","elementPropsMap","defaultStyle","cloakVals","failedElements","roots","rootMap","nodeSet","localRootMap","getRoot","postEntry","preEntry","AnimationEngine","_triggerCache","_transitionEngine","_timelineEngine","componentId","cacheKey","registerTrigger","eventPhase","whenRenderingDone","packageNonAnimatableStyles","startStyles","endStyles","filterNonAnimatableStyles","SpecialCasedStyles","_startStyles","_endStyles","initialStyles","initialStylesByElement","_initialStyles","WeakMap","isNonAnimatableStyle","ElementAnimationStyleHandler","_name","_duration","_easing","_fillMode","_onDoneFn","_startTime","_eventFn","_handleCallback","anim","getAnimationStyle","setAnimationStyle","addRemoveAnimationEvent","playPauseAnimation","findIndexForAnimation","timestamp","_ngTestManualTimestamp","elapsedTime","animationName","findMatchingTokenIndex","searchToken","doRemove","CssKeyframesPlayer","_finalStyles","_specialStyles","_buildStyler","_styler","_flushStartFns","_flushDoneFns","resume","finished","_startingStyles","__initialized","_styles","CssKeyframesDriver","_count","_warningIssued","keyframeStr","tab","kfElm","scrubberAccessRequested","_notifyFaultyScrubber","previousCssKeyframePlayers","flatKeyframes","buildKeyframeElement","specialStyles","WebAnimationsPlayer","_initialized","_preparePlayerBeforeStart","domPlayer","_triggerWebAnimation","_finalKeyframe","_resetDomPlayerState","cancel","WebAnimationsDriver","_isNativeImpl","getElementAnimateFn","_cssKeyframesDriver","supported","playerOptions","previousWebAnimationPlayers","BrowserAnimationBuilder","rootRenderer","_nextAnimationId","issueAnimationCommand","_id","RendererAnimationPlayer","_command","_listen","AnimationRendererFactory","InjectableAnimationEngine","BrowserAnimationsModule","_currentId","_microtaskId","_animationCallbacksBuffer","_rendererCache","_cdRecurDepth","BaseAnimationRenderer","AnimationRenderer","_scheduleCountTask","onInsert","onRemove","disableAnimations","dotIndex","scheduleListenerCallback","BROWSER_ANIMATIONS_PROVIDERS","BlockUI_ng_container_6_Template","BlockUIModule","BlockUI","AppComponent","PdfViewerComponent","_c3","getBlockableElement","unblock","_blocked","blocked","PdfJsViewerComponent","onBeforePrint","onAfterPrint","onDocumentLoad","onPageChange","externalWindow","showSpinner","openFile","download","viewBookmark","print","useOnlyCssZoom","errorOverride","errorAppend","diagnosticLogs","PDFViewerApplication","_page","_src","pdfViewerOptions","viewerTab","PDFViewerApplicationOptions","iframe","contentWindow","pdfViewer","receiveMessage","viewerEvent","viewerId","event_1","loadPdf","refresh","externalWindowOptions","write","fileUrl","viewerUrl","createObjectURL","Uint8Array","viewerFolder","downloadFileName","startDownload","startPrint","lastPage","rotatecw","rotateccw","spread","zoom","nameddest","pagemode","errorMessage","pdfSrc","PdfJsViewerModule","forRoot","blobService","downloadFile","extension","downloadURL","click","LoginComponent","ConfiguracionGuard","DirectorGuard","ComprasGuard","LoginGuard","AsistenciaCompraGuard","AsistenciaGuard","RecepcionGuard","HomeComponent","PeritoGuard","VerificateService","infoVisible","userName","login","password","signout","currentUser","VerificateModel","numeroDoc","RazonSocial","CodigoRegistro","VerificateComponent","PresentacionGuard","ConfirmacionOferenteGuard","PdfViewerModule","AuthorizationModule","AppHttpInterceptor","AdminLayoutModule","numerodoc","esCodigo","verificarStatus","clickInputBusqueda","inputBusqueda","buscar","AppRoutes","ConfiguracionModule","SeguridadModule","ComprasModule","DirectorModule","PeritoModule","RecepcionModule","AsistenciaCompraModule","AsistenciaModule","ConfirmacionOferenteModule","ParticipanteModule","PresentacionModule","GanadoresSorteoModule","detail","ErrorEvent","ConfigLoader","AppModule"],"mappings":"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,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,IAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,IAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,IAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,IAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,IAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,IAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,IAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,IAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA,EAAA,KAAA,WAAA,OAAA,KAAA,EAAA,EAAA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","sourceRoot":"webpack:///","sourcesContent":["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 { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n//# sourceMappingURL=concatAll.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","import { isArray } from '../util/isArray';\nimport { fromArray } from './fromArray';\nimport { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function race(...observables) {\n if (observables.length === 1) {\n if (isArray(observables[0])) {\n observables = observables[0];\n }\n else {\n return observables[0];\n }\n }\n return fromArray(observables, undefined).lift(new RaceOperator());\n}\nexport class RaceOperator {\n call(subscriber, source) {\n return source.subscribe(new RaceSubscriber(subscriber));\n }\n}\nexport class RaceSubscriber extends OuterSubscriber {\n constructor(destination) {\n super(destination);\n this.hasFirst = false;\n this.observables = [];\n this.subscriptions = [];\n }\n _next(observable) {\n this.observables.push(observable);\n }\n _complete() {\n const observables = this.observables;\n const len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n for (let i = 0; i < len && !this.hasFirst; i++) {\n const observable = observables[i];\n const subscription = subscribeToResult(this, observable, undefined, i);\n if (this.subscriptions) {\n this.subscriptions.push(subscription);\n }\n this.add(subscription);\n }\n this.observables = null;\n }\n }\n notifyNext(_outerValue, innerValue, outerIndex) {\n if (!this.hasFirst) {\n this.hasFirst = true;\n for (let i = 0; i < this.subscriptions.length; i++) {\n if (i !== outerIndex) {\n let subscription = this.subscriptions[i];\n subscription.unsubscribe();\n this.remove(subscription);\n }\n }\n this.subscriptions = null;\n }\n this.destination.next(innerValue);\n }\n}\n//# sourceMappingURL=race.js.map","import { OuterSubscriber } from '../OuterSubscriber';\nimport { subscribeToResult } from '../util/subscribeToResult';\nexport function withLatestFrom(...args) {\n return (source) => {\n let project;\n if (typeof args[args.length - 1] === 'function') {\n project = args.pop();\n }\n const observables = args;\n return source.lift(new WithLatestFromOperator(observables, project));\n };\n}\nclass WithLatestFromOperator {\n constructor(observables, project) {\n this.observables = observables;\n this.project = project;\n }\n call(subscriber, source) {\n return source.subscribe(new WithLatestFromSubscriber(subscriber, this.observables, this.project));\n }\n}\nclass WithLatestFromSubscriber extends OuterSubscriber {\n constructor(destination, observables, project) {\n super(destination);\n this.observables = observables;\n this.project = project;\n this.toRespond = [];\n const len = observables.length;\n this.values = new Array(len);\n for (let i = 0; i < len; i++) {\n this.toRespond.push(i);\n }\n for (let i = 0; i < len; i++) {\n let observable = observables[i];\n this.add(subscribeToResult(this, observable, undefined, i));\n }\n }\n notifyNext(_outerValue, innerValue, outerIndex) {\n this.values[outerIndex] = innerValue;\n const toRespond = this.toRespond;\n if (toRespond.length > 0) {\n const found = toRespond.indexOf(outerIndex);\n if (found !== -1) {\n toRespond.splice(found, 1);\n }\n }\n }\n notifyComplete() {\n }\n _next(value) {\n if (this.toRespond.length === 0) {\n const args = [value, ...this.values];\n if (this.project) {\n this._tryProject(args);\n }\n else {\n this.destination.next(args);\n }\n }\n }\n _tryProject(args) {\n let result;\n try {\n result = this.project.apply(this, args);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n }\n}\n//# sourceMappingURL=withLatestFrom.js.map","import { async } from '../scheduler/async';\nimport { isDate } from '../util/isDate';\nimport { Subscriber } from '../Subscriber';\nimport { Notification } from '../Notification';\nexport function delay(delay, scheduler = async) {\n const absoluteDelay = isDate(delay);\n const delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n return (source) => source.lift(new DelayOperator(delayFor, scheduler));\n}\nclass DelayOperator {\n constructor(delay, scheduler) {\n this.delay = delay;\n this.scheduler = scheduler;\n }\n call(subscriber, source) {\n return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n }\n}\nclass DelaySubscriber extends Subscriber {\n constructor(destination, delay, scheduler) {\n super(destination);\n this.delay = delay;\n this.scheduler = scheduler;\n this.queue = [];\n this.active = false;\n this.errored = false;\n }\n static dispatch(state) {\n const source = state.source;\n const queue = source.queue;\n const scheduler = state.scheduler;\n const destination = state.destination;\n while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n queue.shift().notification.observe(destination);\n }\n if (queue.length > 0) {\n const delay = Math.max(0, queue[0].time - scheduler.now());\n this.schedule(state, delay);\n }\n else {\n this.unsubscribe();\n source.active = false;\n }\n }\n _schedule(scheduler) {\n this.active = true;\n const destination = this.destination;\n destination.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n source: this, destination: this.destination, scheduler: scheduler\n }));\n }\n scheduleNotification(notification) {\n if (this.errored === true) {\n return;\n }\n const scheduler = this.scheduler;\n const message = new DelayMessage(scheduler.now() + this.delay, notification);\n this.queue.push(message);\n if (this.active === false) {\n this._schedule(scheduler);\n }\n }\n _next(value) {\n this.scheduleNotification(Notification.createNext(value));\n }\n _error(err) {\n this.errored = true;\n this.queue = [];\n this.destination.error(err);\n this.unsubscribe();\n }\n _complete() {\n this.scheduleNotification(Notification.createComplete());\n this.unsubscribe();\n }\n}\nclass DelayMessage {\n constructor(time, notification) {\n this.time = time;\n this.notification = notification;\n }\n}\n//# sourceMappingURL=delay.js.map","export function isDate(value) {\n return value instanceof Date && !isNaN(+value);\n}\n//# sourceMappingURL=isDate.js.map","import { __decorate, __param } from 'tslib';\nimport { ɵɵdefineInjectable, Injectable, TemplateRef, Directive, Input, ContentChildren, EventEmitter, Output, Component, ViewEncapsulation, Optional, Host, NgModule, Renderer2, ElementRef, ChangeDetectionStrategy, forwardRef, ChangeDetectorRef, Inject, PLATFORM_ID, NgZone, HostListener, ɵɵinject, LOCALE_ID, ViewChild, ContentChild, ViewContainerRef, ComponentFactoryResolver, Injector, ApplicationRef, RendererFactory2, INJECTOR, Attribute, InjectionToken } from '@angular/core';\nimport { CommonModule, isPlatformBrowser, getLocaleDayNames, FormStyle, TranslationWidth, getLocaleMonthNames, formatDate, DOCUMENT, getLocaleDayPeriods } from '@angular/common';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule } from '@angular/forms';\nimport { Subject, BehaviorSubject, combineLatest, timer, NEVER, fromEvent, merge, race, Observable } from 'rxjs';\nimport { map, startWith, distinctUntilChanged, switchMap, takeUntil, filter, take, tap, withLatestFrom, delay, share } from 'rxjs/operators';\n\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common';\nimport * as ɵngcc2 from '@angular/forms';\n\nfunction NgbAccordion_ng_template_1_ng_template_3_Template(rf, ctx) { }\nfunction NgbAccordion_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"button\", 3);\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵtemplate(3, NgbAccordion_ng_template_1_ng_template_3_Template, 0, 0, \"ng-template\", 4);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(5, \"\\n \");\n} if (rf & 2) {\n const panel_r3 = ctx.$implicit;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngbPanelToggle\", panel_r3);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\"\\n \", panel_r3.title, \"\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", panel_r3.titleTpl == null ? null : panel_r3.titleTpl.templateRef);\n} }\nfunction NgbAccordion_ng_template_4_ng_template_5_Template(rf, ctx) { }\nfunction NgbAccordion_ng_template_4_div_8_ng_template_4_Template(rf, ctx) { }\nfunction NgbAccordion_ng_template_4_div_8_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 8);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelementStart(2, \"div\", 9);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbAccordion_ng_template_4_div_8_ng_template_4_Template, 0, 0, \"ng-template\", 4);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const panel_r5 = ɵngcc0.ɵɵnextContext().$implicit;\n ɵngcc0.ɵɵclassProp(\"show\", panel_r5.isOpen);\n ɵngcc0.ɵɵpropertyInterpolate(\"id\", panel_r5.id);\n ɵngcc0.ɵɵattribute(\"aria-labelledby\", panel_r5.id + \"-header\");\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", panel_r5.contentTpl == null ? null : panel_r5.contentTpl.templateRef);\n} }\nconst _c0 = function (a0, a1) { return { $implicit: a0, opened: a1 }; };\nfunction NgbAccordion_ng_template_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"div\");\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵelementStart(3, \"div\", 5);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵtemplate(5, NgbAccordion_ng_template_4_ng_template_5_Template, 0, 0, \"ng-template\", 6);\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(7, \"\\n \");\n ɵngcc0.ɵɵtemplate(8, NgbAccordion_ng_template_4_div_8_Template, 7, 5, \"div\", 7);\n ɵngcc0.ɵɵtext(9, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(10, \"\\n \");\n} if (rf & 2) {\n const panel_r5 = ctx.$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n const _r0 = ɵngcc0.ɵɵreference(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassMap(\"card \" + (panel_r5.cardClass || \"\"));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵclassMap(\"card-header \" + (panel_r5.type ? \"bg-\" + panel_r5.type : ctx_r2.type ? \"bg-\" + ctx_r2.type : \"\"));\n ɵngcc0.ɵɵpropertyInterpolate1(\"id\", \"\", panel_r5.id, \"-header\");\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", (panel_r5.headerTpl == null ? null : panel_r5.headerTpl.templateRef) || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction2(8, _c0, panel_r5, panel_r5.isOpen));\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r2.destroyOnHide || panel_r5.isOpen);\n} }\nfunction NgbAlert_button_3_Template(rf, ctx) { if (rf & 1) {\n const _r2 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"button\", 1);\n ɵngcc0.ɵɵlistener(\"click\", function NgbAlert_button_3_Template_button_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r2); const ctx_r1 = ɵngcc0.ɵɵnextContext(); return ctx_r1.closeHandler(); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelementStart(2, \"span\", 2);\n ɵngcc0.ɵɵtext(3, \"\\u00D7\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} }\nconst _c5 = [\"*\"];\nfunction NgbCarousel_ol_1_li_2_Template(rf, ctx) { if (rf & 1) {\n const _r7 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"li\", 7);\n ɵngcc0.ɵɵlistener(\"click\", function NgbCarousel_ol_1_li_2_Template_li_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r7); const slide_r5 = ctx.$implicit; const ctx_r6 = ɵngcc0.ɵɵnextContext(2); return ctx_r6.select(slide_r5.id, ctx_r6.NgbSlideEventSource.INDICATOR); });\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const slide_r5 = ctx.$implicit;\n const ctx_r4 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵclassProp(\"active\", slide_r5.id === ctx_r4.activeId);\n ɵngcc0.ɵɵproperty(\"id\", slide_r5.id);\n} }\nfunction NgbCarousel_ol_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ol\", 5);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbCarousel_ol_1_li_2_Template, 1, 3, \"li\", 6);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r0.slides);\n} }\nfunction NgbCarousel_div_5_ng_template_2_Template(rf, ctx) { }\nfunction NgbCarousel_div_5_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 8);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbCarousel_div_5_ng_template_2_Template, 0, 0, \"ng-template\", 9);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const slide_r8 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"active\", slide_r8.id === ctx_r1.activeId);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", slide_r8.tplRef);\n} }\nfunction NgbCarousel_a_8_Template(rf, ctx) { if (rf & 1) {\n const _r11 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"a\", 10);\n ɵngcc0.ɵɵlistener(\"click\", function NgbCarousel_a_8_Template_a_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r11); const ctx_r10 = ɵngcc0.ɵɵnextContext(); return ctx_r10.prev(ctx_r10.NgbSlideEventSource.ARROW_LEFT); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelement(2, \"span\", 11);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementStart(4, \"span\", 12);\n ɵngcc0.ɵɵi18n(5, 13);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction NgbCarousel_a_10_Template(rf, ctx) { if (rf & 1) {\n const _r13 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"a\", 14);\n ɵngcc0.ɵɵlistener(\"click\", function NgbCarousel_a_10_Template_a_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r12 = ɵngcc0.ɵɵnextContext(); return ctx_r12.next(ctx_r12.NgbSlideEventSource.ARROW_RIGHT); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelement(2, \"span\", 15);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementStart(4, \"span\", 12);\n ɵngcc0.ɵɵi18n(5, 16);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} }\nconst _c10 = [\"defaultDayTemplate\"];\nconst _c11 = [\"content\"];\nfunction NgbDatepicker_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"div\", 7);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(3, \"\\n \");\n} if (rf & 2) {\n const date_r8 = ctx.date;\n const currentMonth_r9 = ctx.currentMonth;\n const selected_r10 = ctx.selected;\n const disabled_r11 = ctx.disabled;\n const focused_r12 = ctx.focused;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"date\", date_r8)(\"currentMonth\", currentMonth_r9)(\"selected\", selected_r10)(\"disabled\", disabled_r11)(\"focused\", focused_r12);\n} }\nfunction NgbDatepicker_ng_template_4_div_1_div_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 12);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const month_r14 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r16 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate2(\"\\n \", ctx_r16.i18n.getMonthFullName(month_r14.number, month_r14.year), \" \", ctx_r16.i18n.getYearNumerals(month_r14.year), \"\\n \");\n} }\nfunction NgbDatepicker_ng_template_4_div_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 9);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbDatepicker_ng_template_4_div_1_div_2_Template, 2, 2, \"div\", 10);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelement(4, \"ngb-datepicker-month\", 11);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const month_r14 = ctx.$implicit;\n const ctx_r13 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r13.navigation === \"none\" || ctx_r13.displayMonths > 1 && ctx_r13.navigation === \"select\");\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"month\", month_r14.firstDate);\n} }\nfunction NgbDatepicker_ng_template_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbDatepicker_ng_template_4_div_1_Template, 6, 2, \"div\", 8);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n} if (rf & 2) {\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r3.model.months);\n} }\nfunction NgbDatepicker_ngb_datepicker_navigation_9_Template(rf, ctx) { if (rf & 1) {\n const _r19 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"ngb-datepicker-navigation\", 13);\n ɵngcc0.ɵɵlistener(\"navigate\", function NgbDatepicker_ngb_datepicker_navigation_9_Template_ngb_datepicker_navigation_navigate_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r19); const ctx_r18 = ɵngcc0.ɵɵnextContext(); return ctx_r18.onNavigateEvent($event); })(\"select\", function NgbDatepicker_ngb_datepicker_navigation_9_Template_ngb_datepicker_navigation_select_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r19); const ctx_r20 = ɵngcc0.ɵɵnextContext(); return ctx_r20.onNavigateDateSelect($event); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"date\", ctx_r4.model.firstDate)(\"months\", ctx_r4.model.months)(\"disabled\", ctx_r4.model.disabled)(\"showSelect\", ctx_r4.model.navigation === \"select\")(\"prevDisabled\", ctx_r4.model.prevDisabled)(\"nextDisabled\", ctx_r4.model.nextDisabled)(\"selectBoxes\", ctx_r4.model.selectBoxes);\n} }\nfunction NgbDatepicker_ng_template_15_Template(rf, ctx) { }\nfunction NgbDatepicker_ng_template_18_Template(rf, ctx) { }\nfunction NgbDatepickerMonth_div_1_div_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 5);\n} }\nfunction NgbDatepickerMonth_div_1_div_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 6);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const w_r4 = ctx.$implicit;\n const ctx_r3 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\"\\n \", ctx_r3.i18n.getWeekdayShortName(w_r4), \"\\n \");\n} }\nfunction NgbDatepickerMonth_div_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 2);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbDatepickerMonth_div_1_div_2_Template, 1, 0, \"div\", 3);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbDatepickerMonth_div_1_div_4_Template, 2, 1, \"div\", 4);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r0.datepicker.showWeekNumbers);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r0.viewModel.weekdays);\n} }\nfunction NgbDatepickerMonth_ng_template_3_div_1_div_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 11);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const week_r5 = ɵngcc0.ɵɵnextContext(2).$implicit;\n const ctx_r7 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(ctx_r7.i18n.getWeekNumerals(week_r5.number));\n} }\nfunction NgbDatepickerMonth_ng_template_3_div_1_div_4_ng_template_2_ng_template_1_Template(rf, ctx) { }\nfunction NgbDatepickerMonth_ng_template_3_div_1_div_4_ng_template_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbDatepickerMonth_ng_template_3_div_1_div_4_ng_template_2_ng_template_1_Template, 0, 0, \"ng-template\", 14);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n} if (rf & 2) {\n const day_r10 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r11 = ɵngcc0.ɵɵnextContext(3);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r11.datepicker.dayTemplate)(\"ngTemplateOutletContext\", day_r10.context);\n} }\nfunction NgbDatepickerMonth_ng_template_3_div_1_div_4_Template(rf, ctx) { if (rf & 1) {\n const _r15 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 12);\n ɵngcc0.ɵɵlistener(\"click\", function NgbDatepickerMonth_ng_template_3_div_1_div_4_Template_div_click_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r15); const day_r10 = ctx.$implicit; const ctx_r14 = ɵngcc0.ɵɵnextContext(3); ctx_r14.doSelect(day_r10); return $event.preventDefault(); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbDatepickerMonth_ng_template_3_div_1_div_4_ng_template_2_Template, 3, 2, \"ng-template\", 13);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const day_r10 = ctx.$implicit;\n ɵngcc0.ɵɵclassProp(\"disabled\", day_r10.context.disabled)(\"hidden\", day_r10.hidden)(\"ngb-dp-today\", day_r10.context.today);\n ɵngcc0.ɵɵproperty(\"tabindex\", day_r10.tabindex);\n ɵngcc0.ɵɵattribute(\"aria-label\", day_r10.ariaLabel);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", !day_r10.hidden);\n} }\nfunction NgbDatepickerMonth_ng_template_3_div_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 8);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbDatepickerMonth_ng_template_3_div_1_div_2_Template, 2, 1, \"div\", 9);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbDatepickerMonth_ng_template_3_div_1_div_4_Template, 4, 9, \"div\", 10);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const week_r5 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r6 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r6.datepicker.showWeekNumbers);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", week_r5.days);\n} }\nfunction NgbDatepickerMonth_ng_template_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbDatepickerMonth_ng_template_3_div_1_Template, 6, 2, \"div\", 7);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n} if (rf & 2) {\n const week_r5 = ctx.$implicit;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !week_r5.collapsed);\n} }\nfunction NgbDatepickerNavigation_ngb_datepicker_navigation_select_9_Template(rf, ctx) { if (rf & 1) {\n const _r3 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"ngb-datepicker-navigation-select\", 7);\n ɵngcc0.ɵɵlistener(\"select\", function NgbDatepickerNavigation_ngb_datepicker_navigation_select_9_Template_ngb_datepicker_navigation_select_select_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r3); const ctx_r2 = ɵngcc0.ɵɵnextContext(); return ctx_r2.select.emit($event); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"date\", ctx_r0.date)(\"disabled\", ctx_r0.disabled)(\"months\", ctx_r0.selectBoxes.months)(\"years\", ctx_r0.selectBoxes.years);\n} }\nfunction NgbDatepickerNavigation_11_ng_template_0_div_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 0);\n} }\nfunction NgbDatepickerNavigation_11_ng_template_0_div_6_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 0);\n} }\nfunction NgbDatepickerNavigation_11_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbDatepickerNavigation_11_ng_template_0_div_1_Template, 1, 0, \"div\", 9);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵelementStart(3, \"div\", 10);\n ɵngcc0.ɵɵtext(4);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵtemplate(6, NgbDatepickerNavigation_11_ng_template_0_div_6_Template, 1, 0, \"div\", 9);\n ɵngcc0.ɵɵtext(7, \"\\n \");\n} if (rf & 2) {\n const month_r5 = ctx.$implicit;\n const i_r6 = ctx.index;\n const ctx_r4 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", i_r6 > 0);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵtextInterpolate2(\"\\n \", ctx_r4.i18n.getMonthFullName(month_r5.number, month_r5.year), \" \", ctx_r4.i18n.getYearNumerals(month_r5.year), \"\\n \");\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", i_r6 !== ctx_r4.months.length - 1);\n} }\nfunction NgbDatepickerNavigation_11_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, NgbDatepickerNavigation_11_ng_template_0_Template, 8, 4, \"ng-template\", 8);\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx_r1.months);\n} }\nconst _c20 = [\"ngbDatepickerDayView\", \"\"];\nconst _c21 = [\"month\"];\nconst _c22 = [\"year\"];\nfunction NgbDatepickerNavigationSelect_option_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"option\", 5);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const m_r4 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"value\", m_r4);\n ɵngcc0.ɵɵattribute(\"aria-label\", ctx_r1.i18n.getMonthFullName(m_r4, ctx_r1.date == null ? null : ctx_r1.date.year));\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(ctx_r1.i18n.getMonthShortName(m_r4, ctx_r1.date == null ? null : ctx_r1.date.year));\n} }\nfunction NgbDatepickerNavigationSelect_option_9_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"option\", 5);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const y_r5 = ctx.$implicit;\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵproperty(\"value\", y_r5);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(ctx_r3.i18n.getYearNumerals(y_r5));\n} }\nconst _c31 = [\"dialog\"];\nconst _c32 = [\"ngbNavOutlet\", \"\"];\nfunction NgbNavOutlet_ng_template_1_div_1_ng_template_2_Template(rf, ctx) { }\nconst _c33 = function (a0) { return { $implicit: a0 }; };\nfunction NgbNavOutlet_ng_template_1_div_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 2);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbNavOutlet_ng_template_1_div_1_ng_template_2_Template, 0, 0, \"ng-template\", 3);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const item_r1 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"active\", item_r1.active);\n ɵngcc0.ɵɵproperty(\"id\", item_r1.panelDomId);\n ɵngcc0.ɵɵattribute(\"role\", ctx_r2.paneRole ? ctx_r2.paneRole : ctx_r2.nav.roles ? \"tabpanel\" : undefined)(\"aria-labelledby\", item_r1.domId);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", item_r1.contentTpl == null ? null : item_r1.contentTpl.templateRef)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction1(7, _c33, item_r1.active));\n} }\nfunction NgbNavOutlet_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbNavOutlet_ng_template_1_div_1_Template, 4, 9, \"div\", 1);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n} if (rf & 2) {\n const item_r1 = ctx.$implicit;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", item_r1.isPanelInDom());\n} }\nfunction NgbPagination_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 8);\n ɵngcc0.ɵɵi18n(1, 9);\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction NgbPagination_ng_template_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 8);\n ɵngcc0.ɵɵi18n(1, 10);\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction NgbPagination_ng_template_7_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 8);\n ɵngcc0.ɵɵi18n(1, 11);\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction NgbPagination_ng_template_10_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 8);\n ɵngcc0.ɵɵi18n(1, 12);\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction NgbPagination_ng_template_13_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"...\");\n} }\nfunction NgbPagination_ng_template_16_span_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\", 14);\n ɵngcc0.ɵɵtext(1, \"(current)\");\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction NgbPagination_ng_template_16_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0);\n ɵngcc0.ɵɵtemplate(1, NgbPagination_ng_template_16_span_1_Template, 2, 0, \"span\", 13);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n} if (rf & 2) {\n const page_r17 = ctx.$implicit;\n const currentPage_r18 = ctx.currentPage;\n ɵngcc0.ɵɵtextInterpolate1(\"\\n \", page_r17, \"\\n \");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", page_r17 === currentPage_r18);\n} }\nfunction NgbPagination_li_21_ng_template_4_Template(rf, ctx) { }\nconst _c44 = function (a0, a1) { return { disabled: a0, currentPage: a1 }; };\nfunction NgbPagination_li_21_Template(rf, ctx) { if (rf & 1) {\n const _r22 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"li\", 15);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelementStart(2, \"a\", 16);\n ɵngcc0.ɵɵlistener(\"click\", function NgbPagination_li_21_Template_a_click_2_listener($event) { ɵngcc0.ɵɵrestoreView(_r22); const ctx_r21 = ɵngcc0.ɵɵnextContext(); ctx_r21.selectPage(1); return $event.preventDefault(); });\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbPagination_li_21_ng_template_4_Template, 0, 0, \"ng-template\", 17);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r12 = ɵngcc0.ɵɵnextContext();\n const _r0 = ɵngcc0.ɵɵreference(2);\n ɵngcc0.ɵɵclassProp(\"disabled\", ctx_r12.previousDisabled());\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵattribute(\"tabindex\", ctx_r12.previousDisabled() ? \"-1\" : null)(\"aria-disabled\", ctx_r12.previousDisabled() ? \"true\" : null);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", (ctx_r12.tplFirst == null ? null : ctx_r12.tplFirst.templateRef) || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction2(6, _c44, ctx_r12.previousDisabled(), ctx_r12.page));\n} }\nfunction NgbPagination_li_23_ng_template_4_Template(rf, ctx) { }\nconst _c47 = function (a0) { return { disabled: a0 }; };\nfunction NgbPagination_li_23_Template(rf, ctx) { if (rf & 1) {\n const _r25 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"li\", 15);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelementStart(2, \"a\", 18);\n ɵngcc0.ɵɵlistener(\"click\", function NgbPagination_li_23_Template_a_click_2_listener($event) { ɵngcc0.ɵɵrestoreView(_r25); const ctx_r24 = ɵngcc0.ɵɵnextContext(); ctx_r24.selectPage(ctx_r24.page - 1); return $event.preventDefault(); });\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbPagination_li_23_ng_template_4_Template, 0, 0, \"ng-template\", 17);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r13 = ɵngcc0.ɵɵnextContext();\n const _r2 = ɵngcc0.ɵɵreference(5);\n ɵngcc0.ɵɵclassProp(\"disabled\", ctx_r13.previousDisabled());\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵattribute(\"tabindex\", ctx_r13.previousDisabled() ? \"-1\" : null)(\"aria-disabled\", ctx_r13.previousDisabled() ? \"true\" : null);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", (ctx_r13.tplPrevious == null ? null : ctx_r13.tplPrevious.templateRef) || _r2)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction1(6, _c47, ctx_r13.previousDisabled()));\n} }\nfunction NgbPagination_li_25_a_2_ng_template_2_Template(rf, ctx) { }\nconst _c48 = function (a1) { return { disabled: true, currentPage: a1 }; };\nfunction NgbPagination_li_25_a_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"a\", 21);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbPagination_li_25_a_2_ng_template_2_Template, 0, 0, \"ng-template\", 17);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r27 = ɵngcc0.ɵɵnextContext(2);\n const _r8 = ɵngcc0.ɵɵreference(14);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", (ctx_r27.tplEllipsis == null ? null : ctx_r27.tplEllipsis.templateRef) || _r8)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction1(2, _c48, ctx_r27.page));\n} }\nfunction NgbPagination_li_25_a_4_ng_template_2_Template(rf, ctx) { }\nconst _c49 = function (a0, a1, a2) { return { disabled: a0, $implicit: a1, currentPage: a2 }; };\nfunction NgbPagination_li_25_a_4_Template(rf, ctx) { if (rf & 1) {\n const _r33 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"a\", 22);\n ɵngcc0.ɵɵlistener(\"click\", function NgbPagination_li_25_a_4_Template_a_click_0_listener($event) { ɵngcc0.ɵɵrestoreView(_r33); const pageNumber_r26 = ɵngcc0.ɵɵnextContext().$implicit; const ctx_r31 = ɵngcc0.ɵɵnextContext(); ctx_r31.selectPage(pageNumber_r26); return $event.preventDefault(); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbPagination_li_25_a_4_ng_template_2_Template, 0, 0, \"ng-template\", 17);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const pageNumber_r26 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r28 = ɵngcc0.ɵɵnextContext();\n const _r10 = ɵngcc0.ɵɵreference(17);\n ɵngcc0.ɵɵattribute(\"tabindex\", ctx_r28.disabled ? \"-1\" : null)(\"aria-disabled\", ctx_r28.disabled ? \"true\" : null);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", (ctx_r28.tplNumber == null ? null : ctx_r28.tplNumber.templateRef) || _r10)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction3(4, _c49, ctx_r28.disabled, pageNumber_r26, ctx_r28.page));\n} }\nfunction NgbPagination_li_25_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"li\", 15);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbPagination_li_25_a_2_Template, 4, 4, \"a\", 19);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbPagination_li_25_a_4_Template, 4, 8, \"a\", 20);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const pageNumber_r26 = ctx.$implicit;\n const ctx_r14 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"active\", pageNumber_r26 === ctx_r14.page)(\"disabled\", ctx_r14.isEllipsis(pageNumber_r26) || ctx_r14.disabled);\n ɵngcc0.ɵɵattribute(\"aria-current\", pageNumber_r26 === ctx_r14.page ? \"page\" : null);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r14.isEllipsis(pageNumber_r26));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r14.isEllipsis(pageNumber_r26));\n} }\nfunction NgbPagination_li_27_ng_template_4_Template(rf, ctx) { }\nfunction NgbPagination_li_27_Template(rf, ctx) { if (rf & 1) {\n const _r37 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"li\", 15);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelementStart(2, \"a\", 23);\n ɵngcc0.ɵɵlistener(\"click\", function NgbPagination_li_27_Template_a_click_2_listener($event) { ɵngcc0.ɵɵrestoreView(_r37); const ctx_r36 = ɵngcc0.ɵɵnextContext(); ctx_r36.selectPage(ctx_r36.page + 1); return $event.preventDefault(); });\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbPagination_li_27_ng_template_4_Template, 0, 0, \"ng-template\", 17);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r15 = ɵngcc0.ɵɵnextContext();\n const _r4 = ɵngcc0.ɵɵreference(8);\n ɵngcc0.ɵɵclassProp(\"disabled\", ctx_r15.nextDisabled());\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵattribute(\"tabindex\", ctx_r15.nextDisabled() ? \"-1\" : null)(\"aria-disabled\", ctx_r15.nextDisabled() ? \"true\" : null);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", (ctx_r15.tplNext == null ? null : ctx_r15.tplNext.templateRef) || _r4)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction2(6, _c44, ctx_r15.nextDisabled(), ctx_r15.page));\n} }\nfunction NgbPagination_li_29_ng_template_4_Template(rf, ctx) { }\nfunction NgbPagination_li_29_Template(rf, ctx) { if (rf & 1) {\n const _r40 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"li\", 15);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelementStart(2, \"a\", 24);\n ɵngcc0.ɵɵlistener(\"click\", function NgbPagination_li_29_Template_a_click_2_listener($event) { ɵngcc0.ɵɵrestoreView(_r40); const ctx_r39 = ɵngcc0.ɵɵnextContext(); ctx_r39.selectPage(ctx_r39.pageCount); return $event.preventDefault(); });\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbPagination_li_29_ng_template_4_Template, 0, 0, \"ng-template\", 17);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r16 = ɵngcc0.ɵɵnextContext();\n const _r6 = ɵngcc0.ɵɵreference(11);\n ɵngcc0.ɵɵclassProp(\"disabled\", ctx_r16.nextDisabled());\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵattribute(\"tabindex\", ctx_r16.nextDisabled() ? \"-1\" : null)(\"aria-disabled\", ctx_r16.nextDisabled() ? \"true\" : null);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", (ctx_r16.tplLast == null ? null : ctx_r16.tplLast.templateRef) || _r6)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction2(6, _c44, ctx_r16.nextDisabled(), ctx_r16.page));\n} }\nfunction NgbPopoverWindow_h3_3_ng_template_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0);\n} if (rf & 2) {\n const ctx_r2 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r2.title);\n} }\nfunction NgbPopoverWindow_h3_3_ng_template_5_Template(rf, ctx) { }\nfunction NgbPopoverWindow_h3_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"h3\", 3);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbPopoverWindow_h3_3_ng_template_2_Template, 1, 1, \"ng-template\", null, 4, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵtemplate(5, NgbPopoverWindow_h3_3_ng_template_5_Template, 0, 0, \"ng-template\", 5);\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const _r1 = ɵngcc0.ɵɵreference(3);\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.isTitleTemplate() ? ctx_r0.title : _r1)(\"ngTemplateOutletContext\", ctx_r0.context);\n} }\nfunction NgbProgressbar_span_5_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\");\n ɵngcc0.ɵɵi18n(1, 3);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵi18nExp(ctx_r0.getPercentValue());\n ɵngcc0.ɵɵi18nApply(1);\n} }\nfunction NgbRating_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0);\n} if (rf & 2) {\n const fill_r3 = ctx.fill;\n ɵngcc0.ɵɵtextInterpolate(fill_r3 === 100 ? \"\\u2605\" : \"\\u2606\");\n} }\nfunction NgbRating_ng_template_4_ng_template_6_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n} }\nfunction NgbRating_ng_template_4_Template(rf, ctx) { if (rf & 1) {\n const _r7 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"span\", 2);\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementStart(4, \"span\", 3);\n ɵngcc0.ɵɵlistener(\"mouseenter\", function NgbRating_ng_template_4_Template_span_mouseenter_4_listener() { ɵngcc0.ɵɵrestoreView(_r7); const index_r4 = ctx.index; const ctx_r6 = ɵngcc0.ɵɵnextContext(); return ctx_r6.enter(index_r4 + 1); })(\"click\", function NgbRating_ng_template_4_Template_span_click_4_listener() { ɵngcc0.ɵɵrestoreView(_r7); const index_r4 = ctx.index; const ctx_r8 = ɵngcc0.ɵɵnextContext(); return ctx_r8.handleClick(index_r4 + 1); });\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵtemplate(6, NgbRating_ng_template_4_ng_template_6_Template, 1, 0, \"ng-template\", 4);\n ɵngcc0.ɵɵtext(7, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(8, \"\\n \");\n} if (rf & 2) {\n const index_r4 = ctx.index;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n const _r0 = ɵngcc0.ɵɵreference(2);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate1(\"(\", index_r4 < ctx_r2.nextRate ? \"*\" : \" \", \")\");\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵstyleProp(\"cursor\", ctx_r2.readonly || ctx_r2.disabled ? \"default\" : \"pointer\");\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.starTemplate || ctx_r2.starTemplateFromContent || _r0)(\"ngTemplateOutletContext\", ctx_r2.contexts[index_r4]);\n} }\nfunction NgbTabset_li_3_ng_template_4_Template(rf, ctx) { }\nfunction NgbTabset_li_3_Template(rf, ctx) { if (rf & 1) {\n const _r5 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"li\", 4);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelementStart(2, \"a\", 5);\n ɵngcc0.ɵɵlistener(\"click\", function NgbTabset_li_3_Template_a_click_2_listener($event) { ɵngcc0.ɵɵrestoreView(_r5); const tab_r2 = ctx.$implicit; const ctx_r4 = ɵngcc0.ɵɵnextContext(); ctx_r4.select(tab_r2.id); return $event.preventDefault(); });\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵtemplate(4, NgbTabset_li_3_ng_template_4_Template, 0, 0, \"ng-template\", 6);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const tab_r2 = ctx.$implicit;\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵclassProp(\"active\", tab_r2.id === ctx_r0.activeId)(\"disabled\", tab_r2.disabled);\n ɵngcc0.ɵɵproperty(\"id\", tab_r2.id);\n ɵngcc0.ɵɵattribute(\"tabindex\", tab_r2.disabled ? \"-1\" : undefined)(\"aria-controls\", !ctx_r0.destroyOnHide || tab_r2.id === ctx_r0.activeId ? tab_r2.id + \"-panel\" : null)(\"aria-selected\", tab_r2.id === ctx_r0.activeId)(\"aria-disabled\", tab_r2.disabled);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\"\\n \", tab_r2.title, \"\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", tab_r2.titleTpl == null ? null : tab_r2.titleTpl.templateRef);\n} }\nfunction NgbTabset_ng_template_8_div_1_ng_template_2_Template(rf, ctx) { }\nfunction NgbTabset_ng_template_8_div_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 8);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbTabset_ng_template_8_div_1_ng_template_2_Template, 0, 0, \"ng-template\", 6);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const tab_r6 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r7 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassMapInterpolate1(\"tab-pane \", tab_r6.id === ctx_r7.activeId ? \"active\" : null, \"\");\n ɵngcc0.ɵɵpropertyInterpolate1(\"id\", \"\", tab_r6.id, \"-panel\");\n ɵngcc0.ɵɵattribute(\"aria-labelledby\", tab_r6.id);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", tab_r6.contentTpl == null ? null : tab_r6.contentTpl.templateRef);\n} }\nfunction NgbTabset_ng_template_8_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbTabset_ng_template_8_div_1_Template, 4, 6, \"div\", 7);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n} if (rf & 2) {\n const tab_r6 = ctx.$implicit;\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx_r1.destroyOnHide || tab_r6.id === ctx_r1.activeId);\n} }\nfunction NgbTimepicker_button_7_Template(rf, ctx) { if (rf & 1) {\n const _r9 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"button\", 11);\n ɵngcc0.ɵɵlistener(\"click\", function NgbTimepicker_button_7_Template_button_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r9); const ctx_r8 = ɵngcc0.ɵɵnextContext(); return ctx_r8.changeHour(ctx_r8.hourStep); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelement(2, \"span\", 12);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementStart(4, \"span\", 13);\n ɵngcc0.ɵɵi18n(5, 14);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r0 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"btn-sm\", ctx_r0.isSmallSize)(\"btn-lg\", ctx_r0.isLargeSize)(\"disabled\", ctx_r0.disabled);\n ɵngcc0.ɵɵproperty(\"disabled\", ctx_r0.disabled);\n} }\nfunction NgbTimepicker_button_11_Template(rf, ctx) { if (rf & 1) {\n const _r11 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"button\", 11);\n ɵngcc0.ɵɵlistener(\"click\", function NgbTimepicker_button_11_Template_button_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r11); const ctx_r10 = ɵngcc0.ɵɵnextContext(); return ctx_r10.changeHour(-ctx_r10.hourStep); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelement(2, \"span\", 15);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementStart(4, \"span\", 13);\n ɵngcc0.ɵɵi18n(5, 16);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"btn-sm\", ctx_r1.isSmallSize)(\"btn-lg\", ctx_r1.isLargeSize)(\"disabled\", ctx_r1.disabled);\n ɵngcc0.ɵɵproperty(\"disabled\", ctx_r1.disabled);\n} }\nfunction NgbTimepicker_button_19_Template(rf, ctx) { if (rf & 1) {\n const _r13 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"button\", 11);\n ɵngcc0.ɵɵlistener(\"click\", function NgbTimepicker_button_19_Template_button_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r13); const ctx_r12 = ɵngcc0.ɵɵnextContext(); return ctx_r12.changeMinute(ctx_r12.minuteStep); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelement(2, \"span\", 12);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementStart(4, \"span\", 13);\n ɵngcc0.ɵɵi18n(5, 17);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"btn-sm\", ctx_r2.isSmallSize)(\"btn-lg\", ctx_r2.isLargeSize)(\"disabled\", ctx_r2.disabled);\n ɵngcc0.ɵɵproperty(\"disabled\", ctx_r2.disabled);\n} }\nfunction NgbTimepicker_button_23_Template(rf, ctx) { if (rf & 1) {\n const _r15 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"button\", 11);\n ɵngcc0.ɵɵlistener(\"click\", function NgbTimepicker_button_23_Template_button_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r15); const ctx_r14 = ɵngcc0.ɵɵnextContext(); return ctx_r14.changeMinute(-ctx_r14.minuteStep); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelement(2, \"span\", 15);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementStart(4, \"span\", 13);\n ɵngcc0.ɵɵi18n(5, 18);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassProp(\"btn-sm\", ctx_r3.isSmallSize)(\"btn-lg\", ctx_r3.isLargeSize)(\"disabled\", ctx_r3.disabled);\n ɵngcc0.ɵɵproperty(\"disabled\", ctx_r3.disabled);\n} }\nfunction NgbTimepicker_div_26_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 5);\n ɵngcc0.ɵɵtext(1, \":\");\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction NgbTimepicker_div_28_button_2_Template(rf, ctx) { if (rf & 1) {\n const _r19 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"button\", 11);\n ɵngcc0.ɵɵlistener(\"click\", function NgbTimepicker_div_28_button_2_Template_button_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r19); const ctx_r18 = ɵngcc0.ɵɵnextContext(2); return ctx_r18.changeSecond(ctx_r18.secondStep); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelement(2, \"span\", 12);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementStart(4, \"span\", 13);\n ɵngcc0.ɵɵi18n(5, 21);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r16 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵclassProp(\"btn-sm\", ctx_r16.isSmallSize)(\"btn-lg\", ctx_r16.isLargeSize)(\"disabled\", ctx_r16.disabled);\n ɵngcc0.ɵɵproperty(\"disabled\", ctx_r16.disabled);\n} }\nfunction NgbTimepicker_div_28_button_6_Template(rf, ctx) { if (rf & 1) {\n const _r21 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"button\", 11);\n ɵngcc0.ɵɵlistener(\"click\", function NgbTimepicker_div_28_button_6_Template_button_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r21); const ctx_r20 = ɵngcc0.ɵɵnextContext(2); return ctx_r20.changeSecond(-ctx_r20.secondStep); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelement(2, \"span\", 15);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementStart(4, \"span\", 13);\n ɵngcc0.ɵɵi18n(5, 22);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r17 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵclassProp(\"btn-sm\", ctx_r17.isSmallSize)(\"btn-lg\", ctx_r17.isLargeSize)(\"disabled\", ctx_r17.disabled);\n ɵngcc0.ɵɵproperty(\"disabled\", ctx_r17.disabled);\n} }\nfunction NgbTimepicker_div_28_Template(rf, ctx) { if (rf & 1) {\n const _r23 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 19);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵtemplate(2, NgbTimepicker_div_28_button_2_Template, 7, 7, \"button\", 3);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementStart(4, \"input\", 20);\n ɵngcc0.ɵɵlistener(\"change\", function NgbTimepicker_div_28_Template_input_change_4_listener($event) { ɵngcc0.ɵɵrestoreView(_r23); const ctx_r22 = ɵngcc0.ɵɵnextContext(); return ctx_r22.updateSecond($event.target.value); })(\"input\", function NgbTimepicker_div_28_Template_input_input_4_listener($event) { ɵngcc0.ɵɵrestoreView(_r23); const ctx_r24 = ɵngcc0.ɵɵnextContext(); return ctx_r24.formatInput($event.target); })(\"keydown.ArrowUp\", function NgbTimepicker_div_28_Template_input_keydown_ArrowUp_4_listener($event) { ɵngcc0.ɵɵrestoreView(_r23); const ctx_r25 = ɵngcc0.ɵɵnextContext(); ctx_r25.changeSecond(ctx_r25.secondStep); return $event.preventDefault(); })(\"keydown.ArrowDown\", function NgbTimepicker_div_28_Template_input_keydown_ArrowDown_4_listener($event) { ɵngcc0.ɵɵrestoreView(_r23); const ctx_r26 = ɵngcc0.ɵɵnextContext(); ctx_r26.changeSecond(-ctx_r26.secondStep); return $event.preventDefault(); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵtemplate(6, NgbTimepicker_div_28_button_6_Template, 7, 7, \"button\", 3);\n ɵngcc0.ɵɵtext(7, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r5 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r5.spinners);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵclassProp(\"form-control-sm\", ctx_r5.isSmallSize)(\"form-control-lg\", ctx_r5.isLargeSize);\n ɵngcc0.ɵɵproperty(\"value\", ctx_r5.formatMinSec(ctx_r5.model == null ? null : ctx_r5.model.second))(\"readOnly\", ctx_r5.readonlyInputs)(\"disabled\", ctx_r5.disabled);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r5.spinners);\n} }\nfunction NgbTimepicker_div_30_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 5);\n} }\nfunction NgbTimepicker_div_32_ng_container_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0);\n ɵngcc0.ɵɵi18n(1, 27);\n ɵngcc0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const ctx_r27 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵi18nExp(ctx_r27.i18n.getAfternoonPeriod());\n ɵngcc0.ɵɵi18nApply(1);\n} }\nfunction NgbTimepicker_div_32_ng_template_6_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵi18n(0, 28);\n} if (rf & 2) {\n const ctx_r29 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵi18nExp(ctx_r29.i18n.getMorningPeriod());\n ɵngcc0.ɵɵi18nApply(0);\n} }\nfunction NgbTimepicker_div_32_Template(rf, ctx) { if (rf & 1) {\n const _r31 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"div\", 23);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelementStart(2, \"button\", 24);\n ɵngcc0.ɵɵlistener(\"click\", function NgbTimepicker_div_32_Template_button_click_2_listener() { ɵngcc0.ɵɵrestoreView(_r31); const ctx_r30 = ɵngcc0.ɵɵnextContext(); return ctx_r30.toggleMeridian(); });\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbTimepicker_div_32_ng_container_4_Template, 2, 1, \"ng-container\", 25);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵtemplate(6, NgbTimepicker_div_32_ng_template_6_Template, 1, 1, \"ng-template\", null, 26, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(8, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(9, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const _r28 = ɵngcc0.ɵɵreference(7);\n const ctx_r7 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵclassProp(\"btn-sm\", ctx_r7.isSmallSize)(\"btn-lg\", ctx_r7.isLargeSize)(\"disabled\", ctx_r7.disabled);\n ɵngcc0.ɵɵproperty(\"disabled\", ctx_r7.disabled);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", (ctx_r7.model == null ? null : ctx_r7.model.hour) >= 12)(\"ngIfElse\", _r28);\n} }\nfunction NgbToast_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"strong\", 3);\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(3, \"\\n \");\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r1.header);\n} }\nfunction NgbToast_ng_template_4_ng_template_3_Template(rf, ctx) { }\nfunction NgbToast_ng_template_4_Template(rf, ctx) { if (rf & 1) {\n const _r5 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"div\", 4);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵtemplate(3, NgbToast_ng_template_4_ng_template_3_Template, 0, 0, \"ng-template\", 5);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵelementStart(5, \"button\", 6);\n ɵngcc0.ɵɵlistener(\"click\", function NgbToast_ng_template_4_Template_button_click_5_listener() { ɵngcc0.ɵɵrestoreView(_r5); const ctx_r4 = ɵngcc0.ɵɵnextContext(); return ctx_r4.hide(); });\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementStart(7, \"span\", 7);\n ɵngcc0.ɵɵtext(8, \"\\u00D7\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(9, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(10, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(11, \"\\n \");\n} if (rf & 2) {\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n const _r0 = ɵngcc0.ɵɵreference(2);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.contentHeaderTpl || _r0);\n} }\nfunction NgbHighlight_ng_template_0_span_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\");\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const part_r1 = ɵngcc0.ɵɵnextContext().$implicit;\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassMap(ctx_r3.highlightClass);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate(part_r1);\n} }\nfunction NgbHighlight_ng_template_0_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0);\n} if (rf & 2) {\n const part_r1 = ɵngcc0.ɵɵnextContext().$implicit;\n ɵngcc0.ɵɵtextInterpolate(part_r1);\n} }\nfunction NgbHighlight_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, NgbHighlight_ng_template_0_span_0_Template, 2, 3, \"span\", 1);\n ɵngcc0.ɵɵtemplate(1, NgbHighlight_ng_template_0_ng_template_1_Template, 1, 1, \"ng-template\", null, 2, ɵngcc0.ɵɵtemplateRefExtractor);\n} if (rf & 2) {\n const isOdd_r2 = ctx.odd;\n const _r4 = ɵngcc0.ɵɵreference(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", isOdd_r2)(\"ngIfElse\", _r4);\n} }\nfunction NgbTypeaheadWindow_ng_template_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelement(1, \"ngb-highlight\", 2);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n} if (rf & 2) {\n const result_r3 = ctx.result;\n const term_r4 = ctx.term;\n const formatter_r5 = ctx.formatter;\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"result\", formatter_r5(result_r3))(\"term\", term_r4);\n} }\nfunction NgbTypeaheadWindow_ng_template_4_ng_template_3_Template(rf, ctx) { }\nconst _c86 = function (a0, a1, a2) { return { result: a0, term: a1, formatter: a2 }; };\nfunction NgbTypeaheadWindow_ng_template_4_Template(rf, ctx) { if (rf & 1) {\n const _r10 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"button\", 3);\n ɵngcc0.ɵɵlistener(\"mouseenter\", function NgbTypeaheadWindow_ng_template_4_Template_button_mouseenter_1_listener() { ɵngcc0.ɵɵrestoreView(_r10); const idx_r7 = ctx.index; const ctx_r9 = ɵngcc0.ɵɵnextContext(); return ctx_r9.markActive(idx_r7); })(\"click\", function NgbTypeaheadWindow_ng_template_4_Template_button_click_1_listener() { ɵngcc0.ɵɵrestoreView(_r10); const result_r6 = ctx.$implicit; const ctx_r11 = ɵngcc0.ɵɵnextContext(); return ctx_r11.select(result_r6); });\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵtemplate(3, NgbTypeaheadWindow_ng_template_4_ng_template_3_Template, 0, 0, \"ng-template\", 4);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(5, \"\\n \");\n} if (rf & 2) {\n const result_r6 = ctx.$implicit;\n const idx_r7 = ctx.index;\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n const _r0 = ɵngcc0.ɵɵreference(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"active\", idx_r7 === ctx_r2.activeIdx);\n ɵngcc0.ɵɵproperty(\"id\", ctx_r2.id + \"-\" + idx_r7);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.resultTemplate || _r0)(\"ngTemplateOutletContext\", ɵngcc0.ɵɵpureFunction3(5, _c86, result_r6, ctx_r2.term, ctx_r2.formatter));\n} }\nfunction toInteger(value) {\n return parseInt(`${value}`, 10);\n}\nfunction toString(value) {\n return (value !== undefined && value !== null) ? `${value}` : '';\n}\nfunction getValueInRange(value, max, min = 0) {\n return Math.max(Math.min(value, max), min);\n}\nfunction isString(value) {\n return typeof value === 'string';\n}\nfunction isNumber(value) {\n return !isNaN(toInteger(value));\n}\nfunction isInteger(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction padNumber(value) {\n if (isNumber(value)) {\n return `0${value}`.slice(-2);\n }\n else {\n return '';\n }\n}\nfunction regExpEscape(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\nfunction hasClassName(element, className) {\n return element && element.className && element.className.split &&\n element.className.split(/\\s+/).indexOf(className) >= 0;\n}\nif (typeof Element !== 'undefined' && !Element.prototype.closest) {\n // Polyfill for ie10+\n if (!Element.prototype.matches) {\n // IE uses the non-standard name: msMatchesSelector\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n }\n Element.prototype.closest = function (s) {\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}\nfunction closest(element, selector) {\n if (!selector) {\n return null;\n }\n return element.closest(selector);\n}\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 */\nlet NgbAccordionConfig = class NgbAccordionConfig {\n constructor() {\n this.closeOthers = false;\n }\n};\nNgbAccordionConfig.ɵfac = function NgbAccordionConfig_Factory(t) { return new (t || NgbAccordionConfig)(); };\nNgbAccordionConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbAccordionConfig_Factory() { return new NgbAccordionConfig(); }, token: NgbAccordionConfig, providedIn: \"root\" });\n\nlet nextId = 0;\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 */\nlet NgbPanelHeader = class NgbPanelHeader {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbPanelHeader.ɵfac = function NgbPanelHeader_Factory(t) { return new (t || NgbPanelHeader)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbPanelHeader.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbPanelHeader, selectors: [[\"ng-template\", \"ngbPanelHeader\", \"\"]] });\nNgbPanelHeader.ctorParameters = () => [\n { type: TemplateRef }\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 */\nlet NgbPanelTitle = class NgbPanelTitle {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbPanelTitle.ɵfac = function NgbPanelTitle_Factory(t) { return new (t || NgbPanelTitle)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbPanelTitle.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbPanelTitle, selectors: [[\"ng-template\", \"ngbPanelTitle\", \"\"]] });\nNgbPanelTitle.ctorParameters = () => [\n { type: TemplateRef }\n];\n/**\n * A directive that wraps the accordion panel content.\n */\nlet NgbPanelContent = class NgbPanelContent {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbPanelContent.ɵfac = function NgbPanelContent_Factory(t) { return new (t || NgbPanelContent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbPanelContent.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbPanelContent, selectors: [[\"ng-template\", \"ngbPanelContent\", \"\"]] });\nNgbPanelContent.ctorParameters = () => [\n { type: TemplateRef }\n];\n/**\n * A directive that wraps an individual accordion panel with title and collapsible content.\n */\nlet NgbPanel = class NgbPanel {\n constructor() {\n /**\n * If `true`, the panel is disabled an can't be toggled.\n */\n this.disabled = false;\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 this.id = `ngb-panel-${nextId++}`;\n this.isOpen = false;\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};\nNgbPanel.ɵfac = function NgbPanel_Factory(t) { return new (t || NgbPanel)(); };\nNgbPanel.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbPanel, selectors: [[\"ngb-panel\"]], contentQueries: function NgbPanel_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbPanelTitle, false);\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbPanelHeader, false);\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbPanelContent, false);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.titleTpls = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.headerTpls = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.contentTpls = _t);\n } }, inputs: { disabled: \"disabled\", id: \"id\", title: \"title\", type: \"type\", cardClass: \"cardClass\" } });\n__decorate([\n Input()\n], NgbPanel.prototype, \"disabled\", void 0);\n__decorate([\n Input()\n], NgbPanel.prototype, \"id\", void 0);\n__decorate([\n Input()\n], NgbPanel.prototype, \"title\", void 0);\n__decorate([\n Input()\n], NgbPanel.prototype, \"type\", void 0);\n__decorate([\n Input()\n], NgbPanel.prototype, \"cardClass\", void 0);\n__decorate([\n ContentChildren(NgbPanelTitle, { descendants: false })\n], NgbPanel.prototype, \"titleTpls\", void 0);\n__decorate([\n ContentChildren(NgbPanelHeader, { descendants: false })\n], NgbPanel.prototype, \"headerTpls\", void 0);\n__decorate([\n ContentChildren(NgbPanelContent, { descendants: false })\n], NgbPanel.prototype, \"contentTpls\", void 0);\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 */\nlet NgbAccordion = class NgbAccordion {\n constructor(config) {\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 this.activeIds = [];\n /**\n * If `true`, panel content will be detached from DOM and not simply hidden when the panel is collapsed.\n */\n this.destroyOnHide = true;\n /**\n * Event emitted right before the panel toggle happens.\n *\n * See [NgbPanelChangeEvent](#/components/accordion/api#NgbPanelChangeEvent) for payload details.\n */\n this.panelChange = new EventEmitter();\n this.type = config.type;\n this.closeOtherPanels = config.closeOthers;\n }\n /**\n * Checks if a panel with a given id is expanded.\n */\n isExpanded(panelId) { return this.activeIds.indexOf(panelId) > -1; }\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) { this._changeOpenState(this._findPanelById(panelId), true); }\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() {\n if (this.closeOtherPanels) {\n if (this.activeIds.length === 0 && this.panels.length) {\n this._changeOpenState(this.panels.first, true);\n }\n }\n else {\n this.panels.forEach(panel => this._changeOpenState(panel, true));\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) { this._changeOpenState(this._findPanelById(panelId), false); }\n /**\n * Collapses all opened panels.\n */\n collapseAll() {\n this.panels.forEach((panel) => { this._changeOpenState(panel, false); });\n }\n /**\n * Toggles a panel with the given id.\n *\n * Has no effect if the panel is disabled.\n */\n toggle(panelId) {\n const panel = this._findPanelById(panelId);\n if (panel) {\n this._changeOpenState(panel, !panel.isOpen);\n }\n }\n ngAfterContentChecked() {\n // active id updates\n if (isString(this.activeIds)) {\n this.activeIds = this.activeIds.split(/\\s*,\\s*/);\n }\n // update panels open states\n this.panels.forEach(panel => panel.isOpen = !panel.disabled && this.activeIds.indexOf(panel.id) > -1);\n // closeOthers updates\n if (this.activeIds.length > 1 && this.closeOtherPanels) {\n this._closeOthers(this.activeIds[0]);\n this._updateActiveIds();\n }\n }\n _changeOpenState(panel, nextState) {\n if (panel && !panel.disabled && panel.isOpen !== nextState) {\n let defaultPrevented = false;\n this.panelChange.emit({ panelId: panel.id, nextState: nextState, preventDefault: () => { defaultPrevented = true; } });\n if (!defaultPrevented) {\n panel.isOpen = nextState;\n if (nextState && this.closeOtherPanels) {\n this._closeOthers(panel.id);\n }\n this._updateActiveIds();\n }\n }\n }\n _closeOthers(panelId) {\n this.panels.forEach(panel => {\n if (panel.id !== panelId) {\n panel.isOpen = false;\n }\n });\n }\n _findPanelById(panelId) { return this.panels.find(p => p.id === panelId); }\n _updateActiveIds() {\n this.activeIds = this.panels.filter(panel => panel.isOpen && !panel.disabled).map(panel => panel.id);\n }\n};\nNgbAccordion.ɵfac = function NgbAccordion_Factory(t) { return new (t || NgbAccordion)(ɵngcc0.ɵɵdirectiveInject(NgbAccordionConfig)); };\nNgbAccordion.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbAccordion, selectors: [[\"ngb-accordion\"]], contentQueries: function NgbAccordion_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbPanel, false);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.panels = _t);\n } }, hostAttrs: [\"role\", \"tablist\", 1, \"accordion\"], hostVars: 1, hostBindings: function NgbAccordion_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-multiselectable\", !ctx.closeOtherPanels);\n } }, inputs: { activeIds: \"activeIds\", destroyOnHide: \"destroyOnHide\", type: \"type\", closeOtherPanels: [\"closeOthers\", \"closeOtherPanels\"] }, outputs: { panelChange: \"panelChange\" }, exportAs: [\"ngbAccordion\"], decls: 6, vars: 1, consts: [[\"ngbPanelHeader\", \"\"], [\"t\", \"\"], [\"ngFor\", \"\", 3, \"ngForOf\"], [1, \"btn\", \"btn-link\", 3, \"ngbPanelToggle\"], [3, \"ngTemplateOutlet\"], [\"role\", \"tab\", 3, \"id\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"role\", \"tabpanel\", \"class\", \"collapse\", 3, \"id\", \"show\", 4, \"ngIf\"], [\"role\", \"tabpanel\", 1, \"collapse\", 3, \"id\"], [1, \"card-body\"]], template: function NgbAccordion_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbAccordion_ng_template_1_Template, 6, 3, \"ng-template\", 0, 1, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbAccordion_ng_template_4_Template, 11, 11, \"ng-template\", 2);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.panels);\n } }, directives: function () { return [NgbPanelHeader, ɵngcc1.NgForOf, NgbPanelToggle, ɵngcc1.NgTemplateOutlet, ɵngcc1.NgIf]; }, encapsulation: 2 });\nNgbAccordion.ctorParameters = () => [\n { type: NgbAccordionConfig }\n];\n__decorate([\n ContentChildren(NgbPanel)\n], NgbAccordion.prototype, \"panels\", void 0);\n__decorate([\n Input()\n], NgbAccordion.prototype, \"activeIds\", void 0);\n__decorate([\n Input('closeOthers')\n], NgbAccordion.prototype, \"closeOtherPanels\", void 0);\n__decorate([\n Input()\n], NgbAccordion.prototype, \"destroyOnHide\", void 0);\n__decorate([\n Input()\n], NgbAccordion.prototype, \"type\", void 0);\n__decorate([\n Output()\n], NgbAccordion.prototype, \"panelChange\", void 0);\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 */\nlet NgbPanelToggle = class NgbPanelToggle {\n constructor(accordion, panel) {\n this.accordion = accordion;\n this.panel = panel;\n }\n set ngbPanelToggle(panel) {\n if (panel) {\n this.panel = panel;\n }\n }\n};\nNgbPanelToggle.ɵfac = function NgbPanelToggle_Factory(t) { return new (t || NgbPanelToggle)(ɵngcc0.ɵɵdirectiveInject(NgbAccordion), ɵngcc0.ɵɵdirectiveInject(NgbPanel, 9)); };\nNgbPanelToggle.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbPanelToggle, selectors: [[\"button\", \"ngbPanelToggle\", \"\"]], hostAttrs: [\"type\", \"button\"], hostVars: 5, hostBindings: function NgbPanelToggle_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function NgbPanelToggle_click_HostBindingHandler() { return ctx.accordion.toggle(ctx.panel.id); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"disabled\", ctx.panel.disabled);\n ɵngcc0.ɵɵattribute(\"aria-expanded\", ctx.panel.isOpen)(\"aria-controls\", ctx.panel.id);\n ɵngcc0.ɵɵclassProp(\"collapsed\", !ctx.panel.isOpen);\n } }, inputs: { ngbPanelToggle: \"ngbPanelToggle\" } });\nNgbPanelToggle.ctorParameters = () => [\n { type: NgbAccordion },\n { type: NgbPanel, decorators: [{ type: Optional }, { type: Host }] }\n];\n__decorate([\n Input()\n], NgbPanelToggle.prototype, \"ngbPanelToggle\", null);\nNgbPanelToggle = __decorate([ __param(1, Optional()), __param(1, Host())\n], NgbPanelToggle);\n\nconst NGB_ACCORDION_DIRECTIVES = [NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle];\nlet NgbAccordionModule = class NgbAccordionModule {\n};\nNgbAccordionModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbAccordionModule });\nNgbAccordionModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbAccordionModule_Factory(t) { return new (t || NgbAccordionModule)(); }, imports: [[CommonModule]] });\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 */\nlet NgbAlertConfig = class NgbAlertConfig {\n constructor() {\n this.dismissible = true;\n this.type = 'warning';\n }\n};\nNgbAlertConfig.ɵfac = function NgbAlertConfig_Factory(t) { return new (t || NgbAlertConfig)(); };\nNgbAlertConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbAlertConfig_Factory() { return new NgbAlertConfig(); }, token: NgbAlertConfig, providedIn: \"root\" });\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 */\nlet NgbAlert = class NgbAlert {\n constructor(config, _renderer, _element) {\n this._renderer = _renderer;\n this._element = _element;\n /**\n * An event emitted when the close button is clicked. It has no payload and only relevant for dismissible alerts.\n */\n this.close = new EventEmitter();\n this.dismissible = config.dismissible;\n this.type = config.type;\n }\n closeHandler() { this.close.emit(null); }\n ngOnChanges(changes) {\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 ngOnInit() { this._renderer.addClass(this._element.nativeElement, `alert-${this.type}`); }\n};\nNgbAlert.ɵfac = function NgbAlert_Factory(t) { return new (t || NgbAlert)(ɵngcc0.ɵɵdirectiveInject(NgbAlertConfig), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nNgbAlert.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbAlert, selectors: [[\"ngb-alert\"]], hostAttrs: [\"role\", \"alert\", 1, \"alert\"], hostVars: 2, hostBindings: function NgbAlert_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"alert-dismissible\", ctx.dismissible);\n } }, inputs: { dismissible: \"dismissible\", type: \"type\" }, outputs: { close: \"close\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c5, decls: 5, vars: 1, consts: function () { let i18n_1; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_alert_close$$FESM2015_NG_BOOTSTRAP_JS_2 = goog.getMsg(\"Close\");\n i18n_1 = MSG_EXTERNAL_ngb_alert_close$$FESM2015_NG_BOOTSTRAP_JS_2;\n }\n else {\n i18n_1 = $localize `:@@ngb.alert.close␟f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8␟7819314041543176992:Close`;\n } let i18n_3; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_alert_close$$FESM2015_NG_BOOTSTRAP_JS__4 = goog.getMsg(\"Close\");\n i18n_3 = MSG_EXTERNAL_ngb_alert_close$$FESM2015_NG_BOOTSTRAP_JS__4;\n }\n else {\n i18n_3 = $localize `:@@ngb.alert.close␟f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8␟7819314041543176992:Close`;\n } return [[\"type\", \"button\", \"class\", \"close\", \"aria-label\", i18n_1, 3, \"click\", 4, \"ngIf\"], [\"type\", \"button\", \"aria-label\", i18n_3, 1, \"close\", 3, \"click\"], [\"aria-hidden\", \"true\"]]; }, template: function NgbAlert_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵprojection(1);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵtemplate(3, NgbAlert_button_3_Template, 5, 0, \"button\", 0);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.dismissible);\n } }, directives: [ɵngcc1.NgIf], styles: [\"ngb-alert{display:block}\"], encapsulation: 2, changeDetection: 0 });\nNgbAlert.ctorParameters = () => [\n { type: NgbAlertConfig },\n { type: Renderer2 },\n { type: ElementRef }\n];\n__decorate([\n Input()\n], NgbAlert.prototype, \"dismissible\", void 0);\n__decorate([\n Input()\n], NgbAlert.prototype, \"type\", void 0);\n__decorate([\n Output()\n], NgbAlert.prototype, \"close\", void 0);\n\nlet NgbAlertModule = class NgbAlertModule {\n};\nNgbAlertModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbAlertModule });\nNgbAlertModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbAlertModule_Factory(t) { return new (t || NgbAlertModule)(); }, imports: [[CommonModule]] });\n\nlet NgbButtonLabel = class NgbButtonLabel {\n};\nNgbButtonLabel.ɵfac = function NgbButtonLabel_Factory(t) { return new (t || NgbButtonLabel)(); };\nNgbButtonLabel.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbButtonLabel, selectors: [[\"\", \"ngbButtonLabel\", \"\"]], hostVars: 8, hostBindings: function NgbButtonLabel_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"btn\", true)(\"active\", ctx.active)(\"disabled\", ctx.disabled)(\"focus\", ctx.focused);\n } } });\n\nconst NGB_CHECKBOX_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbCheckBox),\n multi: true\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 */\nlet NgbCheckBox = class NgbCheckBox {\n constructor(_label, _cd) {\n this._label = _label;\n this._cd = _cd;\n /**\n * If `true`, the checkbox button will be disabled\n */\n this.disabled = false;\n /**\n * The form control value when the checkbox is checked.\n */\n this.valueChecked = true;\n /**\n * The form control value when the checkbox is unchecked.\n */\n this.valueUnChecked = false;\n this.onChange = (_) => { };\n this.onTouched = () => { };\n }\n set focused(isFocused) {\n this._label.focused = isFocused;\n if (!isFocused) {\n this.onTouched();\n }\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 registerOnChange(fn) { this.onChange = fn; }\n registerOnTouched(fn) { this.onTouched = fn; }\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n this._label.disabled = isDisabled;\n }\n writeValue(value) {\n this.checked = value === this.valueChecked;\n this._label.active = this.checked;\n // label won't be updated, if it is inside the OnPush component when [ngModel] changes\n this._cd.markForCheck();\n }\n};\nNgbCheckBox.ɵfac = function NgbCheckBox_Factory(t) { return new (t || NgbCheckBox)(ɵngcc0.ɵɵdirectiveInject(NgbButtonLabel), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nNgbCheckBox.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbCheckBox, selectors: [[\"\", \"ngbButton\", \"\", \"type\", \"checkbox\"]], hostVars: 2, hostBindings: function NgbCheckBox_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"change\", function NgbCheckBox_change_HostBindingHandler($event) { return ctx.onInputChange($event); })(\"focus\", function NgbCheckBox_focus_HostBindingHandler() { return ctx.focused = true; })(\"blur\", function NgbCheckBox_blur_HostBindingHandler() { return ctx.focused = false; });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"checked\", ctx.checked)(\"disabled\", ctx.disabled);\n } }, inputs: { disabled: \"disabled\", valueChecked: \"valueChecked\", valueUnChecked: \"valueUnChecked\" }, features: [ɵngcc0.ɵɵProvidersFeature([NGB_CHECKBOX_VALUE_ACCESSOR])] });\nNgbCheckBox.ctorParameters = () => [\n { type: NgbButtonLabel },\n { type: ChangeDetectorRef }\n];\n__decorate([\n Input()\n], NgbCheckBox.prototype, \"disabled\", void 0);\n__decorate([\n Input()\n], NgbCheckBox.prototype, \"valueChecked\", void 0);\n__decorate([\n Input()\n], NgbCheckBox.prototype, \"valueUnChecked\", void 0);\n\nconst NGB_RADIO_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbRadioGroup),\n multi: true\n};\nlet nextId$1 = 0;\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 */\nlet NgbRadioGroup = class NgbRadioGroup {\n constructor() {\n this._radios = new Set();\n this._value = null;\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 this.name = `ngb-radio-${nextId$1++}`;\n this.onChange = (_) => { };\n this.onTouched = () => { };\n }\n get disabled() { return this._disabled; }\n set disabled(isDisabled) { this.setDisabledState(isDisabled); }\n onRadioChange(radio) {\n this.writeValue(radio.value);\n this.onChange(radio.value);\n }\n onRadioValueUpdate() { this._updateRadiosValue(); }\n register(radio) { this._radios.add(radio); }\n registerOnChange(fn) { this.onChange = fn; }\n registerOnTouched(fn) { this.onTouched = fn; }\n setDisabledState(isDisabled) {\n this._disabled = isDisabled;\n this._updateRadiosDisabled();\n }\n unregister(radio) { this._radios.delete(radio); }\n writeValue(value) {\n this._value = value;\n this._updateRadiosValue();\n }\n _updateRadiosValue() { this._radios.forEach((radio) => radio.updateValue(this._value)); }\n _updateRadiosDisabled() { this._radios.forEach((radio) => radio.updateDisabled()); }\n};\nNgbRadioGroup.ɵfac = function NgbRadioGroup_Factory(t) { return new (t || NgbRadioGroup)(); };\nNgbRadioGroup.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbRadioGroup, selectors: [[\"\", \"ngbRadioGroup\", \"\"]], hostAttrs: [\"role\", \"radiogroup\"], inputs: { name: \"name\" }, features: [ɵngcc0.ɵɵProvidersFeature([NGB_RADIO_VALUE_ACCESSOR])] });\n__decorate([\n Input()\n], NgbRadioGroup.prototype, \"name\", void 0);\n/**\n * A directive that marks an input of type \"radio\" as a part of the\n * [`NgbRadioGroup`](#/components/buttons/api#NgbRadioGroup).\n */\nlet NgbRadio = class NgbRadio {\n constructor(_group, _label, _renderer, _element, _cd) {\n this._group = _group;\n this._label = _label;\n this._renderer = _renderer;\n this._element = _element;\n this._cd = _cd;\n this._value = null;\n this._group.register(this);\n this.updateDisabled();\n }\n /**\n * The form control value when current radio button is checked.\n */\n set value(value) {\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 * If `true`, current radio button will be disabled.\n */\n set disabled(isDisabled) {\n this._disabled = isDisabled !== false;\n this.updateDisabled();\n }\n set focused(isFocused) {\n if (this._label) {\n this._label.focused = isFocused;\n }\n if (!isFocused) {\n this._group.onTouched();\n }\n }\n get checked() { return this._checked; }\n get disabled() { return this._group.disabled || this._disabled; }\n get value() { return this._value; }\n get nameAttr() { return this.name || this._group.name; }\n ngOnDestroy() { this._group.unregister(this); }\n onChange() { this._group.onRadioChange(this); }\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 this._checked = this.value === value;\n this._label.active = this._checked;\n }\n updateDisabled() { this._label.disabled = this.disabled; }\n};\nNgbRadio.ɵfac = function NgbRadio_Factory(t) { return new (t || NgbRadio)(ɵngcc0.ɵɵdirectiveInject(NgbRadioGroup), ɵngcc0.ɵɵdirectiveInject(NgbButtonLabel), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nNgbRadio.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbRadio, selectors: [[\"\", \"ngbButton\", \"\", \"type\", \"radio\"]], hostVars: 3, hostBindings: function NgbRadio_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"change\", function NgbRadio_change_HostBindingHandler() { return ctx.onChange(); })(\"focus\", function NgbRadio_focus_HostBindingHandler() { return ctx.focused = true; })(\"blur\", function NgbRadio_blur_HostBindingHandler() { return ctx.focused = false; });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"checked\", ctx.checked)(\"disabled\", ctx.disabled)(\"name\", ctx.nameAttr);\n } }, inputs: { value: \"value\", disabled: \"disabled\", name: \"name\" } });\nNgbRadio.ctorParameters = () => [\n { type: NgbRadioGroup },\n { type: NgbButtonLabel },\n { type: Renderer2 },\n { type: ElementRef },\n { type: ChangeDetectorRef }\n];\n__decorate([\n Input()\n], NgbRadio.prototype, \"name\", void 0);\n__decorate([\n Input('value')\n], NgbRadio.prototype, \"value\", null);\n__decorate([\n Input('disabled')\n], NgbRadio.prototype, \"disabled\", null);\n\nconst NGB_BUTTON_DIRECTIVES = [NgbButtonLabel, NgbCheckBox, NgbRadioGroup, NgbRadio];\nlet NgbButtonsModule = class NgbButtonsModule {\n};\nNgbButtonsModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbButtonsModule });\nNgbButtonsModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbButtonsModule_Factory(t) { return new (t || NgbButtonsModule)(); } });\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 */\nlet NgbCarouselConfig = class NgbCarouselConfig {\n constructor() {\n this.interval = 5000;\n this.wrap = true;\n this.keyboard = true;\n this.pauseOnHover = true;\n this.showNavigationArrows = true;\n this.showNavigationIndicators = true;\n }\n};\nNgbCarouselConfig.ɵfac = function NgbCarouselConfig_Factory(t) { return new (t || NgbCarouselConfig)(); };\nNgbCarouselConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbCarouselConfig_Factory() { return new NgbCarouselConfig(); }, token: NgbCarouselConfig, providedIn: \"root\" });\n\nlet nextId$2 = 0;\n/**\n * A directive that wraps the individual carousel slide.\n */\nlet NgbSlide = class NgbSlide {\n constructor(tplRef) {\n this.tplRef = tplRef;\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 this.id = `ngb-slide-${nextId$2++}`;\n }\n};\nNgbSlide.ɵfac = function NgbSlide_Factory(t) { return new (t || NgbSlide)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbSlide.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbSlide, selectors: [[\"ng-template\", \"ngbSlide\", \"\"]], inputs: { id: \"id\" } });\nNgbSlide.ctorParameters = () => [\n { type: TemplateRef }\n];\n__decorate([\n Input()\n], NgbSlide.prototype, \"id\", void 0);\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 */\nlet NgbCarousel = class NgbCarousel {\n constructor(config, _platformId, _ngZone, _cd) {\n this._platformId = _platformId;\n this._ngZone = _ngZone;\n this._cd = _cd;\n this.NgbSlideEventSource = NgbSlideEventSource;\n this._destroy$ = new Subject();\n this._interval$ = new BehaviorSubject(0);\n this._mouseHover$ = new BehaviorSubject(false);\n this._pauseOnHover$ = new BehaviorSubject(false);\n this._pause$ = new BehaviorSubject(false);\n this._wrap$ = new BehaviorSubject(false);\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 this.slide = new EventEmitter();\n this.interval = config.interval;\n this.wrap = config.wrap;\n this.keyboard = config.keyboard;\n this.pauseOnHover = config.pauseOnHover;\n this.showNavigationArrows = config.showNavigationArrows;\n this.showNavigationIndicators = config.showNavigationIndicators;\n }\n /**\n * Time in milliseconds before the next slide is shown.\n */\n set interval(value) {\n this._interval$.next(value);\n }\n get interval() { return this._interval$.value; }\n /**\n * If `true`, will 'wrap' the carousel by switching from the last slide back to the first.\n */\n set wrap(value) {\n this._wrap$.next(value);\n }\n get wrap() { return this._wrap$.value; }\n /**\n * If `true`, will pause slide switching when mouse cursor hovers the slide.\n *\n * @since 2.2.0\n */\n set pauseOnHover(value) {\n this._pauseOnHover$.next(value);\n }\n get pauseOnHover() { return this._pauseOnHover$.value; }\n mouseEnter() {\n this._mouseHover$.next(true);\n }\n mouseLeave() {\n this._mouseHover$.next(false);\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(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 }), distinctUntilChanged());\n combineLatest([this._pause$, this._pauseOnHover$, this._mouseHover$, this._interval$, hasNextSlide$])\n .pipe(map(([pause, pauseOnHover, mouseHover, interval, hasNextSlide]) => ((pause || (pauseOnHover && mouseHover) || !hasNextSlide) ? 0 : interval)), distinctUntilChanged(), switchMap(interval => interval > 0 ? timer(interval, interval) : NEVER), takeUntil(this._destroy$))\n .subscribe(() => this._ngZone.run(() => this.next(NgbSlideEventSource.TIMER)));\n });\n }\n this.slides.changes.pipe(takeUntil(this._destroy$)).subscribe(() => this._cd.markForCheck());\n }\n ngAfterContentChecked() {\n let activeSlide = this._getSlideById(this.activeId);\n this.activeId = activeSlide ? activeSlide.id : (this.slides.length ? this.slides.first.id : null);\n }\n ngOnDestroy() { this._destroy$.next(); }\n /**\n * Navigates to a slide with the specified identifier.\n */\n select(slideId, source) {\n this._cycleToSelected(slideId, this._getSlideEventDirection(this.activeId, slideId), source);\n }\n /**\n * Navigates to the previous slide.\n */\n prev(source) {\n this._cycleToSelected(this._getPrevSlide(this.activeId), NgbSlideEventDirection.RIGHT, source);\n }\n /**\n * Navigates to the next slide.\n */\n next(source) {\n this._cycleToSelected(this._getNextSlide(this.activeId), NgbSlideEventDirection.LEFT, source);\n }\n /**\n * Pauses cycling through the slides.\n */\n pause() { this._pause$.next(true); }\n /**\n * Restarts cycling through the slides from left to right.\n */\n cycle() { this._pause$.next(false); }\n _cycleToSelected(slideIdx, direction, source) {\n let selectedSlide = this._getSlideById(slideIdx);\n if (selectedSlide && selectedSlide.id !== this.activeId) {\n this.slide.emit({ prev: this.activeId, current: selectedSlide.id, direction: direction, paused: this._pause$.value, source });\n this.activeId = selectedSlide.id;\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 _getSlideEventDirection(currentActiveSlideId, nextActiveSlideId) {\n const currentActiveSlideIdx = this._getSlideIdxById(currentActiveSlideId);\n const nextActiveSlideIdx = this._getSlideIdxById(nextActiveSlideId);\n return currentActiveSlideIdx > nextActiveSlideIdx ? NgbSlideEventDirection.RIGHT : NgbSlideEventDirection.LEFT;\n }\n _getSlideById(slideId) { return this.slides.find(slide => slide.id === slideId); }\n _getSlideIdxById(slideId) {\n return this.slides.toArray().indexOf(this._getSlideById(slideId));\n }\n _getNextSlide(currentSlideId) {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n const isLastSlide = currentSlideIdx === slideArr.length - 1;\n return isLastSlide ? (this.wrap ? slideArr[0].id : slideArr[slideArr.length - 1].id) :\n slideArr[currentSlideIdx + 1].id;\n }\n _getPrevSlide(currentSlideId) {\n const slideArr = this.slides.toArray();\n const currentSlideIdx = this._getSlideIdxById(currentSlideId);\n const isFirstSlide = currentSlideIdx === 0;\n return isFirstSlide ? (this.wrap ? slideArr[slideArr.length - 1].id : slideArr[0].id) :\n slideArr[currentSlideIdx - 1].id;\n }\n};\nNgbCarousel.ɵfac = function NgbCarousel_Factory(t) { return new (t || NgbCarousel)(ɵngcc0.ɵɵdirectiveInject(NgbCarouselConfig), ɵngcc0.ɵɵdirectiveInject(PLATFORM_ID), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nNgbCarousel.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbCarousel, selectors: [[\"ngb-carousel\"]], contentQueries: function NgbCarousel_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbSlide, false);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.slides = _t);\n } }, hostAttrs: [\"tabIndex\", \"0\", 1, \"carousel\", \"slide\"], hostVars: 2, hostBindings: function NgbCarousel_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"keydown.arrowLeft\", function NgbCarousel_keydown_arrowLeft_HostBindingHandler() { return ctx.keyboard && ctx.prev(ctx.NgbSlideEventSource.ARROW_LEFT); })(\"keydown.arrowRight\", function NgbCarousel_keydown_arrowRight_HostBindingHandler() { return ctx.keyboard && ctx.next(ctx.NgbSlideEventSource.ARROW_RIGHT); })(\"mouseenter\", function NgbCarousel_mouseenter_HostBindingHandler() { return ctx.mouseEnter(); })(\"mouseleave\", function NgbCarousel_mouseleave_HostBindingHandler() { return ctx.mouseLeave(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵstyleProp(\"display\", \"block\");\n } }, inputs: { interval: \"interval\", wrap: \"wrap\", keyboard: \"keyboard\", pauseOnHover: \"pauseOnHover\", showNavigationArrows: \"showNavigationArrows\", showNavigationIndicators: \"showNavigationIndicators\", activeId: \"activeId\" }, outputs: { slide: \"slide\" }, exportAs: [\"ngbCarousel\"], decls: 12, vars: 4, consts: function () { let i18n_6; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_carousel_previous$$FESM2015_NG_BOOTSTRAP_JS__7 = goog.getMsg(\"Previous\");\n i18n_6 = MSG_EXTERNAL_ngb_carousel_previous$$FESM2015_NG_BOOTSTRAP_JS__7;\n }\n else {\n i18n_6 = $localize `:@@ngb.carousel.previous␟680d5c75b7fd8d37961083608b9fcdc4167b4c43␟4452427314943113135:Previous`;\n } let i18n_8; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_carousel_next$$FESM2015_NG_BOOTSTRAP_JS__9 = goog.getMsg(\"Next\");\n i18n_8 = MSG_EXTERNAL_ngb_carousel_next$$FESM2015_NG_BOOTSTRAP_JS__9;\n }\n else {\n i18n_8 = $localize `:@@ngb.carousel.next␟f732c304c7433e5a83ffcd862c3dce709a0f4982␟3885497195825665706:Next`;\n } return [[\"class\", \"carousel-indicators\", 4, \"ngIf\"], [1, \"carousel-inner\"], [\"class\", \"carousel-item\", 3, \"active\", 4, \"ngFor\", \"ngForOf\"], [\"class\", \"carousel-control-prev\", \"role\", \"button\", 3, \"click\", 4, \"ngIf\"], [\"class\", \"carousel-control-next\", \"role\", \"button\", 3, \"click\", 4, \"ngIf\"], [1, \"carousel-indicators\"], [3, \"id\", \"active\", \"click\", 4, \"ngFor\", \"ngForOf\"], [3, \"id\", \"click\"], [1, \"carousel-item\"], [3, \"ngTemplateOutlet\"], [\"role\", \"button\", 1, \"carousel-control-prev\", 3, \"click\"], [\"aria-hidden\", \"true\", 1, \"carousel-control-prev-icon\"], [1, \"sr-only\"], i18n_6, [\"role\", \"button\", 1, \"carousel-control-next\", 3, \"click\"], [\"aria-hidden\", \"true\", 1, \"carousel-control-next-icon\"], i18n_8]; }, template: function NgbCarousel_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbCarousel_ol_1_Template, 4, 1, \"ol\", 0);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵelementStart(3, \"div\", 1);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵtemplate(5, NgbCarousel_div_5_Template, 4, 3, \"div\", 2);\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(7, \"\\n \");\n ɵngcc0.ɵɵtemplate(8, NgbCarousel_a_8_Template, 7, 0, \"a\", 3);\n ɵngcc0.ɵɵtext(9, \"\\n \");\n ɵngcc0.ɵɵtemplate(10, NgbCarousel_a_10_Template, 7, 0, \"a\", 4);\n ɵngcc0.ɵɵtext(11, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showNavigationIndicators);\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.slides);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showNavigationArrows);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showNavigationArrows);\n } }, directives: [ɵngcc1.NgIf, ɵngcc1.NgForOf, ɵngcc1.NgTemplateOutlet], encapsulation: 2, changeDetection: 0 });\nNgbCarousel.ctorParameters = () => [\n { type: NgbCarouselConfig },\n { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] },\n { type: NgZone },\n { type: ChangeDetectorRef }\n];\n__decorate([\n ContentChildren(NgbSlide)\n], NgbCarousel.prototype, \"slides\", void 0);\n__decorate([\n Input()\n], NgbCarousel.prototype, \"activeId\", void 0);\n__decorate([\n Input()\n], NgbCarousel.prototype, \"interval\", null);\n__decorate([\n Input()\n], NgbCarousel.prototype, \"wrap\", null);\n__decorate([\n Input()\n], NgbCarousel.prototype, \"keyboard\", void 0);\n__decorate([\n Input()\n], NgbCarousel.prototype, \"pauseOnHover\", null);\n__decorate([\n Input()\n], NgbCarousel.prototype, \"showNavigationArrows\", void 0);\n__decorate([\n Input()\n], NgbCarousel.prototype, \"showNavigationIndicators\", void 0);\n__decorate([\n Output()\n], NgbCarousel.prototype, \"slide\", void 0);\n__decorate([\n HostListener('mouseenter')\n], NgbCarousel.prototype, \"mouseEnter\", null);\n__decorate([\n HostListener('mouseleave')\n], NgbCarousel.prototype, \"mouseLeave\", null);\nNgbCarousel = __decorate([ __param(1, Inject(PLATFORM_ID))\n], NgbCarousel);\n/**\n * Defines the carousel slide transition direction.\n */\nvar NgbSlideEventDirection;\n(function (NgbSlideEventDirection) {\n NgbSlideEventDirection[NgbSlideEventDirection[\"LEFT\"] = 'left'] = \"LEFT\";\n NgbSlideEventDirection[NgbSlideEventDirection[\"RIGHT\"] = 'right'] = \"RIGHT\";\n})(NgbSlideEventDirection || (NgbSlideEventDirection = {}));\nvar NgbSlideEventSource;\n(function (NgbSlideEventSource) {\n NgbSlideEventSource[\"TIMER\"] = \"timer\";\n NgbSlideEventSource[\"ARROW_LEFT\"] = \"arrowLeft\";\n NgbSlideEventSource[\"ARROW_RIGHT\"] = \"arrowRight\";\n NgbSlideEventSource[\"INDICATOR\"] = \"indicator\";\n})(NgbSlideEventSource || (NgbSlideEventSource = {}));\nconst NGB_CAROUSEL_DIRECTIVES = [NgbCarousel, NgbSlide];\n\nlet NgbCarouselModule = class NgbCarouselModule {\n};\nNgbCarouselModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbCarouselModule });\nNgbCarouselModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbCarouselModule_Factory(t) { return new (t || NgbCarouselModule)(); }, imports: [[CommonModule]] });\n\n/**\n * A directive to provide a simple way of hiding and showing elements on the page.\n */\nlet NgbCollapse = class NgbCollapse {\n constructor() {\n /**\n * If `true`, will collapse the element or show it otherwise.\n */\n this.collapsed = false;\n }\n};\nNgbCollapse.ɵfac = function NgbCollapse_Factory(t) { return new (t || NgbCollapse)(); };\nNgbCollapse.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbCollapse, selectors: [[\"\", \"ngbCollapse\", \"\"]], hostVars: 4, hostBindings: function NgbCollapse_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"collapse\", true)(\"show\", !ctx.collapsed);\n } }, inputs: { collapsed: [\"ngbCollapse\", \"collapsed\"] }, exportAs: [\"ngbCollapse\"] });\n__decorate([\n Input('ngbCollapse')\n], NgbCollapse.prototype, \"collapsed\", void 0);\n\nlet NgbCollapseModule = class NgbCollapseModule {\n};\nNgbCollapseModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbCollapseModule });\nNgbCollapseModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbCollapseModule_Factory(t) { return new (t || NgbCollapseModule)(); } });\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 */\nclass NgbDate {\n constructor(year, month, day) {\n this.year = isInteger(year) ? year : null;\n this.month = isInteger(month) ? month : null;\n this.day = isInteger(day) ? day : null;\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) {\n if (date instanceof NgbDate) {\n return date;\n }\n return date ? new NgbDate(date.year, date.month, date.day) : null;\n }\n /**\n * Checks if the current date is equal to another date.\n */\n equals(other) {\n return other && this.year === other.year && this.month === other.month && this.day === other.day;\n }\n /**\n * Checks if the current date is before another date.\n */\n before(other) {\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 }\n else {\n return this.month < other.month;\n }\n }\n else {\n return this.year < other.year;\n }\n }\n /**\n * Checks if the current date is after another date.\n */\n after(other) {\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 }\n else {\n return this.month > other.month;\n }\n }\n else {\n return this.year > other.year;\n }\n }\n}\n\nfunction fromJSDate(jsDate) {\n return new NgbDate(jsDate.getFullYear(), jsDate.getMonth() + 1, jsDate.getDate());\n}\nfunction toJSDate(date) {\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}\nfunction NGB_DATEPICKER_CALENDAR_FACTORY() {\n return new NgbCalendarGregorian();\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 */\nlet NgbCalendar = class NgbCalendar {\n};\nNgbCalendar.ɵfac = function NgbCalendar_Factory(t) { return new (t || NgbCalendar)(); };\nNgbCalendar.ɵprov = ɵɵdefineInjectable({ factory: NGB_DATEPICKER_CALENDAR_FACTORY, token: NgbCalendar, providedIn: \"root\" });\nlet NgbCalendarGregorian = class NgbCalendarGregorian extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n getWeeksPerMonth() { return 6; }\n getNext(date, period = 'd', number = 1) {\n let jsDate = toJSDate(date);\n let checkMonth = true;\n let expectedMonth = jsDate.getMonth();\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 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 return fromJSDate(jsDate);\n }\n getPrev(date, period = 'd', number = 1) { return this.getNext(date, period, -number); }\n getWeekday(date) {\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 getWeekNumber(week, firstDayOfWeek) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n let date = week[thursdayIndex];\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 getToday() { return fromJSDate(new Date()); }\n isValid(date) {\n if (!date || !isInteger(date.year) || !isInteger(date.month) || !isInteger(date.day)) {\n return false;\n }\n // year 0 doesn't exist in Gregorian calendar\n if (date.year === 0) {\n return false;\n }\n const jsDate = toJSDate(date);\n return !isNaN(jsDate.getTime()) && jsDate.getFullYear() === date.year && jsDate.getMonth() + 1 === date.month &&\n jsDate.getDate() === date.day;\n }\n};\nNgbCalendarGregorian.ɵfac = function NgbCalendarGregorian_Factory(t) { return ɵNgbCalendarGregorian_BaseFactory(t || NgbCalendarGregorian); };\nNgbCalendarGregorian.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbCalendarGregorian, factory: function (t) { return NgbCalendarGregorian.ɵfac(t); } });\n\nfunction isChangedDate(prev, next) {\n return !dateComparator(prev, next);\n}\nfunction isChangedMonth(prev, next) {\n return !prev && !next ? false : !prev || !next ? true : prev.year !== next.year || prev.month !== next.month;\n}\nfunction dateComparator(prev, next) {\n return (!prev && !next) || (!!prev && !!next && prev.equals(next));\n}\nfunction checkMinBeforeMax(minDate, maxDate) {\n if (maxDate && minDate && maxDate.before(minDate)) {\n throw new Error(`'maxDate' ${maxDate} should be greater than 'minDate' ${minDate}`);\n }\n}\nfunction checkDateInRange(date, minDate, maxDate) {\n if (date && minDate && date.before(minDate)) {\n return minDate;\n }\n if (date && maxDate && date.after(maxDate)) {\n return maxDate;\n }\n return date;\n}\nfunction isDateSelectable(date, state) {\n const { minDate, maxDate, disabled, markDisabled } = state;\n // clang-format off\n return !(!isDefined(date) ||\n disabled ||\n (markDisabled && markDisabled(date, { year: date.year, month: date.month })) ||\n (minDate && date.before(minDate)) ||\n (maxDate && date.after(maxDate)));\n // clang-format on\n}\nfunction generateSelectBoxMonths(calendar, date, minDate, maxDate) {\n if (!date) {\n return [];\n }\n let months = calendar.getMonths(date.year);\n if (minDate && date.year === minDate.year) {\n const index = months.findIndex(month => month === minDate.month);\n months = months.slice(index);\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 return months;\n}\nfunction generateSelectBoxYears(date, minDate, maxDate) {\n if (!date) {\n return [];\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 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 return numbers;\n}\nfunction nextMonthDisabled(calendar, date, maxDate) {\n const nextDate = Object.assign(calendar.getNext(date, 'm'), { day: 1 });\n return maxDate && nextDate.after(maxDate);\n}\nfunction prevMonthDisabled(calendar, date, minDate) {\n const prevDate = Object.assign(calendar.getPrev(date, 'm'), { day: 1 });\n return minDate && (prevDate.year === minDate.year && prevDate.month < minDate.month ||\n prevDate.year < minDate.year && minDate.month === 1);\n}\nfunction buildMonths(calendar, date, state, i18n, force) {\n const { displayMonths, months } = state;\n // move old months to a temporary array\n const monthsToReuse = months.splice(0, months.length);\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 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 return firstDate;\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() || {});\n }\n });\n return months;\n}\nfunction buildMonth(calendar, date, state, i18n, month = {}) {\n const { dayTemplateData, minDate, maxDate, firstDayOfWeek, markDisabled, outsideDays } = state;\n const calendarToday = calendar.getToday();\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 date = getFirstViewDate(calendar, date, firstDayOfWeek);\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 // 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 const newDate = new NgbDate(date.year, date.month, date.day);\n const nextDate = calendar.getNext(newDate);\n const ariaLabel = i18n.getDayAriaLabel(newDate);\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 // today\n let today = newDate.equals(calendarToday);\n // adding user-provided data to the context\n let contextUserData = dayTemplateData ? dayTemplateData(newDate, { month: month.number, year: month.year }) : undefined;\n // saving first date of the month\n if (month.firstDate === null && newDate.month === month.number) {\n month.firstDate = newDate;\n }\n // saving last date of the month\n if (newDate.month === month.number && nextDate.month !== month.number) {\n month.lastDate = newDate;\n }\n let dayObject = days[day];\n if (!dayObject) {\n dayObject = days[day] = {};\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 date = nextDate;\n }\n weekObject.number = calendar.getWeekNumber(days.map(day => day.date), firstDayOfWeek);\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 return month;\n}\nfunction getFirstViewDate(calendar, date, firstDayOfWeek) {\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\nfunction NGB_DATEPICKER_18N_FACTORY(locale) {\n return new NgbDatepickerI18nDefault(locale);\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 */\nlet NgbDatepickerI18n = class NgbDatepickerI18n {\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) { return `${date.day}`; }\n /**\n * Returns the textual representation of a week number rendered by datepicker.\n *\n * @since 3.0.0\n */\n getWeekNumerals(weekNumber) { return `${weekNumber}`; }\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) { return `${year}`; }\n};\nNgbDatepickerI18n.ɵfac = function NgbDatepickerI18n_Factory(t) { return new (t || NgbDatepickerI18n)(); };\nNgbDatepickerI18n.ɵprov = ɵɵdefineInjectable({ factory: function NgbDatepickerI18n_Factory() { return NGB_DATEPICKER_18N_FACTORY(ɵɵinject(LOCALE_ID)); }, token: NgbDatepickerI18n, providedIn: \"root\" });\nlet NgbDatepickerI18nDefault = class NgbDatepickerI18nDefault extends NgbDatepickerI18n {\n constructor(_locale) {\n super();\n this._locale = _locale;\n const weekdaysStartingOnSunday = getLocaleDayNames(_locale, FormStyle.Standalone, TranslationWidth.Short);\n this._weekdaysShort = weekdaysStartingOnSunday.map((day, index) => weekdaysStartingOnSunday[(index + 1) % 7]);\n this._monthsShort = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Abbreviated);\n this._monthsFull = getLocaleMonthNames(_locale, FormStyle.Standalone, TranslationWidth.Wide);\n }\n getWeekdayShortName(weekday) { return this._weekdaysShort[weekday - 1]; }\n getMonthShortName(month) { return this._monthsShort[month - 1]; }\n getMonthFullName(month) { return this._monthsFull[month - 1]; }\n getDayAriaLabel(date) {\n const jsDate = new Date(date.year, date.month - 1, date.day);\n return formatDate(jsDate, 'fullDate', this._locale);\n }\n};\nNgbDatepickerI18nDefault.ɵfac = function NgbDatepickerI18nDefault_Factory(t) { return new (t || NgbDatepickerI18nDefault)(ɵngcc0.ɵɵinject(LOCALE_ID)); };\nNgbDatepickerI18nDefault.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbDatepickerI18nDefault, factory: function (t) { return NgbDatepickerI18nDefault.ɵfac(t); } });\nNgbDatepickerI18nDefault.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\nNgbDatepickerI18nDefault = __decorate([ __param(0, Inject(LOCALE_ID))\n], NgbDatepickerI18nDefault);\n\nlet NgbDatepickerService = class NgbDatepickerService {\n constructor(_calendar, _i18n) {\n this._calendar = _calendar;\n this._i18n = _i18n;\n this._VALIDATORS = {\n dayTemplateData: (dayTemplateData) => {\n if (this._state.dayTemplateData !== dayTemplateData) {\n return { dayTemplateData };\n }\n },\n displayMonths: (displayMonths) => {\n displayMonths = toInteger(displayMonths);\n if (isInteger(displayMonths) && displayMonths > 0 && this._state.displayMonths !== displayMonths) {\n return { displayMonths };\n }\n },\n disabled: (disabled) => {\n if (this._state.disabled !== disabled) {\n return { disabled };\n }\n },\n firstDayOfWeek: (firstDayOfWeek) => {\n firstDayOfWeek = toInteger(firstDayOfWeek);\n if (isInteger(firstDayOfWeek) && firstDayOfWeek >= 0 && this._state.firstDayOfWeek !== firstDayOfWeek) {\n return { firstDayOfWeek };\n }\n },\n focusVisible: (focusVisible) => {\n if (this._state.focusVisible !== focusVisible && !this._state.disabled) {\n return { focusVisible };\n }\n },\n markDisabled: (markDisabled) => {\n if (this._state.markDisabled !== markDisabled) {\n return { markDisabled };\n }\n },\n maxDate: (date) => {\n const maxDate = this.toValidDate(date, null);\n if (isChangedDate(this._state.maxDate, maxDate)) {\n return { maxDate };\n }\n },\n minDate: (date) => {\n const minDate = this.toValidDate(date, null);\n if (isChangedDate(this._state.minDate, minDate)) {\n return { minDate };\n }\n },\n navigation: (navigation) => {\n if (this._state.navigation !== navigation) {\n return { navigation };\n }\n },\n outsideDays: (outsideDays) => {\n if (this._state.outsideDays !== outsideDays) {\n return { outsideDays };\n }\n }\n };\n this._model$ = new Subject();\n this._dateSelect$ = new Subject();\n this._state = {\n disabled: false,\n displayMonths: 1,\n firstDayOfWeek: 1,\n focusVisible: false,\n months: [],\n navigation: 'select',\n outsideDays: 'visible',\n prevDisabled: false,\n nextDisabled: false,\n selectBoxes: { years: [], months: [] },\n selectedDate: null\n };\n }\n get model$() { return this._model$.pipe(filter(model => model.months.length > 0)); }\n get dateSelect$() { return this._dateSelect$.pipe(filter(date => date !== null)); }\n set(options) {\n let patch = Object.keys(options)\n .map(key => this._VALIDATORS[key](options[key]))\n .reduce((obj, part) => (Object.assign(Object.assign({}, obj), part)), {});\n if (Object.keys(patch).length > 0) {\n this._nextState(patch);\n }\n }\n focus(date) {\n if (!this._state.disabled && this._calendar.isValid(date) && isChangedDate(this._state.focusDate, date)) {\n this._nextState({ focusDate: date });\n }\n }\n focusSelect() {\n if (isDateSelectable(this._state.focusDate, this._state)) {\n this.select(this._state.focusDate, { emitEvent: true });\n }\n }\n open(date) {\n const firstDate = this.toValidDate(date, this._calendar.getToday());\n if (!this._state.disabled && (!this._state.firstDate || isChangedMonth(this._state.firstDate, date))) {\n this._nextState({ firstDate });\n }\n }\n select(date, options = {}) {\n const selectedDate = this.toValidDate(date, null);\n if (!this._state.disabled) {\n if (isChangedDate(this._state.selectedDate, selectedDate)) {\n this._nextState({ selectedDate });\n }\n if (options.emitEvent && isDateSelectable(selectedDate, this._state)) {\n this._dateSelect$.next(selectedDate);\n }\n }\n }\n toValidDate(date, defaultValue) {\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 getMonth(struct) {\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 _nextState(patch) {\n const newState = this._updateState(patch);\n this._patchContexts(newState);\n this._state = newState;\n this._model$.next(this._state);\n }\n _patchContexts(state) {\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 // patch focus flag\n if (focusDate) {\n day.context.focused = focusDate.equals(day.date) && focusVisible;\n }\n // calculating tabindex\n day.tabindex = !disabled && day.date.equals(focusDate) && focusDate.month === month.number ? 0 : -1;\n // override context disabled\n if (disabled === true) {\n day.context.disabled = true;\n }\n // patch selection flag\n if (selectedDate !== undefined) {\n day.context.selected = selectedDate !== null && selectedDate.equals(day.date);\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 _updateState(patch) {\n // patching fields\n const state = Object.assign({}, this._state, patch);\n let startDate = state.firstDate;\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 // disabled\n if ('disabled' in patch) {\n state.focusVisible = false;\n }\n // initial rebuild via 'select()'\n if ('selectedDate' in patch && this._state.months.length === 0) {\n startDate = state.selectedDate;\n }\n // terminate early if only focus visibility was changed\n if ('focusVisible' in patch) {\n return state;\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 // nothing to rebuild if only focus changed and it is still visible\n if (state.months.length !== 0 && !state.focusDate.before(state.firstDate) &&\n !state.focusDate.after(state.lastDate)) {\n return state;\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 // 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 const months = buildMonths(this._calendar, startDate, state, this._i18n, forceRebuild);\n // updating months and boundary dates\n state.months = months;\n state.firstDate = months.length > 0 ? months[0].firstDate : undefined;\n state.lastDate = months.length > 0 ? months[months.length - 1].lastDate : undefined;\n // reset selected date if 'markDisabled' returns true\n if ('selectedDate' in patch && !isDateSelectable(state.selectedDate, state)) {\n state.selectedDate = null;\n }\n // adjusting focus after months were built\n if ('firstDate' in patch) {\n if (state.focusDate === undefined || state.focusDate.before(state.firstDate) ||\n state.focusDate.after(state.lastDate)) {\n state.focusDate = startDate;\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 // 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 }\n else {\n state.selectBoxes = { years: [], months: [] };\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 return state;\n }\n};\nNgbDatepickerService.ɵfac = function NgbDatepickerService_Factory(t) { return new (t || NgbDatepickerService)(ɵngcc0.ɵɵinject(NgbCalendar), ɵngcc0.ɵɵinject(NgbDatepickerI18n)); };\nNgbDatepickerService.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbDatepickerService, factory: function (t) { return NgbDatepickerService.ɵfac(t); } });\nNgbDatepickerService.ctorParameters = () => [\n { type: NgbCalendar },\n { type: NgbDatepickerI18n }\n];\n\n// clang-format on\nvar NavigationEvent;\n(function (NavigationEvent) {\n NavigationEvent[NavigationEvent[\"PREV\"] = 0] = \"PREV\";\n NavigationEvent[NavigationEvent[\"NEXT\"] = 1] = \"NEXT\";\n})(NavigationEvent || (NavigationEvent = {}));\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 */\nlet NgbDatepickerConfig = class NgbDatepickerConfig {\n constructor() {\n this.displayMonths = 1;\n this.firstDayOfWeek = 1;\n this.navigation = 'select';\n this.outsideDays = 'visible';\n this.showWeekdays = true;\n this.showWeekNumbers = false;\n }\n};\nNgbDatepickerConfig.ɵfac = function NgbDatepickerConfig_Factory(t) { return new (t || NgbDatepickerConfig)(); };\nNgbDatepickerConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbDatepickerConfig_Factory() { return new NgbDatepickerConfig(); }, token: NgbDatepickerConfig, providedIn: \"root\" });\n\nfunction NGB_DATEPICKER_DATE_ADAPTER_FACTORY() {\n return new NgbDateStructAdapter();\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 */\nlet NgbDateAdapter = class NgbDateAdapter {\n};\nNgbDateAdapter.ɵfac = function NgbDateAdapter_Factory(t) { return new (t || NgbDateAdapter)(); };\nNgbDateAdapter.ɵprov = ɵɵdefineInjectable({ factory: NGB_DATEPICKER_DATE_ADAPTER_FACTORY, token: NgbDateAdapter, providedIn: \"root\" });\nlet NgbDateStructAdapter = class NgbDateStructAdapter extends NgbDateAdapter {\n /**\n * Converts a NgbDateStruct value into NgbDateStruct value\n */\n fromModel(date) {\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 * Converts a NgbDateStruct value into NgbDateStruct value\n */\n toModel(date) {\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};\nNgbDateStructAdapter.ɵfac = function NgbDateStructAdapter_Factory(t) { return ɵNgbDateStructAdapter_BaseFactory(t || NgbDateStructAdapter); };\nNgbDateStructAdapter.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbDateStructAdapter, factory: function (t) { return NgbDateStructAdapter.ɵfac(t); } });\n\nconst NGB_DATEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbDatepicker),\n multi: true\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 */\nlet NgbDatepickerContent = class NgbDatepickerContent {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbDatepickerContent.ɵfac = function NgbDatepickerContent_Factory(t) { return new (t || NgbDatepickerContent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbDatepickerContent.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbDatepickerContent, selectors: [[\"ng-template\", \"ngbDatepickerContent\", \"\"]] });\nNgbDatepickerContent.ctorParameters = () => [\n { type: TemplateRef }\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 */\nlet NgbDatepicker = class NgbDatepicker {\n constructor(_service, _calendar, i18n, config, cd, _elementRef, _ngbDateAdapter, _ngZone) {\n this._service = _service;\n this._calendar = _calendar;\n this.i18n = i18n;\n this._elementRef = _elementRef;\n this._ngbDateAdapter = _ngbDateAdapter;\n this._ngZone = _ngZone;\n this._destroyed$ = new Subject();\n this._publicState = {};\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 this.navigate = new EventEmitter();\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 this.dateSelect = new EventEmitter();\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 * @deprecated 6.0.0 Please use 'dateSelect' output instead due to collision with native\n * 'select' event.\n */\n this.select = this.dateSelect;\n this.onChange = (_) => { };\n this.onTouched = () => { };\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\n 'maxDate', 'navigation', 'outsideDays', 'showWeekdays', 'showWeekNumbers', 'startDate']\n .forEach(input => this[input] = config[input]);\n _service.dateSelect$.pipe(takeUntil(this._destroyed$)).subscribe(date => { this.dateSelect.emit(date); });\n _service.model$.pipe(takeUntil(this._destroyed$)).subscribe(model => {\n const newDate = model.firstDate;\n const oldDate = this.model ? this.model.firstDate : null;\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 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 // can't prevent the very first navigation\n if (navigationPrevented && oldDate !== null) {\n this._service.open(oldDate);\n return;\n }\n }\n const newSelectedDate = model.selectedDate;\n const newFocusedDate = model.focusDate;\n const oldFocusedDate = this.model ? this.model.focusDate : null;\n this.model = model;\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 // handling focus change\n if (isChangedDate(newFocusedDate, oldFocusedDate) && oldFocusedDate && model.focusVisible) {\n this.focus();\n }\n cd.markForCheck();\n });\n }\n /**\n * Returns the readonly public state of the datepicker\n *\n * @since 5.2.0\n */\n get state() { return this._publicState; }\n /**\n * Returns the calendar service used in the specific datepicker instance.\n *\n * @since 5.3.0\n */\n get calendar() { return this._calendar; }\n /**\n * Focuses on given date.\n */\n focusDate(date) { this._service.focus(NgbDate.from(date)); }\n /**\n * Selects focused date.\n */\n focusSelect() { this._service.focusSelect(); }\n focus() {\n this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n const elementToFocus = this._elementRef.nativeElement.querySelector('div.ngb-dp-day[tabindex=\"0\"]');\n if (elementToFocus) {\n elementToFocus.focus();\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) {\n this._service.open(NgbDate.from(date ? date.day ? date : Object.assign(Object.assign({}, date), { day: 1 }) : null));\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 // 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(filter(({ target, relatedTarget }) => !(hasClassName(target, 'ngb-dp-day') && hasClassName(relatedTarget, 'ngb-dp-day') &&\n nativeElement.contains(target) && nativeElement.contains(relatedTarget))), takeUntil(this._destroyed$))\n .subscribe(({ type }) => this._ngZone.run(() => this._service.set({ focusVisible: type === 'focusin' })));\n });\n }\n ngOnDestroy() { this._destroyed$.next(); }\n ngOnInit() {\n if (this.model === undefined) {\n const inputs = {};\n ['dayTemplateData', 'displayMonths', 'markDisabled', 'firstDayOfWeek', 'navigation', 'minDate', 'maxDate',\n 'outsideDays']\n .forEach(name => inputs[name] = this[name]);\n this._service.set(inputs);\n this.navigateTo(this.startDate);\n }\n if (!this.dayTemplate) {\n this.dayTemplate = this._defaultDayTemplate;\n }\n }\n ngOnChanges(changes) {\n const inputs = {};\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 if ('startDate' in changes) {\n const { currentValue, previousValue } = changes.startDate;\n if (isChangedMonth(previousValue, currentValue)) {\n this.navigateTo(this.startDate);\n }\n }\n }\n onDateSelect(date) {\n this._service.focus(date);\n this._service.select(date, { emitEvent: true });\n }\n onNavigateDateSelect(date) { this._service.open(date); }\n onNavigateEvent(event) {\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 registerOnChange(fn) { this.onChange = fn; }\n registerOnTouched(fn) { this.onTouched = fn; }\n setDisabledState(disabled) { this._service.set({ disabled }); }\n writeValue(value) {\n this._controlValue = NgbDate.from(this._ngbDateAdapter.fromModel(value));\n this._service.select(this._controlValue);\n }\n};\nNgbDatepicker.ɵfac = function NgbDatepicker_Factory(t) { return new (t || NgbDatepicker)(ɵngcc0.ɵɵdirectiveInject(NgbDatepickerService), ɵngcc0.ɵɵdirectiveInject(NgbCalendar), ɵngcc0.ɵɵdirectiveInject(NgbDatepickerI18n), ɵngcc0.ɵɵdirectiveInject(NgbDatepickerConfig), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(NgbDateAdapter), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nNgbDatepicker.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbDatepicker, selectors: [[\"ngb-datepicker\"]], contentQueries: function NgbDatepicker_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵstaticContentQuery(dirIndex, NgbDatepickerContent, true);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.contentTemplate = _t.first);\n } }, viewQuery: function NgbDatepicker_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵstaticViewQuery(_c10, true);\n ɵngcc0.ɵɵstaticViewQuery(_c11, true);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._defaultDayTemplate = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._contentEl = _t.first);\n } }, inputs: { dayTemplate: \"dayTemplate\", dayTemplateData: \"dayTemplateData\", displayMonths: \"displayMonths\", firstDayOfWeek: \"firstDayOfWeek\", footerTemplate: \"footerTemplate\", markDisabled: \"markDisabled\", maxDate: \"maxDate\", minDate: \"minDate\", navigation: \"navigation\", outsideDays: \"outsideDays\", showWeekdays: \"showWeekdays\", showWeekNumbers: \"showWeekNumbers\", startDate: \"startDate\" }, outputs: { navigate: \"navigate\", dateSelect: \"dateSelect\", select: \"select\" }, exportAs: [\"ngbDatepicker\"], features: [ɵngcc0.ɵɵProvidersFeature([NGB_DATEPICKER_VALUE_ACCESSOR, NgbDatepickerService]), ɵngcc0.ɵɵNgOnChangesFeature], decls: 20, vars: 5, consts: [[\"defaultDayTemplate\", \"\"], [\"defaultContentTemplate\", \"\"], [1, \"ngb-dp-header\"], [3, \"date\", \"months\", \"disabled\", \"showSelect\", \"prevDisabled\", \"nextDisabled\", \"selectBoxes\", \"navigate\", \"select\", 4, \"ngIf\"], [1, \"ngb-dp-content\"], [\"content\", \"\"], [3, \"ngTemplateOutlet\"], [\"ngbDatepickerDayView\", \"\", 3, \"date\", \"currentMonth\", \"selected\", \"disabled\", \"focused\"], [\"class\", \"ngb-dp-month\", 4, \"ngFor\", \"ngForOf\"], [1, \"ngb-dp-month\"], [\"class\", \"ngb-dp-month-name\", 4, \"ngIf\"], [3, \"month\"], [1, \"ngb-dp-month-name\"], [3, \"date\", \"months\", \"disabled\", \"showSelect\", \"prevDisabled\", \"nextDisabled\", \"selectBoxes\", \"navigate\", \"select\"]], template: function NgbDatepicker_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbDatepicker_ng_template_1_Template, 4, 5, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(3, \"\\n\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbDatepicker_ng_template_4_Template, 3, 1, \"ng-template\", null, 1, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(6, \"\\n\\n \");\n ɵngcc0.ɵɵelementStart(7, \"div\", 2);\n ɵngcc0.ɵɵtext(8, \"\\n \");\n ɵngcc0.ɵɵtemplate(9, NgbDatepicker_ngb_datepicker_navigation_9_Template, 2, 7, \"ngb-datepicker-navigation\", 3);\n ɵngcc0.ɵɵtext(10, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(11, \"\\n\\n \");\n ɵngcc0.ɵɵelementStart(12, \"div\", 4, 5);\n ɵngcc0.ɵɵtext(14, \"\\n \");\n ɵngcc0.ɵɵtemplate(15, NgbDatepicker_ng_template_15_Template, 0, 0, \"ng-template\", 6);\n ɵngcc0.ɵɵtext(16, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(17, \"\\n\\n \");\n ɵngcc0.ɵɵtemplate(18, NgbDatepicker_ng_template_18_Template, 0, 0, \"ng-template\", 6);\n ɵngcc0.ɵɵtext(19, \"\\n \");\n } if (rf & 2) {\n const _r2 = ɵngcc0.ɵɵreference(5);\n ɵngcc0.ɵɵadvance(9);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.navigation !== \"none\");\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵclassProp(\"ngb-dp-months\", !ctx.contentTemplate);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", (ctx.contentTemplate == null ? null : ctx.contentTemplate.templateRef) || _r2);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngTemplateOutlet\", ctx.footerTemplate);\n } }, directives: function () { return [ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet, NgbDatepickerDayView, ɵngcc1.NgForOf, NgbDatepickerMonth, NgbDatepickerNavigation]; }, styles: [\"ngb-datepicker{border:1px solid #dfdfdf;border-radius:.25rem;display:inline-block}ngb-datepicker-month{pointer-events:auto}ngb-datepicker.dropdown-menu{padding:0}.ngb-dp-body{z-index:1050}.ngb-dp-header{border-bottom:0;border-radius:.25rem .25rem 0 0;padding-top:.25rem;background-color:#f8f9fa;background-color:var(--light)}.ngb-dp-months{display:-ms-flexbox;display:flex}.ngb-dp-month{pointer-events:none}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center;background-color:#f8f9fa;background-color:var(--light)}.ngb-dp-month+.ngb-dp-month .ngb-dp-month-name,.ngb-dp-month+.ngb-dp-month .ngb-dp-week{padding-left:1rem}.ngb-dp-month:last-child .ngb-dp-week{padding-right:.25rem}.ngb-dp-month:first-child .ngb-dp-week{padding-left:.25rem}.ngb-dp-month .ngb-dp-week:last-child{padding-bottom:.25rem}\"], encapsulation: 2, changeDetection: 0 });\nNgbDatepicker.ctorParameters = () => [\n { type: NgbDatepickerService },\n { type: NgbCalendar },\n { type: NgbDatepickerI18n },\n { type: NgbDatepickerConfig },\n { type: ChangeDetectorRef },\n { type: ElementRef },\n { type: NgbDateAdapter },\n { type: NgZone }\n];\n__decorate([\n ViewChild('defaultDayTemplate', { static: true })\n], NgbDatepicker.prototype, \"_defaultDayTemplate\", void 0);\n__decorate([\n ViewChild('content', { static: true })\n], NgbDatepicker.prototype, \"_contentEl\", void 0);\n__decorate([\n ContentChild(NgbDatepickerContent, { static: true })\n], NgbDatepicker.prototype, \"contentTemplate\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"dayTemplate\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"dayTemplateData\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"displayMonths\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"firstDayOfWeek\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"footerTemplate\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"markDisabled\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"maxDate\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"minDate\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"navigation\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"outsideDays\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"showWeekdays\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"showWeekNumbers\", void 0);\n__decorate([\n Input()\n], NgbDatepicker.prototype, \"startDate\", void 0);\n__decorate([\n Output()\n], NgbDatepicker.prototype, \"navigate\", void 0);\n__decorate([\n Output()\n], NgbDatepicker.prototype, \"dateSelect\", void 0);\n__decorate([\n Output()\n], NgbDatepicker.prototype, \"select\", void 0);\n\nvar Key;\n(function (Key) {\n Key[Key[\"Tab\"] = 9] = \"Tab\";\n Key[Key[\"Enter\"] = 13] = \"Enter\";\n Key[Key[\"Escape\"] = 27] = \"Escape\";\n Key[Key[\"Space\"] = 32] = \"Space\";\n Key[Key[\"PageUp\"] = 33] = \"PageUp\";\n Key[Key[\"PageDown\"] = 34] = \"PageDown\";\n Key[Key[\"End\"] = 35] = \"End\";\n Key[Key[\"Home\"] = 36] = \"Home\";\n Key[Key[\"ArrowLeft\"] = 37] = \"ArrowLeft\";\n Key[Key[\"ArrowUp\"] = 38] = \"ArrowUp\";\n Key[Key[\"ArrowRight\"] = 39] = \"ArrowRight\";\n Key[Key[\"ArrowDown\"] = 40] = \"ArrowDown\";\n})(Key || (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 */\nlet NgbDatepickerKeyboardService = class NgbDatepickerKeyboardService {\n /**\n * Processes a keyboard event.\n */\n processKey(event, datepicker) {\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};\nNgbDatepickerKeyboardService.ɵfac = function NgbDatepickerKeyboardService_Factory(t) { return new (t || NgbDatepickerKeyboardService)(); };\nNgbDatepickerKeyboardService.ɵprov = ɵɵdefineInjectable({ factory: function NgbDatepickerKeyboardService_Factory() { return new NgbDatepickerKeyboardService(); }, token: NgbDatepickerKeyboardService, providedIn: \"root\" });\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 */\nlet NgbDatepickerMonth = class NgbDatepickerMonth {\n constructor(i18n, datepicker, _keyboardService, _service) {\n this.i18n = i18n;\n this.datepicker = datepicker;\n this._keyboardService = _keyboardService;\n this._service = _service;\n }\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 set month(month) {\n this.viewModel = this._service.getMonth(month);\n }\n onKeyDown(event) { this._keyboardService.processKey(event, this.datepicker); }\n doSelect(day) {\n if (!day.context.disabled && !day.hidden) {\n this.datepicker.onDateSelect(day.date);\n }\n }\n};\nNgbDatepickerMonth.ɵfac = function NgbDatepickerMonth_Factory(t) { return new (t || NgbDatepickerMonth)(ɵngcc0.ɵɵdirectiveInject(NgbDatepickerI18n), ɵngcc0.ɵɵdirectiveInject(NgbDatepicker), ɵngcc0.ɵɵdirectiveInject(NgbDatepickerKeyboardService), ɵngcc0.ɵɵdirectiveInject(NgbDatepickerService)); };\nNgbDatepickerMonth.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbDatepickerMonth, selectors: [[\"ngb-datepicker-month\"]], hostAttrs: [\"role\", \"grid\"], hostBindings: function NgbDatepickerMonth_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"keydown\", function NgbDatepickerMonth_keydown_HostBindingHandler($event) { return ctx.onKeyDown($event); });\n } }, inputs: { month: \"month\" }, decls: 5, vars: 2, consts: [[\"class\", \"ngb-dp-week ngb-dp-weekdays\", \"role\", \"row\", 4, \"ngIf\"], [\"ngFor\", \"\", 3, \"ngForOf\"], [\"role\", \"row\", 1, \"ngb-dp-week\", \"ngb-dp-weekdays\"], [\"class\", \"ngb-dp-weekday ngb-dp-showweek\", 4, \"ngIf\"], [\"class\", \"ngb-dp-weekday small\", \"role\", \"columnheader\", 4, \"ngFor\", \"ngForOf\"], [1, \"ngb-dp-weekday\", \"ngb-dp-showweek\"], [\"role\", \"columnheader\", 1, \"ngb-dp-weekday\", \"small\"], [\"class\", \"ngb-dp-week\", \"role\", \"row\", 4, \"ngIf\"], [\"role\", \"row\", 1, \"ngb-dp-week\"], [\"class\", \"ngb-dp-week-number small text-muted\", 4, \"ngIf\"], [\"class\", \"ngb-dp-day\", \"role\", \"gridcell\", 3, \"disabled\", \"tabindex\", \"hidden\", \"ngb-dp-today\", \"click\", 4, \"ngFor\", \"ngForOf\"], [1, \"ngb-dp-week-number\", \"small\", \"text-muted\"], [\"role\", \"gridcell\", 1, \"ngb-dp-day\", 3, \"tabindex\", \"click\"], [3, \"ngIf\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]], template: function NgbDatepickerMonth_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbDatepickerMonth_div_1_Template, 6, 2, \"div\", 0);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵtemplate(3, NgbDatepickerMonth_ng_template_3_Template, 3, 1, \"ng-template\", 1);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.datepicker.showWeekdays);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.viewModel.weeks);\n } }, directives: [ɵngcc1.NgIf, ɵngcc1.NgForOf, ɵngcc1.NgTemplateOutlet], styles: [\"ngb-datepicker-month{display:block}.ngb-dp-week-number,.ngb-dp-weekday{line-height:2rem;text-align:center;font-style:italic}.ngb-dp-weekday{color:#5bc0de;color:var(--info)}.ngb-dp-week{border-radius:.25rem;display:-ms-flexbox;display:flex}.ngb-dp-weekdays{border-bottom:1px solid rgba(0,0,0,.125);border-radius:0;background-color:#f8f9fa;background-color:var(--light)}.ngb-dp-day,.ngb-dp-week-number,.ngb-dp-weekday{width:2rem;height:2rem}.ngb-dp-day{cursor:pointer}.ngb-dp-day.disabled,.ngb-dp-day.hidden{cursor:default}.ngb-dp-day[tabindex=\\\"0\\\"]{z-index:1}\"], encapsulation: 2 });\nNgbDatepickerMonth.ctorParameters = () => [\n { type: NgbDatepickerI18n },\n { type: NgbDatepicker },\n { type: NgbDatepickerKeyboardService },\n { type: NgbDatepickerService }\n];\n__decorate([\n Input()\n], NgbDatepickerMonth.prototype, \"month\", null);\n\nlet NgbDatepickerNavigation = class NgbDatepickerNavigation {\n constructor(i18n) {\n this.i18n = i18n;\n this.navigation = NavigationEvent;\n this.months = [];\n this.navigate = new EventEmitter();\n this.select = new EventEmitter();\n }\n onClickPrev(event) {\n event.currentTarget.focus();\n this.navigate.emit(this.navigation.PREV);\n }\n onClickNext(event) {\n event.currentTarget.focus();\n this.navigate.emit(this.navigation.NEXT);\n }\n};\nNgbDatepickerNavigation.ɵfac = function NgbDatepickerNavigation_Factory(t) { return new (t || NgbDatepickerNavigation)(ɵngcc0.ɵɵdirectiveInject(NgbDatepickerI18n)); };\nNgbDatepickerNavigation.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbDatepickerNavigation, selectors: [[\"ngb-datepicker-navigation\"]], inputs: { months: \"months\", date: \"date\", disabled: \"disabled\", showSelect: \"showSelect\", prevDisabled: \"prevDisabled\", nextDisabled: \"nextDisabled\", selectBoxes: \"selectBoxes\" }, outputs: { navigate: \"navigate\", select: \"select\" }, decls: 21, vars: 4, consts: function () { let i18n_12; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_datepicker_previous_month$$FESM2015_NG_BOOTSTRAP_JS_13 = goog.getMsg(\"Previous month\");\n i18n_12 = MSG_EXTERNAL_ngb_datepicker_previous_month$$FESM2015_NG_BOOTSTRAP_JS_13;\n }\n else {\n i18n_12 = $localize `:@@ngb.datepicker.previous-month␟c3b08b07b5ab98e7cdcf18df39355690ab7d3884␟8586908745456864217:Previous month`;\n } let i18n_14; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_datepicker_previous_month$$FESM2015_NG_BOOTSTRAP_JS_15 = goog.getMsg(\"Previous month\");\n i18n_14 = MSG_EXTERNAL_ngb_datepicker_previous_month$$FESM2015_NG_BOOTSTRAP_JS_15;\n }\n else {\n i18n_14 = $localize `:@@ngb.datepicker.previous-month␟c3b08b07b5ab98e7cdcf18df39355690ab7d3884␟8586908745456864217:Previous month`;\n } let i18n_16; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_datepicker_next_month$$FESM2015_NG_BOOTSTRAP_JS_17 = goog.getMsg(\"Next month\");\n i18n_16 = MSG_EXTERNAL_ngb_datepicker_next_month$$FESM2015_NG_BOOTSTRAP_JS_17;\n }\n else {\n i18n_16 = $localize `:@@ngb.datepicker.next-month␟4bd046985cfe13040d5ef0cd881edce0968a111a␟3628374603023447227:Next month`;\n } let i18n_18; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_datepicker_next_month$$FESM2015_NG_BOOTSTRAP_JS_19 = goog.getMsg(\"Next month\");\n i18n_18 = MSG_EXTERNAL_ngb_datepicker_next_month$$FESM2015_NG_BOOTSTRAP_JS_19;\n }\n else {\n i18n_18 = $localize `:@@ngb.datepicker.next-month␟4bd046985cfe13040d5ef0cd881edce0968a111a␟3628374603023447227:Next month`;\n } return [[1, \"ngb-dp-arrow\"], [\"type\", \"button\", \"aria-label\", i18n_12, \"title\", i18n_14, 1, \"btn\", \"btn-link\", \"ngb-dp-arrow-btn\", 3, \"disabled\", \"click\"], [1, \"ngb-dp-navigation-chevron\"], [\"class\", \"ngb-dp-navigation-select\", 3, \"date\", \"disabled\", \"months\", \"years\", \"select\", 4, \"ngIf\"], [4, \"ngIf\"], [1, \"ngb-dp-arrow\", \"right\"], [\"type\", \"button\", \"aria-label\", i18n_16, \"title\", i18n_18, 1, \"btn\", \"btn-link\", \"ngb-dp-arrow-btn\", 3, \"disabled\", \"click\"], [1, \"ngb-dp-navigation-select\", 3, \"date\", \"disabled\", \"months\", \"years\", \"select\"], [\"ngFor\", \"\", 3, \"ngForOf\"], [\"class\", \"ngb-dp-arrow\", 4, \"ngIf\"], [1, \"ngb-dp-month-name\"]]; }, template: function NgbDatepickerNavigation_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"div\", 0);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵelementStart(3, \"button\", 1);\n ɵngcc0.ɵɵlistener(\"click\", function NgbDatepickerNavigation_Template_button_click_3_listener($event) { return ctx.onClickPrev($event); });\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵelement(5, \"span\", 2);\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(7, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(8, \"\\n \");\n ɵngcc0.ɵɵtemplate(9, NgbDatepickerNavigation_ngb_datepicker_navigation_select_9_Template, 2, 4, \"ngb-datepicker-navigation-select\", 3);\n ɵngcc0.ɵɵtext(10, \"\\n\\n \");\n ɵngcc0.ɵɵtemplate(11, NgbDatepickerNavigation_11_Template, 1, 1, undefined, 4);\n ɵngcc0.ɵɵtext(12, \"\\n \");\n ɵngcc0.ɵɵelementStart(13, \"div\", 5);\n ɵngcc0.ɵɵtext(14, \"\\n \");\n ɵngcc0.ɵɵelementStart(15, \"button\", 6);\n ɵngcc0.ɵɵlistener(\"click\", function NgbDatepickerNavigation_Template_button_click_15_listener($event) { return ctx.onClickNext($event); });\n ɵngcc0.ɵɵtext(16, \"\\n \");\n ɵngcc0.ɵɵelement(17, \"span\", 2);\n ɵngcc0.ɵɵtext(18, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(19, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(20, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"disabled\", ctx.prevDisabled);\n ɵngcc0.ɵɵadvance(6);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showSelect);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", !ctx.showSelect);\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵproperty(\"disabled\", ctx.nextDisabled);\n } }, directives: function () { return [ɵngcc1.NgIf, NgbDatepickerNavigationSelect, ɵngcc1.NgForOf]; }, styles: [\"ngb-datepicker-navigation{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.ngb-dp-navigation-chevron{border-style:solid;border-width:.2em .2em 0 0;display:inline-block;width:.75em;height:.75em;margin-left:.25em;margin-right:.15em;-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.right .ngb-dp-navigation-chevron{-webkit-transform:rotate(45deg);transform:rotate(45deg);margin-left:.15em;margin-right:.25em}.ngb-dp-arrow{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;padding-right:0;padding-left:0;margin:0;width:2rem;height:2rem}.ngb-dp-arrow.right{-ms-flex-pack:end;justify-content:flex-end}.ngb-dp-arrow-btn{padding:0 .25rem;margin:0 .5rem;border:none;background-color:transparent;z-index:1}.ngb-dp-arrow-btn:focus{outline-width:1px;outline-style:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.ngb-dp-arrow-btn:focus{outline-style:solid}}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center}.ngb-dp-navigation-select{display:-ms-flexbox;display:flex;-ms-flex:1 1 9rem;flex:1 1 9rem}\"], encapsulation: 2, changeDetection: 0 });\nNgbDatepickerNavigation.ctorParameters = () => [\n { type: NgbDatepickerI18n }\n];\n__decorate([\n Input()\n], NgbDatepickerNavigation.prototype, \"date\", void 0);\n__decorate([\n Input()\n], NgbDatepickerNavigation.prototype, \"disabled\", void 0);\n__decorate([\n Input()\n], NgbDatepickerNavigation.prototype, \"months\", void 0);\n__decorate([\n Input()\n], NgbDatepickerNavigation.prototype, \"showSelect\", void 0);\n__decorate([\n Input()\n], NgbDatepickerNavigation.prototype, \"prevDisabled\", void 0);\n__decorate([\n Input()\n], NgbDatepickerNavigation.prototype, \"nextDisabled\", void 0);\n__decorate([\n Input()\n], NgbDatepickerNavigation.prototype, \"selectBoxes\", void 0);\n__decorate([\n Output()\n], NgbDatepickerNavigation.prototype, \"navigate\", void 0);\n__decorate([\n Output()\n], NgbDatepickerNavigation.prototype, \"select\", void 0);\n\nconst isContainedIn = (element, array) => array ? array.some(item => item.contains(element)) : false;\nconst ɵ0 = isContainedIn;\nconst matchesSelectorIfAny = (element, selector) => !selector || closest(element, selector) != null;\nconst ɵ1 = matchesSelectorIfAny;\nconst ɵ2 = () => {\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 return typeof navigator !== 'undefined' ? !!navigator.userAgent && (isIOS() || isAndroid()) : false;\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 = (ɵ2)();\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;\nconst ɵ3 = wrapAsyncForMobile;\nfunction ngbAutoClose(zone, document, type, close, closed$, insideElements, ignoreElements, insideSelector) {\n // closing on ESC and outside clicks\n if (type) {\n zone.runOutsideAngular(wrapAsyncForMobile(() => {\n const shouldCloseOnClick = (event) => {\n const element = event.target;\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 }\n else if (type === 'outside') {\n return !isContainedIn(element, insideElements);\n }\n else /* if (type === true) */ {\n return matchesSelectorIfAny(element, insideSelector) || !isContainedIn(element, insideElements);\n }\n };\n const escapes$ = fromEvent(document, 'keydown')\n .pipe(takeUntil(closed$), \n // tslint:disable-next-line:deprecation\n filter(e => e.which === Key.Escape), tap(e => e.preventDefault()));\n // we have to pre-calculate 'shouldCloseOnClick' on 'mousedown',\n // because on 'mouseup' DOM nodes might be detached\n const mouseDowns$ = fromEvent(document, 'mousedown').pipe(map(shouldCloseOnClick), takeUntil(closed$));\n const closeableClicks$ = fromEvent(document, 'mouseup')\n .pipe(withLatestFrom(mouseDowns$), filter(([_, shouldClose]) => shouldClose), delay(0), takeUntil(closed$));\n race([escapes$, closeableClicks$]).subscribe(() => zone.run(close));\n }));\n }\n}\n\nconst 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 * Returns first and last focusable elements inside of a given element based on specific CSS selector\n */\nfunction getFocusableBoundaryElements(element) {\n const list = Array.from(element.querySelectorAll(FOCUSABLE_ELEMENTS_SELECTOR))\n .filter(el => el.tabIndex !== -1);\n return [list[0], list[list.length - 1]];\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 */\nconst ngbFocusTrap = (zone, element, stopFocusTrap$, refocusOnClick = false) => {\n zone.runOutsideAngular(() => {\n // last focused element\n const lastFocusedElement$ = fromEvent(element, 'focusin').pipe(takeUntil(stopFocusTrap$), map(e => e.target));\n // 'tab' / 'shift+tab' stream\n fromEvent(element, 'keydown')\n .pipe(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 if ((focusedElement === first || focusedElement === element) && tabEvent.shiftKey) {\n last.focus();\n tabEvent.preventDefault();\n }\n if (focusedElement === last && !tabEvent.shiftKey) {\n first.focus();\n tabEvent.preventDefault();\n }\n });\n // inside click\n if (refocusOnClick) {\n fromEvent(element, 'click')\n .pipe(takeUntil(stopFocusTrap$), withLatestFrom(lastFocusedElement$), map(arr => arr[1]))\n .subscribe(lastFocusedElement => lastFocusedElement.focus());\n }\n });\n};\n\n// previous version:\n// https://github.com/angular-ui/bootstrap/blob/07c31d0731f7cb068a1932b8e01d2312b796b4ec/src/position/position.js\nclass Positioning {\n getAllStyles(element) { return window.getComputedStyle(element); }\n getStyle(element, prop) { return this.getAllStyles(element)[prop]; }\n isStaticPositioned(element) {\n return (this.getStyle(element, 'position') || 'static') === 'static';\n }\n offsetParent(element) {\n let offsetParentEl = element.offsetParent || document.documentElement;\n while (offsetParentEl && offsetParentEl !== document.documentElement && this.isStaticPositioned(offsetParentEl)) {\n offsetParentEl = offsetParentEl.offsetParent;\n }\n return offsetParentEl || document.documentElement;\n }\n position(element, round = true) {\n let elPosition;\n let parentOffset = { width: 0, height: 0, top: 0, bottom: 0, left: 0, right: 0 };\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 }\n else {\n const offsetParentEl = this.offsetParent(element);\n elPosition = this.offset(element, false);\n if (offsetParentEl !== document.documentElement) {\n parentOffset = this.offset(offsetParentEl, false);\n }\n parentOffset.top += offsetParentEl.clientTop;\n parentOffset.left += offsetParentEl.clientLeft;\n }\n elPosition.top -= parentOffset.top;\n elPosition.bottom -= parentOffset.top;\n elPosition.left -= parentOffset.left;\n elPosition.right -= parentOffset.left;\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 return elPosition;\n }\n offset(element, round = true) {\n const elBcr = element.getBoundingClientRect();\n const viewportOffset = {\n top: window.pageYOffset - document.documentElement.clientTop,\n left: window.pageXOffset - document.documentElement.clientLeft\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 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 return elOffset;\n }\n /*\n Return false if the element to position is outside the viewport\n */\n positionElements(hostElement, targetElement, placement, appendToBody) {\n const [placementPrimary = 'top', placementSecondary = 'center'] = placement.split('-');\n const hostElPosition = appendToBody ? this.offset(hostElement, false) : this.position(hostElement, false);\n const targetElStyles = this.getAllStyles(targetElement);\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 let topPosition = 0;\n let leftPosition = 0;\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 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 }\n else {\n topPosition = (hostElPosition.top + hostElPosition.height / 2 - targetElement.offsetHeight / 2);\n }\n break;\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 // 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 return targetElBCR.left >= 0 && targetElBCR.top >= 0 && targetElBCR.right <= windowWidth &&\n targetElBCR.bottom <= windowHeight;\n }\n}\nconst placementSeparator = /\\s+/;\nconst positionService = new Positioning();\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 * */\nfunction positionElements(hostElement, targetElement, placement, appendToBody, baseClass) {\n let placementVals = Array.isArray(placement) ? placement : placement.split(placementSeparator);\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 const classList = targetElement.classList;\n const addClassesToTarget = (targetPlacement) => {\n const [primary, secondary] = targetPlacement.split('-');\n const classes = [];\n if (baseClass) {\n classes.push(`${baseClass}-${primary}`);\n if (secondary) {\n classes.push(`${baseClass}-${primary}-${secondary}`);\n }\n classes.forEach((classname) => { classList.add(classname); });\n }\n return classes;\n };\n // Remove old placement classes to avoid issues\n if (baseClass) {\n allowedPlacements.forEach((placementToRemove) => { classList.remove(`${baseClass}-${placementToRemove}`); });\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);\n }\n });\n }\n // coordinates where to position\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 let testPlacement;\n let isInViewport = false;\n for (testPlacement of placementVals) {\n let addedClasses = addClassesToTarget(testPlacement);\n if (positionService.positionElements(hostElement, targetElement, testPlacement, appendToBody)) {\n isInViewport = true;\n break;\n }\n // Remove the baseClasses for further calculation\n if (baseClass) {\n addedClasses.forEach((classname) => { classList.remove(classname); });\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 return testPlacement;\n}\n\nfunction NGB_DATEPICKER_PARSER_FORMATTER_FACTORY() {\n return new NgbDateISOParserFormatter();\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 */\nlet NgbDateParserFormatter = class NgbDateParserFormatter {\n};\nNgbDateParserFormatter.ɵfac = function NgbDateParserFormatter_Factory(t) { return new (t || NgbDateParserFormatter)(); };\nNgbDateParserFormatter.ɵprov = ɵɵdefineInjectable({ factory: NGB_DATEPICKER_PARSER_FORMATTER_FACTORY, token: NgbDateParserFormatter, providedIn: \"root\" });\nlet NgbDateISOParserFormatter = class NgbDateISOParserFormatter extends NgbDateParserFormatter {\n parse(value) {\n if (value) {\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 }\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 }\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 format(date) {\n return date ?\n `${date.year}-${isNumber(date.month) ? padNumber(date.month) : ''}-${isNumber(date.day) ? padNumber(date.day) : ''}` :\n '';\n }\n};\nNgbDateISOParserFormatter.ɵfac = function NgbDateISOParserFormatter_Factory(t) { return ɵNgbDateISOParserFormatter_BaseFactory(t || NgbDateISOParserFormatter); };\nNgbDateISOParserFormatter.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbDateISOParserFormatter, factory: function (t) { return NgbDateISOParserFormatter.ɵfac(t); } });\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 */\nlet NgbInputDatepickerConfig = class NgbInputDatepickerConfig extends NgbDatepickerConfig {\n constructor() {\n super(...arguments);\n this.autoClose = true;\n this.placement = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n this.restoreFocus = true;\n }\n};\nNgbInputDatepickerConfig.ɵfac = function NgbInputDatepickerConfig_Factory(t) { return ɵNgbInputDatepickerConfig_BaseFactory(t || NgbInputDatepickerConfig); };\nNgbInputDatepickerConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbInputDatepickerConfig_Factory() { return new NgbInputDatepickerConfig(); }, token: NgbInputDatepickerConfig, providedIn: \"root\" });\n\nconst NGB_DATEPICKER_VALUE_ACCESSOR$1 = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbInputDatepicker),\n multi: true\n};\nconst NGB_DATEPICKER_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => NgbInputDatepicker),\n multi: true\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 */\nlet NgbInputDatepicker = class NgbInputDatepicker {\n constructor(_parserFormatter, _elRef, _vcRef, _renderer, _cfr, _ngZone, _calendar, _dateAdapter, _document, _changeDetector, config) {\n this._parserFormatter = _parserFormatter;\n this._elRef = _elRef;\n this._vcRef = _vcRef;\n this._renderer = _renderer;\n this._cfr = _cfr;\n this._ngZone = _ngZone;\n this._calendar = _calendar;\n this._dateAdapter = _dateAdapter;\n this._document = _document;\n this._changeDetector = _changeDetector;\n this._cRef = null;\n this._disabled = false;\n this._elWithFocus = null;\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 this.dateSelect = new EventEmitter();\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 this.navigate = new EventEmitter();\n /**\n * An event fired after closing datepicker window.\n *\n * @since 4.2.0\n */\n this.closed = new EventEmitter();\n this._onChange = (_) => { };\n this._onTouched = () => { };\n this._validatorChange = () => { };\n ['autoClose', 'container', 'positionTarget', 'placement'].forEach(input => this[input] = config[input]);\n this._zoneSubscription = _ngZone.onStable.subscribe(() => this._updatePopupPosition());\n }\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = value === '' || (value && value !== 'false');\n if (this.isOpen()) {\n this._cRef.instance.setDisabledState(this._disabled);\n }\n }\n registerOnChange(fn) { this._onChange = fn; }\n registerOnTouched(fn) { this._onTouched = fn; }\n registerOnValidatorChange(fn) { this._validatorChange = fn; }\n setDisabledState(isDisabled) { this.disabled = isDisabled; }\n validate(c) {\n const { value } = c;\n if (value === null || value === undefined) {\n return null;\n }\n const ngbDate = this._fromDateStruct(this._dateAdapter.fromModel(value));\n if (!this._calendar.isValid(ngbDate)) {\n return { 'ngbDate': { invalid: value } };\n }\n if (this.minDate && ngbDate.before(NgbDate.from(this.minDate))) {\n return { 'ngbDate': { minDate: { minDate: this.minDate, actual: value } } };\n }\n if (this.maxDate && ngbDate.after(NgbDate.from(this.maxDate))) {\n return { 'ngbDate': { maxDate: { maxDate: this.maxDate, actual: value } } };\n }\n }\n writeValue(value) {\n this._model = this._fromDateStruct(this._dateAdapter.fromModel(value));\n this._writeModelValue(this._model);\n }\n manualDateChange(value, 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 isOpen() { return !!this._cRef; }\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 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 // date selection event handling\n this._cRef.instance.registerOnChange((selectedDate) => {\n this.writeValue(selectedDate);\n this._onChange(selectedDate);\n this._onTouched();\n });\n this._cRef.changeDetectorRef.detectChanges();\n this._cRef.instance.setDisabledState(this.disabled);\n if (this.container === 'body') {\n window.document.querySelector(this.container).appendChild(this._cRef.location.nativeElement);\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 ngbAutoClose(this._ngZone, this._document, this.autoClose, () => this.close(), this.closed, [], [this._elRef.nativeElement, this._cRef.location.nativeElement]);\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 // restore focus\n let elementToFocus = this._elWithFocus;\n if (isString(this.restoreFocus)) {\n elementToFocus = this._document.querySelector(this.restoreFocus);\n }\n else if (this.restoreFocus !== undefined) {\n elementToFocus = this.restoreFocus;\n }\n // in IE document.activeElement can contain an object without 'focus()' sometimes\n if (elementToFocus && elementToFocus['focus']) {\n elementToFocus.focus();\n }\n else {\n this._document.body.focus();\n }\n }\n }\n /**\n * Toggles the datepicker popup.\n */\n toggle() {\n if (this.isOpen()) {\n this.close();\n }\n else {\n this.open();\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) {\n if (this.isOpen()) {\n this._cRef.instance.navigateTo(date);\n }\n }\n onBlur() { this._onTouched(); }\n onFocus() { this._elWithFocus = this._elRef.nativeElement; }\n ngOnChanges(changes) {\n if (changes['minDate'] || changes['maxDate']) {\n this._validatorChange();\n if (this.isOpen()) {\n if (changes['minDate']) {\n this._cRef.instance.minDate = this._dateAdapter.toModel(changes.minDate.currentValue);\n }\n if (changes['maxDate']) {\n this._cRef.instance.maxDate = this._dateAdapter.toModel(changes.maxDate.currentValue);\n }\n this._cRef.instance.ngOnChanges(changes);\n }\n }\n }\n ngOnDestroy() {\n this.close();\n this._zoneSubscription.unsubscribe();\n }\n _applyDatepickerInputs(datepickerInstance) {\n ['dayTemplate', 'dayTemplateData', 'displayMonths', 'firstDayOfWeek', 'footerTemplate', 'markDisabled', 'minDate',\n 'maxDate', 'navigation', 'outsideDays', 'showNavigation', 'showWeekdays', 'showWeekNumbers']\n .forEach((optionName) => {\n if (this[optionName] !== undefined) {\n datepickerInstance[optionName] = this[optionName];\n }\n });\n datepickerInstance.startDate = this.startDate || this._model;\n }\n _applyPopupStyling(nativeElement) {\n this._renderer.addClass(nativeElement, 'dropdown-menu');\n this._renderer.addClass(nativeElement, 'show');\n if (this.container === 'body') {\n this._renderer.addClass(nativeElement, 'ngb-dp-body');\n }\n }\n _subscribeForDatepickerOutputs(datepickerInstance) {\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 _writeModelValue(model) {\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 _fromDateStruct(date) {\n const ngbDate = date ? new NgbDate(date.year, date.month, date.day) : null;\n return this._calendar.isValid(ngbDate) ? ngbDate : null;\n }\n _updatePopupPosition() {\n if (!this._cRef) {\n return;\n }\n let hostElement;\n if (isString(this.positionTarget)) {\n hostElement = this._document.querySelector(this.positionTarget);\n }\n else if (this.positionTarget instanceof HTMLElement) {\n hostElement = this.positionTarget;\n }\n else {\n hostElement = this._elRef.nativeElement;\n }\n if (this.positionTarget && !hostElement) {\n throw new Error('ngbDatepicker could not find element declared in [positionTarget] to position against.');\n }\n positionElements(hostElement, this._cRef.location.nativeElement, this.placement, this.container === 'body');\n }\n};\nNgbInputDatepicker.ɵfac = function NgbInputDatepicker_Factory(t) { return new (t || NgbInputDatepicker)(ɵngcc0.ɵɵdirectiveInject(NgbDateParserFormatter), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(NgbCalendar), ɵngcc0.ɵɵdirectiveInject(NgbDateAdapter), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(NgbInputDatepickerConfig)); };\nNgbInputDatepicker.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbInputDatepicker, selectors: [[\"input\", \"ngbDatepicker\", \"\"]], hostVars: 1, hostBindings: function NgbInputDatepicker_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"input\", function NgbInputDatepicker_input_HostBindingHandler($event) { return ctx.manualDateChange($event.target.value); })(\"change\", function NgbInputDatepicker_change_HostBindingHandler($event) { return ctx.manualDateChange($event.target.value, true); })(\"focus\", function NgbInputDatepicker_focus_HostBindingHandler() { return ctx.onFocus(); })(\"blur\", function NgbInputDatepicker_blur_HostBindingHandler() { return ctx.onBlur(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"disabled\", ctx.disabled);\n } }, inputs: { disabled: \"disabled\", autoClose: \"autoClose\", dayTemplate: \"dayTemplate\", dayTemplateData: \"dayTemplateData\", displayMonths: \"displayMonths\", firstDayOfWeek: \"firstDayOfWeek\", footerTemplate: \"footerTemplate\", markDisabled: \"markDisabled\", minDate: \"minDate\", maxDate: \"maxDate\", navigation: \"navigation\", outsideDays: \"outsideDays\", placement: \"placement\", restoreFocus: \"restoreFocus\", showWeekdays: \"showWeekdays\", showWeekNumbers: \"showWeekNumbers\", startDate: \"startDate\", container: \"container\", positionTarget: \"positionTarget\" }, outputs: { dateSelect: \"dateSelect\", navigate: \"navigate\", closed: \"closed\" }, exportAs: [\"ngbDatepicker\"], features: [ɵngcc0.ɵɵProvidersFeature([\n NGB_DATEPICKER_VALUE_ACCESSOR$1, NGB_DATEPICKER_VALIDATOR,\n { provide: NgbDatepickerConfig, useExisting: NgbInputDatepickerConfig }\n ]), ɵngcc0.ɵɵNgOnChangesFeature] });\nNgbInputDatepicker.ctorParameters = () => [\n { type: NgbDateParserFormatter },\n { type: ElementRef },\n { type: ViewContainerRef },\n { type: Renderer2 },\n { type: ComponentFactoryResolver },\n { type: NgZone },\n { type: NgbCalendar },\n { type: NgbDateAdapter },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: ChangeDetectorRef },\n { type: NgbInputDatepickerConfig }\n];\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"autoClose\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"dayTemplate\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"dayTemplateData\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"displayMonths\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"firstDayOfWeek\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"footerTemplate\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"markDisabled\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"minDate\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"maxDate\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"navigation\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"outsideDays\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"placement\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"restoreFocus\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"showWeekdays\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"showWeekNumbers\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"startDate\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"container\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"positionTarget\", void 0);\n__decorate([\n Output()\n], NgbInputDatepicker.prototype, \"dateSelect\", void 0);\n__decorate([\n Output()\n], NgbInputDatepicker.prototype, \"navigate\", void 0);\n__decorate([\n Output()\n], NgbInputDatepicker.prototype, \"closed\", void 0);\n__decorate([\n Input()\n], NgbInputDatepicker.prototype, \"disabled\", null);\nNgbInputDatepicker = __decorate([ __param(8, Inject(DOCUMENT))\n], NgbInputDatepicker);\n\nlet NgbDatepickerDayView = class NgbDatepickerDayView {\n constructor(i18n) {\n this.i18n = i18n;\n }\n isMuted() { return !this.selected && (this.date.month !== this.currentMonth || this.disabled); }\n};\nNgbDatepickerDayView.ɵfac = function NgbDatepickerDayView_Factory(t) { return new (t || NgbDatepickerDayView)(ɵngcc0.ɵɵdirectiveInject(NgbDatepickerI18n)); };\nNgbDatepickerDayView.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbDatepickerDayView, selectors: [[\"\", \"ngbDatepickerDayView\", \"\"]], hostAttrs: [1, \"btn-light\"], hostVars: 10, hostBindings: function NgbDatepickerDayView_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"bg-primary\", ctx.selected)(\"text-white\", ctx.selected)(\"text-muted\", ctx.isMuted())(\"outside\", ctx.isMuted())(\"active\", ctx.focused);\n } }, inputs: { currentMonth: \"currentMonth\", date: \"date\", disabled: \"disabled\", focused: \"focused\", selected: \"selected\" }, attrs: _c20, decls: 1, vars: 1, template: function NgbDatepickerDayView_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0);\n } if (rf & 2) {\n ɵngcc0.ɵɵtextInterpolate(ctx.i18n.getDayNumerals(ctx.date));\n } }, styles: [\"[ngbDatepickerDayView]{text-align:center;width:2rem;height:2rem;line-height:2rem;border-radius:.25rem;background:0 0}[ngbDatepickerDayView].outside{opacity:.5}\"], encapsulation: 2, changeDetection: 0 });\nNgbDatepickerDayView.ctorParameters = () => [\n { type: NgbDatepickerI18n }\n];\n__decorate([\n Input()\n], NgbDatepickerDayView.prototype, \"currentMonth\", void 0);\n__decorate([\n Input()\n], NgbDatepickerDayView.prototype, \"date\", void 0);\n__decorate([\n Input()\n], NgbDatepickerDayView.prototype, \"disabled\", void 0);\n__decorate([\n Input()\n], NgbDatepickerDayView.prototype, \"focused\", void 0);\n__decorate([\n Input()\n], NgbDatepickerDayView.prototype, \"selected\", void 0);\n\nlet NgbDatepickerNavigationSelect = class NgbDatepickerNavigationSelect {\n constructor(i18n, _renderer) {\n this.i18n = i18n;\n this._renderer = _renderer;\n this.select = new EventEmitter();\n this._month = -1;\n this._year = -1;\n }\n changeMonth(month) { this.select.emit(new NgbDate(this.date.year, toInteger(month), 1)); }\n changeYear(year) { this.select.emit(new NgbDate(toInteger(year), this.date.month, 1)); }\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};\nNgbDatepickerNavigationSelect.ɵfac = function NgbDatepickerNavigationSelect_Factory(t) { return new (t || NgbDatepickerNavigationSelect)(ɵngcc0.ɵɵdirectiveInject(NgbDatepickerI18n), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2)); };\nNgbDatepickerNavigationSelect.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbDatepickerNavigationSelect, selectors: [[\"ngb-datepicker-navigation-select\"]], viewQuery: function NgbDatepickerNavigationSelect_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵstaticViewQuery(_c21, true, ElementRef);\n ɵngcc0.ɵɵstaticViewQuery(_c22, true, ElementRef);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.monthSelect = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.yearSelect = _t.first);\n } }, inputs: { date: \"date\", disabled: \"disabled\", months: \"months\", years: \"years\" }, outputs: { select: \"select\" }, decls: 12, vars: 4, consts: function () { let i18n_23; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_datepicker_select_month$$FESM2015_NG_BOOTSTRAP_JS_24 = goog.getMsg(\"Select month\");\n i18n_23 = MSG_EXTERNAL_ngb_datepicker_select_month$$FESM2015_NG_BOOTSTRAP_JS_24;\n }\n else {\n i18n_23 = $localize `:@@ngb.datepicker.select-month␟1dbc84807f35518112f62e5775d1daebd3d8462b␟2253869508135064750:Select month`;\n } let i18n_25; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_datepicker_select_month$$FESM2015_NG_BOOTSTRAP_JS_26 = goog.getMsg(\"Select month\");\n i18n_25 = MSG_EXTERNAL_ngb_datepicker_select_month$$FESM2015_NG_BOOTSTRAP_JS_26;\n }\n else {\n i18n_25 = $localize `:@@ngb.datepicker.select-month␟1dbc84807f35518112f62e5775d1daebd3d8462b␟2253869508135064750:Select month`;\n } let i18n_27; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_datepicker_select_year$$FESM2015_NG_BOOTSTRAP_JS_28 = goog.getMsg(\"Select year\");\n i18n_27 = MSG_EXTERNAL_ngb_datepicker_select_year$$FESM2015_NG_BOOTSTRAP_JS_28;\n }\n else {\n i18n_27 = $localize `:@@ngb.datepicker.select-year␟8ceb09d002bf0c5d1cac171dfbffe1805d2b3962␟8852264961585484321:Select year`;\n } let i18n_29; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_datepicker_select_year$$FESM2015_NG_BOOTSTRAP_JS_30 = goog.getMsg(\"Select year\");\n i18n_29 = MSG_EXTERNAL_ngb_datepicker_select_year$$FESM2015_NG_BOOTSTRAP_JS_30;\n }\n else {\n i18n_29 = $localize `:@@ngb.datepicker.select-year␟8ceb09d002bf0c5d1cac171dfbffe1805d2b3962␟8852264961585484321:Select year`;\n } return [[\"aria-label\", i18n_23, \"title\", i18n_25, 1, \"custom-select\", 3, \"disabled\", \"change\"], [\"month\", \"\"], [3, \"value\", 4, \"ngFor\", \"ngForOf\"], [\"aria-label\", i18n_27, \"title\", i18n_29, 1, \"custom-select\", 3, \"disabled\", \"change\"], [\"year\", \"\"], [3, \"value\"]]; }, template: function NgbDatepickerNavigationSelect_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"select\", 0, 1);\n ɵngcc0.ɵɵlistener(\"change\", function NgbDatepickerNavigationSelect_Template_select_change_1_listener($event) { return ctx.changeMonth($event.target.value); });\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbDatepickerNavigationSelect_option_4_Template, 2, 3, \"option\", 2);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(6, \"select\", 3, 4);\n ɵngcc0.ɵɵlistener(\"change\", function NgbDatepickerNavigationSelect_Template_select_change_6_listener($event) { return ctx.changeYear($event.target.value); });\n ɵngcc0.ɵɵtext(8, \"\\n \");\n ɵngcc0.ɵɵtemplate(9, NgbDatepickerNavigationSelect_option_9_Template, 2, 2, \"option\", 2);\n ɵngcc0.ɵɵtext(10, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(11, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"disabled\", ctx.disabled);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.months);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"disabled\", ctx.disabled);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.years);\n } }, directives: [ɵngcc1.NgForOf, ɵngcc2.NgSelectOption, ɵngcc2.ɵangular_packages_forms_forms_x], styles: [\"ngb-datepicker-navigation-select>.custom-select{-ms-flex:1 1 auto;flex:1 1 auto;padding:0 .5rem;font-size:.875rem;height:1.85rem}ngb-datepicker-navigation-select>.custom-select:focus{z-index:1}ngb-datepicker-navigation-select>.custom-select::-ms-value{background-color:transparent!important}\"], encapsulation: 2, changeDetection: 0 });\nNgbDatepickerNavigationSelect.ctorParameters = () => [\n { type: NgbDatepickerI18n },\n { type: Renderer2 }\n];\n__decorate([\n Input()\n], NgbDatepickerNavigationSelect.prototype, \"date\", void 0);\n__decorate([\n Input()\n], NgbDatepickerNavigationSelect.prototype, \"disabled\", void 0);\n__decorate([\n Input()\n], NgbDatepickerNavigationSelect.prototype, \"months\", void 0);\n__decorate([\n Input()\n], NgbDatepickerNavigationSelect.prototype, \"years\", void 0);\n__decorate([\n Output()\n], NgbDatepickerNavigationSelect.prototype, \"select\", void 0);\n__decorate([\n ViewChild('month', { static: true, read: ElementRef })\n], NgbDatepickerNavigationSelect.prototype, \"monthSelect\", void 0);\n__decorate([\n ViewChild('year', { static: true, read: ElementRef })\n], NgbDatepickerNavigationSelect.prototype, \"yearSelect\", void 0);\n\nlet NgbCalendarHijri = class NgbCalendarHijri extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n getWeeksPerMonth() { return 6; }\n getNext(date, period = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\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 getPrev(date, period = 'd', number = 1) { return this.getNext(date, period, -number); }\n getWeekday(date) {\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 getWeekNumber(week, firstDayOfWeek) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n const date = week[thursdayIndex];\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 getToday() { return this.fromGregorian(new Date()); }\n isValid(date) {\n return date && isNumber(date.year) && isNumber(date.month) && isNumber(date.day) &&\n !isNaN(this.toGregorian(date).getTime());\n }\n _setDay(date, day) {\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 }\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 _setMonth(date, month) {\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 _setYear(date, year) {\n date.year = +year;\n return date;\n }\n};\nNgbCalendarHijri.ɵfac = function NgbCalendarHijri_Factory(t) { return ɵNgbCalendarHijri_BaseFactory(t || NgbCalendarHijri); };\nNgbCalendarHijri.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbCalendarHijri, factory: function (t) { return NgbCalendarHijri.ɵfac(t); } });\n\n/**\n * Checks if islamic year is a leap year\n */\nfunction isIslamicLeapYear(hYear) {\n return (14 + 11 * hYear) % 30 < 11;\n}\n/**\n * Checks if gregorian years is a leap year\n */\nfunction isGregorianLeapYear(gDate) {\n const year = gDate.getFullYear();\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\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, hMonth) {\n return Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30.0);\n}\n/**\n * Returns the start of Hijri year.\n * `year` is any Hijri year.\n */\nfunction getIslamicYearStart(year) {\n return (year - 1) * 354 + Math.floor((3 + 11 * year) / 30.0);\n}\nfunction mod(a, b) {\n return a - b * Math.floor(a / b);\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 */\nconst GREGORIAN_EPOCH = 1721425.5;\nconst ISLAMIC_EPOCH = 1948439.5;\nlet NgbCalendarIslamicCivil = 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) {\n const gYear = gDate.getFullYear(), gMonth = gDate.getMonth(), gDay = gDate.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(gDate) ? -1 : -2) + gDay);\n julianDay = Math.floor(julianDay) + 0.5;\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 * 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) {\n const hYear = hDate.year;\n const hMonth = hDate.month - 1;\n const hDay = hDate.day;\n const julianDay = hDay + Math.ceil(29.5 * hMonth) + (hYear - 1) * 354 + Math.floor((3 + 11 * hYear) / 30) + ISLAMIC_EPOCH - 1;\n const wjd = Math.floor(julianDay - 0.5) + 0.5, depoch = wjd - GREGORIAN_EPOCH, quadricent = Math.floor(depoch / 146097), dqc = mod(depoch, 146097), cent = Math.floor(dqc / 36524), dcent = mod(dqc, 36524), quad = Math.floor(dcent / 1461), dquad = mod(dcent, 1461), 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 const gYearStart = GREGORIAN_EPOCH + 365 * (year - 1) + Math.floor((year - 1) / 4) - Math.floor((year - 1) / 100) +\n Math.floor((year - 1) / 400);\n const yearday = wjd - gYearStart;\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 const leapadj = wjd < tjd ? 0 : isGregorianLeapYear(new Date(year, 3, 1)) ? 1 : 2;\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((367 * month - 362) / 12 + (month <= 2 ? 0 : isGregorianLeapYear(new Date(year, month - 1, 1)) ? -1 : -2) +\n 1);\n const day = wjd - tjd2 + 1;\n return new Date(year, month - 1, day);\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, year) {\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};\nNgbCalendarIslamicCivil.ɵfac = function NgbCalendarIslamicCivil_Factory(t) { return ɵNgbCalendarIslamicCivil_BaseFactory(t || NgbCalendarIslamicCivil); };\nNgbCalendarIslamicCivil.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbCalendarIslamicCivil, factory: function (t) { return NgbCalendarIslamicCivil.ɵfac(t); } });\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 */\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;\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];\nfunction getDaysDiff(date1, date2) {\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}\nlet NgbCalendarIslamicUmalqura = 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) {\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 }\n else {\n return super.fromGregorian(gDate);\n }\n }\n /**\n * Converts the current Hijri date to Gregorian.\n */\n toGregorian(hDate) {\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 }\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, hYear) {\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};\nNgbCalendarIslamicUmalqura.ɵfac = function NgbCalendarIslamicUmalqura_Factory(t) { return ɵNgbCalendarIslamicUmalqura_BaseFactory(t || NgbCalendarIslamicUmalqura); };\nNgbCalendarIslamicUmalqura.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbCalendarIslamicUmalqura, factory: function (t) { return NgbCalendarIslamicUmalqura.ɵfac(t); } });\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 */\nfunction toGregorian(jalaliDate) {\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 * 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 */\nfunction fromGregorian(gdate) {\n let g2d = gregorianToJulian(gdate.getFullYear(), gdate.getMonth() + 1, gdate.getDate());\n return julianToJalali(g2d);\n}\nfunction setJalaliYear(date, yearValue) {\n date.year = +yearValue;\n return date;\n}\nfunction setJalaliMonth(date, month) {\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}\nfunction setJalaliDay(date, day) {\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 }\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}\nfunction mod$1(a, b) {\n return a - b * Math.floor(a / b);\n}\nfunction div(a, b) {\n return Math.trunc(a / b);\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) {\n // Jalali years starting the 33-year rule.\n let breaks = [-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 if (jalaliYear < jp || jalaliYear >= breaks[breaksLength - 1]) {\n throw new Error('Invalid Jalali year ' + jalaliYear);\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$1(jump, 33), 4);\n jp = jm;\n }\n let n = jalaliYear - jp;\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$1(n, 33) + 3, 4);\n if (mod$1(jump, 33) === 4 && jump - n === 4) {\n leapJ += 1;\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 // Determine the Gregorian date of Farvardin the 1st.\n const march = 20 + leapJ - leapG;\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$1(mod$1(n + 1, 33) - 1, 4);\n if (leap === -1) {\n leap = 4;\n }\n return { leap: leap, gy: gYear, march: march };\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) {\n let j = 4 * julianDayNumber + 139361631;\n j = j + div(div(4 * julianDayNumber + 183187720, 146097) * 3, 4) * 4 - 3908;\n const i = div(mod$1(j, 1461), 4) * 5 + 308;\n const gDay = div(mod$1(i, 153), 5) + 1;\n const gMonth = mod$1(div(i, 153), 12) + 1;\n const gYear = div(j, 1461) - 100100 + div(8 - gMonth, 6);\n return new Date(gYear, gMonth - 1, gDay);\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, gm, gd) {\n let d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) + div(153 * mod$1(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 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) {\n let gy = julianToGregorian(julianDayNumber).getFullYear() // Calculate Gregorian year (gy).\n , jalaliYear = gy - 621, r = jalCal(jalaliYear), gregorianDay = gregorianToJulian(gy, 3, r.march), jalaliDay, jalaliMonth, numberOfDays;\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$1(numberOfDays, 31) + 1;\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\n }\n else {\n // The remaining months.\n numberOfDays -= 186;\n }\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$1(numberOfDays, 30) + 1;\n return new NgbDate(jalaliYear, jalaliMonth, jalaliDay);\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, jMonth, jDay) {\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 * Returns the number of days in a specific jalali month.\n */\nfunction getDaysPerMonth(month, year) {\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\nlet NgbCalendarPersian = class NgbCalendarPersian extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n getMonths() { return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; }\n getWeeksPerMonth() { return 6; }\n getNext(date, period = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\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 getPrev(date, period = 'd', number = 1) { return this.getNext(date, period, -number); }\n getWeekday(date) {\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 getWeekNumber(week, firstDayOfWeek) {\n // in JS Date Sun=0, in ISO 8601 Sun=7\n if (firstDayOfWeek === 7) {\n firstDayOfWeek = 0;\n }\n const thursdayIndex = (4 + 7 - firstDayOfWeek) % 7;\n const date = week[thursdayIndex];\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 getToday() { return fromGregorian(new Date()); }\n isValid(date) {\n return date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) &&\n !isNaN(toGregorian(date).getTime());\n }\n};\nNgbCalendarPersian.ɵfac = function NgbCalendarPersian_Factory(t) { return ɵNgbCalendarPersian_BaseFactory(t || NgbCalendarPersian); };\nNgbCalendarPersian.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbCalendarPersian, factory: function (t) { return NgbCalendarPersian.ɵfac(t); } });\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$1 = 1721425.5;\nfunction isGregorianLeapYear$1(year) {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\nfunction numberOfFirstDayInYear(year) {\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 let dayOfWeek = dayNumber % 7; // 0 == Monday\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 }\n else if (dayOfWeek === 0 && timeOfDay > 21 * PARTS_PER_HOUR + 589 && isHebrewLeapYear(year - 1)) {\n dayNumber++;\n }\n return dayNumber;\n}\nfunction getDaysInGregorianMonth(month, year) {\n let days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n if (isGregorianLeapYear$1(year)) {\n days[1]++;\n }\n return days[month - 1];\n}\nfunction getHebrewMonths(year) {\n return isHebrewLeapYear(year) ? 13 : 12;\n}\n/**\n * Returns the number of days in a specific Hebrew year.\n * `year` is any Hebrew year.\n */\nfunction getDaysInHebrewYear(year) {\n return numberOfFirstDayInYear(year + 1) - numberOfFirstDayInYear(year);\n}\nfunction isHebrewLeapYear(year) {\n let b = (year * 12 + 17) % 19;\n return b >= ((b < 0) ? -7 : 12);\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 */\nfunction getDaysInHebrewMonth(month, year) {\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}\nfunction getDayNumberInHebrewYear(date) {\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}\nfunction setHebrewMonth(date, val) {\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 }\n else {\n date.month += val;\n val = 0;\n }\n }\n else {\n if (val >= date.month) {\n date.year--;\n val -= date.month;\n date.month = getHebrewMonths(date.year);\n }\n else {\n date.month -= val;\n val = 0;\n }\n }\n }\n return date;\n}\nfunction setHebrewDay(date, val) {\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 }\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 }\n else {\n date.day += val;\n val = 0;\n }\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 }\n else {\n date.day -= val;\n val = 0;\n }\n }\n }\n return date;\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 */\nfunction fromGregorian$1(gdate) {\n const date = new Date(gdate);\n const gYear = date.getFullYear(), gMonth = date.getMonth(), gDay = date.getDate();\n let julianDay = GREGORIAN_EPOCH$1 - 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$1(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 * Returns the equivalent JS date value for a given Hebrew date.\n * `hebrewDate` is an Hebrew date to be converted to Gregorian.\n */\nfunction toGregorian$1(hebrewDate) {\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$1(gYear) ? 366 : 365)) {\n diffDays -= isGregorianLeapYear$1(gYear) ? 366 : 365;\n gYear++;\n }\n else if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\n gMonth++;\n }\n else {\n gDay += diffDays;\n diffDays = 0;\n }\n }\n else {\n if (diffDays >= (isGregorianLeapYear$1(gYear - 1) ? 366 : 365)) {\n diffDays -= isGregorianLeapYear$1(gYear - 1) ? 366 : 365;\n gYear--;\n }\n else {\n if (gMonth > 1) {\n gMonth--;\n }\n else {\n gMonth = 12;\n gYear--;\n }\n if (diffDays >= getDaysInGregorianMonth(gMonth, gYear)) {\n diffDays -= getDaysInGregorianMonth(gMonth, gYear);\n }\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}\nfunction hebrewNumerals(numerals) {\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 = [];\n let step = 0;\n while (numerals > 0) {\n let m = numerals % 10;\n if (step === 0) {\n mem = m;\n }\n else if (step === 1) {\n if (m !== 1) {\n result.unshift(hArray20_90[m], hArray0_9[mem]);\n }\n else {\n result.unshift(hArray10_19[mem]);\n }\n }\n else if (step === 2) {\n result.unshift(hArray100_900[m]);\n }\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 }\n else if (result.length > 1) {\n result.splice(result.length - 1, 0, gershaim);\n }\n return result.join('');\n}\n\n/**\n * @since 3.2.0\n */\nlet NgbCalendarHebrew = class NgbCalendarHebrew extends NgbCalendar {\n getDaysPerWeek() { return 7; }\n getMonths(year) {\n if (year && isHebrewLeapYear(year)) {\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];\n }\n else {\n return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n }\n }\n getWeeksPerMonth() { return 6; }\n isValid(date) {\n let b = date && 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$1(date).getTime());\n }\n getNext(date, period = 'd', number = 1) {\n date = new NgbDate(date.year, date.month, date.day);\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 getPrev(date, period = 'd', number = 1) { return this.getNext(date, period, -number); }\n getWeekday(date) {\n const day = toGregorian$1(date).getDay();\n // in JS Date Sun=0, in ISO 8601 Sun=7\n return day === 0 ? 7 : day;\n }\n getWeekNumber(week, firstDayOfWeek) {\n const date = week[week.length - 1];\n return Math.ceil(getDayNumberInHebrewYear(date) / 7);\n }\n getToday() { return fromGregorian$1(new Date()); }\n /**\n * @since 3.4.0\n */\n toGregorian(date) { return fromJSDate(toGregorian$1(date)); }\n /**\n * @since 3.4.0\n */\n fromGregorian(date) { return fromGregorian$1(toJSDate(date)); }\n};\nNgbCalendarHebrew.ɵfac = function NgbCalendarHebrew_Factory(t) { return ɵNgbCalendarHebrew_BaseFactory(t || NgbCalendarHebrew); };\nNgbCalendarHebrew.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbCalendarHebrew, factory: function (t) { return NgbCalendarHebrew.ɵfac(t); } });\n\nconst WEEKDAYS = ['שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת', 'ראשון'];\nconst MONTHS = ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\nconst MONTHS_LEAP = ['תשרי', 'חשון', 'כסלו', 'טבת', 'שבט', 'אדר א׳', 'אדר ב׳', 'ניסן', 'אייר', 'סיון', 'תמוז', 'אב', 'אלול'];\n/**\n * @since 3.2.0\n */\nlet NgbDatepickerI18nHebrew = class NgbDatepickerI18nHebrew extends NgbDatepickerI18n {\n getMonthShortName(month, year) { return this.getMonthFullName(month, year); }\n getMonthFullName(month, year) {\n return isHebrewLeapYear(year) ? MONTHS_LEAP[month - 1] : MONTHS[month - 1];\n }\n getWeekdayShortName(weekday) { return WEEKDAYS[weekday - 1]; }\n getDayAriaLabel(date) {\n return `${hebrewNumerals(date.day)} ${this.getMonthFullName(date.month, date.year)} ${hebrewNumerals(date.year)}`;\n }\n getDayNumerals(date) { return hebrewNumerals(date.day); }\n getWeekNumerals(weekNumber) { return hebrewNumerals(weekNumber); }\n getYearNumerals(year) { return hebrewNumerals(year); }\n};\nNgbDatepickerI18nHebrew.ɵfac = function NgbDatepickerI18nHebrew_Factory(t) { return ɵNgbDatepickerI18nHebrew_BaseFactory(t || NgbDatepickerI18nHebrew); };\nNgbDatepickerI18nHebrew.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbDatepickerI18nHebrew, factory: function (t) { return NgbDatepickerI18nHebrew.ɵfac(t); } });\n\n/**\n * [`NgbDateAdapter`](#/components/datepicker/api#NgbDateAdapter) implementation that uses\n * native javascript dates as a user date model.\n */\nlet NgbDateNativeAdapter = class NgbDateNativeAdapter extends NgbDateAdapter {\n /**\n * Converts a native `Date` to a `NgbDateStruct`.\n */\n fromModel(date) {\n return (date instanceof Date && !isNaN(date.getTime())) ? this._fromNativeDate(date) : null;\n }\n /**\n * Converts a `NgbDateStruct` to a native `Date`.\n */\n toModel(date) {\n return date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) ? this._toNativeDate(date) :\n null;\n }\n _fromNativeDate(date) {\n return { year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate() };\n }\n _toNativeDate(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};\nNgbDateNativeAdapter.ɵfac = function NgbDateNativeAdapter_Factory(t) { return ɵNgbDateNativeAdapter_BaseFactory(t || NgbDateNativeAdapter); };\nNgbDateNativeAdapter.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbDateNativeAdapter, factory: function (t) { return NgbDateNativeAdapter.ɵfac(t); } });\n\n/**\n * Same as [`NgbDateNativeAdapter`](#/components/datepicker/api#NgbDateNativeAdapter), but with UTC dates.\n *\n * @since 3.2.0\n */\nlet NgbDateNativeUTCAdapter = class NgbDateNativeUTCAdapter extends NgbDateNativeAdapter {\n _fromNativeDate(date) {\n return { year: date.getUTCFullYear(), month: date.getUTCMonth() + 1, day: date.getUTCDate() };\n }\n _toNativeDate(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};\nNgbDateNativeUTCAdapter.ɵfac = function NgbDateNativeUTCAdapter_Factory(t) { return ɵNgbDateNativeUTCAdapter_BaseFactory(t || NgbDateNativeUTCAdapter); };\nNgbDateNativeUTCAdapter.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbDateNativeUTCAdapter, factory: function (t) { return NgbDateNativeUTCAdapter.ɵfac(t); } });\n\nlet NgbDatepickerModule = class NgbDatepickerModule {\n};\nNgbDatepickerModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbDatepickerModule });\nNgbDatepickerModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbDatepickerModule_Factory(t) { return new (t || NgbDatepickerModule)(); }, imports: [[CommonModule, FormsModule]] });\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 */\nlet NgbDropdownConfig = class NgbDropdownConfig {\n constructor() {\n this.autoClose = true;\n this.placement = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n }\n};\nNgbDropdownConfig.ɵfac = function NgbDropdownConfig_Factory(t) { return new (t || NgbDropdownConfig)(); };\nNgbDropdownConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbDropdownConfig_Factory() { return new NgbDropdownConfig(); }, token: NgbDropdownConfig, providedIn: \"root\" });\n\nvar NgbDropdownToggle_1;\nlet NgbNavbar = class NgbNavbar {\n};\nNgbNavbar.ɵfac = function NgbNavbar_Factory(t) { return new (t || NgbNavbar)(); };\nNgbNavbar.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbNavbar, selectors: [[\"\", 8, \"navbar\"]] });\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 */\nlet NgbDropdownItem = class NgbDropdownItem {\n constructor(elementRef) {\n this.elementRef = elementRef;\n this._disabled = false;\n }\n set disabled(value) {\n this._disabled = value === '' || value === true; // accept an empty attribute as true\n }\n get disabled() { return this._disabled; }\n};\nNgbDropdownItem.ɵfac = function NgbDropdownItem_Factory(t) { return new (t || NgbDropdownItem)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nNgbDropdownItem.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbDropdownItem, selectors: [[\"\", \"ngbDropdownItem\", \"\"]], hostAttrs: [1, \"dropdown-item\"], hostVars: 2, hostBindings: function NgbDropdownItem_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"disabled\", ctx.disabled);\n } }, inputs: { disabled: \"disabled\" } });\nNgbDropdownItem.ctorParameters = () => [\n { type: ElementRef }\n];\n__decorate([\n Input()\n], NgbDropdownItem.prototype, \"disabled\", null);\n/**\n * A directive that wraps dropdown menu content and dropdown items.\n */\nlet NgbDropdownMenu = class NgbDropdownMenu {\n constructor(dropdown) {\n this.dropdown = dropdown;\n this.placement = 'bottom';\n this.isOpen = false;\n }\n};\nNgbDropdownMenu.ɵfac = function NgbDropdownMenu_Factory(t) { return new (t || NgbDropdownMenu)(ɵngcc0.ɵɵdirectiveInject(forwardRef(() => NgbDropdown))); };\nNgbDropdownMenu.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbDropdownMenu, selectors: [[\"\", \"ngbDropdownMenu\", \"\"]], contentQueries: function NgbDropdownMenu_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbDropdownItem, false);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.menuItems = _t);\n } }, hostVars: 5, hostBindings: function NgbDropdownMenu_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"keydown.ArrowUp\", function NgbDropdownMenu_keydown_ArrowUp_HostBindingHandler($event) { return ctx.dropdown.onKeyDown($event); })(\"keydown.ArrowDown\", function NgbDropdownMenu_keydown_ArrowDown_HostBindingHandler($event) { return ctx.dropdown.onKeyDown($event); })(\"keydown.Home\", function NgbDropdownMenu_keydown_Home_HostBindingHandler($event) { return ctx.dropdown.onKeyDown($event); })(\"keydown.End\", function NgbDropdownMenu_keydown_End_HostBindingHandler($event) { return ctx.dropdown.onKeyDown($event); })(\"keydown.Enter\", function NgbDropdownMenu_keydown_Enter_HostBindingHandler($event) { return ctx.dropdown.onKeyDown($event); })(\"keydown.Space\", function NgbDropdownMenu_keydown_Space_HostBindingHandler($event) { return ctx.dropdown.onKeyDown($event); });\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"x-placement\", ctx.placement);\n ɵngcc0.ɵɵclassProp(\"dropdown-menu\", true)(\"show\", ctx.dropdown.isOpen());\n } } });\nNgbDropdownMenu.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [forwardRef(() => NgbDropdown),] }] }\n];\n__decorate([\n ContentChildren(NgbDropdownItem)\n], NgbDropdownMenu.prototype, \"menuItems\", void 0);\nNgbDropdownMenu = __decorate([ __param(0, Inject(forwardRef(() => NgbDropdown)))\n], NgbDropdownMenu);\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 */\nlet NgbDropdownAnchor = class NgbDropdownAnchor {\n constructor(dropdown, _elementRef) {\n this.dropdown = dropdown;\n this._elementRef = _elementRef;\n this.anchorEl = _elementRef.nativeElement;\n }\n getNativeElement() { return this._elementRef.nativeElement; }\n};\nNgbDropdownAnchor.ɵfac = function NgbDropdownAnchor_Factory(t) { return new (t || NgbDropdownAnchor)(ɵngcc0.ɵɵdirectiveInject(forwardRef(() => NgbDropdown)), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nNgbDropdownAnchor.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbDropdownAnchor, selectors: [[\"\", \"ngbDropdownAnchor\", \"\"]], hostAttrs: [\"aria-haspopup\", \"true\", 1, \"dropdown-toggle\"], hostVars: 1, hostBindings: function NgbDropdownAnchor_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-expanded\", ctx.dropdown.isOpen());\n } } });\nNgbDropdownAnchor.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [forwardRef(() => NgbDropdown),] }] },\n { type: ElementRef }\n];\nNgbDropdownAnchor = __decorate([ __param(0, Inject(forwardRef(() => NgbDropdown)))\n], NgbDropdownAnchor);\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 */\nlet NgbDropdownToggle = NgbDropdownToggle_1 = class NgbDropdownToggle extends NgbDropdownAnchor {\n constructor(dropdown, elementRef) {\n super(dropdown, elementRef);\n }\n};\nNgbDropdownToggle.ɵfac = function NgbDropdownToggle_Factory(t) { return new (t || NgbDropdownToggle)(ɵngcc0.ɵɵdirectiveInject(forwardRef(() => NgbDropdown)), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nNgbDropdownToggle.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbDropdownToggle, selectors: [[\"\", \"ngbDropdownToggle\", \"\"]], hostAttrs: [\"aria-haspopup\", \"true\", 1, \"dropdown-toggle\"], hostVars: 1, hostBindings: function NgbDropdownToggle_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function NgbDropdownToggle_click_HostBindingHandler() { return ctx.dropdown.toggle(); })(\"keydown.ArrowUp\", function NgbDropdownToggle_keydown_ArrowUp_HostBindingHandler($event) { return ctx.dropdown.onKeyDown($event); })(\"keydown.ArrowDown\", function NgbDropdownToggle_keydown_ArrowDown_HostBindingHandler($event) { return ctx.dropdown.onKeyDown($event); })(\"keydown.Home\", function NgbDropdownToggle_keydown_Home_HostBindingHandler($event) { return ctx.dropdown.onKeyDown($event); })(\"keydown.End\", function NgbDropdownToggle_keydown_End_HostBindingHandler($event) { return ctx.dropdown.onKeyDown($event); });\n } if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-expanded\", ctx.dropdown.isOpen());\n } }, features: [ɵngcc0.ɵɵProvidersFeature([{ provide: NgbDropdownAnchor, useExisting: forwardRef(() => NgbDropdownToggle_1) }]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nNgbDropdownToggle.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [forwardRef(() => NgbDropdown),] }] },\n { type: ElementRef }\n];\nNgbDropdownToggle = NgbDropdownToggle_1 = __decorate([ __param(0, Inject(forwardRef(() => NgbDropdown)))\n], NgbDropdownToggle);\n/**\n * A directive that provides contextual overlays for displaying lists of links and more.\n */\nlet NgbDropdown = class NgbDropdown {\n constructor(_changeDetector, config, _document, _ngZone, _elementRef, _renderer, ngbNavbar) {\n this._changeDetector = _changeDetector;\n this._document = _document;\n this._ngZone = _ngZone;\n this._elementRef = _elementRef;\n this._renderer = _renderer;\n this._closed$ = new Subject();\n /**\n * Defines whether or not the dropdown menu is opened initially.\n */\n this._open = false;\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 this.openChange = new EventEmitter();\n this.placement = config.placement;\n this.container = config.container;\n this.autoClose = config.autoClose;\n this.display = ngbNavbar ? 'static' : 'dynamic';\n this._zoneSubscription = _ngZone.onStable.subscribe(() => { this._positionMenu(); });\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 ngOnChanges(changes) {\n if (changes.container && this._open) {\n this._applyContainer(this.container);\n }\n if (changes.placement && !changes.placement.isFirstChange) {\n this._applyPlacementClasses();\n }\n }\n /**\n * Checks if the dropdown menu is open.\n */\n isOpen() { return this._open; }\n /**\n * Opens the dropdown menu.\n */\n open() {\n if (!this._open) {\n this._open = true;\n this._applyContainer(this.container);\n this.openChange.emit(true);\n this._setCloseHandlers();\n }\n }\n _setCloseHandlers() {\n const anchor = this._anchor;\n ngbAutoClose(this._ngZone, this._document, this.autoClose, () => this.close(), this._closed$, this._menu ? [this._menuElement.nativeElement] : [], anchor ? [anchor.getNativeElement()] : [], '.dropdown-item,.dropdown-divider');\n }\n /**\n * Closes the dropdown menu.\n */\n close() {\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 * Toggles the dropdown menu.\n */\n toggle() {\n if (this.isOpen()) {\n this.close();\n }\n else {\n this.open();\n }\n }\n ngOnDestroy() {\n this._resetContainer();\n this._closed$.next();\n this._zoneSubscription.unsubscribe();\n }\n onKeyDown(event) {\n // tslint:disable-next-line:deprecation\n const key = event.which;\n const itemElements = this._getMenuElements();\n let position = -1;\n let isEventFromItems = false;\n let itemElement = null;\n const isEventFromToggle = this._isEventFromToggle(event);\n if (!isEventFromToggle && itemElements.length) {\n itemElements.forEach((item, index) => {\n if (item.contains(event.target)) {\n isEventFromItems = true;\n itemElement = item;\n }\n if (item === this._document.activeElement) {\n position = index;\n }\n });\n }\n // closing on Enter / Space\n if (key === Key.Space || key === Key.Enter) {\n if (isEventFromItems && (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 // opening / navigating\n if (isEventFromToggle || isEventFromItems) {\n this.open();\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 _isDropup() { return this._elementRef.nativeElement.classList.contains('dropup'); }\n _isEventFromToggle(event) {\n return this._anchor.getNativeElement().contains(event.target);\n }\n _getMenuElements() {\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 _positionMenu() {\n const menu = this._menu;\n if (this.isOpen() && menu) {\n this._applyPlacementClasses(this.display === 'dynamic' ?\n positionElements(this._anchor.anchorEl, this._bodyContainer || this._menuElement.nativeElement, this.placement, this.container === 'body') :\n this._getFirstPlacement(this.placement));\n }\n }\n _getFirstPlacement(placement) {\n return Array.isArray(placement) ? placement[0] : placement.split(' ')[0];\n }\n _resetContainer() {\n const renderer = this._renderer;\n const menuElement = this._menuElement;\n if (menuElement) {\n const dropdownElement = this._elementRef.nativeElement;\n const dropdownMenuElement = menuElement.nativeElement;\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 _applyContainer(container = null) {\n this._resetContainer();\n if (container === 'body') {\n const renderer = this._renderer;\n const dropdownMenuElement = this._menuElement.nativeElement;\n const bodyContainer = this._bodyContainer = this._bodyContainer || renderer.createElement('div');\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 renderer.appendChild(bodyContainer, dropdownMenuElement);\n renderer.appendChild(this._document.body, bodyContainer);\n }\n }\n _applyPlacementClasses(placement) {\n const menu = this._menu;\n if (menu) {\n if (!placement) {\n placement = this._getFirstPlacement(this.placement);\n }\n const renderer = this._renderer;\n const dropdownElement = this._elementRef.nativeElement;\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 * 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 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};\nNgbDropdown.ɵfac = function NgbDropdown_Factory(t) { return new (t || NgbDropdown)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(NgbDropdownConfig), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(NgbNavbar, 8)); };\nNgbDropdown.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbDropdown, selectors: [[\"\", \"ngbDropdown\", \"\"]], contentQueries: function NgbDropdown_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbDropdownMenu, true);\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbDropdownMenu, true, ElementRef);\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbDropdownAnchor, true);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._menu = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._menuElement = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._anchor = _t.first);\n } }, hostVars: 2, hostBindings: function NgbDropdown_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"show\", ctx.isOpen());\n } }, inputs: { _open: [\"open\", \"_open\"], placement: \"placement\", container: \"container\", autoClose: \"autoClose\", display: \"display\" }, outputs: { openChange: \"openChange\" }, exportAs: [\"ngbDropdown\"], features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nNgbDropdown.ctorParameters = () => [\n { type: ChangeDetectorRef },\n { type: NgbDropdownConfig },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: NgZone },\n { type: ElementRef },\n { type: Renderer2 },\n { type: NgbNavbar, decorators: [{ type: Optional }] }\n];\n__decorate([\n ContentChild(NgbDropdownMenu, { static: false })\n], NgbDropdown.prototype, \"_menu\", void 0);\n__decorate([\n ContentChild(NgbDropdownMenu, { read: ElementRef, static: false })\n], NgbDropdown.prototype, \"_menuElement\", void 0);\n__decorate([\n ContentChild(NgbDropdownAnchor, { static: false })\n], NgbDropdown.prototype, \"_anchor\", void 0);\n__decorate([\n Input()\n], NgbDropdown.prototype, \"autoClose\", void 0);\n__decorate([\n Input('open')\n], NgbDropdown.prototype, \"_open\", void 0);\n__decorate([\n Input()\n], NgbDropdown.prototype, \"placement\", void 0);\n__decorate([\n Input()\n], NgbDropdown.prototype, \"container\", void 0);\n__decorate([\n Input()\n], NgbDropdown.prototype, \"display\", void 0);\n__decorate([\n Output()\n], NgbDropdown.prototype, \"openChange\", void 0);\nNgbDropdown = __decorate([ __param(2, Inject(DOCUMENT)),\n __param(6, Optional())\n], NgbDropdown);\n\nconst NGB_DROPDOWN_DIRECTIVES = [NgbDropdown, NgbDropdownAnchor, NgbDropdownToggle, NgbDropdownMenu, NgbDropdownItem, NgbNavbar];\nlet NgbDropdownModule = class NgbDropdownModule {\n};\nNgbDropdownModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbDropdownModule });\nNgbDropdownModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbDropdownModule_Factory(t) { return new (t || NgbDropdownModule)(); } });\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*/\nlet NgbModalConfig = class NgbModalConfig {\n constructor() {\n this.backdrop = true;\n this.keyboard = true;\n }\n};\nNgbModalConfig.ɵfac = function NgbModalConfig_Factory(t) { return new (t || NgbModalConfig)(); };\nNgbModalConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbModalConfig_Factory() { return new NgbModalConfig(); }, token: NgbModalConfig, providedIn: \"root\" });\n\nclass ContentRef {\n constructor(nodes, viewRef, componentRef) {\n this.nodes = nodes;\n this.viewRef = viewRef;\n this.componentRef = componentRef;\n }\n}\nclass PopupService {\n constructor(_type, _injector, _viewContainerRef, _renderer, _componentFactoryResolver, _applicationRef) {\n this._type = _type;\n this._injector = _injector;\n this._viewContainerRef = _viewContainerRef;\n this._renderer = _renderer;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._applicationRef = _applicationRef;\n }\n open(content, context) {\n if (!this._windowRef) {\n this._contentRef = this._getContentRef(content, context);\n this._windowRef = this._viewContainerRef.createComponent(this._componentFactoryResolver.resolveComponentFactory(this._type), this._viewContainerRef.length, this._injector, this._contentRef.nodes);\n }\n return this._windowRef;\n }\n close() {\n if (this._windowRef) {\n this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView));\n this._windowRef = null;\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 _getContentRef(content, context) {\n if (!content) {\n return new ContentRef([]);\n }\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 }\n else {\n return new ContentRef([[this._renderer.createText(`${content}`)]]);\n }\n }\n}\n\nconst noop = () => { };\nconst ɵ0$1 = noop;\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 */\nlet ScrollBar = class ScrollBar {\n constructor(_document) {\n this._document = _document;\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() {\n const width = this._getWidth();\n return !this._isPresent(width) ? noop : this._adjustBody(width);\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 _adjustBody(scrollbarWidth) {\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 * Tells whether a scrollbar is currently present on the body.\n *\n * @return true if scrollbar is present, false otherwise\n */\n _isPresent(scrollbarWidth) {\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 * Calculates and returns the width of a scrollbar.\n *\n * @return the width of a scrollbar on this page\n */\n _getWidth() {\n const measurer = this._document.createElement('div');\n measurer.className = 'modal-scrollbar-measure';\n const body = this._document.body;\n body.appendChild(measurer);\n const width = measurer.getBoundingClientRect().width - measurer.clientWidth;\n body.removeChild(measurer);\n return width;\n }\n};\nScrollBar.ɵfac = function ScrollBar_Factory(t) { return new (t || ScrollBar)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nScrollBar.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\nScrollBar.ɵprov = ɵɵdefineInjectable({ factory: function ScrollBar_Factory() { return new ScrollBar(ɵɵinject(DOCUMENT)); }, token: ScrollBar, providedIn: \"root\" });\nScrollBar = __decorate([ __param(0, Inject(DOCUMENT))\n], ScrollBar);\n\nlet NgbModalBackdrop = class NgbModalBackdrop {\n};\nNgbModalBackdrop.ɵfac = function NgbModalBackdrop_Factory(t) { return new (t || NgbModalBackdrop)(); };\nNgbModalBackdrop.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbModalBackdrop, selectors: [[\"ngb-modal-backdrop\"]], hostAttrs: [2, \"z-index\", \"1050\"], hostVars: 2, hostBindings: function NgbModalBackdrop_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassMap(\"modal-backdrop fade show\" + (ctx.backdropClass ? \" \" + ctx.backdropClass : \"\"));\n } }, inputs: { backdropClass: \"backdropClass\" }, decls: 0, vars: 0, template: function NgbModalBackdrop_Template(rf, ctx) { }, encapsulation: 2 });\n__decorate([\n Input()\n], NgbModalBackdrop.prototype, \"backdropClass\", void 0);\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 */\nclass NgbActiveModal {\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) { }\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) { }\n}\n/**\n * A reference to the newly opened modal returned by the `NgbModal.open()` method.\n */\nclass NgbModalRef {\n constructor(_windowCmptRef, _contentRef, _backdropCmptRef, _beforeDismiss) {\n this._windowCmptRef = _windowCmptRef;\n this._contentRef = _contentRef;\n this._backdropCmptRef = _backdropCmptRef;\n this._beforeDismiss = _beforeDismiss;\n _windowCmptRef.instance.dismissEvent.subscribe((reason) => { this.dismiss(reason); });\n this.result = new Promise((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n this.result.then(null, () => { });\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() {\n if (this._contentRef && this._contentRef.componentRef) {\n return this._contentRef.componentRef.instance;\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) {\n if (this._windowCmptRef) {\n this._resolve(result);\n this._removeModalElements();\n }\n }\n _dismiss(reason) {\n this._reject(reason);\n this._removeModalElements();\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) {\n if (this._windowCmptRef) {\n if (!this._beforeDismiss) {\n this._dismiss(reason);\n }\n else {\n const dismiss = this._beforeDismiss();\n if (dismiss && dismiss.then) {\n dismiss.then(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 _removeModalElements() {\n const windowNativeEl = this._windowCmptRef.location.nativeElement;\n windowNativeEl.parentNode.removeChild(windowNativeEl);\n this._windowCmptRef.destroy();\n if (this._backdropCmptRef) {\n const backdropNativeEl = this._backdropCmptRef.location.nativeElement;\n backdropNativeEl.parentNode.removeChild(backdropNativeEl);\n this._backdropCmptRef.destroy();\n }\n if (this._contentRef && this._contentRef.viewRef) {\n this._contentRef.viewRef.destroy();\n }\n this._windowCmptRef = null;\n this._backdropCmptRef = null;\n this._contentRef = null;\n }\n}\n\nvar ModalDismissReasons;\n(function (ModalDismissReasons) {\n ModalDismissReasons[ModalDismissReasons[\"BACKDROP_CLICK\"] = 0] = \"BACKDROP_CLICK\";\n ModalDismissReasons[ModalDismissReasons[\"ESC\"] = 1] = \"ESC\";\n})(ModalDismissReasons || (ModalDismissReasons = {}));\n\nlet NgbModalWindow = class NgbModalWindow {\n constructor(_document, _elRef, _zone) {\n this._document = _document;\n this._elRef = _elRef;\n this._zone = _zone;\n this._closed$ = new Subject();\n this.backdrop = true;\n this.keyboard = true;\n this.dismissEvent = new EventEmitter();\n }\n dismiss(reason) { this.dismissEvent.emit(reason); }\n ngOnInit() { this._elWithFocus = this._document.activeElement; }\n ngAfterViewInit() {\n const { nativeElement } = this._elRef;\n this._zone.runOutsideAngular(() => {\n fromEvent(nativeElement, 'keydown')\n .pipe(takeUntil(this._closed$), \n // tslint:disable-next-line:deprecation\n filter(e => e.which === Key.Escape && this.keyboard))\n .subscribe(event => requestAnimationFrame(() => {\n if (!event.defaultPrevented) {\n this._zone.run(() => this.dismiss(ModalDismissReasons.ESC));\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(takeUntil(this._closed$), tap(() => preventClose = false), switchMap(() => fromEvent(nativeElement, 'mouseup').pipe(takeUntil(this._closed$), take(1))), filter(({ target }) => nativeElement === target))\n .subscribe(() => { preventClose = true; });\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 (this.backdrop === true && nativeElement === target && !preventClose) {\n this._zone.run(() => this.dismiss(ModalDismissReasons.BACKDROP_CLICK));\n }\n preventClose = false;\n });\n });\n if (!nativeElement.contains(document.activeElement)) {\n const autoFocusable = nativeElement.querySelector(`[ngbAutofocus]`);\n const firstFocusable = getFocusableBoundaryElements(nativeElement)[0];\n const elementToFocus = autoFocusable || firstFocusable || nativeElement;\n elementToFocus.focus();\n }\n }\n ngOnDestroy() {\n const body = this._document.body;\n const elWithFocus = this._elWithFocus;\n let elementToFocus;\n if (elWithFocus && elWithFocus['focus'] && body.contains(elWithFocus)) {\n elementToFocus = elWithFocus;\n }\n else {\n elementToFocus = body;\n }\n this._zone.runOutsideAngular(() => {\n setTimeout(() => elementToFocus.focus());\n this._elWithFocus = null;\n });\n this._closed$.next();\n }\n};\nNgbModalWindow.ɵfac = function NgbModalWindow_Factory(t) { return new (t || NgbModalWindow)(ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nNgbModalWindow.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbModalWindow, selectors: [[\"ngb-modal-window\"]], viewQuery: function NgbModalWindow_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵstaticViewQuery(_c31, true);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._dialogEl = _t.first);\n } }, hostAttrs: [\"role\", \"dialog\", \"tabindex\", \"-1\"], hostVars: 4, hostBindings: function NgbModalWindow_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-modal\", true)(\"aria-labelledby\", ctx.ariaLabelledBy);\n ɵngcc0.ɵɵclassMap(\"modal fade show d-block\" + (ctx.windowClass ? \" \" + ctx.windowClass : \"\"));\n } }, inputs: { backdrop: \"backdrop\", keyboard: \"keyboard\", ariaLabelledBy: \"ariaLabelledBy\", centered: \"centered\", scrollable: \"scrollable\", size: \"size\", windowClass: \"windowClass\" }, outputs: { dismissEvent: \"dismiss\" }, ngContentSelectors: _c5, decls: 8, vars: 2, consts: [[\"role\", \"document\"], [\"dialog\", \"\"], [1, \"modal-content\"]], template: function NgbModalWindow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"div\", 0, 1);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementStart(4, \"div\", 2);\n ɵngcc0.ɵɵprojection(5);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(7, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassMap(\"modal-dialog\" + (ctx.size ? \" modal-\" + ctx.size : \"\") + (ctx.centered ? \" modal-dialog-centered\" : \"\") + (ctx.scrollable ? \" modal-dialog-scrollable\" : \"\"));\n } }, styles: [\"ngb-modal-window .component-host-scrollable{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden}\"], encapsulation: 2 });\nNgbModalWindow.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: ElementRef },\n { type: NgZone }\n];\n__decorate([\n ViewChild('dialog', { static: true })\n], NgbModalWindow.prototype, \"_dialogEl\", void 0);\n__decorate([\n Input()\n], NgbModalWindow.prototype, \"ariaLabelledBy\", void 0);\n__decorate([\n Input()\n], NgbModalWindow.prototype, \"backdrop\", void 0);\n__decorate([\n Input()\n], NgbModalWindow.prototype, \"centered\", void 0);\n__decorate([\n Input()\n], NgbModalWindow.prototype, \"keyboard\", void 0);\n__decorate([\n Input()\n], NgbModalWindow.prototype, \"scrollable\", void 0);\n__decorate([\n Input()\n], NgbModalWindow.prototype, \"size\", void 0);\n__decorate([\n Input()\n], NgbModalWindow.prototype, \"windowClass\", void 0);\n__decorate([\n Output('dismiss')\n], NgbModalWindow.prototype, \"dismissEvent\", void 0);\nNgbModalWindow = __decorate([ __param(0, Inject(DOCUMENT))\n], NgbModalWindow);\n\nlet NgbModalStack = class NgbModalStack {\n constructor(_applicationRef, _injector, _document, _scrollBar, _rendererFactory, _ngZone) {\n this._applicationRef = _applicationRef;\n this._injector = _injector;\n this._document = _document;\n this._scrollBar = _scrollBar;\n this._rendererFactory = _rendererFactory;\n this._ngZone = _ngZone;\n this._activeWindowCmptHasChanged = new Subject();\n this._ariaHiddenValues = new Map();\n this._backdropAttributes = ['backdropClass'];\n this._modalRefs = [];\n this._windowAttributes = ['ariaLabelledBy', 'backdrop', 'centered', 'keyboard', 'scrollable', 'size', 'windowClass'];\n this._windowCmpts = [];\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 open(moduleCFR, contentInjector, content, options) {\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 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 if (!containerEl) {\n throw new Error(`The specified modal container \"${options.container || 'body'}\" was not found in the DOM.`);\n }\n const activeModal = new NgbActiveModal();\n const contentRef = this._getContentRef(moduleCFR, options.injector || contentInjector, content, activeModal, options);\n let backdropCmptRef = options.backdrop !== false ? this._attachBackdrop(moduleCFR, containerEl) : null;\n let windowCmptRef = this._attachWindowComponent(moduleCFR, containerEl, contentRef);\n let ngbModalRef = new NgbModalRef(windowCmptRef, contentRef, backdropCmptRef, options.beforeDismiss);\n this._registerModalRef(ngbModalRef);\n this._registerWindowCmpt(windowCmptRef);\n ngbModalRef.result.then(revertPaddingForScrollBar, revertPaddingForScrollBar);\n ngbModalRef.result.then(removeBodyClass, removeBodyClass);\n activeModal.close = (result) => { ngbModalRef.close(result); };\n activeModal.dismiss = (reason) => { ngbModalRef.dismiss(reason); };\n this._applyWindowOptions(windowCmptRef.instance, options);\n if (this._modalRefs.length === 1) {\n renderer.addClass(this._document.body, 'modal-open');\n }\n if (backdropCmptRef && backdropCmptRef.instance) {\n this._applyBackdropOptions(backdropCmptRef.instance, options);\n }\n return ngbModalRef;\n }\n dismissAll(reason) { this._modalRefs.forEach(ngbModalRef => ngbModalRef.dismiss(reason)); }\n hasOpenModals() { return this._modalRefs.length > 0; }\n _attachBackdrop(moduleCFR, containerEl) {\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 _attachWindowComponent(moduleCFR, containerEl, contentRef) {\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 _applyWindowOptions(windowInstance, options) {\n this._windowAttributes.forEach((optionName) => {\n if (isDefined(options[optionName])) {\n windowInstance[optionName] = options[optionName];\n }\n });\n }\n _applyBackdropOptions(backdropInstance, options) {\n this._backdropAttributes.forEach((optionName) => {\n if (isDefined(options[optionName])) {\n backdropInstance[optionName] = options[optionName];\n }\n });\n }\n _getContentRef(moduleCFR, contentInjector, content, activeModal, options) {\n if (!content) {\n return new ContentRef([]);\n }\n else if (content instanceof TemplateRef) {\n return this._createFromTemplateRef(content, activeModal);\n }\n else if (isString(content)) {\n return this._createFromString(content);\n }\n else {\n return this._createFromComponent(moduleCFR, contentInjector, content, activeModal, options);\n }\n }\n _createFromTemplateRef(content, activeModal) {\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 _createFromString(content) {\n const component = this._document.createTextNode(`${content}`);\n return new ContentRef([[component]]);\n }\n _createFromComponent(moduleCFR, contentInjector, content, context, options) {\n const contentCmptFactory = moduleCFR.resolveComponentFactory(content);\n const modalContentInjector = 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.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 _setAriaHidden(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 this._setAriaHidden(parent);\n }\n }\n _revertAriaHidden() {\n this._ariaHiddenValues.forEach((value, element) => {\n if (value) {\n element.setAttribute('aria-hidden', value);\n }\n else {\n element.removeAttribute('aria-hidden');\n }\n });\n this._ariaHiddenValues.clear();\n }\n _registerModalRef(ngbModalRef) {\n const unregisterModalRef = () => {\n const index = this._modalRefs.indexOf(ngbModalRef);\n if (index > -1) {\n this._modalRefs.splice(index, 1);\n }\n };\n this._modalRefs.push(ngbModalRef);\n ngbModalRef.result.then(unregisterModalRef, unregisterModalRef);\n }\n _registerWindowCmpt(ngbWindowCmpt) {\n this._windowCmpts.push(ngbWindowCmpt);\n this._activeWindowCmptHasChanged.next();\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};\nNgbModalStack.ɵfac = function NgbModalStack_Factory(t) { return new (t || NgbModalStack)(ɵngcc0.ɵɵinject(ɵngcc0.ApplicationRef), ɵngcc0.ɵɵinject(ɵngcc0.Injector), ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ScrollBar), ɵngcc0.ɵɵinject(ɵngcc0.RendererFactory2), ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\nNgbModalStack.ctorParameters = () => [\n { type: ApplicationRef },\n { type: Injector },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: ScrollBar },\n { type: RendererFactory2 },\n { type: NgZone }\n];\nNgbModalStack.ɵprov = ɵɵdefineInjectable({ factory: function NgbModalStack_Factory() { return new NgbModalStack(ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT), ɵɵinject(ScrollBar), ɵɵinject(RendererFactory2), ɵɵinject(NgZone)); }, token: NgbModalStack, providedIn: \"root\" });\nNgbModalStack = __decorate([ __param(2, Inject(DOCUMENT))\n], NgbModalStack);\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 */\nlet NgbModal = class NgbModal {\n constructor(_moduleCFR, _injector, _modalStack, _config) {\n this._moduleCFR = _moduleCFR;\n this._injector = _injector;\n this._modalStack = _modalStack;\n this._config = _config;\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, options = {}) {\n const combinedOptions = Object.assign({}, this._config, options);\n return this._modalStack.open(this._moduleCFR, this._injector, content, combinedOptions);\n }\n /**\n * Dismisses all currently displayed modal windows with the supplied reason.\n *\n * @since 3.1.0\n */\n dismissAll(reason) { this._modalStack.dismissAll(reason); }\n /**\n * Indicates if there are currently any open modal windows in the application.\n *\n * @since 3.3.0\n */\n hasOpenModals() { return this._modalStack.hasOpenModals(); }\n};\nNgbModal.ɵfac = function NgbModal_Factory(t) { return new (t || NgbModal)(ɵngcc0.ɵɵinject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵinject(ɵngcc0.Injector), ɵngcc0.ɵɵinject(NgbModalStack), ɵngcc0.ɵɵinject(NgbModalConfig)); };\nNgbModal.ctorParameters = () => [\n { type: ComponentFactoryResolver },\n { type: Injector },\n { type: NgbModalStack },\n { type: NgbModalConfig }\n];\nNgbModal.ɵprov = ɵɵdefineInjectable({ factory: function NgbModal_Factory() { return new NgbModal(ɵɵinject(ComponentFactoryResolver), ɵɵinject(INJECTOR), ɵɵinject(NgbModalStack), ɵɵinject(NgbModalConfig)); }, token: NgbModal, providedIn: \"root\" });\n\nlet NgbModalModule = class NgbModalModule {\n};\nNgbModalModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbModalModule });\nNgbModalModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbModalModule_Factory(t) { return new (t || NgbModalModule)(); }, providers: [NgbModal] });\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 */\nlet NgbNavConfig = class NgbNavConfig {\n constructor() {\n this.destroyOnHide = true;\n this.orientation = 'horizontal';\n this.roles = 'tablist';\n }\n};\nNgbNavConfig.ɵfac = function NgbNavConfig_Factory(t) { return new (t || NgbNavConfig)(); };\nNgbNavConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbNavConfig_Factory() { return new NgbNavConfig(); }, token: NgbNavConfig, providedIn: \"root\" });\n\nconst isValidNavId = (id) => isDefined(id) && id !== '';\nconst ɵ0$2 = isValidNavId;\nlet navCounter = 0;\n/**\n * This directive must be used to wrap content to be displayed in the nav.\n *\n * @since 5.2.0\n */\nlet NgbNavContent = class NgbNavContent {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbNavContent.ɵfac = function NgbNavContent_Factory(t) { return new (t || NgbNavContent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbNavContent.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbNavContent, selectors: [[\"ng-template\", \"ngbNavContent\", \"\"]] });\nNgbNavContent.ctorParameters = () => [\n { type: TemplateRef }\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 */\nlet NgbNavItem = class NgbNavItem {\n constructor(nav, elementRef) {\n this.elementRef = elementRef;\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 this.disabled = false;\n // TODO: cf https://github.com/angular/angular/issues/30106\n this._nav = nav;\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 ngOnInit() {\n if (!isDefined(this.domId)) {\n this.domId = `ngb-nav-${navCounter++}`;\n }\n }\n get active() { return this._nav.activeId === this.id; }\n get id() { return isValidNavId(this._id) ? this._id : this.domId; }\n get panelDomId() { return `${this.domId}-panel`; }\n isPanelInDom() {\n return (isDefined(this.destroyOnHide) ? !this.destroyOnHide : !this._nav.destroyOnHide) || this.active;\n }\n};\nNgbNavItem.ɵfac = function NgbNavItem_Factory(t) { return new (t || NgbNavItem)(ɵngcc0.ɵɵdirectiveInject(forwardRef(() => NgbNav)), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nNgbNavItem.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbNavItem, selectors: [[\"\", \"ngbNavItem\", \"\"]], contentQueries: function NgbNavItem_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbNavContent, false);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.contentTpls = _t);\n } }, hostVars: 2, hostBindings: function NgbNavItem_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"nav-item\", true);\n } }, inputs: { disabled: \"disabled\", domId: \"domId\", destroyOnHide: \"destroyOnHide\", _id: [\"ngbNavItem\", \"_id\"] }, exportAs: [\"ngbNavItem\"] });\nNgbNavItem.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [forwardRef(() => NgbNav),] }] },\n { type: ElementRef }\n];\n__decorate([\n Input()\n], NgbNavItem.prototype, \"destroyOnHide\", void 0);\n__decorate([\n Input()\n], NgbNavItem.prototype, \"disabled\", void 0);\n__decorate([\n Input()\n], NgbNavItem.prototype, \"domId\", void 0);\n__decorate([\n Input('ngbNavItem')\n], NgbNavItem.prototype, \"_id\", void 0);\n__decorate([\n ContentChildren(NgbNavContent, { descendants: false })\n], NgbNavItem.prototype, \"contentTpls\", void 0);\nNgbNavItem = __decorate([ __param(0, Inject(forwardRef(() => NgbNav)))\n], NgbNavItem);\n/**\n * A nav directive that helps with implementing tabbed navigation components.\n *\n * @since 5.2.0\n */\nlet NgbNav = class NgbNav {\n constructor(role, config, _cd) {\n this.role = role;\n this._cd = _cd;\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 this.activeIdChange = new EventEmitter();\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 this.navChange = new EventEmitter();\n this.destroyOnHide = config.destroyOnHide;\n this.orientation = config.orientation;\n this.roles = config.roles;\n }\n click(item) {\n if (!item.disabled) {\n this._updateActiveId(item.id);\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) { this._updateActiveId(id, false); }\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 _updateActiveId(nextId, emitNavChange = true) {\n if (this.activeId !== nextId) {\n let defaultPrevented = false;\n if (emitNavChange) {\n this.navChange.emit({ activeId: this.activeId, nextId, preventDefault: () => { defaultPrevented = true; } });\n }\n if (!defaultPrevented) {\n this.activeId = nextId;\n this.activeIdChange.emit(nextId);\n }\n }\n }\n};\nNgbNav.ɵfac = function NgbNav_Factory(t) { return new (t || NgbNav)(ɵngcc0.ɵɵinjectAttribute('role'), ɵngcc0.ɵɵdirectiveInject(NgbNavConfig), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nNgbNav.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbNav, selectors: [[\"\", \"ngbNav\", \"\"]], contentQueries: function NgbNav_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbNavItem, false);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.items = _t);\n } }, hostVars: 6, hostBindings: function NgbNav_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-orientation\", ctx.orientation === \"vertical\" && ctx.roles === \"tablist\" ? \"vertical\" : undefined)(\"role\", ctx.role ? ctx.role : ctx.roles ? \"tablist\" : undefined);\n ɵngcc0.ɵɵclassProp(\"nav\", true)(\"flex-column\", ctx.orientation === \"vertical\");\n } }, inputs: { destroyOnHide: \"destroyOnHide\", orientation: \"orientation\", roles: \"roles\", activeId: \"activeId\" }, outputs: { activeIdChange: \"activeIdChange\", navChange: \"navChange\" }, exportAs: [\"ngbNav\"] });\nNgbNav.ctorParameters = () => [\n { type: String, decorators: [{ type: Attribute, args: ['role',] }] },\n { type: NgbNavConfig },\n { type: ChangeDetectorRef }\n];\n__decorate([\n Input()\n], NgbNav.prototype, \"activeId\", void 0);\n__decorate([\n Output()\n], NgbNav.prototype, \"activeIdChange\", void 0);\n__decorate([\n Input()\n], NgbNav.prototype, \"destroyOnHide\", void 0);\n__decorate([\n Input()\n], NgbNav.prototype, \"orientation\", void 0);\n__decorate([\n Input()\n], NgbNav.prototype, \"roles\", void 0);\n__decorate([\n ContentChildren(NgbNavItem)\n], NgbNav.prototype, \"items\", void 0);\n__decorate([\n Output()\n], NgbNav.prototype, \"navChange\", void 0);\nNgbNav = __decorate([ __param(0, Attribute('role'))\n], NgbNav);\n/**\n * A directive to put on the nav link.\n *\n * @since 5.2.0\n */\nlet NgbNavLink = class NgbNavLink {\n constructor(role, navItem, nav) {\n this.role = role;\n this.navItem = navItem;\n this.nav = nav;\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};\nNgbNavLink.ɵfac = function NgbNavLink_Factory(t) { return new (t || NgbNavLink)(ɵngcc0.ɵɵinjectAttribute('role'), ɵngcc0.ɵɵdirectiveInject(NgbNavItem), ɵngcc0.ɵɵdirectiveInject(NgbNav)); };\nNgbNavLink.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbNavLink, selectors: [[\"a\", \"ngbNavLink\", \"\"]], hostAttrs: [\"href\", \"\"], hostVars: 14, hostBindings: function NgbNavLink_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function NgbNavLink_click_HostBindingHandler($event) { ctx.nav.click(ctx.navItem); return $event.preventDefault(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"id\", ctx.navItem.domId);\n ɵngcc0.ɵɵattribute(\"role\", ctx.role ? ctx.role : ctx.nav.roles ? \"tab\" : undefined)(\"tabindex\", ctx.navItem.disabled ? -1 : undefined)(\"aria-controls\", ctx.navItem.isPanelInDom() ? ctx.navItem.panelDomId : null)(\"aria-selected\", ctx.navItem.active)(\"aria-disabled\", ctx.navItem.disabled);\n ɵngcc0.ɵɵclassProp(\"nav-link\", true)(\"nav-item\", ctx.hasNavItemClass())(\"active\", ctx.navItem.active)(\"disabled\", ctx.navItem.disabled);\n } } });\nNgbNavLink.ctorParameters = () => [\n { type: String, decorators: [{ type: Attribute, args: ['role',] }] },\n { type: NgbNavItem },\n { type: NgbNav }\n];\nNgbNavLink = __decorate([ __param(0, Attribute('role'))\n], NgbNavLink);\n\n/**\n * The outlet where currently active nav content will be displayed.\n *\n * @since 5.2.0\n */\nlet NgbNavOutlet = class NgbNavOutlet {\n};\nNgbNavOutlet.ɵfac = function NgbNavOutlet_Factory(t) { return new (t || NgbNavOutlet)(); };\nNgbNavOutlet.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbNavOutlet, selectors: [[\"\", \"ngbNavOutlet\", \"\"]], hostVars: 2, hostBindings: function NgbNavOutlet_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"tab-content\", true);\n } }, inputs: { paneRole: \"paneRole\", nav: [\"ngbNavOutlet\", \"nav\"] }, attrs: _c32, decls: 3, vars: 1, consts: [[\"ngFor\", \"\", 3, \"ngForOf\"], [\"class\", \"tab-pane\", 3, \"id\", \"active\", 4, \"ngIf\"], [1, \"tab-pane\", 3, \"id\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]], template: function NgbNavOutlet_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbNavOutlet_ng_template_1_Template, 3, 1, \"ng-template\", 0);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.nav.items);\n } }, directives: [ɵngcc1.NgForOf, ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet], encapsulation: 2 });\n__decorate([\n Input()\n], NgbNavOutlet.prototype, \"paneRole\", void 0);\n__decorate([\n Input('ngbNavOutlet')\n], NgbNavOutlet.prototype, \"nav\", void 0);\n\nconst NGB_NAV_DIRECTIVES = [NgbNavContent, NgbNav, NgbNavItem, NgbNavLink, NgbNavOutlet];\nlet NgbNavModule = class NgbNavModule {\n};\nNgbNavModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbNavModule });\nNgbNavModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbNavModule_Factory(t) { return new (t || NgbNavModule)(); }, imports: [[CommonModule]] });\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 */\nlet NgbPaginationConfig = class NgbPaginationConfig {\n constructor() {\n this.disabled = false;\n this.boundaryLinks = false;\n this.directionLinks = true;\n this.ellipses = true;\n this.maxSize = 0;\n this.pageSize = 10;\n this.rotate = false;\n }\n};\nNgbPaginationConfig.ɵfac = function NgbPaginationConfig_Factory(t) { return new (t || NgbPaginationConfig)(); };\nNgbPaginationConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbPaginationConfig_Factory() { return new NgbPaginationConfig(); }, token: NgbPaginationConfig, providedIn: \"root\" });\n\n/**\n * A directive to match the 'ellipsis' link template\n *\n * @since 4.1.0\n */\nlet NgbPaginationEllipsis = class NgbPaginationEllipsis {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbPaginationEllipsis.ɵfac = function NgbPaginationEllipsis_Factory(t) { return new (t || NgbPaginationEllipsis)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbPaginationEllipsis.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbPaginationEllipsis, selectors: [[\"ng-template\", \"ngbPaginationEllipsis\", \"\"]] });\nNgbPaginationEllipsis.ctorParameters = () => [\n { type: TemplateRef }\n];\n/**\n * A directive to match the 'first' link template\n *\n * @since 4.1.0\n */\nlet NgbPaginationFirst = class NgbPaginationFirst {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbPaginationFirst.ɵfac = function NgbPaginationFirst_Factory(t) { return new (t || NgbPaginationFirst)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbPaginationFirst.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbPaginationFirst, selectors: [[\"ng-template\", \"ngbPaginationFirst\", \"\"]] });\nNgbPaginationFirst.ctorParameters = () => [\n { type: TemplateRef }\n];\n/**\n * A directive to match the 'last' link template\n *\n * @since 4.1.0\n */\nlet NgbPaginationLast = class NgbPaginationLast {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbPaginationLast.ɵfac = function NgbPaginationLast_Factory(t) { return new (t || NgbPaginationLast)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbPaginationLast.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbPaginationLast, selectors: [[\"ng-template\", \"ngbPaginationLast\", \"\"]] });\nNgbPaginationLast.ctorParameters = () => [\n { type: TemplateRef }\n];\n/**\n * A directive to match the 'next' link template\n *\n * @since 4.1.0\n */\nlet NgbPaginationNext = class NgbPaginationNext {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbPaginationNext.ɵfac = function NgbPaginationNext_Factory(t) { return new (t || NgbPaginationNext)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbPaginationNext.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbPaginationNext, selectors: [[\"ng-template\", \"ngbPaginationNext\", \"\"]] });\nNgbPaginationNext.ctorParameters = () => [\n { type: TemplateRef }\n];\n/**\n * A directive to match the page 'number' link template\n *\n * @since 4.1.0\n */\nlet NgbPaginationNumber = class NgbPaginationNumber {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbPaginationNumber.ɵfac = function NgbPaginationNumber_Factory(t) { return new (t || NgbPaginationNumber)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbPaginationNumber.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbPaginationNumber, selectors: [[\"ng-template\", \"ngbPaginationNumber\", \"\"]] });\nNgbPaginationNumber.ctorParameters = () => [\n { type: TemplateRef }\n];\n/**\n * A directive to match the 'previous' link template\n *\n * @since 4.1.0\n */\nlet NgbPaginationPrevious = class NgbPaginationPrevious {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbPaginationPrevious.ɵfac = function NgbPaginationPrevious_Factory(t) { return new (t || NgbPaginationPrevious)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbPaginationPrevious.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbPaginationPrevious, selectors: [[\"ng-template\", \"ngbPaginationPrevious\", \"\"]] });\nNgbPaginationPrevious.ctorParameters = () => [\n { type: TemplateRef }\n];\n/**\n * A component that displays page numbers and allows to customize them in several ways.\n */\nlet NgbPagination = class NgbPagination {\n constructor(config) {\n this.pageCount = 0;\n this.pages = [];\n /**\n * The current page.\n *\n * Page numbers start with `1`.\n */\n this.page = 1;\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 this.pageChange = new EventEmitter(true);\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 hasPrevious() { return this.page > 1; }\n hasNext() { return this.page < this.pageCount; }\n nextDisabled() { return !this.hasNext() || this.disabled; }\n previousDisabled() { return !this.hasPrevious() || this.disabled; }\n selectPage(pageNumber) { this._updatePages(pageNumber); }\n ngOnChanges(changes) { this._updatePages(this.page); }\n isEllipsis(pageNumber) { return pageNumber === -1; }\n /**\n * Appends ellipses and first/last page number to the displayed pages\n */\n _applyEllipses(start, end) {\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 }\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 }\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 * 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 _applyRotation() {\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 if (this.page <= leftOffset) {\n // very beginning, no rotation -> [0..maxSize]\n end = this.maxSize;\n }\n else if (this.pageCount - this.page < leftOffset) {\n // very end, no rotation -> [len-maxSize..len]\n start = this.pageCount - this.maxSize;\n }\n else {\n // rotate\n start = this.page - leftOffset - 1;\n end = this.page + rightOffset;\n }\n return [start, end];\n }\n /**\n * Paginates page numbers based on maxSize items per page.\n */\n _applyPagination() {\n let page = Math.ceil(this.page / this.maxSize) - 1;\n let start = page * this.maxSize;\n let end = start + this.maxSize;\n return [start, end];\n }\n _setPageInRange(newPageNo) {\n const prevPageNo = this.page;\n this.page = getValueInRange(newPageNo, this.pageCount, 1);\n if (this.page !== prevPageNo && isNumber(this.collectionSize)) {\n this.pageChange.emit(this.page);\n }\n }\n _updatePages(newPage) {\n this.pageCount = Math.ceil(this.collectionSize / this.pageSize);\n if (!isNumber(this.pageCount)) {\n this.pageCount = 0;\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 // set page within 1..max range\n this._setPageInRange(newPage);\n // apply maxSize if necessary\n if (this.maxSize > 0 && this.pageCount > this.maxSize) {\n let start = 0;\n let end = this.pageCount;\n // either paginating or rotating page numbers\n if (this.rotate) {\n [start, end] = this._applyRotation();\n }\n else {\n [start, end] = this._applyPagination();\n }\n this.pages = this.pages.slice(start, end);\n // adding ellipses\n this._applyEllipses(start, end);\n }\n }\n};\nNgbPagination.ɵfac = function NgbPagination_Factory(t) { return new (t || NgbPagination)(ɵngcc0.ɵɵdirectiveInject(NgbPaginationConfig)); };\nNgbPagination.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbPagination, selectors: [[\"ngb-pagination\"]], contentQueries: function NgbPagination_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbPaginationEllipsis, true);\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbPaginationFirst, true);\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbPaginationLast, true);\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbPaginationNext, true);\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbPaginationNumber, true);\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbPaginationPrevious, true);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tplEllipsis = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tplFirst = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tplLast = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tplNext = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tplNumber = _t.first);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tplPrevious = _t.first);\n } }, hostAttrs: [\"role\", \"navigation\"], inputs: { page: \"page\", disabled: \"disabled\", boundaryLinks: \"boundaryLinks\", directionLinks: \"directionLinks\", ellipses: \"ellipses\", maxSize: \"maxSize\", pageSize: \"pageSize\", rotate: \"rotate\", size: \"size\", collectionSize: \"collectionSize\" }, outputs: { pageChange: \"pageChange\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 32, vars: 7, consts: function () { let i18n_34; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_pagination_first$$FESM2015_NG_BOOTSTRAP_JS__35 = goog.getMsg(\"\\u00AB\\u00AB\");\n i18n_34 = MSG_EXTERNAL_ngb_pagination_first$$FESM2015_NG_BOOTSTRAP_JS__35;\n }\n else {\n i18n_34 = $localize `:@@ngb.pagination.first␟656506dfd46380956a655f919f1498d018f75ca0␟6867721956102594380:««`;\n } let i18n_36; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_pagination_previous$$FESM2015_NG_BOOTSTRAP_JS__37 = goog.getMsg(\"\\u00AB\");\n i18n_36 = MSG_EXTERNAL_ngb_pagination_previous$$FESM2015_NG_BOOTSTRAP_JS__37;\n }\n else {\n i18n_36 = $localize `:@@ngb.pagination.previous␟6e52b6ee77a4848d899dd21b591c6fd499e3aef3␟6479320895410098858:«`;\n } let i18n_38; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_pagination_next$$FESM2015_NG_BOOTSTRAP_JS__39 = goog.getMsg(\"\\u00BB\");\n i18n_38 = MSG_EXTERNAL_ngb_pagination_next$$FESM2015_NG_BOOTSTRAP_JS__39;\n }\n else {\n i18n_38 = $localize `:@@ngb.pagination.next␟ba9cbb4ff311464308a3627e4f1c3345d9fe6d7d␟5458177150283468089:»`;\n } let i18n_40; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_pagination_last$$FESM2015_NG_BOOTSTRAP_JS__41 = goog.getMsg(\"\\u00BB\\u00BB\");\n i18n_40 = MSG_EXTERNAL_ngb_pagination_last$$FESM2015_NG_BOOTSTRAP_JS__41;\n }\n else {\n i18n_40 = $localize `:@@ngb.pagination.last␟49f27a460bc97e7e00be5b37098bfa79884fc7d9␟5277020320267646988:»»`;\n } let i18n_42; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_pagination_first_aria$$FESM2015_NG_BOOTSTRAP_JS__43 = goog.getMsg(\"First\");\n i18n_42 = MSG_EXTERNAL_ngb_pagination_first_aria$$FESM2015_NG_BOOTSTRAP_JS__43;\n }\n else {\n i18n_42 = $localize `:@@ngb.pagination.first-aria␟f2f852318759c6396b5d3d17031d53817d7b38cc␟2241508602425256033:First`;\n } let i18n_45; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_pagination_previous_aria$$FESM2015_NG_BOOTSTRAP_JS__46 = goog.getMsg(\"Previous\");\n i18n_45 = MSG_EXTERNAL_ngb_pagination_previous_aria$$FESM2015_NG_BOOTSTRAP_JS__46;\n }\n else {\n i18n_45 = $localize `:@@ngb.pagination.previous-aria␟680d5c75b7fd8d37961083608b9fcdc4167b4c43␟4452427314943113135:Previous`;\n } let i18n_50; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_pagination_next_aria$$FESM2015_NG_BOOTSTRAP_JS__51 = goog.getMsg(\"Next\");\n i18n_50 = MSG_EXTERNAL_ngb_pagination_next_aria$$FESM2015_NG_BOOTSTRAP_JS__51;\n }\n else {\n i18n_50 = $localize `:@@ngb.pagination.next-aria␟f732c304c7433e5a83ffcd862c3dce709a0f4982␟3885497195825665706:Next`;\n } let i18n_52; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_pagination_last_aria$$FESM2015_NG_BOOTSTRAP_JS__53 = goog.getMsg(\"Last\");\n i18n_52 = MSG_EXTERNAL_ngb_pagination_last_aria$$FESM2015_NG_BOOTSTRAP_JS__53;\n }\n else {\n i18n_52 = $localize `:@@ngb.pagination.last-aria␟5c729788ba138508aca1bec050b610f7bf81db3e␟4882268002141858767:Last`;\n } return [[\"first\", \"\"], [\"previous\", \"\"], [\"next\", \"\"], [\"last\", \"\"], [\"ellipsis\", \"\"], [\"defaultNumber\", \"\"], [\"class\", \"page-item\", 3, \"disabled\", 4, \"ngIf\"], [\"class\", \"page-item\", 3, \"active\", \"disabled\", 4, \"ngFor\", \"ngForOf\"], [\"aria-hidden\", \"true\"], i18n_34, i18n_36, i18n_38, i18n_40, [\"class\", \"sr-only\", 4, \"ngIf\"], [1, \"sr-only\"], [1, \"page-item\"], [\"aria-label\", i18n_42, \"href\", \"\", 1, \"page-link\", 3, \"click\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"aria-label\", i18n_45, \"href\", \"\", 1, \"page-link\", 3, \"click\"], [\"class\", \"page-link\", \"tabindex\", \"-1\", \"aria-disabled\", \"true\", 4, \"ngIf\"], [\"class\", \"page-link\", \"href\", \"\", 3, \"click\", 4, \"ngIf\"], [\"tabindex\", \"-1\", \"aria-disabled\", \"true\", 1, \"page-link\"], [\"href\", \"\", 1, \"page-link\", 3, \"click\"], [\"aria-label\", i18n_50, \"href\", \"\", 1, \"page-link\", 3, \"click\"], [\"aria-label\", i18n_52, \"href\", \"\", 1, \"page-link\", 3, \"click\"]]; }, template: function NgbPagination_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbPagination_ng_template_1_Template, 2, 0, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbPagination_ng_template_4_Template, 2, 0, \"ng-template\", null, 1, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵtemplate(7, NgbPagination_ng_template_7_Template, 2, 0, \"ng-template\", null, 2, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(9, \"\\n \");\n ɵngcc0.ɵɵtemplate(10, NgbPagination_ng_template_10_Template, 2, 0, \"ng-template\", null, 3, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(12, \"\\n \");\n ɵngcc0.ɵɵtemplate(13, NgbPagination_ng_template_13_Template, 1, 0, \"ng-template\", null, 4, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(15, \"\\n \");\n ɵngcc0.ɵɵtemplate(16, NgbPagination_ng_template_16_Template, 3, 2, \"ng-template\", null, 5, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(18, \"\\n \");\n ɵngcc0.ɵɵelementStart(19, \"ul\");\n ɵngcc0.ɵɵtext(20, \"\\n \");\n ɵngcc0.ɵɵtemplate(21, NgbPagination_li_21_Template, 7, 9, \"li\", 6);\n ɵngcc0.ɵɵtext(22, \"\\n\\n \");\n ɵngcc0.ɵɵtemplate(23, NgbPagination_li_23_Template, 7, 8, \"li\", 6);\n ɵngcc0.ɵɵtext(24, \"\\n \");\n ɵngcc0.ɵɵtemplate(25, NgbPagination_li_25_Template, 6, 7, \"li\", 7);\n ɵngcc0.ɵɵtext(26, \"\\n \");\n ɵngcc0.ɵɵtemplate(27, NgbPagination_li_27_Template, 7, 9, \"li\", 6);\n ɵngcc0.ɵɵtext(28, \"\\n\\n \");\n ɵngcc0.ɵɵtemplate(29, NgbPagination_li_29_Template, 7, 9, \"li\", 6);\n ɵngcc0.ɵɵtext(30, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(31, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(19);\n ɵngcc0.ɵɵclassMap(\"pagination\" + (ctx.size ? \" pagination-\" + ctx.size : \"\"));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.boundaryLinks);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.directionLinks);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.pages);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.directionLinks);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.boundaryLinks);\n } }, directives: [ɵngcc1.NgIf, ɵngcc1.NgForOf, ɵngcc1.NgTemplateOutlet], encapsulation: 2, changeDetection: 0 });\nNgbPagination.ctorParameters = () => [\n { type: NgbPaginationConfig }\n];\n__decorate([\n ContentChild(NgbPaginationEllipsis, { static: false })\n], NgbPagination.prototype, \"tplEllipsis\", void 0);\n__decorate([\n ContentChild(NgbPaginationFirst, { static: false })\n], NgbPagination.prototype, \"tplFirst\", void 0);\n__decorate([\n ContentChild(NgbPaginationLast, { static: false })\n], NgbPagination.prototype, \"tplLast\", void 0);\n__decorate([\n ContentChild(NgbPaginationNext, { static: false })\n], NgbPagination.prototype, \"tplNext\", void 0);\n__decorate([\n ContentChild(NgbPaginationNumber, { static: false })\n], NgbPagination.prototype, \"tplNumber\", void 0);\n__decorate([\n ContentChild(NgbPaginationPrevious, { static: false })\n], NgbPagination.prototype, \"tplPrevious\", void 0);\n__decorate([\n Input()\n], NgbPagination.prototype, \"disabled\", void 0);\n__decorate([\n Input()\n], NgbPagination.prototype, \"boundaryLinks\", void 0);\n__decorate([\n Input()\n], NgbPagination.prototype, \"directionLinks\", void 0);\n__decorate([\n Input()\n], NgbPagination.prototype, \"ellipses\", void 0);\n__decorate([\n Input()\n], NgbPagination.prototype, \"rotate\", void 0);\n__decorate([\n Input()\n], NgbPagination.prototype, \"collectionSize\", void 0);\n__decorate([\n Input()\n], NgbPagination.prototype, \"maxSize\", void 0);\n__decorate([\n Input()\n], NgbPagination.prototype, \"page\", void 0);\n__decorate([\n Input()\n], NgbPagination.prototype, \"pageSize\", void 0);\n__decorate([\n Output()\n], NgbPagination.prototype, \"pageChange\", void 0);\n__decorate([\n Input()\n], NgbPagination.prototype, \"size\", void 0);\n\nconst DIRECTIVES = [\n NgbPagination, NgbPaginationEllipsis, NgbPaginationFirst, NgbPaginationLast, NgbPaginationNext, NgbPaginationNumber,\n NgbPaginationPrevious\n];\nlet NgbPaginationModule = class NgbPaginationModule {\n};\nNgbPaginationModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbPaginationModule });\nNgbPaginationModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbPaginationModule_Factory(t) { return new (t || NgbPaginationModule)(); }, imports: [[CommonModule]] });\n\nclass Trigger {\n constructor(open, close) {\n this.open = open;\n this.close = close;\n if (!close) {\n this.close = open;\n }\n }\n isManual() { return this.open === 'manual' || this.close === 'manual'; }\n}\nconst DEFAULT_ALIASES = {\n 'hover': ['mouseenter', 'mouseleave'],\n 'focus': ['focusin', 'focusout'],\n};\nfunction parseTriggers(triggers, aliases = DEFAULT_ALIASES) {\n const trimmedTriggers = (triggers || '').trim();\n if (trimmedTriggers.length === 0) {\n return [];\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 const manualTriggers = parsedTriggers.filter(triggerPair => triggerPair.isManual());\n if (manualTriggers.length > 1) {\n throw 'Triggers parse error: only one manual trigger is allowed';\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 return parsedTriggers;\n}\nfunction observeTriggers(renderer, nativeElement, triggers, isOpenedFn) {\n return new Observable(subscriber => {\n const listeners = [];\n const openFn = () => subscriber.next(true);\n const closeFn = () => subscriber.next(false);\n const toggleFn = () => subscriber.next(!isOpenedFn());\n triggers.forEach((trigger) => {\n if (trigger.open === trigger.close) {\n listeners.push(renderer.listen(nativeElement, trigger.open, toggleFn));\n }\n else {\n listeners.push(renderer.listen(nativeElement, trigger.open, openFn), renderer.listen(nativeElement, trigger.close, closeFn));\n }\n });\n return () => { listeners.forEach(unsubscribeFn => unsubscribeFn()); };\n });\n}\nconst delayOrNoop = (time) => time > 0 ? delay(time) : (a) => a;\nconst ɵ0$3 = delayOrNoop;\nfunction triggerDelay(openDelay, closeDelay, isOpenedFn) {\n return (input$) => {\n let pending = null;\n const filteredInput$ = input$.pipe(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 }), 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(filter(event => {\n if (event === pending) {\n pending = null;\n return event.open !== isOpenedFn();\n }\n return false;\n }), map(event => event.open));\n };\n}\nfunction listenToTriggers(renderer, nativeElement, triggers, isOpenedFn, openFn, closeFn, openDelay = 0, closeDelay = 0) {\n const parsedTriggers = parseTriggers(triggers);\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return () => { };\n }\n const subscription = observeTriggers(renderer, nativeElement, parsedTriggers, isOpenedFn)\n .pipe(triggerDelay(openDelay, closeDelay, isOpenedFn))\n .subscribe(open => (open ? openFn() : closeFn()));\n return () => subscription.unsubscribe();\n}\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 */\nlet NgbPopoverConfig = class NgbPopoverConfig {\n constructor() {\n this.autoClose = true;\n this.placement = 'auto';\n this.triggers = 'click';\n this.disablePopover = false;\n this.openDelay = 0;\n this.closeDelay = 0;\n }\n};\nNgbPopoverConfig.ɵfac = function NgbPopoverConfig_Factory(t) { return new (t || NgbPopoverConfig)(); };\nNgbPopoverConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbPopoverConfig_Factory() { return new NgbPopoverConfig(); }, token: NgbPopoverConfig, providedIn: \"root\" });\n\nlet nextId$3 = 0;\nlet NgbPopoverWindow = class NgbPopoverWindow {\n isTitleTemplate() { return this.title instanceof TemplateRef; }\n};\nNgbPopoverWindow.ɵfac = function NgbPopoverWindow_Factory(t) { return new (t || NgbPopoverWindow)(); };\nNgbPopoverWindow.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbPopoverWindow, selectors: [[\"ngb-popover-window\"]], hostAttrs: [\"role\", \"tooltip\"], hostVars: 3, hostBindings: function NgbPopoverWindow_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"id\", ctx.id);\n ɵngcc0.ɵɵclassMap(\"popover\" + (ctx.popoverClass ? \" \" + ctx.popoverClass : \"\"));\n } }, inputs: { title: \"title\", id: \"id\", popoverClass: \"popoverClass\", context: \"context\" }, ngContentSelectors: _c5, decls: 7, vars: 1, consts: [[1, \"arrow\"], [\"class\", \"popover-header\", 4, \"ngIf\"], [1, \"popover-body\"], [1, \"popover-header\"], [\"simpleTitle\", \"\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]], template: function NgbPopoverWindow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelement(1, \"div\", 0);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵtemplate(3, NgbPopoverWindow_h3_3_Template, 7, 2, \"h3\", 1);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵelementStart(5, \"div\", 2);\n ɵngcc0.ɵɵprojection(6);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.title != null);\n } }, directives: [ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet], styles: [\"ngb-popover-window.bs-popover-bottom>.arrow,ngb-popover-window.bs-popover-top>.arrow{left:50%;margin-left:-.5rem}ngb-popover-window.bs-popover-bottom-left>.arrow,ngb-popover-window.bs-popover-top-left>.arrow{left:2em}ngb-popover-window.bs-popover-bottom-right>.arrow,ngb-popover-window.bs-popover-top-right>.arrow{left:auto;right:2em}ngb-popover-window.bs-popover-left>.arrow,ngb-popover-window.bs-popover-right>.arrow{top:50%;margin-top:-.5rem}ngb-popover-window.bs-popover-left-top>.arrow,ngb-popover-window.bs-popover-right-top>.arrow{top:.7em}ngb-popover-window.bs-popover-left-bottom>.arrow,ngb-popover-window.bs-popover-right-bottom>.arrow{top:auto;bottom:.7em}\"], encapsulation: 2, changeDetection: 0 });\n__decorate([\n Input()\n], NgbPopoverWindow.prototype, \"title\", void 0);\n__decorate([\n Input()\n], NgbPopoverWindow.prototype, \"id\", void 0);\n__decorate([\n Input()\n], NgbPopoverWindow.prototype, \"popoverClass\", void 0);\n__decorate([\n Input()\n], NgbPopoverWindow.prototype, \"context\", void 0);\n/**\n * A lightweight and extensible directive for fancy popover creation.\n */\nlet NgbPopover = class NgbPopover {\n constructor(_elementRef, _renderer, injector, componentFactoryResolver, viewContainerRef, config, _ngZone, _document, _changeDetector, applicationRef) {\n this._elementRef = _elementRef;\n this._renderer = _renderer;\n this._ngZone = _ngZone;\n this._document = _document;\n this._changeDetector = _changeDetector;\n /**\n * An event emitted when the popover is shown. Contains no payload.\n */\n this.shown = new EventEmitter();\n /**\n * An event emitted when the popover is hidden. Contains no payload.\n */\n this.hidden = new EventEmitter();\n this._ngbPopoverWindowId = `ngb-popover-${nextId$3++}`;\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(NgbPopoverWindow, injector, viewContainerRef, _renderer, componentFactoryResolver, applicationRef);\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\n if (this._windowRef) {\n positionElements(this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement, this.container === 'body', 'bs-popover');\n }\n });\n }\n _isDisabled() {\n if (this.disablePopover) {\n return true;\n }\n if (!this.ngbPopover && !this.popoverTitle) {\n return true;\n }\n return false;\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) {\n if (!this._windowRef && !this._isDisabled()) {\n this._windowRef = this._popupService.open(this.ngbPopover, context);\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 this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbPopoverWindowId);\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\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 // 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 ngbAutoClose(this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden, [this._windowRef.location.nativeElement]);\n this.shown.emit();\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();\n this._windowRef = null;\n this.hidden.emit();\n this._changeDetector.markForCheck();\n }\n }\n /**\n * Toggles the popover.\n *\n * This is considered to be a \"manual\" triggering of the popover.\n */\n toggle() {\n if (this._windowRef) {\n this.close();\n }\n else {\n this.open();\n }\n }\n /**\n * Returns `true`, if the popover is currently shown.\n */\n isOpen() { return this._windowRef != null; }\n ngOnInit() {\n this._unregisterListenersFn = listenToTriggers(this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this), this.close.bind(this), +this.openDelay, +this.closeDelay);\n }\n ngOnChanges({ ngbPopover, popoverTitle, disablePopover, popoverClass }) {\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 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};\nNgbPopover.ɵfac = function NgbPopover_Factory(t) { return new (t || NgbPopover)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Injector), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(NgbPopoverConfig), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ApplicationRef)); };\nNgbPopover.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbPopover, selectors: [[\"\", \"ngbPopover\", \"\"]], inputs: { autoClose: \"autoClose\", placement: \"placement\", triggers: \"triggers\", container: \"container\", disablePopover: \"disablePopover\", popoverClass: \"popoverClass\", openDelay: \"openDelay\", closeDelay: \"closeDelay\", ngbPopover: \"ngbPopover\", popoverTitle: \"popoverTitle\" }, outputs: { shown: \"shown\", hidden: \"hidden\" }, exportAs: [\"ngbPopover\"], features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nNgbPopover.ctorParameters = () => [\n { type: ElementRef },\n { type: Renderer2 },\n { type: Injector },\n { type: ComponentFactoryResolver },\n { type: ViewContainerRef },\n { type: NgbPopoverConfig },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: ChangeDetectorRef },\n { type: ApplicationRef }\n];\n__decorate([\n Input()\n], NgbPopover.prototype, \"autoClose\", void 0);\n__decorate([\n Input()\n], NgbPopover.prototype, \"ngbPopover\", void 0);\n__decorate([\n Input()\n], NgbPopover.prototype, \"popoverTitle\", void 0);\n__decorate([\n Input()\n], NgbPopover.prototype, \"placement\", void 0);\n__decorate([\n Input()\n], NgbPopover.prototype, \"triggers\", void 0);\n__decorate([\n Input()\n], NgbPopover.prototype, \"container\", void 0);\n__decorate([\n Input()\n], NgbPopover.prototype, \"disablePopover\", void 0);\n__decorate([\n Input()\n], NgbPopover.prototype, \"popoverClass\", void 0);\n__decorate([\n Input()\n], NgbPopover.prototype, \"openDelay\", void 0);\n__decorate([\n Input()\n], NgbPopover.prototype, \"closeDelay\", void 0);\n__decorate([\n Output()\n], NgbPopover.prototype, \"shown\", void 0);\n__decorate([\n Output()\n], NgbPopover.prototype, \"hidden\", void 0);\nNgbPopover = __decorate([ __param(7, Inject(DOCUMENT))\n], NgbPopover);\n\nlet NgbPopoverModule = class NgbPopoverModule {\n};\nNgbPopoverModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbPopoverModule });\nNgbPopoverModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbPopoverModule_Factory(t) { return new (t || NgbPopoverModule)(); }, imports: [[CommonModule]] });\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 */\nlet NgbProgressbarConfig = class NgbProgressbarConfig {\n constructor() {\n this.max = 100;\n this.animated = false;\n this.striped = false;\n this.showValue = false;\n }\n};\nNgbProgressbarConfig.ɵfac = function NgbProgressbarConfig_Factory(t) { return new (t || NgbProgressbarConfig)(); };\nNgbProgressbarConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbProgressbarConfig_Factory() { return new NgbProgressbarConfig(); }, token: NgbProgressbarConfig, providedIn: \"root\" });\n\n/**\n * A directive that provides feedback on the progress of a workflow or an action.\n */\nlet NgbProgressbar = class NgbProgressbar {\n constructor(config) {\n /**\n * The current value for the progress bar.\n *\n * Should be in the `[0, max]` range.\n */\n this.value = 0;\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 * The maximal value to be displayed in the progress bar.\n *\n * Should be a positive number. Will default to 100 otherwise.\n */\n set max(max) {\n this._max = !isNumber(max) || max <= 0 ? 100 : max;\n }\n get max() { return this._max; }\n getValue() { return getValueInRange(this.value, this.max); }\n getPercentValue() { return 100 * this.getValue() / this.max; }\n};\nNgbProgressbar.ɵfac = function NgbProgressbar_Factory(t) { return new (t || NgbProgressbar)(ɵngcc0.ɵɵdirectiveInject(NgbProgressbarConfig)); };\nNgbProgressbar.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbProgressbar, selectors: [[\"ngb-progressbar\"]], inputs: { value: \"value\", max: \"max\", animated: \"animated\", striped: \"striped\", textType: \"textType\", type: \"type\", showValue: \"showValue\", height: \"height\" }, ngContentSelectors: _c5, decls: 10, vars: 13, consts: function () { let i18n_54; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_progressbar_value$$FESM2015_NG_BOOTSTRAP_JS__55 = goog.getMsg(\"{$interpolation}%\", { \"interpolation\": \"\\uFFFD0\\uFFFD\" });\n i18n_54 = MSG_EXTERNAL_ngb_progressbar_value$$FESM2015_NG_BOOTSTRAP_JS__55;\n }\n else {\n i18n_54 = $localize `:@@ngb.progressbar.value␟04d611d19c117c60c9e14d0a04399a027184bc77␟5214781723415385277:${\"\\uFFFD0\\uFFFD\"}:INTERPOLATION:%`;\n } return [[1, \"progress\"], [\"role\", \"progressbar\", \"aria-valuemin\", \"0\"], [4, \"ngIf\"], i18n_54]; }, template: function NgbProgressbar_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"div\", 0);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵelementStart(3, \"div\", 1);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵtemplate(5, NgbProgressbar_span_5_Template, 2, 1, \"span\", 2);\n ɵngcc0.ɵɵprojection(6);\n ɵngcc0.ɵɵtext(7, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(8, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(9, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"height\", ctx.height);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵclassMapInterpolate4(\"progress-bar\", ctx.type ? \" bg-\" + ctx.type : \"\", \"\", ctx.textType ? \" text-\" + ctx.textType : \"\", \"\\n \", ctx.animated ? \" progress-bar-animated\" : \"\", \"\", ctx.striped ? \" progress-bar-striped\" : \"\", \"\");\n ɵngcc0.ɵɵstyleProp(\"width\", ctx.getPercentValue(), \"%\");\n ɵngcc0.ɵɵattribute(\"aria-valuenow\", ctx.getValue())(\"aria-valuemax\", ctx.max);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.showValue);\n } }, directives: [ɵngcc1.NgIf], encapsulation: 2, changeDetection: 0 });\nNgbProgressbar.ctorParameters = () => [\n { type: NgbProgressbarConfig }\n];\n__decorate([\n Input()\n], NgbProgressbar.prototype, \"max\", null);\n__decorate([\n Input()\n], NgbProgressbar.prototype, \"animated\", void 0);\n__decorate([\n Input()\n], NgbProgressbar.prototype, \"striped\", void 0);\n__decorate([\n Input()\n], NgbProgressbar.prototype, \"showValue\", void 0);\n__decorate([\n Input()\n], NgbProgressbar.prototype, \"textType\", void 0);\n__decorate([\n Input()\n], NgbProgressbar.prototype, \"type\", void 0);\n__decorate([\n Input()\n], NgbProgressbar.prototype, \"value\", void 0);\n__decorate([\n Input()\n], NgbProgressbar.prototype, \"height\", void 0);\n\nlet NgbProgressbarModule = class NgbProgressbarModule {\n};\nNgbProgressbarModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbProgressbarModule });\nNgbProgressbarModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbProgressbarModule_Factory(t) { return new (t || NgbProgressbarModule)(); }, imports: [[CommonModule]] });\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 */\nlet NgbRatingConfig = class NgbRatingConfig {\n constructor() {\n this.max = 10;\n this.readonly = false;\n this.resettable = false;\n }\n};\nNgbRatingConfig.ɵfac = function NgbRatingConfig_Factory(t) { return new (t || NgbRatingConfig)(); };\nNgbRatingConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbRatingConfig_Factory() { return new NgbRatingConfig(); }, token: NgbRatingConfig, providedIn: \"root\" });\n\nconst NGB_RATING_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbRating),\n multi: true\n};\n/**\n * A directive that helps visualising and interacting with a star rating bar.\n */\nlet NgbRating = class NgbRating {\n constructor(config, _changeDetectorRef) {\n this._changeDetectorRef = _changeDetectorRef;\n this.contexts = [];\n this.disabled = false;\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 this.hover = new EventEmitter();\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 this.leave = new EventEmitter();\n /**\n * An event emitted when the user selects a new rating.\n *\n * Event payload equals to the newly selected rating.\n */\n this.rateChange = new EventEmitter(true);\n this.onChange = (_) => { };\n this.onTouched = () => { };\n this.max = config.max;\n this.readonly = config.readonly;\n }\n ariaValueText() { return `${this.nextRate} out of ${this.max}`; }\n enter(value) {\n if (!this.readonly && !this.disabled) {\n this._updateState(value);\n }\n this.hover.emit(value);\n }\n handleBlur() { this.onTouched(); }\n handleClick(value) {\n if (!this.readonly && !this.disabled) {\n this.update(this.resettable && this.rate === value ? 0 : value);\n }\n }\n handleKeyDown(event) {\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 // note 'return' in default case\n event.preventDefault();\n }\n ngOnChanges(changes) {\n if (changes['rate']) {\n this.update(this.rate);\n }\n }\n ngOnInit() {\n this.contexts = Array.from({ length: this.max }, (v, k) => ({ fill: 0, index: k }));\n this._updateState(this.rate);\n }\n registerOnChange(fn) { this.onChange = fn; }\n registerOnTouched(fn) { this.onTouched = fn; }\n reset() {\n this.leave.emit(this.nextRate);\n this._updateState(this.rate);\n }\n setDisabledState(isDisabled) { this.disabled = isDisabled; }\n update(value, internalChange = true) {\n const newRate = getValueInRange(value, this.max, 0);\n if (!this.readonly && !this.disabled && 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 writeValue(value) {\n this.update(value, false);\n this._changeDetectorRef.markForCheck();\n }\n _getFillValue(index) {\n const diff = this.nextRate - index;\n if (diff >= 1) {\n return 100;\n }\n if (diff < 1 && diff > 0) {\n return parseInt((diff * 100).toFixed(2), 10);\n }\n return 0;\n }\n _updateState(nextValue) {\n this.nextRate = nextValue;\n this.contexts.forEach((context, index) => context.fill = this._getFillValue(index));\n }\n};\nNgbRating.ɵfac = function NgbRating_Factory(t) { return new (t || NgbRating)(ɵngcc0.ɵɵdirectiveInject(NgbRatingConfig), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nNgbRating.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbRating, selectors: [[\"ngb-rating\"]], contentQueries: function NgbRating_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, TemplateRef, true);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.starTemplateFromContent = _t.first);\n } }, hostAttrs: [\"role\", \"slider\", \"aria-valuemin\", \"0\", 1, \"d-inline-flex\"], hostVars: 5, hostBindings: function NgbRating_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"blur\", function NgbRating_blur_HostBindingHandler() { return ctx.handleBlur(); })(\"keydown\", function NgbRating_keydown_HostBindingHandler($event) { return ctx.handleKeyDown($event); })(\"mouseleave\", function NgbRating_mouseleave_HostBindingHandler() { return ctx.reset(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"tabindex\", ctx.disabled ? -1 : 0);\n ɵngcc0.ɵɵattribute(\"aria-valuemax\", ctx.max)(\"aria-valuenow\", ctx.nextRate)(\"aria-valuetext\", ctx.ariaValueText())(\"aria-disabled\", ctx.readonly ? true : null);\n } }, inputs: { max: \"max\", readonly: \"readonly\", rate: \"rate\", resettable: \"resettable\", starTemplate: \"starTemplate\" }, outputs: { hover: \"hover\", leave: \"leave\", rateChange: \"rateChange\" }, features: [ɵngcc0.ɵɵProvidersFeature([NGB_RATING_VALUE_ACCESSOR]), ɵngcc0.ɵɵNgOnChangesFeature], decls: 6, vars: 1, consts: [[\"t\", \"\"], [\"ngFor\", \"\", 3, \"ngForOf\"], [1, \"sr-only\"], [3, \"mouseenter\", \"click\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]], template: function NgbRating_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbRating_ng_template_1_Template, 1, 1, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbRating_ng_template_4_Template, 9, 5, \"ng-template\", 1);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.contexts);\n } }, directives: [ɵngcc1.NgForOf, ɵngcc1.NgTemplateOutlet], encapsulation: 2, changeDetection: 0 });\nNgbRating.ctorParameters = () => [\n { type: NgbRatingConfig },\n { type: ChangeDetectorRef }\n];\n__decorate([\n Input()\n], NgbRating.prototype, \"max\", void 0);\n__decorate([\n Input()\n], NgbRating.prototype, \"rate\", void 0);\n__decorate([\n Input()\n], NgbRating.prototype, \"readonly\", void 0);\n__decorate([\n Input()\n], NgbRating.prototype, \"resettable\", void 0);\n__decorate([\n Input()\n], NgbRating.prototype, \"starTemplate\", void 0);\n__decorate([\n ContentChild(TemplateRef, { static: false })\n], NgbRating.prototype, \"starTemplateFromContent\", void 0);\n__decorate([\n Output()\n], NgbRating.prototype, \"hover\", void 0);\n__decorate([\n Output()\n], NgbRating.prototype, \"leave\", void 0);\n__decorate([\n Output()\n], NgbRating.prototype, \"rateChange\", void 0);\n\nlet NgbRatingModule = class NgbRatingModule {\n};\nNgbRatingModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbRatingModule });\nNgbRatingModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbRatingModule_Factory(t) { return new (t || NgbRatingModule)(); }, imports: [[CommonModule]] });\n\n/**\n * A configuration service for the [`NgbTabset`](#/components/tabset/api#NgbTabset) 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 tabsets used in the application.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\nlet NgbTabsetConfig = class NgbTabsetConfig {\n constructor() {\n this.justify = 'start';\n this.orientation = 'horizontal';\n this.type = 'tabs';\n }\n};\nNgbTabsetConfig.ɵfac = function NgbTabsetConfig_Factory(t) { return new (t || NgbTabsetConfig)(); };\nNgbTabsetConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbTabsetConfig_Factory() { return new NgbTabsetConfig(); }, token: NgbTabsetConfig, providedIn: \"root\" });\n\nlet nextId$4 = 0;\n/**\n * A directive to wrap tab titles that need to contain HTML markup or other directives.\n *\n * Alternatively you could use the `NgbTab.title` input for string titles.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\nlet NgbTabTitle = class NgbTabTitle {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbTabTitle.ɵfac = function NgbTabTitle_Factory(t) { return new (t || NgbTabTitle)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbTabTitle.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbTabTitle, selectors: [[\"ng-template\", \"ngbTabTitle\", \"\"]] });\nNgbTabTitle.ctorParameters = () => [\n { type: TemplateRef }\n];\n/**\n * A directive to wrap content to be displayed in a tab.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\nlet NgbTabContent = class NgbTabContent {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n};\nNgbTabContent.ɵfac = function NgbTabContent_Factory(t) { return new (t || NgbTabContent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nNgbTabContent.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbTabContent, selectors: [[\"ng-template\", \"ngbTabContent\", \"\"]] });\nNgbTabContent.ctorParameters = () => [\n { type: TemplateRef }\n];\n/**\n * A directive representing an individual tab.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\nlet NgbTab = class NgbTab {\n constructor() {\n /**\n * The tab identifier.\n *\n * Must be unique for the entire document for proper accessibility support.\n */\n this.id = `ngb-tab-${nextId$4++}`;\n /**\n * If `true`, the current tab is disabled and can't be toggled.\n */\n this.disabled = false;\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.contentTpl = this.contentTpls.first;\n }\n};\nNgbTab.ɵfac = function NgbTab_Factory(t) { return new (t || NgbTab)(); };\nNgbTab.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbTab, selectors: [[\"ngb-tab\"]], contentQueries: function NgbTab_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbTabTitle, false);\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbTabContent, false);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.titleTpls = _t);\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.contentTpls = _t);\n } }, inputs: { id: \"id\", disabled: \"disabled\", title: \"title\" } });\n__decorate([\n Input()\n], NgbTab.prototype, \"id\", void 0);\n__decorate([\n Input()\n], NgbTab.prototype, \"title\", void 0);\n__decorate([\n Input()\n], NgbTab.prototype, \"disabled\", void 0);\n__decorate([\n ContentChildren(NgbTabTitle, { descendants: false })\n], NgbTab.prototype, \"titleTpls\", void 0);\n__decorate([\n ContentChildren(NgbTabContent, { descendants: false })\n], NgbTab.prototype, \"contentTpls\", void 0);\n/**\n * A component that makes it easy to create tabbed interface.\n *\n * @deprecated 6.0.0 Please use NgbNav instead\n */\nlet NgbTabset = class NgbTabset {\n constructor(config) {\n /**\n * If `true`, non-visible tabs content will be removed from DOM. Otherwise it will just be hidden.\n */\n this.destroyOnHide = true;\n /**\n * A tab change event emitted right before the tab change happens.\n *\n * See [`NgbTabChangeEvent`](#/components/tabset/api#NgbTabChangeEvent) for payload details.\n */\n this.tabChange = new EventEmitter();\n this.type = config.type;\n this.justify = config.justify;\n this.orientation = config.orientation;\n }\n /**\n * The horizontal alignment of the tabs with flexbox utilities.\n */\n set justify(className) {\n if (className === 'fill' || className === 'justified') {\n this.justifyClass = `nav-${className}`;\n }\n else {\n this.justifyClass = `justify-content-${className}`;\n }\n }\n /**\n * Selects the tab with the given id and shows its associated content panel.\n *\n * Any other tab that was previously selected becomes unselected and its associated pane is removed from DOM or\n * hidden depending on the `destroyOnHide` value.\n */\n select(tabId) {\n let selectedTab = this._getTabById(tabId);\n if (selectedTab && !selectedTab.disabled && this.activeId !== selectedTab.id) {\n let defaultPrevented = false;\n this.tabChange.emit({ activeId: this.activeId, nextId: selectedTab.id, preventDefault: () => { defaultPrevented = true; } });\n if (!defaultPrevented) {\n this.activeId = selectedTab.id;\n }\n }\n }\n ngAfterContentChecked() {\n // auto-correct activeId that might have been set incorrectly as input\n let activeTab = this._getTabById(this.activeId);\n this.activeId = activeTab ? activeTab.id : (this.tabs.length ? this.tabs.first.id : null);\n }\n _getTabById(id) {\n let tabsWithId = this.tabs.filter(tab => tab.id === id);\n return tabsWithId.length ? tabsWithId[0] : null;\n }\n};\nNgbTabset.ɵfac = function NgbTabset_Factory(t) { return new (t || NgbTabset)(ɵngcc0.ɵɵdirectiveInject(NgbTabsetConfig)); };\nNgbTabset.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbTabset, selectors: [[\"ngb-tabset\"]], contentQueries: function NgbTabset_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵcontentQuery(dirIndex, NgbTab, false);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.tabs = _t);\n } }, inputs: { destroyOnHide: \"destroyOnHide\", type: \"type\", justify: \"justify\", orientation: \"orientation\", activeId: \"activeId\" }, outputs: { tabChange: \"tabChange\" }, exportAs: [\"ngbTabset\"], decls: 11, vars: 4, consts: [[\"role\", \"tablist\"], [\"class\", \"nav-item\", 4, \"ngFor\", \"ngForOf\"], [1, \"tab-content\"], [\"ngFor\", \"\", 3, \"ngForOf\"], [1, \"nav-item\"], [\"href\", \"\", \"role\", \"tab\", 1, \"nav-link\", 3, \"id\", \"click\"], [3, \"ngTemplateOutlet\"], [\"role\", \"tabpanel\", 3, \"class\", \"id\", 4, \"ngIf\"], [\"role\", \"tabpanel\", 3, \"id\"]], template: function NgbTabset_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"ul\", 0);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵtemplate(3, NgbTabset_li_3_Template, 7, 11, \"li\", 1);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementStart(6, \"div\", 2);\n ɵngcc0.ɵɵtext(7, \"\\n \");\n ɵngcc0.ɵɵtemplate(8, NgbTabset_ng_template_8_Template, 3, 1, \"ng-template\", 3);\n ɵngcc0.ɵɵtext(9, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(10, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassMap(\"nav nav-\" + ctx.type + (ctx.orientation == \"horizontal\" ? \" \" + ctx.justifyClass : \" flex-column\"));\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.tabs);\n ɵngcc0.ɵɵadvance(5);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.tabs);\n } }, directives: [ɵngcc1.NgForOf, ɵngcc1.NgTemplateOutlet, ɵngcc1.NgIf], encapsulation: 2 });\nNgbTabset.ctorParameters = () => [\n { type: NgbTabsetConfig }\n];\n__decorate([\n ContentChildren(NgbTab)\n], NgbTabset.prototype, \"tabs\", void 0);\n__decorate([\n Input()\n], NgbTabset.prototype, \"activeId\", void 0);\n__decorate([\n Input()\n], NgbTabset.prototype, \"destroyOnHide\", void 0);\n__decorate([\n Input()\n], NgbTabset.prototype, \"justify\", null);\n__decorate([\n Input()\n], NgbTabset.prototype, \"orientation\", void 0);\n__decorate([\n Input()\n], NgbTabset.prototype, \"type\", void 0);\n__decorate([\n Output()\n], NgbTabset.prototype, \"tabChange\", void 0);\n\nconst NGB_TABSET_DIRECTIVES = [NgbTabset, NgbTab, NgbTabContent, NgbTabTitle];\n/**\n * @deprecated 6.0.0 Please use NgbNavModule instead\n */\nlet NgbTabsetModule = class NgbTabsetModule {\n};\nNgbTabsetModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbTabsetModule });\nNgbTabsetModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbTabsetModule_Factory(t) { return new (t || NgbTabsetModule)(); }, imports: [[CommonModule]] });\n\nclass NgbTime {\n constructor(hour, minute, second) {\n this.hour = toInteger(hour);\n this.minute = toInteger(minute);\n this.second = toInteger(second);\n }\n changeHour(step = 1) { this.updateHour((isNaN(this.hour) ? 0 : this.hour) + step); }\n updateHour(hour) {\n if (isNumber(hour)) {\n this.hour = (hour < 0 ? 24 + hour : hour) % 24;\n }\n else {\n this.hour = NaN;\n }\n }\n changeMinute(step = 1) { this.updateMinute((isNaN(this.minute) ? 0 : this.minute) + step); }\n updateMinute(minute) {\n if (isNumber(minute)) {\n this.minute = minute % 60 < 0 ? 60 + minute % 60 : minute % 60;\n this.changeHour(Math.floor(minute / 60));\n }\n else {\n this.minute = NaN;\n }\n }\n changeSecond(step = 1) { this.updateSecond((isNaN(this.second) ? 0 : this.second) + step); }\n updateSecond(second) {\n if (isNumber(second)) {\n this.second = second < 0 ? 60 + second % 60 : second % 60;\n this.changeMinute(Math.floor(second / 60));\n }\n else {\n this.second = NaN;\n }\n }\n isValid(checkSecs = true) {\n return isNumber(this.hour) && isNumber(this.minute) && (checkSecs ? isNumber(this.second) : true);\n }\n toString() { return `${this.hour || 0}:${this.minute || 0}:${this.second || 0}`; }\n}\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 */\nlet NgbTimepickerConfig = class NgbTimepickerConfig {\n constructor() {\n this.meridian = false;\n this.spinners = true;\n this.seconds = false;\n this.hourStep = 1;\n this.minuteStep = 1;\n this.secondStep = 1;\n this.disabled = false;\n this.readonlyInputs = false;\n this.size = 'medium';\n }\n};\nNgbTimepickerConfig.ɵfac = function NgbTimepickerConfig_Factory(t) { return new (t || NgbTimepickerConfig)(); };\nNgbTimepickerConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbTimepickerConfig_Factory() { return new NgbTimepickerConfig(); }, token: NgbTimepickerConfig, providedIn: \"root\" });\n\nfunction NGB_DATEPICKER_TIME_ADAPTER_FACTORY() {\n return new NgbTimeStructAdapter();\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 */\nlet NgbTimeAdapter = class NgbTimeAdapter {\n};\nNgbTimeAdapter.ɵfac = function NgbTimeAdapter_Factory(t) { return new (t || NgbTimeAdapter)(); };\nNgbTimeAdapter.ɵprov = ɵɵdefineInjectable({ factory: NGB_DATEPICKER_TIME_ADAPTER_FACTORY, token: NgbTimeAdapter, providedIn: \"root\" });\nlet NgbTimeStructAdapter = class NgbTimeStructAdapter extends NgbTimeAdapter {\n /**\n * Converts a NgbTimeStruct value into NgbTimeStruct value\n */\n fromModel(time) {\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 * Converts a NgbTimeStruct value into NgbTimeStruct value\n */\n toModel(time) {\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};\nNgbTimeStructAdapter.ɵfac = function NgbTimeStructAdapter_Factory(t) { return ɵNgbTimeStructAdapter_BaseFactory(t || NgbTimeStructAdapter); };\nNgbTimeStructAdapter.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbTimeStructAdapter, factory: function (t) { return NgbTimeStructAdapter.ɵfac(t); } });\n\nfunction NGB_TIMEPICKER_I18N_FACTORY(locale) {\n return new NgbTimepickerI18nDefault(locale);\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 */\nlet NgbTimepickerI18n = class NgbTimepickerI18n {\n};\nNgbTimepickerI18n.ɵfac = function NgbTimepickerI18n_Factory(t) { return new (t || NgbTimepickerI18n)(); };\nNgbTimepickerI18n.ɵprov = ɵɵdefineInjectable({ factory: function NgbTimepickerI18n_Factory() { return NGB_TIMEPICKER_I18N_FACTORY(ɵɵinject(LOCALE_ID)); }, token: NgbTimepickerI18n, providedIn: \"root\" });\nlet NgbTimepickerI18nDefault = class NgbTimepickerI18nDefault extends NgbTimepickerI18n {\n constructor(locale) {\n super();\n this._periods = getLocaleDayPeriods(locale, FormStyle.Standalone, TranslationWidth.Narrow);\n }\n getMorningPeriod() { return this._periods[0]; }\n getAfternoonPeriod() { return this._periods[1]; }\n};\nNgbTimepickerI18nDefault.ɵfac = function NgbTimepickerI18nDefault_Factory(t) { return new (t || NgbTimepickerI18nDefault)(ɵngcc0.ɵɵinject(LOCALE_ID)); };\nNgbTimepickerI18nDefault.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: NgbTimepickerI18nDefault, factory: function (t) { return NgbTimepickerI18nDefault.ɵfac(t); } });\nNgbTimepickerI18nDefault.ctorParameters = () => [\n { type: String, decorators: [{ type: Inject, args: [LOCALE_ID,] }] }\n];\nNgbTimepickerI18nDefault = __decorate([ __param(0, Inject(LOCALE_ID))\n], NgbTimepickerI18nDefault);\n\nconst FILTER_REGEX = /[^0-9]/g;\nconst NGB_TIMEPICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbTimepicker),\n multi: true\n};\n/**\n * A directive that helps with wth picking hours, minutes and seconds.\n */\nlet NgbTimepicker = class NgbTimepicker {\n constructor(_config, _ngbTimeAdapter, _cd, i18n) {\n this._config = _config;\n this._ngbTimeAdapter = _ngbTimeAdapter;\n this._cd = _cd;\n this.i18n = i18n;\n this.onChange = (_) => { };\n this.onTouched = () => { };\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 * The number of hours to add/subtract when clicking hour spinners.\n */\n set hourStep(step) {\n this._hourStep = isInteger(step) ? step : this._config.hourStep;\n }\n get hourStep() { return this._hourStep; }\n /**\n * The number of minutes to add/subtract when clicking minute spinners.\n */\n set minuteStep(step) {\n this._minuteStep = isInteger(step) ? step : this._config.minuteStep;\n }\n get minuteStep() { return this._minuteStep; }\n /**\n * The number of seconds to add/subtract when clicking second spinners.\n */\n set secondStep(step) {\n this._secondStep = isInteger(step) ? step : this._config.secondStep;\n }\n get secondStep() { return this._secondStep; }\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 registerOnChange(fn) { this.onChange = fn; }\n registerOnTouched(fn) { this.onTouched = fn; }\n setDisabledState(isDisabled) { this.disabled = isDisabled; }\n changeHour(step) {\n this.model.changeHour(step);\n this.propagateModelChange();\n }\n changeMinute(step) {\n this.model.changeMinute(step);\n this.propagateModelChange();\n }\n changeSecond(step) {\n this.model.changeSecond(step);\n this.propagateModelChange();\n }\n updateHour(newVal) {\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 }\n else {\n this.model.updateHour(enteredHour);\n }\n this.propagateModelChange();\n }\n updateMinute(newVal) {\n this.model.updateMinute(toInteger(newVal));\n this.propagateModelChange();\n }\n updateSecond(newVal) {\n this.model.updateSecond(toInteger(newVal));\n this.propagateModelChange();\n }\n toggleMeridian() {\n if (this.meridian) {\n this.changeHour(12);\n }\n }\n formatInput(input) { input.value = input.value.replace(FILTER_REGEX, ''); }\n formatHour(value) {\n if (isNumber(value)) {\n if (this.meridian) {\n return padNumber(value % 12 === 0 ? 12 : value % 12);\n }\n else {\n return padNumber(value % 24);\n }\n }\n else {\n return padNumber(NaN);\n }\n }\n formatMinSec(value) { return padNumber(value); }\n get isSmallSize() { return this.size === 'small'; }\n get isLargeSize() { return this.size === 'large'; }\n ngOnChanges(changes) {\n if (changes['seconds'] && !this.seconds && this.model && !isNumber(this.model.second)) {\n this.model.second = 0;\n this.propagateModelChange(false);\n }\n }\n propagateModelChange(touched = true) {\n if (touched) {\n this.onTouched();\n }\n if (this.model.isValid(this.seconds)) {\n this.onChange(this._ngbTimeAdapter.toModel({ hour: this.model.hour, minute: this.model.minute, second: this.model.second }));\n }\n else {\n this.onChange(this._ngbTimeAdapter.toModel(null));\n }\n }\n};\nNgbTimepicker.ɵfac = function NgbTimepicker_Factory(t) { return new (t || NgbTimepicker)(ɵngcc0.ɵɵdirectiveInject(NgbTimepickerConfig), ɵngcc0.ɵɵdirectiveInject(NgbTimeAdapter), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(NgbTimepickerI18n)); };\nNgbTimepicker.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbTimepicker, selectors: [[\"ngb-timepicker\"]], inputs: { meridian: \"meridian\", spinners: \"spinners\", seconds: \"seconds\", hourStep: \"hourStep\", minuteStep: \"minuteStep\", secondStep: \"secondStep\", readonlyInputs: \"readonlyInputs\", size: \"size\" }, features: [ɵngcc0.ɵɵProvidersFeature([NGB_TIMEPICKER_VALUE_ACCESSOR]), ɵngcc0.ɵɵNgOnChangesFeature], decls: 36, vars: 25, consts: function () { let i18n_56; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_HH$$FESM2015_NG_BOOTSTRAP_JS_57 = goog.getMsg(\"HH\");\n i18n_56 = MSG_EXTERNAL_ngb_timepicker_HH$$FESM2015_NG_BOOTSTRAP_JS_57;\n }\n else {\n i18n_56 = $localize `:@@ngb.timepicker.HH␟ce676ab1d6d98f85c836381cf100a4a91ef95a1f␟4043638465245303811:HH`;\n } let i18n_58; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_hours$$FESM2015_NG_BOOTSTRAP_JS_59 = goog.getMsg(\"Hours\");\n i18n_58 = MSG_EXTERNAL_ngb_timepicker_hours$$FESM2015_NG_BOOTSTRAP_JS_59;\n }\n else {\n i18n_58 = $localize `:@@ngb.timepicker.hours␟3bbce5fef7e1151da052a4e529453edb340e3912␟8070396816726827304:Hours`;\n } let i18n_60; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_MM$$FESM2015_NG_BOOTSTRAP_JS_61 = goog.getMsg(\"MM\");\n i18n_60 = MSG_EXTERNAL_ngb_timepicker_MM$$FESM2015_NG_BOOTSTRAP_JS_61;\n }\n else {\n i18n_60 = $localize `:@@ngb.timepicker.MM␟72c8edf6a50068a05bde70991e36b1e881f4ca54␟1647282246509919852:MM`;\n } let i18n_62; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_minutes$$FESM2015_NG_BOOTSTRAP_JS_63 = goog.getMsg(\"Minutes\");\n i18n_62 = MSG_EXTERNAL_ngb_timepicker_minutes$$FESM2015_NG_BOOTSTRAP_JS_63;\n }\n else {\n i18n_62 = $localize `:@@ngb.timepicker.minutes␟41e62daa962947c0d23ded0981975d1bddf0bf38␟5531237363767747080:Minutes`;\n } let i18n_64; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_increment_hours$$FESM2015_NG_BOOTSTRAP_JS__65 = goog.getMsg(\"Increment hours\");\n i18n_64 = MSG_EXTERNAL_ngb_timepicker_increment_hours$$FESM2015_NG_BOOTSTRAP_JS__65;\n }\n else {\n i18n_64 = $localize `:@@ngb.timepicker.increment-hours␟cb74bc1d625a6c1742f0d7d47306cf495780c218␟5939278348542933629:Increment hours`;\n } let i18n_66; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_decrement_hours$$FESM2015_NG_BOOTSTRAP_JS__67 = goog.getMsg(\"Decrement hours\");\n i18n_66 = MSG_EXTERNAL_ngb_timepicker_decrement_hours$$FESM2015_NG_BOOTSTRAP_JS__67;\n }\n else {\n i18n_66 = $localize `:@@ngb.timepicker.decrement-hours␟147c7a19429da7d999e247d22e33fee370b1691b␟3651829882940481818:Decrement hours`;\n } let i18n_68; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_increment_minutes$$FESM2015_NG_BOOTSTRAP_JS__69 = goog.getMsg(\"Increment minutes\");\n i18n_68 = MSG_EXTERNAL_ngb_timepicker_increment_minutes$$FESM2015_NG_BOOTSTRAP_JS__69;\n }\n else {\n i18n_68 = $localize `:@@ngb.timepicker.increment-minutes␟f5a4a3bc05e053f6732475d0e74875ec01c3a348␟180147720391025024:Increment minutes`;\n } let i18n_70; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_decrement_minutes$$FESM2015_NG_BOOTSTRAP_JS__71 = goog.getMsg(\"Decrement minutes\");\n i18n_70 = MSG_EXTERNAL_ngb_timepicker_decrement_minutes$$FESM2015_NG_BOOTSTRAP_JS__71;\n }\n else {\n i18n_70 = $localize `:@@ngb.timepicker.decrement-minutes␟c1a6899e529c096da5b660385d4e77fe1f7ad271␟7447789825403243588:Decrement minutes`;\n } let i18n_72; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_SS$$FESM2015_NG_BOOTSTRAP_JS__73 = goog.getMsg(\"SS\");\n i18n_72 = MSG_EXTERNAL_ngb_timepicker_SS$$FESM2015_NG_BOOTSTRAP_JS__73;\n }\n else {\n i18n_72 = $localize `:@@ngb.timepicker.SS␟ebe38d36a40a2383c5fefa9b4608ffbda08bd4a3␟3628127143071124194:SS`;\n } let i18n_74; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_seconds$$FESM2015_NG_BOOTSTRAP_JS__75 = goog.getMsg(\"Seconds\");\n i18n_74 = MSG_EXTERNAL_ngb_timepicker_seconds$$FESM2015_NG_BOOTSTRAP_JS__75;\n }\n else {\n i18n_74 = $localize `:@@ngb.timepicker.seconds␟4f2ed9e71a7c981db3e50ae2fedb28aff2ec4e6c␟8874012390997067175:Seconds`;\n } let i18n_76; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_increment_seconds$$FESM2015_NG_BOOTSTRAP_JS___77 = goog.getMsg(\"Increment seconds\");\n i18n_76 = MSG_EXTERNAL_ngb_timepicker_increment_seconds$$FESM2015_NG_BOOTSTRAP_JS___77;\n }\n else {\n i18n_76 = $localize `:@@ngb.timepicker.increment-seconds␟912322ecee7d659d04dcf494a70e22e49d334b26␟5364772110539092174:Increment seconds`;\n } let i18n_78; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_decrement_seconds$$FESM2015_NG_BOOTSTRAP_JS___79 = goog.getMsg(\"Decrement seconds\");\n i18n_78 = MSG_EXTERNAL_ngb_timepicker_decrement_seconds$$FESM2015_NG_BOOTSTRAP_JS___79;\n }\n else {\n i18n_78 = $localize `:@@ngb.timepicker.decrement-seconds␟5db47ac104294243a70eb9124fbea9d0004ddf69␟753633511487974857:Decrement seconds`;\n } let i18n_80; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_PM$$FESM2015_NG_BOOTSTRAP_JS___81 = goog.getMsg(\"{$interpolation}\", { \"interpolation\": \"\\uFFFD0\\uFFFD\" });\n i18n_80 = MSG_EXTERNAL_ngb_timepicker_PM$$FESM2015_NG_BOOTSTRAP_JS___81;\n }\n else {\n i18n_80 = $localize `:@@ngb.timepicker.PM␟8d6e691e10306c1b34c6b26805151aaea320ef7f␟3564199131264287502:${\"\\uFFFD0\\uFFFD\"}:INTERPOLATION:`;\n } let i18n_82; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_timepicker_AM$$FESM2015_NG_BOOTSTRAP_JS___83 = goog.getMsg(\"{$interpolation}\", { \"interpolation\": \"\\uFFFD0\\uFFFD\" });\n i18n_82 = MSG_EXTERNAL_ngb_timepicker_AM$$FESM2015_NG_BOOTSTRAP_JS___83;\n }\n else {\n i18n_82 = $localize `:@@ngb.timepicker.AM␟69a1f176a93998876952adac57c3bc3863b6105e␟4592818992509942761:${\"\\uFFFD0\\uFFFD\"}:INTERPOLATION:`;\n } return [[3, \"disabled\"], [1, \"ngb-tp\"], [1, \"ngb-tp-input-container\", \"ngb-tp-hour\"], [\"tabindex\", \"-1\", \"type\", \"button\", \"class\", \"btn btn-link\", 3, \"btn-sm\", \"btn-lg\", \"disabled\", \"click\", 4, \"ngIf\"], [\"type\", \"text\", \"maxlength\", \"2\", \"inputmode\", \"numeric\", \"placeholder\", i18n_56, \"aria-label\", i18n_58, 1, \"ngb-tp-input\", \"form-control\", 3, \"value\", \"readOnly\", \"disabled\", \"change\", \"input\", \"keydown.ArrowUp\", \"keydown.ArrowDown\"], [1, \"ngb-tp-spacer\"], [1, \"ngb-tp-input-container\", \"ngb-tp-minute\"], [\"type\", \"text\", \"maxlength\", \"2\", \"inputmode\", \"numeric\", \"placeholder\", i18n_60, \"aria-label\", i18n_62, 1, \"ngb-tp-input\", \"form-control\", 3, \"value\", \"readOnly\", \"disabled\", \"change\", \"input\", \"keydown.ArrowUp\", \"keydown.ArrowDown\"], [\"class\", \"ngb-tp-spacer\", 4, \"ngIf\"], [\"class\", \"ngb-tp-input-container ngb-tp-second\", 4, \"ngIf\"], [\"class\", \"ngb-tp-meridian\", 4, \"ngIf\"], [\"tabindex\", \"-1\", \"type\", \"button\", 1, \"btn\", \"btn-link\", 3, \"disabled\", \"click\"], [1, \"chevron\", \"ngb-tp-chevron\"], [1, \"sr-only\"], i18n_64, [1, \"chevron\", \"ngb-tp-chevron\", \"bottom\"], i18n_66, i18n_68, i18n_70, [1, \"ngb-tp-input-container\", \"ngb-tp-second\"], [\"type\", \"text\", \"maxlength\", \"2\", \"inputmode\", \"numeric\", \"placeholder\", i18n_72, \"aria-label\", i18n_74, 1, \"ngb-tp-input\", \"form-control\", 3, \"value\", \"readOnly\", \"disabled\", \"change\", \"input\", \"keydown.ArrowUp\", \"keydown.ArrowDown\"], i18n_76, i18n_78, [1, \"ngb-tp-meridian\"], [\"type\", \"button\", 1, \"btn\", \"btn-outline-primary\", 3, \"disabled\", \"click\"], [4, \"ngIf\", \"ngIfElse\"], [\"am\", \"\"], i18n_80, i18n_82]; }, template: function NgbTimepicker_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵelementStart(1, \"fieldset\", 0);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵelementStart(3, \"div\", 1);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵelementStart(5, \"div\", 2);\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵtemplate(7, NgbTimepicker_button_7_Template, 7, 7, \"button\", 3);\n ɵngcc0.ɵɵtext(8, \"\\n \");\n ɵngcc0.ɵɵelementStart(9, \"input\", 4);\n ɵngcc0.ɵɵlistener(\"change\", function NgbTimepicker_Template_input_change_9_listener($event) { return ctx.updateHour($event.target.value); })(\"input\", function NgbTimepicker_Template_input_input_9_listener($event) { return ctx.formatInput($event.target); })(\"keydown.ArrowUp\", function NgbTimepicker_Template_input_keydown_ArrowUp_9_listener($event) { ctx.changeHour(ctx.hourStep); return $event.preventDefault(); })(\"keydown.ArrowDown\", function NgbTimepicker_Template_input_keydown_ArrowDown_9_listener($event) { ctx.changeHour(-ctx.hourStep); return $event.preventDefault(); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(10, \"\\n \");\n ɵngcc0.ɵɵtemplate(11, NgbTimepicker_button_11_Template, 7, 7, \"button\", 3);\n ɵngcc0.ɵɵtext(12, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(13, \"\\n \");\n ɵngcc0.ɵɵelementStart(14, \"div\", 5);\n ɵngcc0.ɵɵtext(15, \":\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(16, \"\\n \");\n ɵngcc0.ɵɵelementStart(17, \"div\", 6);\n ɵngcc0.ɵɵtext(18, \"\\n \");\n ɵngcc0.ɵɵtemplate(19, NgbTimepicker_button_19_Template, 7, 7, \"button\", 3);\n ɵngcc0.ɵɵtext(20, \"\\n \");\n ɵngcc0.ɵɵelementStart(21, \"input\", 7);\n ɵngcc0.ɵɵlistener(\"change\", function NgbTimepicker_Template_input_change_21_listener($event) { return ctx.updateMinute($event.target.value); })(\"input\", function NgbTimepicker_Template_input_input_21_listener($event) { return ctx.formatInput($event.target); })(\"keydown.ArrowUp\", function NgbTimepicker_Template_input_keydown_ArrowUp_21_listener($event) { ctx.changeMinute(ctx.minuteStep); return $event.preventDefault(); })(\"keydown.ArrowDown\", function NgbTimepicker_Template_input_keydown_ArrowDown_21_listener($event) { ctx.changeMinute(-ctx.minuteStep); return $event.preventDefault(); });\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(22, \"\\n \");\n ɵngcc0.ɵɵtemplate(23, NgbTimepicker_button_23_Template, 7, 7, \"button\", 3);\n ɵngcc0.ɵɵtext(24, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(25, \"\\n \");\n ɵngcc0.ɵɵtemplate(26, NgbTimepicker_div_26_Template, 2, 0, \"div\", 8);\n ɵngcc0.ɵɵtext(27, \"\\n \");\n ɵngcc0.ɵɵtemplate(28, NgbTimepicker_div_28_Template, 8, 9, \"div\", 9);\n ɵngcc0.ɵɵtext(29, \"\\n \");\n ɵngcc0.ɵɵtemplate(30, NgbTimepicker_div_30_Template, 1, 0, \"div\", 8);\n ɵngcc0.ɵɵtext(31, \"\\n \");\n ɵngcc0.ɵɵtemplate(32, NgbTimepicker_div_32_Template, 10, 9, \"div\", 10);\n ɵngcc0.ɵɵtext(33, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(34, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(35, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵclassProp(\"disabled\", ctx.disabled);\n ɵngcc0.ɵɵproperty(\"disabled\", ctx.disabled);\n ɵngcc0.ɵɵadvance(6);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.spinners);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵclassProp(\"form-control-sm\", ctx.isSmallSize)(\"form-control-lg\", ctx.isLargeSize);\n ɵngcc0.ɵɵproperty(\"value\", ctx.formatHour(ctx.model == null ? null : ctx.model.hour))(\"readOnly\", ctx.readonlyInputs)(\"disabled\", ctx.disabled);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.spinners);\n ɵngcc0.ɵɵadvance(8);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.spinners);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵclassProp(\"form-control-sm\", ctx.isSmallSize)(\"form-control-lg\", ctx.isLargeSize);\n ɵngcc0.ɵɵproperty(\"value\", ctx.formatMinSec(ctx.model == null ? null : ctx.model.minute))(\"readOnly\", ctx.readonlyInputs)(\"disabled\", ctx.disabled);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.spinners);\n ɵngcc0.ɵɵadvance(3);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.seconds);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.seconds);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.meridian);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.meridian);\n } }, directives: [ɵngcc1.NgIf], styles: [\"ngb-timepicker{font-size:1rem}.ngb-tp{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.ngb-tp-input-container{width:4em}.ngb-tp-chevron::before{border-style:solid;border-width:.29em .29em 0 0;content:\\\"\\\";display:inline-block;height:.69em;left:.05em;position:relative;top:.15em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);vertical-align:middle;width:.69em}.ngb-tp-chevron.bottom:before{top:-.3em;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.ngb-tp-input{text-align:center}.ngb-tp-hour,.ngb-tp-meridian,.ngb-tp-minute,.ngb-tp-second{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.ngb-tp-spacer{width:1em;text-align:center}\"], encapsulation: 2 });\nNgbTimepicker.ctorParameters = () => [\n { type: NgbTimepickerConfig },\n { type: NgbTimeAdapter },\n { type: ChangeDetectorRef },\n { type: NgbTimepickerI18n }\n];\n__decorate([\n Input()\n], NgbTimepicker.prototype, \"meridian\", void 0);\n__decorate([\n Input()\n], NgbTimepicker.prototype, \"spinners\", void 0);\n__decorate([\n Input()\n], NgbTimepicker.prototype, \"seconds\", void 0);\n__decorate([\n Input()\n], NgbTimepicker.prototype, \"hourStep\", null);\n__decorate([\n Input()\n], NgbTimepicker.prototype, \"minuteStep\", null);\n__decorate([\n Input()\n], NgbTimepicker.prototype, \"secondStep\", null);\n__decorate([\n Input()\n], NgbTimepicker.prototype, \"readonlyInputs\", void 0);\n__decorate([\n Input()\n], NgbTimepicker.prototype, \"size\", void 0);\n\nlet NgbTimepickerModule = class NgbTimepickerModule {\n};\nNgbTimepickerModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbTimepickerModule });\nNgbTimepickerModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbTimepickerModule_Factory(t) { return new (t || NgbTimepickerModule)(); }, imports: [[CommonModule]] });\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 */\nlet NgbToastConfig = class NgbToastConfig {\n constructor() {\n this.autohide = true;\n this.delay = 500;\n this.ariaLive = 'polite';\n }\n};\nNgbToastConfig.ɵfac = function NgbToastConfig_Factory(t) { return new (t || NgbToastConfig)(); };\nNgbToastConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbToastConfig_Factory() { return new NgbToastConfig(); }, token: NgbToastConfig, providedIn: \"root\" });\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 */\nlet NgbToastHeader = class NgbToastHeader {\n};\nNgbToastHeader.ɵfac = function NgbToastHeader_Factory(t) { return new (t || NgbToastHeader)(); };\nNgbToastHeader.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbToastHeader, selectors: [[\"\", \"ngbToastHeader\", \"\"]] });\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 */\nlet NgbToast = class NgbToast {\n constructor(ariaLive, config) {\n this.ariaLive = ariaLive;\n /**\n * A template like `` can be\n * used in the projected content to allow markup usage.\n */\n this.contentHeaderTpl = null;\n /**\n * An event fired immediately when toast's `hide()` method has been called.\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 disappear. It's up to the user to take care of\n * that.\n */\n this.hideOutput = new EventEmitter();\n if (this.ariaLive == null) {\n this.ariaLive = config.ariaLive;\n }\n this.delay = config.delay;\n this.autohide = config.autohide;\n }\n ngAfterContentInit() { this._init(); }\n ngOnChanges(changes) {\n if ('autohide' in changes) {\n this._clearTimeout();\n this._init();\n }\n }\n hide() {\n this._clearTimeout();\n this.hideOutput.emit();\n }\n _init() {\n if (this.autohide && !this._timeoutID) {\n this._timeoutID = setTimeout(() => this.hide(), this.delay);\n }\n }\n _clearTimeout() {\n if (this._timeoutID) {\n clearTimeout(this._timeoutID);\n this._timeoutID = null;\n }\n }\n};\nNgbToast.ɵfac = function NgbToast_Factory(t) { return new (t || NgbToast)(ɵngcc0.ɵɵinjectAttribute('aria-live'), ɵngcc0.ɵɵdirectiveInject(NgbToastConfig)); };\nNgbToast.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbToast, selectors: [[\"ngb-toast\"]], contentQueries: function NgbToast_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n ɵngcc0.ɵɵstaticContentQuery(dirIndex, NgbToastHeader, true, TemplateRef);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.contentHeaderTpl = _t.first);\n } }, hostAttrs: [\"role\", \"alert\", \"aria-atomic\", \"true\"], hostVars: 5, hostBindings: function NgbToast_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"aria-live\", ctx.ariaLive);\n ɵngcc0.ɵɵclassProp(\"toast\", true)(\"show\", true);\n } }, inputs: { delay: \"delay\", autohide: \"autohide\", header: \"header\" }, outputs: { hideOutput: \"hide\" }, exportAs: [\"ngbToast\"], features: [ɵngcc0.ɵɵNgOnChangesFeature], ngContentSelectors: _c5, decls: 11, vars: 1, consts: function () { let i18n_84; if (typeof ngI18nClosureMode !== \"undefined\" && ngI18nClosureMode) {\n const MSG_EXTERNAL_ngb_toast_close_aria$$FESM2015_NG_BOOTSTRAP_JS__85 = goog.getMsg(\"Close\");\n i18n_84 = MSG_EXTERNAL_ngb_toast_close_aria$$FESM2015_NG_BOOTSTRAP_JS__85;\n }\n else {\n i18n_84 = $localize `:@@ngb.toast.close-aria␟f4e529ae5ffd73001d1ff4bbdeeb0a72e342e5c8␟7819314041543176992:Close`;\n } return [[\"headerTpl\", \"\"], [3, \"ngIf\"], [1, \"toast-body\"], [1, \"mr-auto\"], [1, \"toast-header\"], [3, \"ngTemplateOutlet\"], [\"type\", \"button\", \"aria-label\", i18n_84, 1, \"close\", 3, \"click\"], [\"aria-hidden\", \"true\"]]; }, template: function NgbToast_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbToast_ng_template_1_Template, 4, 1, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbToast_ng_template_4_Template, 12, 1, \"ng-template\", 1);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n ɵngcc0.ɵɵelementStart(6, \"div\", 2);\n ɵngcc0.ɵɵtext(7, \"\\n \");\n ɵngcc0.ɵɵprojection(8);\n ɵngcc0.ɵɵtext(9, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(10, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.contentHeaderTpl || ctx.header);\n } }, directives: [ɵngcc1.NgIf, ɵngcc1.NgTemplateOutlet], styles: [\".ngb-toasts{position:fixed;top:0;right:0;margin:.5em;z-index:1200}ngb-toast .toast-header .close{margin-left:auto;margin-bottom:.25rem}\"], encapsulation: 2 });\nNgbToast.ctorParameters = () => [\n { type: String, decorators: [{ type: Attribute, args: ['aria-live',] }] },\n { type: NgbToastConfig }\n];\n__decorate([\n Input()\n], NgbToast.prototype, \"delay\", void 0);\n__decorate([\n Input()\n], NgbToast.prototype, \"autohide\", void 0);\n__decorate([\n Input()\n], NgbToast.prototype, \"header\", void 0);\n__decorate([\n ContentChild(NgbToastHeader, { read: TemplateRef, static: true })\n], NgbToast.prototype, \"contentHeaderTpl\", void 0);\n__decorate([\n Output('hide')\n], NgbToast.prototype, \"hideOutput\", void 0);\nNgbToast = __decorate([ __param(0, Attribute('aria-live'))\n], NgbToast);\n\nlet NgbToastModule = class NgbToastModule {\n};\nNgbToastModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbToastModule });\nNgbToastModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbToastModule_Factory(t) { return new (t || NgbToastModule)(); }, imports: [[CommonModule]] });\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 */\nlet NgbTooltipConfig = class NgbTooltipConfig {\n constructor() {\n this.autoClose = true;\n this.placement = 'auto';\n this.triggers = 'hover focus';\n this.disableTooltip = false;\n this.openDelay = 0;\n this.closeDelay = 0;\n }\n};\nNgbTooltipConfig.ɵfac = function NgbTooltipConfig_Factory(t) { return new (t || NgbTooltipConfig)(); };\nNgbTooltipConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbTooltipConfig_Factory() { return new NgbTooltipConfig(); }, token: NgbTooltipConfig, providedIn: \"root\" });\n\nlet nextId$5 = 0;\nlet NgbTooltipWindow = class NgbTooltipWindow {\n};\nNgbTooltipWindow.ɵfac = function NgbTooltipWindow_Factory(t) { return new (t || NgbTooltipWindow)(); };\nNgbTooltipWindow.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbTooltipWindow, selectors: [[\"ngb-tooltip-window\"]], hostAttrs: [\"role\", \"tooltip\"], hostVars: 3, hostBindings: function NgbTooltipWindow_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"id\", ctx.id);\n ɵngcc0.ɵɵclassMap(\"tooltip show\" + (ctx.tooltipClass ? \" \" + ctx.tooltipClass : \"\"));\n } }, inputs: { id: \"id\", tooltipClass: \"tooltipClass\" }, ngContentSelectors: _c5, decls: 3, vars: 0, consts: [[1, \"arrow\"], [1, \"tooltip-inner\"]], template: function NgbTooltipWindow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵelement(0, \"div\", 0);\n ɵngcc0.ɵɵelementStart(1, \"div\", 1);\n ɵngcc0.ɵɵprojection(2);\n ɵngcc0.ɵɵelementEnd();\n } }, styles: [\"ngb-tooltip-window.bs-tooltip-bottom .arrow,ngb-tooltip-window.bs-tooltip-top .arrow{left:calc(50% - .4rem)}ngb-tooltip-window.bs-tooltip-bottom-left .arrow,ngb-tooltip-window.bs-tooltip-top-left .arrow{left:1em}ngb-tooltip-window.bs-tooltip-bottom-right .arrow,ngb-tooltip-window.bs-tooltip-top-right .arrow{left:auto;right:.8rem}ngb-tooltip-window.bs-tooltip-left .arrow,ngb-tooltip-window.bs-tooltip-right .arrow{top:calc(50% - .4rem)}ngb-tooltip-window.bs-tooltip-left-top .arrow,ngb-tooltip-window.bs-tooltip-right-top .arrow{top:.4rem}ngb-tooltip-window.bs-tooltip-left-bottom .arrow,ngb-tooltip-window.bs-tooltip-right-bottom .arrow{top:auto;bottom:.4rem}\"], encapsulation: 2, changeDetection: 0 });\n__decorate([\n Input()\n], NgbTooltipWindow.prototype, \"id\", void 0);\n__decorate([\n Input()\n], NgbTooltipWindow.prototype, \"tooltipClass\", void 0);\n/**\n * A lightweight and extensible directive for fancy tooltip creation.\n */\nlet NgbTooltip = class NgbTooltip {\n constructor(_elementRef, _renderer, injector, componentFactoryResolver, viewContainerRef, config, _ngZone, _document, _changeDetector, applicationRef) {\n this._elementRef = _elementRef;\n this._renderer = _renderer;\n this._ngZone = _ngZone;\n this._document = _document;\n this._changeDetector = _changeDetector;\n /**\n * An event emitted when the tooltip is shown. Contains no payload.\n */\n this.shown = new EventEmitter();\n /**\n * An event emitted when the popover is hidden. Contains no payload.\n */\n this.hidden = new EventEmitter();\n this._ngbTooltipWindowId = `ngb-tooltip-${nextId$5++}`;\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(NgbTooltipWindow, injector, viewContainerRef, _renderer, componentFactoryResolver, applicationRef);\n this._zoneSubscription = _ngZone.onStable.subscribe(() => {\n if (this._windowRef) {\n positionElements(this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement, this.container === 'body', 'bs-tooltip');\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 set ngbTooltip(value) {\n this._ngbTooltip = value;\n if (!value && this._windowRef) {\n this.close();\n }\n }\n get ngbTooltip() { return this._ngbTooltip; }\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) {\n if (!this._windowRef && this._ngbTooltip && !this.disableTooltip) {\n this._windowRef = this._popupService.open(this._ngbTooltip, context);\n this._windowRef.instance.tooltipClass = this.tooltipClass;\n this._windowRef.instance.id = this._ngbTooltipWindowId;\n this._renderer.setAttribute(this._elementRef.nativeElement, 'aria-describedby', this._ngbTooltipWindowId);\n if (this.container === 'body') {\n this._document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\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 // 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 ngbAutoClose(this._ngZone, this._document, this.autoClose, () => this.close(), this.hidden, [this._windowRef.location.nativeElement]);\n this.shown.emit();\n }\n }\n /**\n * Closes the tooltip.\n *\n * This is considered to be a \"manual\" triggering of the tooltip.\n */\n close() {\n if (this._windowRef != null) {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'aria-describedby');\n this._popupService.close();\n this._windowRef = null;\n this.hidden.emit();\n this._changeDetector.markForCheck();\n }\n }\n /**\n * Toggles the tooltip.\n *\n * This is considered to be a \"manual\" triggering of the tooltip.\n */\n toggle() {\n if (this._windowRef) {\n this.close();\n }\n else {\n this.open();\n }\n }\n /**\n * Returns `true`, if the popover is currently shown.\n */\n isOpen() { return this._windowRef != null; }\n ngOnInit() {\n this._unregisterListenersFn = listenToTriggers(this._renderer, this._elementRef.nativeElement, this.triggers, this.isOpen.bind(this), this.open.bind(this), this.close.bind(this), +this.openDelay, +this.closeDelay);\n }\n ngOnChanges({ tooltipClass }) {\n if (tooltipClass && this.isOpen()) {\n this._windowRef.instance.tooltipClass = tooltipClass.currentValue;\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};\nNgbTooltip.ɵfac = function NgbTooltip_Factory(t) { return new (t || NgbTooltip)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Injector), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(NgbTooltipConfig), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ApplicationRef)); };\nNgbTooltip.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbTooltip, selectors: [[\"\", \"ngbTooltip\", \"\"]], inputs: { autoClose: \"autoClose\", placement: \"placement\", triggers: \"triggers\", container: \"container\", disableTooltip: \"disableTooltip\", tooltipClass: \"tooltipClass\", openDelay: \"openDelay\", closeDelay: \"closeDelay\", ngbTooltip: \"ngbTooltip\" }, outputs: { shown: \"shown\", hidden: \"hidden\" }, exportAs: [\"ngbTooltip\"], features: [ɵngcc0.ɵɵNgOnChangesFeature] });\nNgbTooltip.ctorParameters = () => [\n { type: ElementRef },\n { type: Renderer2 },\n { type: Injector },\n { type: ComponentFactoryResolver },\n { type: ViewContainerRef },\n { type: NgbTooltipConfig },\n { type: NgZone },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: ChangeDetectorRef },\n { type: ApplicationRef }\n];\n__decorate([\n Input()\n], NgbTooltip.prototype, \"autoClose\", void 0);\n__decorate([\n Input()\n], NgbTooltip.prototype, \"placement\", void 0);\n__decorate([\n Input()\n], NgbTooltip.prototype, \"triggers\", void 0);\n__decorate([\n Input()\n], NgbTooltip.prototype, \"container\", void 0);\n__decorate([\n Input()\n], NgbTooltip.prototype, \"disableTooltip\", void 0);\n__decorate([\n Input()\n], NgbTooltip.prototype, \"tooltipClass\", void 0);\n__decorate([\n Input()\n], NgbTooltip.prototype, \"openDelay\", void 0);\n__decorate([\n Input()\n], NgbTooltip.prototype, \"closeDelay\", void 0);\n__decorate([\n Output()\n], NgbTooltip.prototype, \"shown\", void 0);\n__decorate([\n Output()\n], NgbTooltip.prototype, \"hidden\", void 0);\n__decorate([\n Input()\n], NgbTooltip.prototype, \"ngbTooltip\", null);\nNgbTooltip = __decorate([ __param(7, Inject(DOCUMENT))\n], NgbTooltip);\n\nlet NgbTooltipModule = class NgbTooltipModule {\n};\nNgbTooltipModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbTooltipModule });\nNgbTooltipModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbTooltipModule_Factory(t) { return new (t || NgbTooltipModule)(); } });\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 */\nlet NgbHighlight = class NgbHighlight {\n constructor() {\n /**\n * The CSS class for `` elements wrapping the `term` inside the `result`.\n */\n this.highlightClass = 'ngb-highlight';\n }\n ngOnChanges(changes) {\n const result = toString(this.result);\n const terms = Array.isArray(this.term) ? this.term : [this.term];\n const escapedTerms = terms.map(term => regExpEscape(toString(term))).filter(term => term);\n this.parts = escapedTerms.length ? result.split(new RegExp(`(${escapedTerms.join('|')})`, 'gmi')) : [result];\n }\n};\nNgbHighlight.ɵfac = function NgbHighlight_Factory(t) { return new (t || NgbHighlight)(); };\nNgbHighlight.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbHighlight, selectors: [[\"ngb-highlight\"]], inputs: { highlightClass: \"highlightClass\", result: \"result\", term: \"term\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[\"ngFor\", \"\", 3, \"ngForOf\"], [3, \"class\", 4, \"ngIf\", \"ngIfElse\"], [\"even\", \"\"]], template: function NgbHighlight_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, NgbHighlight_ng_template_0_Template, 3, 2, \"ng-template\", 0);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.parts);\n } }, directives: [ɵngcc1.NgForOf, ɵngcc1.NgIf], styles: [\".ngb-highlight{font-weight:700}\"], encapsulation: 2, changeDetection: 0 });\n__decorate([\n Input()\n], NgbHighlight.prototype, \"highlightClass\", void 0);\n__decorate([\n Input()\n], NgbHighlight.prototype, \"result\", void 0);\n__decorate([\n Input()\n], NgbHighlight.prototype, \"term\", void 0);\n\nlet NgbTypeaheadWindow = class NgbTypeaheadWindow {\n constructor() {\n this.activeIdx = 0;\n /**\n * Flag indicating if the first row should be active initially\n */\n this.focusFirst = true;\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 this.formatter = toString;\n /**\n * Event raised when user selects a particular result row\n */\n this.selectEvent = new EventEmitter();\n this.activeChangeEvent = new EventEmitter();\n }\n hasActive() { return this.activeIdx > -1 && this.activeIdx < this.results.length; }\n getActive() { return this.results[this.activeIdx]; }\n markActive(activeIdx) {\n this.activeIdx = activeIdx;\n this._activeChanged();\n }\n next() {\n if (this.activeIdx === this.results.length - 1) {\n this.activeIdx = this.focusFirst ? (this.activeIdx + 1) % this.results.length : -1;\n }\n else {\n this.activeIdx++;\n }\n this._activeChanged();\n }\n prev() {\n if (this.activeIdx < 0) {\n this.activeIdx = this.results.length - 1;\n }\n else if (this.activeIdx === 0) {\n this.activeIdx = this.focusFirst ? this.results.length - 1 : -1;\n }\n else {\n this.activeIdx--;\n }\n this._activeChanged();\n }\n resetActive() {\n this.activeIdx = this.focusFirst ? 0 : -1;\n this._activeChanged();\n }\n select(item) { this.selectEvent.emit(item); }\n ngOnInit() { this.resetActive(); }\n _activeChanged() {\n this.activeChangeEvent.emit(this.activeIdx >= 0 ? this.id + '-' + this.activeIdx : undefined);\n }\n};\nNgbTypeaheadWindow.ɵfac = function NgbTypeaheadWindow_Factory(t) { return new (t || NgbTypeaheadWindow)(); };\nNgbTypeaheadWindow.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: NgbTypeaheadWindow, selectors: [[\"ngb-typeahead-window\"]], hostAttrs: [\"role\", \"listbox\", 1, \"dropdown-menu\", \"show\"], hostVars: 1, hostBindings: function NgbTypeaheadWindow_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"mousedown\", function NgbTypeaheadWindow_mousedown_HostBindingHandler($event) { return $event.preventDefault(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"id\", ctx.id);\n } }, inputs: { focusFirst: \"focusFirst\", formatter: \"formatter\", id: \"id\", results: \"results\", term: \"term\", resultTemplate: \"resultTemplate\" }, outputs: { selectEvent: \"select\", activeChangeEvent: \"activeChange\" }, exportAs: [\"ngbTypeaheadWindow\"], decls: 6, vars: 1, consts: [[\"rt\", \"\"], [\"ngFor\", \"\", 3, \"ngForOf\"], [3, \"result\", \"term\"], [\"type\", \"button\", \"role\", \"option\", 1, \"dropdown-item\", 3, \"id\", \"mouseenter\", \"click\"], [3, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]], template: function NgbTypeaheadWindow_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, NgbTypeaheadWindow_ng_template_1_Template, 3, 2, \"ng-template\", null, 0, ɵngcc0.ɵɵtemplateRefExtractor);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵtemplate(4, NgbTypeaheadWindow_ng_template_4_Template, 6, 9, \"ng-template\", 1);\n ɵngcc0.ɵɵtext(5, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(4);\n ɵngcc0.ɵɵproperty(\"ngForOf\", ctx.results);\n } }, directives: [ɵngcc1.NgForOf, NgbHighlight, ɵngcc1.NgTemplateOutlet], encapsulation: 2 });\n__decorate([\n Input()\n], NgbTypeaheadWindow.prototype, \"id\", void 0);\n__decorate([\n Input()\n], NgbTypeaheadWindow.prototype, \"focusFirst\", void 0);\n__decorate([\n Input()\n], NgbTypeaheadWindow.prototype, \"results\", void 0);\n__decorate([\n Input()\n], NgbTypeaheadWindow.prototype, \"term\", void 0);\n__decorate([\n Input()\n], NgbTypeaheadWindow.prototype, \"formatter\", void 0);\n__decorate([\n Input()\n], NgbTypeaheadWindow.prototype, \"resultTemplate\", void 0);\n__decorate([\n Output('select')\n], NgbTypeaheadWindow.prototype, \"selectEvent\", void 0);\n__decorate([\n Output('activeChange')\n], NgbTypeaheadWindow.prototype, \"activeChangeEvent\", void 0);\n\nconst ARIA_LIVE_DELAY = new InjectionToken('live announcer delay', { providedIn: 'root', factory: ARIA_LIVE_DELAY_FACTORY });\nfunction ARIA_LIVE_DELAY_FACTORY() {\n return 100;\n}\nfunction getLiveElement(document, lazyCreate = false) {\n let element = document.body.querySelector('#ngb-live');\n if (element == null && lazyCreate) {\n element = document.createElement('div');\n element.setAttribute('id', 'ngb-live');\n element.setAttribute('aria-live', 'polite');\n element.setAttribute('aria-atomic', 'true');\n element.classList.add('sr-only');\n document.body.appendChild(element);\n }\n return element;\n}\nlet Live = class Live {\n constructor(_document, _delay) {\n this._document = _document;\n this._delay = _delay;\n }\n ngOnDestroy() {\n const element = getLiveElement(this._document);\n if (element) {\n element.parentElement.removeChild(element);\n }\n }\n say(message) {\n const element = getLiveElement(this._document, true);\n const delay = this._delay;\n element.textContent = '';\n const setText = () => element.textContent = message;\n if (delay === null) {\n setText();\n }\n else {\n setTimeout(setText, delay);\n }\n }\n};\nLive.ɵfac = function Live_Factory(t) { return new (t || Live)(ɵngcc0.ɵɵinject(DOCUMENT), ɵngcc0.ɵɵinject(ARIA_LIVE_DELAY)); };\nLive.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: undefined, decorators: [{ type: Inject, args: [ARIA_LIVE_DELAY,] }] }\n];\nLive.ɵprov = ɵɵdefineInjectable({ factory: function Live_Factory() { return new Live(ɵɵinject(DOCUMENT), ɵɵinject(ARIA_LIVE_DELAY)); }, token: Live, providedIn: \"root\" });\nLive = __decorate([ __param(0, Inject(DOCUMENT)), __param(1, Inject(ARIA_LIVE_DELAY))\n], Live);\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 */\nlet NgbTypeaheadConfig = class NgbTypeaheadConfig {\n constructor() {\n this.editable = true;\n this.focusFirst = true;\n this.showHint = false;\n this.placement = ['bottom-left', 'bottom-right', 'top-left', 'top-right'];\n }\n};\nNgbTypeaheadConfig.ɵfac = function NgbTypeaheadConfig_Factory(t) { return new (t || NgbTypeaheadConfig)(); };\nNgbTypeaheadConfig.ɵprov = ɵɵdefineInjectable({ factory: function NgbTypeaheadConfig_Factory() { return new NgbTypeaheadConfig(); }, token: NgbTypeaheadConfig, providedIn: \"root\" });\n\nconst NGB_TYPEAHEAD_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgbTypeahead),\n multi: true\n};\nlet nextWindowId = 0;\n/**\n * A directive providing a simple way of creating powerful typeaheads from any text input.\n */\nlet NgbTypeahead = class NgbTypeahead {\n constructor(_elementRef, viewContainerRef, _renderer, injector, componentFactoryResolver, config, ngZone, _live, _document, _ngZone, _changeDetector, applicationRef) {\n this._elementRef = _elementRef;\n this._renderer = _renderer;\n this._live = _live;\n this._document = _document;\n this._ngZone = _ngZone;\n this._changeDetector = _changeDetector;\n this._closed$ = new Subject();\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 this.autocomplete = 'off';\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 this.placement = 'bottom-left';\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 this.selectItem = new EventEmitter();\n this.popupId = `ngb-typeahead-${nextWindowId++}`;\n this._onTouched = () => { };\n this._onChange = (_) => { };\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 this._valueChanges = fromEvent(_elementRef.nativeElement, 'input')\n .pipe(map($event => $event.target.value));\n this._resubscribeTypeahead = new BehaviorSubject(null);\n this._popupService = new PopupService(NgbTypeaheadWindow, injector, viewContainerRef, _renderer, componentFactoryResolver, applicationRef);\n this._zoneSubscription = ngZone.onStable.subscribe(() => {\n if (this.isPopupOpen()) {\n positionElements(this._elementRef.nativeElement, this._windowRef.location.nativeElement, this.placement, this.container === 'body');\n }\n });\n }\n ngOnInit() {\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 ngOnDestroy() {\n this._closePopup();\n this._unsubscribeFromUserInput();\n this._zoneSubscription.unsubscribe();\n }\n registerOnChange(fn) { this._onChange = fn; }\n registerOnTouched(fn) { this._onTouched = fn; }\n writeValue(value) {\n this._writeInputValue(this._formatItemForInput(value));\n if (this.showHint) {\n this._inputValueBackup = value;\n }\n }\n setDisabledState(isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\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 * Returns true if the typeahead popup window is displayed\n */\n isPopupOpen() { return this._windowRef != null; }\n handleBlur() {\n this._resubscribeTypeahead.next(null);\n this._onTouched();\n }\n handleKeyDown(event) {\n if (!this.isPopupOpen()) {\n return;\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 _openPopup() {\n if (!this.isPopupOpen()) {\n this._inputValueBackup = this._elementRef.nativeElement.value;\n this._windowRef = this._popupService.open();\n this._windowRef.instance.id = this.popupId;\n this._windowRef.instance.selectEvent.subscribe((result) => this._selectResultClosePopup(result));\n this._windowRef.instance.activeChangeEvent.subscribe((activeId) => this.activeDescendant = activeId);\n if (this.container === 'body') {\n window.document.querySelector(this.container).appendChild(this._windowRef.location.nativeElement);\n }\n this._changeDetector.markForCheck();\n ngbAutoClose(this._ngZone, this._document, 'outside', () => this.dismissPopup(), this._closed$, [this._elementRef.nativeElement, this._windowRef.location.nativeElement]);\n }\n }\n _closePopup() {\n this._closed$.next();\n this._popupService.close();\n this._windowRef = null;\n this.activeDescendant = undefined;\n }\n _selectResult(result) {\n let defaultPrevented = false;\n this.selectItem.emit({ item: result, preventDefault: () => { defaultPrevented = true; } });\n this._resubscribeTypeahead.next(null);\n if (!defaultPrevented) {\n this.writeValue(result);\n this._onChange(result);\n }\n }\n _selectResultClosePopup(result) {\n this._selectResult(result);\n this._closePopup();\n }\n _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 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(this._elementRef.nativeElement, [this._inputValueBackup.length, formattedVal.length]);\n }\n else {\n this._writeInputValue(formattedVal);\n }\n }\n }\n _formatItemForInput(item) {\n return item != null && this.inputFormatter ? this.inputFormatter(item) : toString(item);\n }\n _writeInputValue(value) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', toString(value));\n }\n _subscribeToUserInput(userInput$) {\n return userInput$.subscribe((results) => {\n if (!results || results.length === 0) {\n this._closePopup();\n }\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 // 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 this._showHint();\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 _unsubscribeFromUserInput() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n this._subscription = null;\n }\n};\nNgbTypeahead.ɵfac = function NgbTypeahead_Factory(t) { return new (t || NgbTypeahead)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Injector), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵdirectiveInject(NgbTypeaheadConfig), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(Live), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ApplicationRef)); };\nNgbTypeahead.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgbTypeahead, selectors: [[\"input\", \"ngbTypeahead\", \"\"]], hostAttrs: [\"autocapitalize\", \"off\", \"autocorrect\", \"off\", \"role\", \"combobox\", \"aria-multiline\", \"false\"], hostVars: 7, hostBindings: function NgbTypeahead_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"blur\", function NgbTypeahead_blur_HostBindingHandler() { return ctx.handleBlur(); })(\"keydown\", function NgbTypeahead_keydown_HostBindingHandler($event) { return ctx.handleKeyDown($event); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"autocomplete\", ctx.autocomplete);\n ɵngcc0.ɵɵattribute(\"aria-autocomplete\", ctx.showHint ? \"both\" : \"list\")(\"aria-activedescendant\", ctx.activeDescendant)(\"aria-owns\", ctx.isPopupOpen() ? ctx.popupId : null)(\"aria-expanded\", ctx.isPopupOpen());\n ɵngcc0.ɵɵclassProp(\"open\", ctx.isPopupOpen());\n } }, inputs: { autocomplete: \"autocomplete\", placement: \"placement\", container: \"container\", editable: \"editable\", focusFirst: \"focusFirst\", showHint: \"showHint\", inputFormatter: \"inputFormatter\", ngbTypeahead: \"ngbTypeahead\", resultFormatter: \"resultFormatter\", resultTemplate: \"resultTemplate\" }, outputs: { selectItem: \"selectItem\" }, exportAs: [\"ngbTypeahead\"], features: [ɵngcc0.ɵɵProvidersFeature([NGB_TYPEAHEAD_VALUE_ACCESSOR])] });\nNgbTypeahead.ctorParameters = () => [\n { type: ElementRef },\n { type: ViewContainerRef },\n { type: Renderer2 },\n { type: Injector },\n { type: ComponentFactoryResolver },\n { type: NgbTypeaheadConfig },\n { type: NgZone },\n { type: Live },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n { type: NgZone },\n { type: ChangeDetectorRef },\n { type: ApplicationRef }\n];\n__decorate([\n Input()\n], NgbTypeahead.prototype, \"autocomplete\", void 0);\n__decorate([\n Input()\n], NgbTypeahead.prototype, \"container\", void 0);\n__decorate([\n Input()\n], NgbTypeahead.prototype, \"editable\", void 0);\n__decorate([\n Input()\n], NgbTypeahead.prototype, \"focusFirst\", void 0);\n__decorate([\n Input()\n], NgbTypeahead.prototype, \"inputFormatter\", void 0);\n__decorate([\n Input()\n], NgbTypeahead.prototype, \"ngbTypeahead\", void 0);\n__decorate([\n Input()\n], NgbTypeahead.prototype, \"resultFormatter\", void 0);\n__decorate([\n Input()\n], NgbTypeahead.prototype, \"resultTemplate\", void 0);\n__decorate([\n Input()\n], NgbTypeahead.prototype, \"showHint\", void 0);\n__decorate([\n Input()\n], NgbTypeahead.prototype, \"placement\", void 0);\n__decorate([\n Output()\n], NgbTypeahead.prototype, \"selectItem\", void 0);\nNgbTypeahead = __decorate([ __param(8, Inject(DOCUMENT))\n], NgbTypeahead);\n\nlet NgbTypeaheadModule = class NgbTypeaheadModule {\n};\nNgbTypeaheadModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbTypeaheadModule });\nNgbTypeaheadModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbTypeaheadModule_Factory(t) { return new (t || NgbTypeaheadModule)(); }, imports: [[CommonModule]] });\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 // tslint:disable-next-line:deprecation\n NgbTabsetModule\n];\nlet NgbModule = class NgbModule {\n};\nNgbModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: NgbModule });\nNgbModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function NgbModule_Factory(t) { return new (t || NgbModule)(); }, imports: [NGB_MODULES, NgbAccordionModule, NgbAlertModule, NgbButtonsModule, NgbCarouselModule, NgbCollapseModule, NgbDatepickerModule, NgbDropdownModule, NgbModalModule, NgbNavModule, NgbPaginationModule, NgbPopoverModule, NgbProgressbarModule, NgbRatingModule, NgbTimepickerModule, NgbToastModule, NgbTooltipModule, NgbTypeaheadModule, NgbTabsetModule] });\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbAccordionConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPanelHeader, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbPanelHeader]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPanelTitle, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbPanelTitle]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPanelContent, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbPanelContent]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPanel, [{\n type: Directive,\n args: [{ selector: 'ngb-panel' }]\n }], function () { return []; }, { disabled: [{\n type: Input\n }], id: [{\n type: Input\n }], title: [{\n type: Input\n }], type: [{\n type: Input\n }], cardClass: [{\n type: Input\n }], titleTpls: [{\n type: ContentChildren,\n args: [NgbPanelTitle, { descendants: false }]\n }], headerTpls: [{\n type: ContentChildren,\n args: [NgbPanelHeader, { descendants: false }]\n }], contentTpls: [{\n type: ContentChildren,\n args: [NgbPanelContent, { descendants: false }]\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbAccordion, [{\n type: Component,\n args: [{\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 {{panel.title}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `\n }]\n }], function () { return [{ type: NgbAccordionConfig }]; }, { activeIds: [{\n type: Input\n }], destroyOnHide: [{\n type: Input\n }], panelChange: [{\n type: Output\n }], type: [{\n type: Input\n }], closeOtherPanels: [{\n type: Input,\n args: ['closeOthers']\n }], panels: [{\n type: ContentChildren,\n args: [NgbPanel]\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPanelToggle, [{\n type: Directive,\n args: [{\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 }]\n }], function () { return [{ type: NgbAccordion }, { type: NgbPanel, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, { ngbPanelToggle: [{\n type: Input\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbAccordionModule, { declarations: function () { return [NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle]; }, imports: function () { return [CommonModule]; }, exports: function () { return [NgbAccordion, NgbPanel, NgbPanelTitle, NgbPanelContent, NgbPanelHeader, NgbPanelToggle]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbAccordionModule, [{\n type: NgModule,\n args: [{ declarations: NGB_ACCORDION_DIRECTIVES, exports: NGB_ACCORDION_DIRECTIVES, imports: [CommonModule] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbAlertConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbAlert, [{\n type: Component,\n args: [{\n selector: 'ngb-alert',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { 'role': 'alert', 'class': 'alert', '[class.alert-dismissible]': 'dismissible' },\n template: `\n \n \n ×\n \n `,\n styles: [\"ngb-alert{display:block}\"]\n }]\n }], function () { return [{ type: NgbAlertConfig }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }]; }, { close: [{\n type: Output\n }], dismissible: [{\n type: Input\n }], type: [{\n type: Input\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbAlertModule, { declarations: function () { return [NgbAlert]; }, imports: function () { return [CommonModule]; }, exports: function () { return [NgbAlert]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbAlertModule, [{\n type: NgModule,\n args: [{ declarations: [NgbAlert], exports: [NgbAlert], imports: [CommonModule], entryComponents: [NgbAlert] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbButtonLabel, [{\n type: Directive,\n args: [{\n selector: '[ngbButtonLabel]',\n host: { '[class.btn]': 'true', '[class.active]': 'active', '[class.disabled]': 'disabled', '[class.focus]': 'focused' }\n }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCheckBox, [{\n type: Directive,\n args: [{\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: [NGB_CHECKBOX_VALUE_ACCESSOR]\n }]\n }], function () { return [{ type: NgbButtonLabel }, { type: ɵngcc0.ChangeDetectorRef }]; }, { disabled: [{\n type: Input\n }], valueChecked: [{\n type: Input\n }], valueUnChecked: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbRadioGroup, [{\n type: Directive,\n args: [{ selector: '[ngbRadioGroup]', host: { 'role': 'radiogroup' }, providers: [NGB_RADIO_VALUE_ACCESSOR] }]\n }], function () { return []; }, { name: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbRadio, [{\n type: Directive,\n args: [{\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 }]\n }], function () { return [{ type: NgbRadioGroup }, { type: NgbButtonLabel }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.ChangeDetectorRef }]; }, { value: [{\n type: Input,\n args: ['value']\n }], disabled: [{\n type: Input,\n args: ['disabled']\n }], name: [{\n type: Input\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbButtonsModule, { declarations: [NgbButtonLabel, NgbCheckBox, NgbRadioGroup, NgbRadio], exports: [NgbButtonLabel, NgbCheckBox, NgbRadioGroup, NgbRadio] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbButtonsModule, [{\n type: NgModule,\n args: [{ declarations: NGB_BUTTON_DIRECTIVES, exports: NGB_BUTTON_DIRECTIVES }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCarouselConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbSlide, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbSlide]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, { id: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCarousel, [{\n type: Component,\n args: [{\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 && prev(NgbSlideEventSource.ARROW_LEFT)',\n '(keydown.arrowRight)': 'keyboard && next(NgbSlideEventSource.ARROW_RIGHT)'\n },\n template: `\n \n \n \n \n \n \n \n \n \n \n Previous\n \n \n \n Next\n \n `\n }]\n }], function () { return [{ type: NgbCarouselConfig }, { type: undefined, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.ChangeDetectorRef }]; }, { slide: [{\n type: Output\n }], interval: [{\n type: Input\n }], wrap: [{\n type: Input\n }], keyboard: [{\n type: Input\n }], pauseOnHover: [{\n type: Input\n }], showNavigationArrows: [{\n type: Input\n }], showNavigationIndicators: [{\n type: Input\n }], mouseEnter: [{\n type: HostListener,\n args: ['mouseenter']\n }], mouseLeave: [{\n type: HostListener,\n args: ['mouseleave']\n }], activeId: [{\n type: Input\n }], slides: [{\n type: ContentChildren,\n args: [NgbSlide]\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbCarouselModule, { declarations: function () { return [NgbCarousel, NgbSlide]; }, imports: function () { return [CommonModule]; }, exports: function () { return [NgbCarousel, NgbSlide]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCarouselModule, [{\n type: NgModule,\n args: [{ declarations: NGB_CAROUSEL_DIRECTIVES, exports: NGB_CAROUSEL_DIRECTIVES, imports: [CommonModule] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCollapse, [{\n type: Directive,\n args: [{\n selector: '[ngbCollapse]',\n exportAs: 'ngbCollapse',\n host: { '[class.collapse]': 'true', '[class.show]': '!collapsed' }\n }]\n }], function () { return []; }, { collapsed: [{\n type: Input,\n args: ['ngbCollapse']\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbCollapseModule, { declarations: [NgbCollapse], exports: [NgbCollapse] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCollapseModule, [{\n type: NgModule,\n args: [{ declarations: [NgbCollapse], exports: [NgbCollapse] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCalendar, [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: NGB_DATEPICKER_CALENDAR_FACTORY }]\n }], null, null); })();\nconst ɵNgbCalendarGregorian_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbCalendarGregorian);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCalendarGregorian, [{\n type: Injectable\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepickerI18n, [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: NGB_DATEPICKER_18N_FACTORY, deps: [LOCALE_ID] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepickerI18nDefault, [{\n type: Injectable\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepickerService, [{\n type: Injectable\n }], function () { return [{ type: NgbCalendar }, { type: NgbDatepickerI18n }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepickerConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDateAdapter, [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: NGB_DATEPICKER_DATE_ADAPTER_FACTORY }]\n }], null, null); })();\nconst ɵNgbDateStructAdapter_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbDateStructAdapter);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDateStructAdapter, [{\n type: Injectable\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepickerContent, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbDatepickerContent]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepicker, [{\n type: Component,\n args: [{\n exportAs: 'ngbDatepicker',\n selector: 'ngb-datepicker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\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: [NGB_DATEPICKER_VALUE_ACCESSOR, NgbDatepickerService],\n styles: [\"ngb-datepicker{border:1px solid #dfdfdf;border-radius:.25rem;display:inline-block}ngb-datepicker-month{pointer-events:auto}ngb-datepicker.dropdown-menu{padding:0}.ngb-dp-body{z-index:1050}.ngb-dp-header{border-bottom:0;border-radius:.25rem .25rem 0 0;padding-top:.25rem;background-color:#f8f9fa;background-color:var(--light)}.ngb-dp-months{display:-ms-flexbox;display:flex}.ngb-dp-month{pointer-events:none}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center;background-color:#f8f9fa;background-color:var(--light)}.ngb-dp-month+.ngb-dp-month .ngb-dp-month-name,.ngb-dp-month+.ngb-dp-month .ngb-dp-week{padding-left:1rem}.ngb-dp-month:last-child .ngb-dp-week{padding-right:.25rem}.ngb-dp-month:first-child .ngb-dp-week{padding-left:.25rem}.ngb-dp-month .ngb-dp-week:last-child{padding-bottom:.25rem}\"]\n }]\n }], function () { return [{ type: NgbDatepickerService }, { type: NgbCalendar }, { type: NgbDatepickerI18n }, { type: NgbDatepickerConfig }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ElementRef }, { type: NgbDateAdapter }, { type: ɵngcc0.NgZone }]; }, { navigate: [{\n type: Output\n }], dateSelect: [{\n type: Output\n }], select: [{\n type: Output\n }], dayTemplate: [{\n type: Input\n }], _defaultDayTemplate: [{\n type: ViewChild,\n args: ['defaultDayTemplate', { static: true }]\n }], _contentEl: [{\n type: ViewChild,\n args: ['content', { static: true }]\n }], contentTemplate: [{\n type: ContentChild,\n args: [NgbDatepickerContent, { static: true }]\n }], dayTemplateData: [{\n type: Input\n }], displayMonths: [{\n type: Input\n }], firstDayOfWeek: [{\n type: Input\n }], footerTemplate: [{\n type: Input\n }], markDisabled: [{\n type: Input\n }], maxDate: [{\n type: Input\n }], minDate: [{\n type: Input\n }], navigation: [{\n type: Input\n }], outsideDays: [{\n type: Input\n }], showWeekdays: [{\n type: Input\n }], showWeekNumbers: [{\n type: Input\n }], startDate: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepickerKeyboardService, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepickerMonth, [{\n type: Component,\n args: [{\n selector: 'ngb-datepicker-month',\n host: { 'role': 'grid', '(keydown)': 'onKeyDown($event)' },\n encapsulation: ViewEncapsulation.None,\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 styles: [\"ngb-datepicker-month{display:block}.ngb-dp-week-number,.ngb-dp-weekday{line-height:2rem;text-align:center;font-style:italic}.ngb-dp-weekday{color:#5bc0de;color:var(--info)}.ngb-dp-week{border-radius:.25rem;display:-ms-flexbox;display:flex}.ngb-dp-weekdays{border-bottom:1px solid rgba(0,0,0,.125);border-radius:0;background-color:#f8f9fa;background-color:var(--light)}.ngb-dp-day,.ngb-dp-week-number,.ngb-dp-weekday{width:2rem;height:2rem}.ngb-dp-day{cursor:pointer}.ngb-dp-day.disabled,.ngb-dp-day.hidden{cursor:default}.ngb-dp-day[tabindex=\\\"0\\\"]{z-index:1}\"]\n }]\n }], function () { return [{ type: NgbDatepickerI18n }, { type: NgbDatepicker }, { type: NgbDatepickerKeyboardService }, { type: NgbDatepickerService }]; }, { month: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepickerNavigation, [{\n type: Component,\n args: [{\n selector: 'ngb-datepicker-navigation',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n \n \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 \n `,\n styles: [\"ngb-datepicker-navigation{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.ngb-dp-navigation-chevron{border-style:solid;border-width:.2em .2em 0 0;display:inline-block;width:.75em;height:.75em;margin-left:.25em;margin-right:.15em;-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.right .ngb-dp-navigation-chevron{-webkit-transform:rotate(45deg);transform:rotate(45deg);margin-left:.15em;margin-right:.25em}.ngb-dp-arrow{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;padding-right:0;padding-left:0;margin:0;width:2rem;height:2rem}.ngb-dp-arrow.right{-ms-flex-pack:end;justify-content:flex-end}.ngb-dp-arrow-btn{padding:0 .25rem;margin:0 .5rem;border:none;background-color:transparent;z-index:1}.ngb-dp-arrow-btn:focus{outline-width:1px;outline-style:auto}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.ngb-dp-arrow-btn:focus{outline-style:solid}}.ngb-dp-month-name{font-size:larger;height:2rem;line-height:2rem;text-align:center}.ngb-dp-navigation-select{display:-ms-flexbox;display:flex;-ms-flex:1 1 9rem;flex:1 1 9rem}\"]\n }]\n }], function () { return [{ type: NgbDatepickerI18n }]; }, { months: [{\n type: Input\n }], navigate: [{\n type: Output\n }], select: [{\n type: Output\n }], date: [{\n type: Input\n }], disabled: [{\n type: Input\n }], showSelect: [{\n type: Input\n }], prevDisabled: [{\n type: Input\n }], nextDisabled: [{\n type: Input\n }], selectBoxes: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDateParserFormatter, [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: NGB_DATEPICKER_PARSER_FORMATTER_FACTORY }]\n }], null, null); })();\nconst ɵNgbDateISOParserFormatter_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbDateISOParserFormatter);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDateISOParserFormatter, [{\n type: Injectable\n }], null, null); })();\nconst ɵNgbInputDatepickerConfig_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbInputDatepickerConfig);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbInputDatepickerConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbInputDatepicker, [{\n type: Directive,\n args: [{\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 NGB_DATEPICKER_VALUE_ACCESSOR$1, NGB_DATEPICKER_VALIDATOR,\n { provide: NgbDatepickerConfig, useExisting: NgbInputDatepickerConfig }\n ]\n }]\n }], function () { return [{ type: NgbDateParserFormatter }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ComponentFactoryResolver }, { type: ɵngcc0.NgZone }, { type: NgbCalendar }, { type: NgbDateAdapter }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc0.ChangeDetectorRef }, { type: NgbInputDatepickerConfig }]; }, { dateSelect: [{\n type: Output\n }], navigate: [{\n type: Output\n }], closed: [{\n type: Output\n }], disabled: [{\n type: Input\n }], autoClose: [{\n type: Input\n }], dayTemplate: [{\n type: Input\n }], dayTemplateData: [{\n type: Input\n }], displayMonths: [{\n type: Input\n }], firstDayOfWeek: [{\n type: Input\n }], footerTemplate: [{\n type: Input\n }], markDisabled: [{\n type: Input\n }], minDate: [{\n type: Input\n }], maxDate: [{\n type: Input\n }], navigation: [{\n type: Input\n }], outsideDays: [{\n type: Input\n }], placement: [{\n type: Input\n }], restoreFocus: [{\n type: Input\n }], showWeekdays: [{\n type: Input\n }], showWeekNumbers: [{\n type: Input\n }], startDate: [{\n type: Input\n }], container: [{\n type: Input\n }], positionTarget: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepickerDayView, [{\n type: Component,\n args: [{\n selector: '[ngbDatepickerDayView]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\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 styles: [\"[ngbDatepickerDayView]{text-align:center;width:2rem;height:2rem;line-height:2rem;border-radius:.25rem;background:0 0}[ngbDatepickerDayView].outside{opacity:.5}\"]\n }]\n }], function () { return [{ type: NgbDatepickerI18n }]; }, { currentMonth: [{\n type: Input\n }], date: [{\n type: Input\n }], disabled: [{\n type: Input\n }], focused: [{\n type: Input\n }], selected: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepickerNavigationSelect, [{\n type: Component,\n args: [{\n selector: 'ngb-datepicker-navigation-select',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n \n {{ i18n.getMonthShortName(m, date?.year) }}\n \n {{ i18n.getYearNumerals(y) }}\n \n `,\n styles: [\"ngb-datepicker-navigation-select>.custom-select{-ms-flex:1 1 auto;flex:1 1 auto;padding:0 .5rem;font-size:.875rem;height:1.85rem}ngb-datepicker-navigation-select>.custom-select:focus{z-index:1}ngb-datepicker-navigation-select>.custom-select::-ms-value{background-color:transparent!important}\"]\n }]\n }], function () { return [{ type: NgbDatepickerI18n }, { type: ɵngcc0.Renderer2 }]; }, { select: [{\n type: Output\n }], date: [{\n type: Input\n }], disabled: [{\n type: Input\n }], months: [{\n type: Input\n }], years: [{\n type: Input\n }], monthSelect: [{\n type: ViewChild,\n args: ['month', { static: true, read: ElementRef }]\n }], yearSelect: [{\n type: ViewChild,\n args: ['year', { static: true, read: ElementRef }]\n }] }); })();\nconst ɵNgbCalendarHijri_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbCalendarHijri);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCalendarHijri, [{\n type: Injectable\n }], null, null); })();\nconst ɵNgbCalendarIslamicCivil_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbCalendarIslamicCivil);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCalendarIslamicCivil, [{\n type: Injectable\n }], null, null); })();\nconst ɵNgbCalendarIslamicUmalqura_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbCalendarIslamicUmalqura);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCalendarIslamicUmalqura, [{\n type: Injectable\n }], null, null); })();\nconst ɵNgbCalendarPersian_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbCalendarPersian);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCalendarPersian, [{\n type: Injectable\n }], null, null); })();\nconst ɵNgbCalendarHebrew_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbCalendarHebrew);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbCalendarHebrew, [{\n type: Injectable\n }], null, null); })();\nconst ɵNgbDatepickerI18nHebrew_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbDatepickerI18nHebrew);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepickerI18nHebrew, [{\n type: Injectable\n }], null, null); })();\nconst ɵNgbDateNativeAdapter_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbDateNativeAdapter);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDateNativeAdapter, [{\n type: Injectable\n }], null, null); })();\nconst ɵNgbDateNativeUTCAdapter_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbDateNativeUTCAdapter);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDateNativeUTCAdapter, [{\n type: Injectable\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbDatepickerModule, { declarations: function () { return [NgbDatepicker, NgbDatepickerContent, NgbDatepickerMonth, NgbDatepickerNavigation, NgbDatepickerNavigationSelect, NgbDatepickerDayView, NgbInputDatepicker]; }, imports: function () { return [CommonModule, FormsModule]; }, exports: function () { return [NgbDatepicker, NgbDatepickerContent, NgbInputDatepicker, NgbDatepickerMonth]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDatepickerModule, [{\n type: NgModule,\n args: [{\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 }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDropdownConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbNavbar, [{\n type: Directive,\n args: [{ selector: '.navbar' }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDropdownItem, [{\n type: Directive,\n args: [{ selector: '[ngbDropdownItem]', host: { 'class': 'dropdown-item', '[class.disabled]': 'disabled' } }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { disabled: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDropdownMenu, [{\n type: Directive,\n args: [{\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 }\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [forwardRef(() => NgbDropdown)]\n }] }]; }, { menuItems: [{\n type: ContentChildren,\n args: [NgbDropdownItem]\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDropdownAnchor, [{\n type: Directive,\n args: [{\n selector: '[ngbDropdownAnchor]',\n host: { 'class': 'dropdown-toggle', 'aria-haspopup': 'true', '[attr.aria-expanded]': 'dropdown.isOpen()' }\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [forwardRef(() => NgbDropdown)]\n }] }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDropdownToggle, [{\n type: Directive,\n args: [{\n selector: '[ngbDropdownToggle]',\n host: {\n 'class': 'dropdown-toggle',\n 'aria-haspopup': 'true',\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 },\n providers: [{ provide: NgbDropdownAnchor, useExisting: forwardRef(() => NgbDropdownToggle_1) }]\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [forwardRef(() => NgbDropdown)]\n }] }, { type: ɵngcc0.ElementRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDropdown, [{\n type: Directive,\n args: [{ selector: '[ngbDropdown]', exportAs: 'ngbDropdown', host: { '[class.show]': 'isOpen()' } }]\n }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }, { type: NgbDropdownConfig }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }, { type: NgbNavbar, decorators: [{\n type: Optional\n }] }]; }, { _open: [{\n type: Input,\n args: ['open']\n }], openChange: [{\n type: Output\n }], placement: [{\n type: Input\n }], container: [{\n type: Input\n }], autoClose: [{\n type: Input\n }], display: [{\n type: Input\n }], _menu: [{\n type: ContentChild,\n args: [NgbDropdownMenu, { static: false }]\n }], _menuElement: [{\n type: ContentChild,\n args: [NgbDropdownMenu, { read: ElementRef, static: false }]\n }], _anchor: [{\n type: ContentChild,\n args: [NgbDropdownAnchor, { static: false }]\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbDropdownModule, { declarations: [NgbDropdown, NgbDropdownAnchor, NgbDropdownToggle, NgbDropdownMenu, NgbDropdownItem, NgbNavbar], exports: [NgbDropdown, NgbDropdownAnchor, NgbDropdownToggle, NgbDropdownMenu, NgbDropdownItem, NgbNavbar] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbDropdownModule, [{\n type: NgModule,\n args: [{ declarations: NGB_DROPDOWN_DIRECTIVES, exports: NGB_DROPDOWN_DIRECTIVES }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbModalConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ScrollBar, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbModalBackdrop, [{\n type: Component,\n args: [{\n selector: 'ngb-modal-backdrop',\n encapsulation: ViewEncapsulation.None,\n template: '',\n host: { '[class]': '\"modal-backdrop fade show\" + (backdropClass ? \" \" + backdropClass : \"\")', 'style': 'z-index: 1050' }\n }]\n }], null, { backdropClass: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbModalWindow, [{\n type: Component,\n args: [{\n selector: 'ngb-modal-window',\n host: {\n '[class]': '\"modal fade show d-block\" + (windowClass ? \" \" + windowClass : \"\")',\n 'role': 'dialog',\n 'tabindex': '-1',\n '[attr.aria-modal]': 'true',\n '[attr.aria-labelledby]': 'ariaLabelledBy'\n },\n template: `\n \n \n \n `,\n encapsulation: ViewEncapsulation.None,\n styles: [\"ngb-modal-window .component-host-scrollable{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden}\"]\n }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }]; }, { backdrop: [{\n type: Input\n }], keyboard: [{\n type: Input\n }], dismissEvent: [{\n type: Output,\n args: ['dismiss']\n }], _dialogEl: [{\n type: ViewChild,\n args: ['dialog', { static: true }]\n }], ariaLabelledBy: [{\n type: Input\n }], centered: [{\n type: Input\n }], scrollable: [{\n type: Input\n }], size: [{\n type: Input\n }], windowClass: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbModalStack, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc0.ApplicationRef }, { type: ɵngcc0.Injector }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ScrollBar }, { type: ɵngcc0.RendererFactory2 }, { type: ɵngcc0.NgZone }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbModal, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: ɵngcc0.ComponentFactoryResolver }, { type: ɵngcc0.Injector }, { type: NgbModalStack }, { type: NgbModalConfig }]; }, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbModalModule, { declarations: [NgbModalBackdrop, NgbModalWindow] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbModalModule, [{\n type: NgModule,\n args: [{\n declarations: [NgbModalBackdrop, NgbModalWindow],\n entryComponents: [NgbModalBackdrop, NgbModalWindow],\n providers: [NgbModal]\n }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbNavConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbNavContent, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbNavContent]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbNavItem, [{\n type: Directive,\n args: [{ selector: '[ngbNavItem]', exportAs: 'ngbNavItem', host: { '[class.nav-item]': 'true' } }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [forwardRef(() => NgbNav)]\n }] }, { type: ɵngcc0.ElementRef }]; }, { disabled: [{\n type: Input\n }], domId: [{\n type: Input\n }], destroyOnHide: [{\n type: Input\n }], _id: [{\n type: Input,\n args: ['ngbNavItem']\n }], contentTpls: [{\n type: ContentChildren,\n args: [NgbNavContent, { descendants: false }]\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbNav, [{\n type: Directive,\n args: [{\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 }\n }]\n }], function () { return [{ type: String, decorators: [{\n type: Attribute,\n args: ['role']\n }] }, { type: NgbNavConfig }, { type: ɵngcc0.ChangeDetectorRef }]; }, { activeIdChange: [{\n type: Output\n }], navChange: [{\n type: Output\n }], destroyOnHide: [{\n type: Input\n }], orientation: [{\n type: Input\n }], roles: [{\n type: Input\n }], activeId: [{\n type: Input\n }], items: [{\n type: ContentChildren,\n args: [NgbNavItem]\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbNavLink, [{\n type: Directive,\n args: [{\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 }]\n }], function () { return [{ type: String, decorators: [{\n type: Attribute,\n args: ['role']\n }] }, { type: NgbNavItem }, { type: NgbNav }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbNavOutlet, [{\n type: Component,\n args: [{\n selector: '[ngbNavOutlet]',\n host: { '[class.tab-content]': 'true' },\n encapsulation: ViewEncapsulation.None,\n template: `\n \n \n \n \n \n `\n }]\n }], null, { paneRole: [{\n type: Input\n }], nav: [{\n type: Input,\n args: ['ngbNavOutlet']\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbNavModule, { declarations: function () { return [NgbNavContent, NgbNav, NgbNavItem, NgbNavLink, NgbNavOutlet]; }, imports: function () { return [CommonModule]; }, exports: function () { return [NgbNavContent, NgbNav, NgbNavItem, NgbNavLink, NgbNavOutlet]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbNavModule, [{\n type: NgModule,\n args: [{ declarations: NGB_NAV_DIRECTIVES, exports: NGB_NAV_DIRECTIVES, imports: [CommonModule] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPaginationConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPaginationEllipsis, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbPaginationEllipsis]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPaginationFirst, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbPaginationFirst]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPaginationLast, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbPaginationLast]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPaginationNext, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbPaginationNext]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPaginationNumber, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbPaginationNumber]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPaginationPrevious, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbPaginationPrevious]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPagination, [{\n type: Component,\n args: [{\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 \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 \n \n \n `\n }]\n }], function () { return [{ type: NgbPaginationConfig }]; }, { page: [{\n type: Input\n }], pageChange: [{\n type: Output\n }], disabled: [{\n type: Input\n }], boundaryLinks: [{\n type: Input\n }], directionLinks: [{\n type: Input\n }], ellipses: [{\n type: Input\n }], maxSize: [{\n type: Input\n }], pageSize: [{\n type: Input\n }], rotate: [{\n type: Input\n }], size: [{\n type: Input\n }], tplEllipsis: [{\n type: ContentChild,\n args: [NgbPaginationEllipsis, { static: false }]\n }], tplFirst: [{\n type: ContentChild,\n args: [NgbPaginationFirst, { static: false }]\n }], tplLast: [{\n type: ContentChild,\n args: [NgbPaginationLast, { static: false }]\n }], tplNext: [{\n type: ContentChild,\n args: [NgbPaginationNext, { static: false }]\n }], tplNumber: [{\n type: ContentChild,\n args: [NgbPaginationNumber, { static: false }]\n }], tplPrevious: [{\n type: ContentChild,\n args: [NgbPaginationPrevious, { static: false }]\n }], collectionSize: [{\n type: Input\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbPaginationModule, { declarations: function () { return [NgbPagination, NgbPaginationEllipsis, NgbPaginationFirst, NgbPaginationLast, NgbPaginationNext, NgbPaginationNumber, NgbPaginationPrevious]; }, imports: function () { return [CommonModule]; }, exports: function () { return [NgbPagination, NgbPaginationEllipsis, NgbPaginationFirst, NgbPaginationLast, NgbPaginationNext, NgbPaginationNumber, NgbPaginationPrevious]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPaginationModule, [{\n type: NgModule,\n args: [{ declarations: DIRECTIVES, exports: DIRECTIVES, imports: [CommonModule] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPopoverConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPopoverWindow, [{\n type: Component,\n args: [{\n selector: 'ngb-popover-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class]': '\"popover\" + (popoverClass ? \" \" + popoverClass : \"\")', 'role': 'tooltip', '[id]': 'id' },\n template: `\n \n \n {{title}}\n \n \n `,\n styles: [\"ngb-popover-window.bs-popover-bottom>.arrow,ngb-popover-window.bs-popover-top>.arrow{left:50%;margin-left:-.5rem}ngb-popover-window.bs-popover-bottom-left>.arrow,ngb-popover-window.bs-popover-top-left>.arrow{left:2em}ngb-popover-window.bs-popover-bottom-right>.arrow,ngb-popover-window.bs-popover-top-right>.arrow{left:auto;right:2em}ngb-popover-window.bs-popover-left>.arrow,ngb-popover-window.bs-popover-right>.arrow{top:50%;margin-top:-.5rem}ngb-popover-window.bs-popover-left-top>.arrow,ngb-popover-window.bs-popover-right-top>.arrow{top:.7em}ngb-popover-window.bs-popover-left-bottom>.arrow,ngb-popover-window.bs-popover-right-bottom>.arrow{top:auto;bottom:.7em}\"]\n }]\n }], null, { title: [{\n type: Input\n }], id: [{\n type: Input\n }], popoverClass: [{\n type: Input\n }], context: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPopover, [{\n type: Directive,\n args: [{ selector: '[ngbPopover]', exportAs: 'ngbPopover' }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc0.Injector }, { type: ɵngcc0.ComponentFactoryResolver }, { type: ɵngcc0.ViewContainerRef }, { type: NgbPopoverConfig }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ApplicationRef }]; }, { shown: [{\n type: Output\n }], hidden: [{\n type: Output\n }], autoClose: [{\n type: Input\n }], placement: [{\n type: Input\n }], triggers: [{\n type: Input\n }], container: [{\n type: Input\n }], disablePopover: [{\n type: Input\n }], popoverClass: [{\n type: Input\n }], openDelay: [{\n type: Input\n }], closeDelay: [{\n type: Input\n }], ngbPopover: [{\n type: Input\n }], popoverTitle: [{\n type: Input\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbPopoverModule, { declarations: function () { return [NgbPopover, NgbPopoverWindow]; }, imports: function () { return [CommonModule]; }, exports: function () { return [NgbPopover]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbPopoverModule, [{\n type: NgModule,\n args: [{\n declarations: [NgbPopover, NgbPopoverWindow],\n exports: [NgbPopover],\n imports: [CommonModule],\n entryComponents: [NgbPopoverWindow]\n }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbProgressbarConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbProgressbar, [{\n type: Component,\n args: [{\n selector: 'ngb-progressbar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n \n \n {{getPercentValue()}}%\n \n \n `\n }]\n }], function () { return [{ type: NgbProgressbarConfig }]; }, { value: [{\n type: Input\n }], max: [{\n type: Input\n }], animated: [{\n type: Input\n }], striped: [{\n type: Input\n }], textType: [{\n type: Input\n }], type: [{\n type: Input\n }], showValue: [{\n type: Input\n }], height: [{\n type: Input\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbProgressbarModule, { declarations: function () { return [NgbProgressbar]; }, imports: function () { return [CommonModule]; }, exports: function () { return [NgbProgressbar]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbProgressbarModule, [{\n type: NgModule,\n args: [{ declarations: [NgbProgressbar], exports: [NgbProgressbar], imports: [CommonModule] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbRatingConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbRating, [{\n type: Component,\n args: [{\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: [NGB_RATING_VALUE_ACCESSOR]\n }]\n }], function () { return [{ type: NgbRatingConfig }, { type: ɵngcc0.ChangeDetectorRef }]; }, { hover: [{\n type: Output\n }], leave: [{\n type: Output\n }], rateChange: [{\n type: Output\n }], max: [{\n type: Input\n }], readonly: [{\n type: Input\n }], rate: [{\n type: Input\n }], resettable: [{\n type: Input\n }], starTemplate: [{\n type: Input\n }], starTemplateFromContent: [{\n type: ContentChild,\n args: [TemplateRef, { static: false }]\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbRatingModule, { declarations: function () { return [NgbRating]; }, imports: function () { return [CommonModule]; }, exports: function () { return [NgbRating]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbRatingModule, [{\n type: NgModule,\n args: [{ declarations: [NgbRating], exports: [NgbRating], imports: [CommonModule] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTabsetConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTabTitle, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbTabTitle]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTabContent, [{\n type: Directive,\n args: [{ selector: 'ng-template[ngbTabContent]' }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTab, [{\n type: Directive,\n args: [{ selector: 'ngb-tab' }]\n }], function () { return []; }, { id: [{\n type: Input\n }], disabled: [{\n type: Input\n }], title: [{\n type: Input\n }], titleTpls: [{\n type: ContentChildren,\n args: [NgbTabTitle, { descendants: false }]\n }], contentTpls: [{\n type: ContentChildren,\n args: [NgbTabContent, { descendants: false }]\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTabset, [{\n type: Component,\n args: [{\n selector: 'ngb-tabset',\n exportAs: 'ngbTabset',\n encapsulation: ViewEncapsulation.None,\n template: `\n \n \n \n {{tab.title}}\n \n \n \n \n \n \n \n \n \n \n `\n }]\n }], function () { return [{ type: NgbTabsetConfig }]; }, { destroyOnHide: [{\n type: Input\n }], tabChange: [{\n type: Output\n }], type: [{\n type: Input\n }], justify: [{\n type: Input\n }], orientation: [{\n type: Input\n }], activeId: [{\n type: Input\n }], tabs: [{\n type: ContentChildren,\n args: [NgbTab]\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbTabsetModule, { declarations: function () { return [NgbTabset, NgbTab, NgbTabContent, NgbTabTitle]; }, imports: function () { return [CommonModule]; }, exports: function () { return [NgbTabset, NgbTab, NgbTabContent, NgbTabTitle]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTabsetModule, [{\n type: NgModule,\n args: [{ declarations: NGB_TABSET_DIRECTIVES, exports: NGB_TABSET_DIRECTIVES, imports: [CommonModule] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTimepickerConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTimeAdapter, [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: NGB_DATEPICKER_TIME_ADAPTER_FACTORY }]\n }], null, null); })();\nconst ɵNgbTimeStructAdapter_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(NgbTimeStructAdapter);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTimeStructAdapter, [{\n type: Injectable\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTimepickerI18n, [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: NGB_TIMEPICKER_I18N_FACTORY, deps: [LOCALE_ID] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTimepickerI18nDefault, [{\n type: Injectable\n }], function () { return [{ type: String, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTimepicker, [{\n type: Component,\n args: [{\n selector: 'ngb-timepicker',\n encapsulation: ViewEncapsulation.None,\n template: `\n \n \n \n \n \n Increment hours\n \n \n \n \n Decrement hours\n \n \n :\n \n \n \n Increment minutes\n \n \n \n \n Decrement minutes\n \n \n :\n \n \n \n Increment seconds\n \n \n \n \n Decrement seconds\n \n \n \n \n \n = 12; else am\" i18n=\"@@ngb.timepicker.PM\">{{ i18n.getAfternoonPeriod() }}\n {{ i18n.getMorningPeriod() }}\n \n \n \n \n `,\n providers: [NGB_TIMEPICKER_VALUE_ACCESSOR],\n styles: [\"ngb-timepicker{font-size:1rem}.ngb-tp{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.ngb-tp-input-container{width:4em}.ngb-tp-chevron::before{border-style:solid;border-width:.29em .29em 0 0;content:\\\"\\\";display:inline-block;height:.69em;left:.05em;position:relative;top:.15em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);vertical-align:middle;width:.69em}.ngb-tp-chevron.bottom:before{top:-.3em;-webkit-transform:rotate(135deg);transform:rotate(135deg)}.ngb-tp-input{text-align:center}.ngb-tp-hour,.ngb-tp-meridian,.ngb-tp-minute,.ngb-tp-second{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.ngb-tp-spacer{width:1em;text-align:center}\"]\n }]\n }], function () { return [{ type: NgbTimepickerConfig }, { type: NgbTimeAdapter }, { type: ɵngcc0.ChangeDetectorRef }, { type: NgbTimepickerI18n }]; }, { meridian: [{\n type: Input\n }], spinners: [{\n type: Input\n }], seconds: [{\n type: Input\n }], hourStep: [{\n type: Input\n }], minuteStep: [{\n type: Input\n }], secondStep: [{\n type: Input\n }], readonlyInputs: [{\n type: Input\n }], size: [{\n type: Input\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbTimepickerModule, { declarations: function () { return [NgbTimepicker]; }, imports: function () { return [CommonModule]; }, exports: function () { return [NgbTimepicker]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTimepickerModule, [{\n type: NgModule,\n args: [{ declarations: [NgbTimepicker], exports: [NgbTimepicker], imports: [CommonModule] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbToastConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbToastHeader, [{\n type: Directive,\n args: [{ selector: '[ngbToastHeader]' }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbToast, [{\n type: Component,\n args: [{\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]': 'true',\n '[class.show]': 'true'\n },\n template: `\n \n {{header}}\n \n \n \n \n \n ×\n \n \n \n \n \n \n `,\n styles: [\".ngb-toasts{position:fixed;top:0;right:0;margin:.5em;z-index:1200}ngb-toast .toast-header .close{margin-left:auto;margin-bottom:.25rem}\"]\n }]\n }], function () { return [{ type: String, decorators: [{\n type: Attribute,\n args: ['aria-live']\n }] }, { type: NgbToastConfig }]; }, { contentHeaderTpl: [{\n type: ContentChild,\n args: [NgbToastHeader, { read: TemplateRef, static: true }]\n }], hideOutput: [{\n type: Output,\n args: ['hide']\n }], delay: [{\n type: Input\n }], autohide: [{\n type: Input\n }], header: [{\n type: Input\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbToastModule, { declarations: function () { return [NgbToast, NgbToastHeader]; }, imports: function () { return [CommonModule]; }, exports: function () { return [NgbToast, NgbToastHeader]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbToastModule, [{\n type: NgModule,\n args: [{ declarations: [NgbToast, NgbToastHeader], imports: [CommonModule], exports: [NgbToast, NgbToastHeader] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTooltipConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTooltipWindow, [{\n type: Component,\n args: [{\n selector: 'ngb-tooltip-window',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[class]': '\"tooltip show\" + (tooltipClass ? \" \" + tooltipClass : \"\")', 'role': 'tooltip', '[id]': 'id' },\n template: ``,\n styles: [\"ngb-tooltip-window.bs-tooltip-bottom .arrow,ngb-tooltip-window.bs-tooltip-top .arrow{left:calc(50% - .4rem)}ngb-tooltip-window.bs-tooltip-bottom-left .arrow,ngb-tooltip-window.bs-tooltip-top-left .arrow{left:1em}ngb-tooltip-window.bs-tooltip-bottom-right .arrow,ngb-tooltip-window.bs-tooltip-top-right .arrow{left:auto;right:.8rem}ngb-tooltip-window.bs-tooltip-left .arrow,ngb-tooltip-window.bs-tooltip-right .arrow{top:calc(50% - .4rem)}ngb-tooltip-window.bs-tooltip-left-top .arrow,ngb-tooltip-window.bs-tooltip-right-top .arrow{top:.4rem}ngb-tooltip-window.bs-tooltip-left-bottom .arrow,ngb-tooltip-window.bs-tooltip-right-bottom .arrow{top:auto;bottom:.4rem}\"]\n }]\n }], null, { id: [{\n type: Input\n }], tooltipClass: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTooltip, [{\n type: Directive,\n args: [{ selector: '[ngbTooltip]', exportAs: 'ngbTooltip' }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc0.Injector }, { type: ɵngcc0.ComponentFactoryResolver }, { type: ɵngcc0.ViewContainerRef }, { type: NgbTooltipConfig }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ApplicationRef }]; }, { shown: [{\n type: Output\n }], hidden: [{\n type: Output\n }], autoClose: [{\n type: Input\n }], placement: [{\n type: Input\n }], triggers: [{\n type: Input\n }], container: [{\n type: Input\n }], disableTooltip: [{\n type: Input\n }], tooltipClass: [{\n type: Input\n }], openDelay: [{\n type: Input\n }], closeDelay: [{\n type: Input\n }], ngbTooltip: [{\n type: Input\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbTooltipModule, { declarations: [NgbTooltip, NgbTooltipWindow], exports: [NgbTooltip] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTooltipModule, [{\n type: NgModule,\n args: [{ declarations: [NgbTooltip, NgbTooltipWindow], exports: [NgbTooltip], entryComponents: [NgbTooltipWindow] }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbHighlight, [{\n type: Component,\n args: [{\n selector: 'ngb-highlight',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `` +\n `{{part}}{{part}}` +\n ``,\n styles: [\".ngb-highlight{font-weight:700}\"]\n }]\n }], function () { return []; }, { highlightClass: [{\n type: Input\n }], result: [{\n type: Input\n }], term: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTypeaheadWindow, [{\n type: Component,\n args: [{\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 \n `\n }]\n }], function () { return []; }, { focusFirst: [{\n type: Input\n }], formatter: [{\n type: Input\n }], selectEvent: [{\n type: Output,\n args: ['select']\n }], activeChangeEvent: [{\n type: Output,\n args: ['activeChange']\n }], id: [{\n type: Input\n }], results: [{\n type: Input\n }], term: [{\n type: Input\n }], resultTemplate: [{\n type: Input\n }] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(Live, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [ARIA_LIVE_DELAY]\n }] }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTypeaheadConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTypeahead, [{\n type: Directive,\n args: [{\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: [NGB_TYPEAHEAD_VALUE_ACCESSOR]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.Renderer2 }, { type: ɵngcc0.Injector }, { type: ɵngcc0.ComponentFactoryResolver }, { type: NgbTypeaheadConfig }, { type: ɵngcc0.NgZone }, { type: Live }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ApplicationRef }]; }, { autocomplete: [{\n type: Input\n }], placement: [{\n type: Input\n }], selectItem: [{\n type: Output\n }], container: [{\n type: Input\n }], editable: [{\n type: Input\n }], focusFirst: [{\n type: Input\n }], showHint: [{\n type: Input\n }], inputFormatter: [{\n type: Input\n }], ngbTypeahead: [{\n type: Input\n }], resultFormatter: [{\n type: Input\n }], resultTemplate: [{\n type: Input\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbTypeaheadModule, { declarations: function () { return [NgbTypeahead, NgbHighlight, NgbTypeaheadWindow]; }, imports: function () { return [CommonModule]; }, exports: function () { return [NgbTypeahead, NgbHighlight]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbTypeaheadModule, [{\n type: NgModule,\n args: [{\n declarations: [NgbTypeahead, NgbHighlight, NgbTypeaheadWindow],\n exports: [NgbTypeahead, NgbHighlight],\n imports: [CommonModule],\n entryComponents: [NgbTypeaheadWindow]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgbModule, { imports: [NgbAccordionModule, NgbAlertModule, NgbButtonsModule, NgbCarouselModule, NgbCollapseModule, NgbDatepickerModule, NgbDropdownModule, NgbModalModule, NgbNavModule, NgbPaginationModule, NgbPopoverModule, NgbProgressbarModule, NgbRatingModule, NgbTimepickerModule, NgbToastModule, NgbTooltipModule, NgbTypeaheadModule, NgbTabsetModule], exports: [NgbAccordionModule, NgbAlertModule, NgbButtonsModule, NgbCarouselModule, NgbCollapseModule, NgbDatepickerModule, NgbDropdownModule, NgbModalModule, NgbNavModule, NgbPaginationModule, NgbPopoverModule, NgbProgressbarModule, NgbRatingModule, NgbTimepickerModule, NgbToastModule, NgbTooltipModule, NgbTypeaheadModule, NgbTabsetModule] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgbModule, [{\n type: NgModule,\n args: [{ imports: NGB_MODULES, exports: NGB_MODULES }]\n }], null, null); })();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ModalDismissReasons, NgbAccordion, NgbAccordionConfig, NgbAccordionModule, NgbActiveModal, NgbAlert, NgbAlertConfig, NgbAlertModule, NgbButtonLabel, NgbButtonsModule, NgbCalendar, NgbCalendarGregorian, NgbCalendarHebrew, NgbCalendarIslamicCivil, NgbCalendarIslamicUmalqura, NgbCalendarPersian, NgbCarousel, NgbCarouselConfig, NgbCarouselModule, NgbCheckBox, NgbCollapse, NgbCollapseModule, NgbDate, NgbDateAdapter, NgbDateNativeAdapter, NgbDateNativeUTCAdapter, NgbDateParserFormatter, NgbDatepicker, NgbDatepickerConfig, NgbDatepickerContent, NgbDatepickerI18n, NgbDatepickerI18nHebrew, NgbDatepickerKeyboardService, NgbDatepickerModule, NgbDatepickerMonth, NgbDropdown, NgbDropdownAnchor, NgbDropdownConfig, NgbDropdownItem, NgbDropdownMenu, NgbDropdownModule, NgbDropdownToggle, NgbHighlight, NgbInputDatepicker, NgbInputDatepickerConfig, NgbModal, NgbModalConfig, NgbModalModule, NgbModalRef, NgbModule, NgbNav, NgbNavConfig, NgbNavContent, NgbNavItem, NgbNavLink, NgbNavModule, NgbNavOutlet, NgbNavbar, NgbPagination, NgbPaginationConfig, NgbPaginationEllipsis, NgbPaginationFirst, NgbPaginationLast, NgbPaginationModule, NgbPaginationNext, NgbPaginationNumber, NgbPaginationPrevious, NgbPanel, NgbPanelContent, NgbPanelHeader, NgbPanelTitle, NgbPanelToggle, NgbPopover, NgbPopoverConfig, NgbPopoverModule, NgbProgressbar, NgbProgressbarConfig, NgbProgressbarModule, NgbRadio, NgbRadioGroup, NgbRating, NgbRatingConfig, NgbRatingModule, NgbSlide, NgbSlideEventDirection, NgbSlideEventSource, NgbTab, NgbTabContent, NgbTabTitle, NgbTabset, NgbTabsetConfig, NgbTabsetModule, NgbTimeAdapter, NgbTimepicker, NgbTimepickerConfig, NgbTimepickerI18n, NgbTimepickerModule, NgbToast, NgbToastConfig, NgbToastHeader, NgbToastModule, NgbTooltip, NgbTooltipConfig, NgbTooltipModule, NgbTypeahead, NgbTypeaheadConfig, NgbTypeaheadModule, NGB_CAROUSEL_DIRECTIVES as ɵa, NGB_DATEPICKER_VALUE_ACCESSOR as ɵb, Live as ɵba, NgbCalendarHijri as ɵbb, ContentRef as ɵbc, NGB_DATEPICKER_CALENDAR_FACTORY as ɵc, NgbDatepickerDayView as ɵd, NgbDatepickerNavigation as ɵe, NgbDatepickerNavigationSelect as ɵf, NGB_DATEPICKER_18N_FACTORY as ɵg, NgbDatepickerI18nDefault as ɵh, NGB_DATEPICKER_DATE_ADAPTER_FACTORY as ɵi, NgbDateStructAdapter as ɵj, NGB_DATEPICKER_PARSER_FORMATTER_FACTORY as ɵk, NgbDateISOParserFormatter as ɵl, NgbPopoverWindow as ɵm, NGB_DATEPICKER_TIME_ADAPTER_FACTORY as ɵn, NgbTimeStructAdapter as ɵo, NGB_TIMEPICKER_I18N_FACTORY as ɵp, NgbTimepickerI18nDefault as ɵq, NgbTooltipWindow as ɵr, NgbTypeaheadWindow as ɵs, NgbDatepickerService as ɵt, NgbModalBackdrop as ɵu, NgbModalWindow as ɵv, NgbModalStack as ɵw, ScrollBar as ɵx, ARIA_LIVE_DELAY as ɵy, ARIA_LIVE_DELAY_FACTORY as ɵz };\n\n//# sourceMappingURL=ng-bootstrap.js.map","export const rxSubscriber = (() => typeof Symbol === 'function'\n ? Symbol('rxSubscriber')\n : '@@rxSubscriber_' + Math.random())();\nexport const $$rxSubscriber = rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map","import { Subject } from './Subject';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n }\n getValue() {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n }\n next(value) {\n super.next(this._value = value);\n }\n}\n//# sourceMappingURL=BehaviorSubject.js.map","let _enable_super_gross_mode_that_will_cause_bad_things = false;\nexport const config = {\n Promise: undefined,\n set useDeprecatedSynchronousErrorHandling(value) {\n if (value) {\n const error = new Error();\n console.warn('DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \\n' + error.stack);\n }\n else if (_enable_super_gross_mode_that_will_cause_bad_things) {\n console.log('RxJS: Back to a better error behavior. Thank you. <3');\n }\n _enable_super_gross_mode_that_will_cause_bad_things = value;\n },\n get useDeprecatedSynchronousErrorHandling() {\n return _enable_super_gross_mode_that_will_cause_bad_things;\n },\n};\n//# sourceMappingURL=config.js.map","import { Action } from './Action';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n return setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n clearInterval(id);\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, delay) {\n let errored = false;\n let errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n _unsubscribe() {\n const id = this.id;\n const scheduler = this.scheduler;\n const actions = scheduler.actions;\n const index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n }\n}\n//# sourceMappingURL=AsyncAction.js.map","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n//# sourceMappingURL=Action.js.map","import { Observable } from '../Observable';\nimport { isArray } from '../util/isArray';\nimport { map } from '../operators/map';\nimport { isObject } from '../util/isObject';\nimport { from } from './from';\nexport function forkJoin(...sources) {\n if (sources.length === 1) {\n const first = sources[0];\n if (isArray(first)) {\n return forkJoinInternal(first, null);\n }\n if (isObject(first) && Object.getPrototypeOf(first) === Object.prototype) {\n const keys = Object.keys(first);\n return forkJoinInternal(keys.map(key => first[key]), keys);\n }\n }\n if (typeof sources[sources.length - 1] === 'function') {\n const resultSelector = sources.pop();\n sources = (sources.length === 1 && isArray(sources[0])) ? sources[0] : sources;\n return forkJoinInternal(sources, null).pipe(map((args) => resultSelector(...args)));\n }\n return forkJoinInternal(sources, null);\n}\nfunction forkJoinInternal(sources, keys) {\n return new Observable(subscriber => {\n const len = sources.length;\n if (len === 0) {\n subscriber.complete();\n return;\n }\n const values = new Array(len);\n let completed = 0;\n let emitted = 0;\n for (let i = 0; i < len; i++) {\n const source = from(sources[i]);\n let hasValue = false;\n subscriber.add(source.subscribe({\n next: value => {\n if (!hasValue) {\n hasValue = true;\n emitted++;\n }\n values[i] = value;\n },\n error: err => subscriber.error(err),\n complete: () => {\n completed++;\n if (completed === len || !hasValue) {\n if (emitted === len) {\n subscriber.next(keys ?\n keys.reduce((result, key, i) => (result[key] = values[i], result), {}) :\n values);\n }\n subscriber.complete();\n }\n }\n }));\n }\n });\n}\n//# sourceMappingURL=forkJoin.js.map","/**\n * @license Angular v11.0.3\n * (c) 2010-2020 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { InjectionToken, forwardRef, Directive, Renderer2, ElementRef, Optional, Inject, ɵisPromise, ɵisObservable, Self, Injectable, Injector, Input, Host, isDevMode, EventEmitter, SkipSelf, Output, NgModule, Version } from '@angular/core';\nimport { ɵgetDOM } from '@angular/common';\nimport { forkJoin, from } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Used to provide a `ControlValueAccessor` for form controls.\n *\n * See `DefaultValueAccessor` for how to implement one.\n *\n * @publicApi\n */\nimport * as ɵngcc0 from '@angular/core';\nconst NG_VALUE_ACCESSOR = new InjectionToken('NgValueAccessor');\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 CHECKBOX_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CheckboxControlValueAccessor),\n multi: true,\n};\n/**\n * @description\n * A `ControlValueAccessor` for writing a value and listening to changes on a checkbox input\n * element.\n *\n * @usageNotes\n *\n * ### Using a checkbox with a reactive form.\n *\n * The following example shows how to use a checkbox with a reactive form.\n *\n * ```ts\n * const rememberLoginControl = new FormControl();\n * ```\n *\n * ```\n * \n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass CheckboxControlValueAccessor {\n constructor(_renderer, _elementRef) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n /**\n * The registered callback function called when a change event occurs on the input element.\n * @nodoc\n */\n this.onChange = (_) => { };\n /**\n * The registered callback function called when a blur event occurs on the input element.\n * @nodoc\n */\n this.onTouched = () => { };\n }\n /**\n * Sets the \"checked\" property on the input element.\n * @nodoc\n */\n writeValue(value) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'checked', value);\n }\n /**\n * Registers a function called when the control value changes.\n * @nodoc\n */\n registerOnChange(fn) {\n this.onChange = fn;\n }\n /**\n * Registers a function called when the control is touched.\n * @nodoc\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets the \"disabled\" property on the input element.\n * @nodoc\n */\n setDisabledState(isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n }\n}\nCheckboxControlValueAccessor.ɵfac = function CheckboxControlValueAccessor_Factory(t) { return new (t || CheckboxControlValueAccessor)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nCheckboxControlValueAccessor.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CheckboxControlValueAccessor, selectors: [[\"input\", \"type\", \"checkbox\", \"formControlName\", \"\"], [\"input\", \"type\", \"checkbox\", \"formControl\", \"\"], [\"input\", \"type\", \"checkbox\", \"ngModel\", \"\"]], hostBindings: function CheckboxControlValueAccessor_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"change\", function CheckboxControlValueAccessor_change_HostBindingHandler($event) { return ctx.onChange($event.target.checked); })(\"blur\", function CheckboxControlValueAccessor_blur_HostBindingHandler() { return ctx.onTouched(); });\n } }, features: [ɵngcc0.ɵɵProvidersFeature([CHECKBOX_VALUE_ACCESSOR])] });\nCheckboxControlValueAccessor.ctorParameters = () => [\n { type: Renderer2 },\n { type: ElementRef }\n];\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(CheckboxControlValueAccessor, [{\n type: Directive,\n args: [{\n selector: 'input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]',\n host: { '(change)': 'onChange($event.target.checked)', '(blur)': 'onTouched()' },\n providers: [CHECKBOX_VALUE_ACCESSOR]\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }]; }, null); })();\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 DEFAULT_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DefaultValueAccessor),\n multi: true\n};\n/**\n * We must check whether the agent is Android because composition events\n * behave differently between iOS and Android.\n */\nfunction _isAndroid() {\n const userAgent = ɵgetDOM() ? ɵgetDOM().getUserAgent() : '';\n return /android (\\d+)/.test(userAgent.toLowerCase());\n}\n/**\n * @description\n * Provide this token to control if form directives buffer IME input until\n * the \"compositionend\" event occurs.\n * @publicApi\n */\nconst COMPOSITION_BUFFER_MODE = new InjectionToken('CompositionEventMode');\n/**\n * @description\n *\n * {@searchKeywords ngDefaultControl}\n *\n * The default `ControlValueAccessor` for writing a value and listening to changes on input\n * elements. The accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @usageNotes\n *\n * ### Using the default value accessor\n *\n * The following example shows how to use an input element that activates the default value accessor\n * (in this case, a text field).\n *\n * ```ts\n * const firstNameControl = new FormControl();\n * ```\n *\n * ```\n * \n * ```\n *\n * This value accessor is used by default for `` and `` elements, but\n * you could also use it for custom components that have similar behavior and do not require special\n * processing. In order to attach the default value accessor to a custom element, add the\n * `ngDefaultControl` attribute as shown below.\n *\n * ```\n * \n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass DefaultValueAccessor {\n constructor(_renderer, _elementRef, _compositionMode) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n this._compositionMode = _compositionMode;\n /**\n * The registered callback function called when an input event occurs on the input element.\n * @nodoc\n */\n this.onChange = (_) => { };\n /**\n * The registered callback function called when a blur event occurs on the input element.\n * @nodoc\n */\n this.onTouched = () => { };\n /** Whether the user is creating a composition string (IME events). */\n this._composing = false;\n if (this._compositionMode == null) {\n this._compositionMode = !_isAndroid();\n }\n }\n /**\n * Sets the \"value\" property on the input element.\n * @nodoc\n */\n writeValue(value) {\n const normalizedValue = value == null ? '' : value;\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', normalizedValue);\n }\n /**\n * Registers a function called when the control value changes.\n * @nodoc\n */\n registerOnChange(fn) {\n this.onChange = fn;\n }\n /**\n * Registers a function called when the control is touched.\n * @nodoc\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets the \"disabled\" property on the input element.\n * @nodoc\n */\n setDisabledState(isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n }\n /** @internal */\n _handleInput(value) {\n if (!this._compositionMode || (this._compositionMode && !this._composing)) {\n this.onChange(value);\n }\n }\n /** @internal */\n _compositionStart() {\n this._composing = true;\n }\n /** @internal */\n _compositionEnd(value) {\n this._composing = false;\n this._compositionMode && this.onChange(value);\n }\n}\nDefaultValueAccessor.ɵfac = function DefaultValueAccessor_Factory(t) { return new (t || DefaultValueAccessor)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(COMPOSITION_BUFFER_MODE, 8)); };\nDefaultValueAccessor.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: DefaultValueAccessor, selectors: [[\"input\", \"formControlName\", \"\", 3, \"type\", \"checkbox\"], [\"textarea\", \"formControlName\", \"\"], [\"input\", \"formControl\", \"\", 3, \"type\", \"checkbox\"], [\"textarea\", \"formControl\", \"\"], [\"input\", \"ngModel\", \"\", 3, \"type\", \"checkbox\"], [\"textarea\", \"ngModel\", \"\"], [\"\", \"ngDefaultControl\", \"\"]], hostBindings: function DefaultValueAccessor_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"input\", function DefaultValueAccessor_input_HostBindingHandler($event) { return ctx._handleInput($event.target.value); })(\"blur\", function DefaultValueAccessor_blur_HostBindingHandler() { return ctx.onTouched(); })(\"compositionstart\", function DefaultValueAccessor_compositionstart_HostBindingHandler() { return ctx._compositionStart(); })(\"compositionend\", function DefaultValueAccessor_compositionend_HostBindingHandler($event) { return ctx._compositionEnd($event.target.value); });\n } }, features: [ɵngcc0.ɵɵProvidersFeature([DEFAULT_VALUE_ACCESSOR])] });\nDefaultValueAccessor.ctorParameters = () => [\n { type: Renderer2 },\n { type: ElementRef },\n { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [COMPOSITION_BUFFER_MODE,] }] }\n];\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(DefaultValueAccessor, [{\n type: Directive,\n args: [{\n selector: 'input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]',\n // TODO: vsavkin replace the above selector with the one below it once\n // https://github.com/angular/angular/issues/3011 is implemented\n // selector: '[ngModel],[formControl],[formControlName]',\n host: {\n '(input)': '$any(this)._handleInput($event.target.value)',\n '(blur)': 'onTouched()',\n '(compositionstart)': '$any(this)._compositionStart()',\n '(compositionend)': '$any(this)._compositionEnd($event.target.value)'\n },\n providers: [DEFAULT_VALUE_ACCESSOR]\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }, { type: Boolean, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [COMPOSITION_BUFFER_MODE]\n }] }]; }, null); })();\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 isEmptyInputValue(value) {\n // we don't check for string here so it also works with arrays\n return value == null || value.length === 0;\n}\nfunction hasValidLength(value) {\n // non-strict comparison is intentional, to check for both `null` and `undefined` values\n return value != null && typeof value.length === 'number';\n}\n/**\n * @description\n * An `InjectionToken` for registering additional synchronous validators used with\n * `AbstractControl`s.\n *\n * @see `NG_ASYNC_VALIDATORS`\n *\n * @usageNotes\n *\n * ### Providing a custom validator\n *\n * The following example registers a custom validator directive. Adding the validator to the\n * existing collection of validators requires the `multi: true` option.\n *\n * ```typescript\n * @Directive({\n * selector: '[customValidator]',\n * providers: [{provide: NG_VALIDATORS, useExisting: CustomValidatorDirective, multi: true}]\n * })\n * class CustomValidatorDirective implements Validator {\n * validate(control: AbstractControl): ValidationErrors | null {\n * return { 'custom': true };\n * }\n * }\n * ```\n *\n * @publicApi\n */\nconst NG_VALIDATORS = new InjectionToken('NgValidators');\n/**\n * @description\n * An `InjectionToken` for registering additional asynchronous validators used with\n * `AbstractControl`s.\n *\n * @see `NG_VALIDATORS`\n *\n * @publicApi\n */\nconst NG_ASYNC_VALIDATORS = new InjectionToken('NgAsyncValidators');\n/**\n * A regular expression that matches valid e-mail addresses.\n *\n * At a high level, this regexp matches e-mail addresses of the format `local-part@tld`, where:\n * - `local-part` consists of one or more of the allowed characters (alphanumeric and some\n * punctuation symbols).\n * - `local-part` cannot begin or end with a period (`.`).\n * - `local-part` cannot be longer than 64 characters.\n * - `tld` consists of one or more `labels` separated by periods (`.`). For example `localhost` or\n * `foo.com`.\n * - A `label` consists of one or more of the allowed characters (alphanumeric, dashes (`-`) and\n * periods (`.`)).\n * - A `label` cannot begin or end with a dash (`-`) or a period (`.`).\n * - A `label` cannot be longer than 63 characters.\n * - The whole address cannot be longer than 254 characters.\n *\n * ## Implementation background\n *\n * This regexp was ported over from AngularJS (see there for git history):\n * https://github.com/angular/angular.js/blob/c133ef836/src/ng/directive/input.js#L27\n * It is based on the\n * [WHATWG version](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address) with\n * some enhancements to incorporate more RFC rules (such as rules related to domain names and the\n * lengths of different parts of the address). The main differences from the WHATWG version are:\n * - Disallow `local-part` to begin or end with a period (`.`).\n * - Disallow `local-part` length to exceed 64 characters.\n * - Disallow total address length to exceed 254 characters.\n *\n * See [this commit](https://github.com/angular/angular.js/commit/f3f5cf72e) for more details.\n */\nconst EMAIL_REGEXP = /^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n/**\n * @description\n * Provides a set of built-in validators that can be used by form controls.\n *\n * A validator is a function that processes a `FormControl` or collection of\n * controls and returns an error map or null. A null map means that validation has passed.\n *\n * @see [Form Validation](/guide/form-validation)\n *\n * @publicApi\n */\nclass Validators {\n /**\n * @description\n * Validator that requires the control's value to be greater than or equal to the provided number.\n * The validator exists only as a function and not as a directive.\n *\n * @usageNotes\n *\n * ### Validate against a minimum of 3\n *\n * ```typescript\n * const control = new FormControl(2, Validators.min(3));\n *\n * console.log(control.errors); // {min: {min: 3, actual: 2}}\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `min` property if the validation check fails, otherwise `null`.\n *\n * @see `updateValueAndValidity()`\n *\n */\n static min(min) {\n return (control) => {\n if (isEmptyInputValue(control.value) || isEmptyInputValue(min)) {\n return null; // don't validate empty values to allow optional controls\n }\n const value = parseFloat(control.value);\n // Controls with NaN values after parsing should be treated as not having a\n // minimum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-min\n return !isNaN(value) && value < min ? { 'min': { 'min': min, 'actual': control.value } } : null;\n };\n }\n /**\n * @description\n * Validator that requires the control's value to be less than or equal to the provided number.\n * The validator exists only as a function and not as a directive.\n *\n * @usageNotes\n *\n * ### Validate against a maximum of 15\n *\n * ```typescript\n * const control = new FormControl(16, Validators.max(15));\n *\n * console.log(control.errors); // {max: {max: 15, actual: 16}}\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `max` property if the validation check fails, otherwise `null`.\n *\n * @see `updateValueAndValidity()`\n *\n */\n static max(max) {\n return (control) => {\n if (isEmptyInputValue(control.value) || isEmptyInputValue(max)) {\n return null; // don't validate empty values to allow optional controls\n }\n const value = parseFloat(control.value);\n // Controls with NaN values after parsing should be treated as not having a\n // maximum, per the HTML forms spec: https://www.w3.org/TR/html5/forms.html#attr-input-max\n return !isNaN(value) && value > max ? { 'max': { 'max': max, 'actual': control.value } } : null;\n };\n }\n /**\n * @description\n * Validator that requires the control have a non-empty value.\n *\n * @usageNotes\n *\n * ### Validate that the field is non-empty\n *\n * ```typescript\n * const control = new FormControl('', Validators.required);\n *\n * console.log(control.errors); // {required: true}\n * ```\n *\n * @returns An error map with the `required` property\n * if the validation check fails, otherwise `null`.\n *\n * @see `updateValueAndValidity()`\n *\n */\n static required(control) {\n return isEmptyInputValue(control.value) ? { 'required': true } : null;\n }\n /**\n * @description\n * Validator that requires the control's value be true. This validator is commonly\n * used for required checkboxes.\n *\n * @usageNotes\n *\n * ### Validate that the field value is true\n *\n * ```typescript\n * const control = new FormControl('', Validators.requiredTrue);\n *\n * console.log(control.errors); // {required: true}\n * ```\n *\n * @returns An error map that contains the `required` property\n * set to `true` if the validation check fails, otherwise `null`.\n *\n * @see `updateValueAndValidity()`\n *\n */\n static requiredTrue(control) {\n return control.value === true ? null : { 'required': true };\n }\n /**\n * @description\n * Validator that requires the control's value pass an email validation test.\n *\n * Tests the value using a [regular\n * expression](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)\n * pattern suitable for common usecases. The pattern is based on the definition of a valid email\n * address in the [WHATWG HTML\n * specification](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address) with\n * some enhancements to incorporate more RFC rules (such as rules related to domain names and the\n * lengths of different parts of the address).\n *\n * The differences from the WHATWG version include:\n * - Disallow `local-part` (the part before the `@` symbol) to begin or end with a period (`.`).\n * - Disallow `local-part` to be longer than 64 characters.\n * - Disallow the whole address to be longer than 254 characters.\n *\n * If this pattern does not satisfy your business needs, you can use `Validators.pattern()` to\n * validate the value against a different pattern.\n *\n * @usageNotes\n *\n * ### Validate that the field matches a valid email pattern\n *\n * ```typescript\n * const control = new FormControl('bad@', Validators.email);\n *\n * console.log(control.errors); // {email: true}\n * ```\n *\n * @returns An error map with the `email` property\n * if the validation check fails, otherwise `null`.\n *\n * @see `updateValueAndValidity()`\n *\n */\n static email(control) {\n if (isEmptyInputValue(control.value)) {\n return null; // don't validate empty values to allow optional controls\n }\n return EMAIL_REGEXP.test(control.value) ? null : { 'email': true };\n }\n /**\n * @description\n * Validator that requires the length of the control's value to be greater than or equal\n * to the provided minimum length. This validator is also provided by default if you use the\n * the HTML5 `minlength` attribute. Note that the `minLength` validator is intended to be used\n * only for types that have a numeric `length` property, such as strings or arrays. The\n * `minLength` validator logic is also not invoked for values when their `length` property is 0\n * (for example in case of an empty string or an empty array), to support optional controls. You\n * can use the standard `required` validator if empty values should not be considered valid.\n *\n * @usageNotes\n *\n * ### Validate that the field has a minimum of 3 characters\n *\n * ```typescript\n * const control = new FormControl('ng', Validators.minLength(3));\n *\n * console.log(control.errors); // {minlength: {requiredLength: 3, actualLength: 2}}\n * ```\n *\n * ```html\n * \n * ```\n *\n * @returns A validator function that returns an error map with the\n * `minlength` if the validation check fails, otherwise `null`.\n *\n * @see `updateValueAndValidity()`\n *\n */\n static minLength(minLength) {\n return (control) => {\n if (isEmptyInputValue(control.value) || !hasValidLength(control.value)) {\n // don't validate empty values to allow optional controls\n // don't validate values without `length` property\n return null;\n }\n return control.value.length < minLength ?\n { 'minlength': { 'requiredLength': minLength, 'actualLength': control.value.length } } :\n null;\n };\n }\n /**\n * @description\n * Validator that requires the length of the control's value to be less than or equal\n * to the provided maximum length. This validator is also provided by default if you use the\n * the HTML5 `maxlength` attribute. Note that the `maxLength` validator is intended to be used\n * only for types that have a numeric `length` property, such as strings or arrays.\n *\n * @usageNotes\n *\n * ### Validate that the field has maximum of 5 characters\n *\n * ```typescript\n * const control = new FormControl('Angular', Validators.maxLength(5));\n *\n * console.log(control.errors); // {maxlength: {requiredLength: 5, actualLength: 7}}\n * ```\n *\n * ```html\n * \n * ```\n *\n * @returns A validator function that returns an error map with the\n * `maxlength` property if the validation check fails, otherwise `null`.\n *\n * @see `updateValueAndValidity()`\n *\n */\n static maxLength(maxLength) {\n return (control) => {\n return hasValidLength(control.value) && control.value.length > maxLength ?\n { 'maxlength': { 'requiredLength': maxLength, 'actualLength': control.value.length } } :\n null;\n };\n }\n /**\n * @description\n * Validator that requires the control's value to match a regex pattern. This validator is also\n * provided by default if you use the HTML5 `pattern` attribute.\n *\n * @usageNotes\n *\n * ### Validate that the field only contains letters or spaces\n *\n * ```typescript\n * const control = new FormControl('1', Validators.pattern('[a-zA-Z ]*'));\n *\n * console.log(control.errors); // {pattern: {requiredPattern: '^[a-zA-Z ]*$', actualValue: '1'}}\n * ```\n *\n * ```html\n * \n * ```\n *\n * ### Pattern matching with the global or sticky flag\n *\n * `RegExp` objects created with the `g` or `y` flags that are passed into `Validators.pattern`\n * can produce different results on the same input when validations are run consecutively. This is\n * due to how the behavior of `RegExp.prototype.test` is\n * specified in [ECMA-262](https://tc39.es/ecma262/#sec-regexpbuiltinexec)\n * (`RegExp` preserves the index of the last match when the global or sticky flag is used).\n * Due to this behavior, it is recommended that when using\n * `Validators.pattern` you **do not** pass in a `RegExp` object with either the global or sticky\n * flag enabled.\n *\n * ```typescript\n * // Not recommended (since the `g` flag is used)\n * const controlOne = new FormControl('1', Validators.pattern(/foo/g));\n *\n * // Good\n * const controlTwo = new FormControl('1', Validators.pattern(/foo/));\n * ```\n *\n * @param pattern A regular expression to be used as is to test the values, or a string.\n * If a string is passed, the `^` character is prepended and the `$` character is\n * appended to the provided string (if not already present), and the resulting regular\n * expression is used to test the values.\n *\n * @returns A validator function that returns an error map with the\n * `pattern` property if the validation check fails, otherwise `null`.\n *\n * @see `updateValueAndValidity()`\n *\n */\n static pattern(pattern) {\n if (!pattern)\n return Validators.nullValidator;\n let regex;\n let regexStr;\n if (typeof pattern === 'string') {\n regexStr = '';\n if (pattern.charAt(0) !== '^')\n regexStr += '^';\n regexStr += pattern;\n if (pattern.charAt(pattern.length - 1) !== '$')\n regexStr += '$';\n regex = new RegExp(regexStr);\n }\n else {\n regexStr = pattern.toString();\n regex = pattern;\n }\n return (control) => {\n if (isEmptyInputValue(control.value)) {\n return null; // don't validate empty values to allow optional controls\n }\n const value = control.value;\n return regex.test(value) ? null :\n { 'pattern': { 'requiredPattern': regexStr, 'actualValue': value } };\n };\n }\n /**\n * @description\n * Validator that performs no operation.\n *\n * @see `updateValueAndValidity()`\n *\n */\n static nullValidator(control) {\n return null;\n }\n static compose(validators) {\n if (!validators)\n return null;\n const presentValidators = validators.filter(isPresent);\n if (presentValidators.length == 0)\n return null;\n return function (control) {\n return mergeErrors(executeValidators(control, presentValidators));\n };\n }\n /**\n * @description\n * Compose multiple async validators into a single function that returns the union\n * of the individual error objects for the provided control.\n *\n * @returns A validator function that returns an error map with the\n * merged error objects of the async validators if the validation check fails, otherwise `null`.\n *\n * @see `updateValueAndValidity()`\n *\n */\n static composeAsync(validators) {\n if (!validators)\n return null;\n const presentValidators = validators.filter(isPresent);\n if (presentValidators.length == 0)\n return null;\n return function (control) {\n const observables = executeValidators(control, presentValidators).map(toObservable);\n return forkJoin(observables).pipe(map(mergeErrors));\n };\n }\n}\nfunction isPresent(o) {\n return o != null;\n}\nfunction toObservable(r) {\n const obs = ɵisPromise(r) ? from(r) : r;\n if (!(ɵisObservable(obs)) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw new Error(`Expected validator to return Promise or Observable.`);\n }\n return obs;\n}\nfunction mergeErrors(arrayOfErrors) {\n let res = {};\n // Not using Array.reduce here due to a Chrome 80 bug\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\n arrayOfErrors.forEach((errors) => {\n res = errors != null ? Object.assign(Object.assign({}, res), errors) : res;\n });\n return Object.keys(res).length === 0 ? null : res;\n}\nfunction executeValidators(control, validators) {\n return validators.map(validator => validator(control));\n}\nfunction isValidatorFn(validator) {\n return !validator.validate;\n}\n/**\n * Given the list of validators that may contain both functions as well as classes, return the list\n * of validator functions (convert validator classes into validator functions). This is needed to\n * have consistent structure in validators list before composing them.\n *\n * @param validators The set of validators that may contain validators both in plain function form\n * as well as represented as a validator class.\n */\nfunction normalizeValidators(validators) {\n return validators.map(validator => {\n return isValidatorFn(validator) ?\n validator :\n ((c) => validator.validate(c));\n });\n}\n/**\n * Merges synchronous validators into a single validator function (combined using\n * `Validators.compose`).\n */\nfunction composeValidators(validators) {\n return validators != null ? Validators.compose(normalizeValidators(validators)) :\n null;\n}\n/**\n * Merges asynchronous validators into a single validator function (combined using\n * `Validators.composeAsync`).\n */\nfunction composeAsyncValidators(validators) {\n return validators != null ?\n Validators.composeAsync(normalizeValidators(validators)) :\n null;\n}\n/**\n * Merges raw control validators with a given directive validator and returns the combined list of\n * validators as an array.\n */\nfunction mergeValidators(controlValidators, dirValidator) {\n if (controlValidators === null)\n return [dirValidator];\n return Array.isArray(controlValidators) ? [...controlValidators, dirValidator] :\n [controlValidators, dirValidator];\n}\n/**\n * Retrieves the list of raw synchronous validators attached to a given control.\n */\nfunction getControlValidators(control) {\n return control._rawValidators;\n}\n/**\n * Retrieves the list of raw asynchronous validators attached to a given control.\n */\nfunction getControlAsyncValidators(control) {\n return control._rawAsyncValidators;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n * Base class for control directives.\n *\n * This class is only used internally in the `ReactiveFormsModule` and the `FormsModule`.\n *\n * @publicApi\n */\nclass AbstractControlDirective {\n constructor() {\n /**\n * Set of synchronous validators as they were provided while calling `setValidators` function.\n * @internal\n */\n this._rawValidators = [];\n /**\n * Set of asynchronous validators as they were provided while calling `setAsyncValidators`\n * function.\n * @internal\n */\n this._rawAsyncValidators = [];\n /*\n * The set of callbacks to be invoked when directive instance is being destroyed.\n */\n this._onDestroyCallbacks = [];\n }\n /**\n * @description\n * Reports the value of the control if it is present, otherwise null.\n */\n get value() {\n return this.control ? this.control.value : null;\n }\n /**\n * @description\n * Reports whether the control is valid. A control is considered valid if no\n * validation errors exist with the current value.\n * If the control is not present, null is returned.\n */\n get valid() {\n return this.control ? this.control.valid : null;\n }\n /**\n * @description\n * Reports whether the control is invalid, meaning that an error exists in the input value.\n * If the control is not present, null is returned.\n */\n get invalid() {\n return this.control ? this.control.invalid : null;\n }\n /**\n * @description\n * Reports whether a control is pending, meaning that that async validation is occurring and\n * errors are not yet available for the input value. If the control is not present, null is\n * returned.\n */\n get pending() {\n return this.control ? this.control.pending : null;\n }\n /**\n * @description\n * Reports whether the control is disabled, meaning that the control is disabled\n * in the UI and is exempt from validation checks and excluded from aggregate\n * values of ancestor controls. If the control is not present, null is returned.\n */\n get disabled() {\n return this.control ? this.control.disabled : null;\n }\n /**\n * @description\n * Reports whether the control is enabled, meaning that the control is included in ancestor\n * calculations of validity or value. If the control is not present, null is returned.\n */\n get enabled() {\n return this.control ? this.control.enabled : null;\n }\n /**\n * @description\n * Reports the control's validation errors. If the control is not present, null is returned.\n */\n get errors() {\n return this.control ? this.control.errors : null;\n }\n /**\n * @description\n * Reports whether the control is pristine, meaning that the user has not yet changed\n * the value in the UI. If the control is not present, null is returned.\n */\n get pristine() {\n return this.control ? this.control.pristine : null;\n }\n /**\n * @description\n * Reports whether the control is dirty, meaning that the user has changed\n * the value in the UI. If the control is not present, null is returned.\n */\n get dirty() {\n return this.control ? this.control.dirty : null;\n }\n /**\n * @description\n * Reports whether the control is touched, meaning that the user has triggered\n * a `blur` event on it. If the control is not present, null is returned.\n */\n get touched() {\n return this.control ? this.control.touched : null;\n }\n /**\n * @description\n * Reports the validation status of the control. Possible values include:\n * 'VALID', 'INVALID', 'DISABLED', and 'PENDING'.\n * If the control is not present, null is returned.\n */\n get status() {\n return this.control ? this.control.status : null;\n }\n /**\n * @description\n * Reports whether the control is untouched, meaning that the user has not yet triggered\n * a `blur` event on it. If the control is not present, null is returned.\n */\n get untouched() {\n return this.control ? this.control.untouched : null;\n }\n /**\n * @description\n * Returns a multicasting observable that emits a validation status whenever it is\n * calculated for the control. If the control is not present, null is returned.\n */\n get statusChanges() {\n return this.control ? this.control.statusChanges : null;\n }\n /**\n * @description\n * Returns a multicasting observable of value changes for the control that emits every time the\n * value of the control changes in the UI or programmatically.\n * If the control is not present, null is returned.\n */\n get valueChanges() {\n return this.control ? this.control.valueChanges : null;\n }\n /**\n * @description\n * Returns an array that represents the path from the top-level form to this control.\n * Each index is the string name of the control on that level.\n */\n get path() {\n return null;\n }\n /**\n * Sets synchronous validators for this directive.\n * @internal\n */\n _setValidators(validators) {\n this._rawValidators = validators || [];\n this._composedValidatorFn = composeValidators(this._rawValidators);\n }\n /**\n * Sets asynchronous validators for this directive.\n * @internal\n */\n _setAsyncValidators(validators) {\n this._rawAsyncValidators = validators || [];\n this._composedAsyncValidatorFn = composeAsyncValidators(this._rawAsyncValidators);\n }\n /**\n * @description\n * Synchronous validator function composed of all the synchronous validators registered with this\n * directive.\n */\n get validator() {\n return this._composedValidatorFn || null;\n }\n /**\n * @description\n * Asynchronous validator function composed of all the asynchronous validators registered with\n * this directive.\n */\n get asyncValidator() {\n return this._composedAsyncValidatorFn || null;\n }\n /**\n * Internal function to register callbacks that should be invoked\n * when directive instance is being destroyed.\n * @internal\n */\n _registerOnDestroy(fn) {\n this._onDestroyCallbacks.push(fn);\n }\n /**\n * Internal function to invoke all registered \"on destroy\" callbacks.\n * Note: calling this function also clears the list of callbacks.\n * @internal\n */\n _invokeOnDestroyCallbacks() {\n this._onDestroyCallbacks.forEach(fn => fn());\n this._onDestroyCallbacks = [];\n }\n /**\n * @description\n * Resets the control with the provided value if the control is present.\n */\n reset(value = undefined) {\n if (this.control)\n this.control.reset(value);\n }\n /**\n * @description\n * Reports whether the control with the given path has the error specified.\n *\n * @param errorCode The code of the error to check\n * @param path A list of control names that designates how to move from the current control\n * to the control that should be queried for errors.\n *\n * @usageNotes\n * For example, for the following `FormGroup`:\n *\n * ```\n * form = new FormGroup({\n * address: new FormGroup({ street: new FormControl() })\n * });\n * ```\n *\n * The path to the 'street' control from the root form would be 'address' -> 'street'.\n *\n * It can be provided to this method in one of two formats:\n *\n * 1. An array of string control names, e.g. `['address', 'street']`\n * 1. A period-delimited list of control names in one string, e.g. `'address.street'`\n *\n * If no path is given, this method checks for the error on the current control.\n *\n * @returns whether the given error is present in the control at the given path.\n *\n * If the control is not present, false is returned.\n */\n hasError(errorCode, path) {\n return this.control ? this.control.hasError(errorCode, path) : false;\n }\n /**\n * @description\n * Reports error data for the control with the given path.\n *\n * @param errorCode The code of the error to check\n * @param path A list of control names that designates how to move from the current control\n * to the control that should be queried for errors.\n *\n * @usageNotes\n * For example, for the following `FormGroup`:\n *\n * ```\n * form = new FormGroup({\n * address: new FormGroup({ street: new FormControl() })\n * });\n * ```\n *\n * The path to the 'street' control from the root form would be 'address' -> 'street'.\n *\n * It can be provided to this method in one of two formats:\n *\n * 1. An array of string control names, e.g. `['address', 'street']`\n * 1. A period-delimited list of control names in one string, e.g. `'address.street'`\n *\n * @returns error data for that particular error. If the control or error is not present,\n * null is returned.\n */\n getError(errorCode, path) {\n return this.control ? this.control.getError(errorCode, path) : null;\n }\n}\nAbstractControlDirective.ɵfac = function AbstractControlDirective_Factory(t) { return new (t || AbstractControlDirective)(); };\nAbstractControlDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: AbstractControlDirective });\n\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n * A base class for directives that contain multiple registered instances of `NgControl`.\n * Only used by the forms module.\n *\n * @publicApi\n */\nclass ControlContainer extends AbstractControlDirective {\n /**\n * @description\n * The top-level form directive for the control.\n */\n get formDirective() {\n return null;\n }\n /**\n * @description\n * The path to this group.\n */\n get path() {\n return null;\n }\n}\nControlContainer.ɵfac = function ControlContainer_Factory(t) { return ɵControlContainer_BaseFactory(t || ControlContainer); };\nControlContainer.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: ControlContainer, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nconst ɵControlContainer_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(ControlContainer);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n * A base class that all `FormControl`-based directives extend. It binds a `FormControl`\n * object to a DOM element.\n *\n * @publicApi\n */\nclass NgControl extends AbstractControlDirective {\n constructor() {\n super(...arguments);\n /**\n * @description\n * The parent form for the control.\n *\n * @internal\n */\n this._parent = null;\n /**\n * @description\n * The name for the control\n */\n this.name = null;\n /**\n * @description\n * The value accessor for the control\n */\n this.valueAccessor = null;\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 AbstractControlStatus {\n constructor(cd) {\n this._cd = cd;\n }\n get ngClassUntouched() {\n return this._cd.control ? this._cd.control.untouched : false;\n }\n get ngClassTouched() {\n return this._cd.control ? this._cd.control.touched : false;\n }\n get ngClassPristine() {\n return this._cd.control ? this._cd.control.pristine : false;\n }\n get ngClassDirty() {\n return this._cd.control ? this._cd.control.dirty : false;\n }\n get ngClassValid() {\n return this._cd.control ? this._cd.control.valid : false;\n }\n get ngClassInvalid() {\n return this._cd.control ? this._cd.control.invalid : false;\n }\n get ngClassPending() {\n return this._cd.control ? this._cd.control.pending : false;\n }\n}\nconst ngControlStatusHost = {\n '[class.ng-untouched]': 'ngClassUntouched',\n '[class.ng-touched]': 'ngClassTouched',\n '[class.ng-pristine]': 'ngClassPristine',\n '[class.ng-dirty]': 'ngClassDirty',\n '[class.ng-valid]': 'ngClassValid',\n '[class.ng-invalid]': 'ngClassInvalid',\n '[class.ng-pending]': 'ngClassPending',\n};\n/**\n * @description\n * Directive automatically applied to Angular form controls that sets CSS classes\n * based on control status.\n *\n * @usageNotes\n *\n * ### CSS classes applied\n *\n * The following classes are applied as the properties become true:\n *\n * * ng-valid\n * * ng-invalid\n * * ng-pending\n * * ng-pristine\n * * ng-dirty\n * * ng-untouched\n * * ng-touched\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass NgControlStatus extends AbstractControlStatus {\n constructor(cd) {\n super(cd);\n }\n}\nNgControlStatus.ɵfac = function NgControlStatus_Factory(t) { return new (t || NgControlStatus)(ɵngcc0.ɵɵdirectiveInject(NgControl, 2)); };\nNgControlStatus.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgControlStatus, selectors: [[\"\", \"formControlName\", \"\"], [\"\", \"ngModel\", \"\"], [\"\", \"formControl\", \"\"]], hostVars: 14, hostBindings: function NgControlStatus_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"ng-untouched\", ctx.ngClassUntouched)(\"ng-touched\", ctx.ngClassTouched)(\"ng-pristine\", ctx.ngClassPristine)(\"ng-dirty\", ctx.ngClassDirty)(\"ng-valid\", ctx.ngClassValid)(\"ng-invalid\", ctx.ngClassInvalid)(\"ng-pending\", ctx.ngClassPending);\n } }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nNgControlStatus.ctorParameters = () => [\n { type: NgControl, decorators: [{ type: Self }] }\n];\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgControlStatus, [{\n type: Directive,\n args: [{ selector: '[formControlName],[ngModel],[formControl]', host: ngControlStatusHost }]\n }], function () { return [{ type: NgControl, decorators: [{\n type: Self\n }] }]; }, null); })();\n/**\n * @description\n * Directive automatically applied to Angular form groups that sets CSS classes\n * based on control status (valid/invalid/dirty/etc).\n *\n * @see `NgControlStatus`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass NgControlStatusGroup extends AbstractControlStatus {\n constructor(cd) {\n super(cd);\n }\n}\nNgControlStatusGroup.ɵfac = function NgControlStatusGroup_Factory(t) { return new (t || NgControlStatusGroup)(ɵngcc0.ɵɵdirectiveInject(ControlContainer, 2)); };\nNgControlStatusGroup.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgControlStatusGroup, selectors: [[\"\", \"formGroupName\", \"\"], [\"\", \"formArrayName\", \"\"], [\"\", \"ngModelGroup\", \"\"], [\"\", \"formGroup\", \"\"], [\"form\", 3, \"ngNoForm\", \"\"], [\"\", \"ngForm\", \"\"]], hostVars: 14, hostBindings: function NgControlStatusGroup_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"ng-untouched\", ctx.ngClassUntouched)(\"ng-touched\", ctx.ngClassTouched)(\"ng-pristine\", ctx.ngClassPristine)(\"ng-dirty\", ctx.ngClassDirty)(\"ng-valid\", ctx.ngClassValid)(\"ng-invalid\", ctx.ngClassInvalid)(\"ng-pending\", ctx.ngClassPending);\n } }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nNgControlStatusGroup.ctorParameters = () => [\n { type: ControlContainer, decorators: [{ type: Self }] }\n];\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgControlStatusGroup, [{\n type: Directive,\n args: [{\n selector: '[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]',\n host: ngControlStatusHost\n }]\n }], function () { return [{ type: ControlContainer, decorators: [{\n type: Self\n }] }]; }, null); })();\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 NUMBER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NumberValueAccessor),\n multi: true\n};\n/**\n * @description\n * The `ControlValueAccessor` for writing a number value and listening to number input changes.\n * The value accessor is used by the `FormControlDirective`, `FormControlName`, and `NgModel`\n * directives.\n *\n * @usageNotes\n *\n * ### Using a number input with a reactive form.\n *\n * The following example shows how to use a number input with a reactive form.\n *\n * ```ts\n * const totalCountControl = new FormControl();\n * ```\n *\n * ```\n * \n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass NumberValueAccessor {\n constructor(_renderer, _elementRef) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n /**\n * The registered callback function called when a change or input event occurs on the input\n * element.\n * @nodoc\n */\n this.onChange = (_) => { };\n /**\n * The registered callback function called when a blur event occurs on the input element.\n * @nodoc\n */\n this.onTouched = () => { };\n }\n /**\n * Sets the \"value\" property on the input element.\n * @nodoc\n */\n writeValue(value) {\n // The value needs to be normalized for IE9, otherwise it is set to 'null' when null\n const normalizedValue = value == null ? '' : value;\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', normalizedValue);\n }\n /**\n * Registers a function called when the control value changes.\n * @nodoc\n */\n registerOnChange(fn) {\n this.onChange = (value) => {\n fn(value == '' ? null : parseFloat(value));\n };\n }\n /**\n * Registers a function called when the control is touched.\n * @nodoc\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets the \"disabled\" property on the input element.\n * @nodoc\n */\n setDisabledState(isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n }\n}\nNumberValueAccessor.ɵfac = function NumberValueAccessor_Factory(t) { return new (t || NumberValueAccessor)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nNumberValueAccessor.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NumberValueAccessor, selectors: [[\"input\", \"type\", \"number\", \"formControlName\", \"\"], [\"input\", \"type\", \"number\", \"formControl\", \"\"], [\"input\", \"type\", \"number\", \"ngModel\", \"\"]], hostBindings: function NumberValueAccessor_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"input\", function NumberValueAccessor_input_HostBindingHandler($event) { return ctx.onChange($event.target.value); })(\"blur\", function NumberValueAccessor_blur_HostBindingHandler() { return ctx.onTouched(); });\n } }, features: [ɵngcc0.ɵɵProvidersFeature([NUMBER_VALUE_ACCESSOR])] });\nNumberValueAccessor.ctorParameters = () => [\n { type: Renderer2 },\n { type: ElementRef }\n];\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NumberValueAccessor, [{\n type: Directive,\n args: [{\n selector: 'input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]',\n host: { '(input)': 'onChange($event.target.value)', '(blur)': 'onTouched()' },\n providers: [NUMBER_VALUE_ACCESSOR]\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }]; }, null); })();\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 RADIO_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioControlValueAccessor),\n multi: true\n};\nfunction throwNameError() {\n throw new Error(`\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n `);\n}\n/**\n * @description\n * Class used by Angular to track radio buttons. For internal use only.\n */\nclass RadioControlRegistry {\n constructor() {\n this._accessors = [];\n }\n /**\n * @description\n * Adds a control to the internal registry. For internal use only.\n */\n add(control, accessor) {\n this._accessors.push([control, accessor]);\n }\n /**\n * @description\n * Removes a control from the internal registry. For internal use only.\n */\n remove(accessor) {\n for (let i = this._accessors.length - 1; i >= 0; --i) {\n if (this._accessors[i][1] === accessor) {\n this._accessors.splice(i, 1);\n return;\n }\n }\n }\n /**\n * @description\n * Selects a radio button. For internal use only.\n */\n select(accessor) {\n this._accessors.forEach((c) => {\n if (this._isSameGroup(c, accessor) && c[1] !== accessor) {\n c[1].fireUncheck(accessor.value);\n }\n });\n }\n _isSameGroup(controlPair, accessor) {\n if (!controlPair[0].control)\n return false;\n return controlPair[0]._parent === accessor._control._parent &&\n controlPair[1].name === accessor.name;\n }\n}\nRadioControlRegistry.ɵfac = function RadioControlRegistry_Factory(t) { return new (t || RadioControlRegistry)(); };\nRadioControlRegistry.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: RadioControlRegistry, factory: RadioControlRegistry.ɵfac });\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(RadioControlRegistry, [{\n type: Injectable\n }], function () { return []; }, null); })();\n/**\n * @description\n * The `ControlValueAccessor` for writing radio control values and listening to radio control\n * changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @usageNotes\n *\n * ### Using radio buttons with reactive form directives\n *\n * The follow example shows how to use radio buttons in a reactive form. When using radio buttons in\n * a reactive form, radio buttons in the same group should have the same `formControlName`.\n * Providing a `name` attribute is optional.\n *\n * {@example forms/ts/reactiveRadioButtons/reactive_radio_button_example.ts region='Reactive'}\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass RadioControlValueAccessor {\n constructor(_renderer, _elementRef, _registry, _injector) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n this._registry = _registry;\n this._injector = _injector;\n /**\n * The registered callback function called when a change event occurs on the input element.\n * @nodoc\n */\n this.onChange = () => { };\n /**\n * The registered callback function called when a blur event occurs on the input element.\n * @nodoc\n */\n this.onTouched = () => { };\n }\n /** @nodoc */\n ngOnInit() {\n this._control = this._injector.get(NgControl);\n this._checkName();\n this._registry.add(this._control, this);\n }\n /** @nodoc */\n ngOnDestroy() {\n this._registry.remove(this);\n }\n /**\n * Sets the \"checked\" property value on the radio input element.\n * @nodoc\n */\n writeValue(value) {\n this._state = value === this.value;\n this._renderer.setProperty(this._elementRef.nativeElement, 'checked', this._state);\n }\n /**\n * Registers a function called when the control value changes.\n * @nodoc\n */\n registerOnChange(fn) {\n this._fn = fn;\n this.onChange = () => {\n fn(this.value);\n this._registry.select(this);\n };\n }\n /**\n * Sets the \"value\" on the radio input element and unchecks it.\n *\n * @param value\n */\n fireUncheck(value) {\n this.writeValue(value);\n }\n /**\n * Registers a function called when the control is touched.\n * @nodoc\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets the \"disabled\" property on the input element.\n * @nodoc\n */\n setDisabledState(isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n }\n _checkName() {\n if (this.name && this.formControlName && this.name !== this.formControlName &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwNameError();\n }\n if (!this.name && this.formControlName)\n this.name = this.formControlName;\n }\n}\nRadioControlValueAccessor.ɵfac = function RadioControlValueAccessor_Factory(t) { return new (t || RadioControlValueAccessor)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(RadioControlRegistry), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Injector)); };\nRadioControlValueAccessor.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: RadioControlValueAccessor, selectors: [[\"input\", \"type\", \"radio\", \"formControlName\", \"\"], [\"input\", \"type\", \"radio\", \"formControl\", \"\"], [\"input\", \"type\", \"radio\", \"ngModel\", \"\"]], hostBindings: function RadioControlValueAccessor_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"change\", function RadioControlValueAccessor_change_HostBindingHandler() { return ctx.onChange(); })(\"blur\", function RadioControlValueAccessor_blur_HostBindingHandler() { return ctx.onTouched(); });\n } }, inputs: { name: \"name\", formControlName: \"formControlName\", value: \"value\" }, features: [ɵngcc0.ɵɵProvidersFeature([RADIO_VALUE_ACCESSOR])] });\nRadioControlValueAccessor.ctorParameters = () => [\n { type: Renderer2 },\n { type: ElementRef },\n { type: RadioControlRegistry },\n { type: Injector }\n];\nRadioControlValueAccessor.propDecorators = {\n name: [{ type: Input }],\n formControlName: [{ type: Input }],\n value: [{ type: Input }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(RadioControlValueAccessor, [{\n type: Directive,\n args: [{\n selector: 'input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]',\n host: { '(change)': 'onChange()', '(blur)': 'onTouched()' },\n providers: [RADIO_VALUE_ACCESSOR]\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }, { type: RadioControlRegistry }, { type: ɵngcc0.Injector }]; }, { name: [{\n type: Input\n }], formControlName: [{\n type: Input\n }], value: [{\n type: Input\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 RANGE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RangeValueAccessor),\n multi: true\n};\n/**\n * @description\n * The `ControlValueAccessor` for writing a range value and listening to range input changes.\n * The value accessor is used by the `FormControlDirective`, `FormControlName`, and `NgModel`\n * directives.\n *\n * @usageNotes\n *\n * ### Using a range input with a reactive form\n *\n * The following example shows how to use a range input with a reactive form.\n *\n * ```ts\n * const ageControl = new FormControl();\n * ```\n *\n * ```\n * \n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass RangeValueAccessor {\n constructor(_renderer, _elementRef) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n /**\n * The registered callback function called when a change or input event occurs on the input\n * element.\n * @nodoc\n */\n this.onChange = (_) => { };\n /**\n * The registered callback function called when a blur event occurs on the input element.\n * @nodoc\n */\n this.onTouched = () => { };\n }\n /**\n * Sets the \"value\" property on the input element.\n * @nodoc\n */\n writeValue(value) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', parseFloat(value));\n }\n /**\n * Registers a function called when the control value changes.\n * @nodoc\n */\n registerOnChange(fn) {\n this.onChange = (value) => {\n fn(value == '' ? null : parseFloat(value));\n };\n }\n /**\n * Registers a function called when the control is touched.\n * @nodoc\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets the \"disabled\" property on the range input element.\n * @nodoc\n */\n setDisabledState(isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n }\n}\nRangeValueAccessor.ɵfac = function RangeValueAccessor_Factory(t) { return new (t || RangeValueAccessor)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nRangeValueAccessor.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: RangeValueAccessor, selectors: [[\"input\", \"type\", \"range\", \"formControlName\", \"\"], [\"input\", \"type\", \"range\", \"formControl\", \"\"], [\"input\", \"type\", \"range\", \"ngModel\", \"\"]], hostBindings: function RangeValueAccessor_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"change\", function RangeValueAccessor_change_HostBindingHandler($event) { return ctx.onChange($event.target.value); })(\"input\", function RangeValueAccessor_input_HostBindingHandler($event) { return ctx.onChange($event.target.value); })(\"blur\", function RangeValueAccessor_blur_HostBindingHandler() { return ctx.onTouched(); });\n } }, features: [ɵngcc0.ɵɵProvidersFeature([RANGE_VALUE_ACCESSOR])] });\nRangeValueAccessor.ctorParameters = () => [\n { type: Renderer2 },\n { type: ElementRef }\n];\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(RangeValueAccessor, [{\n type: Directive,\n args: [{\n selector: 'input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]',\n host: {\n '(change)': 'onChange($event.target.value)',\n '(input)': 'onChange($event.target.value)',\n '(blur)': 'onTouched()'\n },\n providers: [RANGE_VALUE_ACCESSOR]\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }]; }, null); })();\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 FormErrorExamples = {\n formControlName: `\n \n \n \n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });`,\n formGroupName: `\n \n \n \n \n \n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });`,\n formArrayName: `\n \n \n \n \n \n \n \n\n In your class:\n\n this.cityArray = new FormArray([new FormControl('SF')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });`,\n ngModelGroup: `\n \n \n \n \n `,\n ngModelWithFormGroup: `\n \n \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 ReactiveErrors {\n static controlParentException() {\n throw new Error(`formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${FormErrorExamples.formControlName}`);\n }\n static ngModelGroupException() {\n throw new Error(`formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a \"form\" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n ${FormErrorExamples.formGroupName}\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n ${FormErrorExamples.ngModelGroup}`);\n }\n static missingFormException() {\n throw new Error(`formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n ${FormErrorExamples.formControlName}`);\n }\n static groupParentException() {\n throw new Error(`formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${FormErrorExamples.formGroupName}`);\n }\n static arrayParentException() {\n throw new Error(`formArrayName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n ${FormErrorExamples.formArrayName}`);\n }\n static disabledAttrWarning() {\n console.warn(`\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n\n Example:\n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n `);\n }\n static ngModelWarning(directiveName) {\n console.warn(`\n It looks like you're using ngModel on the same form field as ${directiveName}.\n Support for using the ngModel input property and ngModelChange event with\n reactive form directives has been deprecated in Angular v6 and will be removed\n in a future version of Angular.\n\n For more information on this, see our API docs here:\n https://angular.io/api/forms/${directiveName === 'formControl' ? 'FormControlDirective' :\n 'FormControlName'}#use-with-ngmodel\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 SELECT_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectControlValueAccessor),\n multi: true\n};\nfunction _buildValueString(id, value) {\n if (id == null)\n return `${value}`;\n if (value && typeof value === 'object')\n value = 'Object';\n return `${id}: ${value}`.slice(0, 50);\n}\nfunction _extractId(valueString) {\n return valueString.split(':')[0];\n}\n/**\n * @description\n * The `ControlValueAccessor` for writing select control values and listening to select control\n * changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @usageNotes\n *\n * ### Using select controls in a reactive form\n *\n * The following examples show how to use a select control in a reactive form.\n *\n * {@example forms/ts/reactiveSelectControl/reactive_select_control_example.ts region='Component'}\n *\n * ### Using select controls in a template-driven form\n *\n * To use a select in a template-driven form, simply add an `ngModel` and a `name`\n * attribute to the main `` tag.\n *\n * {@example forms/ts/selectControl/select_control_example.ts region='Component'}\n *\n * ### Customizing option selection\n *\n * Angular uses object identity to select option. It's possible for the identities of items\n * to change while the data does not. This can happen, for example, if the items are produced\n * from an RPC to the server, and that RPC is re-run. Even if the data hasn't changed, the\n * second response will produce objects with different identities.\n *\n * To customize the default option comparison algorithm, `` supports `compareWith` input.\n * `compareWith` takes a **function** which has two arguments: `option1` and `option2`.\n * If `compareWith` is given, Angular selects option by the return value of the function.\n *\n * ```ts\n * const selectedCountriesControl = new FormControl();\n * ```\n *\n * ```\n * \n * \n * {{country.name}}\n * \n * \n *\n * compareFn(c1: Country, c2: Country): boolean {\n * return c1 && c2 ? c1.id === c2.id : c1 === c2;\n * }\n * ```\n *\n * **Note:** We listen to the 'change' event because 'input' events aren't fired\n * for selects in Firefox and IE:\n * https://bugzilla.mozilla.org/show_bug.cgi?id=1024350\n * https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/4660045/\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass SelectControlValueAccessor {\n constructor(_renderer, _elementRef) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n /** @internal */\n this._optionMap = new Map();\n /** @internal */\n this._idCounter = 0;\n /**\n * The registered callback function called when a change event occurs on the input element.\n * @nodoc\n */\n this.onChange = (_) => { };\n /**\n * The registered callback function called when a blur event occurs on the input element.\n * @nodoc\n */\n this.onTouched = () => { };\n this._compareWith = Object.is;\n }\n /**\n * @description\n * Tracks the option comparison algorithm for tracking identities when\n * checking for changes.\n */\n set compareWith(fn) {\n if (typeof fn !== 'function' && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw new Error(`compareWith must be a function, but received ${JSON.stringify(fn)}`);\n }\n this._compareWith = fn;\n }\n /**\n * Sets the \"value\" property on the input element. The \"selectedIndex\"\n * property is also set if an ID is provided on the option element.\n * @nodoc\n */\n writeValue(value) {\n this.value = value;\n const id = this._getOptionId(value);\n if (id == null) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'selectedIndex', -1);\n }\n const valueString = _buildValueString(id, value);\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', valueString);\n }\n /**\n * Registers a function called when the control value changes.\n * @nodoc\n */\n registerOnChange(fn) {\n this.onChange = (valueString) => {\n this.value = this._getOptionValue(valueString);\n fn(this.value);\n };\n }\n /**\n * Registers a function called when the control is touched.\n * @nodoc\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets the \"disabled\" property on the select input element.\n * @nodoc\n */\n setDisabledState(isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n }\n /** @internal */\n _registerOption() {\n return (this._idCounter++).toString();\n }\n /** @internal */\n _getOptionId(value) {\n for (const id of Array.from(this._optionMap.keys())) {\n if (this._compareWith(this._optionMap.get(id), value))\n return id;\n }\n return null;\n }\n /** @internal */\n _getOptionValue(valueString) {\n const id = _extractId(valueString);\n return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;\n }\n}\nSelectControlValueAccessor.ɵfac = function SelectControlValueAccessor_Factory(t) { return new (t || SelectControlValueAccessor)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nSelectControlValueAccessor.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: SelectControlValueAccessor, selectors: [[\"select\", \"formControlName\", \"\", 3, \"multiple\", \"\"], [\"select\", \"formControl\", \"\", 3, \"multiple\", \"\"], [\"select\", \"ngModel\", \"\", 3, \"multiple\", \"\"]], hostBindings: function SelectControlValueAccessor_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"change\", function SelectControlValueAccessor_change_HostBindingHandler($event) { return ctx.onChange($event.target.value); })(\"blur\", function SelectControlValueAccessor_blur_HostBindingHandler() { return ctx.onTouched(); });\n } }, inputs: { compareWith: \"compareWith\" }, features: [ɵngcc0.ɵɵProvidersFeature([SELECT_VALUE_ACCESSOR])] });\nSelectControlValueAccessor.ctorParameters = () => [\n { type: Renderer2 },\n { type: ElementRef }\n];\nSelectControlValueAccessor.propDecorators = {\n compareWith: [{ type: Input }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(SelectControlValueAccessor, [{\n type: Directive,\n args: [{\n selector: 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',\n host: { '(change)': 'onChange($event.target.value)', '(blur)': 'onTouched()' },\n providers: [SELECT_VALUE_ACCESSOR]\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }]; }, { compareWith: [{\n type: Input\n }] }); })();\n/**\n * @description\n * Marks `` as dynamic, so Angular can be notified when options change.\n *\n * @see `SelectControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass NgSelectOption {\n constructor(_element, _renderer, _select) {\n this._element = _element;\n this._renderer = _renderer;\n this._select = _select;\n if (this._select)\n this.id = this._select._registerOption();\n }\n /**\n * @description\n * Tracks the value bound to the option element. Unlike the value binding,\n * ngValue supports binding to objects.\n */\n set ngValue(value) {\n if (this._select == null)\n return;\n this._select._optionMap.set(this.id, value);\n this._setElementValue(_buildValueString(this.id, value));\n this._select.writeValue(this._select.value);\n }\n /**\n * @description\n * Tracks simple string values bound to the option element.\n * For objects, use the `ngValue` input binding.\n */\n set value(value) {\n this._setElementValue(value);\n if (this._select)\n this._select.writeValue(this._select.value);\n }\n /** @internal */\n _setElementValue(value) {\n this._renderer.setProperty(this._element.nativeElement, 'value', value);\n }\n /** @nodoc */\n ngOnDestroy() {\n if (this._select) {\n this._select._optionMap.delete(this.id);\n this._select.writeValue(this._select.value);\n }\n }\n}\nNgSelectOption.ɵfac = function NgSelectOption_Factory(t) { return new (t || NgSelectOption)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(SelectControlValueAccessor, 9)); };\nNgSelectOption.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgSelectOption, selectors: [[\"option\"]], inputs: { ngValue: \"ngValue\", value: \"value\" } });\nNgSelectOption.ctorParameters = () => [\n { type: ElementRef },\n { type: Renderer2 },\n { type: SelectControlValueAccessor, decorators: [{ type: Optional }, { type: Host }] }\n];\nNgSelectOption.propDecorators = {\n ngValue: [{ type: Input, args: ['ngValue',] }],\n value: [{ type: Input, args: ['value',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgSelectOption, [{\n type: Directive,\n args: [{ selector: 'option' }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }, { type: SelectControlValueAccessor, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, { ngValue: [{\n type: Input,\n args: ['ngValue']\n }], value: [{\n type: Input,\n args: ['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 SELECT_MULTIPLE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectMultipleControlValueAccessor),\n multi: true\n};\nfunction _buildValueString$1(id, value) {\n if (id == null)\n return `${value}`;\n if (typeof value === 'string')\n value = `'${value}'`;\n if (value && typeof value === 'object')\n value = 'Object';\n return `${id}: ${value}`.slice(0, 50);\n}\nfunction _extractId$1(valueString) {\n return valueString.split(':')[0];\n}\n/** Mock interface for HTMLCollection */\nclass HTMLCollection {\n}\n/**\n * @description\n * The `ControlValueAccessor` for writing multi-select control values and listening to multi-select\n * control changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @see `SelectControlValueAccessor`\n *\n * @usageNotes\n *\n * ### Using a multi-select control\n *\n * The follow example shows you how to use a multi-select control with a reactive form.\n *\n * ```ts\n * const countryControl = new FormControl();\n * ```\n *\n * ```\n * \n * \n * {{ country.name }}\n * \n * \n * ```\n *\n * ### Customizing option selection\n *\n * To customize the default option comparison algorithm, `` supports `compareWith` input.\n * See the `SelectControlValueAccessor` for usage.\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass SelectMultipleControlValueAccessor {\n constructor(_renderer, _elementRef) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n /** @internal */\n this._optionMap = new Map();\n /** @internal */\n this._idCounter = 0;\n /**\n * The registered callback function called when a change event occurs on the input element.\n * @nodoc\n */\n this.onChange = (_) => { };\n /**\n * The registered callback function called when a blur event occurs on the input element.\n * @nodoc\n */\n this.onTouched = () => { };\n this._compareWith = Object.is;\n }\n /**\n * @description\n * Tracks the option comparison algorithm for tracking identities when\n * checking for changes.\n */\n set compareWith(fn) {\n if (typeof fn !== 'function' && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw new Error(`compareWith must be a function, but received ${JSON.stringify(fn)}`);\n }\n this._compareWith = fn;\n }\n /**\n * Sets the \"value\" property on one or of more of the select's options.\n * @nodoc\n */\n writeValue(value) {\n this.value = value;\n let optionSelectedStateSetter;\n if (Array.isArray(value)) {\n // convert values to ids\n const ids = value.map((v) => this._getOptionId(v));\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(ids.indexOf(o.toString()) > -1);\n };\n }\n else {\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(false);\n };\n }\n this._optionMap.forEach(optionSelectedStateSetter);\n }\n /**\n * Registers a function called when the control value changes\n * and writes an array of the selected options.\n * @nodoc\n */\n registerOnChange(fn) {\n this.onChange = (_) => {\n const selected = [];\n if (_.selectedOptions !== undefined) {\n const options = _.selectedOptions;\n for (let i = 0; i < options.length; i++) {\n const opt = options.item(i);\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n }\n // Degrade on IE\n else {\n const options = _.options;\n for (let i = 0; i < options.length; i++) {\n const opt = options.item(i);\n if (opt.selected) {\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n }\n }\n this.value = selected;\n fn(selected);\n };\n }\n /**\n * Registers a function called when the control is touched.\n * @nodoc\n */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /**\n * Sets the \"disabled\" property on the select input element.\n * @nodoc\n */\n setDisabledState(isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n }\n /** @internal */\n _registerOption(value) {\n const id = (this._idCounter++).toString();\n this._optionMap.set(id, value);\n return id;\n }\n /** @internal */\n _getOptionId(value) {\n for (const id of Array.from(this._optionMap.keys())) {\n if (this._compareWith(this._optionMap.get(id)._value, value))\n return id;\n }\n return null;\n }\n /** @internal */\n _getOptionValue(valueString) {\n const id = _extractId$1(valueString);\n return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;\n }\n}\nSelectMultipleControlValueAccessor.ɵfac = function SelectMultipleControlValueAccessor_Factory(t) { return new (t || SelectMultipleControlValueAccessor)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nSelectMultipleControlValueAccessor.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: SelectMultipleControlValueAccessor, selectors: [[\"select\", \"multiple\", \"\", \"formControlName\", \"\"], [\"select\", \"multiple\", \"\", \"formControl\", \"\"], [\"select\", \"multiple\", \"\", \"ngModel\", \"\"]], hostBindings: function SelectMultipleControlValueAccessor_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"change\", function SelectMultipleControlValueAccessor_change_HostBindingHandler($event) { return ctx.onChange($event.target); })(\"blur\", function SelectMultipleControlValueAccessor_blur_HostBindingHandler() { return ctx.onTouched(); });\n } }, inputs: { compareWith: \"compareWith\" }, features: [ɵngcc0.ɵɵProvidersFeature([SELECT_MULTIPLE_VALUE_ACCESSOR])] });\nSelectMultipleControlValueAccessor.ctorParameters = () => [\n { type: Renderer2 },\n { type: ElementRef }\n];\nSelectMultipleControlValueAccessor.propDecorators = {\n compareWith: [{ type: Input }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(SelectMultipleControlValueAccessor, [{\n type: Directive,\n args: [{\n selector: 'select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]',\n host: { '(change)': 'onChange($event.target)', '(blur)': 'onTouched()' },\n providers: [SELECT_MULTIPLE_VALUE_ACCESSOR]\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }]; }, { compareWith: [{\n type: Input\n }] }); })();\n/**\n * @description\n * Marks `` as dynamic, so Angular can be notified when options change.\n *\n * @see `SelectMultipleControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass ɵNgSelectMultipleOption {\n constructor(_element, _renderer, _select) {\n this._element = _element;\n this._renderer = _renderer;\n this._select = _select;\n if (this._select) {\n this.id = this._select._registerOption(this);\n }\n }\n /**\n * @description\n * Tracks the value bound to the option element. Unlike the value binding,\n * ngValue supports binding to objects.\n */\n set ngValue(value) {\n if (this._select == null)\n return;\n this._value = value;\n this._setElementValue(_buildValueString$1(this.id, value));\n this._select.writeValue(this._select.value);\n }\n /**\n * @description\n * Tracks simple string values bound to the option element.\n * For objects, use the `ngValue` input binding.\n */\n set value(value) {\n if (this._select) {\n this._value = value;\n this._setElementValue(_buildValueString$1(this.id, value));\n this._select.writeValue(this._select.value);\n }\n else {\n this._setElementValue(value);\n }\n }\n /** @internal */\n _setElementValue(value) {\n this._renderer.setProperty(this._element.nativeElement, 'value', value);\n }\n /** @internal */\n _setSelected(selected) {\n this._renderer.setProperty(this._element.nativeElement, 'selected', selected);\n }\n /** @nodoc */\n ngOnDestroy() {\n if (this._select) {\n this._select._optionMap.delete(this.id);\n this._select.writeValue(this._select.value);\n }\n }\n}\nɵNgSelectMultipleOption.ɵfac = function ɵNgSelectMultipleOption_Factory(t) { return new (t || ɵNgSelectMultipleOption)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(SelectMultipleControlValueAccessor, 9)); };\nɵNgSelectMultipleOption.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: ɵNgSelectMultipleOption, selectors: [[\"option\"]], inputs: { ngValue: \"ngValue\", value: \"value\" } });\nɵNgSelectMultipleOption.ctorParameters = () => [\n { type: ElementRef },\n { type: Renderer2 },\n { type: SelectMultipleControlValueAccessor, decorators: [{ type: Optional }, { type: Host }] }\n];\nɵNgSelectMultipleOption.propDecorators = {\n ngValue: [{ type: Input, args: ['ngValue',] }],\n value: [{ type: Input, args: ['value',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ɵNgSelectMultipleOption, [{\n type: Directive,\n args: [{ selector: 'option' }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.Renderer2 }, { type: SelectMultipleControlValueAccessor, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, { ngValue: [{\n type: Input,\n args: ['ngValue']\n }], value: [{\n type: Input,\n args: ['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 */\nfunction controlPath(name, parent) {\n return [...parent.path, name];\n}\nfunction setUpControl(control, dir) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!control)\n _throwError(dir, 'Cannot find control with');\n if (!dir.valueAccessor)\n _throwError(dir, 'No value accessor for form control with');\n }\n setUpValidators(control, dir, /* handleOnValidatorChange */ true);\n dir.valueAccessor.writeValue(control.value);\n setUpViewChangePipeline(control, dir);\n setUpModelChangePipeline(control, dir);\n setUpBlurPipeline(control, dir);\n setUpDisabledChangeHandler(control, dir);\n}\nfunction cleanUpControl(control, dir) {\n const noop = () => {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n _noControlError(dir);\n }\n };\n dir.valueAccessor.registerOnChange(noop);\n dir.valueAccessor.registerOnTouched(noop);\n cleanUpValidators(control, dir, /* handleOnValidatorChange */ true);\n if (control) {\n dir._invokeOnDestroyCallbacks();\n control._registerOnCollectionChange(() => { });\n }\n}\nfunction registerOnValidatorChange(validators, onChange) {\n validators.forEach((validator) => {\n if (validator.registerOnValidatorChange)\n validator.registerOnValidatorChange(onChange);\n });\n}\n/**\n * Sets up disabled change handler function on a given form control if ControlValueAccessor\n * associated with a given directive instance supports the `setDisabledState` call.\n *\n * @param control Form control where disabled change handler should be setup.\n * @param dir Corresponding directive instance associated with this control.\n */\nfunction setUpDisabledChangeHandler(control, dir) {\n if (dir.valueAccessor.setDisabledState) {\n const onDisabledChange = (isDisabled) => {\n dir.valueAccessor.setDisabledState(isDisabled);\n };\n control.registerOnDisabledChange(onDisabledChange);\n // Register a callback function to cleanup disabled change handler\n // from a control instance when a directive is destroyed.\n dir._registerOnDestroy(() => {\n control._unregisterOnDisabledChange(onDisabledChange);\n });\n }\n}\n/**\n * Sets up sync and async directive validators on provided form control.\n * This function merges validators from the directive into the validators of the control.\n *\n * @param control Form control where directive validators should be setup.\n * @param dir Directive instance that contains validators to be setup.\n * @param handleOnValidatorChange Flag that determines whether directive validators should be setup\n * to handle validator input change.\n */\nfunction setUpValidators(control, dir, handleOnValidatorChange) {\n const validators = getControlValidators(control);\n if (dir.validator !== null) {\n control.setValidators(mergeValidators(validators, dir.validator));\n }\n else if (typeof validators === 'function') {\n // If sync validators are represented by a single validator function, we force the\n // `Validators.compose` call to happen by executing the `setValidators` function with\n // an array that contains that function. We need this to avoid possible discrepancies in\n // validators behavior, so sync validators are always processed by the `Validators.compose`.\n // Note: we should consider moving this logic inside the `setValidators` function itself, so we\n // have consistent behavior on AbstractControl API level. The same applies to the async\n // validators logic below.\n control.setValidators([validators]);\n }\n const asyncValidators = getControlAsyncValidators(control);\n if (dir.asyncValidator !== null) {\n control.setAsyncValidators(mergeValidators(asyncValidators, dir.asyncValidator));\n }\n else if (typeof asyncValidators === 'function') {\n control.setAsyncValidators([asyncValidators]);\n }\n // Re-run validation when validator binding changes, e.g. minlength=3 -> minlength=4\n if (handleOnValidatorChange) {\n const onValidatorChange = () => control.updateValueAndValidity();\n registerOnValidatorChange(dir._rawValidators, onValidatorChange);\n registerOnValidatorChange(dir._rawAsyncValidators, onValidatorChange);\n }\n}\n/**\n * Cleans up sync and async directive validators on provided form control.\n * This function reverts the setup performed by the `setUpValidators` function, i.e.\n * removes directive-specific validators from a given control instance.\n *\n * @param control Form control from where directive validators should be removed.\n * @param dir Directive instance that contains validators to be removed.\n * @param handleOnValidatorChange Flag that determines whether directive validators should also be\n * cleaned up to stop handling validator input change (if previously configured to do so).\n */\nfunction cleanUpValidators(control, dir, handleOnValidatorChange) {\n if (control !== null) {\n if (dir.validator !== null) {\n const validators = getControlValidators(control);\n if (Array.isArray(validators) && validators.length > 0) {\n // Filter out directive validator function.\n control.setValidators(validators.filter(validator => validator !== dir.validator));\n }\n }\n if (dir.asyncValidator !== null) {\n const asyncValidators = getControlAsyncValidators(control);\n if (Array.isArray(asyncValidators) && asyncValidators.length > 0) {\n // Filter out directive async validator function.\n control.setAsyncValidators(asyncValidators.filter(asyncValidator => asyncValidator !== dir.asyncValidator));\n }\n }\n }\n if (handleOnValidatorChange) {\n // Clear onValidatorChange callbacks by providing a noop function.\n const noop = () => { };\n registerOnValidatorChange(dir._rawValidators, noop);\n registerOnValidatorChange(dir._rawAsyncValidators, noop);\n }\n}\nfunction setUpViewChangePipeline(control, dir) {\n dir.valueAccessor.registerOnChange((newValue) => {\n control._pendingValue = newValue;\n control._pendingChange = true;\n control._pendingDirty = true;\n if (control.updateOn === 'change')\n updateControl(control, dir);\n });\n}\nfunction setUpBlurPipeline(control, dir) {\n dir.valueAccessor.registerOnTouched(() => {\n control._pendingTouched = true;\n if (control.updateOn === 'blur' && control._pendingChange)\n updateControl(control, dir);\n if (control.updateOn !== 'submit')\n control.markAsTouched();\n });\n}\nfunction updateControl(control, dir) {\n if (control._pendingDirty)\n control.markAsDirty();\n control.setValue(control._pendingValue, { emitModelToViewChange: false });\n dir.viewToModelUpdate(control._pendingValue);\n control._pendingChange = false;\n}\nfunction setUpModelChangePipeline(control, dir) {\n const onChange = (newValue, emitModelEvent) => {\n // control -> view\n dir.valueAccessor.writeValue(newValue);\n // control -> ngModel\n if (emitModelEvent)\n dir.viewToModelUpdate(newValue);\n };\n control.registerOnChange(onChange);\n // Register a callback function to cleanup onChange handler\n // from a control instance when a directive is destroyed.\n dir._registerOnDestroy(() => {\n control._unregisterOnChange(onChange);\n });\n}\nfunction setUpFormContainer(control, dir) {\n if (control == null && (typeof ngDevMode === 'undefined' || ngDevMode))\n _throwError(dir, 'Cannot find control with');\n setUpValidators(control, dir, /* handleOnValidatorChange */ false);\n}\nfunction _noControlError(dir) {\n return _throwError(dir, 'There is no FormControl instance attached to form control element with');\n}\nfunction _throwError(dir, message) {\n let messageEnd;\n if (dir.path.length > 1) {\n messageEnd = `path: '${dir.path.join(' -> ')}'`;\n }\n else if (dir.path[0]) {\n messageEnd = `name: '${dir.path}'`;\n }\n else {\n messageEnd = 'unspecified name attribute';\n }\n throw new Error(`${message} ${messageEnd}`);\n}\nfunction isPropertyUpdated(changes, viewModel) {\n if (!changes.hasOwnProperty('model'))\n return false;\n const change = changes['model'];\n if (change.isFirstChange())\n return true;\n return !Object.is(viewModel, change.currentValue);\n}\nconst BUILTIN_ACCESSORS = [\n CheckboxControlValueAccessor,\n RangeValueAccessor,\n NumberValueAccessor,\n SelectControlValueAccessor,\n SelectMultipleControlValueAccessor,\n RadioControlValueAccessor,\n];\nfunction isBuiltInAccessor(valueAccessor) {\n return BUILTIN_ACCESSORS.some(a => valueAccessor.constructor === a);\n}\nfunction syncPendingControls(form, directives) {\n form._syncPendingControls();\n directives.forEach(dir => {\n const control = dir.control;\n if (control.updateOn === 'submit' && control._pendingChange) {\n dir.viewToModelUpdate(control._pendingValue);\n control._pendingChange = false;\n }\n });\n}\n// TODO: vsavkin remove it once https://github.com/angular/angular/issues/3011 is implemented\nfunction selectValueAccessor(dir, valueAccessors) {\n if (!valueAccessors)\n return null;\n if (!Array.isArray(valueAccessors) && (typeof ngDevMode === 'undefined' || ngDevMode))\n _throwError(dir, 'Value accessor was not provided as an array for form control with');\n let defaultAccessor = undefined;\n let builtinAccessor = undefined;\n let customAccessor = undefined;\n valueAccessors.forEach((v) => {\n if (v.constructor === DefaultValueAccessor) {\n defaultAccessor = v;\n }\n else if (isBuiltInAccessor(v)) {\n if (builtinAccessor && (typeof ngDevMode === 'undefined' || ngDevMode))\n _throwError(dir, 'More than one built-in value accessor matches form control with');\n builtinAccessor = v;\n }\n else {\n if (customAccessor && (typeof ngDevMode === 'undefined' || ngDevMode))\n _throwError(dir, 'More than one custom value accessor matches form control with');\n customAccessor = v;\n }\n });\n if (customAccessor)\n return customAccessor;\n if (builtinAccessor)\n return builtinAccessor;\n if (defaultAccessor)\n return defaultAccessor;\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n _throwError(dir, 'No valid value accessor for form control with');\n }\n return null;\n}\nfunction removeListItem(list, el) {\n const index = list.indexOf(el);\n if (index > -1)\n list.splice(index, 1);\n}\n// TODO(kara): remove after deprecation period\nfunction _ngModelWarning(name, type, instance, warningConfig) {\n if (!isDevMode() || warningConfig === 'never')\n return;\n if (((warningConfig === null || warningConfig === 'once') && !type._ngModelWarningSentOnce) ||\n (warningConfig === 'always' && !instance._ngModelWarningSent)) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n ReactiveErrors.ngModelWarning(name);\n }\n type._ngModelWarningSentOnce = true;\n instance._ngModelWarningSent = true;\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 * Reports that a FormControl is valid, meaning that no errors exist in the input value.\n *\n * @see `status`\n */\nconst VALID = 'VALID';\n/**\n * Reports that a FormControl is invalid, meaning that an error exists in the input value.\n *\n * @see `status`\n */\nconst INVALID = 'INVALID';\n/**\n * Reports that a FormControl is pending, meaning that that async validation is occurring and\n * errors are not yet available for the input value.\n *\n * @see `markAsPending`\n * @see `status`\n */\nconst PENDING = 'PENDING';\n/**\n * Reports that a FormControl is disabled, meaning that the control is exempt from ancestor\n * calculations of validity or value.\n *\n * @see `markAsDisabled`\n * @see `status`\n */\nconst DISABLED = 'DISABLED';\nfunction _find(control, path, delimiter) {\n if (path == null)\n return null;\n if (!Array.isArray(path)) {\n path = path.split(delimiter);\n }\n if (Array.isArray(path) && path.length === 0)\n return null;\n // Not using Array.reduce here due to a Chrome 80 bug\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\n let controlToFind = control;\n path.forEach((name) => {\n if (controlToFind instanceof FormGroup) {\n controlToFind = controlToFind.controls.hasOwnProperty(name) ?\n controlToFind.controls[name] :\n null;\n }\n else if (controlToFind instanceof FormArray) {\n controlToFind = controlToFind.at(name) || null;\n }\n else {\n controlToFind = null;\n }\n });\n return controlToFind;\n}\n/**\n * Gets validators from either an options object or given validators.\n */\nfunction pickValidators(validatorOrOpts) {\n return (isOptionsObj(validatorOrOpts) ? validatorOrOpts.validators : validatorOrOpts) || null;\n}\n/**\n * Creates validator function by combining provided validators.\n */\nfunction coerceToValidator(validator) {\n return Array.isArray(validator) ? composeValidators(validator) : validator || null;\n}\n/**\n * Gets async validators from either an options object or given validators.\n */\nfunction pickAsyncValidators(asyncValidator, validatorOrOpts) {\n return (isOptionsObj(validatorOrOpts) ? validatorOrOpts.asyncValidators : asyncValidator) || null;\n}\n/**\n * Creates async validator function by combining provided async validators.\n */\nfunction coerceToAsyncValidator(asyncValidator) {\n return Array.isArray(asyncValidator) ? composeAsyncValidators(asyncValidator) :\n asyncValidator || null;\n}\nfunction isOptionsObj(validatorOrOpts) {\n return validatorOrOpts != null && !Array.isArray(validatorOrOpts) &&\n typeof validatorOrOpts === 'object';\n}\n/**\n * This is the base class for `FormControl`, `FormGroup`, and `FormArray`.\n *\n * It provides some of the shared behavior that all controls and groups of controls have, like\n * running validators, calculating status, and resetting state. It also defines the properties\n * that are shared between all sub-classes, like `value`, `valid`, and `dirty`. It shouldn't be\n * instantiated directly.\n *\n * @see [Forms Guide](/guide/forms)\n * @see [Reactive Forms Guide](/guide/reactive-forms)\n * @see [Dynamic Forms Guide](/guide/dynamic-form)\n *\n * @publicApi\n */\nclass AbstractControl {\n /**\n * Initialize the AbstractControl instance.\n *\n * @param validators The function or array of functions that is used to determine the validity of\n * this control synchronously.\n * @param asyncValidators The function or array of functions that is used to determine validity of\n * this control asynchronously.\n */\n constructor(validators, asyncValidators) {\n /**\n * Indicates that a control has its own pending asynchronous validation in progress.\n *\n * @internal\n */\n this._hasOwnPendingAsyncValidator = false;\n /** @internal */\n this._onCollectionChange = () => { };\n this._parent = null;\n /**\n * A control is `pristine` if the user has not yet changed\n * the value in the UI.\n *\n * @returns True if the user has not yet changed the value in the UI; compare `dirty`.\n * Programmatic changes to a control's value do not mark it dirty.\n */\n this.pristine = true;\n /**\n * True if the control is marked as `touched`.\n *\n * A control is marked `touched` once the user has triggered\n * a `blur` event on it.\n */\n this.touched = false;\n /** @internal */\n this._onDisabledChange = [];\n this._rawValidators = validators;\n this._rawAsyncValidators = asyncValidators;\n this._composedValidatorFn = coerceToValidator(this._rawValidators);\n this._composedAsyncValidatorFn = coerceToAsyncValidator(this._rawAsyncValidators);\n }\n /**\n * The function that is used to determine the validity of this control synchronously.\n */\n get validator() {\n return this._composedValidatorFn;\n }\n set validator(validatorFn) {\n this._rawValidators = this._composedValidatorFn = validatorFn;\n }\n /**\n * The function that is used to determine the validity of this control asynchronously.\n */\n get asyncValidator() {\n return this._composedAsyncValidatorFn;\n }\n set asyncValidator(asyncValidatorFn) {\n this._rawAsyncValidators = this._composedAsyncValidatorFn = asyncValidatorFn;\n }\n /**\n * The parent control.\n */\n get parent() {\n return this._parent;\n }\n /**\n * A control is `valid` when its `status` is `VALID`.\n *\n * @see {@link AbstractControl.status}\n *\n * @returns True if the control has passed all of its validation tests,\n * false otherwise.\n */\n get valid() {\n return this.status === VALID;\n }\n /**\n * A control is `invalid` when its `status` is `INVALID`.\n *\n * @see {@link AbstractControl.status}\n *\n * @returns True if this control has failed one or more of its validation checks,\n * false otherwise.\n */\n get invalid() {\n return this.status === INVALID;\n }\n /**\n * A control is `pending` when its `status` is `PENDING`.\n *\n * @see {@link AbstractControl.status}\n *\n * @returns True if this control is in the process of conducting a validation check,\n * false otherwise.\n */\n get pending() {\n return this.status == PENDING;\n }\n /**\n * A control is `disabled` when its `status` is `DISABLED`.\n *\n * Disabled controls are exempt from validation checks and\n * are not included in the aggregate value of their ancestor\n * controls.\n *\n * @see {@link AbstractControl.status}\n *\n * @returns True if the control is disabled, false otherwise.\n */\n get disabled() {\n return this.status === DISABLED;\n }\n /**\n * A control is `enabled` as long as its `status` is not `DISABLED`.\n *\n * @returns True if the control has any status other than 'DISABLED',\n * false if the status is 'DISABLED'.\n *\n * @see {@link AbstractControl.status}\n *\n */\n get enabled() {\n return this.status !== DISABLED;\n }\n /**\n * A control is `dirty` if the user has changed the value\n * in the UI.\n *\n * @returns True if the user has changed the value of this control in the UI; compare `pristine`.\n * Programmatic changes to a control's value do not mark it dirty.\n */\n get dirty() {\n return !this.pristine;\n }\n /**\n * True if the control has not been marked as touched\n *\n * A control is `untouched` if the user has not yet triggered\n * a `blur` event on it.\n */\n get untouched() {\n return !this.touched;\n }\n /**\n * Reports the update strategy of the `AbstractControl` (meaning\n * the event on which the control updates itself).\n * Possible values: `'change'` | `'blur'` | `'submit'`\n * Default value: `'change'`\n */\n get updateOn() {\n return this._updateOn ? this._updateOn : (this.parent ? this.parent.updateOn : 'change');\n }\n /**\n * Sets the synchronous validators that are active on this control. Calling\n * this overwrites any existing sync validators.\n *\n * When you add or remove a validator at run time, you must call\n * `updateValueAndValidity()` for the new validation to take effect.\n *\n */\n setValidators(newValidator) {\n this._rawValidators = newValidator;\n this._composedValidatorFn = coerceToValidator(newValidator);\n }\n /**\n * Sets the async validators that are active on this control. Calling this\n * overwrites any existing async validators.\n *\n * When you add or remove a validator at run time, you must call\n * `updateValueAndValidity()` for the new validation to take effect.\n *\n */\n setAsyncValidators(newValidator) {\n this._rawAsyncValidators = newValidator;\n this._composedAsyncValidatorFn = coerceToAsyncValidator(newValidator);\n }\n /**\n * Empties out the sync validator list.\n *\n * When you add or remove a validator at run time, you must call\n * `updateValueAndValidity()` for the new validation to take effect.\n *\n */\n clearValidators() {\n this.validator = null;\n }\n /**\n * Empties out the async validator list.\n *\n * When you add or remove a validator at run time, you must call\n * `updateValueAndValidity()` for the new validation to take effect.\n *\n */\n clearAsyncValidators() {\n this.asyncValidator = null;\n }\n /**\n * Marks the control as `touched`. A control is touched by focus and\n * blur events that do not change the value.\n *\n * @see `markAsUntouched()`\n * @see `markAsDirty()`\n * @see `markAsPristine()`\n *\n * @param opts Configuration options that determine how the control propagates changes\n * and emits events after marking is applied.\n * * `onlySelf`: When true, mark only this control. When false or not supplied,\n * marks all direct ancestors. Default is false.\n */\n markAsTouched(opts = {}) {\n this.touched = true;\n if (this._parent && !opts.onlySelf) {\n this._parent.markAsTouched(opts);\n }\n }\n /**\n * Marks the control and all its descendant controls as `touched`.\n * @see `markAsTouched()`\n */\n markAllAsTouched() {\n this.markAsTouched({ onlySelf: true });\n this._forEachChild((control) => control.markAllAsTouched());\n }\n /**\n * Marks the control as `untouched`.\n *\n * If the control has any children, also marks all children as `untouched`\n * and recalculates the `touched` status of all parent controls.\n *\n * @see `markAsTouched()`\n * @see `markAsDirty()`\n * @see `markAsPristine()`\n *\n * @param opts Configuration options that determine how the control propagates changes\n * and emits events after the marking is applied.\n * * `onlySelf`: When true, mark only this control. When false or not supplied,\n * marks all direct ancestors. Default is false.\n */\n markAsUntouched(opts = {}) {\n this.touched = false;\n this._pendingTouched = false;\n this._forEachChild((control) => {\n control.markAsUntouched({ onlySelf: true });\n });\n if (this._parent && !opts.onlySelf) {\n this._parent._updateTouched(opts);\n }\n }\n /**\n * Marks the control as `dirty`. A control becomes dirty when\n * the control's value is changed through the UI; compare `markAsTouched`.\n *\n * @see `markAsTouched()`\n * @see `markAsUntouched()`\n * @see `markAsPristine()`\n *\n * @param opts Configuration options that determine how the control propagates changes\n * and emits events after marking is applied.\n * * `onlySelf`: When true, mark only this control. When false or not supplied,\n * marks all direct ancestors. Default is false.\n */\n markAsDirty(opts = {}) {\n this.pristine = false;\n if (this._parent && !opts.onlySelf) {\n this._parent.markAsDirty(opts);\n }\n }\n /**\n * Marks the control as `pristine`.\n *\n * If the control has any children, marks all children as `pristine`,\n * and recalculates the `pristine` status of all parent\n * controls.\n *\n * @see `markAsTouched()`\n * @see `markAsUntouched()`\n * @see `markAsDirty()`\n *\n * @param opts Configuration options that determine how the control emits events after\n * marking is applied.\n * * `onlySelf`: When true, mark only this control. When false or not supplied,\n * marks all direct ancestors. Default is false.\n */\n markAsPristine(opts = {}) {\n this.pristine = true;\n this._pendingDirty = false;\n this._forEachChild((control) => {\n control.markAsPristine({ onlySelf: true });\n });\n if (this._parent && !opts.onlySelf) {\n this._parent._updatePristine(opts);\n }\n }\n /**\n * Marks the control as `pending`.\n *\n * A control is pending while the control performs async validation.\n *\n * @see {@link AbstractControl.status}\n *\n * @param opts Configuration options that determine how the control propagates changes and\n * emits events after marking is applied.\n * * `onlySelf`: When true, mark only this control. When false or not supplied,\n * marks all direct ancestors. Default is false.\n * * `emitEvent`: When true or not supplied (the default), the `statusChanges`\n * observable emits an event with the latest status the control is marked pending.\n * When false, no events are emitted.\n *\n */\n markAsPending(opts = {}) {\n this.status = PENDING;\n if (opts.emitEvent !== false) {\n this.statusChanges.emit(this.status);\n }\n if (this._parent && !opts.onlySelf) {\n this._parent.markAsPending(opts);\n }\n }\n /**\n * Disables the control. This means the control is exempt from validation checks and\n * excluded from the aggregate value of any parent. Its status is `DISABLED`.\n *\n * If the control has children, all children are also disabled.\n *\n * @see {@link AbstractControl.status}\n *\n * @param opts Configuration options that determine how the control propagates\n * changes and emits events after the control is disabled.\n * * `onlySelf`: When true, mark only this control. When false or not supplied,\n * marks all direct ancestors. Default is false.\n * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n * `valueChanges`\n * observables emit events with the latest status and value when the control is disabled.\n * When false, no events are emitted.\n */\n disable(opts = {}) {\n // If parent has been marked artificially dirty we don't want to re-calculate the\n // parent's dirtiness based on the children.\n const skipPristineCheck = this._parentMarkedDirty(opts.onlySelf);\n this.status = DISABLED;\n this.errors = null;\n this._forEachChild((control) => {\n control.disable(Object.assign(Object.assign({}, opts), { onlySelf: true }));\n });\n this._updateValue();\n if (opts.emitEvent !== false) {\n this.valueChanges.emit(this.value);\n this.statusChanges.emit(this.status);\n }\n this._updateAncestors(Object.assign(Object.assign({}, opts), { skipPristineCheck }));\n this._onDisabledChange.forEach((changeFn) => changeFn(true));\n }\n /**\n * Enables the control. This means the control is included in validation checks and\n * the aggregate value of its parent. Its status recalculates based on its value and\n * its validators.\n *\n * By default, if the control has children, all children are enabled.\n *\n * @see {@link AbstractControl.status}\n *\n * @param opts Configure options that control how the control propagates changes and\n * emits events when marked as untouched\n * * `onlySelf`: When true, mark only this control. When false or not supplied,\n * marks all direct ancestors. Default is false.\n * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n * `valueChanges`\n * observables emit events with the latest status and value when the control is enabled.\n * When false, no events are emitted.\n */\n enable(opts = {}) {\n // If parent has been marked artificially dirty we don't want to re-calculate the\n // parent's dirtiness based on the children.\n const skipPristineCheck = this._parentMarkedDirty(opts.onlySelf);\n this.status = VALID;\n this._forEachChild((control) => {\n control.enable(Object.assign(Object.assign({}, opts), { onlySelf: true }));\n });\n this.updateValueAndValidity({ onlySelf: true, emitEvent: opts.emitEvent });\n this._updateAncestors(Object.assign(Object.assign({}, opts), { skipPristineCheck }));\n this._onDisabledChange.forEach((changeFn) => changeFn(false));\n }\n _updateAncestors(opts) {\n if (this._parent && !opts.onlySelf) {\n this._parent.updateValueAndValidity(opts);\n if (!opts.skipPristineCheck) {\n this._parent._updatePristine();\n }\n this._parent._updateTouched();\n }\n }\n /**\n * @param parent Sets the parent of the control\n */\n setParent(parent) {\n this._parent = parent;\n }\n /**\n * Recalculates the value and validation status of the control.\n *\n * By default, it also updates the value and validity of its ancestors.\n *\n * @param opts Configuration options determine how the control propagates changes and emits events\n * after updates and validity checks are applied.\n * * `onlySelf`: When true, only update this control. When false or not supplied,\n * update all direct ancestors. Default is false.\n * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n * `valueChanges`\n * observables emit events with the latest status and value when the control is updated.\n * When false, no events are emitted.\n */\n updateValueAndValidity(opts = {}) {\n this._setInitialStatus();\n this._updateValue();\n if (this.enabled) {\n this._cancelExistingSubscription();\n this.errors = this._runValidator();\n this.status = this._calculateStatus();\n if (this.status === VALID || this.status === PENDING) {\n this._runAsyncValidator(opts.emitEvent);\n }\n }\n if (opts.emitEvent !== false) {\n this.valueChanges.emit(this.value);\n this.statusChanges.emit(this.status);\n }\n if (this._parent && !opts.onlySelf) {\n this._parent.updateValueAndValidity(opts);\n }\n }\n /** @internal */\n _updateTreeValidity(opts = { emitEvent: true }) {\n this._forEachChild((ctrl) => ctrl._updateTreeValidity(opts));\n this.updateValueAndValidity({ onlySelf: true, emitEvent: opts.emitEvent });\n }\n _setInitialStatus() {\n this.status = this._allControlsDisabled() ? DISABLED : VALID;\n }\n _runValidator() {\n return this.validator ? this.validator(this) : null;\n }\n _runAsyncValidator(emitEvent) {\n if (this.asyncValidator) {\n this.status = PENDING;\n this._hasOwnPendingAsyncValidator = true;\n const obs = toObservable(this.asyncValidator(this));\n this._asyncValidationSubscription = obs.subscribe((errors) => {\n this._hasOwnPendingAsyncValidator = false;\n // This will trigger the recalculation of the validation status, which depends on\n // the state of the asynchronous validation (whether it is in progress or not). So, it is\n // necessary that we have updated the `_hasOwnPendingAsyncValidator` boolean flag first.\n this.setErrors(errors, { emitEvent });\n });\n }\n }\n _cancelExistingSubscription() {\n if (this._asyncValidationSubscription) {\n this._asyncValidationSubscription.unsubscribe();\n this._hasOwnPendingAsyncValidator = false;\n }\n }\n /**\n * Sets errors on a form control when running validations manually, rather than automatically.\n *\n * Calling `setErrors` also updates the validity of the parent control.\n *\n * @usageNotes\n *\n * ### Manually set the errors for a control\n *\n * ```\n * const login = new FormControl('someLogin');\n * login.setErrors({\n * notUnique: true\n * });\n *\n * expect(login.valid).toEqual(false);\n * expect(login.errors).toEqual({ notUnique: true });\n *\n * login.setValue('someOtherLogin');\n *\n * expect(login.valid).toEqual(true);\n * ```\n */\n setErrors(errors, opts = {}) {\n this.errors = errors;\n this._updateControlsErrors(opts.emitEvent !== false);\n }\n /**\n * Retrieves a child control given the control's name or path.\n *\n * @param path A dot-delimited string or array of string/number values that define the path to the\n * control.\n *\n * @usageNotes\n * ### Retrieve a nested control\n *\n * For example, to get a `name` control nested within a `person` sub-group:\n *\n * * `this.form.get('person.name');`\n *\n * -OR-\n *\n * * `this.form.get(['person', 'name']);`\n */\n get(path) {\n return _find(this, path, '.');\n }\n /**\n * @description\n * Reports error data for the control with the given path.\n *\n * @param errorCode The code of the error to check\n * @param path A list of control names that designates how to move from the current control\n * to the control that should be queried for errors.\n *\n * @usageNotes\n * For example, for the following `FormGroup`:\n *\n * ```\n * form = new FormGroup({\n * address: new FormGroup({ street: new FormControl() })\n * });\n * ```\n *\n * The path to the 'street' control from the root form would be 'address' -> 'street'.\n *\n * It can be provided to this method in one of two formats:\n *\n * 1. An array of string control names, e.g. `['address', 'street']`\n * 1. A period-delimited list of control names in one string, e.g. `'address.street'`\n *\n * @returns error data for that particular error. If the control or error is not present,\n * null is returned.\n */\n getError(errorCode, path) {\n const control = path ? this.get(path) : this;\n return control && control.errors ? control.errors[errorCode] : null;\n }\n /**\n * @description\n * Reports whether the control with the given path has the error specified.\n *\n * @param errorCode The code of the error to check\n * @param path A list of control names that designates how to move from the current control\n * to the control that should be queried for errors.\n *\n * @usageNotes\n * For example, for the following `FormGroup`:\n *\n * ```\n * form = new FormGroup({\n * address: new FormGroup({ street: new FormControl() })\n * });\n * ```\n *\n * The path to the 'street' control from the root form would be 'address' -> 'street'.\n *\n * It can be provided to this method in one of two formats:\n *\n * 1. An array of string control names, e.g. `['address', 'street']`\n * 1. A period-delimited list of control names in one string, e.g. `'address.street'`\n *\n * If no path is given, this method checks for the error on the current control.\n *\n * @returns whether the given error is present in the control at the given path.\n *\n * If the control is not present, false is returned.\n */\n hasError(errorCode, path) {\n return !!this.getError(errorCode, path);\n }\n /**\n * Retrieves the top-level ancestor of this control.\n */\n get root() {\n let x = this;\n while (x._parent) {\n x = x._parent;\n }\n return x;\n }\n /** @internal */\n _updateControlsErrors(emitEvent) {\n this.status = this._calculateStatus();\n if (emitEvent) {\n this.statusChanges.emit(this.status);\n }\n if (this._parent) {\n this._parent._updateControlsErrors(emitEvent);\n }\n }\n /** @internal */\n _initObservables() {\n this.valueChanges = new EventEmitter();\n this.statusChanges = new EventEmitter();\n }\n _calculateStatus() {\n if (this._allControlsDisabled())\n return DISABLED;\n if (this.errors)\n return INVALID;\n if (this._hasOwnPendingAsyncValidator || this._anyControlsHaveStatus(PENDING))\n return PENDING;\n if (this._anyControlsHaveStatus(INVALID))\n return INVALID;\n return VALID;\n }\n /** @internal */\n _anyControlsHaveStatus(status) {\n return this._anyControls((control) => control.status === status);\n }\n /** @internal */\n _anyControlsDirty() {\n return this._anyControls((control) => control.dirty);\n }\n /** @internal */\n _anyControlsTouched() {\n return this._anyControls((control) => control.touched);\n }\n /** @internal */\n _updatePristine(opts = {}) {\n this.pristine = !this._anyControlsDirty();\n if (this._parent && !opts.onlySelf) {\n this._parent._updatePristine(opts);\n }\n }\n /** @internal */\n _updateTouched(opts = {}) {\n this.touched = this._anyControlsTouched();\n if (this._parent && !opts.onlySelf) {\n this._parent._updateTouched(opts);\n }\n }\n /** @internal */\n _isBoxedValue(formState) {\n return typeof formState === 'object' && formState !== null &&\n Object.keys(formState).length === 2 && 'value' in formState && 'disabled' in formState;\n }\n /** @internal */\n _registerOnCollectionChange(fn) {\n this._onCollectionChange = fn;\n }\n /** @internal */\n _setUpdateStrategy(opts) {\n if (isOptionsObj(opts) && opts.updateOn != null) {\n this._updateOn = opts.updateOn;\n }\n }\n /**\n * Check to see if parent has been marked artificially dirty.\n *\n * @internal\n */\n _parentMarkedDirty(onlySelf) {\n const parentDirty = this._parent && this._parent.dirty;\n return !onlySelf && !!parentDirty && !this._parent._anyControlsDirty();\n }\n}\n/**\n * Tracks the value and validation status of an individual form control.\n *\n * This is one of the three fundamental building blocks of Angular forms, along with\n * `FormGroup` and `FormArray`. It extends the `AbstractControl` class that\n * implements most of the base functionality for accessing the value, validation status,\n * user interactions and events. See [usage examples below](#usage-notes).\n *\n * @see `AbstractControl`\n * @see [Reactive Forms Guide](guide/reactive-forms)\n * @see [Usage Notes](#usage-notes)\n *\n * @usageNotes\n *\n * ### Initializing Form Controls\n *\n * Instantiate a `FormControl`, with an initial value.\n *\n * ```ts\n * const control = new FormControl('some value');\n * console.log(control.value); // 'some value'\n *```\n *\n * The following example initializes the control with a form state object. The `value`\n * and `disabled` keys are required in this case.\n *\n * ```ts\n * const control = new FormControl({ value: 'n/a', disabled: true });\n * console.log(control.value); // 'n/a'\n * console.log(control.status); // 'DISABLED'\n * ```\n *\n * The following example initializes the control with a sync validator.\n *\n * ```ts\n * const control = new FormControl('', Validators.required);\n * console.log(control.value); // ''\n * console.log(control.status); // 'INVALID'\n * ```\n *\n * The following example initializes the control using an options object.\n *\n * ```ts\n * const control = new FormControl('', {\n * validators: Validators.required,\n * asyncValidators: myAsyncValidator\n * });\n * ```\n *\n * ### Configure the control to update on a blur event\n *\n * Set the `updateOn` option to `'blur'` to update on the blur `event`.\n *\n * ```ts\n * const control = new FormControl('', { updateOn: 'blur' });\n * ```\n *\n * ### Configure the control to update on a submit event\n *\n * Set the `updateOn` option to `'submit'` to update on a submit `event`.\n *\n * ```ts\n * const control = new FormControl('', { updateOn: 'submit' });\n * ```\n *\n * ### Reset the control back to an initial value\n *\n * You reset to a specific form state by passing through a standalone\n * value or a form state object that contains both a value and a disabled state\n * (these are the only two properties that cannot be calculated).\n *\n * ```ts\n * const control = new FormControl('Nancy');\n *\n * console.log(control.value); // 'Nancy'\n *\n * control.reset('Drew');\n *\n * console.log(control.value); // 'Drew'\n * ```\n *\n * ### Reset the control back to an initial value and disabled\n *\n * ```\n * const control = new FormControl('Nancy');\n *\n * console.log(control.value); // 'Nancy'\n * console.log(control.status); // 'VALID'\n *\n * control.reset({ value: 'Drew', disabled: true });\n *\n * console.log(control.value); // 'Drew'\n * console.log(control.status); // 'DISABLED'\n * ```\n *\n * @publicApi\n */\nclass FormControl extends AbstractControl {\n /**\n * Creates a new `FormControl` instance.\n *\n * @param formState Initializes the control with an initial value,\n * or an object that defines the initial value and disabled state.\n *\n * @param validatorOrOpts A synchronous validator function, or an array of\n * such functions, or an `AbstractControlOptions` object that contains validation functions\n * and a validation trigger.\n *\n * @param asyncValidator A single async validator or array of async validator functions\n *\n */\n constructor(formState = null, validatorOrOpts, asyncValidator) {\n super(pickValidators(validatorOrOpts), pickAsyncValidators(asyncValidator, validatorOrOpts));\n /** @internal */\n this._onChange = [];\n this._applyFormState(formState);\n this._setUpdateStrategy(validatorOrOpts);\n this._initObservables();\n this.updateValueAndValidity({\n onlySelf: true,\n // If `asyncValidator` is present, it will trigger control status change from `PENDING` to\n // `VALID` or `INVALID`.\n // The status should be broadcasted via the `statusChanges` observable, so we set `emitEvent`\n // to `true` to allow that during the control creation process.\n emitEvent: !!asyncValidator\n });\n }\n /**\n * Sets a new value for the form control.\n *\n * @param value The new value for the control.\n * @param options Configuration options that determine how the control propagates changes\n * and emits events when the value changes.\n * The configuration options are passed to the {@link AbstractControl#updateValueAndValidity\n * updateValueAndValidity} method.\n *\n * * `onlySelf`: When true, each change only affects this control, and not its parent. Default is\n * false.\n * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n * `valueChanges`\n * observables emit events with the latest status and value when the control value is updated.\n * When false, no events are emitted.\n * * `emitModelToViewChange`: When true or not supplied (the default), each change triggers an\n * `onChange` event to\n * update the view.\n * * `emitViewToModelChange`: When true or not supplied (the default), each change triggers an\n * `ngModelChange`\n * event to update the model.\n *\n */\n setValue(value, options = {}) {\n this.value = this._pendingValue = value;\n if (this._onChange.length && options.emitModelToViewChange !== false) {\n this._onChange.forEach((changeFn) => changeFn(this.value, options.emitViewToModelChange !== false));\n }\n this.updateValueAndValidity(options);\n }\n /**\n * Patches the value of a control.\n *\n * This function is functionally the same as {@link FormControl#setValue setValue} at this level.\n * It exists for symmetry with {@link FormGroup#patchValue patchValue} on `FormGroups` and\n * `FormArrays`, where it does behave differently.\n *\n * @see `setValue` for options\n */\n patchValue(value, options = {}) {\n this.setValue(value, options);\n }\n /**\n * Resets the form control, marking it `pristine` and `untouched`, and setting\n * the value to null.\n *\n * @param formState Resets the control with an initial value,\n * or an object that defines the initial value and disabled state.\n *\n * @param options Configuration options that determine how the control propagates changes\n * and emits events after the value changes.\n *\n * * `onlySelf`: When true, each change only affects this control, and not its parent. Default is\n * false.\n * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n * `valueChanges`\n * observables emit events with the latest status and value when the control is reset.\n * When false, no events are emitted.\n *\n */\n reset(formState = null, options = {}) {\n this._applyFormState(formState);\n this.markAsPristine(options);\n this.markAsUntouched(options);\n this.setValue(this.value, options);\n this._pendingChange = false;\n }\n /**\n * @internal\n */\n _updateValue() { }\n /**\n * @internal\n */\n _anyControls(condition) {\n return false;\n }\n /**\n * @internal\n */\n _allControlsDisabled() {\n return this.disabled;\n }\n /**\n * Register a listener for change events.\n *\n * @param fn The method that is called when the value changes\n */\n registerOnChange(fn) {\n this._onChange.push(fn);\n }\n /**\n * Internal function to unregister a change events listener.\n * @internal\n */\n _unregisterOnChange(fn) {\n removeListItem(this._onChange, fn);\n }\n /**\n * Register a listener for disabled events.\n *\n * @param fn The method that is called when the disabled status changes.\n */\n registerOnDisabledChange(fn) {\n this._onDisabledChange.push(fn);\n }\n /**\n * Internal function to unregister a disabled event listener.\n * @internal\n */\n _unregisterOnDisabledChange(fn) {\n removeListItem(this._onDisabledChange, fn);\n }\n /**\n * @internal\n */\n _forEachChild(cb) { }\n /** @internal */\n _syncPendingControls() {\n if (this.updateOn === 'submit') {\n if (this._pendingDirty)\n this.markAsDirty();\n if (this._pendingTouched)\n this.markAsTouched();\n if (this._pendingChange) {\n this.setValue(this._pendingValue, { onlySelf: true, emitModelToViewChange: false });\n return true;\n }\n }\n return false;\n }\n _applyFormState(formState) {\n if (this._isBoxedValue(formState)) {\n this.value = this._pendingValue = formState.value;\n formState.disabled ? this.disable({ onlySelf: true, emitEvent: false }) :\n this.enable({ onlySelf: true, emitEvent: false });\n }\n else {\n this.value = this._pendingValue = formState;\n }\n }\n}\n/**\n * Tracks the value and validity state of a group of `FormControl` instances.\n *\n * A `FormGroup` aggregates the values of each child `FormControl` into one object,\n * with each control name as the key. It calculates its status by reducing the status values\n * of its children. For example, if one of the controls in a group is invalid, the entire\n * group becomes invalid.\n *\n * `FormGroup` is one of the three fundamental building blocks used to define forms in Angular,\n * along with `FormControl` and `FormArray`.\n *\n * When instantiating a `FormGroup`, pass in a collection of child controls as the first\n * argument. The key for each child registers the name for the control.\n *\n * @usageNotes\n *\n * ### Create a form group with 2 controls\n *\n * ```\n * const form = new FormGroup({\n * first: new FormControl('Nancy', Validators.minLength(2)),\n * last: new FormControl('Drew'),\n * });\n *\n * console.log(form.value); // {first: 'Nancy', last; 'Drew'}\n * console.log(form.status); // 'VALID'\n * ```\n *\n * ### Create a form group with a group-level validator\n *\n * You include group-level validators as the second arg, or group-level async\n * validators as the third arg. These come in handy when you want to perform validation\n * that considers the value of more than one child control.\n *\n * ```\n * const form = new FormGroup({\n * password: new FormControl('', Validators.minLength(2)),\n * passwordConfirm: new FormControl('', Validators.minLength(2)),\n * }, passwordMatchValidator);\n *\n *\n * function passwordMatchValidator(g: FormGroup) {\n * return g.get('password').value === g.get('passwordConfirm').value\n * ? null : {'mismatch': true};\n * }\n * ```\n *\n * Like `FormControl` instances, you choose to pass in\n * validators and async validators as part of an options object.\n *\n * ```\n * const form = new FormGroup({\n * password: new FormControl('')\n * passwordConfirm: new FormControl('')\n * }, { validators: passwordMatchValidator, asyncValidators: otherValidator });\n * ```\n *\n * ### Set the updateOn property for all controls in a form group\n *\n * The options object is used to set a default value for each child\n * control's `updateOn` property. If you set `updateOn` to `'blur'` at the\n * group level, all child controls default to 'blur', unless the child\n * has explicitly specified a different `updateOn` value.\n *\n * ```ts\n * const c = new FormGroup({\n * one: new FormControl()\n * }, { updateOn: 'blur' });\n * ```\n *\n * @publicApi\n */\nclass FormGroup extends AbstractControl {\n /**\n * Creates a new `FormGroup` instance.\n *\n * @param controls A collection of child controls. The key for each child is the name\n * under which it is registered.\n *\n * @param validatorOrOpts A synchronous validator function, or an array of\n * such functions, or an `AbstractControlOptions` object that contains validation functions\n * and a validation trigger.\n *\n * @param asyncValidator A single async validator or array of async validator functions\n *\n */\n constructor(controls, validatorOrOpts, asyncValidator) {\n super(pickValidators(validatorOrOpts), pickAsyncValidators(asyncValidator, validatorOrOpts));\n this.controls = controls;\n this._initObservables();\n this._setUpdateStrategy(validatorOrOpts);\n this._setUpControls();\n this.updateValueAndValidity({\n onlySelf: true,\n // If `asyncValidator` is present, it will trigger control status change from `PENDING` to\n // `VALID` or `INVALID`. The status should be broadcasted via the `statusChanges` observable,\n // so we set `emitEvent` to `true` to allow that during the control creation process.\n emitEvent: !!asyncValidator\n });\n }\n /**\n * Registers a control with the group's list of controls.\n *\n * This method does not update the value or validity of the control.\n * Use {@link FormGroup#addControl addControl} instead.\n *\n * @param name The control name to register in the collection\n * @param control Provides the control for the given name\n */\n registerControl(name, control) {\n if (this.controls[name])\n return this.controls[name];\n this.controls[name] = control;\n control.setParent(this);\n control._registerOnCollectionChange(this._onCollectionChange);\n return control;\n }\n /**\n * Add a control to this group.\n *\n * This method also updates the value and validity of the control.\n *\n * @param name The control name to add to the collection\n * @param control Provides the control for the given name\n */\n addControl(name, control) {\n this.registerControl(name, control);\n this.updateValueAndValidity();\n this._onCollectionChange();\n }\n /**\n * Remove a control from this group.\n *\n * @param name The control name to remove from the collection\n */\n removeControl(name) {\n if (this.controls[name])\n this.controls[name]._registerOnCollectionChange(() => { });\n delete (this.controls[name]);\n this.updateValueAndValidity();\n this._onCollectionChange();\n }\n /**\n * Replace an existing control.\n *\n * @param name The control name to replace in the collection\n * @param control Provides the control for the given name\n */\n setControl(name, control) {\n if (this.controls[name])\n this.controls[name]._registerOnCollectionChange(() => { });\n delete (this.controls[name]);\n if (control)\n this.registerControl(name, control);\n this.updateValueAndValidity();\n this._onCollectionChange();\n }\n /**\n * Check whether there is an enabled control with the given name in the group.\n *\n * Reports false for disabled controls. If you'd like to check for existence in the group\n * only, use {@link AbstractControl#get get} instead.\n *\n * @param controlName The control name to check for existence in the collection\n *\n * @returns false for disabled controls, true otherwise.\n */\n contains(controlName) {\n return this.controls.hasOwnProperty(controlName) && this.controls[controlName].enabled;\n }\n /**\n * Sets the value of the `FormGroup`. It accepts an object that matches\n * the structure of the group, with control names as keys.\n *\n * @usageNotes\n * ### Set the complete value for the form group\n *\n * ```\n * const form = new FormGroup({\n * first: new FormControl(),\n * last: new FormControl()\n * });\n *\n * console.log(form.value); // {first: null, last: null}\n *\n * form.setValue({first: 'Nancy', last: 'Drew'});\n * console.log(form.value); // {first: 'Nancy', last: 'Drew'}\n * ```\n *\n * @throws When strict checks fail, such as setting the value of a control\n * that doesn't exist or if you exclude a value of a control that does exist.\n *\n * @param value The new value for the control that matches the structure of the group.\n * @param options Configuration options that determine how the control propagates changes\n * and emits events after the value changes.\n * The configuration options are passed to the {@link AbstractControl#updateValueAndValidity\n * updateValueAndValidity} method.\n *\n * * `onlySelf`: When true, each change only affects this control, and not its parent. Default is\n * false.\n * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n * `valueChanges`\n * observables emit events with the latest status and value when the control value is updated.\n * When false, no events are emitted.\n */\n setValue(value, options = {}) {\n this._checkAllValuesPresent(value);\n Object.keys(value).forEach(name => {\n this._throwIfControlMissing(name);\n this.controls[name].setValue(value[name], { onlySelf: true, emitEvent: options.emitEvent });\n });\n this.updateValueAndValidity(options);\n }\n /**\n * Patches the value of the `FormGroup`. It accepts an object with control\n * names as keys, and does its best to match the values to the correct controls\n * in the group.\n *\n * It accepts both super-sets and sub-sets of the group without throwing an error.\n *\n * @usageNotes\n * ### Patch the value for a form group\n *\n * ```\n * const form = new FormGroup({\n * first: new FormControl(),\n * last: new FormControl()\n * });\n * console.log(form.value); // {first: null, last: null}\n *\n * form.patchValue({first: 'Nancy'});\n * console.log(form.value); // {first: 'Nancy', last: null}\n * ```\n *\n * @param value The object that matches the structure of the group.\n * @param options Configuration options that determine how the control propagates changes and\n * emits events after the value is patched.\n * * `onlySelf`: When true, each change only affects this control and not its parent. Default is\n * true.\n * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n * `valueChanges`\n * observables emit events with the latest status and value when the control value is updated.\n * When false, no events are emitted.\n * The configuration options are passed to the {@link AbstractControl#updateValueAndValidity\n * updateValueAndValidity} method.\n */\n patchValue(value, options = {}) {\n Object.keys(value).forEach(name => {\n if (this.controls[name]) {\n this.controls[name].patchValue(value[name], { onlySelf: true, emitEvent: options.emitEvent });\n }\n });\n this.updateValueAndValidity(options);\n }\n /**\n * Resets the `FormGroup`, marks all descendants `pristine` and `untouched` and sets\n * the value of all descendants to null.\n *\n * You reset to a specific form state by passing in a map of states\n * that matches the structure of your form, with control names as keys. The state\n * is a standalone value or a form state object with both a value and a disabled\n * status.\n *\n * @param value Resets the control with an initial value,\n * or an object that defines the initial value and disabled state.\n *\n * @param options Configuration options that determine how the control propagates changes\n * and emits events when the group is reset.\n * * `onlySelf`: When true, each change only affects this control, and not its parent. Default is\n * false.\n * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n * `valueChanges`\n * observables emit events with the latest status and value when the control is reset.\n * When false, no events are emitted.\n * The configuration options are passed to the {@link AbstractControl#updateValueAndValidity\n * updateValueAndValidity} method.\n *\n * @usageNotes\n *\n * ### Reset the form group values\n *\n * ```ts\n * const form = new FormGroup({\n * first: new FormControl('first name'),\n * last: new FormControl('last name')\n * });\n *\n * console.log(form.value); // {first: 'first name', last: 'last name'}\n *\n * form.reset({ first: 'name', last: 'last name' });\n *\n * console.log(form.value); // {first: 'name', last: 'last name'}\n * ```\n *\n * ### Reset the form group values and disabled status\n *\n * ```\n * const form = new FormGroup({\n * first: new FormControl('first name'),\n * last: new FormControl('last name')\n * });\n *\n * form.reset({\n * first: {value: 'name', disabled: true},\n * last: 'last'\n * });\n *\n * console.log(this.form.value); // {first: 'name', last: 'last name'}\n * console.log(this.form.get('first').status); // 'DISABLED'\n * ```\n */\n reset(value = {}, options = {}) {\n this._forEachChild((control, name) => {\n control.reset(value[name], { onlySelf: true, emitEvent: options.emitEvent });\n });\n this._updatePristine(options);\n this._updateTouched(options);\n this.updateValueAndValidity(options);\n }\n /**\n * The aggregate value of the `FormGroup`, including any disabled controls.\n *\n * Retrieves all values regardless of disabled status.\n * The `value` property is the best way to get the value of the group, because\n * it excludes disabled controls in the `FormGroup`.\n */\n getRawValue() {\n return this._reduceChildren({}, (acc, control, name) => {\n acc[name] = control instanceof FormControl ? control.value : control.getRawValue();\n return acc;\n });\n }\n /** @internal */\n _syncPendingControls() {\n let subtreeUpdated = this._reduceChildren(false, (updated, child) => {\n return child._syncPendingControls() ? true : updated;\n });\n if (subtreeUpdated)\n this.updateValueAndValidity({ onlySelf: true });\n return subtreeUpdated;\n }\n /** @internal */\n _throwIfControlMissing(name) {\n if (!Object.keys(this.controls).length) {\n throw new Error(`\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n `);\n }\n if (!this.controls[name]) {\n throw new Error(`Cannot find form control with name: ${name}.`);\n }\n }\n /** @internal */\n _forEachChild(cb) {\n Object.keys(this.controls).forEach(k => cb(this.controls[k], k));\n }\n /** @internal */\n _setUpControls() {\n this._forEachChild((control) => {\n control.setParent(this);\n control._registerOnCollectionChange(this._onCollectionChange);\n });\n }\n /** @internal */\n _updateValue() {\n this.value = this._reduceValue();\n }\n /** @internal */\n _anyControls(condition) {\n for (const controlName of Object.keys(this.controls)) {\n const control = this.controls[controlName];\n if (this.contains(controlName) && condition(control)) {\n return true;\n }\n }\n return false;\n }\n /** @internal */\n _reduceValue() {\n return this._reduceChildren({}, (acc, control, name) => {\n if (control.enabled || this.disabled) {\n acc[name] = control.value;\n }\n return acc;\n });\n }\n /** @internal */\n _reduceChildren(initValue, fn) {\n let res = initValue;\n this._forEachChild((control, name) => {\n res = fn(res, control, name);\n });\n return res;\n }\n /** @internal */\n _allControlsDisabled() {\n for (const controlName of Object.keys(this.controls)) {\n if (this.controls[controlName].enabled) {\n return false;\n }\n }\n return Object.keys(this.controls).length > 0 || this.disabled;\n }\n /** @internal */\n _checkAllValuesPresent(value) {\n this._forEachChild((control, name) => {\n if (value[name] === undefined) {\n throw new Error(`Must supply a value for form control with name: '${name}'.`);\n }\n });\n }\n}\n/**\n * Tracks the value and validity state of an array of `FormControl`,\n * `FormGroup` or `FormArray` instances.\n *\n * A `FormArray` aggregates the values of each child `FormControl` into an array.\n * It calculates its status by reducing the status values of its children. For example, if one of\n * the controls in a `FormArray` is invalid, the entire array becomes invalid.\n *\n * `FormArray` is one of the three fundamental building blocks used to define forms in Angular,\n * along with `FormControl` and `FormGroup`.\n *\n * @usageNotes\n *\n * ### Create an array of form controls\n *\n * ```\n * const arr = new FormArray([\n * new FormControl('Nancy', Validators.minLength(2)),\n * new FormControl('Drew'),\n * ]);\n *\n * console.log(arr.value); // ['Nancy', 'Drew']\n * console.log(arr.status); // 'VALID'\n * ```\n *\n * ### Create a form array with array-level validators\n *\n * You include array-level validators and async validators. These come in handy\n * when you want to perform validation that considers the value of more than one child\n * control.\n *\n * The two types of validators are passed in separately as the second and third arg\n * respectively, or together as part of an options object.\n *\n * ```\n * const arr = new FormArray([\n * new FormControl('Nancy'),\n * new FormControl('Drew')\n * ], {validators: myValidator, asyncValidators: myAsyncValidator});\n * ```\n *\n * ### Set the updateOn property for all controls in a form array\n *\n * The options object is used to set a default value for each child\n * control's `updateOn` property. If you set `updateOn` to `'blur'` at the\n * array level, all child controls default to 'blur', unless the child\n * has explicitly specified a different `updateOn` value.\n *\n * ```ts\n * const arr = new FormArray([\n * new FormControl()\n * ], {updateOn: 'blur'});\n * ```\n *\n * ### Adding or removing controls from a form array\n *\n * To change the controls in the array, use the `push`, `insert`, `removeAt` or `clear` methods\n * in `FormArray` itself. These methods ensure the controls are properly tracked in the\n * form's hierarchy. Do not modify the array of `AbstractControl`s used to instantiate\n * the `FormArray` directly, as that result in strange and unexpected behavior such\n * as broken change detection.\n *\n * @publicApi\n */\nclass FormArray extends AbstractControl {\n /**\n * Creates a new `FormArray` instance.\n *\n * @param controls An array of child controls. Each child control is given an index\n * where it is registered.\n *\n * @param validatorOrOpts A synchronous validator function, or an array of\n * such functions, or an `AbstractControlOptions` object that contains validation functions\n * and a validation trigger.\n *\n * @param asyncValidator A single async validator or array of async validator functions\n *\n */\n constructor(controls, validatorOrOpts, asyncValidator) {\n super(pickValidators(validatorOrOpts), pickAsyncValidators(asyncValidator, validatorOrOpts));\n this.controls = controls;\n this._initObservables();\n this._setUpdateStrategy(validatorOrOpts);\n this._setUpControls();\n this.updateValueAndValidity({\n onlySelf: true,\n // If `asyncValidator` is present, it will trigger control status change from `PENDING` to\n // `VALID` or `INVALID`.\n // The status should be broadcasted via the `statusChanges` observable, so we set `emitEvent`\n // to `true` to allow that during the control creation process.\n emitEvent: !!asyncValidator\n });\n }\n /**\n * Get the `AbstractControl` at the given `index` in the array.\n *\n * @param index Index in the array to retrieve the control\n */\n at(index) {\n return this.controls[index];\n }\n /**\n * Insert a new `AbstractControl` at the end of the array.\n *\n * @param control Form control to be inserted\n */\n push(control) {\n this.controls.push(control);\n this._registerControl(control);\n this.updateValueAndValidity();\n this._onCollectionChange();\n }\n /**\n * Insert a new `AbstractControl` at the given `index` in the array.\n *\n * @param index Index in the array to insert the control\n * @param control Form control to be inserted\n */\n insert(index, control) {\n this.controls.splice(index, 0, control);\n this._registerControl(control);\n this.updateValueAndValidity();\n }\n /**\n * Remove the control at the given `index` in the array.\n *\n * @param index Index in the array to remove the control\n */\n removeAt(index) {\n if (this.controls[index])\n this.controls[index]._registerOnCollectionChange(() => { });\n this.controls.splice(index, 1);\n this.updateValueAndValidity();\n }\n /**\n * Replace an existing control.\n *\n * @param index Index in the array to replace the control\n * @param control The `AbstractControl` control to replace the existing control\n */\n setControl(index, control) {\n if (this.controls[index])\n this.controls[index]._registerOnCollectionChange(() => { });\n this.controls.splice(index, 1);\n if (control) {\n this.controls.splice(index, 0, control);\n this._registerControl(control);\n }\n this.updateValueAndValidity();\n this._onCollectionChange();\n }\n /**\n * Length of the control array.\n */\n get length() {\n return this.controls.length;\n }\n /**\n * Sets the value of the `FormArray`. It accepts an array that matches\n * the structure of the control.\n *\n * This method performs strict checks, and throws an error if you try\n * to set the value of a control that doesn't exist or if you exclude the\n * value of a control.\n *\n * @usageNotes\n * ### Set the values for the controls in the form array\n *\n * ```\n * const arr = new FormArray([\n * new FormControl(),\n * new FormControl()\n * ]);\n * console.log(arr.value); // [null, null]\n *\n * arr.setValue(['Nancy', 'Drew']);\n * console.log(arr.value); // ['Nancy', 'Drew']\n * ```\n *\n * @param value Array of values for the controls\n * @param options Configure options that determine how the control propagates changes and\n * emits events after the value changes\n *\n * * `onlySelf`: When true, each change only affects this control, and not its parent. Default\n * is false.\n * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n * `valueChanges`\n * observables emit events with the latest status and value when the control value is updated.\n * When false, no events are emitted.\n * The configuration options are passed to the {@link AbstractControl#updateValueAndValidity\n * updateValueAndValidity} method.\n */\n setValue(value, options = {}) {\n this._checkAllValuesPresent(value);\n value.forEach((newValue, index) => {\n this._throwIfControlMissing(index);\n this.at(index).setValue(newValue, { onlySelf: true, emitEvent: options.emitEvent });\n });\n this.updateValueAndValidity(options);\n }\n /**\n * Patches the value of the `FormArray`. It accepts an array that matches the\n * structure of the control, and does its best to match the values to the correct\n * controls in the group.\n *\n * It accepts both super-sets and sub-sets of the array without throwing an error.\n *\n * @usageNotes\n * ### Patch the values for controls in a form array\n *\n * ```\n * const arr = new FormArray([\n * new FormControl(),\n * new FormControl()\n * ]);\n * console.log(arr.value); // [null, null]\n *\n * arr.patchValue(['Nancy']);\n * console.log(arr.value); // ['Nancy', null]\n * ```\n *\n * @param value Array of latest values for the controls\n * @param options Configure options that determine how the control propagates changes and\n * emits events after the value changes\n *\n * * `onlySelf`: When true, each change only affects this control, and not its parent. Default\n * is false.\n * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n * `valueChanges`\n * observables emit events with the latest status and value when the control value is updated.\n * When false, no events are emitted.\n * The configuration options are passed to the {@link AbstractControl#updateValueAndValidity\n * updateValueAndValidity} method.\n */\n patchValue(value, options = {}) {\n value.forEach((newValue, index) => {\n if (this.at(index)) {\n this.at(index).patchValue(newValue, { onlySelf: true, emitEvent: options.emitEvent });\n }\n });\n this.updateValueAndValidity(options);\n }\n /**\n * Resets the `FormArray` and all descendants are marked `pristine` and `untouched`, and the\n * value of all descendants to null or null maps.\n *\n * You reset to a specific form state by passing in an array of states\n * that matches the structure of the control. The state is a standalone value\n * or a form state object with both a value and a disabled status.\n *\n * @usageNotes\n * ### Reset the values in a form array\n *\n * ```ts\n * const arr = new FormArray([\n * new FormControl(),\n * new FormControl()\n * ]);\n * arr.reset(['name', 'last name']);\n *\n * console.log(this.arr.value); // ['name', 'last name']\n * ```\n *\n * ### Reset the values in a form array and the disabled status for the first control\n *\n * ```\n * this.arr.reset([\n * {value: 'name', disabled: true},\n * 'last'\n * ]);\n *\n * console.log(this.arr.value); // ['name', 'last name']\n * console.log(this.arr.get(0).status); // 'DISABLED'\n * ```\n *\n * @param value Array of values for the controls\n * @param options Configure options that determine how the control propagates changes and\n * emits events after the value changes\n *\n * * `onlySelf`: When true, each change only affects this control, and not its parent. Default\n * is false.\n * * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and\n * `valueChanges`\n * observables emit events with the latest status and value when the control is reset.\n * When false, no events are emitted.\n * The configuration options are passed to the {@link AbstractControl#updateValueAndValidity\n * updateValueAndValidity} method.\n */\n reset(value = [], options = {}) {\n this._forEachChild((control, index) => {\n control.reset(value[index], { onlySelf: true, emitEvent: options.emitEvent });\n });\n this._updatePristine(options);\n this._updateTouched(options);\n this.updateValueAndValidity(options);\n }\n /**\n * The aggregate value of the array, including any disabled controls.\n *\n * Reports all values regardless of disabled status.\n * For enabled controls only, the `value` property is the best way to get the value of the array.\n */\n getRawValue() {\n return this.controls.map((control) => {\n return control instanceof FormControl ? control.value : control.getRawValue();\n });\n }\n /**\n * Remove all controls in the `FormArray`.\n *\n * @usageNotes\n * ### Remove all elements from a FormArray\n *\n * ```ts\n * const arr = new FormArray([\n * new FormControl(),\n * new FormControl()\n * ]);\n * console.log(arr.length); // 2\n *\n * arr.clear();\n * console.log(arr.length); // 0\n * ```\n *\n * It's a simpler and more efficient alternative to removing all elements one by one:\n *\n * ```ts\n * const arr = new FormArray([\n * new FormControl(),\n * new FormControl()\n * ]);\n *\n * while (arr.length) {\n * arr.removeAt(0);\n * }\n * ```\n */\n clear() {\n if (this.controls.length < 1)\n return;\n this._forEachChild((control) => control._registerOnCollectionChange(() => { }));\n this.controls.splice(0);\n this.updateValueAndValidity();\n }\n /** @internal */\n _syncPendingControls() {\n let subtreeUpdated = this.controls.reduce((updated, child) => {\n return child._syncPendingControls() ? true : updated;\n }, false);\n if (subtreeUpdated)\n this.updateValueAndValidity({ onlySelf: true });\n return subtreeUpdated;\n }\n /** @internal */\n _throwIfControlMissing(index) {\n if (!this.controls.length) {\n throw new Error(`\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n `);\n }\n if (!this.at(index)) {\n throw new Error(`Cannot find form control at index ${index}`);\n }\n }\n /** @internal */\n _forEachChild(cb) {\n this.controls.forEach((control, index) => {\n cb(control, index);\n });\n }\n /** @internal */\n _updateValue() {\n this.value =\n this.controls.filter((control) => control.enabled || this.disabled)\n .map((control) => control.value);\n }\n /** @internal */\n _anyControls(condition) {\n return this.controls.some((control) => control.enabled && condition(control));\n }\n /** @internal */\n _setUpControls() {\n this._forEachChild((control) => this._registerControl(control));\n }\n /** @internal */\n _checkAllValuesPresent(value) {\n this._forEachChild((control, i) => {\n if (value[i] === undefined) {\n throw new Error(`Must supply a value for form control at index: ${i}.`);\n }\n });\n }\n /** @internal */\n _allControlsDisabled() {\n for (const control of this.controls) {\n if (control.enabled)\n return false;\n }\n return this.controls.length > 0 || this.disabled;\n }\n _registerControl(control) {\n control.setParent(this);\n control._registerOnCollectionChange(this._onCollectionChange);\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 formDirectiveProvider = {\n provide: ControlContainer,\n useExisting: forwardRef(() => NgForm)\n};\nconst ɵ0 = () => Promise.resolve(null);\nconst resolvedPromise = (ɵ0)();\n/**\n * @description\n * Creates a top-level `FormGroup` instance and binds it to a form\n * to track aggregate form value and validation status.\n *\n * As soon as you import the `FormsModule`, this directive becomes active by default on\n * all `` tags. You don't need to add a special selector.\n *\n * You optionally export the directive into a local template variable using `ngForm` as the key\n * (ex: `#myForm=\"ngForm\"`). This is optional, but useful. Many properties from the underlying\n * `FormGroup` instance are duplicated on the directive itself, so a reference to it\n * gives you access to the aggregate value and validity status of the form, as well as\n * user interaction properties like `dirty` and `touched`.\n *\n * To register child controls with the form, use `NgModel` with a `name`\n * attribute. You may use `NgModelGroup` to create sub-groups within the form.\n *\n * If necessary, listen to the directive's `ngSubmit` event to be notified when the user has\n * triggered a form submission. The `ngSubmit` event emits the original form\n * submission event.\n *\n * In template driven forms, all `` tags are automatically tagged as `NgForm`.\n * To import the `FormsModule` but skip its usage in some forms,\n * for example, to use native HTML5 validation, add the `ngNoForm` and the ``\n * tags won't create an `NgForm` directive. In reactive forms, using `ngNoForm` is\n * unnecessary because the `` tags are inert. In that case, you would\n * refrain from using the `formGroup` directive.\n *\n * @usageNotes\n *\n * ### Listening for form submission\n *\n * The following example shows how to capture the form values from the \"ngSubmit\" event.\n *\n * {@example forms/ts/simpleForm/simple_form_example.ts region='Component'}\n *\n * ### Setting the update options\n *\n * The following example shows you how to change the \"updateOn\" option from its default using\n * ngFormOptions.\n *\n * ```html\n * \n * \n * \n * ```\n *\n * ### Native DOM validation UI\n *\n * In order to prevent the native DOM form validation UI from interfering with Angular's form\n * validation, Angular automatically adds the `novalidate` attribute on any `` whenever\n * `FormModule` or `ReactiveFormModule` are imported into the application.\n * If you want to explicitly enable native DOM validation UI with Angular forms, you can add the\n * `ngNativeValidate` attribute to the `` element:\n *\n * ```html\n * \n * ...\n * \n * ```\n *\n * @ngModule FormsModule\n * @publicApi\n */\nclass NgForm extends ControlContainer {\n constructor(validators, asyncValidators) {\n super();\n /**\n * @description\n * Returns whether the form submission has been triggered.\n */\n this.submitted = false;\n this._directives = [];\n /**\n * @description\n * Event emitter for the \"ngSubmit\" event\n */\n this.ngSubmit = new EventEmitter();\n this.form =\n new FormGroup({}, composeValidators(validators), composeAsyncValidators(asyncValidators));\n }\n /** @nodoc */\n ngAfterViewInit() {\n this._setUpdateStrategy();\n }\n /**\n * @description\n * The directive instance.\n */\n get formDirective() {\n return this;\n }\n /**\n * @description\n * The internal `FormGroup` instance.\n */\n get control() {\n return this.form;\n }\n /**\n * @description\n * Returns an array representing the path to this group. Because this directive\n * always lives at the top level of a form, it is always an empty array.\n */\n get path() {\n return [];\n }\n /**\n * @description\n * Returns a map of the controls in this group.\n */\n get controls() {\n return this.form.controls;\n }\n /**\n * @description\n * Method that sets up the control directive in this group, re-calculates its value\n * and validity, and adds the instance to the internal list of directives.\n *\n * @param dir The `NgModel` directive instance.\n */\n addControl(dir) {\n resolvedPromise.then(() => {\n const container = this._findContainer(dir.path);\n dir.control =\n container.registerControl(dir.name, dir.control);\n setUpControl(dir.control, dir);\n dir.control.updateValueAndValidity({ emitEvent: false });\n this._directives.push(dir);\n });\n }\n /**\n * @description\n * Retrieves the `FormControl` instance from the provided `NgModel` directive.\n *\n * @param dir The `NgModel` directive instance.\n */\n getControl(dir) {\n return this.form.get(dir.path);\n }\n /**\n * @description\n * Removes the `NgModel` instance from the internal list of directives\n *\n * @param dir The `NgModel` directive instance.\n */\n removeControl(dir) {\n resolvedPromise.then(() => {\n const container = this._findContainer(dir.path);\n if (container) {\n container.removeControl(dir.name);\n }\n removeListItem(this._directives, dir);\n });\n }\n /**\n * @description\n * Adds a new `NgModelGroup` directive instance to the form.\n *\n * @param dir The `NgModelGroup` directive instance.\n */\n addFormGroup(dir) {\n resolvedPromise.then(() => {\n const container = this._findContainer(dir.path);\n const group = new FormGroup({});\n setUpFormContainer(group, dir);\n container.registerControl(dir.name, group);\n group.updateValueAndValidity({ emitEvent: false });\n });\n }\n /**\n * @description\n * Removes the `NgModelGroup` directive instance from the form.\n *\n * @param dir The `NgModelGroup` directive instance.\n */\n removeFormGroup(dir) {\n resolvedPromise.then(() => {\n const container = this._findContainer(dir.path);\n if (container) {\n container.removeControl(dir.name);\n }\n });\n }\n /**\n * @description\n * Retrieves the `FormGroup` for a provided `NgModelGroup` directive instance\n *\n * @param dir The `NgModelGroup` directive instance.\n */\n getFormGroup(dir) {\n return this.form.get(dir.path);\n }\n /**\n * Sets the new value for the provided `NgControl` directive.\n *\n * @param dir The `NgControl` directive instance.\n * @param value The new value for the directive's control.\n */\n updateModel(dir, value) {\n resolvedPromise.then(() => {\n const ctrl = this.form.get(dir.path);\n ctrl.setValue(value);\n });\n }\n /**\n * @description\n * Sets the value for this `FormGroup`.\n *\n * @param value The new value\n */\n setValue(value) {\n this.control.setValue(value);\n }\n /**\n * @description\n * Method called when the \"submit\" event is triggered on the form.\n * Triggers the `ngSubmit` emitter to emit the \"submit\" event as its payload.\n *\n * @param $event The \"submit\" event object\n */\n onSubmit($event) {\n this.submitted = true;\n syncPendingControls(this.form, this._directives);\n this.ngSubmit.emit($event);\n return false;\n }\n /**\n * @description\n * Method called when the \"reset\" event is triggered on the form.\n */\n onReset() {\n this.resetForm();\n }\n /**\n * @description\n * Resets the form to an initial value and resets its submitted status.\n *\n * @param value The new value for the form.\n */\n resetForm(value = undefined) {\n this.form.reset(value);\n this.submitted = false;\n }\n _setUpdateStrategy() {\n if (this.options && this.options.updateOn != null) {\n this.form._updateOn = this.options.updateOn;\n }\n }\n /** @internal */\n _findContainer(path) {\n path.pop();\n return path.length ? this.form.get(path) : this.form;\n }\n}\nNgForm.ɵfac = function NgForm_Factory(t) { return new (t || NgForm)(ɵngcc0.ɵɵdirectiveInject(NG_VALIDATORS, 10), ɵngcc0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10)); };\nNgForm.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgForm, selectors: [[\"form\", 3, \"ngNoForm\", \"\", 3, \"formGroup\", \"\"], [\"ng-form\"], [\"\", \"ngForm\", \"\"]], hostBindings: function NgForm_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"submit\", function NgForm_submit_HostBindingHandler($event) { return ctx.onSubmit($event); })(\"reset\", function NgForm_reset_HostBindingHandler() { return ctx.onReset(); });\n } }, inputs: { options: [\"ngFormOptions\", \"options\"] }, outputs: { ngSubmit: \"ngSubmit\" }, exportAs: [\"ngForm\"], features: [ɵngcc0.ɵɵProvidersFeature([formDirectiveProvider]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nNgForm.ctorParameters = () => [\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] }] }\n];\nNgForm.propDecorators = {\n options: [{ type: Input, args: ['ngFormOptions',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgForm, [{\n type: Directive,\n args: [{\n selector: 'form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]',\n providers: [formDirectiveProvider],\n host: { '(submit)': 'onSubmit($event)', '(reset)': 'onReset()' },\n outputs: ['ngSubmit'],\n exportAs: 'ngForm'\n }]\n }], function () { return [{ type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_VALIDATORS]\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_ASYNC_VALIDATORS]\n }] }]; }, { options: [{\n type: Input,\n args: ['ngFormOptions']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n * A base class for code shared between the `NgModelGroup` and `FormGroupName` directives.\n *\n * @publicApi\n */\nclass AbstractFormGroupDirective extends ControlContainer {\n /** @nodoc */\n ngOnInit() {\n this._checkParentType();\n // Register the group with its parent group.\n this.formDirective.addFormGroup(this);\n }\n /** @nodoc */\n ngOnDestroy() {\n if (this.formDirective) {\n // Remove the group from its parent group.\n this.formDirective.removeFormGroup(this);\n }\n }\n /**\n * @description\n * The `FormGroup` bound to this directive.\n */\n get control() {\n return this.formDirective.getFormGroup(this);\n }\n /**\n * @description\n * The path to this group from the top-level directive.\n */\n get path() {\n return controlPath(this.name == null ? this.name : this.name.toString(), this._parent);\n }\n /**\n * @description\n * The top-level directive for this group if present, otherwise null.\n */\n get formDirective() {\n return this._parent ? this._parent.formDirective : null;\n }\n /** @internal */\n _checkParentType() { }\n}\nAbstractFormGroupDirective.ɵfac = function AbstractFormGroupDirective_Factory(t) { return ɵAbstractFormGroupDirective_BaseFactory(t || AbstractFormGroupDirective); };\nAbstractFormGroupDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: AbstractFormGroupDirective, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nconst ɵAbstractFormGroupDirective_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(AbstractFormGroupDirective);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(AbstractFormGroupDirective, [{\n type: Directive\n }], null, null); })();\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 TemplateDrivenErrors {\n static modelParentException() {\n throw new Error(`\n ngModel cannot be used to register form controls with a parent formGroup directive. Try using\n formGroup's partner directive \"formControlName\" instead. Example:\n\n ${FormErrorExamples.formControlName}\n\n Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\n\n Example:\n\n ${FormErrorExamples.ngModelWithFormGroup}`);\n }\n static formGroupNameException() {\n throw new Error(`\n ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n ${FormErrorExamples.formGroupName}\n\n Option 2: Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n ${FormErrorExamples.ngModelGroup}`);\n }\n static missingNameException() {\n throw new Error(`If ngModel is used within a form tag, either the name attribute must be set or the form\n control must be defined as 'standalone' in ngModelOptions.\n\n Example 1: \n Example 2: `);\n }\n static modelGroupParentException() {\n throw new Error(`\n ngModelGroup cannot be used with a parent formGroup directive.\n\n Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n ${FormErrorExamples.formGroupName}\n\n Option 2: Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n ${FormErrorExamples.ngModelGroup}`);\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 modelGroupProvider = {\n provide: ControlContainer,\n useExisting: forwardRef(() => NgModelGroup)\n};\n/**\n * @description\n * Creates and binds a `FormGroup` instance to a DOM element.\n *\n * This directive can only be used as a child of `NgForm` (within `` tags).\n *\n * Use this directive to validate a sub-group of your form separately from the\n * rest of your form, or if some values in your domain model make more sense\n * to consume together in a nested object.\n *\n * Provide a name for the sub-group and it will become the key\n * for the sub-group in the form's full value. If you need direct access, export the directive into\n * a local template variable using `ngModelGroup` (ex: `#myGroup=\"ngModelGroup\"`).\n *\n * @usageNotes\n *\n * ### Consuming controls in a grouping\n *\n * The following example shows you how to combine controls together in a sub-group\n * of the form.\n *\n * {@example forms/ts/ngModelGroup/ng_model_group_example.ts region='Component'}\n *\n * @ngModule FormsModule\n * @publicApi\n */\nclass NgModelGroup extends AbstractFormGroupDirective {\n constructor(parent, validators, asyncValidators) {\n super();\n this._parent = parent;\n this._setValidators(validators);\n this._setAsyncValidators(asyncValidators);\n }\n /** @internal */\n _checkParentType() {\n if (!(this._parent instanceof NgModelGroup) && !(this._parent instanceof NgForm) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n TemplateDrivenErrors.modelGroupParentException();\n }\n }\n}\nNgModelGroup.ɵfac = function NgModelGroup_Factory(t) { return new (t || NgModelGroup)(ɵngcc0.ɵɵdirectiveInject(ControlContainer, 5), ɵngcc0.ɵɵdirectiveInject(NG_VALIDATORS, 10), ɵngcc0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10)); };\nNgModelGroup.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgModelGroup, selectors: [[\"\", \"ngModelGroup\", \"\"]], inputs: { name: [\"ngModelGroup\", \"name\"] }, exportAs: [\"ngModelGroup\"], features: [ɵngcc0.ɵɵProvidersFeature([modelGroupProvider]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nNgModelGroup.ctorParameters = () => [\n { type: ControlContainer, decorators: [{ type: Host }, { type: SkipSelf }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] }] }\n];\nNgModelGroup.propDecorators = {\n name: [{ type: Input, args: ['ngModelGroup',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgModelGroup, [{\n type: Directive,\n args: [{ selector: '[ngModelGroup]', providers: [modelGroupProvider], exportAs: 'ngModelGroup' }]\n }], function () { return [{ type: ControlContainer, decorators: [{\n type: Host\n }, {\n type: SkipSelf\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_VALIDATORS]\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_ASYNC_VALIDATORS]\n }] }]; }, { name: [{\n type: Input,\n args: ['ngModelGroup']\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 formControlBinding = {\n provide: NgControl,\n useExisting: forwardRef(() => NgModel)\n};\nconst ɵ0$1 = () => Promise.resolve(null);\n/**\n * `ngModel` forces an additional change detection run when its inputs change:\n * E.g.:\n * ```\n * {{myModel.valid}}\n * \n * ```\n * I.e. `ngModel` can export itself on the element and then be used in the template.\n * Normally, this would result in expressions before the `input` that use the exported directive\n * to have an old value as they have been\n * dirty checked before. As this is a very common case for `ngModel`, we added this second change\n * detection run.\n *\n * Notes:\n * - this is just one extra run no matter how many `ngModel`s have been changed.\n * - this is a general problem when using `exportAs` for directives!\n */\nconst resolvedPromise$1 = (ɵ0$1)();\n/**\n * @description\n * Creates a `FormControl` instance from a domain model and binds it\n * to a form control element.\n *\n * The `FormControl` instance tracks the value, user interaction, and\n * validation status of the control and keeps the view synced with the model. If used\n * within a parent form, the directive also registers itself with the form as a child\n * control.\n *\n * This directive is used by itself or as part of a larger form. Use the\n * `ngModel` selector to activate it.\n *\n * It accepts a domain model as an optional `Input`. If you have a one-way binding\n * to `ngModel` with `[]` syntax, changing the domain model's value in the component\n * class sets the value in the view. If you have a two-way binding with `[()]` syntax\n * (also known as 'banana-in-a-box syntax'), the value in the UI always syncs back to\n * the domain model in your class.\n *\n * To inspect the properties of the associated `FormControl` (like the validity state),\n * export the directive into a local template variable using `ngModel` as the key (ex:\n * `#myVar=\"ngModel\"`). You can then access the control using the directive's `control` property.\n * However, the most commonly used properties (like `valid` and `dirty`) also exist on the control\n * for direct access. See a full list of properties directly available in\n * `AbstractControlDirective`.\n *\n * @see `RadioControlValueAccessor`\n * @see `SelectControlValueAccessor`\n *\n * @usageNotes\n *\n * ### Using ngModel on a standalone control\n *\n * The following examples show a simple standalone control using `ngModel`:\n *\n * {@example forms/ts/simpleNgModel/simple_ng_model_example.ts region='Component'}\n *\n * When using the `ngModel` within `` tags, you'll also need to supply a `name` attribute\n * so that the control can be registered with the parent form under that name.\n *\n * In the context of a parent form, it's often unnecessary to include one-way or two-way binding,\n * as the parent form syncs the value for you. You access its properties by exporting it into a\n * local template variable using `ngForm` such as (`#f=\"ngForm\"`). Use the variable where\n * needed on form submission.\n *\n * If you do need to populate initial values into your form, using a one-way binding for\n * `ngModel` tends to be sufficient as long as you use the exported form's value rather\n * than the domain model's value on submit.\n *\n * ### Using ngModel within a form\n *\n * The following example shows controls using `ngModel` within a form:\n *\n * {@example forms/ts/simpleForm/simple_form_example.ts region='Component'}\n *\n * ### Using a standalone ngModel within a group\n *\n * The following example shows you how to use a standalone ngModel control\n * within a form. This controls the display of the form, but doesn't contain form data.\n *\n * ```html\n * \n * \n * Show more options?\n * \n * \n * ```\n *\n * ### Setting the ngModel `name` attribute through options\n *\n * The following example shows you an alternate way to set the name attribute. Here,\n * an attribute identified as name is used within a custom form control component. To still be able\n * to specify the NgModel's name, you must specify it using the `ngModelOptions` input instead.\n *\n * ```html\n * \n * \n * \n * \n * \n * ```\n *\n * @ngModule FormsModule\n * @publicApi\n */\nclass NgModel extends NgControl {\n constructor(parent, validators, asyncValidators, valueAccessors) {\n super();\n this.control = new FormControl();\n /** @internal */\n this._registered = false;\n /**\n * @description\n * Event emitter for producing the `ngModelChange` event after\n * the view model updates.\n */\n this.update = new EventEmitter();\n this._parent = parent;\n this._setValidators(validators);\n this._setAsyncValidators(asyncValidators);\n this.valueAccessor = selectValueAccessor(this, valueAccessors);\n }\n /** @nodoc */\n ngOnChanges(changes) {\n this._checkForErrors();\n if (!this._registered)\n this._setUpControl();\n if ('isDisabled' in changes) {\n this._updateDisabled(changes);\n }\n if (isPropertyUpdated(changes, this.viewModel)) {\n this._updateValue(this.model);\n this.viewModel = this.model;\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n this.formDirective && this.formDirective.removeControl(this);\n }\n /**\n * @description\n * Returns an array that represents the path from the top-level form to this control.\n * Each index is the string name of the control on that level.\n */\n get path() {\n return this._parent ? controlPath(this.name, this._parent) : [this.name];\n }\n /**\n * @description\n * The top-level directive for this control if present, otherwise null.\n */\n get formDirective() {\n return this._parent ? this._parent.formDirective : null;\n }\n /**\n * @description\n * Sets the new value for the view model and emits an `ngModelChange` event.\n *\n * @param newValue The new value emitted by `ngModelChange`.\n */\n viewToModelUpdate(newValue) {\n this.viewModel = newValue;\n this.update.emit(newValue);\n }\n _setUpControl() {\n this._setUpdateStrategy();\n this._isStandalone() ? this._setUpStandalone() : this.formDirective.addControl(this);\n this._registered = true;\n }\n _setUpdateStrategy() {\n if (this.options && this.options.updateOn != null) {\n this.control._updateOn = this.options.updateOn;\n }\n }\n _isStandalone() {\n return !this._parent || !!(this.options && this.options.standalone);\n }\n _setUpStandalone() {\n setUpControl(this.control, this);\n this.control.updateValueAndValidity({ emitEvent: false });\n }\n _checkForErrors() {\n if (!this._isStandalone()) {\n this._checkParentType();\n }\n this._checkName();\n }\n _checkParentType() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!(this._parent instanceof NgModelGroup) &&\n this._parent instanceof AbstractFormGroupDirective) {\n TemplateDrivenErrors.formGroupNameException();\n }\n else if (!(this._parent instanceof NgModelGroup) && !(this._parent instanceof NgForm)) {\n TemplateDrivenErrors.modelParentException();\n }\n }\n }\n _checkName() {\n if (this.options && this.options.name)\n this.name = this.options.name;\n if (!this._isStandalone() && !this.name && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n TemplateDrivenErrors.missingNameException();\n }\n }\n _updateValue(value) {\n resolvedPromise$1.then(() => {\n this.control.setValue(value, { emitViewToModelChange: false });\n });\n }\n _updateDisabled(changes) {\n const disabledValue = changes['isDisabled'].currentValue;\n const isDisabled = disabledValue === '' || (disabledValue && disabledValue !== 'false');\n resolvedPromise$1.then(() => {\n if (isDisabled && !this.control.disabled) {\n this.control.disable();\n }\n else if (!isDisabled && this.control.disabled) {\n this.control.enable();\n }\n });\n }\n}\nNgModel.ɵfac = function NgModel_Factory(t) { return new (t || NgModel)(ɵngcc0.ɵɵdirectiveInject(ControlContainer, 9), ɵngcc0.ɵɵdirectiveInject(NG_VALIDATORS, 10), ɵngcc0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10), ɵngcc0.ɵɵdirectiveInject(NG_VALUE_ACCESSOR, 10)); };\nNgModel.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: NgModel, selectors: [[\"\", \"ngModel\", \"\", 3, \"formControlName\", \"\", 3, \"formControl\", \"\"]], inputs: { name: \"name\", isDisabled: [\"disabled\", \"isDisabled\"], model: [\"ngModel\", \"model\"], options: [\"ngModelOptions\", \"options\"] }, outputs: { update: \"ngModelChange\" }, exportAs: [\"ngModel\"], features: [ɵngcc0.ɵɵProvidersFeature([formControlBinding]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\nNgModel.ctorParameters = () => [\n { type: ControlContainer, decorators: [{ type: Optional }, { type: Host }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALUE_ACCESSOR,] }] }\n];\nNgModel.propDecorators = {\n name: [{ type: Input }],\n isDisabled: [{ type: Input, args: ['disabled',] }],\n model: [{ type: Input, args: ['ngModel',] }],\n options: [{ type: Input, args: ['ngModelOptions',] }],\n update: [{ type: Output, args: ['ngModelChange',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(NgModel, [{\n type: Directive,\n args: [{\n selector: '[ngModel]:not([formControlName]):not([formControl])',\n providers: [formControlBinding],\n exportAs: 'ngModel'\n }]\n }], function () { return [{ type: ControlContainer, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_VALIDATORS]\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_ASYNC_VALIDATORS]\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_VALUE_ACCESSOR]\n }] }]; }, { update: [{\n type: Output,\n args: ['ngModelChange']\n }], name: [{\n type: Input\n }], isDisabled: [{\n type: Input,\n args: ['disabled']\n }], model: [{\n type: Input,\n args: ['ngModel']\n }], options: [{\n type: Input,\n args: ['ngModelOptions']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n *\n * Adds `novalidate` attribute to all forms by default.\n *\n * `novalidate` is used to disable browser's native form validation.\n *\n * If you want to use native validation with Angular forms, just add `ngNativeValidate` attribute:\n *\n * ```\n * \n * ```\n *\n * @publicApi\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n */\nclass ɵNgNoValidate {\n}\nɵNgNoValidate.ɵfac = function ɵNgNoValidate_Factory(t) { return new (t || ɵNgNoValidate)(); };\nɵNgNoValidate.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: ɵNgNoValidate, selectors: [[\"form\", 3, \"ngNoForm\", \"\", 3, \"ngNativeValidate\", \"\"]], hostAttrs: [\"novalidate\", \"\"] });\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ɵNgNoValidate, [{\n type: Directive,\n args: [{\n selector: 'form:not([ngNoForm]):not([ngNativeValidate])',\n host: { 'novalidate': '' }\n }]\n }], null, null); })();\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 * Token to provide to turn off the ngModel warning on formControl and formControlName.\n */\nconst NG_MODEL_WITH_FORM_CONTROL_WARNING = new InjectionToken('NgModelWithFormControlWarning');\nconst formControlBinding$1 = {\n provide: NgControl,\n useExisting: forwardRef(() => FormControlDirective)\n};\n/**\n * @description\n * Synchronizes a standalone `FormControl` instance to a form control element.\n *\n * Note that support for using the `ngModel` input property and `ngModelChange` event with reactive\n * form directives was deprecated in Angular v6 and is scheduled for removal in\n * a future version of Angular.\n * For details, see [Deprecated features](guide/deprecations#ngmodel-with-reactive-forms).\n *\n * @see [Reactive Forms Guide](guide/reactive-forms)\n * @see `FormControl`\n * @see `AbstractControl`\n *\n * @usageNotes\n *\n * The following example shows how to register a standalone control and set its value.\n *\n * {@example forms/ts/simpleFormControl/simple_form_control_example.ts region='Component'}\n *\n * @ngModule ReactiveFormsModule\n * @publicApi\n */\nclass FormControlDirective extends NgControl {\n constructor(validators, asyncValidators, valueAccessors, _ngModelWarningConfig) {\n super();\n this._ngModelWarningConfig = _ngModelWarningConfig;\n /** @deprecated as of v6 */\n this.update = new EventEmitter();\n /**\n * @description\n * Instance property used to track whether an ngModel warning has been sent out for this\n * particular `FormControlDirective` instance. Used to support warning config of \"always\".\n *\n * @internal\n */\n this._ngModelWarningSent = false;\n this._setValidators(validators);\n this._setAsyncValidators(asyncValidators);\n this.valueAccessor = selectValueAccessor(this, valueAccessors);\n }\n /**\n * @description\n * Triggers a warning in dev mode that this input should not be used with reactive forms.\n */\n set isDisabled(isDisabled) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n ReactiveErrors.disabledAttrWarning();\n }\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if (this._isControlChanged(changes)) {\n setUpControl(this.form, this);\n if (this.control.disabled && this.valueAccessor.setDisabledState) {\n this.valueAccessor.setDisabledState(true);\n }\n this.form.updateValueAndValidity({ emitEvent: false });\n }\n if (isPropertyUpdated(changes, this.viewModel)) {\n _ngModelWarning('formControl', FormControlDirective, this, this._ngModelWarningConfig);\n this.form.setValue(this.model);\n this.viewModel = this.model;\n }\n }\n /**\n * @description\n * Returns an array that represents the path from the top-level form to this control.\n * Each index is the string name of the control on that level.\n */\n get path() {\n return [];\n }\n /**\n * @description\n * The `FormControl` bound to this directive.\n */\n get control() {\n return this.form;\n }\n /**\n * @description\n * Sets the new value for the view model and emits an `ngModelChange` event.\n *\n * @param newValue The new value for the view model.\n */\n viewToModelUpdate(newValue) {\n this.viewModel = newValue;\n this.update.emit(newValue);\n }\n _isControlChanged(changes) {\n return changes.hasOwnProperty('form');\n }\n}\nFormControlDirective.ɵfac = function FormControlDirective_Factory(t) { return new (t || FormControlDirective)(ɵngcc0.ɵɵdirectiveInject(NG_VALIDATORS, 10), ɵngcc0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10), ɵngcc0.ɵɵdirectiveInject(NG_VALUE_ACCESSOR, 10), ɵngcc0.ɵɵdirectiveInject(NG_MODEL_WITH_FORM_CONTROL_WARNING, 8)); };\nFormControlDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: FormControlDirective, selectors: [[\"\", \"formControl\", \"\"]], inputs: { isDisabled: [\"disabled\", \"isDisabled\"], form: [\"formControl\", \"form\"], model: [\"ngModel\", \"model\"] }, outputs: { update: \"ngModelChange\" }, exportAs: [\"ngForm\"], features: [ɵngcc0.ɵɵProvidersFeature([formControlBinding$1]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\n/**\n * @description\n * Static property used to track whether any ngModel warnings have been sent across\n * all instances of FormControlDirective. Used to support warning config of \"once\".\n *\n * @internal\n */\nFormControlDirective._ngModelWarningSentOnce = false;\nFormControlDirective.ctorParameters = () => [\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALUE_ACCESSOR,] }] },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [NG_MODEL_WITH_FORM_CONTROL_WARNING,] }] }\n];\nFormControlDirective.propDecorators = {\n form: [{ type: Input, args: ['formControl',] }],\n isDisabled: [{ type: Input, args: ['disabled',] }],\n model: [{ type: Input, args: ['ngModel',] }],\n update: [{ type: Output, args: ['ngModelChange',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(FormControlDirective, [{\n type: Directive,\n args: [{ selector: '[formControl]', providers: [formControlBinding$1], exportAs: 'ngForm' }]\n }], function () { return [{ type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_VALIDATORS]\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_ASYNC_VALIDATORS]\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_VALUE_ACCESSOR]\n }] }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [NG_MODEL_WITH_FORM_CONTROL_WARNING]\n }] }]; }, { update: [{\n type: Output,\n args: ['ngModelChange']\n }], isDisabled: [{\n type: Input,\n args: ['disabled']\n }], form: [{\n type: Input,\n args: ['formControl']\n }], model: [{\n type: Input,\n args: ['ngModel']\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 formDirectiveProvider$1 = {\n provide: ControlContainer,\n useExisting: forwardRef(() => FormGroupDirective)\n};\n/**\n * @description\n *\n * Binds an existing `FormGroup` to a DOM element.\n *\n * This directive accepts an existing `FormGroup` instance. It will then use this\n * `FormGroup` instance to match any child `FormControl`, `FormGroup`,\n * and `FormArray` instances to child `FormControlName`, `FormGroupName`,\n * and `FormArrayName` directives.\n *\n * @see [Reactive Forms Guide](guide/reactive-forms)\n * @see `AbstractControl`\n *\n * ### Register Form Group\n *\n * The following example registers a `FormGroup` with first name and last name controls,\n * and listens for the *ngSubmit* event when the button is clicked.\n *\n * {@example forms/ts/simpleFormGroup/simple_form_group_example.ts region='Component'}\n *\n * @ngModule ReactiveFormsModule\n * @publicApi\n */\nclass FormGroupDirective extends ControlContainer {\n constructor(validators, asyncValidators) {\n super();\n this.validators = validators;\n this.asyncValidators = asyncValidators;\n /**\n * @description\n * Reports whether the form submission has been triggered.\n */\n this.submitted = false;\n /**\n * @description\n * Tracks the list of added `FormControlName` instances\n */\n this.directives = [];\n /**\n * @description\n * Tracks the `FormGroup` bound to this directive.\n */\n this.form = null;\n /**\n * @description\n * Emits an event when the form submission has been triggered.\n */\n this.ngSubmit = new EventEmitter();\n this._setValidators(validators);\n this._setAsyncValidators(asyncValidators);\n }\n /** @nodoc */\n ngOnChanges(changes) {\n this._checkFormPresent();\n if (changes.hasOwnProperty('form')) {\n this._updateValidators();\n this._updateDomValue();\n this._updateRegistrations();\n this._oldForm = this.form;\n }\n }\n /**\n * @description\n * Returns this directive's instance.\n */\n get formDirective() {\n return this;\n }\n /**\n * @description\n * Returns the `FormGroup` bound to this directive.\n */\n get control() {\n return this.form;\n }\n /**\n * @description\n * Returns an array representing the path to this group. Because this directive\n * always lives at the top level of a form, it always an empty array.\n */\n get path() {\n return [];\n }\n /**\n * @description\n * Method that sets up the control directive in this group, re-calculates its value\n * and validity, and adds the instance to the internal list of directives.\n *\n * @param dir The `FormControlName` directive instance.\n */\n addControl(dir) {\n const ctrl = this.form.get(dir.path);\n setUpControl(ctrl, dir);\n ctrl.updateValueAndValidity({ emitEvent: false });\n this.directives.push(dir);\n return ctrl;\n }\n /**\n * @description\n * Retrieves the `FormControl` instance from the provided `FormControlName` directive\n *\n * @param dir The `FormControlName` directive instance.\n */\n getControl(dir) {\n return this.form.get(dir.path);\n }\n /**\n * @description\n * Removes the `FormControlName` instance from the internal list of directives\n *\n * @param dir The `FormControlName` directive instance.\n */\n removeControl(dir) {\n removeListItem(this.directives, dir);\n }\n /**\n * Adds a new `FormGroupName` directive instance to the form.\n *\n * @param dir The `FormGroupName` directive instance.\n */\n addFormGroup(dir) {\n const ctrl = this.form.get(dir.path);\n setUpFormContainer(ctrl, dir);\n ctrl.updateValueAndValidity({ emitEvent: false });\n }\n /**\n * No-op method to remove the form group.\n *\n * @param dir The `FormGroupName` directive instance.\n */\n removeFormGroup(dir) { }\n /**\n * @description\n * Retrieves the `FormGroup` for a provided `FormGroupName` directive instance\n *\n * @param dir The `FormGroupName` directive instance.\n */\n getFormGroup(dir) {\n return this.form.get(dir.path);\n }\n /**\n * Adds a new `FormArrayName` directive instance to the form.\n *\n * @param dir The `FormArrayName` directive instance.\n */\n addFormArray(dir) {\n const ctrl = this.form.get(dir.path);\n setUpFormContainer(ctrl, dir);\n ctrl.updateValueAndValidity({ emitEvent: false });\n }\n /**\n * No-op method to remove the form array.\n *\n * @param dir The `FormArrayName` directive instance.\n */\n removeFormArray(dir) { }\n /**\n * @description\n * Retrieves the `FormArray` for a provided `FormArrayName` directive instance.\n *\n * @param dir The `FormArrayName` directive instance.\n */\n getFormArray(dir) {\n return this.form.get(dir.path);\n }\n /**\n * Sets the new value for the provided `FormControlName` directive.\n *\n * @param dir The `FormControlName` directive instance.\n * @param value The new value for the directive's control.\n */\n updateModel(dir, value) {\n const ctrl = this.form.get(dir.path);\n ctrl.setValue(value);\n }\n /**\n * @description\n * Method called with the \"submit\" event is triggered on the form.\n * Triggers the `ngSubmit` emitter to emit the \"submit\" event as its payload.\n *\n * @param $event The \"submit\" event object\n */\n onSubmit($event) {\n this.submitted = true;\n syncPendingControls(this.form, this.directives);\n this.ngSubmit.emit($event);\n return false;\n }\n /**\n * @description\n * Method called when the \"reset\" event is triggered on the form.\n */\n onReset() {\n this.resetForm();\n }\n /**\n * @description\n * Resets the form to an initial value and resets its submitted status.\n *\n * @param value The new value for the form.\n */\n resetForm(value = undefined) {\n this.form.reset(value);\n this.submitted = false;\n }\n /** @internal */\n _updateDomValue() {\n this.directives.forEach(dir => {\n const newCtrl = this.form.get(dir.path);\n if (dir.control !== newCtrl) {\n // Note: the value of the `dir.control` may not be defined, for example when it's a first\n // `FormControl` that is added to a `FormGroup` instance (via `addControl` call).\n cleanUpControl(dir.control || null, dir);\n if (newCtrl)\n setUpControl(newCtrl, dir);\n dir.control = newCtrl;\n }\n });\n this.form._updateTreeValidity({ emitEvent: false });\n }\n _updateRegistrations() {\n this.form._registerOnCollectionChange(() => this._updateDomValue());\n if (this._oldForm) {\n this._oldForm._registerOnCollectionChange(() => { });\n }\n }\n _updateValidators() {\n setUpValidators(this.form, this, /* handleOnValidatorChange */ false);\n if (this._oldForm) {\n cleanUpValidators(this._oldForm, this, /* handleOnValidatorChange */ false);\n }\n }\n _checkFormPresent() {\n if (!this.form && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n ReactiveErrors.missingFormException();\n }\n }\n}\nFormGroupDirective.ɵfac = function FormGroupDirective_Factory(t) { return new (t || FormGroupDirective)(ɵngcc0.ɵɵdirectiveInject(NG_VALIDATORS, 10), ɵngcc0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10)); };\nFormGroupDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: FormGroupDirective, selectors: [[\"\", \"formGroup\", \"\"]], hostBindings: function FormGroupDirective_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"submit\", function FormGroupDirective_submit_HostBindingHandler($event) { return ctx.onSubmit($event); })(\"reset\", function FormGroupDirective_reset_HostBindingHandler() { return ctx.onReset(); });\n } }, inputs: { form: [\"formGroup\", \"form\"] }, outputs: { ngSubmit: \"ngSubmit\" }, exportAs: [\"ngForm\"], features: [ɵngcc0.ɵɵProvidersFeature([formDirectiveProvider$1]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\nFormGroupDirective.ctorParameters = () => [\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] }] }\n];\nFormGroupDirective.propDecorators = {\n form: [{ type: Input, args: ['formGroup',] }],\n ngSubmit: [{ type: Output }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(FormGroupDirective, [{\n type: Directive,\n args: [{\n selector: '[formGroup]',\n providers: [formDirectiveProvider$1],\n host: { '(submit)': 'onSubmit($event)', '(reset)': 'onReset()' },\n exportAs: 'ngForm'\n }]\n }], function () { return [{ type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_VALIDATORS]\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_ASYNC_VALIDATORS]\n }] }]; }, { form: [{\n type: Input,\n args: ['formGroup']\n }], ngSubmit: [{\n type: Output\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 formGroupNameProvider = {\n provide: ControlContainer,\n useExisting: forwardRef(() => FormGroupName)\n};\n/**\n * @description\n *\n * Syncs a nested `FormGroup` to a DOM element.\n *\n * This directive can only be used with a parent `FormGroupDirective`.\n *\n * It accepts the string name of the nested `FormGroup` to link, and\n * looks for a `FormGroup` registered with that name in the parent\n * `FormGroup` instance you passed into `FormGroupDirective`.\n *\n * Use nested form groups to validate a sub-group of a\n * form separately from the rest or to group the values of certain\n * controls into their own nested object.\n *\n * @see [Reactive Forms Guide](guide/reactive-forms)\n *\n * @usageNotes\n *\n * ### Access the group by name\n *\n * The following example uses the {@link AbstractControl#get get} method to access the\n * associated `FormGroup`\n *\n * ```ts\n * this.form.get('name');\n * ```\n *\n * ### Access individual controls in the group\n *\n * The following example uses the {@link AbstractControl#get get} method to access\n * individual controls within the group using dot syntax.\n *\n * ```ts\n * this.form.get('name.first');\n * ```\n *\n * ### Register a nested `FormGroup`.\n *\n * The following example registers a nested *name* `FormGroup` within an existing `FormGroup`,\n * and provides methods to retrieve the nested `FormGroup` and individual controls.\n *\n * {@example forms/ts/nestedFormGroup/nested_form_group_example.ts region='Component'}\n *\n * @ngModule ReactiveFormsModule\n * @publicApi\n */\nclass FormGroupName extends AbstractFormGroupDirective {\n constructor(parent, validators, asyncValidators) {\n super();\n this._parent = parent;\n this._setValidators(validators);\n this._setAsyncValidators(asyncValidators);\n }\n /** @internal */\n _checkParentType() {\n if (_hasInvalidParent(this._parent) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n ReactiveErrors.groupParentException();\n }\n }\n}\nFormGroupName.ɵfac = function FormGroupName_Factory(t) { return new (t || FormGroupName)(ɵngcc0.ɵɵdirectiveInject(ControlContainer, 13), ɵngcc0.ɵɵdirectiveInject(NG_VALIDATORS, 10), ɵngcc0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10)); };\nFormGroupName.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: FormGroupName, selectors: [[\"\", \"formGroupName\", \"\"]], inputs: { name: [\"formGroupName\", \"name\"] }, features: [ɵngcc0.ɵɵProvidersFeature([formGroupNameProvider]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nFormGroupName.ctorParameters = () => [\n { type: ControlContainer, decorators: [{ type: Optional }, { type: Host }, { type: SkipSelf }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] }] }\n];\nFormGroupName.propDecorators = {\n name: [{ type: Input, args: ['formGroupName',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(FormGroupName, [{\n type: Directive,\n args: [{ selector: '[formGroupName]', providers: [formGroupNameProvider] }]\n }], function () { return [{ type: ControlContainer, decorators: [{\n type: Optional\n }, {\n type: Host\n }, {\n type: SkipSelf\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_VALIDATORS]\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_ASYNC_VALIDATORS]\n }] }]; }, { name: [{\n type: Input,\n args: ['formGroupName']\n }] }); })();\nconst formArrayNameProvider = {\n provide: ControlContainer,\n useExisting: forwardRef(() => FormArrayName)\n};\n/**\n * @description\n *\n * Syncs a nested `FormArray` to a DOM element.\n *\n * This directive is designed to be used with a parent `FormGroupDirective` (selector:\n * `[formGroup]`).\n *\n * It accepts the string name of the nested `FormArray` you want to link, and\n * will look for a `FormArray` registered with that name in the parent\n * `FormGroup` instance you passed into `FormGroupDirective`.\n *\n * @see [Reactive Forms Guide](guide/reactive-forms)\n * @see `AbstractControl`\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example forms/ts/nestedFormArray/nested_form_array_example.ts region='Component'}\n *\n * @ngModule ReactiveFormsModule\n * @publicApi\n */\nclass FormArrayName extends ControlContainer {\n constructor(parent, validators, asyncValidators) {\n super();\n this._parent = parent;\n this._setValidators(validators);\n this._setAsyncValidators(asyncValidators);\n }\n /**\n * A lifecycle method called when the directive's inputs are initialized. For internal use only.\n * @throws If the directive does not have a valid parent.\n * @nodoc\n */\n ngOnInit() {\n this._checkParentType();\n this.formDirective.addFormArray(this);\n }\n /**\n * A lifecycle method called before the directive's instance is destroyed. For internal use only.\n * @nodoc\n */\n ngOnDestroy() {\n if (this.formDirective) {\n this.formDirective.removeFormArray(this);\n }\n }\n /**\n * @description\n * The `FormArray` bound to this directive.\n */\n get control() {\n return this.formDirective.getFormArray(this);\n }\n /**\n * @description\n * The top-level directive for this group if present, otherwise null.\n */\n get formDirective() {\n return this._parent ? this._parent.formDirective : null;\n }\n /**\n * @description\n * Returns an array that represents the path from the top-level form to this control.\n * Each index is the string name of the control on that level.\n */\n get path() {\n return controlPath(this.name == null ? this.name : this.name.toString(), this._parent);\n }\n _checkParentType() {\n if (_hasInvalidParent(this._parent) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n ReactiveErrors.arrayParentException();\n }\n }\n}\nFormArrayName.ɵfac = function FormArrayName_Factory(t) { return new (t || FormArrayName)(ɵngcc0.ɵɵdirectiveInject(ControlContainer, 13), ɵngcc0.ɵɵdirectiveInject(NG_VALIDATORS, 10), ɵngcc0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10)); };\nFormArrayName.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: FormArrayName, selectors: [[\"\", \"formArrayName\", \"\"]], inputs: { name: [\"formArrayName\", \"name\"] }, features: [ɵngcc0.ɵɵProvidersFeature([formArrayNameProvider]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nFormArrayName.ctorParameters = () => [\n { type: ControlContainer, decorators: [{ type: Optional }, { type: Host }, { type: SkipSelf }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] }] }\n];\nFormArrayName.propDecorators = {\n name: [{ type: Input, args: ['formArrayName',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(FormArrayName, [{\n type: Directive,\n args: [{ selector: '[formArrayName]', providers: [formArrayNameProvider] }]\n }], function () { return [{ type: ControlContainer, decorators: [{\n type: Optional\n }, {\n type: Host\n }, {\n type: SkipSelf\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_VALIDATORS]\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_ASYNC_VALIDATORS]\n }] }]; }, { name: [{\n type: Input,\n args: ['formArrayName']\n }] }); })();\nfunction _hasInvalidParent(parent) {\n return !(parent instanceof FormGroupName) && !(parent instanceof FormGroupDirective) &&\n !(parent instanceof FormArrayName);\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 controlNameBinding = {\n provide: NgControl,\n useExisting: forwardRef(() => FormControlName)\n};\n/**\n * @description\n * Syncs a `FormControl` in an existing `FormGroup` to a form control\n * element by name.\n *\n * @see [Reactive Forms Guide](guide/reactive-forms)\n * @see `FormControl`\n * @see `AbstractControl`\n *\n * @usageNotes\n *\n * ### Register `FormControl` within a group\n *\n * The following example shows how to register multiple form controls within a form group\n * and set their value.\n *\n * {@example forms/ts/simpleFormGroup/simple_form_group_example.ts region='Component'}\n *\n * To see `formControlName` examples with different form control types, see:\n *\n * * Radio buttons: `RadioControlValueAccessor`\n * * Selects: `SelectControlValueAccessor`\n *\n * ### Use with ngModel is deprecated\n *\n * Support for using the `ngModel` input property and `ngModelChange` event with reactive\n * form directives has been deprecated in Angular v6 and is scheduled for removal in\n * a future version of Angular.\n *\n * For details, see [Deprecated features](guide/deprecations#ngmodel-with-reactive-forms).\n *\n * @ngModule ReactiveFormsModule\n * @publicApi\n */\nclass FormControlName extends NgControl {\n constructor(parent, validators, asyncValidators, valueAccessors, _ngModelWarningConfig) {\n super();\n this._ngModelWarningConfig = _ngModelWarningConfig;\n this._added = false;\n /** @deprecated as of v6 */\n this.update = new EventEmitter();\n /**\n * @description\n * Instance property used to track whether an ngModel warning has been sent out for this\n * particular FormControlName instance. Used to support warning config of \"always\".\n *\n * @internal\n */\n this._ngModelWarningSent = false;\n this._parent = parent;\n this._setValidators(validators);\n this._setAsyncValidators(asyncValidators);\n this.valueAccessor = selectValueAccessor(this, valueAccessors);\n }\n /**\n * @description\n * Triggers a warning in dev mode that this input should not be used with reactive forms.\n */\n set isDisabled(isDisabled) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n ReactiveErrors.disabledAttrWarning();\n }\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if (!this._added)\n this._setUpControl();\n if (isPropertyUpdated(changes, this.viewModel)) {\n _ngModelWarning('formControlName', FormControlName, this, this._ngModelWarningConfig);\n this.viewModel = this.model;\n this.formDirective.updateModel(this, this.model);\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n if (this.formDirective) {\n this.formDirective.removeControl(this);\n }\n }\n /**\n * @description\n * Sets the new value for the view model and emits an `ngModelChange` event.\n *\n * @param newValue The new value for the view model.\n */\n viewToModelUpdate(newValue) {\n this.viewModel = newValue;\n this.update.emit(newValue);\n }\n /**\n * @description\n * Returns an array that represents the path from the top-level form to this control.\n * Each index is the string name of the control on that level.\n */\n get path() {\n return controlPath(this.name == null ? this.name : this.name.toString(), this._parent);\n }\n /**\n * @description\n * The top-level directive for this group if present, otherwise null.\n */\n get formDirective() {\n return this._parent ? this._parent.formDirective : null;\n }\n _checkParentType() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!(this._parent instanceof FormGroupName) &&\n this._parent instanceof AbstractFormGroupDirective) {\n ReactiveErrors.ngModelGroupException();\n }\n else if (!(this._parent instanceof FormGroupName) &&\n !(this._parent instanceof FormGroupDirective) &&\n !(this._parent instanceof FormArrayName)) {\n ReactiveErrors.controlParentException();\n }\n }\n }\n _setUpControl() {\n this._checkParentType();\n this.control = this.formDirective.addControl(this);\n if (this.control.disabled && this.valueAccessor.setDisabledState) {\n this.valueAccessor.setDisabledState(true);\n }\n this._added = true;\n }\n}\nFormControlName.ɵfac = function FormControlName_Factory(t) { return new (t || FormControlName)(ɵngcc0.ɵɵdirectiveInject(ControlContainer, 13), ɵngcc0.ɵɵdirectiveInject(NG_VALIDATORS, 10), ɵngcc0.ɵɵdirectiveInject(NG_ASYNC_VALIDATORS, 10), ɵngcc0.ɵɵdirectiveInject(NG_VALUE_ACCESSOR, 10), ɵngcc0.ɵɵdirectiveInject(NG_MODEL_WITH_FORM_CONTROL_WARNING, 8)); };\nFormControlName.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: FormControlName, selectors: [[\"\", \"formControlName\", \"\"]], inputs: { isDisabled: [\"disabled\", \"isDisabled\"], name: [\"formControlName\", \"name\"], model: [\"ngModel\", \"model\"] }, outputs: { update: \"ngModelChange\" }, features: [ɵngcc0.ɵɵProvidersFeature([controlNameBinding]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\n/**\n * @description\n * Static property used to track whether any ngModel warnings have been sent across\n * all instances of FormControlName. Used to support warning config of \"once\".\n *\n * @internal\n */\nFormControlName._ngModelWarningSentOnce = false;\nFormControlName.ctorParameters = () => [\n { type: ControlContainer, decorators: [{ type: Optional }, { type: Host }, { type: SkipSelf }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALIDATORS,] }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_ASYNC_VALIDATORS,] }] },\n { type: Array, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NG_VALUE_ACCESSOR,] }] },\n { type: String, decorators: [{ type: Optional }, { type: Inject, args: [NG_MODEL_WITH_FORM_CONTROL_WARNING,] }] }\n];\nFormControlName.propDecorators = {\n name: [{ type: Input, args: ['formControlName',] }],\n isDisabled: [{ type: Input, args: ['disabled',] }],\n model: [{ type: Input, args: ['ngModel',] }],\n update: [{ type: Output, args: ['ngModelChange',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(FormControlName, [{\n type: Directive,\n args: [{ selector: '[formControlName]', providers: [controlNameBinding] }]\n }], function () { return [{ type: ControlContainer, decorators: [{\n type: Optional\n }, {\n type: Host\n }, {\n type: SkipSelf\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_VALIDATORS]\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_ASYNC_VALIDATORS]\n }] }, { type: Array, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [NG_VALUE_ACCESSOR]\n }] }, { type: String, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [NG_MODEL_WITH_FORM_CONTROL_WARNING]\n }] }]; }, { update: [{\n type: Output,\n args: ['ngModelChange']\n }], isDisabled: [{\n type: Input,\n args: ['disabled']\n }], name: [{\n type: Input,\n args: ['formControlName']\n }], model: [{\n type: Input,\n args: ['ngModel']\n }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n * Provider which adds `RequiredValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst REQUIRED_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => RequiredValidator),\n multi: true\n};\n/**\n * @description\n * Provider which adds `CheckboxRequiredValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst CHECKBOX_REQUIRED_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => CheckboxRequiredValidator),\n multi: true\n};\n/**\n * @description\n * A directive that adds the `required` validator to any controls marked with the\n * `required` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.\n *\n * @see [Form Validation](guide/form-validation)\n *\n * @usageNotes\n *\n * ### Adding a required validator using template-driven forms\n *\n * ```\n * \n * ```\n *\n * @ngModule FormsModule\n * @ngModule ReactiveFormsModule\n * @publicApi\n */\nclass RequiredValidator {\n constructor() {\n this._required = false;\n }\n /**\n * @description\n * Tracks changes to the required attribute bound to this directive.\n */\n get required() {\n return this._required;\n }\n set required(value) {\n this._required = value != null && value !== false && `${value}` !== 'false';\n if (this._onChange)\n this._onChange();\n }\n /**\n * Method that validates whether the control is empty.\n * Returns the validation result if enabled, otherwise null.\n * @nodoc\n */\n validate(control) {\n return this.required ? Validators.required(control) : null;\n }\n /**\n * Registers a callback function to call when the validator inputs change.\n * @nodoc\n */\n registerOnValidatorChange(fn) {\n this._onChange = fn;\n }\n}\nRequiredValidator.ɵfac = function RequiredValidator_Factory(t) { return new (t || RequiredValidator)(); };\nRequiredValidator.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: RequiredValidator, selectors: [[\"\", \"required\", \"\", \"formControlName\", \"\", 3, \"type\", \"checkbox\"], [\"\", \"required\", \"\", \"formControl\", \"\", 3, \"type\", \"checkbox\"], [\"\", \"required\", \"\", \"ngModel\", \"\", 3, \"type\", \"checkbox\"]], hostVars: 1, hostBindings: function RequiredValidator_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"required\", ctx.required ? \"\" : null);\n } }, inputs: { required: \"required\" }, features: [ɵngcc0.ɵɵProvidersFeature([REQUIRED_VALIDATOR])] });\nRequiredValidator.propDecorators = {\n required: [{ type: Input }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(RequiredValidator, [{\n type: Directive,\n args: [{\n selector: ':not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]',\n providers: [REQUIRED_VALIDATOR],\n host: { '[attr.required]': 'required ? \"\" : null' }\n }]\n }], function () { return []; }, { required: [{\n type: Input\n }] }); })();\n/**\n * A Directive that adds the `required` validator to checkbox controls marked with the\n * `required` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.\n *\n * @see [Form Validation](guide/form-validation)\n *\n * @usageNotes\n *\n * ### Adding a required checkbox validator using template-driven forms\n *\n * The following example shows how to add a checkbox required validator to an input attached to an\n * ngModel binding.\n *\n * ```\n * \n * ```\n *\n * @publicApi\n * @ngModule FormsModule\n * @ngModule ReactiveFormsModule\n */\nclass CheckboxRequiredValidator extends RequiredValidator {\n /**\n * Method that validates whether or not the checkbox has been checked.\n * Returns the validation result if enabled, otherwise null.\n * @nodoc\n */\n validate(control) {\n return this.required ? Validators.requiredTrue(control) : null;\n }\n}\nCheckboxRequiredValidator.ɵfac = function CheckboxRequiredValidator_Factory(t) { return ɵCheckboxRequiredValidator_BaseFactory(t || CheckboxRequiredValidator); };\nCheckboxRequiredValidator.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: CheckboxRequiredValidator, selectors: [[\"input\", \"type\", \"checkbox\", \"required\", \"\", \"formControlName\", \"\"], [\"input\", \"type\", \"checkbox\", \"required\", \"\", \"formControl\", \"\"], [\"input\", \"type\", \"checkbox\", \"required\", \"\", \"ngModel\", \"\"]], hostVars: 1, hostBindings: function CheckboxRequiredValidator_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"required\", ctx.required ? \"\" : null);\n } }, features: [ɵngcc0.ɵɵProvidersFeature([CHECKBOX_REQUIRED_VALIDATOR]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nconst ɵCheckboxRequiredValidator_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(CheckboxRequiredValidator);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(CheckboxRequiredValidator, [{\n type: Directive,\n args: [{\n selector: 'input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]',\n providers: [CHECKBOX_REQUIRED_VALIDATOR],\n host: { '[attr.required]': 'required ? \"\" : null' }\n }]\n }], null, null); })();\n/**\n * @description\n * Provider which adds `EmailValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst EMAIL_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => EmailValidator),\n multi: true\n};\n/**\n * A directive that adds the `email` validator to controls marked with the\n * `email` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.\n *\n * @see [Form Validation](guide/form-validation)\n *\n * @usageNotes\n *\n * ### Adding an email validator\n *\n * The following example shows how to add an email validator to an input attached to an ngModel\n * binding.\n *\n * ```\n * \n * \n * \n * ```\n *\n * @publicApi\n * @ngModule FormsModule\n * @ngModule ReactiveFormsModule\n */\nclass EmailValidator {\n constructor() {\n this._enabled = false;\n }\n /**\n * @description\n * Tracks changes to the email attribute bound to this directive.\n */\n set email(value) {\n this._enabled = value === '' || value === true || value === 'true';\n if (this._onChange)\n this._onChange();\n }\n /**\n * Method that validates whether an email address is valid.\n * Returns the validation result if enabled, otherwise null.\n * @nodoc\n */\n validate(control) {\n return this._enabled ? Validators.email(control) : null;\n }\n /**\n * Registers a callback function to call when the validator inputs change.\n * @nodoc\n */\n registerOnValidatorChange(fn) {\n this._onChange = fn;\n }\n}\nEmailValidator.ɵfac = function EmailValidator_Factory(t) { return new (t || EmailValidator)(); };\nEmailValidator.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: EmailValidator, selectors: [[\"\", \"email\", \"\", \"formControlName\", \"\"], [\"\", \"email\", \"\", \"formControl\", \"\"], [\"\", \"email\", \"\", \"ngModel\", \"\"]], inputs: { email: \"email\" }, features: [ɵngcc0.ɵɵProvidersFeature([EMAIL_VALIDATOR])] });\nEmailValidator.propDecorators = {\n email: [{ type: Input }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(EmailValidator, [{\n type: Directive,\n args: [{\n selector: '[email][formControlName],[email][formControl],[email][ngModel]',\n providers: [EMAIL_VALIDATOR]\n }]\n }], function () { return []; }, { email: [{\n type: Input\n }] }); })();\n/**\n * @description\n * Provider which adds `MinLengthValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst MIN_LENGTH_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MinLengthValidator),\n multi: true\n};\n/**\n * A directive that adds minimum length validation to controls marked with the\n * `minlength` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.\n *\n * @see [Form Validation](guide/form-validation)\n *\n * @usageNotes\n *\n * ### Adding a minimum length validator\n *\n * The following example shows how to add a minimum length validator to an input attached to an\n * ngModel binding.\n *\n * ```html\n * \n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass MinLengthValidator {\n constructor() {\n this._validator = Validators.nullValidator;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if ('minlength' in changes) {\n this._createValidator();\n if (this._onChange)\n this._onChange();\n }\n }\n /**\n * Method that validates whether the value meets a minimum length requirement.\n * Returns the validation result if enabled, otherwise null.\n * @nodoc\n */\n validate(control) {\n return this.minlength == null ? null : this._validator(control);\n }\n /**\n * Registers a callback function to call when the validator inputs change.\n * @nodoc\n */\n registerOnValidatorChange(fn) {\n this._onChange = fn;\n }\n _createValidator() {\n this._validator = Validators.minLength(typeof this.minlength === 'number' ? this.minlength : parseInt(this.minlength, 10));\n }\n}\nMinLengthValidator.ɵfac = function MinLengthValidator_Factory(t) { return new (t || MinLengthValidator)(); };\nMinLengthValidator.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: MinLengthValidator, selectors: [[\"\", \"minlength\", \"\", \"formControlName\", \"\"], [\"\", \"minlength\", \"\", \"formControl\", \"\"], [\"\", \"minlength\", \"\", \"ngModel\", \"\"]], hostVars: 1, hostBindings: function MinLengthValidator_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"minlength\", ctx.minlength ? ctx.minlength : null);\n } }, inputs: { minlength: \"minlength\" }, features: [ɵngcc0.ɵɵProvidersFeature([MIN_LENGTH_VALIDATOR]), ɵngcc0.ɵɵNgOnChangesFeature] });\nMinLengthValidator.propDecorators = {\n minlength: [{ type: Input }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MinLengthValidator, [{\n type: Directive,\n args: [{\n selector: '[minlength][formControlName],[minlength][formControl],[minlength][ngModel]',\n providers: [MIN_LENGTH_VALIDATOR],\n host: { '[attr.minlength]': 'minlength ? minlength : null' }\n }]\n }], function () { return []; }, { minlength: [{\n type: Input\n }] }); })();\n/**\n * @description\n * Provider which adds `MaxLengthValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst MAX_LENGTH_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => MaxLengthValidator),\n multi: true\n};\n/**\n * A directive that adds max length validation to controls marked with the\n * `maxlength` attribute. The directive is provided with the `NG_VALIDATORS` multi-provider list.\n *\n * @see [Form Validation](guide/form-validation)\n *\n * @usageNotes\n *\n * ### Adding a maximum length validator\n *\n * The following example shows how to add a maximum length validator to an input attached to an\n * ngModel binding.\n *\n * ```html\n * \n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass MaxLengthValidator {\n constructor() {\n this._validator = Validators.nullValidator;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if ('maxlength' in changes) {\n this._createValidator();\n if (this._onChange)\n this._onChange();\n }\n }\n /**\n * Method that validates whether the value exceeds the maximum length requirement.\n * @nodoc\n */\n validate(control) {\n return this.maxlength != null ? this._validator(control) : null;\n }\n /**\n * Registers a callback function to call when the validator inputs change.\n * @nodoc\n */\n registerOnValidatorChange(fn) {\n this._onChange = fn;\n }\n _createValidator() {\n this._validator = Validators.maxLength(typeof this.maxlength === 'number' ? this.maxlength : parseInt(this.maxlength, 10));\n }\n}\nMaxLengthValidator.ɵfac = function MaxLengthValidator_Factory(t) { return new (t || MaxLengthValidator)(); };\nMaxLengthValidator.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: MaxLengthValidator, selectors: [[\"\", \"maxlength\", \"\", \"formControlName\", \"\"], [\"\", \"maxlength\", \"\", \"formControl\", \"\"], [\"\", \"maxlength\", \"\", \"ngModel\", \"\"]], hostVars: 1, hostBindings: function MaxLengthValidator_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"maxlength\", ctx.maxlength ? ctx.maxlength : null);\n } }, inputs: { maxlength: \"maxlength\" }, features: [ɵngcc0.ɵɵProvidersFeature([MAX_LENGTH_VALIDATOR]), ɵngcc0.ɵɵNgOnChangesFeature] });\nMaxLengthValidator.propDecorators = {\n maxlength: [{ type: Input }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MaxLengthValidator, [{\n type: Directive,\n args: [{\n selector: '[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]',\n providers: [MAX_LENGTH_VALIDATOR],\n host: { '[attr.maxlength]': 'maxlength ? maxlength : null' }\n }]\n }], function () { return []; }, { maxlength: [{\n type: Input\n }] }); })();\n/**\n * @description\n * Provider which adds `PatternValidator` to the `NG_VALIDATORS` multi-provider list.\n */\nconst PATTERN_VALIDATOR = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PatternValidator),\n multi: true\n};\n/**\n * @description\n * A directive that adds regex pattern validation to controls marked with the\n * `pattern` attribute. The regex must match the entire control value.\n * The directive is provided with the `NG_VALIDATORS` multi-provider list.\n *\n * @see [Form Validation](guide/form-validation)\n *\n * @usageNotes\n *\n * ### Adding a pattern validator\n *\n * The following example shows how to add a pattern validator to an input attached to an\n * ngModel binding.\n *\n * ```html\n * \n * ```\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\nclass PatternValidator {\n constructor() {\n this._validator = Validators.nullValidator;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if ('pattern' in changes) {\n this._createValidator();\n if (this._onChange)\n this._onChange();\n }\n }\n /**\n * Method that validates whether the value matches the the pattern requirement.\n * @nodoc\n */\n validate(control) {\n return this._validator(control);\n }\n /**\n * Registers a callback function to call when the validator inputs change.\n * @nodoc\n */\n registerOnValidatorChange(fn) {\n this._onChange = fn;\n }\n _createValidator() {\n this._validator = Validators.pattern(this.pattern);\n }\n}\nPatternValidator.ɵfac = function PatternValidator_Factory(t) { return new (t || PatternValidator)(); };\nPatternValidator.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: PatternValidator, selectors: [[\"\", \"pattern\", \"\", \"formControlName\", \"\"], [\"\", \"pattern\", \"\", \"formControl\", \"\"], [\"\", \"pattern\", \"\", \"ngModel\", \"\"]], hostVars: 1, hostBindings: function PatternValidator_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵattribute(\"pattern\", ctx.pattern ? ctx.pattern : null);\n } }, inputs: { pattern: \"pattern\" }, features: [ɵngcc0.ɵɵProvidersFeature([PATTERN_VALIDATOR]), ɵngcc0.ɵɵNgOnChangesFeature] });\nPatternValidator.propDecorators = {\n pattern: [{ type: Input }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(PatternValidator, [{\n type: Directive,\n args: [{\n selector: '[pattern][formControlName],[pattern][formControl],[pattern][ngModel]',\n providers: [PATTERN_VALIDATOR],\n host: { '[attr.pattern]': 'pattern ? pattern : null' }\n }]\n }], function () { return []; }, { pattern: [{\n type: Input\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 SHARED_FORM_DIRECTIVES = [\n ɵNgNoValidate,\n NgSelectOption,\n ɵNgSelectMultipleOption,\n DefaultValueAccessor,\n NumberValueAccessor,\n RangeValueAccessor,\n CheckboxControlValueAccessor,\n SelectControlValueAccessor,\n SelectMultipleControlValueAccessor,\n RadioControlValueAccessor,\n NgControlStatus,\n NgControlStatusGroup,\n RequiredValidator,\n MinLengthValidator,\n MaxLengthValidator,\n PatternValidator,\n CheckboxRequiredValidator,\n EmailValidator,\n];\nconst TEMPLATE_DRIVEN_DIRECTIVES = [NgModel, NgModelGroup, NgForm];\nconst REACTIVE_DRIVEN_DIRECTIVES = [FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName];\n/**\n * Internal module used for sharing directives between FormsModule and ReactiveFormsModule\n */\nclass ɵInternalFormsSharedModule {\n}\nɵInternalFormsSharedModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: ɵInternalFormsSharedModule });\nɵInternalFormsSharedModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function ɵInternalFormsSharedModule_Factory(t) { return new (t || ɵInternalFormsSharedModule)(); } });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ɵInternalFormsSharedModule, { declarations: [ɵNgNoValidate, NgSelectOption, ɵNgSelectMultipleOption, DefaultValueAccessor, NumberValueAccessor, RangeValueAccessor, CheckboxControlValueAccessor, SelectControlValueAccessor, SelectMultipleControlValueAccessor, RadioControlValueAccessor, NgControlStatus, NgControlStatusGroup, RequiredValidator, MinLengthValidator, MaxLengthValidator, PatternValidator, CheckboxRequiredValidator, EmailValidator], exports: [ɵNgNoValidate, NgSelectOption, ɵNgSelectMultipleOption, DefaultValueAccessor, NumberValueAccessor, RangeValueAccessor, CheckboxControlValueAccessor, SelectControlValueAccessor, SelectMultipleControlValueAccessor, RadioControlValueAccessor, NgControlStatus, NgControlStatusGroup, RequiredValidator, MinLengthValidator, MaxLengthValidator, PatternValidator, CheckboxRequiredValidator, EmailValidator] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ɵInternalFormsSharedModule, [{\n type: NgModule,\n args: [{\n declarations: SHARED_FORM_DIRECTIVES,\n exports: SHARED_FORM_DIRECTIVES\n }]\n }], null, null); })();\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 isAbstractControlOptions(options) {\n return options.asyncValidators !== undefined ||\n options.validators !== undefined ||\n options.updateOn !== undefined;\n}\n/**\n * @description\n * Creates an `AbstractControl` from a user-specified configuration.\n *\n * The `FormBuilder` provides syntactic sugar that shortens creating instances of a `FormControl`,\n * `FormGroup`, or `FormArray`. It reduces the amount of boilerplate needed to build complex\n * forms.\n *\n * @see [Reactive Forms Guide](/guide/reactive-forms)\n *\n * @publicApi\n */\nclass FormBuilder {\n group(controlsConfig, options = null) {\n const controls = this._reduceControls(controlsConfig);\n let validators = null;\n let asyncValidators = null;\n let updateOn = undefined;\n if (options != null) {\n if (isAbstractControlOptions(options)) {\n // `options` are `AbstractControlOptions`\n validators = options.validators != null ? options.validators : null;\n asyncValidators = options.asyncValidators != null ? options.asyncValidators : null;\n updateOn = options.updateOn != null ? options.updateOn : undefined;\n }\n else {\n // `options` are legacy form group options\n validators = options['validator'] != null ? options['validator'] : null;\n asyncValidators = options['asyncValidator'] != null ? options['asyncValidator'] : null;\n }\n }\n return new FormGroup(controls, { asyncValidators, updateOn, validators });\n }\n /**\n * @description\n * Construct a new `FormControl` with the given state, validators and options.\n *\n * @param formState Initializes the control with an initial state value, or\n * with an object that contains both a value and a disabled status.\n *\n * @param validatorOrOpts A synchronous validator function, or an array of\n * such functions, or an `AbstractControlOptions` object that contains\n * validation functions and a validation trigger.\n *\n * @param asyncValidator A single async validator or array of async validator\n * functions.\n *\n * @usageNotes\n *\n * ### Initialize a control as disabled\n *\n * The following example returns a control with an initial value in a disabled state.\n *\n * \n * \n */\n control(formState, validatorOrOpts, asyncValidator) {\n return new FormControl(formState, validatorOrOpts, asyncValidator);\n }\n /**\n * Constructs a new `FormArray` from the given array of configurations,\n * validators and options.\n *\n * @param controlsConfig An array of child controls or control configs. Each\n * child control is given an index when it is registered.\n *\n * @param validatorOrOpts A synchronous validator function, or an array of\n * such functions, or an `AbstractControlOptions` object that contains\n * validation functions and a validation trigger.\n *\n * @param asyncValidator A single async validator or array of async validator\n * functions.\n */\n array(controlsConfig, validatorOrOpts, asyncValidator) {\n const controls = controlsConfig.map(c => this._createControl(c));\n return new FormArray(controls, validatorOrOpts, asyncValidator);\n }\n /** @internal */\n _reduceControls(controlsConfig) {\n const controls = {};\n Object.keys(controlsConfig).forEach(controlName => {\n controls[controlName] = this._createControl(controlsConfig[controlName]);\n });\n return controls;\n }\n /** @internal */\n _createControl(controlConfig) {\n if (controlConfig instanceof FormControl || controlConfig instanceof FormGroup ||\n controlConfig instanceof FormArray) {\n return controlConfig;\n }\n else if (Array.isArray(controlConfig)) {\n const value = controlConfig[0];\n const validator = controlConfig.length > 1 ? controlConfig[1] : null;\n const asyncValidator = controlConfig.length > 2 ? controlConfig[2] : null;\n return this.control(value, validator, asyncValidator);\n }\n else {\n return this.control(controlConfig);\n }\n }\n}\nFormBuilder.ɵfac = function FormBuilder_Factory(t) { return new (t || FormBuilder)(); };\nFormBuilder.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: FormBuilder, factory: FormBuilder.ɵfac });\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(FormBuilder, [{\n type: Injectable\n }], null, null); })();\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 * @publicApi\n */\nconst VERSION = new Version('11.0.3');\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 * Exports the required providers and directives for template-driven forms,\n * making them available for import by NgModules that import this module.\n *\n * @see [Forms Overview](/guide/forms-overview)\n * @see [Template-driven Forms Guide](/guide/forms)\n *\n * @publicApi\n */\nclass FormsModule {\n}\nFormsModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: FormsModule });\nFormsModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function FormsModule_Factory(t) { return new (t || FormsModule)(); }, providers: [RadioControlRegistry], imports: [ɵInternalFormsSharedModule] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(FormsModule, { declarations: [NgModel, NgModelGroup, NgForm], exports: [ɵInternalFormsSharedModule, NgModel, NgModelGroup, NgForm] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(FormsModule, [{\n type: NgModule,\n args: [{\n declarations: TEMPLATE_DRIVEN_DIRECTIVES,\n providers: [RadioControlRegistry],\n exports: [ɵInternalFormsSharedModule, TEMPLATE_DRIVEN_DIRECTIVES]\n }]\n }], null, null); })();\n/**\n * Exports the required infrastructure and directives for reactive forms,\n * making them available for import by NgModules that import this module.\n *\n * @see [Forms Overview](guide/forms-overview)\n * @see [Reactive Forms Guide](guide/reactive-forms)\n *\n * @publicApi\n */\nclass ReactiveFormsModule {\n /**\n * @description\n * Provides options for configuring the reactive forms module.\n *\n * @param opts An object of configuration options\n * * `warnOnNgModelWithFormControl` Configures when to emit a warning when an `ngModel`\n * binding is used with reactive form directives.\n */\n static withConfig(opts) {\n return {\n ngModule: ReactiveFormsModule,\n providers: [\n { provide: NG_MODEL_WITH_FORM_CONTROL_WARNING, useValue: opts.warnOnNgModelWithFormControl }\n ]\n };\n }\n}\nReactiveFormsModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: ReactiveFormsModule });\nReactiveFormsModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function ReactiveFormsModule_Factory(t) { return new (t || ReactiveFormsModule)(); }, providers: [FormBuilder, RadioControlRegistry], imports: [ɵInternalFormsSharedModule] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ReactiveFormsModule, { declarations: [FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName], exports: [ɵInternalFormsSharedModule, FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ReactiveFormsModule, [{\n type: NgModule,\n args: [{\n declarations: [REACTIVE_DRIVEN_DIRECTIVES],\n providers: [FormBuilder, RadioControlRegistry],\n exports: [ɵInternalFormsSharedModule, REACTIVE_DRIVEN_DIRECTIVES]\n }]\n }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @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// This file only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AbstractControl, AbstractControlDirective, AbstractFormGroupDirective, COMPOSITION_BUFFER_MODE, CheckboxControlValueAccessor, CheckboxRequiredValidator, ControlContainer, DefaultValueAccessor, EmailValidator, FormArray, FormArrayName, FormBuilder, FormControl, FormControlDirective, FormControlName, FormGroup, FormGroupDirective, FormGroupName, FormsModule, MaxLengthValidator, MinLengthValidator, NG_ASYNC_VALIDATORS, NG_VALIDATORS, NG_VALUE_ACCESSOR, NgControl, NgControlStatus, NgControlStatusGroup, NgForm, NgModel, NgModelGroup, NgSelectOption, NumberValueAccessor, PatternValidator, RadioControlValueAccessor, RangeValueAccessor, ReactiveFormsModule, RequiredValidator, SelectControlValueAccessor, SelectMultipleControlValueAccessor, VERSION, Validators, ɵInternalFormsSharedModule, ɵNgNoValidate, ɵNgSelectMultipleOption, SHARED_FORM_DIRECTIVES as ɵangular_packages_forms_forms_a, TEMPLATE_DRIVEN_DIRECTIVES as ɵangular_packages_forms_forms_b, CHECKBOX_REQUIRED_VALIDATOR as ɵangular_packages_forms_forms_ba, EMAIL_VALIDATOR as ɵangular_packages_forms_forms_bb, MIN_LENGTH_VALIDATOR as ɵangular_packages_forms_forms_bc, MAX_LENGTH_VALIDATOR as ɵangular_packages_forms_forms_bd, PATTERN_VALIDATOR as ɵangular_packages_forms_forms_be, REACTIVE_DRIVEN_DIRECTIVES as ɵangular_packages_forms_forms_c, ɵInternalFormsSharedModule as ɵangular_packages_forms_forms_d, CHECKBOX_VALUE_ACCESSOR as ɵangular_packages_forms_forms_e, DEFAULT_VALUE_ACCESSOR as ɵangular_packages_forms_forms_f, AbstractControlStatus as ɵangular_packages_forms_forms_g, ngControlStatusHost as ɵangular_packages_forms_forms_h, formDirectiveProvider as ɵangular_packages_forms_forms_i, formControlBinding as ɵangular_packages_forms_forms_j, modelGroupProvider as ɵangular_packages_forms_forms_k, NUMBER_VALUE_ACCESSOR as ɵangular_packages_forms_forms_l, RADIO_VALUE_ACCESSOR as ɵangular_packages_forms_forms_m, RadioControlRegistry as ɵangular_packages_forms_forms_n, RANGE_VALUE_ACCESSOR as ɵangular_packages_forms_forms_o, NG_MODEL_WITH_FORM_CONTROL_WARNING as ɵangular_packages_forms_forms_p, formControlBinding$1 as ɵangular_packages_forms_forms_q, controlNameBinding as ɵangular_packages_forms_forms_r, formDirectiveProvider$1 as ɵangular_packages_forms_forms_s, formGroupNameProvider as ɵangular_packages_forms_forms_t, formArrayNameProvider as ɵangular_packages_forms_forms_u, SELECT_VALUE_ACCESSOR as ɵangular_packages_forms_forms_v, SELECT_MULTIPLE_VALUE_ACCESSOR as ɵangular_packages_forms_forms_w, ɵNgSelectMultipleOption as ɵangular_packages_forms_forms_x, ɵNgNoValidate as ɵangular_packages_forms_forms_y, REQUIRED_VALIDATOR as ɵangular_packages_forms_forms_z };\n\n//# sourceMappingURL=forms.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar Subscription_1 = require(\"../Subscription\");\nfunction finalize(callback) {\n return function (source) { return source.lift(new FinallyOperator(callback)); };\n}\nexports.finalize = finalize;\nvar FinallyOperator = (function () {\n function FinallyOperator(callback) {\n this.callback = callback;\n }\n FinallyOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FinallySubscriber(subscriber, this.callback));\n };\n return FinallyOperator;\n}());\nvar FinallySubscriber = (function (_super) {\n __extends(FinallySubscriber, _super);\n function FinallySubscriber(destination, callback) {\n var _this = _super.call(this, destination) || this;\n _this.add(new Subscription_1.Subscription(callback));\n return _this;\n }\n return FinallySubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=finalize.js.map","const ArgumentOutOfRangeErrorImpl = (() => {\n function ArgumentOutOfRangeErrorImpl() {\n Error.call(this);\n this.message = 'argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n return this;\n }\n ArgumentOutOfRangeErrorImpl.prototype = Object.create(Error.prototype);\n return ArgumentOutOfRangeErrorImpl;\n})();\nexport const ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map","import { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function mergeMap(project, resultSelector, concurrent = Number.POSITIVE_INFINITY) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(mergeMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii))), concurrent));\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return (source) => source.lift(new MergeMapOperator(project, concurrent));\n}\nexport class MergeMapOperator {\n constructor(project, concurrent = Number.POSITIVE_INFINITY) {\n this.project = project;\n this.concurrent = concurrent;\n }\n call(observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.concurrent));\n }\n}\nexport class MergeMapSubscriber extends SimpleOuterSubscriber {\n constructor(destination, project, concurrent = Number.POSITIVE_INFINITY) {\n super(destination);\n this.project = project;\n this.concurrent = concurrent;\n this.hasCompleted = false;\n this.buffer = [];\n this.active = 0;\n this.index = 0;\n }\n _next(value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n }\n _tryNext(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result);\n }\n _innerSub(ish) {\n const innerSubscriber = new SimpleInnerSubscriber(this);\n const destination = this.destination;\n destination.add(innerSubscriber);\n const innerSubscription = innerSubscribe(ish, innerSubscriber);\n if (innerSubscription !== innerSubscriber) {\n destination.add(innerSubscription);\n }\n }\n _complete() {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n this.unsubscribe();\n }\n notifyNext(innerValue) {\n this.destination.next(innerValue);\n }\n notifyComplete() {\n const buffer = this.buffer;\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n }\n}\nexport const flatMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { __decorate, __metadata, __param } from 'tslib';\nimport { Directive, ElementRef, NgModule, InjectionToken, defineInjectable, inject, Injectable, Inject, ComponentFactoryResolver, ApplicationRef, SecurityContext, INJECTOR, NgZone, Injector, HostBinding, HostListener, Component } from '@angular/core';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { Subject } from 'rxjs';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { DOCUMENT, CommonModule } from '@angular/common';\n\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/platform-browser';\nimport * as ɵngcc2 from '@angular/common';\n\nconst _c0 = [\"toast-component\", \"\"];\nfunction Toast_button_0_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"button\", 5);\n ɵngcc0.ɵɵlistener(\"click\", function Toast_button_0_Template_button_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ctx_r5.remove(); });\n ɵngcc0.ɵɵelementStart(1, \"span\", 6);\n ɵngcc0.ɵɵtext(2, \"\\u00D7\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction Toast_div_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const ctx_r7 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\"[\", ctx_r7.duplicatesCount + 1, \"]\");\n} }\nfunction Toast_div_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\");\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵtemplate(2, Toast_div_1_ng_container_2_Template, 2, 1, \"ng-container\", 4);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassMap(ctx_r1.options.titleClass);\n ɵngcc0.ɵɵattribute(\"aria-label\", ctx_r1.title);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r1.title, \" \");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r1.duplicatesCount);\n} }\nfunction Toast_div_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", 7);\n} if (rf & 2) {\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassMap(ctx_r2.options.messageClass);\n ɵngcc0.ɵɵproperty(\"innerHTML\", ctx_r2.message, ɵngcc0.ɵɵsanitizeHtml);\n} }\nfunction Toast_div_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 8);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassMap(ctx_r3.options.messageClass);\n ɵngcc0.ɵɵattribute(\"aria-label\", ctx_r3.message);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r3.message, \" \");\n} }\nfunction Toast_div_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\");\n ɵngcc0.ɵɵelement(1, \"div\", 9);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵstyleProp(\"width\", ctx_r4.width + \"%\");\n} }\nfunction ToastNoAnimation_button_1_Template(rf, ctx) { if (rf & 1) {\n const _r6 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"button\", 5);\n ɵngcc0.ɵɵlistener(\"click\", function ToastNoAnimation_button_1_Template_button_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r6); const ctx_r5 = ɵngcc0.ɵɵnextContext(); return ctx_r5.remove(); });\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelementStart(2, \"span\", 6);\n ɵngcc0.ɵɵtext(3, \"\\u00D7\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} }\nfunction ToastNoAnimation_div_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const ctx_r7 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\"[\", ctx_r7.duplicatesCount + 1, \"]\");\n} }\nfunction ToastNoAnimation_div_3_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\");\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵtemplate(2, ToastNoAnimation_div_3_ng_container_2_Template, 2, 1, \"ng-container\", 4);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassMap(ctx_r1.options.titleClass);\n ɵngcc0.ɵɵattribute(\"aria-label\", ctx_r1.title);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\"\\n \", ctx_r1.title, \" \");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r1.duplicatesCount);\n} }\nfunction ToastNoAnimation_div_5_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 7);\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r2 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassMap(ctx_r2.options.messageClass);\n ɵngcc0.ɵɵproperty(\"innerHTML\", ctx_r2.message, ɵngcc0.ɵɵsanitizeHtml);\n} }\nfunction ToastNoAnimation_div_7_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\", 8);\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r3 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵclassMap(ctx_r3.options.messageClass);\n ɵngcc0.ɵɵattribute(\"aria-label\", ctx_r3.message);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\"\\n \", ctx_r3.message, \"\\n \");\n} }\nfunction ToastNoAnimation_div_9_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"div\");\n ɵngcc0.ɵɵtext(1, \"\\n \");\n ɵngcc0.ɵɵelement(2, \"div\", 9);\n ɵngcc0.ɵɵtext(3, \"\\n \");\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r4 = ɵngcc0.ɵɵnextContext();\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵstyleProp(\"width\", ctx_r4.width + \"%\");\n} }\nlet ToastContainerDirective = class ToastContainerDirective {\n constructor(el) {\n this.el = el;\n }\n getContainerElement() {\n return this.el.nativeElement;\n }\n};\nToastContainerDirective.ɵfac = function ToastContainerDirective_Factory(t) { return new (t || ToastContainerDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nToastContainerDirective.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: ToastContainerDirective, selectors: [[\"\", \"toastContainer\", \"\"]], exportAs: [\"toastContainer\"] });\nToastContainerDirective = __decorate([ __metadata(\"design:paramtypes\", [ElementRef])\n], ToastContainerDirective);\nlet ToastContainerModule = class ToastContainerModule {\n};\nToastContainerModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: ToastContainerModule });\nToastContainerModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function ToastContainerModule_Factory(t) { return new (t || ToastContainerModule)(); } });\n\n/**\n * Everything a toast needs to launch\n */\nclass ToastPackage {\n constructor(toastId, config, message, title, toastType, toastRef) {\n this.toastId = toastId;\n this.config = config;\n this.message = message;\n this.title = title;\n this.toastType = toastType;\n this.toastRef = toastRef;\n this._onTap = new Subject();\n this._onAction = new Subject();\n this.toastRef.afterClosed().subscribe(() => {\n this._onAction.complete();\n this._onTap.complete();\n });\n }\n /** Fired on click */\n triggerTap() {\n this._onTap.next();\n if (this.config.tapToDismiss) {\n this._onTap.complete();\n }\n }\n onTap() {\n return this._onTap.asObservable();\n }\n /** available for use in custom toast */\n triggerAction(action) {\n this._onAction.next(action);\n }\n onAction() {\n return this._onAction.asObservable();\n }\n}\nconst DefaultNoComponentGlobalConfig = {\n maxOpened: 0,\n autoDismiss: false,\n newestOnTop: true,\n preventDuplicates: false,\n countDuplicates: false,\n resetTimeoutOnDuplicate: false,\n iconClasses: {\n error: 'toast-error',\n info: 'toast-info',\n success: 'toast-success',\n warning: 'toast-warning',\n },\n // Individual\n closeButton: false,\n disableTimeOut: false,\n timeOut: 5000,\n extendedTimeOut: 1000,\n enableHtml: false,\n progressBar: false,\n toastClass: 'ngx-toastr',\n positionClass: 'toast-top-right',\n titleClass: 'toast-title',\n messageClass: 'toast-message',\n easing: 'ease-in',\n easeTime: 300,\n tapToDismiss: true,\n onActivateTick: false,\n progressAnimation: 'decreasing',\n};\nconst TOAST_CONFIG = new InjectionToken('ToastConfig');\n\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nclass ComponentPortal {\n constructor(component, injector) {\n this.component = component;\n this.injector = injector;\n }\n /** Attach this portal to a host. */\n attach(host, newestOnTop) {\n this._attachedHost = host;\n return host.attach(this, newestOnTop);\n }\n /** Detach this portal from its host */\n detach() {\n const host = this._attachedHost;\n if (host) {\n this._attachedHost = undefined;\n return host.detach();\n }\n }\n /** Whether this portal is attached to a host. */\n get isAttached() {\n return this._attachedHost != null;\n }\n /**\n * Sets the PortalHost reference without performing `attach()`. This is used directly by\n * the PortalHost when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host) {\n this._attachedHost = host;\n }\n}\n/**\n * Partial implementation of PortalHost that only deals with attaching a\n * ComponentPortal\n */\nclass BasePortalHost {\n attach(portal, newestOnTop) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal, newestOnTop);\n }\n detach() {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost();\n }\n this._attachedPortal = undefined;\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = undefined;\n }\n }\n setDisposeFn(fn) {\n this._disposeFn = fn;\n }\n}\n\n/**\n * A PortalHost for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n *\n * This is the only part of the portal core that directly touches the DOM.\n */\nclass DomPortalHost extends BasePortalHost {\n constructor(_hostDomElement, _componentFactoryResolver, _appRef) {\n super();\n this._hostDomElement = _hostDomElement;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n }\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @param portal Portal to be attached\n */\n attachComponentPortal(portal, newestOnTop) {\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(portal.component);\n let componentRef;\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the ChangeDetector for that component to the application (which\n // happens automatically when using a ViewContainer).\n componentRef = componentFactory.create(portal.injector);\n // When creating a component outside of a ViewContainer, we need to manually register\n // its ChangeDetector with the application. This API is unfortunately not yet published\n // in Angular core. The change detector must also be deregistered when the component\n // is destroyed to prevent memory leaks.\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n this._appRef.detachView(componentRef.hostView);\n componentRef.destroy();\n });\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n if (newestOnTop) {\n this._hostDomElement.insertBefore(this._getComponentRootNode(componentRef), this._hostDomElement.firstChild);\n }\n else {\n this._hostDomElement.appendChild(this._getComponentRootNode(componentRef));\n }\n return componentRef;\n }\n /** Gets the root HTMLElement for an instantiated component. */\n _getComponentRootNode(componentRef) {\n return componentRef.hostView.rootNodes[0];\n }\n}\n\n/** Container inside which all toasts will render. */\nlet OverlayContainer = class OverlayContainer {\n constructor(_document) {\n this._document = _document;\n }\n ngOnDestroy() {\n if (this._containerElement && this._containerElement.parentNode) {\n this._containerElement.parentNode.removeChild(this._containerElement);\n }\n }\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement() {\n if (!this._containerElement) {\n this._createContainer();\n }\n return this._containerElement;\n }\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n _createContainer() {\n const container = this._document.createElement('div');\n container.classList.add('overlay-container');\n this._document.body.appendChild(container);\n this._containerElement = container;\n }\n};\nOverlayContainer.ɵfac = function OverlayContainer_Factory(t) { return new (t || OverlayContainer)(ɵngcc0.ɵɵinject(DOCUMENT)); };\nOverlayContainer.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: OverlayContainer, factory: function (t) { return OverlayContainer.ɵfac(t); }, providedIn: 'root' });\nOverlayContainer.ngInjectableDef = defineInjectable({ factory: function OverlayContainer_Factory() { return new OverlayContainer(inject(DOCUMENT)); }, token: OverlayContainer, providedIn: \"root\" });\nOverlayContainer = __decorate([ __param(0, Inject(DOCUMENT)),\n __metadata(\"design:paramtypes\", [Object])\n], OverlayContainer);\n\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nclass OverlayRef {\n constructor(_portalHost) {\n this._portalHost = _portalHost;\n }\n attach(portal, newestOnTop = true) {\n return this._portalHost.attach(portal, newestOnTop);\n }\n /**\n * Detaches an overlay from a portal.\n * @returns Resolves when the overlay has been detached.\n */\n detach() {\n return this._portalHost.detach();\n }\n}\n\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalHost, so any kind of Portal can be loaded into one.\n */\nlet Overlay = class Overlay {\n constructor(_overlayContainer, _componentFactoryResolver, _appRef, _document) {\n this._overlayContainer = _overlayContainer;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n this._document = _document;\n // Namespace panes by overlay container\n this._paneElements = new Map();\n }\n /**\n * Creates an overlay.\n * @returns A reference to the created overlay.\n */\n create(positionClass, overlayContainer) {\n // get existing pane if possible\n return this._createOverlayRef(this.getPaneElement(positionClass, overlayContainer));\n }\n getPaneElement(positionClass = '', overlayContainer) {\n if (!this._paneElements.get(overlayContainer)) {\n this._paneElements.set(overlayContainer, {});\n }\n if (!this._paneElements.get(overlayContainer)[positionClass]) {\n this._paneElements.get(overlayContainer)[positionClass] = this._createPaneElement(positionClass, overlayContainer);\n }\n return this._paneElements.get(overlayContainer)[positionClass];\n }\n /**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @returns Newly-created pane element\n */\n _createPaneElement(positionClass, overlayContainer) {\n const pane = this._document.createElement('div');\n pane.id = 'toast-container';\n pane.classList.add(positionClass);\n pane.classList.add('toast-container');\n if (!overlayContainer) {\n this._overlayContainer.getContainerElement().appendChild(pane);\n }\n else {\n overlayContainer.getContainerElement().appendChild(pane);\n }\n return pane;\n }\n /**\n * Create a DomPortalHost into which the overlay content can be loaded.\n * @param pane The DOM element to turn into a portal host.\n * @returns A portal host for the given DOM element.\n */\n _createPortalHost(pane) {\n return new DomPortalHost(pane, this._componentFactoryResolver, this._appRef);\n }\n /**\n * Creates an OverlayRef for an overlay in the given DOM element.\n * @param pane DOM element for the overlay\n */\n _createOverlayRef(pane) {\n return new OverlayRef(this._createPortalHost(pane));\n }\n};\nOverlay.ɵfac = function Overlay_Factory(t) { return new (t || Overlay)(ɵngcc0.ɵɵinject(OverlayContainer), ɵngcc0.ɵɵinject(ɵngcc0.ComponentFactoryResolver), ɵngcc0.ɵɵinject(ɵngcc0.ApplicationRef), ɵngcc0.ɵɵinject(DOCUMENT)); };\nOverlay.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: Overlay, factory: function (t) { return Overlay.ɵfac(t); }, providedIn: 'root' });\nOverlay.ngInjectableDef = defineInjectable({ factory: function Overlay_Factory() { return new Overlay(inject(OverlayContainer), inject(ComponentFactoryResolver), inject(ApplicationRef), inject(DOCUMENT)); }, token: Overlay, providedIn: \"root\" });\nOverlay = __decorate([ __param(3, Inject(DOCUMENT)),\n __metadata(\"design:paramtypes\", [OverlayContainer,\n ComponentFactoryResolver,\n ApplicationRef, Object])\n], Overlay);\n\n/**\n * Reference to a toast opened via the Toastr service.\n */\nclass ToastRef {\n constructor(_overlayRef) {\n this._overlayRef = _overlayRef;\n /** Count of duplicates of this toast */\n this.duplicatesCount = 0;\n /** Subject for notifying the user that the toast has finished closing. */\n this._afterClosed = new Subject();\n /** triggered when toast is activated */\n this._activate = new Subject();\n /** notifies the toast that it should close before the timeout */\n this._manualClose = new Subject();\n /** notifies the toast that it should reset the timeouts */\n this._resetTimeout = new Subject();\n /** notifies the toast that it should count a duplicate toast */\n this._countDuplicate = new Subject();\n }\n manualClose() {\n this._manualClose.next();\n this._manualClose.complete();\n }\n manualClosed() {\n return this._manualClose.asObservable();\n }\n timeoutReset() {\n return this._resetTimeout.asObservable();\n }\n countDuplicate() {\n return this._countDuplicate.asObservable();\n }\n /**\n * Close the toast.\n */\n close() {\n this._overlayRef.detach();\n this._afterClosed.next();\n this._manualClose.next();\n this._afterClosed.complete();\n this._manualClose.complete();\n this._activate.complete();\n this._resetTimeout.complete();\n this._countDuplicate.complete();\n }\n /** Gets an observable that is notified when the toast is finished closing. */\n afterClosed() {\n return this._afterClosed.asObservable();\n }\n isInactive() {\n return this._activate.isStopped;\n }\n activate() {\n this._activate.next();\n this._activate.complete();\n }\n /** Gets an observable that is notified when the toast has started opening. */\n afterActivate() {\n return this._activate.asObservable();\n }\n /** Reset the toast timouts and count duplicates */\n onDuplicate(resetTimeout, countDuplicate) {\n if (resetTimeout) {\n this._resetTimeout.next();\n }\n if (countDuplicate) {\n this._countDuplicate.next(++this.duplicatesCount);\n }\n }\n}\n/** Custom injector type specifically for instantiating components with a toast. */\nclass ToastInjector {\n constructor(_toastPackage, _parentInjector) {\n this._toastPackage = _toastPackage;\n this._parentInjector = _parentInjector;\n }\n get(token, notFoundValue, flags) {\n if (token === ToastPackage) {\n return this._toastPackage;\n }\n return this._parentInjector.get(token, notFoundValue, flags);\n }\n}\n\nlet ToastrService = class ToastrService {\n constructor(token, overlay, _injector, sanitizer, ngZone) {\n this.overlay = overlay;\n this._injector = _injector;\n this.sanitizer = sanitizer;\n this.ngZone = ngZone;\n this.currentlyActive = 0;\n this.toasts = [];\n this.index = 0;\n this.toastrConfig = Object.assign({}, token.default, token.config);\n if (token.config.iconClasses) {\n this.toastrConfig.iconClasses = Object.assign({}, token.default.iconClasses, token.config.iconClasses);\n }\n }\n /** show toast */\n show(message, title, override = {}, type = '') {\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show successful toast */\n success(message, title, override = {}) {\n const type = this.toastrConfig.iconClasses.success || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show error toast */\n error(message, title, override = {}) {\n const type = this.toastrConfig.iconClasses.error || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show info toast */\n info(message, title, override = {}) {\n const type = this.toastrConfig.iconClasses.info || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /** show warning toast */\n warning(message, title, override = {}) {\n const type = this.toastrConfig.iconClasses.warning || '';\n return this._preBuildNotification(type, message, title, this.applyConfig(override));\n }\n /**\n * Remove all or a single toast by id\n */\n clear(toastId) {\n // Call every toastRef manualClose function\n for (const toast of this.toasts) {\n if (toastId !== undefined) {\n if (toast.toastId === toastId) {\n toast.toastRef.manualClose();\n return;\n }\n }\n else {\n toast.toastRef.manualClose();\n }\n }\n }\n /**\n * Remove and destroy a single toast by id\n */\n remove(toastId) {\n const found = this._findToast(toastId);\n if (!found) {\n return false;\n }\n found.activeToast.toastRef.close();\n this.toasts.splice(found.index, 1);\n this.currentlyActive = this.currentlyActive - 1;\n if (!this.toastrConfig.maxOpened || !this.toasts.length) {\n return false;\n }\n if (this.currentlyActive < this.toastrConfig.maxOpened &&\n this.toasts[this.currentlyActive]) {\n const p = this.toasts[this.currentlyActive].toastRef;\n if (!p.isInactive()) {\n this.currentlyActive = this.currentlyActive + 1;\n p.activate();\n }\n }\n return true;\n }\n /**\n * Determines if toast message is already shown\n */\n findDuplicate(message, resetOnDuplicate, countDuplicates) {\n for (let i = 0; i < this.toasts.length; i++) {\n const toast = this.toasts[i];\n if (toast.message === message) {\n toast.toastRef.onDuplicate(resetOnDuplicate, countDuplicates);\n return toast;\n }\n }\n return null;\n }\n /** create a clone of global config and apply individual settings */\n applyConfig(override = {}) {\n return Object.assign({}, this.toastrConfig, override);\n }\n /**\n * Find toast object by id\n */\n _findToast(toastId) {\n for (let i = 0; i < this.toasts.length; i++) {\n if (this.toasts[i].toastId === toastId) {\n return { index: i, activeToast: this.toasts[i] };\n }\n }\n return null;\n }\n /**\n * Determines the need to run inside angular's zone then builds the toast\n */\n _preBuildNotification(toastType, message, title, config) {\n if (config.onActivateTick) {\n return this.ngZone.run(() => this._buildNotification(toastType, message, title, config));\n }\n return this._buildNotification(toastType, message, title, config);\n }\n /**\n * Creates and attaches toast data to component\n * returns the active toast, or in case preventDuplicates is enabled the original/non-duplicate active toast.\n */\n _buildNotification(toastType, message, title, config) {\n if (!config.toastComponent) {\n throw new Error('toastComponent required');\n }\n // max opened and auto dismiss = true\n const duplicate = this.findDuplicate(message, this.toastrConfig.resetTimeoutOnDuplicate, this.toastrConfig.countDuplicates);\n if (message && this.toastrConfig.preventDuplicates && duplicate !== null) {\n return duplicate;\n }\n this.previousToastMessage = message;\n let keepInactive = false;\n if (this.toastrConfig.maxOpened &&\n this.currentlyActive >= this.toastrConfig.maxOpened) {\n keepInactive = true;\n if (this.toastrConfig.autoDismiss) {\n this.clear(this.toasts[0].toastId);\n }\n }\n const overlayRef = this.overlay.create(config.positionClass, this.overlayContainer);\n this.index = this.index + 1;\n let sanitizedMessage = message;\n if (message && config.enableHtml) {\n sanitizedMessage = this.sanitizer.sanitize(SecurityContext.HTML, message);\n }\n const toastRef = new ToastRef(overlayRef);\n const toastPackage = new ToastPackage(this.index, config, sanitizedMessage, title, toastType, toastRef);\n const toastInjector = new ToastInjector(toastPackage, this._injector);\n const component = new ComponentPortal(config.toastComponent, toastInjector);\n const portal = overlayRef.attach(component, this.toastrConfig.newestOnTop);\n toastRef.componentInstance = portal._component;\n const ins = {\n toastId: this.index,\n message: message || '',\n toastRef,\n onShown: toastRef.afterActivate(),\n onHidden: toastRef.afterClosed(),\n onTap: toastPackage.onTap(),\n onAction: toastPackage.onAction(),\n portal\n };\n if (!keepInactive) {\n setTimeout(() => {\n ins.toastRef.activate();\n this.currentlyActive = this.currentlyActive + 1;\n });\n }\n this.toasts.push(ins);\n return ins;\n }\n};\nToastrService.ɵfac = function ToastrService_Factory(t) { return new (t || ToastrService)(ɵngcc0.ɵɵinject(TOAST_CONFIG), ɵngcc0.ɵɵinject(Overlay), ɵngcc0.ɵɵinject(ɵngcc0.Injector), ɵngcc0.ɵɵinject(ɵngcc1.DomSanitizer), ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\nToastrService.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: ToastrService, factory: function (t) { return ToastrService.ɵfac(t); }, providedIn: 'root' });\nToastrService.ngInjectableDef = defineInjectable({ factory: function ToastrService_Factory() { return new ToastrService(inject(TOAST_CONFIG), inject(Overlay), inject(INJECTOR), inject(DomSanitizer), inject(NgZone)); }, token: ToastrService, providedIn: \"root\" });\nToastrService = __decorate([ __param(0, Inject(TOAST_CONFIG)),\n __metadata(\"design:paramtypes\", [Object, Overlay,\n Injector,\n DomSanitizer,\n NgZone])\n], ToastrService);\n\nlet Toast = class Toast {\n constructor(toastrService, toastPackage, ngZone) {\n this.toastrService = toastrService;\n this.toastPackage = toastPackage;\n this.ngZone = ngZone;\n /** width of progress bar */\n this.width = -1;\n /** a combination of toast type and options.toastClass */\n this.toastClasses = '';\n /** controls animation */\n this.state = {\n value: 'inactive',\n params: {\n easeTime: this.toastPackage.config.easeTime,\n easing: 'ease-in'\n }\n };\n this.message = toastPackage.message;\n this.title = toastPackage.title;\n this.options = toastPackage.config;\n this.originalTimeout = toastPackage.config.timeOut;\n this.toastClasses = `${toastPackage.toastType} ${toastPackage.config.toastClass}`;\n this.sub = toastPackage.toastRef.afterActivate().subscribe(() => {\n this.activateToast();\n });\n this.sub1 = toastPackage.toastRef.manualClosed().subscribe(() => {\n this.remove();\n });\n this.sub2 = toastPackage.toastRef.timeoutReset().subscribe(() => {\n this.resetTimeout();\n });\n this.sub3 = toastPackage.toastRef.countDuplicate().subscribe(count => {\n this.duplicatesCount = count;\n });\n }\n /** hides component when waiting to be displayed */\n get displayStyle() {\n if (this.state.value === 'inactive') {\n return 'none';\n }\n return 'inherit';\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n this.sub1.unsubscribe();\n this.sub2.unsubscribe();\n this.sub3.unsubscribe();\n clearInterval(this.intervalId);\n clearTimeout(this.timeout);\n }\n /**\n * activates toast and sets timeout\n */\n activateToast() {\n this.state = Object.assign({}, this.state, { value: 'active' });\n if (!this.options.disableTimeOut && this.options.timeOut) {\n this.outsideTimeout(() => this.remove(), this.options.timeOut);\n this.hideTime = new Date().getTime() + this.options.timeOut;\n if (this.options.progressBar) {\n this.outsideInterval(() => this.updateProgress(), 10);\n }\n }\n }\n /**\n * updates progress bar width\n */\n updateProgress() {\n if (this.width === 0 || this.width === 100 || !this.options.timeOut) {\n return;\n }\n const now = new Date().getTime();\n const remaining = this.hideTime - now;\n this.width = (remaining / this.options.timeOut) * 100;\n if (this.options.progressAnimation === 'increasing') {\n this.width = 100 - this.width;\n }\n if (this.width <= 0) {\n this.width = 0;\n }\n if (this.width >= 100) {\n this.width = 100;\n }\n }\n resetTimeout() {\n clearTimeout(this.timeout);\n clearInterval(this.intervalId);\n this.state = Object.assign({}, this.state, { value: 'active' });\n this.outsideTimeout(() => this.remove(), this.originalTimeout);\n this.options.timeOut = this.originalTimeout;\n this.hideTime = new Date().getTime() + (this.options.timeOut || 0);\n this.width = -1;\n if (this.options.progressBar) {\n this.outsideInterval(() => this.updateProgress(), 10);\n }\n }\n /**\n * tells toastrService to remove this toast after animation time\n */\n remove() {\n if (this.state.value === 'removed') {\n return;\n }\n clearTimeout(this.timeout);\n this.state = Object.assign({}, this.state, { value: 'removed' });\n this.outsideTimeout(() => this.toastrService.remove(this.toastPackage.toastId), +this.toastPackage.config.easeTime);\n }\n tapToast() {\n if (this.state.value === 'removed') {\n return;\n }\n this.toastPackage.triggerTap();\n if (this.options.tapToDismiss) {\n this.remove();\n }\n }\n stickAround() {\n if (this.state.value === 'removed') {\n return;\n }\n clearTimeout(this.timeout);\n this.options.timeOut = 0;\n this.hideTime = 0;\n // disable progressBar\n clearInterval(this.intervalId);\n this.width = 0;\n }\n delayedHideToast() {\n if (this.options.disableTimeOut ||\n this.options.extendedTimeOut === 0 ||\n this.state.value === 'removed') {\n return;\n }\n this.outsideTimeout(() => this.remove(), this.options.extendedTimeOut);\n this.options.timeOut = this.options.extendedTimeOut;\n this.hideTime = new Date().getTime() + (this.options.timeOut || 0);\n this.width = -1;\n if (this.options.progressBar) {\n this.outsideInterval(() => this.updateProgress(), 10);\n }\n }\n outsideTimeout(func, timeout) {\n if (this.ngZone) {\n this.ngZone.runOutsideAngular(() => (this.timeout = setTimeout(() => this.runInsideAngular(func), timeout)));\n }\n else {\n this.timeout = setTimeout(() => func(), timeout);\n }\n }\n outsideInterval(func, timeout) {\n if (this.ngZone) {\n this.ngZone.runOutsideAngular(() => (this.intervalId = setInterval(() => this.runInsideAngular(func), timeout)));\n }\n else {\n this.intervalId = setInterval(() => func(), timeout);\n }\n }\n runInsideAngular(func) {\n if (this.ngZone) {\n this.ngZone.run(() => func());\n }\n else {\n func();\n }\n }\n};\nToast.ɵfac = function Toast_Factory(t) { return new (t || Toast)(ɵngcc0.ɵɵdirectiveInject(ToastrService), ɵngcc0.ɵɵdirectiveInject(ToastPackage), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone)); };\nToast.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: Toast, selectors: [[\"\", \"toast-component\", \"\"]], hostVars: 5, hostBindings: function Toast_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function Toast_click_HostBindingHandler() { return ctx.tapToast(); })(\"mouseenter\", function Toast_mouseenter_HostBindingHandler() { return ctx.stickAround(); })(\"mouseleave\", function Toast_mouseleave_HostBindingHandler() { return ctx.delayedHideToast(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵsyntheticHostProperty(\"@flyInOut\", ctx.state);\n ɵngcc0.ɵɵclassMap(ctx.toastClasses);\n ɵngcc0.ɵɵstyleProp(\"display\", ctx.displayStyle);\n } }, attrs: _c0, decls: 5, vars: 5, consts: [[\"class\", \"toast-close-button\", \"aria-label\", \"Close\", 3, \"click\", 4, \"ngIf\"], [3, \"class\", 4, \"ngIf\"], [\"role\", \"alertdialog\", \"aria-live\", \"polite\", 3, \"class\", \"innerHTML\", 4, \"ngIf\"], [\"role\", \"alertdialog\", \"aria-live\", \"polite\", 3, \"class\", 4, \"ngIf\"], [4, \"ngIf\"], [\"aria-label\", \"Close\", 1, \"toast-close-button\", 3, \"click\"], [\"aria-hidden\", \"true\"], [\"role\", \"alertdialog\", \"aria-live\", \"polite\", 3, \"innerHTML\"], [\"role\", \"alertdialog\", \"aria-live\", \"polite\"], [1, \"toast-progress\"]], template: function Toast_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtemplate(0, Toast_button_0_Template, 3, 0, \"button\", 0);\n ɵngcc0.ɵɵtemplate(1, Toast_div_1_Template, 3, 5, \"div\", 1);\n ɵngcc0.ɵɵtemplate(2, Toast_div_2_Template, 1, 3, \"div\", 2);\n ɵngcc0.ɵɵtemplate(3, Toast_div_3_Template, 2, 4, \"div\", 3);\n ɵngcc0.ɵɵtemplate(4, Toast_div_4_Template, 2, 2, \"div\", 4);\n } if (rf & 2) {\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.options.closeButton);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.title);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.message && ctx.options.enableHtml);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.message && !ctx.options.enableHtml);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.options.progressBar);\n } }, directives: [ɵngcc2.NgIf], encapsulation: 2, data: { animation: [\n trigger('flyInOut', [\n state('inactive', style({ opacity: 0 })),\n state('active', style({ opacity: 1 })),\n state('removed', style({ opacity: 0 })),\n transition('inactive => active', animate('{{ easeTime }}ms {{ easing }}')),\n transition('active => removed', animate('{{ easeTime }}ms {{ easing }}'))\n ])\n ] } });\n__decorate([\n HostBinding('class'),\n __metadata(\"design:type\", Object)\n], Toast.prototype, \"toastClasses\", void 0);\n__decorate([\n HostBinding('@flyInOut'),\n __metadata(\"design:type\", Object)\n], Toast.prototype, \"state\", void 0);\n__decorate([\n HostBinding('style.display'),\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], Toast.prototype, \"displayStyle\", null);\n__decorate([\n HostListener('click'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], Toast.prototype, \"tapToast\", null);\n__decorate([\n HostListener('mouseenter'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], Toast.prototype, \"stickAround\", null);\n__decorate([\n HostListener('mouseleave'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], Toast.prototype, \"delayedHideToast\", null);\nToast = __decorate([ __metadata(\"design:paramtypes\", [ToastrService,\n ToastPackage,\n NgZone])\n], Toast);\n\nvar ToastrModule_1;\nconst DefaultGlobalConfig = Object.assign({}, DefaultNoComponentGlobalConfig, { toastComponent: Toast });\nlet ToastrModule = ToastrModule_1 = class ToastrModule {\n static forRoot(config = {}) {\n return {\n ngModule: ToastrModule_1,\n providers: [\n {\n provide: TOAST_CONFIG,\n useValue: {\n default: DefaultGlobalConfig,\n config,\n },\n },\n ],\n };\n }\n};\nToastrModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: ToastrModule });\nToastrModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function ToastrModule_Factory(t) { return new (t || ToastrModule)(); }, imports: [[CommonModule]] });\nlet ToastrComponentlessModule = class ToastrComponentlessModule {\n static forRoot(config = {}) {\n return {\n ngModule: ToastrModule,\n providers: [\n {\n provide: TOAST_CONFIG,\n useValue: {\n default: DefaultNoComponentGlobalConfig,\n config,\n },\n },\n ],\n };\n }\n};\nToastrComponentlessModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: ToastrComponentlessModule });\nToastrComponentlessModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function ToastrComponentlessModule_Factory(t) { return new (t || ToastrComponentlessModule)(); }, imports: [[CommonModule]] });\n\nvar ToastNoAnimationModule_1;\nlet ToastNoAnimation = class ToastNoAnimation {\n constructor(toastrService, toastPackage, appRef) {\n this.toastrService = toastrService;\n this.toastPackage = toastPackage;\n this.appRef = appRef;\n /** width of progress bar */\n this.width = -1;\n /** a combination of toast type and options.toastClass */\n this.toastClasses = '';\n /** controls animation */\n this.state = 'inactive';\n this.message = toastPackage.message;\n this.title = toastPackage.title;\n this.options = toastPackage.config;\n this.originalTimeout = toastPackage.config.timeOut;\n this.toastClasses = `${toastPackage.toastType} ${toastPackage.config.toastClass}`;\n this.sub = toastPackage.toastRef.afterActivate().subscribe(() => {\n this.activateToast();\n });\n this.sub1 = toastPackage.toastRef.manualClosed().subscribe(() => {\n this.remove();\n });\n this.sub2 = toastPackage.toastRef.timeoutReset().subscribe(() => {\n this.resetTimeout();\n });\n this.sub3 = toastPackage.toastRef.countDuplicate().subscribe(count => {\n this.duplicatesCount = count;\n });\n }\n /** hides component when waiting to be displayed */\n get displayStyle() {\n if (this.state === 'inactive') {\n return 'none';\n }\n return 'inherit';\n }\n ngOnDestroy() {\n this.sub.unsubscribe();\n this.sub1.unsubscribe();\n this.sub2.unsubscribe();\n this.sub3.unsubscribe();\n clearInterval(this.intervalId);\n clearTimeout(this.timeout);\n }\n /**\n * activates toast and sets timeout\n */\n activateToast() {\n this.state = 'active';\n if (!this.options.disableTimeOut && this.options.timeOut) {\n this.timeout = setTimeout(() => {\n this.remove();\n }, this.options.timeOut);\n this.hideTime = new Date().getTime() + this.options.timeOut;\n if (this.options.progressBar) {\n this.intervalId = setInterval(() => this.updateProgress(), 10);\n }\n }\n if (this.options.onActivateTick) {\n this.appRef.tick();\n }\n }\n /**\n * updates progress bar width\n */\n updateProgress() {\n if (this.width === 0 || this.width === 100 || !this.options.timeOut) {\n return;\n }\n const now = new Date().getTime();\n const remaining = this.hideTime - now;\n this.width = (remaining / this.options.timeOut) * 100;\n if (this.options.progressAnimation === 'increasing') {\n this.width = 100 - this.width;\n }\n if (this.width <= 0) {\n this.width = 0;\n }\n if (this.width >= 100) {\n this.width = 100;\n }\n }\n resetTimeout() {\n clearTimeout(this.timeout);\n clearInterval(this.intervalId);\n this.state = 'active';\n this.options.timeOut = this.originalTimeout;\n this.timeout = setTimeout(() => this.remove(), this.originalTimeout);\n this.hideTime = new Date().getTime() + (this.originalTimeout || 0);\n this.width = -1;\n if (this.options.progressBar) {\n this.intervalId = setInterval(() => this.updateProgress(), 10);\n }\n }\n /**\n * tells toastrService to remove this toast after animation time\n */\n remove() {\n if (this.state === 'removed') {\n return;\n }\n clearTimeout(this.timeout);\n this.state = 'removed';\n this.timeout = setTimeout(() => this.toastrService.remove(this.toastPackage.toastId));\n }\n tapToast() {\n if (this.state === 'removed') {\n return;\n }\n this.toastPackage.triggerTap();\n if (this.options.tapToDismiss) {\n this.remove();\n }\n }\n stickAround() {\n if (this.state === 'removed') {\n return;\n }\n clearTimeout(this.timeout);\n this.options.timeOut = 0;\n this.hideTime = 0;\n // disable progressBar\n clearInterval(this.intervalId);\n this.width = 0;\n }\n delayedHideToast() {\n if (this.options.disableTimeOut ||\n this.options.extendedTimeOut === 0 ||\n this.state === 'removed') {\n return;\n }\n this.timeout = setTimeout(() => this.remove(), this.options.extendedTimeOut);\n this.options.timeOut = this.options.extendedTimeOut;\n this.hideTime = new Date().getTime() + (this.options.timeOut || 0);\n this.width = -1;\n if (this.options.progressBar) {\n this.intervalId = setInterval(() => this.updateProgress(), 10);\n }\n }\n};\nToastNoAnimation.ɵfac = function ToastNoAnimation_Factory(t) { return new (t || ToastNoAnimation)(ɵngcc0.ɵɵdirectiveInject(ToastrService), ɵngcc0.ɵɵdirectiveInject(ToastPackage), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ApplicationRef)); };\nToastNoAnimation.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: ToastNoAnimation, selectors: [[\"\", \"toast-component\", \"\"]], hostVars: 4, hostBindings: function ToastNoAnimation_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"click\", function ToastNoAnimation_click_HostBindingHandler() { return ctx.tapToast(); })(\"mouseenter\", function ToastNoAnimation_mouseenter_HostBindingHandler() { return ctx.stickAround(); })(\"mouseleave\", function ToastNoAnimation_mouseleave_HostBindingHandler() { return ctx.delayedHideToast(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵclassMap(ctx.toastClasses);\n ɵngcc0.ɵɵstyleProp(\"display\", ctx.displayStyle);\n } }, attrs: _c0, decls: 11, vars: 5, consts: [[\"class\", \"toast-close-button\", \"aria-label\", \"Close\", 3, \"click\", 4, \"ngIf\"], [3, \"class\", 4, \"ngIf\"], [\"role\", \"alert\", \"aria-live\", \"polite\", 3, \"class\", \"innerHTML\", 4, \"ngIf\"], [\"role\", \"alert\", \"aria-live\", \"polite\", 3, \"class\", 4, \"ngIf\"], [4, \"ngIf\"], [\"aria-label\", \"Close\", 1, \"toast-close-button\", 3, \"click\"], [\"aria-hidden\", \"true\"], [\"role\", \"alert\", \"aria-live\", \"polite\", 3, \"innerHTML\"], [\"role\", \"alert\", \"aria-live\", \"polite\"], [1, \"toast-progress\"]], template: function ToastNoAnimation_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵtext(0, \"\\n \");\n ɵngcc0.ɵɵtemplate(1, ToastNoAnimation_button_1_Template, 5, 0, \"button\", 0);\n ɵngcc0.ɵɵtext(2, \"\\n \");\n ɵngcc0.ɵɵtemplate(3, ToastNoAnimation_div_3_Template, 4, 5, \"div\", 1);\n ɵngcc0.ɵɵtext(4, \"\\n \");\n ɵngcc0.ɵɵtemplate(5, ToastNoAnimation_div_5_Template, 2, 3, \"div\", 2);\n ɵngcc0.ɵɵtext(6, \"\\n \");\n ɵngcc0.ɵɵtemplate(7, ToastNoAnimation_div_7_Template, 2, 4, \"div\", 3);\n ɵngcc0.ɵɵtext(8, \"\\n \");\n ɵngcc0.ɵɵtemplate(9, ToastNoAnimation_div_9_Template, 4, 2, \"div\", 4);\n ɵngcc0.ɵɵtext(10, \"\\n \");\n } if (rf & 2) {\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.options.closeButton);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.title);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.message && ctx.options.enableHtml);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.message && !ctx.options.enableHtml);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx.options.progressBar);\n } }, directives: [ɵngcc2.NgIf], encapsulation: 2 });\n__decorate([\n HostBinding('class'),\n __metadata(\"design:type\", Object)\n], ToastNoAnimation.prototype, \"toastClasses\", void 0);\n__decorate([\n HostBinding('style.display'),\n __metadata(\"design:type\", Object),\n __metadata(\"design:paramtypes\", [])\n], ToastNoAnimation.prototype, \"displayStyle\", null);\n__decorate([\n HostListener('click'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], ToastNoAnimation.prototype, \"tapToast\", null);\n__decorate([\n HostListener('mouseenter'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], ToastNoAnimation.prototype, \"stickAround\", null);\n__decorate([\n HostListener('mouseleave'),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], ToastNoAnimation.prototype, \"delayedHideToast\", null);\nToastNoAnimation = __decorate([ __metadata(\"design:paramtypes\", [ToastrService,\n ToastPackage,\n ApplicationRef])\n], ToastNoAnimation);\nconst DefaultNoAnimationsGlobalConfig = Object.assign({}, DefaultNoComponentGlobalConfig, { toastComponent: ToastNoAnimation });\nlet ToastNoAnimationModule = ToastNoAnimationModule_1 = class ToastNoAnimationModule {\n static forRoot(config = {}) {\n return {\n ngModule: ToastNoAnimationModule_1,\n providers: [\n {\n provide: TOAST_CONFIG,\n useValue: {\n default: DefaultNoAnimationsGlobalConfig,\n config,\n },\n },\n ],\n };\n }\n};\nToastNoAnimationModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: ToastNoAnimationModule });\nToastNoAnimationModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function ToastNoAnimationModule_Factory(t) { return new (t || ToastNoAnimationModule)(); }, imports: [[CommonModule]] });\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ToastContainerDirective, [{\n type: Directive,\n args: [{\n selector: '[toastContainer]',\n exportAs: 'toastContainer'\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ToastContainerModule, { declarations: [ToastContainerDirective], exports: [ToastContainerDirective] }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ToastContainerModule, [{\n type: NgModule,\n args: [{\n declarations: [ToastContainerDirective],\n exports: [ToastContainerDirective]\n }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(OverlayContainer, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: Object, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(Overlay, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: OverlayContainer }, { type: ɵngcc0.ComponentFactoryResolver }, { type: ɵngcc0.ApplicationRef }, { type: Object, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ToastrService, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return [{ type: Object, decorators: [{\n type: Inject,\n args: [TOAST_CONFIG]\n }] }, { type: Overlay }, { type: ɵngcc0.Injector }, { type: ɵngcc1.DomSanitizer }, { type: ɵngcc0.NgZone }]; }, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(Toast, [{\n type: Component,\n args: [{\n selector: '[toast-component]',\n template: `\n \n ×\n \n \n {{ title }} [{{ duplicatesCount + 1 }}]\n \n \n \n \n {{ message }}\n \n \n \n \n `,\n animations: [\n trigger('flyInOut', [\n state('inactive', style({ opacity: 0 })),\n state('active', style({ opacity: 1 })),\n state('removed', style({ opacity: 0 })),\n transition('inactive => active', animate('{{ easeTime }}ms {{ easing }}')),\n transition('active => removed', animate('{{ easeTime }}ms {{ easing }}'))\n ])\n ],\n preserveWhitespaces: false\n }]\n }], function () { return [{ type: ToastrService }, { type: ToastPackage }, { type: ɵngcc0.NgZone }]; }, { toastClasses: [{\n type: HostBinding,\n args: ['class']\n }], state: [{\n type: HostBinding,\n args: ['@flyInOut']\n }], displayStyle: [{\n type: HostBinding,\n args: ['style.display']\n }], tapToast: [{\n type: HostListener,\n args: ['click']\n }], stickAround: [{\n type: HostListener,\n args: ['mouseenter']\n }], delayedHideToast: [{\n type: HostListener,\n args: ['mouseleave']\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ToastrModule, { declarations: function () { return [Toast]; }, imports: function () { return [CommonModule]; }, exports: function () { return [Toast]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ToastrModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n declarations: [Toast],\n exports: [Toast],\n entryComponents: [Toast]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ToastrComponentlessModule, { imports: function () { return [CommonModule]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ToastrComponentlessModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule]\n }]\n }], null, null); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ToastNoAnimation, [{\n type: Component,\n args: [{\n selector: '[toast-component]',\n template: `\n \n ×\n \n \n {{ title }} [{{ duplicatesCount + 1 }}]\n \n \n \n \n {{ message }}\n \n \n \n \n `\n }]\n }], function () { return [{ type: ToastrService }, { type: ToastPackage }, { type: ɵngcc0.ApplicationRef }]; }, { toastClasses: [{\n type: HostBinding,\n args: ['class']\n }], displayStyle: [{\n type: HostBinding,\n args: ['style.display']\n }], tapToast: [{\n type: HostListener,\n args: ['click']\n }], stickAround: [{\n type: HostListener,\n args: ['mouseenter']\n }], delayedHideToast: [{\n type: HostListener,\n args: ['mouseleave']\n }] }); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(ToastNoAnimationModule, { declarations: function () { return [ToastNoAnimation]; }, imports: function () { return [CommonModule]; }, exports: function () { return [ToastNoAnimation]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ToastNoAnimationModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n declarations: [ToastNoAnimation],\n exports: [ToastNoAnimation],\n entryComponents: [ToastNoAnimation]\n }]\n }], null, null); })();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BasePortalHost, ComponentPortal, DefaultGlobalConfig, DefaultNoAnimationsGlobalConfig, DefaultNoComponentGlobalConfig, Overlay, OverlayContainer, OverlayRef, TOAST_CONFIG, Toast, ToastContainerDirective, ToastContainerModule, ToastInjector, ToastNoAnimation, ToastNoAnimationModule, ToastPackage, ToastRef, ToastrComponentlessModule, ToastrModule, ToastrService };\n\n//# sourceMappingURL=ngx-toastr.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar subscribeToArray_1 = require(\"./subscribeToArray\");\nvar subscribeToPromise_1 = require(\"./subscribeToPromise\");\nvar subscribeToIterable_1 = require(\"./subscribeToIterable\");\nvar subscribeToObservable_1 = require(\"./subscribeToObservable\");\nvar isArrayLike_1 = require(\"./isArrayLike\");\nvar isPromise_1 = require(\"./isPromise\");\nvar isObject_1 = require(\"./isObject\");\nvar iterator_1 = require(\"../symbol/iterator\");\nvar observable_1 = require(\"../symbol/observable\");\nexports.subscribeTo = function (result) {\n if (!!result && typeof result[observable_1.observable] === 'function') {\n return subscribeToObservable_1.subscribeToObservable(result);\n }\n else if (isArrayLike_1.isArrayLike(result)) {\n return subscribeToArray_1.subscribeToArray(result);\n }\n else if (isPromise_1.isPromise(result)) {\n return subscribeToPromise_1.subscribeToPromise(result);\n }\n else if (!!result && typeof result[iterator_1.iterator] === 'function') {\n return subscribeToIterable_1.subscribeToIterable(result);\n }\n else {\n var value = isObject_1.isObject(result) ? 'an invalid object' : \"'\" + result + \"'\";\n var msg = \"You provided \" + value + \" where a stream was expected.\"\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n//# sourceMappingURL=subscribeTo.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subject_1 = require(\"./Subject\");\nvar ObjectUnsubscribedError_1 = require(\"./util/ObjectUnsubscribedError\");\nvar BehaviorSubject = (function (_super) {\n __extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: true,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, this._value = value);\n };\n return BehaviorSubject;\n}(Subject_1.Subject));\nexports.BehaviorSubject = BehaviorSubject;\n//# sourceMappingURL=BehaviorSubject.js.map","import { isFunction } from './util/isFunction';\nimport { empty as emptyObserver } from './Observer';\nimport { Subscription } from './Subscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nimport { config } from './config';\nimport { hostReportError } from './util/hostReportError';\nexport class Subscriber extends Subscription {\n constructor(destinationOrNext, error, complete) {\n super();\n this.syncErrorValue = null;\n this.syncErrorThrown = false;\n this.syncErrorThrowable = false;\n this.isStopped = false;\n switch (arguments.length) {\n case 0:\n this.destination = emptyObserver;\n break;\n case 1:\n if (!destinationOrNext) {\n this.destination = emptyObserver;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n this.destination = destinationOrNext;\n destinationOrNext.add(this);\n }\n else {\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext);\n }\n break;\n }\n default:\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n break;\n }\n }\n [rxSubscriberSymbol]() { return this; }\n static create(next, error, complete) {\n const subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n }\n next(value) {\n if (!this.isStopped) {\n this._next(value);\n }\n }\n error(err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n super.unsubscribe();\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n this.destination.error(err);\n this.unsubscribe();\n }\n _complete() {\n this.destination.complete();\n this.unsubscribe();\n }\n _unsubscribeAndRecycle() {\n const { _parentOrParents } = this;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(_parentSubscriber, observerOrNext, error, complete) {\n super();\n this._parentSubscriber = _parentSubscriber;\n let next;\n let context = this;\n if (isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== emptyObserver) {\n context = Object.create(observerOrNext);\n if (isFunction(context.unsubscribe)) {\n this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = this.unsubscribe.bind(this);\n }\n }\n this._context = context;\n this._next = next;\n this._error = error;\n this._complete = complete;\n }\n next(value) {\n if (!this.isStopped && this._next) {\n const { _parentSubscriber } = this;\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n }\n error(err) {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n const { useDeprecatedSynchronousErrorHandling } = config;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n }\n complete() {\n if (!this.isStopped) {\n const { _parentSubscriber } = this;\n if (this._complete) {\n const wrappedComplete = () => this._complete.call(this._context);\n if (!config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n }\n __tryOrUnsub(fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError(err);\n }\n }\n }\n __tryOrSetError(parent, fn, value) {\n if (!config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError(err);\n return true;\n }\n }\n return false;\n }\n _unsubscribe() {\n const { _parentSubscriber } = this;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscriber.js.map","import { ɵɵdefineInjectable, Injectable, Component, Directive, TemplateRef, Input, NgModule } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { CommonModule } from '@angular/common';\n\nimport * as ɵngcc0 from '@angular/core';\n\nconst _c0 = [\"*\"];\nclass PrimeNGConfig {\n constructor() {\n this.ripple = false;\n }\n}\nPrimeNGConfig.ɵfac = function PrimeNGConfig_Factory(t) { return new (t || PrimeNGConfig)(); };\nPrimeNGConfig.ɵprov = ɵɵdefineInjectable({ factory: function PrimeNGConfig_Factory() { return new PrimeNGConfig(); }, token: PrimeNGConfig, providedIn: \"root\" });\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(PrimeNGConfig, [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], function () { return []; }, null); })();\n\nclass ConfirmationService {\n constructor() {\n this.requireConfirmationSource = new Subject();\n this.acceptConfirmationSource = new Subject();\n this.requireConfirmation$ = this.requireConfirmationSource.asObservable();\n this.accept = this.acceptConfirmationSource.asObservable();\n }\n confirm(confirmation) {\n this.requireConfirmationSource.next(confirmation);\n return this;\n }\n close() {\n this.requireConfirmationSource.next(null);\n return this;\n }\n onAccept() {\n this.acceptConfirmationSource.next();\n }\n}\nConfirmationService.ɵfac = function ConfirmationService_Factory(t) { return new (t || ConfirmationService)(); };\nConfirmationService.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: ConfirmationService, factory: ConfirmationService.ɵfac });\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(ConfirmationService, [{\n type: Injectable\n }], function () { return []; }, null); })();\n\nclass MessageService {\n constructor() {\n this.messageSource = new Subject();\n this.clearSource = new Subject();\n this.messageObserver = this.messageSource.asObservable();\n this.clearObserver = this.clearSource.asObservable();\n }\n add(message) {\n if (message) {\n this.messageSource.next(message);\n }\n }\n addAll(messages) {\n if (messages && messages.length) {\n this.messageSource.next(messages);\n }\n }\n clear(key) {\n this.clearSource.next(key || null);\n }\n}\nMessageService.ɵfac = function MessageService_Factory(t) { return new (t || MessageService)(); };\nMessageService.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: MessageService, factory: MessageService.ɵfac });\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MessageService, [{\n type: Injectable\n }], function () { return []; }, null); })();\n\nclass Header {\n}\nHeader.ɵfac = function Header_Factory(t) { return new (t || Header)(); };\nHeader.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: Header, selectors: [[\"p-header\"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function Header_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵprojection(0);\n } }, encapsulation: 2 });\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(Header, [{\n type: Component,\n args: [{\n selector: 'p-header',\n template: ''\n }]\n }], null, null); })();\nclass Footer {\n}\nFooter.ɵfac = function Footer_Factory(t) { return new (t || Footer)(); };\nFooter.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: Footer, selectors: [[\"p-footer\"]], ngContentSelectors: _c0, decls: 1, vars: 0, template: function Footer_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵprojectionDef();\n ɵngcc0.ɵɵprojection(0);\n } }, encapsulation: 2 });\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(Footer, [{\n type: Component,\n args: [{\n selector: 'p-footer',\n template: ''\n }]\n }], null, null); })();\nclass PrimeTemplate {\n constructor(template) {\n this.template = template;\n }\n getType() {\n return this.name;\n }\n}\nPrimeTemplate.ɵfac = function PrimeTemplate_Factory(t) { return new (t || PrimeTemplate)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.TemplateRef)); };\nPrimeTemplate.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: PrimeTemplate, selectors: [[\"\", \"pTemplate\", \"\"]], inputs: { type: \"type\", name: [\"pTemplate\", \"name\"] } });\nPrimeTemplate.ctorParameters = () => [\n { type: TemplateRef }\n];\nPrimeTemplate.propDecorators = {\n type: [{ type: Input }],\n name: [{ type: Input, args: ['pTemplate',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(PrimeTemplate, [{\n type: Directive,\n args: [{\n selector: '[pTemplate]',\n host: {}\n }]\n }], function () { return [{ type: ɵngcc0.TemplateRef }]; }, { type: [{\n type: Input\n }], name: [{\n type: Input,\n args: ['pTemplate']\n }] }); })();\nclass SharedModule {\n}\nSharedModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: SharedModule });\nSharedModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function SharedModule_Factory(t) { return new (t || SharedModule)(); }, imports: [[CommonModule]] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(SharedModule, { declarations: function () { return [Header, Footer, PrimeTemplate]; }, imports: function () { return [CommonModule]; }, exports: function () { return [Header, Footer, PrimeTemplate]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(SharedModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n exports: [Header, Footer, PrimeTemplate],\n declarations: [Header, Footer, PrimeTemplate]\n }]\n }], null, null); })();\n\nclass TreeDragDropService {\n constructor() {\n this.dragStartSource = new Subject();\n this.dragStopSource = new Subject();\n this.dragStart$ = this.dragStartSource.asObservable();\n this.dragStop$ = this.dragStopSource.asObservable();\n }\n startDrag(event) {\n this.dragStartSource.next(event);\n }\n stopDrag(event) {\n this.dragStopSource.next(event);\n }\n}\nTreeDragDropService.ɵfac = function TreeDragDropService_Factory(t) { return new (t || TreeDragDropService)(); };\nTreeDragDropService.ɵprov = ɵngcc0.ɵɵdefineInjectable({ token: TreeDragDropService, factory: TreeDragDropService.ɵfac });\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(TreeDragDropService, [{\n type: Injectable\n }], function () { return []; }, null); })();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ConfirmationService, Footer, Header, MessageService, PrimeNGConfig, PrimeTemplate, SharedModule, TreeDragDropService };\n\n//# sourceMappingURL=primeng-api.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\nexports.isPromise = isPromise;\n//# sourceMappingURL=isPromise.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar identity_1 = require(\"./identity\");\nfunction pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexports.pipe = pipe;\nfunction pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity_1.identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\nexports.pipeFromArray = pipeFromArray;\n//# sourceMappingURL=pipe.js.map","const ObjectUnsubscribedErrorImpl = (() => {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexport const ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","export const environment = {\r\n production: true,\r\n ipInfo: \"https://api.ipregistry.co/?key=1h0qn5kgc4flucjw\",\r\n ipify: \"https://api.ipify.org/?format=json\",\r\n Staging: false,\r\n tokenKeyName: \"_____MOPC_SORTEO_USER_____\",\r\n configFile: \"config.json\",\r\n};\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BlobService } from \"./blob.service\";\r\nimport { N2PdfViewerModel } from \"./pdf-viewer.model\";\r\nimport { AppService } from \"@app/app.service\";\r\nimport { IRequestParameter, RequestParameter } from \"@shared/helpers/response\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { showToastr } from \"@shared/common\";\r\nimport { FilterOperator } from \"@shared/helpers/enums\";\r\nimport { ConfigService } from \"@app/config.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class PdfService {\r\n private readonly _blobService = BlobService();\r\n private _responseTypeBlob = {\r\n responseType: \"blob\" as \"json\",\r\n };\r\n\r\n url: string;\r\n displayViewer = false;\r\n disableXlsx = true;\r\n params: IRequestParameter;\r\n fileName = \"Reporte\";\r\n onHideReport: Function = () => {};\r\n\r\n constructor(\r\n private configService: ConfigService,\r\n private appService: AppService,\r\n private toastr: ToastrService\r\n ) {\r\n this.url = this.configService.getUrlApi(\"api/\");\r\n }\r\n\r\n private internalCallback(\r\n response: Blob,\r\n fileName: string,\r\n callback: Function,\r\n onHideAction: Function = () => {},\r\n generateXls = false\r\n ) {\r\n this.disableXlsx = true;\r\n if (callback) callback();\r\n\r\n if (!response) return;\r\n\r\n this._blobService.subject.next(\r\n new N2PdfViewerModel(fileName, response, generateXls)\r\n );\r\n this.appService.blockUI = true;\r\n this.onHideReport = onHideAction;\r\n }\r\n\r\n resetParams() {\r\n this.params = new RequestParameter();\r\n this.fileName = \"Reporte\";\r\n }\r\n\r\n /**\r\n * He agregado el parametero de participanteId para poder cumplir con el requerimiento de poder\r\n * visualizar multiples constancias de inscripción. Aunque parametrizamos el backend para soportar\r\n * varias inscripciones de sorteos existia la restriccion en la db PK(DocumentoId,Rnc) lo que dificultaba\r\n * poder generar una constancia a cada sorteo.\r\n * Ver los archivos afectados en el commit: Agregar funcionalidad para generar constancias de inscripción por sorteo\r\n * Modificado por: alcaab 30/12/2020\r\n *\r\n * @memberof PdfService\r\n */\r\n getConstanciaInscripcion(participanteId: number, callback?: Function) {\r\n this.configService.http\r\n .get(\r\n `${this.url}Participante/GetConstanciaInscripcionBlobFile/${participanteId}`,\r\n this._responseTypeBlob\r\n )\r\n .subscribe((response: Blob) =>\r\n this.internalCallback(response, \"Formulario de Inscripción\", callback)\r\n );\r\n }\r\n\r\n getDocumentoBlob({ DocumentoId, Descripcion }, callback?: Function) {\r\n this.configService.http\r\n .get(\r\n `${this.url}ParticipanteDocumento/GetBlobFile/${DocumentoId}`,\r\n this._responseTypeBlob\r\n )\r\n .subscribe((response: Blob) =>\r\n this.internalCallback(response, Descripcion, callback)\r\n );\r\n }\r\n\r\n getRecepcionDocumentoPdf(\r\n id: number,\r\n descripcion: string,\r\n trigger: string,\r\n callback?: Function\r\n ) {\r\n this.configService.http\r\n .get(\r\n `${this.url}Recepcion/GetRecepcionDocumentoPdf/${id}/${trigger}`,\r\n this._responseTypeBlob\r\n )\r\n .subscribe((response: Blob) =>\r\n this.internalCallback(response, descripcion, callback)\r\n );\r\n }\r\n\r\n getContanciaRecepcionPdf(\r\n id: number,\r\n callback: Function,\r\n onHideAction: Function\r\n ) {\r\n this.configService.http\r\n .get(\r\n `${this.url}Recepcion/GetConstanciaRecepcionPdf/${id}`,\r\n this._responseTypeBlob\r\n )\r\n .subscribe((response: Blob) =>\r\n this.internalCallback(\r\n response,\r\n \"Formulario de Recepción de Documentos\",\r\n callback,\r\n onHideAction\r\n )\r\n );\r\n }\r\n\r\n generarConstanciaInscripcion(participanteId: number, callback?: Function) {\r\n this.configService.http\r\n .get(\r\n `${this.url}Participante/GenerarConstanciaInscripcion/${participanteId}`,\r\n this._responseTypeBlob\r\n )\r\n .subscribe((response: Blob) =>\r\n this.internalCallback(response, \"Formulario de Inscripción\", callback)\r\n );\r\n }\r\n\r\n getReporteDirectores() {\r\n this.configService.http\r\n .post(\r\n `${this.url}Reportes/GetReporteDirectorBlob`,\r\n this.params,\r\n this._responseTypeBlob\r\n )\r\n .subscribe((response: Blob) =>\r\n this.internalCallback(\r\n response,\r\n this.fileName,\r\n () => (this.disableXlsx = false)\r\n )\r\n );\r\n }\r\n\r\n requestBlobXlsx() {\r\n if (this.disableXlsx) {\r\n showToastr(\r\n this.toastr,\r\n \"No se puede descargar este reporte en formato de excel\",\r\n \"error\"\r\n );\r\n return;\r\n }\r\n\r\n this.params.filters.push({\r\n propertyName: \"Xlsx\",\r\n operator: FilterOperator.Equals,\r\n value: true,\r\n });\r\n\r\n this.configService.http\r\n .post(\r\n `${this.url}Reportes/GetReporteDirectorBlob`,\r\n this.params,\r\n this._responseTypeBlob\r\n )\r\n .subscribe((response: Blob) =>\r\n this.internalCallback(\r\n response,\r\n this.fileName,\r\n () => (this.disableXlsx = false),\r\n () => this.resetParams(),\r\n true\r\n )\r\n );\r\n }\r\n}\r\n","import { Observable } from '../Observable';\nimport { subscribeTo } from '../util/subscribeTo';\nimport { scheduled } from '../scheduled/scheduled';\nexport function from(input, scheduler) {\n if (!scheduler) {\n if (input instanceof Observable) {\n return input;\n }\n return new Observable(subscribeTo(input));\n }\n else {\n return scheduled(input, scheduler);\n }\n}\n//# sourceMappingURL=from.js.map","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n else if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n else if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n else if (isIterable(input) || typeof input === 'string') {\n return scheduleIterable(input, scheduler);\n }\n }\n throw new TypeError((input !== null && typeof input || input) + ' is not observable');\n}\n//# sourceMappingURL=scheduled.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nexport function isInteropObservable(input) {\n return input && typeof input[Symbol_observable] === 'function';\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function scheduleObservable(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => {\n const observable = input[Symbol_observable]();\n sub.add(observable.subscribe({\n next(value) { sub.add(scheduler.schedule(() => subscriber.next(value))); },\n error(err) { sub.add(scheduler.schedule(() => subscriber.error(err))); },\n complete() { sub.add(scheduler.schedule(() => subscriber.complete())); },\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleObservable.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nexport function schedulePromise(input, scheduler) {\n return new Observable(subscriber => {\n const sub = new Subscription();\n sub.add(scheduler.schedule(() => input.then(value => {\n sub.add(scheduler.schedule(() => {\n subscriber.next(value);\n sub.add(scheduler.schedule(() => subscriber.complete()));\n }));\n }, err => {\n sub.add(scheduler.schedule(() => subscriber.error(err)));\n })));\n return sub;\n });\n}\n//# sourceMappingURL=schedulePromise.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function isIterable(input) {\n return input && typeof input[Symbol_iterator] === 'function';\n}\n//# sourceMappingURL=isIterable.js.map","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nexport function scheduleIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable(subscriber => {\n const sub = new Subscription();\n let iterator;\n sub.add(() => {\n if (iterator && typeof iterator.return === 'function') {\n iterator.return();\n }\n });\n sub.add(scheduler.schedule(() => {\n iterator = input[Symbol_iterator]();\n sub.add(scheduler.schedule(function () {\n if (subscriber.closed) {\n return;\n }\n let value;\n let done;\n try {\n const result = iterator.next();\n value = result.value;\n done = result.done;\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n this.schedule();\n }\n }));\n }));\n return sub;\n });\n}\n//# sourceMappingURL=scheduleIterable.js.map","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { NavbarComponent } from \"./navbar.component\";\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@NgModule({\r\n imports: [RouterModule, CommonModule, NgbModule],\r\n declarations: [NavbarComponent],\r\n exports: [NavbarComponent],\r\n})\r\nexport class NavbarModule {}\r\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\nexport const async = asyncScheduler;\n//# sourceMappingURL=async.js.map","export const isArray = (() => Array.isArray || ((x) => x && typeof x.length === 'number'))();\n//# sourceMappingURL=isArray.js.map","import { Observable } from '../Observable';\nexport const EMPTY = new Observable(subscriber => subscriber.complete());\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(subscriber => scheduler.schedule(() => subscriber.complete()));\n}\n//# sourceMappingURL=empty.js.map","import { Component, OnInit, ViewChild, ElementRef } from \"@angular/core\";\r\nimport { ROUTES } from \"../sidebar/sidebar.component\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\nimport { AuthenticationService } from \"@auth/authentication.service\";\r\nimport { environment } from \"@env/environment\";\r\n\r\n@Component({\r\n selector: \"navbar-cmp\",\r\n templateUrl: \"navbar.component.html\",\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n private listTitles: any[];\r\n location: Location;\r\n private nativeElement: Node;\r\n private toggleButton;\r\n private sidebarVisible: boolean;\r\n\r\n env = environment;\r\n\r\n public isCollapsed = true;\r\n @ViewChild(\"navbar-cmp\", { static: false }) button;\r\n\r\n constructor(\r\n location: Location,\r\n private element: ElementRef,\r\n private router: Router,\r\n public authenticationService: AuthenticationService\r\n ) {\r\n this.location = location;\r\n this.nativeElement = element.nativeElement;\r\n this.sidebarVisible = false;\r\n }\r\n\r\n ngOnInit() {\r\n this.listTitles = ROUTES.filter((listTitle) => listTitle);\r\n var navbar: HTMLElement = this.element.nativeElement;\r\n this.toggleButton = navbar.getElementsByClassName(\"navbar-toggle\")[0];\r\n this.router.events.subscribe((event) => {\r\n this.sidebarClose();\r\n });\r\n }\r\n\r\n sidebarToggle() {\r\n if (this.sidebarVisible === false) {\r\n this.sidebarOpen();\r\n } else {\r\n this.sidebarClose();\r\n }\r\n }\r\n\r\n sidebarOpen() {\r\n const toggleButton = this.toggleButton;\r\n const html = document.getElementsByTagName(\"html\")[0];\r\n const mainPanel = (\r\n document.getElementsByClassName(\"main-panel\")[0]\r\n );\r\n setTimeout(function () {\r\n toggleButton.classList.add(\"toggled\");\r\n }, 500);\r\n\r\n html.classList.add(\"nav-open\");\r\n if (window.innerWidth < 991) {\r\n mainPanel.style.position = \"fixed\";\r\n }\r\n this.sidebarVisible = true;\r\n }\r\n\r\n sidebarClose() {\r\n const html = document.getElementsByTagName(\"html\")[0];\r\n const mainPanel = (\r\n document.getElementsByClassName(\"main-panel\")[0]\r\n );\r\n if (window.innerWidth < 991) {\r\n setTimeout(function () {\r\n mainPanel.style.position = \"\";\r\n }, 500);\r\n }\r\n this.toggleButton.classList.remove(\"toggled\");\r\n this.sidebarVisible = false;\r\n html.classList.remove(\"nav-open\");\r\n }\r\n\r\n collapse() {\r\n this.isCollapsed = !this.isCollapsed;\r\n const navbar = document.getElementsByTagName(\"nav\")[0];\r\n\r\n if (!this.isCollapsed) {\r\n navbar.classList.remove(\"navbar-transparent\");\r\n navbar.classList.add(\"bg-white\");\r\n } else {\r\n navbar.classList.add(\"navbar-transparent\");\r\n navbar.classList.remove(\"bg-white\");\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Sorteo de Obras Viales y de Edificaciones en Distintas Provincias\r\n AMBIENTE DE PRUEBA\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cerrar sesión\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AppService {\r\n blockUI = false;\r\n turnOffBlockUI = false;\r\n turnOffBlockUIOnce = false;\r\n}\r\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isFunction_1 = require(\"./util/isFunction\");\nvar Observer_1 = require(\"./Observer\");\nvar Subscription_1 = require(\"./Subscription\");\nvar rxSubscriber_1 = require(\"../internal/symbol/rxSubscriber\");\nvar config_1 = require(\"./config\");\nvar hostReportError_1 = require(\"./util/hostReportError\");\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destinationOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this.syncErrorValue = null;\n _this.syncErrorThrown = false;\n _this.syncErrorThrowable = false;\n _this.isStopped = false;\n switch (arguments.length) {\n case 0:\n _this.destination = Observer_1.empty;\n break;\n case 1:\n if (!destinationOrNext) {\n _this.destination = Observer_1.empty;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n if (destinationOrNext instanceof Subscriber) {\n _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable;\n _this.destination = destinationOrNext;\n destinationOrNext.add(_this);\n }\n else {\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext);\n }\n break;\n }\n default:\n _this.syncErrorThrowable = true;\n _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete);\n break;\n }\n return _this;\n }\n Subscriber.prototype[rxSubscriber_1.rxSubscriber] = function () { return this; };\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _parentOrParents = this._parentOrParents;\n this._parentOrParents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parentOrParents = _parentOrParents;\n return this;\n };\n return Subscriber;\n}(Subscription_1.Subscription));\nexports.Subscriber = Subscriber;\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n _this._parentSubscriber = _parentSubscriber;\n var next;\n var context = _this;\n if (isFunction_1.isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== Observer_1.empty) {\n context = Object.create(observerOrNext);\n if (isFunction_1.isFunction(context.unsubscribe)) {\n _this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = _this.unsubscribe.bind(_this);\n }\n }\n _this._context = context;\n _this._next = next;\n _this._error = error;\n _this._complete = complete;\n return _this;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!config_1.config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n var useDeprecatedSynchronousErrorHandling = config_1.config.useDeprecatedSynchronousErrorHandling;\n if (this._error) {\n if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n if (useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n hostReportError_1.hostReportError(err);\n }\n else {\n if (useDeprecatedSynchronousErrorHandling) {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n }\n else {\n hostReportError_1.hostReportError(err);\n }\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!config_1.config.useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError_1.hostReportError(err);\n }\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n if (!config_1.config.useDeprecatedSynchronousErrorHandling) {\n throw new Error('bad call');\n }\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n else {\n hostReportError_1.hostReportError(err);\n return true;\n }\n }\n return false;\n };\n SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nexports.SafeSubscriber = SafeSubscriber;\n//# sourceMappingURL=Subscriber.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscription_1 = require(\"./Subscription\");\nvar SubjectSubscription = (function (_super) {\n __extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n var _this = _super.call(this) || this;\n _this.subject = subject;\n _this.subscriber = subscriber;\n _this.closed = false;\n return _this;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(Subscription_1.Subscription));\nexports.SubjectSubscription = SubjectSubscription;\n//# sourceMappingURL=SubjectSubscription.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction isObject(x) {\n return x !== null && typeof x === 'object';\n}\nexports.isObject = isObject;\n//# sourceMappingURL=isObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar config_1 = require(\"./config\");\nvar hostReportError_1 = require(\"./util/hostReportError\");\nexports.empty = {\n closed: true,\n next: function (value) { },\n error: function (err) {\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n throw err;\n }\n else {\n hostReportError_1.hostReportError(err);\n }\n },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map","import { canReportError } from './util/canReportError';\nimport { toSubscriber } from './util/toSubscriber';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nexport class Observable {\n constructor(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const { operator } = this;\n const sink = toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let subscription;\n subscription = this.subscribe((value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n }\n _subscribe(subscriber) {\n const { source } = this;\n return source && source.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n if (operations.length === 0) {\n return this;\n }\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => value = x, (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map","import { Subscriber } from '../Subscriber';\nimport { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';\nimport { empty as emptyObserver } from '../Observer';\nexport function toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriberSymbol]) {\n return nextOrObserver[rxSubscriberSymbol]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber(emptyObserver);\n }\n return new Subscriber(nextOrObserver, error, complete);\n}\n//# sourceMappingURL=toSubscriber.js.map","import { Subscriber } from '../Subscriber';\nexport function canReportError(observer) {\n while (observer) {\n const { closed, destination, isStopped } = observer;\n if (closed || isStopped) {\n return false;\n }\n else if (destination && destination instanceof Subscriber) {\n observer = destination;\n }\n else {\n observer = null;\n }\n }\n return true;\n}\n//# sourceMappingURL=canReportError.js.map","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n//# sourceMappingURL=pipe.js.map","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n//# sourceMappingURL=isArrayLike.js.map","export class Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.SchedulerAction(this, work).schedule(state, delay);\n }\n}\nScheduler.now = () => Date.now();\n//# sourceMappingURL=Scheduler.js.map","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, () => {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.now();\n }\n else {\n return now();\n }\n });\n this.actions = [];\n this.active = false;\n this.scheduled = undefined;\n }\n schedule(work, delay = 0, state) {\n if (AsyncScheduler.delegate && AsyncScheduler.delegate !== this) {\n return AsyncScheduler.delegate.schedule(work, delay, state);\n }\n else {\n return super.schedule(work, delay, state);\n }\n }\n flush(action) {\n const { actions } = this;\n if (this.active) {\n actions.push(action);\n return;\n }\n let error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift());\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n//# sourceMappingURL=AsyncScheduler.js.map","import { Subscriber } from '../Subscriber';\nimport { ArgumentOutOfRangeError } from '../util/ArgumentOutOfRangeError';\nimport { empty } from '../observable/empty';\nexport function take(count) {\n return (source) => {\n if (count === 0) {\n return empty();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nclass TakeOperator {\n constructor(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError;\n }\n }\n call(subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n }\n}\nclass TakeSubscriber extends Subscriber {\n constructor(destination, total) {\n super(destination);\n this.total = total;\n this.count = 0;\n }\n _next(value) {\n const total = this.total;\n const count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n }\n}\n//# sourceMappingURL=take.js.map","import { of } from './of';\nimport { concatAll } from '../operators/concatAll';\nexport function concat(...observables) {\n return concatAll()(of(...observables));\n}\n//# sourceMappingURL=concat.js.map","import { concat } from '../observable/concat';\nimport { isScheduler } from '../util/isScheduler';\nexport function startWith(...array) {\n const scheduler = array[array.length - 1];\n if (isScheduler(scheduler)) {\n array.pop();\n return (source) => concat(array, source, scheduler);\n }\n else {\n return (source) => concat(array, source);\n }\n}\n//# sourceMappingURL=startWith.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar UnsubscriptionErrorImpl = (function () {\n function UnsubscriptionErrorImpl(errors) {\n Error.call(this);\n this.message = errors ?\n errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ') : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n return this;\n }\n UnsubscriptionErrorImpl.prototype = Object.create(Error.prototype);\n return UnsubscriptionErrorImpl;\n})();\nexports.UnsubscriptionError = UnsubscriptionErrorImpl;\n//# sourceMappingURL=UnsubscriptionError.js.map","import { isScheduler } from '../util/isScheduler';\nimport { fromArray } from './fromArray';\nimport { scheduleArray } from '../scheduled/scheduleArray';\nexport function of(...args) {\n let scheduler = args[args.length - 1];\n if (isScheduler(scheduler)) {\n args.pop();\n return scheduleArray(args, scheduler);\n }\n else {\n return fromArray(args);\n }\n}\n//# sourceMappingURL=of.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\nexport const $$iterator = iterator;\n//# sourceMappingURL=iterator.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction hostReportError(err) {\n setTimeout(function () { throw err; }, 0);\n}\nexports.hostReportError = hostReportError;\n//# sourceMappingURL=hostReportError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ObjectUnsubscribedErrorImpl = (function () {\n function ObjectUnsubscribedErrorImpl() {\n Error.call(this);\n this.message = 'object unsubscribed';\n this.name = 'ObjectUnsubscribedError';\n return this;\n }\n ObjectUnsubscribedErrorImpl.prototype = Object.create(Error.prototype);\n return ObjectUnsubscribedErrorImpl;\n})();\nexports.ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","export function hostReportError(err) {\n setTimeout(() => { throw err; }, 0);\n}\n//# sourceMappingURL=hostReportError.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.subscribeToArray = function (array) { return function (subscriber) {\n for (var i = 0, len = array.length; i < len && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n}; };\n//# sourceMappingURL=subscribeToArray.js.map","import { isArray } from './isArray';\nexport function isNumeric(val) {\n return !isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\n//# sourceMappingURL=isNumeric.js.map","import { Observable } from '../Observable';\nimport { async } from '../scheduler/async';\nimport { isNumeric } from '../util/isNumeric';\nimport { isScheduler } from '../util/isScheduler';\nexport function timer(dueTime = 0, periodOrScheduler, scheduler) {\n let period = -1;\n if (isNumeric(periodOrScheduler)) {\n period = Number(periodOrScheduler) < 1 && 1 || Number(periodOrScheduler);\n }\n else if (isScheduler(periodOrScheduler)) {\n scheduler = periodOrScheduler;\n }\n if (!isScheduler(scheduler)) {\n scheduler = async;\n }\n return new Observable(subscriber => {\n const due = isNumeric(dueTime)\n ? dueTime\n : (+dueTime - scheduler.now());\n return scheduler.schedule(dispatch, due, {\n index: 0, period, subscriber\n });\n });\n}\nfunction dispatch(state) {\n const { index, period, subscriber } = state;\n subscriber.next(index);\n if (subscriber.closed) {\n return;\n }\n else if (period === -1) {\n return subscriber.complete();\n }\n state.index = index + 1;\n this.schedule(state, period);\n}\n//# sourceMappingURL=timer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar canReportError_1 = require(\"./util/canReportError\");\nvar toSubscriber_1 = require(\"./util/toSubscriber\");\nvar observable_1 = require(\"./symbol/observable\");\nvar pipe_1 = require(\"./util/pipe\");\nvar config_1 = require(\"./config\");\nvar Observable = (function () {\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber_1.toSubscriber(observerOrNext, error, complete);\n if (operator) {\n sink.add(operator.call(sink, this.source));\n }\n else {\n sink.add(this.source || (config_1.config.useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ?\n this._subscribe(sink) :\n this._trySubscribe(sink));\n }\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n if (config_1.config.useDeprecatedSynchronousErrorHandling) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n }\n if (canReportError_1.canReportError(sink)) {\n sink.error(err);\n }\n else {\n console.warn(err);\n }\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscription;\n subscription = _this.subscribe(function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n if (subscription) {\n subscription.unsubscribe();\n }\n }\n }, reject, resolve);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var source = this.source;\n return source && source.subscribe(subscriber);\n };\n Observable.prototype[observable_1.observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipe_1.pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexports.Observable = Observable;\nfunction getPromiseCtor(promiseCtor) {\n if (!promiseCtor) {\n promiseCtor = config_1.config.Promise || Promise;\n }\n if (!promiseCtor) {\n throw new Error('no Promise impl found');\n }\n return promiseCtor;\n}\n//# sourceMappingURL=Observable.js.map","import { Directive, ElementRef, NgZone, Optional, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler } from 'primeng/dom';\nimport { PrimeNGConfig } from 'primeng/api';\n\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from 'primeng/api';\nclass Ripple {\n constructor(el, zone, config) {\n this.el = el;\n this.zone = zone;\n this.config = config;\n }\n ngAfterViewInit() {\n if (this.config && this.config.ripple) {\n this.zone.runOutsideAngular(() => {\n this.create();\n this.mouseDownListener = this.onMouseDown.bind(this);\n this.el.nativeElement.addEventListener('mousedown', this.mouseDownListener);\n });\n }\n }\n onMouseDown(event) {\n let ink = this.getInk();\n if (!ink || getComputedStyle(ink, null).display === 'none') {\n return;\n }\n DomHandler.removeClass(ink, 'p-ink-active');\n if (!DomHandler.getHeight(ink) && !DomHandler.getWidth(ink)) {\n let d = Math.max(DomHandler.getOuterWidth(this.el.nativeElement), DomHandler.getOuterHeight(this.el.nativeElement));\n ink.style.height = d + 'px';\n ink.style.width = d + 'px';\n }\n let offset = DomHandler.getOffset(this.el.nativeElement);\n let x = event.pageX - offset.left + document.body.scrollTop - DomHandler.getWidth(ink) / 2;\n let y = event.pageY - offset.top + document.body.scrollLeft - DomHandler.getHeight(ink) / 2;\n ink.style.top = y + 'px';\n ink.style.left = x + 'px';\n DomHandler.addClass(ink, 'p-ink-active');\n }\n getInk() {\n for (let i = 0; i < this.el.nativeElement.children.length; i++) {\n if (this.el.nativeElement.children[i].className.indexOf('p-ink') !== -1) {\n return this.el.nativeElement.children[i];\n }\n }\n return null;\n }\n resetInk() {\n let ink = this.getInk();\n if (ink) {\n DomHandler.removeClass(ink, 'p-ink-active');\n }\n }\n onAnimationEnd(event) {\n DomHandler.removeClass(event.currentTarget, 'p-ink-active');\n }\n create() {\n let ink = document.createElement('span');\n ink.className = 'p-ink';\n this.el.nativeElement.appendChild(ink);\n this.animationListener = this.onAnimationEnd.bind(this);\n ink.addEventListener('animationend', this.animationListener);\n }\n remove() {\n let ink = this.getInk();\n if (ink) {\n this.el.nativeElement.removeEventListener('mousedown', this.mouseDownListener);\n ink.removeEventListener('animationend', this.animationListener);\n DomHandler.removeElement(ink);\n }\n }\n ngOnDestroy() {\n if (this.config && this.config.ripple) {\n this.remove();\n }\n }\n}\nRipple.ɵfac = function Ripple_Factory(t) { return new (t || Ripple)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.PrimeNGConfig, 8)); };\nRipple.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: Ripple, selectors: [[\"\", \"pRipple\", \"\"]], hostVars: 2, hostBindings: function Ripple_HostBindings(rf, ctx) { if (rf & 2) {\n ɵngcc0.ɵɵclassProp(\"p-ripple\", true);\n } } });\nRipple.ctorParameters = () => [\n { type: ElementRef },\n { type: NgZone },\n { type: PrimeNGConfig, decorators: [{ type: Optional }] }\n];\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(Ripple, [{\n type: Directive,\n args: [{\n selector: '[pRipple]',\n host: {\n '[class.p-ripple]': 'true'\n }\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc0.NgZone }, { type: ɵngcc1.PrimeNGConfig, decorators: [{\n type: Optional\n }] }]; }, null); })();\nclass RippleModule {\n}\nRippleModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: RippleModule });\nRippleModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function RippleModule_Factory(t) { return new (t || RippleModule)(); }, imports: [[CommonModule]] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(RippleModule, { declarations: function () { return [Ripple]; }, imports: function () { return [CommonModule]; }, exports: function () { return [Ripple]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(RippleModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n exports: [Ripple],\n declarations: [Ripple]\n }]\n }], null, null); })();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Ripple, RippleModule };\n\n//# sourceMappingURL=primeng-ripple.js.map","/**\n * @license Angular v11.0.3\n * (c) 2010-2020 Google LLC. https://angular.io/\n * License: MIT\n */\n\n/**\n * An injectable service that produces an animation sequence programmatically within an\n * Angular component or directive.\n * Provided by the `BrowserAnimationsModule` or `NoopAnimationsModule`.\n *\n * @usageNotes\n *\n * To use this service, add it to your component or directive as a dependency.\n * The service is instantiated along with your component.\n *\n * Apps do not typically need to create their own animation players, but if you\n * do need to, follow these steps:\n *\n * 1. Use the `build()` method to create a programmatic animation using the\n * `animate()` function. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n}\n/**\n * A factory object returned from the `AnimationBuilder`.`build()` method.\n *\n * @publicApi\n */\nclass AnimationFactory {\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 * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of `state()`\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of `state()`\n * and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n * ...\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n * \n * \n * \n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nfunction trigger(name, definitions) {\n return { type: 7 /* Trigger */, name, definitions, options: {} };\n}\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" })),\n * style({ background: \"red\" }))\n * ])\n * ```\n *\n * @publicApi\n */\nfunction animate(timings, styles = null) {\n return { type: 4 /* Animate */, styles, timings };\n}\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nfunction group(steps, options = null) {\n return { type: 3 /* Group */, steps, options };\n}\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nfunction sequence(steps, options = null) {\n return { type: 2 /* Sequence */, steps, options };\n}\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation `state`, within an animation `sequence`,\n * or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow a component to animate from\n * a height of 0 up to the height of the parent element:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nfunction style(tokens) {\n return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nfunction state(name, styles, options) {\n return { type: 0 /* State */, name, styles, options };\n}\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nfunction keyframes(steps) {\n return { type: 5 /* Keyframes */, steps };\n}\n/**\n * Declares an animation transition as a sequence of animation steps to run when a given\n * condition is satisfied. The condition is a Boolean expression or function that compares\n * the previous and current animation states, and returns true if this transition should occur.\n * When the state criteria of a defined transition are met, the associated animation is\n * triggered.\n *\n * @param stateChangeExpr A Boolean expression or function that compares the previous and current\n * animation states, and returns true if this transition should occur. Note that \"true\" and \"false\"\n * match 1 and 0, respectively. An expression is evaluated each time a state change occurs in the\n * animation trigger element.\n * The animation steps run when the expression evaluates to true.\n *\n * - A state-change string takes the form \"state1 => state2\", where each side is a defined animation\n * state, or an asterix (*) to refer to a dynamic start or end state.\n * - The expression string can contain multiple comma-separated statements;\n * for example \"state1 => state2, state3 => state4\".\n * - Special values `:enter` and `:leave` initiate a transition on the entry and exit states,\n * equivalent to \"void => *\" and \"* => void\".\n * - Special values `:increment` and `:decrement` initiate a transition when a numeric value has\n * increased or decreased in value.\n * - A function is executed each time a state change occurs in the animation trigger element.\n * The animation steps run when the function returns true.\n *\n * @param steps One or more animation objects, as returned by the `animate()` or\n * `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the animation,\n * and additional developer-defined parameters. Provided values for additional parameters are used\n * as defaults, and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n * The template associated with a component binds an animation trigger to an element.\n *\n * ```HTML\n * \n * ...\n * ```\n *\n * All transitions are defined within an animation trigger,\n * along with named states that the transitions change to and from.\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * // define states\n * state(\"on\", style({ background: \"green\" })),\n * state(\"off\", style({ background: \"grey\" })),\n * ...]\n * ```\n *\n * Note that when you call the `sequence()` function within a `{@link animations/group group()}`\n * or a `transition()` call, execution does not continue to the next instruction\n * until each of the inner animation steps have completed.\n *\n * ### Syntax examples\n *\n * The following examples define transitions between the two defined states (and default states),\n * using various options:\n *\n * ```typescript\n * // Transition occurs when the state value\n * // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n * transition(\"on => off\", animate(500))\n * // Run the same animation for both directions\n * transition(\"on <=> off\", animate(500))\n * // Define multiple state-change pairs separated by commas\n * transition(\"on => off, off => void\", animate(500))\n * ```\n *\n * ### Special values for state-change expressions\n *\n * - Catch-all state change for when an element is inserted into the page and the\n * destination state is unknown:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n *\n * - Capture a state change between any states:\n *\n * `transition(\"* => *\", animate(\"1s 0s\"))`\n *\n * - Entry and exit transitions:\n *\n * ```typescript\n * transition(\":enter\", [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n * animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * - Use `:increment` and `:decrement` to initiate transitions:\n *\n * ```typescript\n * transition(\":increment\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n *\n * transition(\":decrement\", group([\n * query(':enter', [\n * style({ left: '100%' }),\n * animate('0.5s ease-out', style('*'))\n * ]),\n * query(':leave', [\n * animate('0.5s ease-out', style({ left: '-100%' }))\n * ])\n * ]))\n * ```\n *\n * ### State-change functions\n *\n * Here is an example of a `fromState` specified as a state-change function that invokes an\n * animation when true:\n *\n * ```typescript\n * transition((fromState, toState) =>\n * {\n * return fromState == \"off\" && toState == \"on\";\n * },\n * animate(\"1s 0s\"))\n * ```\n *\n * ### Animating to the final state\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no style data, that step is automatically considered the final animation arc,\n * for the element to reach the final state. Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n * The following example defines a transition that starts by hiding the element,\n * then makes sure that it animates properly to whatever state is currently active for trigger:\n *\n * ```typescript\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n * ### Boolean value matching\n * If a trigger binding value is a Boolean, it can be matched using a transition expression\n * that compares true and false or 1 and 0. For example:\n *\n * ```\n * // in the template\n * ...\n * // in the component metadata\n * trigger('openClose', [\n * state('true', style({ height: '*' })),\n * state('false', style({ height: '0px' })),\n * transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * @publicApi\n **/\nfunction transition(stateChangeExpr, steps, options = null) {\n return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options };\n}\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nfunction animation(steps, options = null) {\n return { type: 8 /* Reference */, animation: steps, options };\n}\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nfunction animateChild(options = null) {\n return { type: 9 /* AnimateChild */, options };\n}\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nfunction useAnimation(animation, options = null) {\n return { type: 10 /* AnimateRef */, animation, options };\n}\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements.\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n * \n * Title\n * \n * Blah blah blah\n * \n * \n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nfunction query(selector, animation, options = null) {\n return { type: 11 /* Query */, selector, animation, options };\n}\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * Show / Hide Items\n * \n * \n * \n * {{ item }}\n * \n * \n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nfunction stagger(timings, animation) {\n return { type: 12 /* Stagger */, timings, animation };\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 scheduleMicroTask(cb) {\n Promise.resolve(null).then(cb);\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 * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() { }\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n pause() { }\n restart() { }\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() { }\n setPosition(position) { }\n getPosition() {\n return 0;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n }\n else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach(player => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n pause() {\n this.players.forEach(player => player.pause());\n }\n restart() {\n this.players.forEach(player => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n let min = 0;\n this.players.forEach(player => {\n const p = player.getPosition();\n min = Math.min(p, min);\n });\n return min;\n }\n beforeDestroy() {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\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 ɵPRE_STYLE = '!';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };\n\n//# sourceMappingURL=animations.js.map","\r\n\r\nexport enum FilterOperator {\r\n None = 0,\r\n Contains = 1,\r\n GreaterThan = 2,\r\n GreaterThanOrEqual = 4,\r\n LessThan = 8,\r\n LessThanOrEqualTo = 16,\r\n StartsWith = 32,\r\n EndsWith = 64,\r\n Equals = 128,\r\n NotEqual = 256,\r\n Between = 1024,\r\n In = 2048,\r\n}\r\n\r\nexport enum DefaultWhenType {\r\n None = 0,\r\n Numeric = 1,\r\n Text = 2,\r\n}\r\n\r\n\r\nexport enum SortDirection {\r\n Ascendent,\r\n Descendent,\r\n}\r\n\r\n","import { subscribeToArray } from './subscribeToArray';\nimport { subscribeToPromise } from './subscribeToPromise';\nimport { subscribeToIterable } from './subscribeToIterable';\nimport { subscribeToObservable } from './subscribeToObservable';\nimport { isArrayLike } from './isArrayLike';\nimport { isPromise } from './isPromise';\nimport { isObject } from './isObject';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport const subscribeTo = (result) => {\n if (!!result && typeof result[Symbol_observable] === 'function') {\n return subscribeToObservable(result);\n }\n else if (isArrayLike(result)) {\n return subscribeToArray(result);\n }\n else if (isPromise(result)) {\n return subscribeToPromise(result);\n }\n else if (!!result && typeof result[Symbol_iterator] === 'function') {\n return subscribeToIterable(result);\n }\n else {\n const value = isObject(result) ? 'an invalid object' : `'${result}'`;\n const msg = `You provided ${value} where a stream was expected.`\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n throw new TypeError(msg);\n }\n};\n//# sourceMappingURL=subscribeTo.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nexport const subscribeToObservable = (obj) => (subscriber) => {\n const obs = obj[Symbol_observable]();\n if (typeof obs.subscribe !== 'function') {\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n }\n else {\n return obs.subscribe(subscriber);\n }\n};\n//# sourceMappingURL=subscribeToObservable.js.map","import { hostReportError } from './hostReportError';\nexport const subscribeToPromise = (promise) => (subscriber) => {\n promise.then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, hostReportError);\n return subscriber;\n};\n//# sourceMappingURL=subscribeToPromise.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nexport const subscribeToIterable = (iterable) => (subscriber) => {\n const iterator = iterable[Symbol_iterator]();\n do {\n let item;\n try {\n item = iterator.next();\n }\n catch (err) {\n subscriber.error(err);\n return subscriber;\n }\n if (item.done) {\n subscriber.complete();\n break;\n }\n subscriber.next(item.value);\n if (subscriber.closed) {\n break;\n }\n } while (true);\n if (typeof iterator.return === 'function') {\n subscriber.add(() => {\n if (iterator.return) {\n iterator.return();\n }\n });\n }\n return subscriber;\n};\n//# sourceMappingURL=subscribeToIterable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"identification\"\r\n})\r\nexport class IdentificationPipe implements PipeTransform {\r\n transform(value): string {\r\n const str = (\"\" + value).replace(/\\D/g, \"\");\r\n\r\n if (str.length == 11) {\r\n const match = str.match(/^(\\d{3})(\\d{7})(\\d{1})$/);\r\n\r\n return !match ? null : `${match[1]}-${match[2]}-${match[3]}`;\r\n } else if (str.length == 9) {\r\n const match = str.match(/^(\\d{3})(\\d{5})(\\d{1})$/);\r\n\r\n return !match ? null : `${match[1]}-${match[2]}-${match[3]}`;\r\n }\r\n\r\n return value;\r\n }\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexports.getSymbolIterator = getSymbolIterator;\nexports.iterator = getSymbolIterator();\nexports.$$iterator = exports.iterator;\n//# sourceMappingURL=iterator.js.map","import { Observable } from '../Observable';\nimport { isScheduler } from '../util/isScheduler';\nimport { mergeAll } from '../operators/mergeAll';\nimport { fromArray } from './fromArray';\nexport function merge(...observables) {\n let concurrent = Number.POSITIVE_INFINITY;\n let scheduler = null;\n let last = observables[observables.length - 1];\n if (isScheduler(last)) {\n scheduler = observables.pop();\n if (observables.length > 1 && typeof observables[observables.length - 1] === 'number') {\n concurrent = observables.pop();\n }\n }\n else if (typeof last === 'number') {\n concurrent = observables.pop();\n }\n if (scheduler === null && observables.length === 1 && observables[0] instanceof Observable) {\n return observables[0];\n }\n return mergeAll(concurrent)(fromArray(observables, scheduler));\n}\n//# sourceMappingURL=merge.js.map","import { empty } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nexport var NotificationKind;\n(function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nexport class Notification {\n constructor(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n observe(observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n }\n do(next, error, complete) {\n const kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n }\n accept(nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n }\n toObservable() {\n const kind = this.kind;\n switch (kind) {\n case 'N':\n return of(this.value);\n case 'E':\n return throwError(this.error);\n case 'C':\n return empty();\n }\n throw new Error('unexpected notification kind value');\n }\n static createNext(value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n }\n static createError(err) {\n return new Notification('E', undefined, err);\n }\n static createComplete() {\n return Notification.completeNotification;\n }\n}\nNotification.completeNotification = new Notification('C');\nNotification.undefinedValueNotification = new Notification('N', undefined);\n//# sourceMappingURL=Notification.js.map","import { Observable } from '../Observable';\nexport function throwError(error, scheduler) {\n if (!scheduler) {\n return new Observable(subscriber => subscriber.error(error));\n }\n else {\n return new Observable(subscriber => scheduler.schedule(dispatch, 0, { error, subscriber }));\n }\n}\nfunction dispatch({ error, subscriber }) {\n subscriber.error(error);\n}\n//# sourceMappingURL=throwError.js.map","import { Observable } from './Observable';\nimport { Subscriber } from './Subscriber';\nimport { Subscription } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { SubjectSubscription } from './SubjectSubscription';\nimport { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';\nexport class SubjectSubscriber extends Subscriber {\n constructor(destination) {\n super(destination);\n this.destination = destination;\n }\n}\nexport class Subject extends Observable {\n constructor() {\n super();\n this.observers = [];\n this.closed = false;\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n [rxSubscriberSymbol]() {\n return new SubjectSubscriber(this);\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n next(value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n }\n error(err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n }\n complete() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n this.isStopped = true;\n const { observers } = this;\n const len = observers.length;\n const copy = observers.slice();\n for (let i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n }\n unsubscribe() {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n }\n _trySubscribe(subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else {\n return super._trySubscribe(subscriber);\n }\n }\n _subscribe(subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription(this, subscriber);\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n const { destination } = this;\n if (destination && destination.next) {\n destination.next(value);\n }\n }\n error(err) {\n const { destination } = this;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n }\n complete() {\n const { destination } = this;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n }\n _subscribe(subscriber) {\n const { source } = this;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription.EMPTY;\n }\n }\n}\n//# sourceMappingURL=Subject.js.map","export function isObject(x) {\n return x !== null && typeof x === 'object';\n}\n//# sourceMappingURL=isObject.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Subscriber_1 = require(\"../Subscriber\");\nvar rxSubscriber_1 = require(\"../symbol/rxSubscriber\");\nvar Observer_1 = require(\"../Observer\");\nfunction toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber_1.Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriber_1.rxSubscriber]) {\n return nextOrObserver[rxSubscriber_1.rxSubscriber]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber_1.Subscriber(Observer_1.empty);\n }\n return new Subscriber_1.Subscriber(nextOrObserver, error, complete);\n}\nexports.toSubscriber = toSubscriber;\n//# sourceMappingURL=toSubscriber.js.map","import { User } from \"@auth/auth.interfaces\";\r\nimport { TokenService } from \"@auth/token.service\";\r\nimport { environment } from \"@env/environment\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\n\r\nexport function isPresent(obj: any): boolean {\r\n return obj !== undefined && obj !== null;\r\n}\r\n\r\nexport function isDate(obj: any): boolean {\r\n return !/Invalid|NaN/.test(new Date(obj).toString());\r\n}\r\n\r\nexport function showToastr(\r\n toastr: ToastrService,\r\n message: string,\r\n type: \"success\" | \"error\" | \"info\" | \"warning\"\r\n) {\r\n let toastClass = \"\";\r\n let timeOut = 5 * 1000;\r\n let config = {\r\n timeOut: timeOut,\r\n enableHtml: true,\r\n closeButton: true,\r\n progressBar: true,\r\n toastClass: toastClass,\r\n };\r\n\r\n switch (type) {\r\n case \"success\":\r\n config = { ...config, toastClass: \"alert alert-success\" };\r\n toastr.success(message, \"\", config);\r\n logger(message, \"log\");\r\n break;\r\n\r\n case \"error\":\r\n config = {\r\n ...config,\r\n toastClass: \"alert alert-danger alert-with-icon\",\r\n timeOut: 10 * 1000,\r\n };\r\n toastr.error(message, \"\", config);\r\n logger(message, \"error\");\r\n break;\r\n\r\n case \"info\":\r\n config = { ...config, toastClass: \"alert alert-info\" };\r\n toastr.info(message, \"\", config);\r\n logger(message, \"info\");\r\n break;\r\n\r\n case \"warning\":\r\n config = { ...config, toastClass: \"alert alert-warning\" };\r\n toastr.warning(message, \"\", config);\r\n logger(message, \"warn\");\r\n break;\r\n }\r\n}\r\n\r\nexport const ROLES = {\r\n COMPRAS: \"COMPRAS\",\r\n OFERENTE: \"OFERENTE\",\r\n DIRECTOR: \"DIRECTOR\",\r\n PERITO: \"PERITO\",\r\n CONFIGURACION: \"CONFIGURACION\",\r\n RECEPCION: \"RECEPCION\",\r\n ASISTENCIA_CALLCENTER: \"ASISTENCIA_CALLCENTER\",\r\n ASISTENCIA_COMPRA: \"ASISTENCIA_COMPRA\",\r\n CONFIRMACIONASISTENCIA: \"CONFIRMACIONASISTENCIA\",\r\n PRESENTACION: \"PRESENTACION\",\r\n};\r\n\r\nexport function canActivateByRole(decodeToken: {}, rol: string): boolean {\r\n const roles =\r\n decodeToken[\"http://schemas.microsoft.com/ws/2008/06/identity/claims/role\"];\r\n\r\n if (Array.isArray(roles)) return roles.includes(rol);\r\n return roles == rol;\r\n}\r\n\r\nexport function canActivateGuard(\r\n tokenService: TokenService,\r\n user: Partial,\r\n role: string\r\n): boolean {\r\n try {\r\n if (user && !tokenService.isTokenExpired(user.AccessToken)) {\r\n return canActivateByRole(\r\n tokenService.decodeToken(user.AccessToken),\r\n role\r\n );\r\n }\r\n } catch (error) {\r\n return false;\r\n }\r\n}\r\n\r\nexport function redirectTo({ Menu }): string {\r\n if (Menu && Menu.length > 0) return Menu[0].Url;\r\n\r\n throw Error(\"Este usuario no posee ningun menu asignado\");\r\n}\r\n\r\nexport function isInvalidEmail(mail: string) {\r\n if (\r\n !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/.test(\r\n mail\r\n )\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nexport function logger(\r\n message: any,\r\n type: \"log\" | \"warn\" | \"error\" | \"info\" | \"dir\" | \"table\" = \"info\"\r\n) {\r\n if (environment.production) return;\r\n\r\n switch (type) {\r\n case \"log\":\r\n console.log(message);\r\n break;\r\n\r\n case \"warn\":\r\n console.warn(message);\r\n break;\r\n\r\n case \"error\":\r\n console.error(message);\r\n break;\r\n\r\n case \"info\":\r\n console.info(message);\r\n break;\r\n\r\n case \"dir\":\r\n console.dir(message);\r\n break;\r\n\r\n case \"table\":\r\n console.table(message);\r\n break;\r\n }\r\n}\r\n","import { Subscription } from './Subscription';\nexport class SubjectSubscription extends Subscription {\n constructor(subject, subscriber) {\n super();\n this.subject = subject;\n this.subscriber = subscriber;\n this.closed = false;\n }\n unsubscribe() {\n if (this.closed) {\n return;\n }\n this.closed = true;\n const subject = this.subject;\n const observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n const subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n }\n}\n//# sourceMappingURL=SubjectSubscription.js.map","/**\n * @dynamic is for runtime initializing DomHandler.browser\n *\n * If delete below comment, we can see this error message:\n * Metadata collected contains an error that will be reported at runtime:\n * Only initialized variables and constants can be referenced\n * because the value of this variable is needed by the template compiler.\n */\n// @dynamic\nclass DomHandler {\n static addClass(element, className) {\n if (element.classList)\n element.classList.add(className);\n else\n element.className += ' ' + className;\n }\n static addMultipleClasses(element, className) {\n if (element.classList) {\n let styles = className.split(' ');\n for (let i = 0; i < styles.length; i++) {\n element.classList.add(styles[i]);\n }\n }\n else {\n let styles = className.split(' ');\n for (let i = 0; i < styles.length; i++) {\n element.className += ' ' + styles[i];\n }\n }\n }\n static removeClass(element, className) {\n if (element.classList)\n element.classList.remove(className);\n else\n element.className = element.className.replace(new RegExp('(^|\\\\b)' + className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n static hasClass(element, className) {\n if (element.classList)\n return element.classList.contains(className);\n else\n return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);\n }\n static siblings(element) {\n return Array.prototype.filter.call(element.parentNode.children, function (child) {\n return child !== element;\n });\n }\n static find(element, selector) {\n return Array.from(element.querySelectorAll(selector));\n }\n static findSingle(element, selector) {\n if (element) {\n return element.querySelector(selector);\n }\n return null;\n }\n static index(element) {\n let children = element.parentNode.childNodes;\n let num = 0;\n for (var i = 0; i < children.length; i++) {\n if (children[i] == element)\n return num;\n if (children[i].nodeType == 1)\n num++;\n }\n return -1;\n }\n static indexWithinGroup(element, attributeName) {\n let children = element.parentNode ? element.parentNode.childNodes : [];\n let num = 0;\n for (var i = 0; i < children.length; i++) {\n if (children[i] == element)\n return num;\n if (children[i].attributes && children[i].attributes[attributeName] && children[i].nodeType == 1)\n num++;\n }\n return -1;\n }\n static relativePosition(element, target) {\n let elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : this.getHiddenElementDimensions(element);\n const targetHeight = target.offsetHeight;\n const targetOffset = target.getBoundingClientRect();\n const viewport = this.getViewport();\n let top, left;\n if ((targetOffset.top + targetHeight + elementDimensions.height) > viewport.height) {\n top = -1 * (elementDimensions.height);\n element.style.transformOrigin = 'bottom';\n if (targetOffset.top + top < 0) {\n top = -1 * targetOffset.top;\n }\n }\n else {\n top = targetHeight;\n element.style.transformOrigin = 'top';\n }\n if (elementDimensions.width > viewport.width) {\n // element wider then viewport and cannot fit on screen (align at left side of viewport)\n left = targetOffset.left * -1;\n }\n else if ((targetOffset.left + elementDimensions.width) > viewport.width) {\n // element wider then viewport but can be fit on screen (align at right side of viewport)\n left = (targetOffset.left + elementDimensions.width - viewport.width) * -1;\n }\n else {\n // element fits on screen (align with target)\n left = 0;\n }\n element.style.top = top + 'px';\n element.style.left = left + 'px';\n }\n static absolutePosition(element, target) {\n let elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : this.getHiddenElementDimensions(element);\n let elementOuterHeight = elementDimensions.height;\n let elementOuterWidth = elementDimensions.width;\n let targetOuterHeight = target.offsetHeight;\n let targetOuterWidth = target.offsetWidth;\n let targetOffset = target.getBoundingClientRect();\n let windowScrollTop = this.getWindowScrollTop();\n let windowScrollLeft = this.getWindowScrollLeft();\n let viewport = this.getViewport();\n let top, left;\n if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {\n top = targetOffset.top + windowScrollTop - elementOuterHeight;\n element.style.transformOrigin = 'bottom';\n if (top < 0) {\n top = windowScrollTop;\n }\n }\n else {\n top = targetOuterHeight + targetOffset.top + windowScrollTop;\n element.style.transformOrigin = 'top';\n }\n if (targetOffset.left + elementOuterWidth > viewport.width)\n left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth);\n else\n left = targetOffset.left + windowScrollLeft;\n element.style.top = top + 'px';\n element.style.left = left + 'px';\n }\n static getParents(element, parents = []) {\n return element['parentNode'] === null ? parents : this.getParents(element.parentNode, parents.concat([element.parentNode]));\n }\n static getScrollableParents(element) {\n let scrollableParents = [];\n if (element) {\n let parents = this.getParents(element);\n const overflowRegex = /(auto|scroll)/;\n const overflowCheck = (node) => {\n let styleDeclaration = window['getComputedStyle'](node, null);\n return overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'));\n };\n for (let parent of parents) {\n let scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];\n if (scrollSelectors) {\n let selectors = scrollSelectors.split(',');\n for (let selector of selectors) {\n let el = this.findSingle(parent, selector);\n if (el && overflowCheck(el)) {\n scrollableParents.push(el);\n }\n }\n }\n if (parent.nodeType === 9 || overflowCheck(parent)) {\n scrollableParents.push(parent);\n }\n }\n }\n return scrollableParents;\n }\n static getHiddenElementOuterHeight(element) {\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n let elementHeight = element.offsetHeight;\n element.style.display = 'none';\n element.style.visibility = 'visible';\n return elementHeight;\n }\n static getHiddenElementOuterWidth(element) {\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n let elementWidth = element.offsetWidth;\n element.style.display = 'none';\n element.style.visibility = 'visible';\n return elementWidth;\n }\n static getHiddenElementDimensions(element) {\n let dimensions = {};\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n dimensions.width = element.offsetWidth;\n dimensions.height = element.offsetHeight;\n element.style.display = 'none';\n element.style.visibility = 'visible';\n return dimensions;\n }\n static scrollInView(container, item) {\n let borderTopValue = getComputedStyle(container).getPropertyValue('borderTopWidth');\n let borderTop = borderTopValue ? parseFloat(borderTopValue) : 0;\n let paddingTopValue = getComputedStyle(container).getPropertyValue('paddingTop');\n let paddingTop = paddingTopValue ? parseFloat(paddingTopValue) : 0;\n let containerRect = container.getBoundingClientRect();\n let itemRect = item.getBoundingClientRect();\n let offset = (itemRect.top + document.body.scrollTop) - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;\n let scroll = container.scrollTop;\n let elementHeight = container.clientHeight;\n let itemHeight = this.getOuterHeight(item);\n if (offset < 0) {\n container.scrollTop = scroll + offset;\n }\n else if ((offset + itemHeight) > elementHeight) {\n container.scrollTop = scroll + offset - elementHeight + itemHeight;\n }\n }\n static fadeIn(element, duration) {\n element.style.opacity = 0;\n let last = +new Date();\n let opacity = 0;\n let tick = function () {\n opacity = +element.style.opacity.replace(\",\", \".\") + (new Date().getTime() - last) / duration;\n element.style.opacity = opacity;\n last = +new Date();\n if (+opacity < 1) {\n (window.requestAnimationFrame && requestAnimationFrame(tick)) || setTimeout(tick, 16);\n }\n };\n tick();\n }\n static fadeOut(element, ms) {\n var opacity = 1, interval = 50, duration = ms, gap = interval / duration;\n let fading = setInterval(() => {\n opacity = opacity - gap;\n if (opacity <= 0) {\n opacity = 0;\n clearInterval(fading);\n }\n element.style.opacity = opacity;\n }, interval);\n }\n static getWindowScrollTop() {\n let doc = document.documentElement;\n return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n }\n static getWindowScrollLeft() {\n let doc = document.documentElement;\n return (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);\n }\n static matches(element, selector) {\n var p = Element.prototype;\n var f = p['matches'] || p.webkitMatchesSelector || p['mozMatchesSelector'] || p['msMatchesSelector'] || function (s) {\n return [].indexOf.call(document.querySelectorAll(s), this) !== -1;\n };\n return f.call(element, selector);\n }\n static getOuterWidth(el, margin) {\n let width = el.offsetWidth;\n if (margin) {\n let style = getComputedStyle(el);\n width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n return width;\n }\n static getHorizontalPadding(el) {\n let style = getComputedStyle(el);\n return parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n }\n static getHorizontalMargin(el) {\n let style = getComputedStyle(el);\n return parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n static innerWidth(el) {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n width += parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n return width;\n }\n static width(el) {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight);\n return width;\n }\n static getInnerHeight(el) {\n let height = el.offsetHeight;\n let style = getComputedStyle(el);\n height += parseFloat(style.paddingTop) + parseFloat(style.paddingBottom);\n return height;\n }\n static getOuterHeight(el, margin) {\n let height = el.offsetHeight;\n if (margin) {\n let style = getComputedStyle(el);\n height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n }\n return height;\n }\n static getHeight(el) {\n let height = el.offsetHeight;\n let style = getComputedStyle(el);\n height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n return height;\n }\n static getWidth(el) {\n let width = el.offsetWidth;\n let style = getComputedStyle(el);\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);\n return width;\n }\n static getViewport() {\n let win = window, d = document, e = d.documentElement, g = d.getElementsByTagName('body')[0], w = win.innerWidth || e.clientWidth || g.clientWidth, h = win.innerHeight || e.clientHeight || g.clientHeight;\n return { width: w, height: h };\n }\n static getOffset(el) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),\n left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0),\n };\n }\n static replaceElementWith(element, replacementElement) {\n let parentNode = element.parentNode;\n if (!parentNode)\n throw `Can't replace element`;\n return parentNode.replaceChild(replacementElement, element);\n }\n static getUserAgent() {\n return navigator.userAgent;\n }\n static isIE() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n if (msie > 0) {\n // IE 10 or older => return version number\n return true;\n }\n var trident = ua.indexOf('Trident/');\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return true;\n }\n var edge = ua.indexOf('Edge/');\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return true;\n }\n // other browser\n return false;\n }\n static isIOS() {\n return /iPad|iPhone|iPod/.test(navigator.userAgent) && !window['MSStream'];\n }\n static isAndroid() {\n return /(android)/i.test(navigator.userAgent);\n }\n static appendChild(element, target) {\n if (this.isElement(target))\n target.appendChild(element);\n else if (target.el && target.el.nativeElement)\n target.el.nativeElement.appendChild(element);\n else\n throw 'Cannot append ' + target + ' to ' + element;\n }\n static removeChild(element, target) {\n if (this.isElement(target))\n target.removeChild(element);\n else if (target.el && target.el.nativeElement)\n target.el.nativeElement.removeChild(element);\n else\n throw 'Cannot remove ' + element + ' from ' + target;\n }\n static removeElement(element) {\n if (!('remove' in Element.prototype))\n element.parentNode.removeChild(element);\n else\n element.remove();\n }\n static isElement(obj) {\n return (typeof HTMLElement === \"object\" ? obj instanceof HTMLElement :\n obj && typeof obj === \"object\" && obj !== null && obj.nodeType === 1 && typeof obj.nodeName === \"string\");\n }\n static calculateScrollbarWidth(el) {\n if (el) {\n let style = getComputedStyle(el);\n return (el.offsetWidth - el.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth));\n }\n else {\n if (this.calculatedScrollbarWidth !== null)\n return this.calculatedScrollbarWidth;\n let scrollDiv = document.createElement(\"div\");\n scrollDiv.className = \"p-scrollbar-measure\";\n document.body.appendChild(scrollDiv);\n let scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n this.calculatedScrollbarWidth = scrollbarWidth;\n return scrollbarWidth;\n }\n }\n static calculateScrollbarHeight() {\n if (this.calculatedScrollbarHeight !== null)\n return this.calculatedScrollbarHeight;\n let scrollDiv = document.createElement(\"div\");\n scrollDiv.className = \"p-scrollbar-measure\";\n document.body.appendChild(scrollDiv);\n let scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n document.body.removeChild(scrollDiv);\n this.calculatedScrollbarWidth = scrollbarHeight;\n return scrollbarHeight;\n }\n static invokeElementMethod(element, methodName, args) {\n element[methodName].apply(element, args);\n }\n static clearSelection() {\n if (window.getSelection) {\n if (window.getSelection().empty) {\n window.getSelection().empty();\n }\n else if (window.getSelection().removeAllRanges && window.getSelection().rangeCount > 0 && window.getSelection().getRangeAt(0).getClientRects().length > 0) {\n window.getSelection().removeAllRanges();\n }\n }\n else if (document['selection'] && document['selection'].empty) {\n try {\n document['selection'].empty();\n }\n catch (error) {\n //ignore IE bug\n }\n }\n }\n static getBrowser() {\n if (!this.browser) {\n let matched = this.resolveUserAgent();\n this.browser = {};\n if (matched.browser) {\n this.browser[matched.browser] = true;\n this.browser['version'] = matched.version;\n }\n if (this.browser['chrome']) {\n this.browser['webkit'] = true;\n }\n else if (this.browser['webkit']) {\n this.browser['safari'] = true;\n }\n }\n return this.browser;\n }\n static resolveUserAgent() {\n let ua = navigator.userAgent.toLowerCase();\n let match = /(chrome)[ \\/]([\\w.]+)/.exec(ua) ||\n /(webkit)[ \\/]([\\w.]+)/.exec(ua) ||\n /(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(ua) ||\n /(msie) ([\\w.]+)/.exec(ua) ||\n ua.indexOf(\"compatible\") < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua) ||\n [];\n return {\n browser: match[1] || \"\",\n version: match[2] || \"0\"\n };\n }\n static isInteger(value) {\n if (Number.isInteger) {\n return Number.isInteger(value);\n }\n else {\n return typeof value === \"number\" && isFinite(value) && Math.floor(value) === value;\n }\n }\n static isHidden(element) {\n return element.offsetParent === null;\n }\n static getFocusableElements(element) {\n let focusableElements = DomHandler.find(element, `button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden]),\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden]),\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden]), select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden]),\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden]), [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden]),\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])`);\n let visibleFocusableElements = [];\n for (let focusableElement of focusableElements) {\n if (getComputedStyle(focusableElement).display != \"none\" && getComputedStyle(focusableElement).visibility != \"hidden\")\n visibleFocusableElements.push(focusableElement);\n }\n return visibleFocusableElements;\n }\n static generateZIndex() {\n this.zindex = this.zindex || 999;\n return ++this.zindex;\n }\n}\nDomHandler.zindex = 1000;\nDomHandler.calculatedScrollbarWidth = null;\nDomHandler.calculatedScrollbarHeight = null;\n\nclass ConnectedOverlayScrollHandler {\n constructor(element, listener = () => { }) {\n this.element = element;\n this.listener = listener;\n }\n bindScrollListener() {\n this.scrollableParents = DomHandler.getScrollableParents(this.element);\n for (let i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].addEventListener('scroll', this.listener);\n }\n }\n unbindScrollListener() {\n if (this.scrollableParents) {\n for (let i = 0; i < this.scrollableParents.length; i++) {\n this.scrollableParents[i].removeEventListener('scroll', this.listener);\n }\n }\n }\n destroy() {\n this.unbindScrollListener();\n this.element = null;\n this.listener = null;\n this.scrollableParents = null;\n }\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ConnectedOverlayScrollHandler, DomHandler };\n\n//# sourceMappingURL=primeng-dom.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar hostReportError_1 = require(\"./hostReportError\");\nexports.subscribeToPromise = function (promise) { return function (subscriber) {\n promise.then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, hostReportError_1.hostReportError);\n return subscriber;\n}; };\n//# sourceMappingURL=subscribeToPromise.js.map","import { Subscriber } from './Subscriber';\nexport class InnerSubscriber extends Subscriber {\n constructor(parent, outerValue, outerIndex) {\n super();\n this.parent = parent;\n this.outerValue = outerValue;\n this.outerIndex = outerIndex;\n this.index = 0;\n }\n _next(value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n }\n _error(error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n }\n _complete() {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n }\n}\n//# sourceMappingURL=InnerSubscriber.js.map","import { InnerSubscriber } from '../InnerSubscriber';\nimport { subscribeTo } from './subscribeTo';\nimport { Observable } from '../Observable';\nexport function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, innerSubscriber = new InnerSubscriber(outerSubscriber, outerValue, outerIndex)) {\n if (innerSubscriber.closed) {\n return undefined;\n }\n if (result instanceof Observable) {\n return result.subscribe(innerSubscriber);\n }\n return subscribeTo(result)(innerSubscriber);\n}\n//# sourceMappingURL=subscribeToResult.js.map","// import { CacheDataRequest } from \"./setting\";\r\nimport { SortItem, IFilter } from \"./filtrable\";\r\n\r\n\r\n\r\nexport interface IPage {\r\n pageNumber?: number;\r\n pageSize?: number;\r\n skipPagesCalculation?: boolean;\r\n}\r\n\r\nexport interface IRequestParameter {\r\n page: IPage;\r\n filters?: IFilter[];\r\n sorts?: SortItem[];\r\n data?: { [s: string]: any };\r\n}\r\n\r\nexport class RequestParameter implements IRequestParameter {\r\n constructor(page?: IPage) {\r\n this.page = page;\r\n }\r\n page: IPage;\r\n filters? = new Array();\r\n sorts? = new Array();\r\n data?: { [s: string]: any } = { firstLoad: true };\r\n}\r\n\r\n\r\n// export class SecurityParam {\r\n// crud: number;\r\n// enableAuthAction: boolean;\r\n// }\r\n\r\n\r\n// export class ResponseSetting {\r\n// filterStorage = new Array();\r\n// cacheData: any;\r\n// securityParam = new SecurityParam();\r\n\r\n// defaultModel: any = {};\r\n// }\r\n\r\n// export interface IDslResponse {\r\n// dataSource?: any;\r\n// rowCount?: number;\r\n// // setting: ResponseSetting;\r\n// filters: IFilter[];\r\n// lookupList: { [prop: string]: any[] };\r\n// updateExtras: boolean;\r\n// }\r\n\r\n\r\n\r\n// export class VirtualScrollPage {\r\n// // rowCount?: number;\r\n// pageNumber: number;\r\n// pageSize: number;\r\n// skipPagesCalculation = true;\r\n// }\r\n\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"../Observable\");\nexports.EMPTY = new Observable_1.Observable(function (subscriber) { return subscriber.complete(); });\nfunction empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : exports.EMPTY;\n}\nexports.empty = empty;\nfunction emptyScheduled(scheduler) {\n return new Observable_1.Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CustomFilterPipe } from \"./custom-filter.pipe\";\r\nimport { PhonePipe } from \"./phone.pipe\";\r\nimport { SafePipe } from \"./safe.pipe\";\r\nimport { IdentificationPipe } from \"./identification.pipe\";\r\nimport { SplitFilterPipe } from \"./split-filter.pipe\";\r\nimport { TimePipe } from \"./time.pipe\";\r\nimport { TimeSecondPipe } from \"./timeSecond.pipe\";\r\n\r\n@NgModule({\r\n imports: [CommonModule],\r\n declarations: [\r\n CustomFilterPipe,\r\n PhonePipe,\r\n SafePipe,\r\n IdentificationPipe,\r\n SplitFilterPipe,\r\n TimePipe,\r\n TimeSecondPipe,\r\n ],\r\n exports: [\r\n CustomFilterPipe,\r\n PhonePipe,\r\n SafePipe,\r\n IdentificationPipe,\r\n SplitFilterPipe,\r\n TimePipe,\r\n TimeSecondPipe,\r\n ],\r\n})\r\nexport class PipeModule {}\r\n","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Number.POSITIVE_INFINITY) {\n return mergeMap(identity, concurrent);\n}\n//# sourceMappingURL=mergeAll.js.map","import { mergeMap } from './mergeMap';\nexport function concatMap(project, resultSelector) {\n return mergeMap(project, resultSelector, 1);\n}\n//# sourceMappingURL=concatMap.js.map","import { Subject } from \"rxjs/internal/Subject\";\r\nimport { N2PdfViewerModel } from \"./pdf-viewer.model\";\r\n\r\nexport class N2BlobReference {\r\n subject = new Subject();\r\n response = this.subject.asObservable();\r\n}\r\n\r\nlet n2BlobRef = new N2BlobReference();\r\n\r\nexport const BlobService = (blob?: N2BlobReference): N2BlobReference => {\r\n if (blob) n2BlobRef = blob;\r\n return n2BlobRef;\r\n};\r\n","export function isPromise(value) {\n return !!value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\n//# sourceMappingURL=isPromise.js.map","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { FooterComponent } from \"./footer.component\";\r\n\r\n@NgModule({\r\n imports: [RouterModule, CommonModule],\r\n declarations: [FooterComponent],\r\n exports: [FooterComponent],\r\n})\r\nexport class FooterModule {}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"crnd\";","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class TokenService {\r\n readonly tokenKey = \"___MOPC_TOKEN__\";\r\n\r\n private _b64decode(str: string) {\r\n const chars =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n\r\n let output = \"\";\r\n\r\n str = String(str).replace(/=+$/, \"\");\r\n\r\n if (str.length % 4 == 1) {\r\n throw new Error(\r\n \"'atob' failed: The string to be decoded is not correctly encoded.\"\r\n );\r\n }\r\n for (\r\n // initialize result and counters\r\n let bc = 0, bs = void 0, buffer = void 0, idx = 0; // get next character\r\n (buffer = str.charAt(idx++)); // character found in table? initialize bit storage and add its ascii value;\r\n ~buffer &&\r\n ((bs = bc % 4 ? bs * 64 + buffer : buffer), // and if not first of each 4 characters,\r\n // convert the first 8 bits to one ascii character\r\n bc++ % 4)\r\n ? (output += String.fromCharCode(255 & (bs >> ((-2 * bc) & 6))))\r\n : 0\r\n ) {\r\n // try to find character in table (0-63, not found => -1)\r\n buffer = chars.indexOf(buffer);\r\n }\r\n\r\n return output;\r\n }\r\n\r\n private _b64DecodeUnicode(str: string) {\r\n return decodeURIComponent(\r\n Array.prototype.map\r\n .call(this._b64decode(str), function (c) {\r\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\r\n })\r\n .join(\"\")\r\n );\r\n }\r\n\r\n private _urlBase64Decode(str: string): string {\r\n let output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\r\n\r\n switch (output.length % 4) {\r\n case 0: {\r\n break;\r\n }\r\n case 2: {\r\n output += \"==\";\r\n break;\r\n }\r\n case 3: {\r\n output += \"=\";\r\n break;\r\n }\r\n default: {\r\n throw new Error(\"Illegal base64url string!\");\r\n }\r\n }\r\n\r\n return this._b64DecodeUnicode(output);\r\n }\r\n\r\n setToken(token: string) {\r\n localStorage.setItem(this.tokenKey, token);\r\n }\r\n\r\n getToken(): string {\r\n return localStorage.getItem(this.tokenKey);\r\n }\r\n\r\n toJSON(accessToken: string) {\r\n return JSON.parse(this.decodeToken(accessToken));\r\n }\r\n\r\n getValueFromClaim(accessToken: string, claim: string): string {\r\n return this.decodeToken(accessToken)[claim];\r\n }\r\n\r\n isTokenExpired(accessToken: string, offsetSeconds?: number): boolean {\r\n // tokenName = this.getToken();\r\n const tokenName = accessToken;\r\n\r\n if (tokenName == null) {\r\n return true;\r\n }\r\n\r\n const date = this.getTokenExpirationDate(accessToken);\r\n\r\n offsetSeconds = offsetSeconds || 0;\r\n\r\n if (date == null) {\r\n return false;\r\n }\r\n\r\n // Token expired?\r\n const result = !(\r\n date.valueOf() >\r\n new Date().valueOf() + offsetSeconds * 1000\r\n );\r\n\r\n return result;\r\n }\r\n\r\n decodeToken(accessToken: string): any {\r\n const parts = accessToken.split(\".\");\r\n\r\n if (parts.length !== 3) {\r\n throw new Error(\"JWT must have 3 parts\");\r\n }\r\n\r\n const decoded = this._urlBase64Decode(parts[1]);\r\n\r\n if (!decoded) {\r\n throw new Error(\"Cannot decode the token\");\r\n }\r\n\r\n return JSON.parse(decoded);\r\n }\r\n\r\n getTokenExpirationDate(accessToken: string): Date {\r\n const decoded = this.decodeToken(accessToken);\r\n\r\n if (!decoded.hasOwnProperty(\"exp\")) {\r\n return null;\r\n }\r\n\r\n const date = new Date(0); // The 0 here is the key, which sets the date to the epoch\r\n\r\n date.setUTCSeconds(decoded.exp);\r\n\r\n return date;\r\n }\r\n}\r\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n }\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Observable_1 = require(\"./Observable\");\nvar Subscriber_1 = require(\"./Subscriber\");\nvar Subscription_1 = require(\"./Subscription\");\nvar ObjectUnsubscribedError_1 = require(\"./util/ObjectUnsubscribedError\");\nvar SubjectSubscription_1 = require(\"./SubjectSubscription\");\nvar rxSubscriber_1 = require(\"../internal/symbol/rxSubscriber\");\nvar SubjectSubscriber = (function (_super) {\n __extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n var _this = _super.call(this, destination) || this;\n _this.destination = destination;\n return _this;\n }\n return SubjectSubscriber;\n}(Subscriber_1.Subscriber));\nexports.SubjectSubscriber = SubjectSubscriber;\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.observers = [];\n _this.closed = false;\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype[rxSubscriber_1.rxSubscriber] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription_1.Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription_1.Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription_1.SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable_1.Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable_1.Observable));\nexports.Subject = Subject;\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription_1.Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexports.AnonymousSubject = AnonymousSubject;\n//# sourceMappingURL=Subject.js.map","import { map } from './map';\nimport { from } from '../observable/from';\nimport { SimpleOuterSubscriber, SimpleInnerSubscriber, innerSubscribe } from '../innerSubscribe';\nexport function switchMap(project, resultSelector) {\n if (typeof resultSelector === 'function') {\n return (source) => source.pipe(switchMap((a, i) => from(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii)))));\n }\n return (source) => source.lift(new SwitchMapOperator(project));\n}\nclass SwitchMapOperator {\n constructor(project) {\n this.project = project;\n }\n call(subscriber, source) {\n return source.subscribe(new SwitchMapSubscriber(subscriber, this.project));\n }\n}\nclass SwitchMapSubscriber extends SimpleOuterSubscriber {\n constructor(destination, project) {\n super(destination);\n this.project = project;\n this.index = 0;\n }\n _next(value) {\n let result;\n const index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (error) {\n this.destination.error(error);\n return;\n }\n this._innerSub(result);\n }\n _innerSub(result) {\n const innerSubscription = this.innerSubscription;\n if (innerSubscription) {\n innerSubscription.unsubscribe();\n }\n const innerSubscriber = new SimpleInnerSubscriber(this);\n const destination = this.destination;\n destination.add(innerSubscriber);\n this.innerSubscription = innerSubscribe(result, innerSubscriber);\n if (this.innerSubscription !== innerSubscriber) {\n destination.add(this.innerSubscription);\n }\n }\n _complete() {\n const { innerSubscription } = this;\n if (!innerSubscription || innerSubscription.closed) {\n super._complete();\n }\n this.unsubscribe();\n }\n _unsubscribe() {\n this.innerSubscription = undefined;\n }\n notifyComplete() {\n this.innerSubscription = undefined;\n if (this.isStopped) {\n super._complete();\n }\n }\n notifyNext(innerValue) {\n this.destination.next(innerValue);\n }\n}\n//# sourceMappingURL=switchMap.js.map","/**\n * @license Angular v11.0.3\n * (c) 2010-2020 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { Subject, Subscription, Observable, merge as merge$1 } from 'rxjs';\nimport { share } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction getClosureSafeProperty(objWithPropertyToExtract) {\n for (let key in objWithPropertyToExtract) {\n if (objWithPropertyToExtract[key] === getClosureSafeProperty) {\n return key;\n }\n }\n throw Error('Could not find renamed property on target object.');\n}\n/**\n * Sets properties on a target object from a source object, but only if\n * the property doesn't already exist on the target object.\n * @param target The target to set properties on\n * @param source The source of the property keys and values to set\n */\nfunction fillProperties(target, source) {\n for (const key in source) {\n if (source.hasOwnProperty(key) && !target.hasOwnProperty(key)) {\n target[key] = source[key];\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction stringify(token) {\n if (typeof token === 'string') {\n return token;\n }\n if (Array.isArray(token)) {\n return '[' + token.map(stringify).join(', ') + ']';\n }\n if (token == null) {\n return '' + token;\n }\n if (token.overriddenName) {\n return `${token.overriddenName}`;\n }\n if (token.name) {\n return `${token.name}`;\n }\n const res = token.toString();\n if (res == null) {\n return '' + res;\n }\n const newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n}\n/**\n * Concatenates two strings with separator, allocating new strings only when necessary.\n *\n * @param before before string.\n * @param separator separator string.\n * @param after after string.\n * @returns concatenated string.\n */\nfunction concatStringsWithSpace(before, after) {\n return (before == null || before === '') ?\n (after === null ? '' : after) :\n ((after == null || after === '') ? before : before + ' ' + after);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst __forward_ref__ = getClosureSafeProperty({ __forward_ref__: getClosureSafeProperty });\n/**\n * Allows to refer to references which are not yet defined.\n *\n * For instance, `forwardRef` is used when the `token` which we need to refer to for the purposes of\n * DI is declared, but not yet defined. It is also used when the `token` which we use when creating\n * a query is not yet defined.\n *\n * @usageNotes\n * ### Example\n * {@example core/di/ts/forward_ref/forward_ref_spec.ts region='forward_ref'}\n * @publicApi\n */\nfunction forwardRef(forwardRefFn) {\n forwardRefFn.__forward_ref__ = forwardRef;\n forwardRefFn.toString = function () {\n return stringify(this());\n };\n return forwardRefFn;\n}\n/**\n * Lazily retrieves the reference value from a forwardRef.\n *\n * Acts as the identity function when given a non-forward-ref value.\n *\n * @usageNotes\n * ### Example\n *\n * {@example core/di/ts/forward_ref/forward_ref_spec.ts region='resolve_forward_ref'}\n *\n * @see `forwardRef`\n * @publicApi\n */\nfunction resolveForwardRef(type) {\n return isForwardRef(type) ? type() : type;\n}\n/** Checks whether a function is wrapped by a `forwardRef`. */\nfunction isForwardRef(fn) {\n return typeof fn === 'function' && fn.hasOwnProperty(__forward_ref__) &&\n fn.__forward_ref__ === forwardRef;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction assertNumber(actual, msg) {\n if (!(typeof actual === 'number')) {\n throwError(msg, typeof actual, 'number', '===');\n }\n}\nfunction assertNumberInRange(actual, minInclusive, maxInclusive) {\n assertNumber(actual, 'Expected a number');\n assertLessThanOrEqual(actual, maxInclusive, 'Expected number to be less than or equal to');\n assertGreaterThanOrEqual(actual, minInclusive, 'Expected number to be greater than or equal to');\n}\nfunction assertString(actual, msg) {\n if (!(typeof actual === 'string')) {\n throwError(msg, actual === null ? 'null' : typeof actual, 'string', '===');\n }\n}\nfunction assertEqual(actual, expected, msg) {\n if (!(actual == expected)) {\n throwError(msg, actual, expected, '==');\n }\n}\nfunction assertNotEqual(actual, expected, msg) {\n if (!(actual != expected)) {\n throwError(msg, actual, expected, '!=');\n }\n}\nfunction assertSame(actual, expected, msg) {\n if (!(actual === expected)) {\n throwError(msg, actual, expected, '===');\n }\n}\nfunction assertNotSame(actual, expected, msg) {\n if (!(actual !== expected)) {\n throwError(msg, actual, expected, '!==');\n }\n}\nfunction assertLessThan(actual, expected, msg) {\n if (!(actual < expected)) {\n throwError(msg, actual, expected, '<');\n }\n}\nfunction assertLessThanOrEqual(actual, expected, msg) {\n if (!(actual <= expected)) {\n throwError(msg, actual, expected, '<=');\n }\n}\nfunction assertGreaterThan(actual, expected, msg) {\n if (!(actual > expected)) {\n throwError(msg, actual, expected, '>');\n }\n}\nfunction assertGreaterThanOrEqual(actual, expected, msg) {\n if (!(actual >= expected)) {\n throwError(msg, actual, expected, '>=');\n }\n}\nfunction assertNotDefined(actual, msg) {\n if (actual != null) {\n throwError(msg, actual, null, '==');\n }\n}\nfunction assertDefined(actual, msg) {\n if (actual == null) {\n throwError(msg, actual, null, '!=');\n }\n}\nfunction throwError(msg, actual, expected, comparison) {\n throw new Error(`ASSERTION ERROR: ${msg}` +\n (comparison == null ? '' : ` [Expected=> ${expected} ${comparison} ${actual} <=Actual]`));\n}\nfunction assertDomNode(node) {\n // If we're in a worker, `Node` will not be defined.\n if (!(typeof Node !== 'undefined' && node instanceof Node) &&\n !(typeof node === 'object' && node != null &&\n node.constructor.name === 'WebWorkerRenderNode')) {\n throwError(`The provided value must be an instance of a DOM Node but got ${stringify(node)}`);\n }\n}\nfunction assertIndexInRange(arr, index) {\n assertDefined(arr, 'Array must be defined.');\n const maxLen = arr.length;\n if (index < 0 || index >= maxLen) {\n throwError(`Index expected to be less than ${maxLen} but got ${index}`);\n }\n}\nfunction assertOneOf(value, ...validValues) {\n if (validValues.indexOf(value) !== -1)\n return true;\n throwError(`Expected value to be one of ${JSON.stringify(validValues)} but was ${JSON.stringify(value)}.`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Construct an `InjectableDef` which defines how a token will be constructed by the DI system, and\n * in which injectors (if any) it will be available.\n *\n * This should be assigned to a static `ɵprov` field on a type, which will then be an\n * `InjectableType`.\n *\n * Options:\n * * `providedIn` determines which injectors will include the injectable, by either associating it\n * with an `@NgModule` or other `InjectorType`, or by specifying that this injectable should be\n * provided in the `'root'` injector, which will be the application-level injector in most apps.\n * * `factory` gives the zero argument function which will create an instance of the injectable.\n * The factory can call `inject` to access the `Injector` and request injection of dependencies.\n *\n * @codeGenApi\n * @publicApi This instruction has been emitted by ViewEngine for some time and is deployed to npm.\n */\nfunction ɵɵdefineInjectable(opts) {\n return {\n token: opts.token,\n providedIn: opts.providedIn || null,\n factory: opts.factory,\n value: undefined,\n };\n}\n/**\n * @deprecated in v8, delete after v10. This API should be used only by generated code, and that\n * code should now use ɵɵdefineInjectable instead.\n * @publicApi\n */\nconst defineInjectable = ɵɵdefineInjectable;\n/**\n * Construct an `InjectorDef` which configures an injector.\n *\n * This should be assigned to a static injector def (`ɵinj`) field on a type, which will then be an\n * `InjectorType`.\n *\n * Options:\n *\n * * `factory`: an `InjectorType` is an instantiable type, so a zero argument `factory` function to\n * create the type must be provided. If that factory function needs to inject arguments, it can\n * use the `inject` function.\n * * `providers`: an optional array of providers to add to the injector. Each provider must\n * either have a factory or point to a type which has a `ɵprov` static property (the\n * type must be an `InjectableType`).\n * * `imports`: an optional array of imports of other `InjectorType`s or `InjectorTypeWithModule`s\n * whose providers will also be added to the injector. Locally provided types will override\n * providers from imports.\n *\n * @codeGenApi\n */\nfunction ɵɵdefineInjector(options) {\n return {\n factory: options.factory,\n providers: options.providers || [],\n imports: options.imports || [],\n };\n}\n/**\n * Read the injectable def (`ɵprov`) for `type` in a way which is immune to accidentally reading\n * inherited value.\n *\n * @param type A type which may have its own (non-inherited) `ɵprov`.\n */\nfunction getInjectableDef(type) {\n return getOwnDefinition(type, NG_PROV_DEF) || getOwnDefinition(type, NG_INJECTABLE_DEF);\n}\n/**\n * Return definition only if it is defined directly on `type` and is not inherited from a base\n * class of `type`.\n */\nfunction getOwnDefinition(type, field) {\n return type.hasOwnProperty(field) ? type[field] : null;\n}\n/**\n * Read the injectable def (`ɵprov`) for `type` or read the `ɵprov` from one of its ancestors.\n *\n * @param type A type which may have `ɵprov`, via inheritance.\n *\n * @deprecated Will be removed in a future version of Angular, where an error will occur in the\n * scenario if we find the `ɵprov` on an ancestor only.\n */\nfunction getInheritedInjectableDef(type) {\n const def = type && (type[NG_PROV_DEF] || type[NG_INJECTABLE_DEF]);\n if (def) {\n const typeName = getTypeName(type);\n // TODO(FW-1307): Re-add ngDevMode when closure can handle it\n // ngDevMode &&\n console.warn(`DEPRECATED: DI is instantiating a token \"${typeName}\" that inherits its @Injectable decorator but does not provide one itself.\\n` +\n `This will become an error in a future version of Angular. Please add @Injectable() to the \"${typeName}\" class.`);\n return def;\n }\n else {\n return null;\n }\n}\n/** Gets the name of a type, accounting for some cross-browser differences. */\nfunction getTypeName(type) {\n // `Function.prototype.name` behaves differently between IE and other browsers. In most browsers\n // it'll always return the name of the function itself, no matter how many other functions it\n // inherits from. On IE the function doesn't have its own `name` property, but it takes it from\n // the lowest level in the prototype chain. E.g. if we have `class Foo extends Parent` most\n // browsers will evaluate `Foo.name` to `Foo` while IE will return `Parent`. We work around\n // the issue by converting the function to a string and parsing its name out that way via a regex.\n if (type.hasOwnProperty('name')) {\n return type.name;\n }\n const match = ('' + type).match(/^function\\s*([^\\s(]+)/);\n return match === null ? '' : match[1];\n}\n/**\n * Read the injector def type in a way which is immune to accidentally reading inherited value.\n *\n * @param type type which may have an injector def (`ɵinj`)\n */\nfunction getInjectorDef(type) {\n return type && (type.hasOwnProperty(NG_INJ_DEF) || type.hasOwnProperty(NG_INJECTOR_DEF)) ?\n type[NG_INJ_DEF] :\n null;\n}\nconst NG_PROV_DEF = getClosureSafeProperty({ ɵprov: getClosureSafeProperty });\nconst NG_INJ_DEF = getClosureSafeProperty({ ɵinj: getClosureSafeProperty });\n// We need to keep these around so we can read off old defs if new defs are unavailable\nconst NG_INJECTABLE_DEF = getClosureSafeProperty({ ngInjectableDef: getClosureSafeProperty });\nconst NG_INJECTOR_DEF = getClosureSafeProperty({ ngInjectorDef: getClosureSafeProperty });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection flags for DI.\n *\n * @publicApi\n */\nvar InjectFlags;\n(function (InjectFlags) {\n // TODO(alxhub): make this 'const' when ngc no longer writes exports of it into ngfactory files.\n /** Check self and check parent injector if needed */\n InjectFlags[InjectFlags[\"Default\"] = 0] = \"Default\";\n /**\n * Specifies that an injector should retrieve a dependency from any injector until reaching the\n * host element of the current component. (Only used with Element Injector)\n */\n InjectFlags[InjectFlags[\"Host\"] = 1] = \"Host\";\n /** Don't ascend to ancestors of the node requesting injection. */\n InjectFlags[InjectFlags[\"Self\"] = 2] = \"Self\";\n /** Skip the node that is requesting injection. */\n InjectFlags[InjectFlags[\"SkipSelf\"] = 4] = \"SkipSelf\";\n /** Inject `defaultValue` instead if token not found. */\n InjectFlags[InjectFlags[\"Optional\"] = 8] = \"Optional\";\n})(InjectFlags || (InjectFlags = {}));\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Current implementation of inject.\n *\n * By default, it is `injectInjectorOnly`, which makes it `Injector`-only aware. It can be changed\n * to `directiveInject`, which brings in the `NodeInjector` system of ivy. It is designed this\n * way for two reasons:\n * 1. `Injector` should not depend on ivy logic.\n * 2. To maintain tree shake-ability we don't want to bring in unnecessary code.\n */\nlet _injectImplementation;\nfunction getInjectImplementation() {\n return _injectImplementation;\n}\n/**\n * Sets the current inject implementation.\n */\nfunction setInjectImplementation(impl) {\n const previous = _injectImplementation;\n _injectImplementation = impl;\n return previous;\n}\n/**\n * Injects `root` tokens in limp mode.\n *\n * If no injector exists, we can still inject tree-shakable providers which have `providedIn` set to\n * `\"root\"`. This is known as the limp mode injection. In such case the value is stored in the\n * `InjectableDef`.\n */\nfunction injectRootLimpMode(token, notFoundValue, flags) {\n const injectableDef = getInjectableDef(token);\n if (injectableDef && injectableDef.providedIn == 'root') {\n return injectableDef.value === undefined ? injectableDef.value = injectableDef.factory() :\n injectableDef.value;\n }\n if (flags & InjectFlags.Optional)\n return null;\n if (notFoundValue !== undefined)\n return notFoundValue;\n throw new Error(`Injector: NOT_FOUND [${stringify(token)}]`);\n}\n/**\n * Assert that `_injectImplementation` is not `fn`.\n *\n * This is useful, to prevent infinite recursion.\n *\n * @param fn Function which it should not equal to\n */\nfunction assertInjectImplementationNotEqual(fn) {\n ngDevMode &&\n assertNotEqual(_injectImplementation, fn, 'Calling ɵɵinject would cause infinite recursion');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Convince closure compiler that the wrapped function has no side-effects.\n *\n * Closure compiler always assumes that `toString` has no side-effects. We use this quirk to\n * allow us to execute a function but have closure compiler mark the call as no-side-effects.\n * It is important that the return value for the `noSideEffects` function be assigned\n * to something which is retained otherwise the call to `noSideEffects` will be removed by closure\n * compiler.\n */\nfunction noSideEffects(fn) {\n return { toString: fn }.toString();\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The strategy that the default change detector uses to detect changes.\n * When set, takes effect the next time change detection is triggered.\n *\n * @see {@link ChangeDetectorRef#usage-notes Change detection usage}\n *\n * @publicApi\n */\nvar ChangeDetectionStrategy;\n(function (ChangeDetectionStrategy) {\n /**\n * Use the `CheckOnce` strategy, meaning that automatic change detection is deactivated\n * until reactivated by setting the strategy to `Default` (`CheckAlways`).\n * Change detection can still be explicitly invoked.\n * This strategy applies to all child directives and cannot be overridden.\n */\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"OnPush\"] = 0] = \"OnPush\";\n /**\n * Use the default `CheckAlways` strategy, in which change detection is automatic until\n * explicitly deactivated.\n */\n ChangeDetectionStrategy[ChangeDetectionStrategy[\"Default\"] = 1] = \"Default\";\n})(ChangeDetectionStrategy || (ChangeDetectionStrategy = {}));\n/**\n * Defines the possible states of the default change detector.\n * @see `ChangeDetectorRef`\n */\nvar ChangeDetectorStatus;\n(function (ChangeDetectorStatus) {\n /**\n * A state in which, after calling `detectChanges()`, the change detector\n * state becomes `Checked`, and must be explicitly invoked or reactivated.\n */\n ChangeDetectorStatus[ChangeDetectorStatus[\"CheckOnce\"] = 0] = \"CheckOnce\";\n /**\n * A state in which change detection is skipped until the change detector mode\n * becomes `CheckOnce`.\n */\n ChangeDetectorStatus[ChangeDetectorStatus[\"Checked\"] = 1] = \"Checked\";\n /**\n * A state in which change detection continues automatically until explicitly\n * deactivated.\n */\n ChangeDetectorStatus[ChangeDetectorStatus[\"CheckAlways\"] = 2] = \"CheckAlways\";\n /**\n * A state in which a change detector sub tree is not a part of the main tree and\n * should be skipped.\n */\n ChangeDetectorStatus[ChangeDetectorStatus[\"Detached\"] = 3] = \"Detached\";\n /**\n * Indicates that the change detector encountered an error checking a binding\n * or calling a directive lifecycle method and is now in an inconsistent state. Change\n * detectors in this state do not detect changes.\n */\n ChangeDetectorStatus[ChangeDetectorStatus[\"Errored\"] = 4] = \"Errored\";\n /**\n * Indicates that the change detector has been destroyed.\n */\n ChangeDetectorStatus[ChangeDetectorStatus[\"Destroyed\"] = 5] = \"Destroyed\";\n})(ChangeDetectorStatus || (ChangeDetectorStatus = {}));\n/**\n * Reports whether a given strategy is currently the default for change detection.\n * @param changeDetectionStrategy The strategy to check.\n * @returns True if the given strategy is the current default, false otherwise.\n * @see `ChangeDetectorStatus`\n * @see `ChangeDetectorRef`\n */\nfunction isDefaultChangeDetectionStrategy(changeDetectionStrategy) {\n return changeDetectionStrategy == null ||\n changeDetectionStrategy === ChangeDetectionStrategy.Default;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Defines template and style encapsulation options available for Component's {@link Component}.\n *\n * See {@link Component#encapsulation encapsulation}.\n *\n * @usageNotes\n * ### Example\n *\n * {@example core/ts/metadata/encapsulation.ts region='longform'}\n *\n * @publicApi\n */\nvar ViewEncapsulation;\n(function (ViewEncapsulation) {\n /**\n * Emulate `Native` scoping of styles by adding an attribute containing surrogate id to the Host\n * Element and pre-processing the style rules provided via {@link Component#styles styles} or\n * {@link Component#styleUrls styleUrls}, and adding the new Host Element attribute to all\n * selectors.\n *\n * This is the default option.\n */\n ViewEncapsulation[ViewEncapsulation[\"Emulated\"] = 0] = \"Emulated\";\n // Historically the 1 value was for `Native` encapsulation which has been removed as of v11.\n /**\n * Don't provide any template or style encapsulation.\n */\n ViewEncapsulation[ViewEncapsulation[\"None\"] = 2] = \"None\";\n /**\n * Use Shadow DOM to encapsulate styles.\n *\n * For the DOM this means using modern [Shadow\n * DOM](https://w3c.github.io/webcomponents/spec/shadow/) and\n * creating a ShadowRoot for Component's Host Element.\n */\n ViewEncapsulation[ViewEncapsulation[\"ShadowDom\"] = 3] = \"ShadowDom\";\n})(ViewEncapsulation || (ViewEncapsulation = {}));\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst __globalThis = typeof globalThis !== 'undefined' && globalThis;\nconst __window = typeof window !== 'undefined' && window;\nconst __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nconst __global = typeof global !== 'undefined' && global;\n// Always use __globalThis if available, which is the spec-defined global variable across all\n// environments, then fallback to __global first, because in Node tests both __global and\n// __window may be defined and _global should be __global in that case.\nconst _global = __globalThis || __global || __window || __self;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction ngDevModeResetPerfCounters() {\n const locationString = typeof location !== 'undefined' ? location.toString() : '';\n const newCounters = {\n namedConstructors: locationString.indexOf('ngDevMode=namedConstructors') != -1,\n firstCreatePass: 0,\n tNode: 0,\n tView: 0,\n rendererCreateTextNode: 0,\n rendererSetText: 0,\n rendererCreateElement: 0,\n rendererAddEventListener: 0,\n rendererSetAttribute: 0,\n rendererRemoveAttribute: 0,\n rendererSetProperty: 0,\n rendererSetClassName: 0,\n rendererAddClass: 0,\n rendererRemoveClass: 0,\n rendererSetStyle: 0,\n rendererRemoveStyle: 0,\n rendererDestroy: 0,\n rendererDestroyNode: 0,\n rendererMoveNode: 0,\n rendererRemoveNode: 0,\n rendererAppendChild: 0,\n rendererInsertBefore: 0,\n rendererCreateComment: 0,\n };\n // Make sure to refer to ngDevMode as ['ngDevMode'] for closure.\n const allowNgDevModeTrue = locationString.indexOf('ngDevMode=false') === -1;\n _global['ngDevMode'] = allowNgDevModeTrue && newCounters;\n return newCounters;\n}\n/**\n * This function checks to see if the `ngDevMode` has been set. If yes,\n * then we honor it, otherwise we default to dev mode with additional checks.\n *\n * The idea is that unless we are doing production build where we explicitly\n * set `ngDevMode == false` we should be helping the developer by providing\n * as much early warning and errors as possible.\n *\n * `ɵɵdefineComponent` is guaranteed to have been called before any component template functions\n * (and thus Ivy instructions), so a single initialization there is sufficient to ensure ngDevMode\n * is defined for the entire instruction set.\n *\n * When checking `ngDevMode` on toplevel, always init it before referencing it\n * (e.g. `((typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode())`), otherwise you can\n * get a `ReferenceError` like in https://github.com/angular/angular/issues/31595.\n *\n * Details on possible values for `ngDevMode` can be found on its docstring.\n *\n * NOTE:\n * - changes to the `ngDevMode` name must be synced with `compiler-cli/src/tooling.ts`.\n */\nfunction initNgDevMode() {\n // The below checks are to ensure that calling `initNgDevMode` multiple times does not\n // reset the counters.\n // If the `ngDevMode` is not an object, then it means we have not created the perf counters\n // yet.\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (typeof ngDevMode !== 'object') {\n ngDevModeResetPerfCounters();\n }\n return typeof ngDevMode !== 'undefined' && !!ngDevMode;\n }\n return false;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This file contains reuseable \"empty\" symbols that can be used as default return values\n * in different parts of the rendering code. Because the same symbols are returned, this\n * allows for identity checks against these values to be consistently used by the framework\n * code.\n */\nconst EMPTY_OBJ = {};\nconst EMPTY_ARRAY = [];\n// freezing the values prevents any code from accidentally inserting new values in\nif ((typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode()) {\n // These property accesses can be ignored because ngDevMode will be set to false\n // when optimizing code and the whole if statement will be dropped.\n // tslint:disable-next-line:no-toplevel-property-access\n Object.freeze(EMPTY_OBJ);\n // tslint:disable-next-line:no-toplevel-property-access\n Object.freeze(EMPTY_ARRAY);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_COMP_DEF = getClosureSafeProperty({ ɵcmp: getClosureSafeProperty });\nconst NG_DIR_DEF = getClosureSafeProperty({ ɵdir: getClosureSafeProperty });\nconst NG_PIPE_DEF = getClosureSafeProperty({ ɵpipe: getClosureSafeProperty });\nconst NG_MOD_DEF = getClosureSafeProperty({ ɵmod: getClosureSafeProperty });\nconst NG_LOC_ID_DEF = getClosureSafeProperty({ ɵloc: getClosureSafeProperty });\nconst NG_FACTORY_DEF = getClosureSafeProperty({ ɵfac: getClosureSafeProperty });\n/**\n * If a directive is diPublic, bloomAdd sets a property on the type with this constant as\n * the key and the directive's unique ID as the value. This allows us to map directives to their\n * bloom filter bit for DI.\n */\n// TODO(misko): This is wrong. The NG_ELEMENT_ID should never be minified.\nconst NG_ELEMENT_ID = getClosureSafeProperty({ __NG_ELEMENT_ID__: getClosureSafeProperty });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet _renderCompCount = 0;\n/**\n * Create a component definition object.\n *\n *\n * # Example\n * ```\n * class MyDirective {\n * // Generated by Angular Template Compiler\n * // [Symbol] syntax will not be supported by TypeScript until v2.7\n * static ɵcmp = defineComponent({\n * ...\n * });\n * }\n * ```\n * @codeGenApi\n */\nfunction ɵɵdefineComponent(componentDefinition) {\n return noSideEffects(() => {\n // Initialize ngDevMode. This must be the first statement in ɵɵdefineComponent.\n // See the `initNgDevMode` docstring for more information.\n (typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode();\n const type = componentDefinition.type;\n const typePrototype = type.prototype;\n const declaredInputs = {};\n const def = {\n type: type,\n providersResolver: null,\n decls: componentDefinition.decls,\n vars: componentDefinition.vars,\n factory: null,\n template: componentDefinition.template || null,\n consts: componentDefinition.consts || null,\n ngContentSelectors: componentDefinition.ngContentSelectors,\n hostBindings: componentDefinition.hostBindings || null,\n hostVars: componentDefinition.hostVars || 0,\n hostAttrs: componentDefinition.hostAttrs || null,\n contentQueries: componentDefinition.contentQueries || null,\n declaredInputs: declaredInputs,\n inputs: null,\n outputs: null,\n exportAs: componentDefinition.exportAs || null,\n onPush: componentDefinition.changeDetection === ChangeDetectionStrategy.OnPush,\n directiveDefs: null,\n pipeDefs: null,\n selectors: componentDefinition.selectors || EMPTY_ARRAY,\n viewQuery: componentDefinition.viewQuery || null,\n features: componentDefinition.features || null,\n data: componentDefinition.data || {},\n // TODO(misko): convert ViewEncapsulation into const enum so that it can be used\n // directly in the next line. Also `None` should be 0 not 2.\n encapsulation: componentDefinition.encapsulation || ViewEncapsulation.Emulated,\n id: 'c',\n styles: componentDefinition.styles || EMPTY_ARRAY,\n _: null,\n setInput: null,\n schemas: componentDefinition.schemas || null,\n tView: null,\n };\n const directiveTypes = componentDefinition.directives;\n const feature = componentDefinition.features;\n const pipeTypes = componentDefinition.pipes;\n def.id += _renderCompCount++;\n def.inputs = invertObject(componentDefinition.inputs, declaredInputs),\n def.outputs = invertObject(componentDefinition.outputs),\n feature && feature.forEach((fn) => fn(def));\n def.directiveDefs = directiveTypes ?\n () => (typeof directiveTypes === 'function' ? directiveTypes() : directiveTypes)\n .map(extractDirectiveDef) :\n null;\n def.pipeDefs = pipeTypes ?\n () => (typeof pipeTypes === 'function' ? pipeTypes() : pipeTypes).map(extractPipeDef) :\n null;\n return def;\n });\n}\n/**\n * Generated next to NgModules to monkey-patch directive and pipe references onto a component's\n * definition, when generating a direct reference in the component file would otherwise create an\n * import cycle.\n *\n * See [this explanation](https://hackmd.io/Odw80D0pR6yfsOjg_7XCJg?view) for more details.\n *\n * @codeGenApi\n */\nfunction ɵɵsetComponentScope(type, directives, pipes) {\n const def = type.ɵcmp;\n def.directiveDefs = () => directives.map(extractDirectiveDef);\n def.pipeDefs = () => pipes.map(extractPipeDef);\n}\nfunction extractDirectiveDef(type) {\n const def = getComponentDef(type) || getDirectiveDef(type);\n if (ngDevMode && !def) {\n throw new Error(`'${type.name}' is neither 'ComponentType' or 'DirectiveType'.`);\n }\n return def;\n}\nfunction extractPipeDef(type) {\n const def = getPipeDef(type);\n if (ngDevMode && !def) {\n throw new Error(`'${type.name}' is not a 'PipeType'.`);\n }\n return def;\n}\nconst autoRegisterModuleById = {};\n/**\n * @codeGenApi\n */\nfunction ɵɵdefineNgModule(def) {\n const res = {\n type: def.type,\n bootstrap: def.bootstrap || EMPTY_ARRAY,\n declarations: def.declarations || EMPTY_ARRAY,\n imports: def.imports || EMPTY_ARRAY,\n exports: def.exports || EMPTY_ARRAY,\n transitiveCompileScopes: null,\n schemas: def.schemas || null,\n id: def.id || null,\n };\n if (def.id != null) {\n noSideEffects(() => {\n autoRegisterModuleById[def.id] = def.type;\n });\n }\n return res;\n}\n/**\n * Adds the module metadata that is necessary to compute the module's transitive scope to an\n * existing module definition.\n *\n * Scope metadata of modules is not used in production builds, so calls to this function can be\n * marked pure to tree-shake it from the bundle, allowing for all referenced declarations\n * to become eligible for tree-shaking as well.\n *\n * @codeGenApi\n */\nfunction ɵɵsetNgModuleScope(type, scope) {\n return noSideEffects(() => {\n const ngModuleDef = getNgModuleDef(type, true);\n ngModuleDef.declarations = scope.declarations || EMPTY_ARRAY;\n ngModuleDef.imports = scope.imports || EMPTY_ARRAY;\n ngModuleDef.exports = scope.exports || EMPTY_ARRAY;\n });\n}\n/**\n * Inverts an inputs or outputs lookup such that the keys, which were the\n * minified keys, are part of the values, and the values are parsed so that\n * the publicName of the property is the new key\n *\n * e.g. for\n *\n * ```\n * class Comp {\n * @Input()\n * propName1: string;\n *\n * @Input('publicName2')\n * declaredPropName2: number;\n * }\n * ```\n *\n * will be serialized as\n *\n * ```\n * {\n * propName1: 'propName1',\n * declaredPropName2: ['publicName2', 'declaredPropName2'],\n * }\n * ```\n *\n * which is than translated by the minifier as:\n *\n * ```\n * {\n * minifiedPropName1: 'propName1',\n * minifiedPropName2: ['publicName2', 'declaredPropName2'],\n * }\n * ```\n *\n * becomes: (public name => minifiedName)\n *\n * ```\n * {\n * 'propName1': 'minifiedPropName1',\n * 'publicName2': 'minifiedPropName2',\n * }\n * ```\n *\n * Optionally the function can take `secondary` which will result in: (public name => declared name)\n *\n * ```\n * {\n * 'propName1': 'propName1',\n * 'publicName2': 'declaredPropName2',\n * }\n * ```\n *\n\n */\nfunction invertObject(obj, secondary) {\n if (obj == null)\n return EMPTY_OBJ;\n const newLookup = {};\n for (const minifiedKey in obj) {\n if (obj.hasOwnProperty(minifiedKey)) {\n let publicName = obj[minifiedKey];\n let declaredName = publicName;\n if (Array.isArray(publicName)) {\n declaredName = publicName[1];\n publicName = publicName[0];\n }\n newLookup[publicName] = minifiedKey;\n if (secondary) {\n (secondary[publicName] = declaredName);\n }\n }\n }\n return newLookup;\n}\n/**\n * Create a directive definition object.\n *\n * # Example\n * ```ts\n * class MyDirective {\n * // Generated by Angular Template Compiler\n * // [Symbol] syntax will not be supported by TypeScript until v2.7\n * static ɵdir = ɵɵdefineDirective({\n * ...\n * });\n * }\n * ```\n *\n * @codeGenApi\n */\nconst ɵɵdefineDirective = ɵɵdefineComponent;\n/**\n * Create a pipe definition object.\n *\n * # Example\n * ```\n * class MyPipe implements PipeTransform {\n * // Generated by Angular Template Compiler\n * static ɵpipe = definePipe({\n * ...\n * });\n * }\n * ```\n * @param pipeDef Pipe definition generated by the compiler\n *\n * @codeGenApi\n */\nfunction ɵɵdefinePipe(pipeDef) {\n return {\n type: pipeDef.type,\n name: pipeDef.name,\n factory: null,\n pure: pipeDef.pure !== false,\n onDestroy: pipeDef.type.prototype.ngOnDestroy || null\n };\n}\n/**\n * The following getter methods retrieve the definition from the type. Currently the retrieval\n * honors inheritance, but in the future we may change the rule to require that definitions are\n * explicit. This would require some sort of migration strategy.\n */\nfunction getComponentDef(type) {\n return type[NG_COMP_DEF] || null;\n}\nfunction getDirectiveDef(type) {\n return type[NG_DIR_DEF] || null;\n}\nfunction getPipeDef(type) {\n return type[NG_PIPE_DEF] || null;\n}\nfunction getNgModuleDef(type, throwNotFound) {\n const ngModuleDef = type[NG_MOD_DEF] || null;\n if (!ngModuleDef && throwNotFound === true) {\n throw new Error(`Type ${stringify(type)} does not have 'ɵmod' property.`);\n }\n return ngModuleDef;\n}\nfunction getNgLocaleIdDef(type) {\n return type[NG_LOC_ID_DEF] || null;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Below are constants for LView indices to help us look up LView members\n// without having to remember the specific indices.\n// Uglify will inline these when minifying so there shouldn't be a cost.\nconst HOST = 0;\nconst TVIEW = 1;\nconst FLAGS = 2;\nconst PARENT = 3;\nconst NEXT = 4;\nconst TRANSPLANTED_VIEWS_TO_REFRESH = 5;\nconst T_HOST = 6;\nconst CLEANUP = 7;\nconst CONTEXT = 8;\nconst INJECTOR = 9;\nconst RENDERER_FACTORY = 10;\nconst RENDERER = 11;\nconst SANITIZER = 12;\nconst CHILD_HEAD = 13;\nconst CHILD_TAIL = 14;\n// FIXME(misko): Investigate if the three declarations aren't all same thing.\nconst DECLARATION_VIEW = 15;\nconst DECLARATION_COMPONENT_VIEW = 16;\nconst DECLARATION_LCONTAINER = 17;\nconst PREORDER_HOOK_FLAGS = 18;\nconst QUERIES = 19;\n/**\n * Size of LView's header. Necessary to adjust for it when setting slots.\n *\n * IMPORTANT: `HEADER_OFFSET` should only be referred to the in the `ɵɵ*` instructions to translate\n * instruction index into `LView` index. All other indexes should be in the `LView` index space and\n * there should be no need to refer to `HEADER_OFFSET` anywhere else.\n */\nconst HEADER_OFFSET = 20;\n/**\n * Converts `TViewType` into human readable text.\n * Make sure this matches with `TViewType`\n */\nconst TViewTypeAsString = [\n 'Root',\n 'Component',\n 'Embedded',\n];\n// Note: This hack is necessary so we don't erroneously get a circular dependency\n// failure based on types.\nconst unusedValueExportToPlacateAjd = 1;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Special location which allows easy identification of type. If we have an array which was\n * retrieved from the `LView` and that array has `true` at `TYPE` location, we know it is\n * `LContainer`.\n */\nconst TYPE = 1;\n/**\n * Below are constants for LContainer indices to help us look up LContainer members\n * without having to remember the specific indices.\n * Uglify will inline these when minifying so there shouldn't be a cost.\n */\n/**\n * Flag to signify that this `LContainer` may have transplanted views which need to be change\n * detected. (see: `LView[DECLARATION_COMPONENT_VIEW])`.\n *\n * This flag, once set, is never unset for the `LContainer`. This means that when unset we can skip\n * a lot of work in `refreshEmbeddedViews`. But when set we still need to verify\n * that the `MOVED_VIEWS` are transplanted and on-push.\n */\nconst HAS_TRANSPLANTED_VIEWS = 2;\n// PARENT, NEXT, TRANSPLANTED_VIEWS_TO_REFRESH are indices 3, 4, and 5\n// As we already have these constants in LView, we don't need to re-create them.\n// T_HOST is index 6\n// We already have this constants in LView, we don't need to re-create it.\nconst NATIVE = 7;\nconst VIEW_REFS = 8;\nconst MOVED_VIEWS = 9;\n/**\n * Size of LContainer's header. Represents the index after which all views in the\n * container will be inserted. We need to keep a record of current views so we know\n * which views are already in the DOM (and don't need to be re-added) and so we can\n * remove views from the DOM when they are no longer required.\n */\nconst CONTAINER_HEADER_OFFSET = 10;\n// Note: This hack is necessary so we don't erroneously get a circular dependency\n// failure based on types.\nconst unusedValueExportToPlacateAjd$1 = 1;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * True if `value` is `LView`.\n * @param value wrapped value of `RNode`, `LView`, `LContainer`\n */\nfunction isLView(value) {\n return Array.isArray(value) && typeof value[TYPE] === 'object';\n}\n/**\n * True if `value` is `LContainer`.\n * @param value wrapped value of `RNode`, `LView`, `LContainer`\n */\nfunction isLContainer(value) {\n return Array.isArray(value) && value[TYPE] === true;\n}\nfunction isContentQueryHost(tNode) {\n return (tNode.flags & 8 /* hasContentQuery */) !== 0;\n}\nfunction isComponentHost(tNode) {\n return (tNode.flags & 2 /* isComponentHost */) === 2 /* isComponentHost */;\n}\nfunction isDirectiveHost(tNode) {\n return (tNode.flags & 1 /* isDirectiveHost */) === 1 /* isDirectiveHost */;\n}\nfunction isComponentDef(def) {\n return def.template !== null;\n}\nfunction isRootView(target) {\n return (target[FLAGS] & 512 /* IsRoot */) !== 0;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// [Assert functions do not constraint type when they are guarded by a truthy\n// expression.](https://github.com/microsoft/TypeScript/issues/37295)\nfunction assertTNodeForLView(tNode, lView) {\n assertTNodeForTView(tNode, lView[TVIEW]);\n}\nfunction assertTNodeForTView(tNode, tView) {\n assertTNode(tNode);\n tNode.hasOwnProperty('tView_') &&\n assertEqual(tNode.tView_, tView, 'This TNode does not belong to this TView.');\n}\nfunction assertTNode(tNode) {\n assertDefined(tNode, 'TNode must be defined');\n if (!(tNode && typeof tNode === 'object' && tNode.hasOwnProperty('directiveStylingLast'))) {\n throwError('Not of type TNode, got: ' + tNode);\n }\n}\nfunction assertTIcu(tIcu) {\n assertDefined(tIcu, 'Expected TIcu to be defined');\n if (!(typeof tIcu.currentCaseLViewIndex === 'number')) {\n throwError('Object is not of TIcu type.');\n }\n}\nfunction assertComponentType(actual, msg = 'Type passed in is not ComponentType, it does not have \\'ɵcmp\\' property.') {\n if (!getComponentDef(actual)) {\n throwError(msg);\n }\n}\nfunction assertNgModuleType(actual, msg = 'Type passed in is not NgModuleType, it does not have \\'ɵmod\\' property.') {\n if (!getNgModuleDef(actual)) {\n throwError(msg);\n }\n}\nfunction assertCurrentTNodeIsParent(isParent) {\n assertEqual(isParent, true, 'currentTNode should be a parent');\n}\nfunction assertHasParent(tNode) {\n assertDefined(tNode, 'currentTNode should exist!');\n assertDefined(tNode.parent, 'currentTNode should have a parent');\n}\nfunction assertDataNext(lView, index, arr) {\n if (arr == null)\n arr = lView;\n assertEqual(arr.length, index, `index ${index} expected to be at the end of arr (length ${arr.length})`);\n}\nfunction assertLContainer(value) {\n assertDefined(value, 'LContainer must be defined');\n assertEqual(isLContainer(value), true, 'Expecting LContainer');\n}\nfunction assertLViewOrUndefined(value) {\n value && assertEqual(isLView(value), true, 'Expecting LView or undefined or null');\n}\nfunction assertLView(value) {\n assertDefined(value, 'LView must be defined');\n assertEqual(isLView(value), true, 'Expecting LView');\n}\nfunction assertFirstCreatePass(tView, errMessage) {\n assertEqual(tView.firstCreatePass, true, errMessage || 'Should only be called in first create pass.');\n}\nfunction assertFirstUpdatePass(tView, errMessage) {\n assertEqual(tView.firstUpdatePass, true, errMessage || 'Should only be called in first update pass.');\n}\n/**\n * This is a basic sanity check that an object is probably a directive def. DirectiveDef is\n * an interface, so we can't do a direct instanceof check.\n */\nfunction assertDirectiveDef(obj) {\n if (obj.type === undefined || obj.selectors == undefined || obj.inputs === undefined) {\n throwError(`Expected a DirectiveDef/ComponentDef and this object does not seem to have the expected shape.`);\n }\n}\nfunction assertIndexInDeclRange(lView, index) {\n const tView = lView[1];\n assertBetween(HEADER_OFFSET, tView.bindingStartIndex, index);\n}\nfunction assertIndexInVarsRange(lView, index) {\n const tView = lView[1];\n assertBetween(tView.bindingStartIndex, tView.expandoStartIndex, index);\n}\nfunction assertIndexInExpandoRange(lView, index) {\n const tView = lView[1];\n assertBetween(tView.expandoStartIndex, lView.length, index);\n}\nfunction assertBetween(lower, upper, index) {\n if (!(lower <= index && index < upper)) {\n throwError(`Index out of range (expecting ${lower} <= ${index} < ${upper})`);\n }\n}\n/**\n * This is a basic sanity check that the `injectorIndex` seems to point to what looks like a\n * NodeInjector data structure.\n *\n * @param lView `LView` which should be checked.\n * @param injectorIndex index into the `LView` where the `NodeInjector` is expected.\n */\nfunction assertNodeInjector(lView, injectorIndex) {\n assertIndexInExpandoRange(lView, injectorIndex);\n assertIndexInExpandoRange(lView, injectorIndex + 8 /* PARENT */);\n assertNumber(lView[injectorIndex + 0], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 1], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 2], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 3], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 4], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 5], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 6], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 7], 'injectorIndex should point to a bloom filter');\n assertNumber(lView[injectorIndex + 8 /* PARENT */], 'injectorIndex should point to parent injector');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction getFactoryDef(type, throwNotFound) {\n const hasFactoryDef = type.hasOwnProperty(NG_FACTORY_DEF);\n if (!hasFactoryDef && throwNotFound === true && ngDevMode) {\n throw new Error(`Type ${stringify(type)} does not have 'ɵfac' property.`);\n }\n return hasFactoryDef ? type[NG_FACTORY_DEF] : null;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass RuntimeError extends Error {\n constructor(code, message) {\n super(formatRuntimeError(code, message));\n this.code = code;\n }\n}\n/** Called to format a runtime error */\nfunction formatRuntimeError(code, message) {\n const fullCode = code ? `NG0${code}: ` : '';\n return `${fullCode}${message}`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Used for stringify render output in Ivy.\n * Important! This function is very performance-sensitive and we should\n * be extra careful not to introduce megamorphic reads in it.\n * Check `core/test/render3/perf/render_stringify` for benchmarks and alternate implementations.\n */\nfunction renderStringify(value) {\n if (typeof value === 'string')\n return value;\n if (value == null)\n return '';\n // Use `String` so that it invokes the `toString` method of the value. Note that this\n // appears to be faster than calling `value.toString` (see `render_stringify` benchmark).\n return String(value);\n}\n/**\n * Used to stringify a value so that it can be displayed in an error message.\n * Important! This function contains a megamorphic read and should only be\n * used for error messages.\n */\nfunction stringifyForError(value) {\n if (typeof value === 'function')\n return value.name || value.toString();\n if (typeof value === 'object' && value != null && typeof value.type === 'function') {\n return value.type.name || value.type.toString();\n }\n return renderStringify(value);\n}\n\n/** Called when directives inject each other (creating a circular dependency) */\nfunction throwCyclicDependencyError(token, path) {\n const depPath = path ? `. Dependency path: ${path.join(' > ')} > ${token}` : '';\n throw new RuntimeError(\"200\" /* CYCLIC_DI_DEPENDENCY */, `Circular dependency in DI detected for ${token}${depPath}`);\n}\nfunction throwMixedMultiProviderError() {\n throw new Error(`Cannot mix multi providers and regular providers`);\n}\nfunction throwInvalidProviderError(ngModuleType, providers, provider) {\n let ngModuleDetail = '';\n if (ngModuleType && providers) {\n const providerDetail = providers.map(v => v == provider ? '?' + provider + '?' : '...');\n ngModuleDetail =\n ` - only instances of Provider and Type are allowed, got: [${providerDetail.join(', ')}]`;\n }\n throw new Error(`Invalid provider for the NgModule '${stringify(ngModuleType)}'` + ngModuleDetail);\n}\n/** Throws an error when a token is not found in DI. */\nfunction throwProviderNotFoundError(token, injectorName) {\n const injectorDetails = injectorName ? ` in ${injectorName}` : '';\n throw new RuntimeError(\"201\" /* PROVIDER_NOT_FOUND */, `No provider for ${stringifyForError(token)} found${injectorDetails}`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents a basic change from a previous to a new value for a single\n * property on a directive instance. Passed as a value in a\n * {@link SimpleChanges} object to the `ngOnChanges` hook.\n *\n * @see `OnChanges`\n *\n * @publicApi\n */\nclass SimpleChange {\n constructor(previousValue, currentValue, firstChange) {\n this.previousValue = previousValue;\n this.currentValue = currentValue;\n this.firstChange = firstChange;\n }\n /**\n * Check whether the new value is the first value assigned.\n */\n isFirstChange() {\n return this.firstChange;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The NgOnChangesFeature decorates a component with support for the ngOnChanges\n * lifecycle hook, so it should be included in any component that implements\n * that hook.\n *\n * If the component or directive uses inheritance, the NgOnChangesFeature MUST\n * be included as a feature AFTER {@link InheritDefinitionFeature}, otherwise\n * inherited properties will not be propagated to the ngOnChanges lifecycle\n * hook.\n *\n * Example usage:\n *\n * ```\n * static ɵcmp = defineComponent({\n * ...\n * inputs: {name: 'publicName'},\n * features: [NgOnChangesFeature]\n * });\n * ```\n *\n * @codeGenApi\n */\nfunction ɵɵNgOnChangesFeature() {\n return NgOnChangesFeatureImpl;\n}\nfunction NgOnChangesFeatureImpl(definition) {\n if (definition.type.prototype.ngOnChanges) {\n definition.setInput = ngOnChangesSetInput;\n }\n return rememberChangeHistoryAndInvokeOnChangesHook;\n}\n// This option ensures that the ngOnChanges lifecycle hook will be inherited\n// from superclasses (in InheritDefinitionFeature).\n/** @nocollapse */\n// tslint:disable-next-line:no-toplevel-property-access\nɵɵNgOnChangesFeature.ngInherit = true;\n/**\n * This is a synthetic lifecycle hook which gets inserted into `TView.preOrderHooks` to simulate\n * `ngOnChanges`.\n *\n * The hook reads the `NgSimpleChangesStore` data from the component instance and if changes are\n * found it invokes `ngOnChanges` on the component instance.\n *\n * @param this Component instance. Because this function gets inserted into `TView.preOrderHooks`,\n * it is guaranteed to be called with component instance.\n */\nfunction rememberChangeHistoryAndInvokeOnChangesHook() {\n const simpleChangesStore = getSimpleChangesStore(this);\n const current = simpleChangesStore === null || simpleChangesStore === void 0 ? void 0 : simpleChangesStore.current;\n if (current) {\n const previous = simpleChangesStore.previous;\n if (previous === EMPTY_OBJ) {\n simpleChangesStore.previous = current;\n }\n else {\n // New changes are copied to the previous store, so that we don't lose history for inputs\n // which were not changed this time\n for (let key in current) {\n previous[key] = current[key];\n }\n }\n simpleChangesStore.current = null;\n this.ngOnChanges(current);\n }\n}\nfunction ngOnChangesSetInput(instance, value, publicName, privateName) {\n const simpleChangesStore = getSimpleChangesStore(instance) ||\n setSimpleChangesStore(instance, { previous: EMPTY_OBJ, current: null });\n const current = simpleChangesStore.current || (simpleChangesStore.current = {});\n const previous = simpleChangesStore.previous;\n const declaredName = this.declaredInputs[publicName];\n const previousChange = previous[declaredName];\n current[declaredName] = new SimpleChange(previousChange && previousChange.currentValue, value, previous === EMPTY_OBJ);\n instance[privateName] = value;\n}\nconst SIMPLE_CHANGES_STORE = '__ngSimpleChanges__';\nfunction getSimpleChangesStore(instance) {\n return instance[SIMPLE_CHANGES_STORE] || null;\n}\nfunction setSimpleChangesStore(instance, store) {\n return instance[SIMPLE_CHANGES_STORE] = store;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\nconst MATH_ML_NAMESPACE = 'http://www.w3.org/1998/MathML/';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This property will be monkey-patched on elements, components and directives\n */\nconst MONKEY_PATCH_KEY_NAME = '__ngContext__';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Most of the use of `document` in Angular is from within the DI system so it is possible to simply\n * inject the `DOCUMENT` token and are done.\n *\n * Ivy is special because it does not rely upon the DI and must get hold of the document some other\n * way.\n *\n * The solution is to define `getDocument()` and `setDocument()` top-level functions for ivy.\n * Wherever ivy needs the global document, it calls `getDocument()` instead.\n *\n * When running ivy outside of a browser environment, it is necessary to call `setDocument()` to\n * tell ivy what the global `document` is.\n *\n * Angular does this for us in each of the standard platforms (`Browser`, `Server`, and `WebWorker`)\n * by calling `setDocument()` when providing the `DOCUMENT` token.\n */\nlet DOCUMENT = undefined;\n/**\n * Tell ivy what the `document` is for this platform.\n *\n * It is only necessary to call this if the current platform is not a browser.\n *\n * @param document The object representing the global `document` in this environment.\n */\nfunction setDocument(document) {\n DOCUMENT = document;\n}\n/**\n * Access the object that represents the `document` for this platform.\n *\n * Ivy calls this whenever it needs to access the `document` object.\n * For example to create the renderer or to do sanitization.\n */\nfunction getDocument() {\n if (DOCUMENT !== undefined) {\n return DOCUMENT;\n }\n else if (typeof document !== 'undefined') {\n return document;\n }\n // No \"document\" can be found. This should only happen if we are running ivy outside Angular and\n // the current platform is not a browser. Since this is not a supported scenario at the moment\n // this should not happen in Angular apps.\n // Once we support running ivy outside of Angular we will need to publish `setDocument()` as a\n // public API. Meanwhile we just return `undefined` and let the application fail.\n return undefined;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// TODO: cleanup once the code is merged in angular/angular\nvar RendererStyleFlags3;\n(function (RendererStyleFlags3) {\n RendererStyleFlags3[RendererStyleFlags3[\"Important\"] = 1] = \"Important\";\n RendererStyleFlags3[RendererStyleFlags3[\"DashCase\"] = 2] = \"DashCase\";\n})(RendererStyleFlags3 || (RendererStyleFlags3 = {}));\n/** Returns whether the `renderer` is a `ProceduralRenderer3` */\nfunction isProceduralRenderer(renderer) {\n return !!(renderer.listen);\n}\nconst ɵ0 = (hostElement, rendererType) => {\n return getDocument();\n};\nconst domRendererFactory3 = {\n createRenderer: ɵ0\n};\n// Note: This hack is necessary so we don't erroneously get a circular dependency\n// failure based on types.\nconst unusedValueExportToPlacateAjd$2 = 1;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * For efficiency reasons we often put several different data types (`RNode`, `LView`, `LContainer`)\n * in same location in `LView`. This is because we don't want to pre-allocate space for it\n * because the storage is sparse. This file contains utilities for dealing with such data types.\n *\n * How do we know what is stored at a given location in `LView`.\n * - `Array.isArray(value) === false` => `RNode` (The normal storage value)\n * - `Array.isArray(value) === true` => then the `value[0]` represents the wrapped value.\n * - `typeof value[TYPE] === 'object'` => `LView`\n * - This happens when we have a component at a given location\n * - `typeof value[TYPE] === true` => `LContainer`\n * - This happens when we have `LContainer` binding at a given location.\n *\n *\n * NOTE: it is assumed that `Array.isArray` and `typeof` operations are very efficient.\n */\n/**\n * Returns `RNode`.\n * @param value wrapped value of `RNode`, `LView`, `LContainer`\n */\nfunction unwrapRNode(value) {\n while (Array.isArray(value)) {\n value = value[HOST];\n }\n return value;\n}\n/**\n * Returns `LView` or `null` if not found.\n * @param value wrapped value of `RNode`, `LView`, `LContainer`\n */\nfunction unwrapLView(value) {\n while (Array.isArray(value)) {\n // This check is same as `isLView()` but we don't call at as we don't want to call\n // `Array.isArray()` twice and give JITer more work for inlining.\n if (typeof value[TYPE] === 'object')\n return value;\n value = value[HOST];\n }\n return null;\n}\n/**\n * Returns `LContainer` or `null` if not found.\n * @param value wrapped value of `RNode`, `LView`, `LContainer`\n */\nfunction unwrapLContainer(value) {\n while (Array.isArray(value)) {\n // This check is same as `isLContainer()` but we don't call at as we don't want to call\n // `Array.isArray()` twice and give JITer more work for inlining.\n if (value[TYPE] === true)\n return value;\n value = value[HOST];\n }\n return null;\n}\n/**\n * Retrieves an element value from the provided `viewData`, by unwrapping\n * from any containers, component views, or style contexts.\n */\nfunction getNativeByIndex(index, lView) {\n ngDevMode && assertIndexInRange(lView, index);\n ngDevMode && assertGreaterThanOrEqual(index, HEADER_OFFSET, 'Expected to be past HEADER_OFFSET');\n return unwrapRNode(lView[index]);\n}\n/**\n * Retrieve an `RNode` for a given `TNode` and `LView`.\n *\n * This function guarantees in dev mode to retrieve a non-null `RNode`.\n *\n * @param tNode\n * @param lView\n */\nfunction getNativeByTNode(tNode, lView) {\n ngDevMode && assertTNodeForLView(tNode, lView);\n ngDevMode && assertIndexInRange(lView, tNode.index);\n const node = unwrapRNode(lView[tNode.index]);\n ngDevMode && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);\n return node;\n}\n/**\n * Retrieve an `RNode` or `null` for a given `TNode` and `LView`.\n *\n * Some `TNode`s don't have associated `RNode`s. For example `Projection`\n *\n * @param tNode\n * @param lView\n */\nfunction getNativeByTNodeOrNull(tNode, lView) {\n const index = tNode === null ? -1 : tNode.index;\n if (index !== -1) {\n ngDevMode && assertTNodeForLView(tNode, lView);\n const node = unwrapRNode(lView[index]);\n ngDevMode && node !== null && !isProceduralRenderer(lView[RENDERER]) && assertDomNode(node);\n return node;\n }\n return null;\n}\n// fixme(misko): The return Type should be `TNode|null`\nfunction getTNode(tView, index) {\n ngDevMode && assertGreaterThan(index, -1, 'wrong index for TNode');\n ngDevMode && assertLessThan(index, tView.data.length, 'wrong index for TNode');\n const tNode = tView.data[index];\n ngDevMode && tNode !== null && assertTNode(tNode);\n return tNode;\n}\n/** Retrieves a value from any `LView` or `TData`. */\nfunction load(view, index) {\n ngDevMode && assertIndexInRange(view, index);\n return view[index];\n}\nfunction getComponentLViewByIndex(nodeIndex, hostView) {\n // Could be an LView or an LContainer. If LContainer, unwrap to find LView.\n ngDevMode && assertIndexInRange(hostView, nodeIndex);\n const slotValue = hostView[nodeIndex];\n const lView = isLView(slotValue) ? slotValue : slotValue[HOST];\n return lView;\n}\n/**\n * Returns the monkey-patch value data present on the target (which could be\n * a component, directive or a DOM node).\n */\nfunction readPatchedData(target) {\n ngDevMode && assertDefined(target, 'Target expected');\n return target[MONKEY_PATCH_KEY_NAME] || null;\n}\nfunction readPatchedLView(target) {\n const value = readPatchedData(target);\n if (value) {\n return Array.isArray(value) ? value : value.lView;\n }\n return null;\n}\n/** Checks whether a given view is in creation mode */\nfunction isCreationMode(view) {\n return (view[FLAGS] & 4 /* CreationMode */) === 4 /* CreationMode */;\n}\n/**\n * Returns a boolean for whether the view is attached to the change detection tree.\n *\n * Note: This determines whether a view should be checked, not whether it's inserted\n * into a container. For that, you'll want `viewAttachedToContainer` below.\n */\nfunction viewAttachedToChangeDetector(view) {\n return (view[FLAGS] & 128 /* Attached */) === 128 /* Attached */;\n}\n/** Returns a boolean for whether the view is attached to a container. */\nfunction viewAttachedToContainer(view) {\n return isLContainer(view[PARENT]);\n}\nfunction getConstant(consts, index) {\n if (index === null || index === undefined)\n return null;\n ngDevMode && assertIndexInRange(consts, index);\n return consts[index];\n}\n/**\n * Resets the pre-order hook flags of the view.\n * @param lView the LView on which the flags are reset\n */\nfunction resetPreOrderHookFlags(lView) {\n lView[PREORDER_HOOK_FLAGS] = 0;\n}\n/**\n * Updates the `TRANSPLANTED_VIEWS_TO_REFRESH` counter on the `LContainer` as well as the parents\n * whose\n * 1. counter goes from 0 to 1, indicating that there is a new child that has a view to refresh\n * or\n * 2. counter goes from 1 to 0, indicating there are no more descendant views to refresh\n */\nfunction updateTransplantedViewCount(lContainer, amount) {\n lContainer[TRANSPLANTED_VIEWS_TO_REFRESH] += amount;\n let viewOrContainer = lContainer;\n let parent = lContainer[PARENT];\n while (parent !== null &&\n ((amount === 1 && viewOrContainer[TRANSPLANTED_VIEWS_TO_REFRESH] === 1) ||\n (amount === -1 && viewOrContainer[TRANSPLANTED_VIEWS_TO_REFRESH] === 0))) {\n parent[TRANSPLANTED_VIEWS_TO_REFRESH] += amount;\n viewOrContainer = parent;\n parent = parent[PARENT];\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst instructionState = {\n lFrame: createLFrame(null),\n bindingsEnabled: true,\n isInCheckNoChangesMode: false,\n};\n/**\n * Returns true if the instruction state stack is empty.\n *\n * Intended to be called from tests only (tree shaken otherwise).\n */\nfunction specOnlyIsInstructionStateEmpty() {\n return instructionState.lFrame.parent === null;\n}\nfunction getElementDepthCount() {\n return instructionState.lFrame.elementDepthCount;\n}\nfunction increaseElementDepthCount() {\n instructionState.lFrame.elementDepthCount++;\n}\nfunction decreaseElementDepthCount() {\n instructionState.lFrame.elementDepthCount--;\n}\nfunction getBindingsEnabled() {\n return instructionState.bindingsEnabled;\n}\n/**\n * Enables directive matching on elements.\n *\n * * Example:\n * ```\n * \n * Should match component / directive.\n * \n * \n * \n * \n * Should not match component / directive because we are in ngNonBindable.\n * \n * \n * \n * ```\n *\n * @codeGenApi\n */\nfunction ɵɵenableBindings() {\n instructionState.bindingsEnabled = true;\n}\n/**\n * Disables directive matching on element.\n *\n * * Example:\n * ```\n * \n * Should match component / directive.\n * \n * \n * \n * \n * Should not match component / directive because we are in ngNonBindable.\n * \n * \n * \n * ```\n *\n * @codeGenApi\n */\nfunction ɵɵdisableBindings() {\n instructionState.bindingsEnabled = false;\n}\n/**\n * Return the current `LView`.\n */\nfunction getLView() {\n return instructionState.lFrame.lView;\n}\n/**\n * Return the current `TView`.\n */\nfunction getTView() {\n return instructionState.lFrame.tView;\n}\n/**\n * Restores `contextViewData` to the given OpaqueViewState instance.\n *\n * Used in conjunction with the getCurrentView() instruction to save a snapshot\n * of the current view and restore it when listeners are invoked. This allows\n * walking the declaration view tree in listeners to get vars from parent views.\n *\n * @param viewToRestore The OpaqueViewState instance to restore.\n *\n * @codeGenApi\n */\nfunction ɵɵrestoreView(viewToRestore) {\n instructionState.lFrame.contextLView = viewToRestore;\n}\nfunction getCurrentTNode() {\n let currentTNode = getCurrentTNodePlaceholderOk();\n while (currentTNode !== null && currentTNode.type === 64 /* Placeholder */) {\n currentTNode = currentTNode.parent;\n }\n return currentTNode;\n}\nfunction getCurrentTNodePlaceholderOk() {\n return instructionState.lFrame.currentTNode;\n}\nfunction getCurrentParentTNode() {\n const lFrame = instructionState.lFrame;\n const currentTNode = lFrame.currentTNode;\n return lFrame.isParent ? currentTNode : currentTNode.parent;\n}\nfunction setCurrentTNode(tNode, isParent) {\n ngDevMode && tNode && assertTNodeForTView(tNode, instructionState.lFrame.tView);\n const lFrame = instructionState.lFrame;\n lFrame.currentTNode = tNode;\n lFrame.isParent = isParent;\n}\nfunction isCurrentTNodeParent() {\n return instructionState.lFrame.isParent;\n}\nfunction setCurrentTNodeAsNotParent() {\n instructionState.lFrame.isParent = false;\n}\nfunction setCurrentTNodeAsParent() {\n instructionState.lFrame.isParent = true;\n}\nfunction getContextLView() {\n return instructionState.lFrame.contextLView;\n}\nfunction isInCheckNoChangesMode() {\n // TODO(misko): remove this from the LView since it is ngDevMode=true mode only.\n return instructionState.isInCheckNoChangesMode;\n}\nfunction setIsInCheckNoChangesMode(mode) {\n instructionState.isInCheckNoChangesMode = mode;\n}\n// top level variables should not be exported for performance reasons (PERF_NOTES.md)\nfunction getBindingRoot() {\n const lFrame = instructionState.lFrame;\n let index = lFrame.bindingRootIndex;\n if (index === -1) {\n index = lFrame.bindingRootIndex = lFrame.tView.bindingStartIndex;\n }\n return index;\n}\nfunction getBindingIndex() {\n return instructionState.lFrame.bindingIndex;\n}\nfunction setBindingIndex(value) {\n return instructionState.lFrame.bindingIndex = value;\n}\nfunction nextBindingIndex() {\n return instructionState.lFrame.bindingIndex++;\n}\nfunction incrementBindingIndex(count) {\n const lFrame = instructionState.lFrame;\n const index = lFrame.bindingIndex;\n lFrame.bindingIndex = lFrame.bindingIndex + count;\n return index;\n}\nfunction isInI18nBlock() {\n return instructionState.lFrame.inI18n;\n}\nfunction setInI18nBlock(isInI18nBlock) {\n instructionState.lFrame.inI18n = isInI18nBlock;\n}\n/**\n * Set a new binding root index so that host template functions can execute.\n *\n * Bindings inside the host template are 0 index. But because we don't know ahead of time\n * how many host bindings we have we can't pre-compute them. For this reason they are all\n * 0 index and we just shift the root so that they match next available location in the LView.\n *\n * @param bindingRootIndex Root index for `hostBindings`\n * @param currentDirectiveIndex `TData[currentDirectiveIndex]` will point to the current directive\n * whose `hostBindings` are being processed.\n */\nfunction setBindingRootForHostBindings(bindingRootIndex, currentDirectiveIndex) {\n const lFrame = instructionState.lFrame;\n lFrame.bindingIndex = lFrame.bindingRootIndex = bindingRootIndex;\n setCurrentDirectiveIndex(currentDirectiveIndex);\n}\n/**\n * When host binding is executing this points to the directive index.\n * `TView.data[getCurrentDirectiveIndex()]` is `DirectiveDef`\n * `LView[getCurrentDirectiveIndex()]` is directive instance.\n */\nfunction getCurrentDirectiveIndex() {\n return instructionState.lFrame.currentDirectiveIndex;\n}\n/**\n * Sets an index of a directive whose `hostBindings` are being processed.\n *\n * @param currentDirectiveIndex `TData` index where current directive instance can be found.\n */\nfunction setCurrentDirectiveIndex(currentDirectiveIndex) {\n instructionState.lFrame.currentDirectiveIndex = currentDirectiveIndex;\n}\n/**\n * Retrieve the current `DirectiveDef` which is active when `hostBindings` instruction is being\n * executed.\n *\n * @param tData Current `TData` where the `DirectiveDef` will be looked up at.\n */\nfunction getCurrentDirectiveDef(tData) {\n const currentDirectiveIndex = instructionState.lFrame.currentDirectiveIndex;\n return currentDirectiveIndex === -1 ? null : tData[currentDirectiveIndex];\n}\nfunction getCurrentQueryIndex() {\n return instructionState.lFrame.currentQueryIndex;\n}\nfunction setCurrentQueryIndex(value) {\n instructionState.lFrame.currentQueryIndex = value;\n}\n/**\n * Returns a `TNode` of the location where the current `LView` is declared at.\n *\n * @param lView an `LView` that we want to find parent `TNode` for.\n */\nfunction getDeclarationTNode(lView) {\n const tView = lView[TVIEW];\n // Return the declaration parent for embedded views\n if (tView.type === 2 /* Embedded */) {\n ngDevMode && assertDefined(tView.declTNode, 'Embedded TNodes should have declaration parents.');\n return tView.declTNode;\n }\n // Components don't have `TView.declTNode` because each instance of component could be\n // inserted in different location, hence `TView.declTNode` is meaningless.\n // Falling back to `T_HOST` in case we cross component boundary.\n if (tView.type === 1 /* Component */) {\n return lView[T_HOST];\n }\n // Remaining TNode type is `TViewType.Root` which doesn't have a parent TNode.\n return null;\n}\n/**\n * This is a light weight version of the `enterView` which is needed by the DI system.\n *\n * @param lView `LView` location of the DI context.\n * @param tNode `TNode` for DI context\n * @param flags DI context flags. if `SkipSelf` flag is set than we walk up the declaration\n * tree from `tNode` until we find parent declared `TElementNode`.\n * @returns `true` if we have successfully entered DI associated with `tNode` (or with declared\n * `TNode` if `flags` has `SkipSelf`). Failing to enter DI implies that no associated\n * `NodeInjector` can be found and we should instead use `ModuleInjector`.\n * - If `true` than this call must be fallowed by `leaveDI`\n * - If `false` than this call failed and we should NOT call `leaveDI`\n */\nfunction enterDI(lView, tNode, flags) {\n ngDevMode && assertLViewOrUndefined(lView);\n if (flags & InjectFlags.SkipSelf) {\n ngDevMode && assertTNodeForTView(tNode, lView[TVIEW]);\n let parentTNode = tNode;\n let parentLView = lView;\n while (true) {\n ngDevMode && assertDefined(parentTNode, 'Parent TNode should be defined');\n parentTNode = parentTNode.parent;\n if (parentTNode === null && !(flags & InjectFlags.Host)) {\n parentTNode = getDeclarationTNode(parentLView);\n if (parentTNode === null)\n break;\n // In this case, a parent exists and is definitely an element. So it will definitely\n // have an existing lView as the declaration view, which is why we can assume it's defined.\n ngDevMode && assertDefined(parentLView, 'Parent LView should be defined');\n parentLView = parentLView[DECLARATION_VIEW];\n // In Ivy there are Comment nodes that correspond to ngIf and NgFor embedded directives\n // We want to skip those and look only at Elements and ElementContainers to ensure\n // we're looking at true parent nodes, and not content or other types.\n if (parentTNode.type & (2 /* Element */ | 8 /* ElementContainer */)) {\n break;\n }\n }\n else {\n break;\n }\n }\n if (parentTNode === null) {\n // If we failed to find a parent TNode this means that we should use module injector.\n return false;\n }\n else {\n tNode = parentTNode;\n lView = parentLView;\n }\n }\n ngDevMode && assertTNodeForLView(tNode, lView);\n const lFrame = instructionState.lFrame = allocLFrame();\n lFrame.currentTNode = tNode;\n lFrame.lView = lView;\n return true;\n}\n/**\n * Swap the current lView with a new lView.\n *\n * For performance reasons we store the lView in the top level of the module.\n * This way we minimize the number of properties to read. Whenever a new view\n * is entered we have to store the lView for later, and when the view is\n * exited the state has to be restored\n *\n * @param newView New lView to become active\n * @returns the previously active lView;\n */\nfunction enterView(newView) {\n ngDevMode && assertNotEqual(newView[0], newView[1], '????');\n ngDevMode && assertLViewOrUndefined(newView);\n const newLFrame = allocLFrame();\n if (ngDevMode) {\n assertEqual(newLFrame.isParent, true, 'Expected clean LFrame');\n assertEqual(newLFrame.lView, null, 'Expected clean LFrame');\n assertEqual(newLFrame.tView, null, 'Expected clean LFrame');\n assertEqual(newLFrame.selectedIndex, -1, 'Expected clean LFrame');\n assertEqual(newLFrame.elementDepthCount, 0, 'Expected clean LFrame');\n assertEqual(newLFrame.currentDirectiveIndex, -1, 'Expected clean LFrame');\n assertEqual(newLFrame.currentNamespace, null, 'Expected clean LFrame');\n assertEqual(newLFrame.bindingRootIndex, -1, 'Expected clean LFrame');\n assertEqual(newLFrame.currentQueryIndex, 0, 'Expected clean LFrame');\n }\n const tView = newView[TVIEW];\n instructionState.lFrame = newLFrame;\n ngDevMode && tView.firstChild && assertTNodeForTView(tView.firstChild, tView);\n newLFrame.currentTNode = tView.firstChild;\n newLFrame.lView = newView;\n newLFrame.tView = tView;\n newLFrame.contextLView = newView;\n newLFrame.bindingIndex = tView.bindingStartIndex;\n newLFrame.inI18n = false;\n}\n/**\n * Allocates next free LFrame. This function tries to reuse the `LFrame`s to lower memory pressure.\n */\nfunction allocLFrame() {\n const currentLFrame = instructionState.lFrame;\n const childLFrame = currentLFrame === null ? null : currentLFrame.child;\n const newLFrame = childLFrame === null ? createLFrame(currentLFrame) : childLFrame;\n return newLFrame;\n}\nfunction createLFrame(parent) {\n const lFrame = {\n currentTNode: null,\n isParent: true,\n lView: null,\n tView: null,\n selectedIndex: -1,\n contextLView: null,\n elementDepthCount: 0,\n currentNamespace: null,\n currentDirectiveIndex: -1,\n bindingRootIndex: -1,\n bindingIndex: -1,\n currentQueryIndex: 0,\n parent: parent,\n child: null,\n inI18n: false,\n };\n parent !== null && (parent.child = lFrame); // link the new LFrame for reuse.\n return lFrame;\n}\n/**\n * A lightweight version of leave which is used with DI.\n *\n * This function only resets `currentTNode` and `LView` as those are the only properties\n * used with DI (`enterDI()`).\n *\n * NOTE: This function is reexported as `leaveDI`. However `leaveDI` has return type of `void` where\n * as `leaveViewLight` has `LFrame`. This is so that `leaveViewLight` can be used in `leaveView`.\n */\nfunction leaveViewLight() {\n const oldLFrame = instructionState.lFrame;\n instructionState.lFrame = oldLFrame.parent;\n oldLFrame.currentTNode = null;\n oldLFrame.lView = null;\n return oldLFrame;\n}\n/**\n * This is a lightweight version of the `leaveView` which is needed by the DI system.\n *\n * NOTE: this function is an alias so that we can change the type of the function to have `void`\n * return type.\n */\nconst leaveDI = leaveViewLight;\n/**\n * Leave the current `LView`\n *\n * This pops the `LFrame` with the associated `LView` from the stack.\n *\n * IMPORTANT: We must zero out the `LFrame` values here otherwise they will be retained. This is\n * because for performance reasons we don't release `LFrame` but rather keep it for next use.\n */\nfunction leaveView() {\n const oldLFrame = leaveViewLight();\n oldLFrame.isParent = true;\n oldLFrame.tView = null;\n oldLFrame.selectedIndex = -1;\n oldLFrame.contextLView = null;\n oldLFrame.elementDepthCount = 0;\n oldLFrame.currentDirectiveIndex = -1;\n oldLFrame.currentNamespace = null;\n oldLFrame.bindingRootIndex = -1;\n oldLFrame.bindingIndex = -1;\n oldLFrame.currentQueryIndex = 0;\n}\nfunction nextContextImpl(level) {\n const contextLView = instructionState.lFrame.contextLView =\n walkUpViews(level, instructionState.lFrame.contextLView);\n return contextLView[CONTEXT];\n}\nfunction walkUpViews(nestingLevel, currentView) {\n while (nestingLevel > 0) {\n ngDevMode &&\n assertDefined(currentView[DECLARATION_VIEW], 'Declaration view should be defined if nesting level is greater than 0.');\n currentView = currentView[DECLARATION_VIEW];\n nestingLevel--;\n }\n return currentView;\n}\n/**\n * Gets the currently selected element index.\n *\n * Used with {@link property} instruction (and more in the future) to identify the index in the\n * current `LView` to act on.\n */\nfunction getSelectedIndex() {\n return instructionState.lFrame.selectedIndex;\n}\n/**\n * Sets the most recent index passed to {@link select}\n *\n * Used with {@link property} instruction (and more in the future) to identify the index in the\n * current `LView` to act on.\n *\n * (Note that if an \"exit function\" was set earlier (via `setElementExitFn()`) then that will be\n * run if and when the provided `index` value is different from the current selected index value.)\n */\nfunction setSelectedIndex(index) {\n ngDevMode && index !== -1 &&\n assertGreaterThanOrEqual(index, HEADER_OFFSET, 'Index must be past HEADER_OFFSET (or -1).');\n ngDevMode &&\n assertLessThan(index, instructionState.lFrame.lView.length, 'Can\\'t set index passed end of LView');\n instructionState.lFrame.selectedIndex = index;\n}\n/**\n * Gets the `tNode` that represents currently selected element.\n */\nfunction getSelectedTNode() {\n const lFrame = instructionState.lFrame;\n return getTNode(lFrame.tView, lFrame.selectedIndex);\n}\n/**\n * Sets the namespace used to create elements to `'http://www.w3.org/2000/svg'` in global state.\n *\n * @codeGenApi\n */\nfunction ɵɵnamespaceSVG() {\n instructionState.lFrame.currentNamespace = SVG_NAMESPACE;\n}\n/**\n * Sets the namespace used to create elements to `'http://www.w3.org/1998/MathML/'` in global state.\n *\n * @codeGenApi\n */\nfunction ɵɵnamespaceMathML() {\n instructionState.lFrame.currentNamespace = MATH_ML_NAMESPACE;\n}\n/**\n * Sets the namespace used to create elements to `null`, which forces element creation to use\n * `createElement` rather than `createElementNS`.\n *\n * @codeGenApi\n */\nfunction ɵɵnamespaceHTML() {\n namespaceHTMLInternal();\n}\n/**\n * Sets the namespace used to create elements to `null`, which forces element creation to use\n * `createElement` rather than `createElementNS`.\n */\nfunction namespaceHTMLInternal() {\n instructionState.lFrame.currentNamespace = null;\n}\nfunction getNamespace() {\n return instructionState.lFrame.currentNamespace;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Adds all directive lifecycle hooks from the given `DirectiveDef` to the given `TView`.\n *\n * Must be run *only* on the first template pass.\n *\n * Sets up the pre-order hooks on the provided `tView`,\n * see {@link HookData} for details about the data structure.\n *\n * @param directiveIndex The index of the directive in LView\n * @param directiveDef The definition containing the hooks to setup in tView\n * @param tView The current TView\n */\nfunction registerPreOrderHooks(directiveIndex, directiveDef, tView) {\n ngDevMode && assertFirstCreatePass(tView);\n const { ngOnChanges, ngOnInit, ngDoCheck } = directiveDef.type.prototype;\n if (ngOnChanges) {\n const wrappedOnChanges = NgOnChangesFeatureImpl(directiveDef);\n (tView.preOrderHooks || (tView.preOrderHooks = [])).push(directiveIndex, wrappedOnChanges);\n (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = []))\n .push(directiveIndex, wrappedOnChanges);\n }\n if (ngOnInit) {\n (tView.preOrderHooks || (tView.preOrderHooks = [])).push(0 - directiveIndex, ngOnInit);\n }\n if (ngDoCheck) {\n (tView.preOrderHooks || (tView.preOrderHooks = [])).push(directiveIndex, ngDoCheck);\n (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = [])).push(directiveIndex, ngDoCheck);\n }\n}\n/**\n *\n * Loops through the directives on the provided `tNode` and queues hooks to be\n * run that are not initialization hooks.\n *\n * Should be executed during `elementEnd()` and similar to\n * preserve hook execution order. Content, view, and destroy hooks for projected\n * components and directives must be called *before* their hosts.\n *\n * Sets up the content, view, and destroy hooks on the provided `tView`,\n * see {@link HookData} for details about the data structure.\n *\n * NOTE: This does not set up `onChanges`, `onInit` or `doCheck`, those are set up\n * separately at `elementStart`.\n *\n * @param tView The current TView\n * @param tNode The TNode whose directives are to be searched for hooks to queue\n */\nfunction registerPostOrderHooks(tView, tNode) {\n ngDevMode && assertFirstCreatePass(tView);\n // It's necessary to loop through the directives at elementEnd() (rather than processing in\n // directiveCreate) so we can preserve the current hook order. Content, view, and destroy\n // hooks for projected components and directives must be called *before* their hosts.\n for (let i = tNode.directiveStart, end = tNode.directiveEnd; i < end; i++) {\n const directiveDef = tView.data[i];\n ngDevMode && assertDefined(directiveDef, 'Expecting DirectiveDef');\n const lifecycleHooks = directiveDef.type.prototype;\n const { ngAfterContentInit, ngAfterContentChecked, ngAfterViewInit, ngAfterViewChecked, ngOnDestroy } = lifecycleHooks;\n if (ngAfterContentInit) {\n (tView.contentHooks || (tView.contentHooks = [])).push(-i, ngAfterContentInit);\n }\n if (ngAfterContentChecked) {\n (tView.contentHooks || (tView.contentHooks = [])).push(i, ngAfterContentChecked);\n (tView.contentCheckHooks || (tView.contentCheckHooks = [])).push(i, ngAfterContentChecked);\n }\n if (ngAfterViewInit) {\n (tView.viewHooks || (tView.viewHooks = [])).push(-i, ngAfterViewInit);\n }\n if (ngAfterViewChecked) {\n (tView.viewHooks || (tView.viewHooks = [])).push(i, ngAfterViewChecked);\n (tView.viewCheckHooks || (tView.viewCheckHooks = [])).push(i, ngAfterViewChecked);\n }\n if (ngOnDestroy != null) {\n (tView.destroyHooks || (tView.destroyHooks = [])).push(i, ngOnDestroy);\n }\n }\n}\n/**\n * Executing hooks requires complex logic as we need to deal with 2 constraints.\n *\n * 1. Init hooks (ngOnInit, ngAfterContentInit, ngAfterViewInit) must all be executed once and only\n * once, across many change detection cycles. This must be true even if some hooks throw, or if\n * some recursively trigger a change detection cycle.\n * To solve that, it is required to track the state of the execution of these init hooks.\n * This is done by storing and maintaining flags in the view: the {@link InitPhaseState},\n * and the index within that phase. They can be seen as a cursor in the following structure:\n * [[onInit1, onInit2], [afterContentInit1], [afterViewInit1, afterViewInit2, afterViewInit3]]\n * They are are stored as flags in LView[FLAGS].\n *\n * 2. Pre-order hooks can be executed in batches, because of the select instruction.\n * To be able to pause and resume their execution, we also need some state about the hook's array\n * that is being processed:\n * - the index of the next hook to be executed\n * - the number of init hooks already found in the processed part of the array\n * They are are stored as flags in LView[PREORDER_HOOK_FLAGS].\n */\n/**\n * Executes pre-order check hooks ( OnChanges, DoChanges) given a view where all the init hooks were\n * executed once. This is a light version of executeInitAndCheckPreOrderHooks where we can skip read\n * / write of the init-hooks related flags.\n * @param lView The LView where hooks are defined\n * @param hooks Hooks to be run\n * @param nodeIndex 3 cases depending on the value:\n * - undefined: all hooks from the array should be executed (post-order case)\n * - null: execute hooks only from the saved index until the end of the array (pre-order case, when\n * flushing the remaining hooks)\n * - number: execute hooks only from the saved index until that node index exclusive (pre-order\n * case, when executing select(number))\n */\nfunction executeCheckHooks(lView, hooks, nodeIndex) {\n callHooks(lView, hooks, 3 /* InitPhaseCompleted */, nodeIndex);\n}\n/**\n * Executes post-order init and check hooks (one of AfterContentInit, AfterContentChecked,\n * AfterViewInit, AfterViewChecked) given a view where there are pending init hooks to be executed.\n * @param lView The LView where hooks are defined\n * @param hooks Hooks to be run\n * @param initPhase A phase for which hooks should be run\n * @param nodeIndex 3 cases depending on the value:\n * - undefined: all hooks from the array should be executed (post-order case)\n * - null: execute hooks only from the saved index until the end of the array (pre-order case, when\n * flushing the remaining hooks)\n * - number: execute hooks only from the saved index until that node index exclusive (pre-order\n * case, when executing select(number))\n */\nfunction executeInitAndCheckHooks(lView, hooks, initPhase, nodeIndex) {\n ngDevMode &&\n assertNotEqual(initPhase, 3 /* InitPhaseCompleted */, 'Init pre-order hooks should not be called more than once');\n if ((lView[FLAGS] & 3 /* InitPhaseStateMask */) === initPhase) {\n callHooks(lView, hooks, initPhase, nodeIndex);\n }\n}\nfunction incrementInitPhaseFlags(lView, initPhase) {\n ngDevMode &&\n assertNotEqual(initPhase, 3 /* InitPhaseCompleted */, 'Init hooks phase should not be incremented after all init hooks have been run.');\n let flags = lView[FLAGS];\n if ((flags & 3 /* InitPhaseStateMask */) === initPhase) {\n flags &= 2047 /* IndexWithinInitPhaseReset */;\n flags += 1 /* InitPhaseStateIncrementer */;\n lView[FLAGS] = flags;\n }\n}\n/**\n * Calls lifecycle hooks with their contexts, skipping init hooks if it's not\n * the first LView pass\n *\n * @param currentView The current view\n * @param arr The array in which the hooks are found\n * @param initPhaseState the current state of the init phase\n * @param currentNodeIndex 3 cases depending on the value:\n * - undefined: all hooks from the array should be executed (post-order case)\n * - null: execute hooks only from the saved index until the end of the array (pre-order case, when\n * flushing the remaining hooks)\n * - number: execute hooks only from the saved index until that node index exclusive (pre-order\n * case, when executing select(number))\n */\nfunction callHooks(currentView, arr, initPhase, currentNodeIndex) {\n ngDevMode &&\n assertEqual(isInCheckNoChangesMode(), false, 'Hooks should never be run when in check no changes mode.');\n const startIndex = currentNodeIndex !== undefined ?\n (currentView[PREORDER_HOOK_FLAGS] & 65535 /* IndexOfTheNextPreOrderHookMaskMask */) :\n 0;\n const nodeIndexLimit = currentNodeIndex != null ? currentNodeIndex : -1;\n let lastNodeIndexFound = 0;\n for (let i = startIndex; i < arr.length; i++) {\n const hook = arr[i + 1];\n if (typeof hook === 'number') {\n lastNodeIndexFound = arr[i];\n if (currentNodeIndex != null && lastNodeIndexFound >= currentNodeIndex) {\n break;\n }\n }\n else {\n const isInitHook = arr[i] < 0;\n if (isInitHook)\n currentView[PREORDER_HOOK_FLAGS] += 65536 /* NumberOfInitHooksCalledIncrementer */;\n if (lastNodeIndexFound < nodeIndexLimit || nodeIndexLimit == -1) {\n callHook(currentView, initPhase, arr, i);\n currentView[PREORDER_HOOK_FLAGS] =\n (currentView[PREORDER_HOOK_FLAGS] & 4294901760 /* NumberOfInitHooksCalledMask */) + i +\n 2;\n }\n i++;\n }\n }\n}\n/**\n * Execute one hook against the current `LView`.\n *\n * @param currentView The current view\n * @param initPhaseState the current state of the init phase\n * @param arr The array in which the hooks are found\n * @param i The current index within the hook data array\n */\nfunction callHook(currentView, initPhase, arr, i) {\n const isInitHook = arr[i] < 0;\n const hook = arr[i + 1];\n const directiveIndex = isInitHook ? -arr[i] : arr[i];\n const directive = currentView[directiveIndex];\n if (isInitHook) {\n const indexWithintInitPhase = currentView[FLAGS] >> 11 /* IndexWithinInitPhaseShift */;\n // The init phase state must be always checked here as it may have been recursively\n // updated\n if (indexWithintInitPhase <\n (currentView[PREORDER_HOOK_FLAGS] >> 16 /* NumberOfInitHooksCalledShift */) &&\n (currentView[FLAGS] & 3 /* InitPhaseStateMask */) === initPhase) {\n currentView[FLAGS] += 2048 /* IndexWithinInitPhaseIncrementer */;\n hook.call(directive);\n }\n }\n else {\n hook.call(directive);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NO_PARENT_INJECTOR = -1;\n/**\n * Each injector is saved in 9 contiguous slots in `LView` and 9 contiguous slots in\n * `TView.data`. This allows us to store information about the current node's tokens (which\n * can be shared in `TView`) as well as the tokens of its ancestor nodes (which cannot be\n * shared, so they live in `LView`).\n *\n * Each of these slots (aside from the last slot) contains a bloom filter. This bloom filter\n * determines whether a directive is available on the associated node or not. This prevents us\n * from searching the directives array at this level unless it's probable the directive is in it.\n *\n * See: https://en.wikipedia.org/wiki/Bloom_filter for more about bloom filters.\n *\n * Because all injectors have been flattened into `LView` and `TViewData`, they cannot typed\n * using interfaces as they were previously. The start index of each `LInjector` and `TInjector`\n * will differ based on where it is flattened into the main array, so it's not possible to know\n * the indices ahead of time and save their types here. The interfaces are still included here\n * for documentation purposes.\n *\n * export interface LInjector extends Array {\n *\n * // Cumulative bloom for directive IDs 0-31 (IDs are % BLOOM_SIZE)\n * [0]: number;\n *\n * // Cumulative bloom for directive IDs 32-63\n * [1]: number;\n *\n * // Cumulative bloom for directive IDs 64-95\n * [2]: number;\n *\n * // Cumulative bloom for directive IDs 96-127\n * [3]: number;\n *\n * // Cumulative bloom for directive IDs 128-159\n * [4]: number;\n *\n * // Cumulative bloom for directive IDs 160 - 191\n * [5]: number;\n *\n * // Cumulative bloom for directive IDs 192 - 223\n * [6]: number;\n *\n * // Cumulative bloom for directive IDs 224 - 255\n * [7]: number;\n *\n * // We need to store a reference to the injector's parent so DI can keep looking up\n * // the injector tree until it finds the dependency it's looking for.\n * [PARENT_INJECTOR]: number;\n * }\n *\n * export interface TInjector extends Array {\n *\n * // Shared node bloom for directive IDs 0-31 (IDs are % BLOOM_SIZE)\n * [0]: number;\n *\n * // Shared node bloom for directive IDs 32-63\n * [1]: number;\n *\n * // Shared node bloom for directive IDs 64-95\n * [2]: number;\n *\n * // Shared node bloom for directive IDs 96-127\n * [3]: number;\n *\n * // Shared node bloom for directive IDs 128-159\n * [4]: number;\n *\n * // Shared node bloom for directive IDs 160 - 191\n * [5]: number;\n *\n * // Shared node bloom for directive IDs 192 - 223\n * [6]: number;\n *\n * // Shared node bloom for directive IDs 224 - 255\n * [7]: number;\n *\n * // Necessary to find directive indices for a particular node.\n * [TNODE]: TElementNode|TElementContainerNode|TContainerNode;\n * }\n */\n/**\n * Factory for creating instances of injectors in the NodeInjector.\n *\n * This factory is complicated by the fact that it can resolve `multi` factories as well.\n *\n * NOTE: Some of the fields are optional which means that this class has two hidden classes.\n * - One without `multi` support (most common)\n * - One with `multi` values, (rare).\n *\n * Since VMs can cache up to 4 inline hidden classes this is OK.\n *\n * - Single factory: Only `resolving` and `factory` is defined.\n * - `providers` factory: `componentProviders` is a number and `index = -1`.\n * - `viewProviders` factory: `componentProviders` is a number and `index` points to `providers`.\n */\nclass NodeInjectorFactory {\n constructor(\n /**\n * Factory to invoke in order to create a new instance.\n */\n factory, \n /**\n * Set to `true` if the token is declared in `viewProviders` (or if it is component).\n */\n isViewProvider, injectImplementation) {\n this.factory = factory;\n /**\n * Marker set to true during factory invocation to see if we get into recursive loop.\n * Recursive loop causes an error to be displayed.\n */\n this.resolving = false;\n ngDevMode && assertDefined(factory, 'Factory not specified');\n ngDevMode && assertEqual(typeof factory, 'function', 'Expected factory function.');\n this.canSeeViewProviders = isViewProvider;\n this.injectImpl = injectImplementation;\n }\n}\nfunction isFactory(obj) {\n return obj instanceof NodeInjectorFactory;\n}\n// Note: This hack is necessary so we don't erroneously get a circular dependency\n// failure based on types.\nconst unusedValueExportToPlacateAjd$3 = 1;\n\n/**\n * Converts `TNodeType` into human readable text.\n * Make sure this matches with `TNodeType`\n */\nfunction toTNodeTypeAsString(tNodeType) {\n let text = '';\n (tNodeType & 1 /* Text */) && (text += '|Text');\n (tNodeType & 2 /* Element */) && (text += '|Element');\n (tNodeType & 4 /* Container */) && (text += '|Container');\n (tNodeType & 8 /* ElementContainer */) && (text += '|ElementContainer');\n (tNodeType & 16 /* Projection */) && (text += '|Projection');\n (tNodeType & 32 /* Icu */) && (text += '|IcuContainer');\n (tNodeType & 64 /* Placeholder */) && (text += '|Placeholder');\n return text.length > 0 ? text.substring(1) : text;\n}\n// Note: This hack is necessary so we don't erroneously get a circular dependency\n// failure based on types.\nconst unusedValueExportToPlacateAjd$4 = 1;\n/**\n * Returns `true` if the `TNode` has a directive which has `@Input()` for `class` binding.\n *\n * ```\n * \n * ```\n * and\n * ```\n * @Directive({\n * })\n * class MyDirective {\n * @Input()\n * class: string;\n * }\n * ```\n *\n * In the above case it is necessary to write the reconciled styling information into the\n * directive's input.\n *\n * @param tNode\n */\nfunction hasClassInput(tNode) {\n return (tNode.flags & 16 /* hasClassInput */) !== 0;\n}\n/**\n * Returns `true` if the `TNode` has a directive which has `@Input()` for `style` binding.\n *\n * ```\n * \n * ```\n * and\n * ```\n * @Directive({\n * })\n * class MyDirective {\n * @Input()\n * class: string;\n * }\n * ```\n *\n * In the above case it is necessary to write the reconciled styling information into the\n * directive's input.\n *\n * @param tNode\n */\nfunction hasStyleInput(tNode) {\n return (tNode.flags & 32 /* hasStyleInput */) !== 0;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction assertTNodeType(tNode, expectedTypes, message) {\n assertDefined(tNode, 'should be called with a TNode');\n if ((tNode.type & expectedTypes) === 0) {\n throwError(message ||\n `Expected [${toTNodeTypeAsString(expectedTypes)}] but got ${toTNodeTypeAsString(tNode.type)}.`);\n }\n}\nfunction assertPureTNodeType(type) {\n if (!(type === 2 /* Element */ || //\n type === 1 /* Text */ || //\n type === 4 /* Container */ || //\n type === 8 /* ElementContainer */ || //\n type === 32 /* Icu */ || //\n type === 16 /* Projection */ || //\n type === 64 /* Placeholder */)) {\n throwError(`Expected TNodeType to have only a single type selected, but got ${toTNodeTypeAsString(type)}.`);\n }\n}\n\n/**\n * Assigns all attribute values to the provided element via the inferred renderer.\n *\n * This function accepts two forms of attribute entries:\n *\n * default: (key, value):\n * attrs = [key1, value1, key2, value2]\n *\n * namespaced: (NAMESPACE_MARKER, uri, name, value)\n * attrs = [NAMESPACE_MARKER, uri, name, value, NAMESPACE_MARKER, uri, name, value]\n *\n * The `attrs` array can contain a mix of both the default and namespaced entries.\n * The \"default\" values are set without a marker, but if the function comes across\n * a marker value then it will attempt to set a namespaced value. If the marker is\n * not of a namespaced value then the function will quit and return the index value\n * where it stopped during the iteration of the attrs array.\n *\n * See [AttributeMarker] to understand what the namespace marker value is.\n *\n * Note that this instruction does not support assigning style and class values to\n * an element. See `elementStart` and `elementHostAttrs` to learn how styling values\n * are applied to an element.\n * @param renderer The renderer to be used\n * @param native The element that the attributes will be assigned to\n * @param attrs The attribute array of values that will be assigned to the element\n * @returns the index value that was last accessed in the attributes array\n */\nfunction setUpAttributes(renderer, native, attrs) {\n const isProc = isProceduralRenderer(renderer);\n let i = 0;\n while (i < attrs.length) {\n const value = attrs[i];\n if (typeof value === 'number') {\n // only namespaces are supported. Other value types (such as style/class\n // entries) are not supported in this function.\n if (value !== 0 /* NamespaceURI */) {\n break;\n }\n // we just landed on the marker value ... therefore\n // we should skip to the next entry\n i++;\n const namespaceURI = attrs[i++];\n const attrName = attrs[i++];\n const attrVal = attrs[i++];\n ngDevMode && ngDevMode.rendererSetAttribute++;\n isProc ?\n renderer.setAttribute(native, attrName, attrVal, namespaceURI) :\n native.setAttributeNS(namespaceURI, attrName, attrVal);\n }\n else {\n // attrName is string;\n const attrName = value;\n const attrVal = attrs[++i];\n // Standard attributes\n ngDevMode && ngDevMode.rendererSetAttribute++;\n if (isAnimationProp(attrName)) {\n if (isProc) {\n renderer.setProperty(native, attrName, attrVal);\n }\n }\n else {\n isProc ?\n renderer.setAttribute(native, attrName, attrVal) :\n native.setAttribute(attrName, attrVal);\n }\n i++;\n }\n }\n // another piece of code may iterate over the same attributes array. Therefore\n // it may be helpful to return the exact spot where the attributes array exited\n // whether by running into an unsupported marker or if all the static values were\n // iterated over.\n return i;\n}\n/**\n * Test whether the given value is a marker that indicates that the following\n * attribute values in a `TAttributes` array are only the names of attributes,\n * and not name-value pairs.\n * @param marker The attribute marker to test.\n * @returns true if the marker is a \"name-only\" marker (e.g. `Bindings`, `Template` or `I18n`).\n */\nfunction isNameOnlyAttributeMarker(marker) {\n return marker === 3 /* Bindings */ || marker === 4 /* Template */ ||\n marker === 6 /* I18n */;\n}\nfunction isAnimationProp(name) {\n // Perf note: accessing charCodeAt to check for the first character of a string is faster as\n // compared to accessing a character at index 0 (ex. name[0]). The main reason for this is that\n // charCodeAt doesn't allocate memory to return a substring.\n return name.charCodeAt(0) === 64 /* AT_SIGN */;\n}\n/**\n * Merges `src` `TAttributes` into `dst` `TAttributes` removing any duplicates in the process.\n *\n * This merge function keeps the order of attrs same.\n *\n * @param dst Location of where the merged `TAttributes` should end up.\n * @param src `TAttributes` which should be appended to `dst`\n */\nfunction mergeHostAttrs(dst, src) {\n if (src === null || src.length === 0) {\n // do nothing\n }\n else if (dst === null || dst.length === 0) {\n // We have source, but dst is empty, just make a copy.\n dst = src.slice();\n }\n else {\n let srcMarker = -1 /* ImplicitAttributes */;\n for (let i = 0; i < src.length; i++) {\n const item = src[i];\n if (typeof item === 'number') {\n srcMarker = item;\n }\n else {\n if (srcMarker === 0 /* NamespaceURI */) {\n // Case where we need to consume `key1`, `key2`, `value` items.\n }\n else if (srcMarker === -1 /* ImplicitAttributes */ ||\n srcMarker === 2 /* Styles */) {\n // Case where we have to consume `key1` and `value` only.\n mergeHostAttribute(dst, srcMarker, item, null, src[++i]);\n }\n else {\n // Case where we have to consume `key1` only.\n mergeHostAttribute(dst, srcMarker, item, null, null);\n }\n }\n }\n }\n return dst;\n}\n/**\n * Append `key`/`value` to existing `TAttributes` taking region marker and duplicates into account.\n *\n * @param dst `TAttributes` to append to.\n * @param marker Region where the `key`/`value` should be added.\n * @param key1 Key to add to `TAttributes`\n * @param key2 Key to add to `TAttributes` (in case of `AttributeMarker.NamespaceURI`)\n * @param value Value to add or to overwrite to `TAttributes` Only used if `marker` is not Class.\n */\nfunction mergeHostAttribute(dst, marker, key1, key2, value) {\n let i = 0;\n // Assume that new markers will be inserted at the end.\n let markerInsertPosition = dst.length;\n // scan until correct type.\n if (marker === -1 /* ImplicitAttributes */) {\n markerInsertPosition = -1;\n }\n else {\n while (i < dst.length) {\n const dstValue = dst[i++];\n if (typeof dstValue === 'number') {\n if (dstValue === marker) {\n markerInsertPosition = -1;\n break;\n }\n else if (dstValue > marker) {\n // We need to save this as we want the markers to be inserted in specific order.\n markerInsertPosition = i - 1;\n break;\n }\n }\n }\n }\n // search until you find place of insertion\n while (i < dst.length) {\n const item = dst[i];\n if (typeof item === 'number') {\n // since `i` started as the index after the marker, we did not find it if we are at the next\n // marker\n break;\n }\n else if (item === key1) {\n // We already have same token\n if (key2 === null) {\n if (value !== null) {\n dst[i + 1] = value;\n }\n return;\n }\n else if (key2 === dst[i + 1]) {\n dst[i + 2] = value;\n return;\n }\n }\n // Increment counter.\n i++;\n if (key2 !== null)\n i++;\n if (value !== null)\n i++;\n }\n // insert at location.\n if (markerInsertPosition !== -1) {\n dst.splice(markerInsertPosition, 0, marker);\n i = markerInsertPosition + 1;\n }\n dst.splice(i++, 0, key1);\n if (key2 !== null) {\n dst.splice(i++, 0, key2);\n }\n if (value !== null) {\n dst.splice(i++, 0, value);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/// Parent Injector Utils ///////////////////////////////////////////////////////////////\nfunction hasParentInjector(parentLocation) {\n return parentLocation !== NO_PARENT_INJECTOR;\n}\nfunction getParentInjectorIndex(parentLocation) {\n ngDevMode && assertNumber(parentLocation, 'Number expected');\n ngDevMode && assertNotEqual(parentLocation, -1, 'Not a valid state.');\n const parentInjectorIndex = parentLocation & 32767 /* InjectorIndexMask */;\n ngDevMode &&\n assertGreaterThan(parentInjectorIndex, HEADER_OFFSET, 'Parent injector must be pointing past HEADER_OFFSET.');\n return parentLocation & 32767 /* InjectorIndexMask */;\n}\nfunction getParentInjectorViewOffset(parentLocation) {\n return parentLocation >> 16 /* ViewOffsetShift */;\n}\n/**\n * Unwraps a parent injector location number to find the view offset from the current injector,\n * then walks up the declaration view tree until the view is found that contains the parent\n * injector.\n *\n * @param location The location of the parent injector, which contains the view offset\n * @param startView The LView instance from which to start walking up the view tree\n * @returns The LView instance that contains the parent injector\n */\nfunction getParentInjectorView(location, startView) {\n let viewOffset = getParentInjectorViewOffset(location);\n let parentView = startView;\n // For most cases, the parent injector can be found on the host node (e.g. for component\n // or container), but we must keep the loop here to support the rarer case of deeply nested\n // tags or inline views, where the parent injector might live many views\n // above the child injector.\n while (viewOffset > 0) {\n parentView = parentView[DECLARATION_VIEW];\n viewOffset--;\n }\n return parentView;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Defines if the call to `inject` should include `viewProviders` in its resolution.\n *\n * This is set to true when we try to instantiate a component. This value is reset in\n * `getNodeInjectable` to a value which matches the declaration location of the token about to be\n * instantiated. This is done so that if we are injecting a token which was declared outside of\n * `viewProviders` we don't accidentally pull `viewProviders` in.\n *\n * Example:\n *\n * ```\n * @Injectable()\n * class MyService {\n * constructor(public value: String) {}\n * }\n *\n * @Component({\n * providers: [\n * MyService,\n * {provide: String, value: 'providers' }\n * ]\n * viewProviders: [\n * {provide: String, value: 'viewProviders'}\n * ]\n * })\n * class MyComponent {\n * constructor(myService: MyService, value: String) {\n * // We expect that Component can see into `viewProviders`.\n * expect(value).toEqual('viewProviders');\n * // `MyService` was not declared in `viewProviders` hence it can't see it.\n * expect(myService.value).toEqual('providers');\n * }\n * }\n *\n * ```\n */\nlet includeViewProviders = true;\nfunction setIncludeViewProviders(v) {\n const oldValue = includeViewProviders;\n includeViewProviders = v;\n return oldValue;\n}\n/**\n * The number of slots in each bloom filter (used by DI). The larger this number, the fewer\n * directives that will share slots, and thus, the fewer false positives when checking for\n * the existence of a directive.\n */\nconst BLOOM_SIZE = 256;\nconst BLOOM_MASK = BLOOM_SIZE - 1;\n/** Counter used to generate unique IDs for directives. */\nlet nextNgElementId = 0;\n/**\n * Registers this directive as present in its node's injector by flipping the directive's\n * corresponding bit in the injector's bloom filter.\n *\n * @param injectorIndex The index of the node injector where this token should be registered\n * @param tView The TView for the injector's bloom filters\n * @param type The directive token to register\n */\nfunction bloomAdd(injectorIndex, tView, type) {\n ngDevMode && assertEqual(tView.firstCreatePass, true, 'expected firstCreatePass to be true');\n let id;\n if (typeof type === 'string') {\n id = type.charCodeAt(0) || 0;\n }\n else if (type.hasOwnProperty(NG_ELEMENT_ID)) {\n id = type[NG_ELEMENT_ID];\n }\n // Set a unique ID on the directive type, so if something tries to inject the directive,\n // we can easily retrieve the ID and hash it into the bloom bit that should be checked.\n if (id == null) {\n id = type[NG_ELEMENT_ID] = nextNgElementId++;\n }\n // We only have BLOOM_SIZE (256) slots in our bloom filter (8 buckets * 32 bits each),\n // so all unique IDs must be modulo-ed into a number from 0 - 255 to fit into the filter.\n const bloomBit = id & BLOOM_MASK;\n // Create a mask that targets the specific bit associated with the directive.\n // JS bit operations are 32 bits, so this will be a number between 2^0 and 2^31, corresponding\n // to bit positions 0 - 31 in a 32 bit integer.\n const mask = 1 << bloomBit;\n // Use the raw bloomBit number to determine which bloom filter bucket we should check\n // e.g: bf0 = [0 - 31], bf1 = [32 - 63], bf2 = [64 - 95], bf3 = [96 - 127], etc\n const b7 = bloomBit & 0x80;\n const b6 = bloomBit & 0x40;\n const b5 = bloomBit & 0x20;\n const tData = tView.data;\n if (b7) {\n b6 ? (b5 ? (tData[injectorIndex + 7] |= mask) : (tData[injectorIndex + 6] |= mask)) :\n (b5 ? (tData[injectorIndex + 5] |= mask) : (tData[injectorIndex + 4] |= mask));\n }\n else {\n b6 ? (b5 ? (tData[injectorIndex + 3] |= mask) : (tData[injectorIndex + 2] |= mask)) :\n (b5 ? (tData[injectorIndex + 1] |= mask) : (tData[injectorIndex] |= mask));\n }\n}\n/**\n * Creates (or gets an existing) injector for a given element or container.\n *\n * @param tNode for which an injector should be retrieved / created.\n * @param lView View where the node is stored\n * @returns Node injector\n */\nfunction getOrCreateNodeInjectorForNode(tNode, lView) {\n const existingInjectorIndex = getInjectorIndex(tNode, lView);\n if (existingInjectorIndex !== -1) {\n return existingInjectorIndex;\n }\n const tView = lView[TVIEW];\n if (tView.firstCreatePass) {\n tNode.injectorIndex = lView.length;\n insertBloom(tView.data, tNode); // foundation for node bloom\n insertBloom(lView, null); // foundation for cumulative bloom\n insertBloom(tView.blueprint, null);\n }\n const parentLoc = getParentInjectorLocation(tNode, lView);\n const injectorIndex = tNode.injectorIndex;\n // If a parent injector can't be found, its location is set to -1.\n // In that case, we don't need to set up a cumulative bloom\n if (hasParentInjector(parentLoc)) {\n const parentIndex = getParentInjectorIndex(parentLoc);\n const parentLView = getParentInjectorView(parentLoc, lView);\n const parentData = parentLView[TVIEW].data;\n // Creates a cumulative bloom filter that merges the parent's bloom filter\n // and its own cumulative bloom (which contains tokens for all ancestors)\n for (let i = 0; i < 8 /* BLOOM_SIZE */; i++) {\n lView[injectorIndex + i] = parentLView[parentIndex + i] | parentData[parentIndex + i];\n }\n }\n lView[injectorIndex + 8 /* PARENT */] = parentLoc;\n return injectorIndex;\n}\nfunction insertBloom(arr, footer) {\n arr.push(0, 0, 0, 0, 0, 0, 0, 0, footer);\n}\nfunction getInjectorIndex(tNode, lView) {\n if (tNode.injectorIndex === -1 ||\n // If the injector index is the same as its parent's injector index, then the index has been\n // copied down from the parent node. No injector has been created yet on this node.\n (tNode.parent && tNode.parent.injectorIndex === tNode.injectorIndex) ||\n // After the first template pass, the injector index might exist but the parent values\n // might not have been calculated yet for this instance\n lView[tNode.injectorIndex + 8 /* PARENT */] === null) {\n return -1;\n }\n else {\n ngDevMode && assertIndexInRange(lView, tNode.injectorIndex);\n return tNode.injectorIndex;\n }\n}\n/**\n * Finds the index of the parent injector, with a view offset if applicable. Used to set the\n * parent injector initially.\n *\n * @returns Returns a number that is the combination of the number of LViews that we have to go up\n * to find the LView containing the parent inject AND the index of the injector within that LView.\n */\nfunction getParentInjectorLocation(tNode, lView) {\n if (tNode.parent && tNode.parent.injectorIndex !== -1) {\n // If we have a parent `TNode` and there is an injector associated with it we are done, because\n // the parent injector is within the current `LView`.\n return tNode.parent.injectorIndex; // ViewOffset is 0\n }\n // When parent injector location is computed it may be outside of the current view. (ie it could\n // be pointing to a declared parent location). This variable stores number of declaration parents\n // we need to walk up in order to find the parent injector location.\n let declarationViewOffset = 0;\n let parentTNode = null;\n let lViewCursor = lView;\n // The parent injector is not in the current `LView`. We will have to walk the declared parent\n // `LView` hierarchy and look for it. If we walk of the top, that means that there is no parent\n // `NodeInjector`.\n while (lViewCursor !== null) {\n // First determine the `parentTNode` location. The parent pointer differs based on `TView.type`.\n const tView = lViewCursor[TVIEW];\n const tViewType = tView.type;\n if (tViewType === 2 /* Embedded */) {\n ngDevMode &&\n assertDefined(tView.declTNode, 'Embedded TNodes should have declaration parents.');\n parentTNode = tView.declTNode;\n }\n else if (tViewType === 1 /* Component */) {\n // Components don't have `TView.declTNode` because each instance of component could be\n // inserted in different location, hence `TView.declTNode` is meaningless.\n parentTNode = lViewCursor[T_HOST];\n }\n else {\n ngDevMode && assertEqual(tView.type, 0 /* Root */, 'Root type expected');\n parentTNode = null;\n }\n if (parentTNode === null) {\n // If we have no parent, than we are done.\n return NO_PARENT_INJECTOR;\n }\n ngDevMode && parentTNode && assertTNodeForLView(parentTNode, lViewCursor[DECLARATION_VIEW]);\n // Every iteration of the loop requires that we go to the declared parent.\n declarationViewOffset++;\n lViewCursor = lViewCursor[DECLARATION_VIEW];\n if (parentTNode.injectorIndex !== -1) {\n // We found a NodeInjector which points to something.\n return (parentTNode.injectorIndex |\n (declarationViewOffset << 16 /* ViewOffsetShift */));\n }\n }\n return NO_PARENT_INJECTOR;\n}\n/**\n * Makes a type or an injection token public to the DI system by adding it to an\n * injector's bloom filter.\n *\n * @param di The node injector in which a directive will be added\n * @param token The type or the injection token to be made public\n */\nfunction diPublicInInjector(injectorIndex, tView, token) {\n bloomAdd(injectorIndex, tView, token);\n}\n/**\n * Inject static attribute value into directive constructor.\n *\n * This method is used with `factory` functions which are generated as part of\n * `defineDirective` or `defineComponent`. The method retrieves the static value\n * of an attribute. (Dynamic attributes are not supported since they are not resolved\n * at the time of injection and can change over time.)\n *\n * # Example\n * Given:\n * ```\n * @Component(...)\n * class MyComponent {\n * constructor(@Attribute('title') title: string) { ... }\n * }\n * ```\n * When instantiated with\n * ```\n * \n * ```\n *\n * Then factory method generated is:\n * ```\n * MyComponent.ɵcmp = defineComponent({\n * factory: () => new MyComponent(injectAttribute('title'))\n * ...\n * })\n * ```\n *\n * @publicApi\n */\nfunction injectAttributeImpl(tNode, attrNameToInject) {\n ngDevMode && assertTNodeType(tNode, 12 /* AnyContainer */ | 3 /* AnyRNode */);\n ngDevMode && assertDefined(tNode, 'expecting tNode');\n if (attrNameToInject === 'class') {\n return tNode.classes;\n }\n if (attrNameToInject === 'style') {\n return tNode.styles;\n }\n const attrs = tNode.attrs;\n if (attrs) {\n const attrsLength = attrs.length;\n let i = 0;\n while (i < attrsLength) {\n const value = attrs[i];\n // If we hit a `Bindings` or `Template` marker then we are done.\n if (isNameOnlyAttributeMarker(value))\n break;\n // Skip namespaced attributes\n if (value === 0 /* NamespaceURI */) {\n // we skip the next two values\n // as namespaced attributes looks like\n // [..., AttributeMarker.NamespaceURI, 'http://someuri.com/test', 'test:exist',\n // 'existValue', ...]\n i = i + 2;\n }\n else if (typeof value === 'number') {\n // Skip to the first value of the marked attribute.\n i++;\n while (i < attrsLength && typeof attrs[i] === 'string') {\n i++;\n }\n }\n else if (value === attrNameToInject) {\n return attrs[i + 1];\n }\n else {\n i = i + 2;\n }\n }\n }\n return null;\n}\nfunction notFoundValueOrThrow(notFoundValue, token, flags) {\n if (flags & InjectFlags.Optional) {\n return notFoundValue;\n }\n else {\n throwProviderNotFoundError(token, 'NodeInjector');\n }\n}\n/**\n * Returns the value associated to the given token from the ModuleInjector or throws exception\n *\n * @param lView The `LView` that contains the `tNode`\n * @param token The token to look for\n * @param flags Injection flags\n * @param notFoundValue The value to return when the injection flags is `InjectFlags.Optional`\n * @returns the value from the injector or throws an exception\n */\nfunction lookupTokenUsingModuleInjector(lView, token, flags, notFoundValue) {\n if (flags & InjectFlags.Optional && notFoundValue === undefined) {\n // This must be set or the NullInjector will throw for optional deps\n notFoundValue = null;\n }\n if ((flags & (InjectFlags.Self | InjectFlags.Host)) === 0) {\n const moduleInjector = lView[INJECTOR];\n // switch to `injectInjectorOnly` implementation for module injector, since module injector\n // should not have access to Component/Directive DI scope (that may happen through\n // `directiveInject` implementation)\n const previousInjectImplementation = setInjectImplementation(undefined);\n try {\n if (moduleInjector) {\n return moduleInjector.get(token, notFoundValue, flags & InjectFlags.Optional);\n }\n else {\n return injectRootLimpMode(token, notFoundValue, flags & InjectFlags.Optional);\n }\n }\n finally {\n setInjectImplementation(previousInjectImplementation);\n }\n }\n return notFoundValueOrThrow(notFoundValue, token, flags);\n}\n/**\n * Returns the value associated to the given token from the NodeInjectors => ModuleInjector.\n *\n * Look for the injector providing the token by walking up the node injector tree and then\n * the module injector tree.\n *\n * This function patches `token` with `__NG_ELEMENT_ID__` which contains the id for the bloom\n * filter. `-1` is reserved for injecting `Injector` (implemented by `NodeInjector`)\n *\n * @param tNode The Node where the search for the injector should start\n * @param lView The `LView` that contains the `tNode`\n * @param token The token to look for\n * @param flags Injection flags\n * @param notFoundValue The value to return when the injection flags is `InjectFlags.Optional`\n * @returns the value from the injector, `null` when not found, or `notFoundValue` if provided\n */\nfunction getOrCreateInjectable(tNode, lView, token, flags = InjectFlags.Default, notFoundValue) {\n if (tNode !== null) {\n const bloomHash = bloomHashBitOrFactory(token);\n // If the ID stored here is a function, this is a special object like ElementRef or TemplateRef\n // so just call the factory function to create it.\n if (typeof bloomHash === 'function') {\n if (!enterDI(lView, tNode, flags)) {\n // Failed to enter DI, try module injector instead. If a token is injected with the @Host\n // flag, the module injector is not searched for that token in Ivy.\n return (flags & InjectFlags.Host) ?\n notFoundValueOrThrow(notFoundValue, token, flags) :\n lookupTokenUsingModuleInjector(lView, token, flags, notFoundValue);\n }\n try {\n const value = bloomHash();\n if (value == null && !(flags & InjectFlags.Optional)) {\n throwProviderNotFoundError(token);\n }\n else {\n return value;\n }\n }\n finally {\n leaveDI();\n }\n }\n else if (typeof bloomHash === 'number') {\n // A reference to the previous injector TView that was found while climbing the element\n // injector tree. This is used to know if viewProviders can be accessed on the current\n // injector.\n let previousTView = null;\n let injectorIndex = getInjectorIndex(tNode, lView);\n let parentLocation = NO_PARENT_INJECTOR;\n let hostTElementNode = flags & InjectFlags.Host ? lView[DECLARATION_COMPONENT_VIEW][T_HOST] : null;\n // If we should skip this injector, or if there is no injector on this node, start by\n // searching the parent injector.\n if (injectorIndex === -1 || flags & InjectFlags.SkipSelf) {\n parentLocation = injectorIndex === -1 ? getParentInjectorLocation(tNode, lView) :\n lView[injectorIndex + 8 /* PARENT */];\n if (parentLocation === NO_PARENT_INJECTOR || !shouldSearchParent(flags, false)) {\n injectorIndex = -1;\n }\n else {\n previousTView = lView[TVIEW];\n injectorIndex = getParentInjectorIndex(parentLocation);\n lView = getParentInjectorView(parentLocation, lView);\n }\n }\n // Traverse up the injector tree until we find a potential match or until we know there\n // *isn't* a match.\n while (injectorIndex !== -1) {\n ngDevMode && assertNodeInjector(lView, injectorIndex);\n // Check the current injector. If it matches, see if it contains token.\n const tView = lView[TVIEW];\n ngDevMode &&\n assertTNodeForLView(tView.data[injectorIndex + 8 /* TNODE */], lView);\n if (bloomHasToken(bloomHash, injectorIndex, tView.data)) {\n // At this point, we have an injector which *may* contain the token, so we step through\n // the providers and directives associated with the injector's corresponding node to get\n // the instance.\n const instance = searchTokensOnInjector(injectorIndex, lView, token, previousTView, flags, hostTElementNode);\n if (instance !== NOT_FOUND) {\n return instance;\n }\n }\n parentLocation = lView[injectorIndex + 8 /* PARENT */];\n if (parentLocation !== NO_PARENT_INJECTOR &&\n shouldSearchParent(flags, lView[TVIEW].data[injectorIndex + 8 /* TNODE */] === hostTElementNode) &&\n bloomHasToken(bloomHash, injectorIndex, lView)) {\n // The def wasn't found anywhere on this node, so it was a false positive.\n // Traverse up the tree and continue searching.\n previousTView = tView;\n injectorIndex = getParentInjectorIndex(parentLocation);\n lView = getParentInjectorView(parentLocation, lView);\n }\n else {\n // If we should not search parent OR If the ancestor bloom filter value does not have the\n // bit corresponding to the directive we can give up on traversing up to find the specific\n // injector.\n injectorIndex = -1;\n }\n }\n }\n }\n return lookupTokenUsingModuleInjector(lView, token, flags, notFoundValue);\n}\nconst NOT_FOUND = {};\nfunction createNodeInjector() {\n return new NodeInjector(getCurrentTNode(), getLView());\n}\nfunction searchTokensOnInjector(injectorIndex, lView, token, previousTView, flags, hostTElementNode) {\n const currentTView = lView[TVIEW];\n const tNode = currentTView.data[injectorIndex + 8 /* TNODE */];\n // First, we need to determine if view providers can be accessed by the starting element.\n // There are two possibilities\n const canAccessViewProviders = previousTView == null ?\n // 1) This is the first invocation `previousTView == null` which means that we are at the\n // `TNode` of where injector is starting to look. In such a case the only time we are allowed\n // to look into the ViewProviders is if:\n // - we are on a component\n // - AND the injector set `includeViewProviders` to true (implying that the token can see\n // ViewProviders because it is the Component or a Service which itself was declared in\n // ViewProviders)\n (isComponentHost(tNode) && includeViewProviders) :\n // 2) `previousTView != null` which means that we are now walking across the parent nodes.\n // In such a case we are only allowed to look into the ViewProviders if:\n // - We just crossed from child View to Parent View `previousTView != currentTView`\n // - AND the parent TNode is an Element.\n // This means that we just came from the Component's View and therefore are allowed to see\n // into the ViewProviders.\n (previousTView != currentTView && ((tNode.type & 3 /* AnyRNode */) !== 0));\n // This special case happens when there is a @host on the inject and when we are searching\n // on the host element node.\n const isHostSpecialCase = (flags & InjectFlags.Host) && hostTElementNode === tNode;\n const injectableIdx = locateDirectiveOrProvider(tNode, currentTView, token, canAccessViewProviders, isHostSpecialCase);\n if (injectableIdx !== null) {\n return getNodeInjectable(lView, currentTView, injectableIdx, tNode);\n }\n else {\n return NOT_FOUND;\n }\n}\n/**\n * Searches for the given token among the node's directives and providers.\n *\n * @param tNode TNode on which directives are present.\n * @param tView The tView we are currently processing\n * @param token Provider token or type of a directive to look for.\n * @param canAccessViewProviders Whether view providers should be considered.\n * @param isHostSpecialCase Whether the host special case applies.\n * @returns Index of a found directive or provider, or null when none found.\n */\nfunction locateDirectiveOrProvider(tNode, tView, token, canAccessViewProviders, isHostSpecialCase) {\n const nodeProviderIndexes = tNode.providerIndexes;\n const tInjectables = tView.data;\n const injectablesStart = nodeProviderIndexes & 1048575 /* ProvidersStartIndexMask */;\n const directivesStart = tNode.directiveStart;\n const directiveEnd = tNode.directiveEnd;\n const cptViewProvidersCount = nodeProviderIndexes >> 20 /* CptViewProvidersCountShift */;\n const startingIndex = canAccessViewProviders ? injectablesStart : injectablesStart + cptViewProvidersCount;\n // When the host special case applies, only the viewProviders and the component are visible\n const endIndex = isHostSpecialCase ? injectablesStart + cptViewProvidersCount : directiveEnd;\n for (let i = startingIndex; i < endIndex; i++) {\n const providerTokenOrDef = tInjectables[i];\n if (i < directivesStart && token === providerTokenOrDef ||\n i >= directivesStart && providerTokenOrDef.type === token) {\n return i;\n }\n }\n if (isHostSpecialCase) {\n const dirDef = tInjectables[directivesStart];\n if (dirDef && isComponentDef(dirDef) && dirDef.type === token) {\n return directivesStart;\n }\n }\n return null;\n}\n/**\n * Retrieve or instantiate the injectable from the `LView` at particular `index`.\n *\n * This function checks to see if the value has already been instantiated and if so returns the\n * cached `injectable`. Otherwise if it detects that the value is still a factory it\n * instantiates the `injectable` and caches the value.\n */\nfunction getNodeInjectable(lView, tView, index, tNode) {\n let value = lView[index];\n const tData = tView.data;\n if (isFactory(value)) {\n const factory = value;\n if (factory.resolving) {\n throwCyclicDependencyError(stringifyForError(tData[index]));\n }\n const previousIncludeViewProviders = setIncludeViewProviders(factory.canSeeViewProviders);\n factory.resolving = true;\n const previousInjectImplementation = factory.injectImpl ? setInjectImplementation(factory.injectImpl) : null;\n const success = enterDI(lView, tNode, InjectFlags.Default);\n ngDevMode &&\n assertEqual(success, true, 'Because flags do not contain \\`SkipSelf\\' we expect this to always succeed.');\n try {\n value = lView[index] = factory.factory(undefined, tData, lView, tNode);\n // This code path is hit for both directives and providers.\n // For perf reasons, we want to avoid searching for hooks on providers.\n // It does no harm to try (the hooks just won't exist), but the extra\n // checks are unnecessary and this is a hot path. So we check to see\n // if the index of the dependency is in the directive range for this\n // tNode. If it's not, we know it's a provider and skip hook registration.\n if (tView.firstCreatePass && index >= tNode.directiveStart) {\n ngDevMode && assertDirectiveDef(tData[index]);\n registerPreOrderHooks(index, tData[index], tView);\n }\n }\n finally {\n previousInjectImplementation !== null &&\n setInjectImplementation(previousInjectImplementation);\n setIncludeViewProviders(previousIncludeViewProviders);\n factory.resolving = false;\n leaveDI();\n }\n }\n return value;\n}\n/**\n * Returns the bit in an injector's bloom filter that should be used to determine whether or not\n * the directive might be provided by the injector.\n *\n * When a directive is public, it is added to the bloom filter and given a unique ID that can be\n * retrieved on the Type. When the directive isn't public or the token is not a directive `null`\n * is returned as the node injector can not possibly provide that token.\n *\n * @param token the injection token\n * @returns the matching bit to check in the bloom filter or `null` if the token is not known.\n * When the returned value is negative then it represents special values such as `Injector`.\n */\nfunction bloomHashBitOrFactory(token) {\n ngDevMode && assertDefined(token, 'token must be defined');\n if (typeof token === 'string') {\n return token.charCodeAt(0) || 0;\n }\n const tokenId = \n // First check with `hasOwnProperty` so we don't get an inherited ID.\n token.hasOwnProperty(NG_ELEMENT_ID) ? token[NG_ELEMENT_ID] : undefined;\n // Negative token IDs are used for special objects such as `Injector`\n if (typeof tokenId === 'number') {\n if (tokenId >= 0) {\n return tokenId & BLOOM_MASK;\n }\n else {\n ngDevMode &&\n assertEqual(tokenId, -1 /* Injector */, 'Expecting to get Special Injector Id');\n return createNodeInjector;\n }\n }\n else {\n return tokenId;\n }\n}\nfunction bloomHasToken(bloomHash, injectorIndex, injectorView) {\n // Create a mask that targets the specific bit associated with the directive we're looking for.\n // JS bit operations are 32 bits, so this will be a number between 2^0 and 2^31, corresponding\n // to bit positions 0 - 31 in a 32 bit integer.\n const mask = 1 << bloomHash;\n const b7 = bloomHash & 0x80;\n const b6 = bloomHash & 0x40;\n const b5 = bloomHash & 0x20;\n // Our bloom filter size is 256 bits, which is eight 32-bit bloom filter buckets:\n // bf0 = [0 - 31], bf1 = [32 - 63], bf2 = [64 - 95], bf3 = [96 - 127], etc.\n // Get the bloom filter value from the appropriate bucket based on the directive's bloomBit.\n let value;\n if (b7) {\n value = b6 ? (b5 ? injectorView[injectorIndex + 7] : injectorView[injectorIndex + 6]) :\n (b5 ? injectorView[injectorIndex + 5] : injectorView[injectorIndex + 4]);\n }\n else {\n value = b6 ? (b5 ? injectorView[injectorIndex + 3] : injectorView[injectorIndex + 2]) :\n (b5 ? injectorView[injectorIndex + 1] : injectorView[injectorIndex]);\n }\n // If the bloom filter value has the bit corresponding to the directive's bloomBit flipped on,\n // this injector is a potential match.\n return !!(value & mask);\n}\n/** Returns true if flags prevent parent injector from being searched for tokens */\nfunction shouldSearchParent(flags, isFirstHostTNode) {\n return !(flags & InjectFlags.Self) && !(flags & InjectFlags.Host && isFirstHostTNode);\n}\nclass NodeInjector {\n constructor(_tNode, _lView) {\n this._tNode = _tNode;\n this._lView = _lView;\n }\n get(token, notFoundValue) {\n return getOrCreateInjectable(this._tNode, this._lView, token, undefined, notFoundValue);\n }\n}\n/**\n * @codeGenApi\n */\nfunction ɵɵgetFactoryOf(type) {\n const typeAny = type;\n if (isForwardRef(type)) {\n return (() => {\n const factory = ɵɵgetFactoryOf(resolveForwardRef(typeAny));\n return factory ? factory() : null;\n });\n }\n let factory = getFactoryDef(typeAny);\n if (factory === null) {\n const injectorDef = getInjectorDef(typeAny);\n factory = injectorDef && injectorDef.factory;\n }\n return factory || null;\n}\n/**\n * @codeGenApi\n */\nfunction ɵɵgetInheritedFactory(type) {\n return noSideEffects(() => {\n const ownConstructor = type.prototype.constructor;\n const ownFactory = ownConstructor[NG_FACTORY_DEF] || ɵɵgetFactoryOf(ownConstructor);\n const objectPrototype = Object.prototype;\n let parent = Object.getPrototypeOf(type.prototype).constructor;\n // Go up the prototype until we hit `Object`.\n while (parent && parent !== objectPrototype) {\n const factory = parent[NG_FACTORY_DEF] || ɵɵgetFactoryOf(parent);\n // If we hit something that has a factory and the factory isn't the same as the type,\n // we've found the inherited factory. Note the check that the factory isn't the type's\n // own factory is redundant in most cases, but if the user has custom decorators on the\n // class, this lookup will start one level down in the prototype chain, causing us to\n // find the own factory first and potentially triggering an infinite loop downstream.\n if (factory && factory !== ownFactory) {\n return factory;\n }\n parent = Object.getPrototypeOf(parent);\n }\n // There is no factory defined. Either this was improper usage of inheritance\n // (no Angular decorator on the superclass) or there is no constructor at all\n // in the inheritance chain. Since the two cases cannot be distinguished, the\n // latter has to be assumed.\n return t => new t();\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Facade for the attribute injection from DI.\n *\n * @codeGenApi\n */\nfunction ɵɵinjectAttribute(attrNameToInject) {\n return injectAttributeImpl(getCurrentTNode(), attrNameToInject);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ANNOTATIONS = '__annotations__';\nconst PARAMETERS = '__parameters__';\nconst PROP_METADATA = '__prop__metadata__';\n/**\n * @suppress {globalThis}\n */\nfunction makeDecorator(name, props, parentClass, additionalProcessing, typeFn) {\n return noSideEffects(() => {\n const metaCtor = makeMetadataCtor(props);\n function DecoratorFactory(...args) {\n if (this instanceof DecoratorFactory) {\n metaCtor.call(this, ...args);\n return this;\n }\n const annotationInstance = new DecoratorFactory(...args);\n return function TypeDecorator(cls) {\n if (typeFn)\n typeFn(cls, ...args);\n // Use of Object.defineProperty is important since it creates non-enumerable property which\n // prevents the property is copied during subclassing.\n const annotations = cls.hasOwnProperty(ANNOTATIONS) ?\n cls[ANNOTATIONS] :\n Object.defineProperty(cls, ANNOTATIONS, { value: [] })[ANNOTATIONS];\n annotations.push(annotationInstance);\n if (additionalProcessing)\n additionalProcessing(cls);\n return cls;\n };\n }\n if (parentClass) {\n DecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n DecoratorFactory.prototype.ngMetadataName = name;\n DecoratorFactory.annotationCls = DecoratorFactory;\n return DecoratorFactory;\n });\n}\nfunction makeMetadataCtor(props) {\n return function ctor(...args) {\n if (props) {\n const values = props(...args);\n for (const propName in values) {\n this[propName] = values[propName];\n }\n }\n };\n}\nfunction makeParamDecorator(name, props, parentClass) {\n return noSideEffects(() => {\n const metaCtor = makeMetadataCtor(props);\n function ParamDecoratorFactory(...args) {\n if (this instanceof ParamDecoratorFactory) {\n metaCtor.apply(this, args);\n return this;\n }\n const annotationInstance = new ParamDecoratorFactory(...args);\n ParamDecorator.annotation = annotationInstance;\n return ParamDecorator;\n function ParamDecorator(cls, unusedKey, index) {\n // Use of Object.defineProperty is important since it creates non-enumerable property which\n // prevents the property is copied during subclassing.\n const parameters = cls.hasOwnProperty(PARAMETERS) ?\n cls[PARAMETERS] :\n Object.defineProperty(cls, PARAMETERS, { value: [] })[PARAMETERS];\n // there might be gaps if some in between parameters do not have annotations.\n // we pad with nulls.\n while (parameters.length <= index) {\n parameters.push(null);\n }\n (parameters[index] = parameters[index] || []).push(annotationInstance);\n return cls;\n }\n }\n if (parentClass) {\n ParamDecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n ParamDecoratorFactory.prototype.ngMetadataName = name;\n ParamDecoratorFactory.annotationCls = ParamDecoratorFactory;\n return ParamDecoratorFactory;\n });\n}\nfunction makePropDecorator(name, props, parentClass, additionalProcessing) {\n return noSideEffects(() => {\n const metaCtor = makeMetadataCtor(props);\n function PropDecoratorFactory(...args) {\n if (this instanceof PropDecoratorFactory) {\n metaCtor.apply(this, args);\n return this;\n }\n const decoratorInstance = new PropDecoratorFactory(...args);\n function PropDecorator(target, name) {\n const constructor = target.constructor;\n // Use of Object.defineProperty is important because it creates a non-enumerable property\n // which prevents the property from being copied during subclassing.\n const meta = constructor.hasOwnProperty(PROP_METADATA) ?\n constructor[PROP_METADATA] :\n Object.defineProperty(constructor, PROP_METADATA, { value: {} })[PROP_METADATA];\n meta[name] = meta.hasOwnProperty(name) && meta[name] || [];\n meta[name].unshift(decoratorInstance);\n if (additionalProcessing)\n additionalProcessing(target, name, ...args);\n }\n return PropDecorator;\n }\n if (parentClass) {\n PropDecoratorFactory.prototype = Object.create(parentClass.prototype);\n }\n PropDecoratorFactory.prototype.ngMetadataName = name;\n PropDecoratorFactory.annotationCls = PropDecoratorFactory;\n return PropDecoratorFactory;\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction CREATE_ATTRIBUTE_DECORATOR__PRE_R3__() {\n return makeParamDecorator('Attribute', (attributeName) => ({ attributeName }));\n}\nfunction CREATE_ATTRIBUTE_DECORATOR__POST_R3__() {\n return makeParamDecorator('Attribute', (attributeName) => ({ attributeName, __NG_ELEMENT_ID__: () => ɵɵinjectAttribute(attributeName) }));\n}\nconst CREATE_ATTRIBUTE_DECORATOR_IMPL = CREATE_ATTRIBUTE_DECORATOR__POST_R3__;\n/**\n * Attribute decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst Attribute = CREATE_ATTRIBUTE_DECORATOR_IMPL();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Creates a token that can be used in a DI Provider.\n *\n * Use an `InjectionToken` whenever the type you are injecting is not reified (does not have a\n * runtime representation) such as when injecting an interface, callable type, array or\n * parameterized type.\n *\n * `InjectionToken` is parameterized on `T` which is the type of object which will be returned by\n * the `Injector`. This provides additional level of type safety.\n *\n * ```\n * interface MyInterface {...}\n * var myInterface = injector.get(new InjectionToken('SomeToken'));\n * // myInterface is inferred to be MyInterface.\n * ```\n *\n * When creating an `InjectionToken`, you can optionally specify a factory function which returns\n * (possibly by creating) a default value of the parameterized type `T`. This sets up the\n * `InjectionToken` using this factory as a provider as if it was defined explicitly in the\n * application's root injector. If the factory function, which takes zero arguments, needs to inject\n * dependencies, it can do so using the `inject` function. See below for an example.\n *\n * Additionally, if a `factory` is specified you can also specify the `providedIn` option, which\n * overrides the above behavior and marks the token as belonging to a particular `@NgModule`. As\n * mentioned above, `'root'` is the default value for `providedIn`.\n *\n * @usageNotes\n * ### Basic Example\n *\n * ### Plain InjectionToken\n *\n * {@example core/di/ts/injector_spec.ts region='InjectionToken'}\n *\n * ### Tree-shakable InjectionToken\n *\n * {@example core/di/ts/injector_spec.ts region='ShakableInjectionToken'}\n *\n *\n * @publicApi\n */\nclass InjectionToken {\n constructor(_desc, options) {\n this._desc = _desc;\n /** @internal */\n this.ngMetadataName = 'InjectionToken';\n this.ɵprov = undefined;\n if (typeof options == 'number') {\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n assertLessThan(options, 0, 'Only negative numbers are supported here');\n // This is a special hack to assign __NG_ELEMENT_ID__ to this instance.\n // See `InjectorMarkers`\n this.__NG_ELEMENT_ID__ = options;\n }\n else if (options !== undefined) {\n this.ɵprov = ɵɵdefineInjectable({\n token: this,\n providedIn: options.providedIn || 'root',\n factory: options.factory,\n });\n }\n }\n toString() {\n return `InjectionToken ${this._desc}`;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A DI token that you can use to create a virtual [provider](guide/glossary#provider)\n * that will populate the `entryComponents` field of components and NgModules\n * based on its `useValue` property value.\n * All components that are referenced in the `useValue` value (either directly\n * or in a nested array or map) are added to the `entryComponents` property.\n *\n * @usageNotes\n *\n * The following example shows how the router can populate the `entryComponents`\n * field of an NgModule based on a router configuration that refers\n * to components.\n *\n * ```typescript\n * // helper function inside the router\n * function provideRoutes(routes) {\n * return [\n * {provide: ROUTES, useValue: routes},\n * {provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: routes, multi: true}\n * ];\n * }\n *\n * // user code\n * let routes = [\n * {path: '/root', component: RootComp},\n * {path: '/teams', component: TeamsComp}\n * ];\n *\n * @NgModule({\n * providers: [provideRoutes(routes)]\n * })\n * class ModuleWithRoutes {}\n * ```\n *\n * @publicApi\n * @deprecated Since 9.0.0. With Ivy, this property is no longer necessary.\n */\nconst ANALYZE_FOR_ENTRY_COMPONENTS = new InjectionToken('AnalyzeForEntryComponents');\n/**\n * Base class for query metadata.\n *\n * @see `ContentChildren`.\n * @see `ContentChild`.\n * @see `ViewChildren`.\n * @see `ViewChild`.\n *\n * @publicApi\n */\nclass Query {\n}\nconst ɵ0$1 = (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: false, descendants: false }, data));\n/**\n * ContentChildren decorator and metadata.\n *\n *\n * @Annotation\n * @publicApi\n */\nconst ContentChildren = makePropDecorator('ContentChildren', ɵ0$1, Query);\nconst ɵ1 = (selector, data = {}) => (Object.assign({ selector, first: true, isViewQuery: false, descendants: true }, data));\n/**\n * ContentChild decorator and metadata.\n *\n *\n * @Annotation\n *\n * @publicApi\n */\nconst ContentChild = makePropDecorator('ContentChild', ɵ1, Query);\nconst ɵ2 = (selector, data = {}) => (Object.assign({ selector, first: false, isViewQuery: true, descendants: true }, data));\n/**\n * ViewChildren decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst ViewChildren = makePropDecorator('ViewChildren', ɵ2, Query);\nconst ɵ3 = (selector, data) => (Object.assign({ selector, first: true, isViewQuery: true, descendants: true }, data));\n/**\n * ViewChild decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst ViewChild = makePropDecorator('ViewChild', ɵ3, Query);\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar R3ResolvedDependencyType;\n(function (R3ResolvedDependencyType) {\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Token\"] = 0] = \"Token\";\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Attribute\"] = 1] = \"Attribute\";\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"ChangeDetectorRef\"] = 2] = \"ChangeDetectorRef\";\n R3ResolvedDependencyType[R3ResolvedDependencyType[\"Invalid\"] = 3] = \"Invalid\";\n})(R3ResolvedDependencyType || (R3ResolvedDependencyType = {}));\nvar R3FactoryTarget;\n(function (R3FactoryTarget) {\n R3FactoryTarget[R3FactoryTarget[\"Directive\"] = 0] = \"Directive\";\n R3FactoryTarget[R3FactoryTarget[\"Component\"] = 1] = \"Component\";\n R3FactoryTarget[R3FactoryTarget[\"Injectable\"] = 2] = \"Injectable\";\n R3FactoryTarget[R3FactoryTarget[\"Pipe\"] = 3] = \"Pipe\";\n R3FactoryTarget[R3FactoryTarget[\"NgModule\"] = 4] = \"NgModule\";\n})(R3FactoryTarget || (R3FactoryTarget = {}));\nvar ViewEncapsulation$1;\n(function (ViewEncapsulation) {\n ViewEncapsulation[ViewEncapsulation[\"Emulated\"] = 0] = \"Emulated\";\n // Historically the 1 value was for `Native` encapsulation which has been removed as of v11.\n ViewEncapsulation[ViewEncapsulation[\"None\"] = 2] = \"None\";\n ViewEncapsulation[ViewEncapsulation[\"ShadowDom\"] = 3] = \"ShadowDom\";\n})(ViewEncapsulation$1 || (ViewEncapsulation$1 = {}));\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction getCompilerFacade() {\n const globalNg = _global['ng'];\n if (!globalNg || !globalNg.ɵcompilerFacade) {\n throw new Error(`Angular JIT compilation failed: '@angular/compiler' not loaded!\\n` +\n ` - JIT compilation is discouraged for production use-cases! Consider AOT mode instead.\\n` +\n ` - Did you bootstrap using '@angular/platform-browser-dynamic' or '@angular/platform-server'?\\n` +\n ` - Alternatively provide the compiler with 'import \"@angular/compiler\";' before bootstrapping.`);\n }\n return globalNg.ɵcompilerFacade;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n *\n * Represents a type that a Component or other object is instances of.\n *\n * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is represented by\n * the `MyCustomComponent` constructor function.\n *\n * @publicApi\n */\nconst Type = Function;\nfunction isType(v) {\n return typeof v === 'function';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Equivalent to ES6 spread, add each item to an array.\n *\n * @param items The items to add\n * @param arr The array to which you want to add the items\n */\nfunction addAllToArray(items, arr) {\n for (let i = 0; i < items.length; i++) {\n arr.push(items[i]);\n }\n}\n/**\n * Flattens an array.\n */\nfunction flatten(list, dst) {\n if (dst === undefined)\n dst = list;\n for (let i = 0; i < list.length; i++) {\n let item = list[i];\n if (Array.isArray(item)) {\n // we need to inline it.\n if (dst === list) {\n // Our assumption that the list was already flat was wrong and\n // we need to clone flat since we need to write to it.\n dst = list.slice(0, i);\n }\n flatten(item, dst);\n }\n else if (dst !== list) {\n dst.push(item);\n }\n }\n return dst;\n}\nfunction deepForEach(input, fn) {\n input.forEach(value => Array.isArray(value) ? deepForEach(value, fn) : fn(value));\n}\nfunction addToArray(arr, index, value) {\n // perf: array.push is faster than array.splice!\n if (index >= arr.length) {\n arr.push(value);\n }\n else {\n arr.splice(index, 0, value);\n }\n}\nfunction removeFromArray(arr, index) {\n // perf: array.pop is faster than array.splice!\n if (index >= arr.length - 1) {\n return arr.pop();\n }\n else {\n return arr.splice(index, 1)[0];\n }\n}\nfunction newArray(size, value) {\n const list = [];\n for (let i = 0; i < size; i++) {\n list.push(value);\n }\n return list;\n}\n/**\n * Remove item from array (Same as `Array.splice()` but faster.)\n *\n * `Array.splice()` is not as fast because it has to allocate an array for the elements which were\n * removed. This causes memory pressure and slows down code when most of the time we don't\n * care about the deleted items array.\n *\n * https://jsperf.com/fast-array-splice (About 20x faster)\n *\n * @param array Array to splice\n * @param index Index of element in array to remove.\n * @param count Number of items to remove.\n */\nfunction arraySplice(array, index, count) {\n const length = array.length - count;\n while (index < length) {\n array[index] = array[index + count];\n index++;\n }\n while (count--) {\n array.pop(); // shrink the array\n }\n}\n/**\n * Same as `Array.splice(index, 0, value)` but faster.\n *\n * `Array.splice()` is not fast because it has to allocate an array for the elements which were\n * removed. This causes memory pressure and slows down code when most of the time we don't\n * care about the deleted items array.\n *\n * @param array Array to splice.\n * @param index Index in array where the `value` should be added.\n * @param value Value to add to array.\n */\nfunction arrayInsert(array, index, value) {\n ngDevMode && assertLessThanOrEqual(index, array.length, 'Can\\'t insert past array end.');\n let end = array.length;\n while (end > index) {\n const previousEnd = end - 1;\n array[end] = array[previousEnd];\n end = previousEnd;\n }\n array[index] = value;\n}\n/**\n * Same as `Array.splice2(index, 0, value1, value2)` but faster.\n *\n * `Array.splice()` is not fast because it has to allocate an array for the elements which were\n * removed. This causes memory pressure and slows down code when most of the time we don't\n * care about the deleted items array.\n *\n * @param array Array to splice.\n * @param index Index in array where the `value` should be added.\n * @param value1 Value to add to array.\n * @param value2 Value to add to array.\n */\nfunction arrayInsert2(array, index, value1, value2) {\n ngDevMode && assertLessThanOrEqual(index, array.length, 'Can\\'t insert past array end.');\n let end = array.length;\n if (end == index) {\n // inserting at the end.\n array.push(value1, value2);\n }\n else if (end === 1) {\n // corner case when we have less items in array than we have items to insert.\n array.push(value2, array[0]);\n array[0] = value1;\n }\n else {\n end--;\n array.push(array[end - 1], array[end]);\n while (end > index) {\n const previousEnd = end - 2;\n array[end] = array[previousEnd];\n end--;\n }\n array[index] = value1;\n array[index + 1] = value2;\n }\n}\n/**\n * Insert a `value` into an `array` so that the array remains sorted.\n *\n * NOTE:\n * - Duplicates are not allowed, and are ignored.\n * - This uses binary search algorithm for fast inserts.\n *\n * @param array A sorted array to insert into.\n * @param value The value to insert.\n * @returns index of the inserted value.\n */\nfunction arrayInsertSorted(array, value) {\n let index = arrayIndexOfSorted(array, value);\n if (index < 0) {\n // if we did not find it insert it.\n index = ~index;\n arrayInsert(array, index, value);\n }\n return index;\n}\n/**\n * Remove `value` from a sorted `array`.\n *\n * NOTE:\n * - This uses binary search algorithm for fast removals.\n *\n * @param array A sorted array to remove from.\n * @param value The value to remove.\n * @returns index of the removed value.\n * - positive index if value found and removed.\n * - negative index if value not found. (`~index` to get the value where it should have been\n * inserted)\n */\nfunction arrayRemoveSorted(array, value) {\n const index = arrayIndexOfSorted(array, value);\n if (index >= 0) {\n arraySplice(array, index, 1);\n }\n return index;\n}\n/**\n * Get an index of an `value` in a sorted `array`.\n *\n * NOTE:\n * - This uses binary search algorithm for fast removals.\n *\n * @param array A sorted array to binary search.\n * @param value The value to look for.\n * @returns index of the value.\n * - positive index if value found.\n * - negative index if value not found. (`~index` to get the value where it should have been\n * located)\n */\nfunction arrayIndexOfSorted(array, value) {\n return _arrayIndexOfSorted(array, value, 0);\n}\n/**\n * Set a `value` for a `key`.\n *\n * @param keyValueArray to modify.\n * @param key The key to locate or create.\n * @param value The value to set for a `key`.\n * @returns index (always even) of where the value vas set.\n */\nfunction keyValueArraySet(keyValueArray, key, value) {\n let index = keyValueArrayIndexOf(keyValueArray, key);\n if (index >= 0) {\n // if we found it set it.\n keyValueArray[index | 1] = value;\n }\n else {\n index = ~index;\n arrayInsert2(keyValueArray, index, key, value);\n }\n return index;\n}\n/**\n * Retrieve a `value` for a `key` (on `undefined` if not found.)\n *\n * @param keyValueArray to search.\n * @param key The key to locate.\n * @return The `value` stored at the `key` location or `undefined if not found.\n */\nfunction keyValueArrayGet(keyValueArray, key) {\n const index = keyValueArrayIndexOf(keyValueArray, key);\n if (index >= 0) {\n // if we found it retrieve it.\n return keyValueArray[index | 1];\n }\n return undefined;\n}\n/**\n * Retrieve a `key` index value in the array or `-1` if not found.\n *\n * @param keyValueArray to search.\n * @param key The key to locate.\n * @returns index of where the key is (or should have been.)\n * - positive (even) index if key found.\n * - negative index if key not found. (`~index` (even) to get the index where it should have\n * been inserted.)\n */\nfunction keyValueArrayIndexOf(keyValueArray, key) {\n return _arrayIndexOfSorted(keyValueArray, key, 1);\n}\n/**\n * Delete a `key` (and `value`) from the `KeyValueArray`.\n *\n * @param keyValueArray to modify.\n * @param key The key to locate or delete (if exist).\n * @returns index of where the key was (or should have been.)\n * - positive (even) index if key found and deleted.\n * - negative index if key not found. (`~index` (even) to get the index where it should have\n * been.)\n */\nfunction keyValueArrayDelete(keyValueArray, key) {\n const index = keyValueArrayIndexOf(keyValueArray, key);\n if (index >= 0) {\n // if we found it remove it.\n arraySplice(keyValueArray, index, 2);\n }\n return index;\n}\n/**\n * INTERNAL: Get an index of an `value` in a sorted `array` by grouping search by `shift`.\n *\n * NOTE:\n * - This uses binary search algorithm for fast removals.\n *\n * @param array A sorted array to binary search.\n * @param value The value to look for.\n * @param shift grouping shift.\n * - `0` means look at every location\n * - `1` means only look at every other (even) location (the odd locations are to be ignored as\n * they are values.)\n * @returns index of the value.\n * - positive index if value found.\n * - negative index if value not found. (`~index` to get the value where it should have been\n * inserted)\n */\nfunction _arrayIndexOfSorted(array, value, shift) {\n ngDevMode && assertEqual(Array.isArray(array), true, 'Expecting an array');\n let start = 0;\n let end = array.length >> shift;\n while (end !== start) {\n const middle = start + ((end - start) >> 1); // find the middle.\n const current = array[middle << shift];\n if (value === current) {\n return (middle << shift);\n }\n else if (current > value) {\n end = middle;\n }\n else {\n start = middle + 1; // We already searched middle so make it non-inclusive by adding 1\n }\n }\n return ~(end << shift);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * #########################\n * Attention: These Regular expressions have to hold even if the code is minified!\n * ##########################\n */\n/**\n * Regular expression that detects pass-through constructors for ES5 output. This Regex\n * intends to capture the common delegation pattern emitted by TypeScript and Babel. Also\n * it intends to capture the pattern where existing constructors have been downleveled from\n * ES2015 to ES5 using TypeScript w/ downlevel iteration. e.g.\n *\n * ```\n * function MyClass() {\n * var _this = _super.apply(this, arguments) || this;\n * ```\n *\n * ```\n * function MyClass() {\n * var _this = _super.apply(this, __spread(arguments)) || this;\n * ```\n *\n * More details can be found in: https://github.com/angular/angular/issues/38453.\n */\nconst ES5_DELEGATE_CTOR = /^function\\s+\\S+\\(\\)\\s*{[\\s\\S]+\\.apply\\(this,\\s*(arguments|[^()]+\\(arguments\\))\\)/;\n/** Regular expression that detects ES2015 classes which extend from other classes. */\nconst ES2015_INHERITED_CLASS = /^class\\s+[A-Za-z\\d$_]*\\s*extends\\s+[^{]+{/;\n/**\n * Regular expression that detects ES2015 classes which extend from other classes and\n * have an explicit constructor defined.\n */\nconst ES2015_INHERITED_CLASS_WITH_CTOR = /^class\\s+[A-Za-z\\d$_]*\\s*extends\\s+[^{]+{[\\s\\S]*constructor\\s*\\(/;\n/**\n * Regular expression that detects ES2015 classes which extend from other classes\n * and inherit a constructor.\n */\nconst ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR = /^class\\s+[A-Za-z\\d$_]*\\s*extends\\s+[^{]+{[\\s\\S]*constructor\\s*\\(\\)\\s*{\\s*super\\(\\.\\.\\.arguments\\)/;\n/**\n * Determine whether a stringified type is a class which delegates its constructor\n * to its parent.\n *\n * This is not trivial since compiled code can actually contain a constructor function\n * even if the original source code did not. For instance, when the child class contains\n * an initialized instance property.\n */\nfunction isDelegateCtor(typeStr) {\n return ES5_DELEGATE_CTOR.test(typeStr) ||\n ES2015_INHERITED_CLASS_WITH_DELEGATE_CTOR.test(typeStr) ||\n (ES2015_INHERITED_CLASS.test(typeStr) && !ES2015_INHERITED_CLASS_WITH_CTOR.test(typeStr));\n}\nclass ReflectionCapabilities {\n constructor(reflect) {\n this._reflect = reflect || _global['Reflect'];\n }\n isReflectionEnabled() {\n return true;\n }\n factory(t) {\n return (...args) => new t(...args);\n }\n /** @internal */\n _zipTypesAndAnnotations(paramTypes, paramAnnotations) {\n let result;\n if (typeof paramTypes === 'undefined') {\n result = newArray(paramAnnotations.length);\n }\n else {\n result = newArray(paramTypes.length);\n }\n for (let i = 0; i < result.length; i++) {\n // TS outputs Object for parameters without types, while Traceur omits\n // the annotations. For now we preserve the Traceur behavior to aid\n // migration, but this can be revisited.\n if (typeof paramTypes === 'undefined') {\n result[i] = [];\n }\n else if (paramTypes[i] && paramTypes[i] != Object) {\n result[i] = [paramTypes[i]];\n }\n else {\n result[i] = [];\n }\n if (paramAnnotations && paramAnnotations[i] != null) {\n result[i] = result[i].concat(paramAnnotations[i]);\n }\n }\n return result;\n }\n _ownParameters(type, parentCtor) {\n const typeStr = type.toString();\n // If we have no decorators, we only have function.length as metadata.\n // In that case, to detect whether a child class declared an own constructor or not,\n // we need to look inside of that constructor to check whether it is\n // just calling the parent.\n // This also helps to work around for https://github.com/Microsoft/TypeScript/issues/12439\n // that sets 'design:paramtypes' to []\n // if a class inherits from another class but has no ctor declared itself.\n if (isDelegateCtor(typeStr)) {\n return null;\n }\n // Prefer the direct API.\n if (type.parameters && type.parameters !== parentCtor.parameters) {\n return type.parameters;\n }\n // API of tsickle for lowering decorators to properties on the class.\n const tsickleCtorParams = type.ctorParameters;\n if (tsickleCtorParams && tsickleCtorParams !== parentCtor.ctorParameters) {\n // Newer tsickle uses a function closure\n // Retain the non-function case for compatibility with older tsickle\n const ctorParameters = typeof tsickleCtorParams === 'function' ? tsickleCtorParams() : tsickleCtorParams;\n const paramTypes = ctorParameters.map((ctorParam) => ctorParam && ctorParam.type);\n const paramAnnotations = ctorParameters.map((ctorParam) => ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators));\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n // API for metadata created by invoking the decorators.\n const paramAnnotations = type.hasOwnProperty(PARAMETERS) && type[PARAMETERS];\n const paramTypes = this._reflect && this._reflect.getOwnMetadata &&\n this._reflect.getOwnMetadata('design:paramtypes', type);\n if (paramTypes || paramAnnotations) {\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n // If a class has no decorators, at least create metadata\n // based on function.length.\n // Note: We know that this is a real constructor as we checked\n // the content of the constructor above.\n return newArray(type.length);\n }\n parameters(type) {\n // Note: only report metadata if we have at least one class decorator\n // to stay in sync with the static reflector.\n if (!isType(type)) {\n return [];\n }\n const parentCtor = getParentCtor(type);\n let parameters = this._ownParameters(type, parentCtor);\n if (!parameters && parentCtor !== Object) {\n parameters = this.parameters(parentCtor);\n }\n return parameters || [];\n }\n _ownAnnotations(typeOrFunc, parentCtor) {\n // Prefer the direct API.\n if (typeOrFunc.annotations && typeOrFunc.annotations !== parentCtor.annotations) {\n let annotations = typeOrFunc.annotations;\n if (typeof annotations === 'function' && annotations.annotations) {\n annotations = annotations.annotations;\n }\n return annotations;\n }\n // API of tsickle for lowering decorators to properties on the class.\n if (typeOrFunc.decorators && typeOrFunc.decorators !== parentCtor.decorators) {\n return convertTsickleDecoratorIntoMetadata(typeOrFunc.decorators);\n }\n // API for metadata created by invoking the decorators.\n if (typeOrFunc.hasOwnProperty(ANNOTATIONS)) {\n return typeOrFunc[ANNOTATIONS];\n }\n return null;\n }\n annotations(typeOrFunc) {\n if (!isType(typeOrFunc)) {\n return [];\n }\n const parentCtor = getParentCtor(typeOrFunc);\n const ownAnnotations = this._ownAnnotations(typeOrFunc, parentCtor) || [];\n const parentAnnotations = parentCtor !== Object ? this.annotations(parentCtor) : [];\n return parentAnnotations.concat(ownAnnotations);\n }\n _ownPropMetadata(typeOrFunc, parentCtor) {\n // Prefer the direct API.\n if (typeOrFunc.propMetadata &&\n typeOrFunc.propMetadata !== parentCtor.propMetadata) {\n let propMetadata = typeOrFunc.propMetadata;\n if (typeof propMetadata === 'function' && propMetadata.propMetadata) {\n propMetadata = propMetadata.propMetadata;\n }\n return propMetadata;\n }\n // API of tsickle for lowering decorators to properties on the class.\n if (typeOrFunc.propDecorators &&\n typeOrFunc.propDecorators !== parentCtor.propDecorators) {\n const propDecorators = typeOrFunc.propDecorators;\n const propMetadata = {};\n Object.keys(propDecorators).forEach(prop => {\n propMetadata[prop] = convertTsickleDecoratorIntoMetadata(propDecorators[prop]);\n });\n return propMetadata;\n }\n // API for metadata created by invoking the decorators.\n if (typeOrFunc.hasOwnProperty(PROP_METADATA)) {\n return typeOrFunc[PROP_METADATA];\n }\n return null;\n }\n propMetadata(typeOrFunc) {\n if (!isType(typeOrFunc)) {\n return {};\n }\n const parentCtor = getParentCtor(typeOrFunc);\n const propMetadata = {};\n if (parentCtor !== Object) {\n const parentPropMetadata = this.propMetadata(parentCtor);\n Object.keys(parentPropMetadata).forEach((propName) => {\n propMetadata[propName] = parentPropMetadata[propName];\n });\n }\n const ownPropMetadata = this._ownPropMetadata(typeOrFunc, parentCtor);\n if (ownPropMetadata) {\n Object.keys(ownPropMetadata).forEach((propName) => {\n const decorators = [];\n if (propMetadata.hasOwnProperty(propName)) {\n decorators.push(...propMetadata[propName]);\n }\n decorators.push(...ownPropMetadata[propName]);\n propMetadata[propName] = decorators;\n });\n }\n return propMetadata;\n }\n ownPropMetadata(typeOrFunc) {\n if (!isType(typeOrFunc)) {\n return {};\n }\n return this._ownPropMetadata(typeOrFunc, getParentCtor(typeOrFunc)) || {};\n }\n hasLifecycleHook(type, lcProperty) {\n return type instanceof Type && lcProperty in type.prototype;\n }\n guards(type) {\n return {};\n }\n getter(name) {\n return new Function('o', 'return o.' + name + ';');\n }\n setter(name) {\n return new Function('o', 'v', 'return o.' + name + ' = v;');\n }\n method(name) {\n const functionBody = `if (!o.${name}) throw new Error('\"${name}\" is undefined');\n return o.${name}.apply(o, args);`;\n return new Function('o', 'args', functionBody);\n }\n // There is not a concept of import uri in Js, but this is useful in developing Dart applications.\n importUri(type) {\n // StaticSymbol\n if (typeof type === 'object' && type['filePath']) {\n return type['filePath'];\n }\n // Runtime type\n return `./${stringify(type)}`;\n }\n resourceUri(type) {\n return `./${stringify(type)}`;\n }\n resolveIdentifier(name, moduleUrl, members, runtime) {\n return runtime;\n }\n resolveEnum(enumIdentifier, name) {\n return enumIdentifier[name];\n }\n}\nfunction convertTsickleDecoratorIntoMetadata(decoratorInvocations) {\n if (!decoratorInvocations) {\n return [];\n }\n return decoratorInvocations.map(decoratorInvocation => {\n const decoratorType = decoratorInvocation.type;\n const annotationCls = decoratorType.annotationCls;\n const annotationArgs = decoratorInvocation.args ? decoratorInvocation.args : [];\n return new annotationCls(...annotationArgs);\n });\n}\nfunction getParentCtor(ctor) {\n const parentProto = ctor.prototype ? Object.getPrototypeOf(ctor.prototype) : null;\n const parentCtor = parentProto ? parentProto.constructor : null;\n // Note: We always use `Object` as the null value\n // to simplify checking later on.\n return parentCtor || Object;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ɵ0$2 = (token) => ({ token });\n/**\n * Inject decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst Inject = makeParamDecorator('Inject', ɵ0$2);\n/**\n * Optional decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst Optional = makeParamDecorator('Optional');\n/**\n * Self decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst Self = makeParamDecorator('Self');\n/**\n * `SkipSelf` decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst SkipSelf = makeParamDecorator('SkipSelf');\n/**\n * Host decorator and metadata.\n *\n * @Annotation\n * @publicApi\n */\nconst Host = makeParamDecorator('Host');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet _reflect = null;\nfunction getReflect() {\n return (_reflect = _reflect || new ReflectionCapabilities());\n}\nfunction reflectDependencies(type) {\n return convertDependencies(getReflect().parameters(type));\n}\nfunction convertDependencies(deps) {\n const compiler = getCompilerFacade();\n return deps.map(dep => reflectDependency(compiler, dep));\n}\nfunction reflectDependency(compiler, dep) {\n const meta = {\n token: null,\n host: false,\n optional: false,\n resolved: compiler.R3ResolvedDependencyType.Token,\n self: false,\n skipSelf: false,\n };\n function setTokenAndResolvedType(token) {\n meta.resolved = compiler.R3ResolvedDependencyType.Token;\n meta.token = token;\n }\n if (Array.isArray(dep) && dep.length > 0) {\n for (let j = 0; j < dep.length; j++) {\n const param = dep[j];\n if (param === undefined) {\n // param may be undefined if type of dep is not set by ngtsc\n continue;\n }\n const proto = Object.getPrototypeOf(param);\n if (param instanceof Optional || proto.ngMetadataName === 'Optional') {\n meta.optional = true;\n }\n else if (param instanceof SkipSelf || proto.ngMetadataName === 'SkipSelf') {\n meta.skipSelf = true;\n }\n else if (param instanceof Self || proto.ngMetadataName === 'Self') {\n meta.self = true;\n }\n else if (param instanceof Host || proto.ngMetadataName === 'Host') {\n meta.host = true;\n }\n else if (param instanceof Inject) {\n meta.token = param.token;\n }\n else if (param instanceof Attribute) {\n if (param.attributeName === undefined) {\n throw new Error(`Attribute name must be defined.`);\n }\n meta.token = param.attributeName;\n meta.resolved = compiler.R3ResolvedDependencyType.Attribute;\n }\n else if (param.__ChangeDetectorRef__ === true) {\n meta.token = param;\n meta.resolved = compiler.R3ResolvedDependencyType.ChangeDetectorRef;\n }\n else {\n setTokenAndResolvedType(param);\n }\n }\n }\n else if (dep === undefined || (Array.isArray(dep) && dep.length === 0)) {\n meta.token = undefined;\n meta.resolved = R3ResolvedDependencyType.Invalid;\n }\n else {\n setTokenAndResolvedType(dep);\n }\n return meta;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Used to resolve resource URLs on `@Component` when used with JIT compilation.\n *\n * Example:\n * ```\n * @Component({\n * selector: 'my-comp',\n * templateUrl: 'my-comp.html', // This requires asynchronous resolution\n * })\n * class MyComponent{\n * }\n *\n * // Calling `renderComponent` will fail because `renderComponent` is a synchronous process\n * // and `MyComponent`'s `@Component.templateUrl` needs to be resolved asynchronously.\n *\n * // Calling `resolveComponentResources()` will resolve `@Component.templateUrl` into\n * // `@Component.template`, which allows `renderComponent` to proceed in a synchronous manner.\n *\n * // Use browser's `fetch()` function as the default resource resolution strategy.\n * resolveComponentResources(fetch).then(() => {\n * // After resolution all URLs have been converted into `template` strings.\n * renderComponent(MyComponent);\n * });\n *\n * ```\n *\n * NOTE: In AOT the resolution happens during compilation, and so there should be no need\n * to call this method outside JIT mode.\n *\n * @param resourceResolver a function which is responsible for returning a `Promise` to the\n * contents of the resolved URL. Browser's `fetch()` method is a good default implementation.\n */\nfunction resolveComponentResources(resourceResolver) {\n // Store all promises which are fetching the resources.\n const componentResolved = [];\n // Cache so that we don't fetch the same resource more than once.\n const urlMap = new Map();\n function cachedResourceResolve(url) {\n let promise = urlMap.get(url);\n if (!promise) {\n const resp = resourceResolver(url);\n urlMap.set(url, promise = resp.then(unwrapResponse));\n }\n return promise;\n }\n componentResourceResolutionQueue.forEach((component, type) => {\n const promises = [];\n if (component.templateUrl) {\n promises.push(cachedResourceResolve(component.templateUrl).then((template) => {\n component.template = template;\n }));\n }\n const styleUrls = component.styleUrls;\n const styles = component.styles || (component.styles = []);\n const styleOffset = component.styles.length;\n styleUrls && styleUrls.forEach((styleUrl, index) => {\n styles.push(''); // pre-allocate array.\n promises.push(cachedResourceResolve(styleUrl).then((style) => {\n styles[styleOffset + index] = style;\n styleUrls.splice(styleUrls.indexOf(styleUrl), 1);\n if (styleUrls.length == 0) {\n component.styleUrls = undefined;\n }\n }));\n });\n const fullyResolved = Promise.all(promises).then(() => componentDefResolved(type));\n componentResolved.push(fullyResolved);\n });\n clearResolutionOfComponentResourcesQueue();\n return Promise.all(componentResolved).then(() => undefined);\n}\nlet componentResourceResolutionQueue = new Map();\n// Track when existing ɵcmp for a Type is waiting on resources.\nconst componentDefPendingResolution = new Set();\nfunction maybeQueueResolutionOfComponentResources(type, metadata) {\n if (componentNeedsResolution(metadata)) {\n componentResourceResolutionQueue.set(type, metadata);\n componentDefPendingResolution.add(type);\n }\n}\nfunction isComponentDefPendingResolution(type) {\n return componentDefPendingResolution.has(type);\n}\nfunction componentNeedsResolution(component) {\n return !!((component.templateUrl && !component.hasOwnProperty('template')) ||\n component.styleUrls && component.styleUrls.length);\n}\nfunction clearResolutionOfComponentResourcesQueue() {\n const old = componentResourceResolutionQueue;\n componentResourceResolutionQueue = new Map();\n return old;\n}\nfunction restoreComponentResolutionQueue(queue) {\n componentDefPendingResolution.clear();\n queue.forEach((_, type) => componentDefPendingResolution.add(type));\n componentResourceResolutionQueue = queue;\n}\nfunction isComponentResourceResolutionQueueEmpty() {\n return componentResourceResolutionQueue.size === 0;\n}\nfunction unwrapResponse(response) {\n return typeof response == 'string' ? response : response.text();\n}\nfunction componentDefResolved(type) {\n componentDefPendingResolution.delete(type);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _THROW_IF_NOT_FOUND = {};\nconst THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;\nconst NG_TEMP_TOKEN_PATH = 'ngTempTokenPath';\nconst NG_TOKEN_PATH = 'ngTokenPath';\nconst NEW_LINE = /\\n/gm;\nconst NO_NEW_LINE = 'ɵ';\nconst SOURCE = '__source';\nconst ɵ0$3 = getClosureSafeProperty;\nconst USE_VALUE = getClosureSafeProperty({ provide: String, useValue: ɵ0$3 });\n/**\n * Current injector value used by `inject`.\n * - `undefined`: it is an error to call `inject`\n * - `null`: `inject` can be called but there is no injector (limp-mode).\n * - Injector instance: Use the injector for resolution.\n */\nlet _currentInjector = undefined;\nfunction setCurrentInjector(injector) {\n const former = _currentInjector;\n _currentInjector = injector;\n return former;\n}\nfunction injectInjectorOnly(token, flags = InjectFlags.Default) {\n if (_currentInjector === undefined) {\n throw new Error(`inject() must be called from an injection context`);\n }\n else if (_currentInjector === null) {\n return injectRootLimpMode(token, undefined, flags);\n }\n else {\n return _currentInjector.get(token, flags & InjectFlags.Optional ? null : undefined, flags);\n }\n}\nfunction ɵɵinject(token, flags = InjectFlags.Default) {\n return (getInjectImplementation() || injectInjectorOnly)(resolveForwardRef(token), flags);\n}\n/**\n * Throws an error indicating that a factory function could not be generated by the compiler for a\n * particular class.\n *\n * This instruction allows the actual error message to be optimized away when ngDevMode is turned\n * off, saving bytes of generated code while still providing a good experience in dev mode.\n *\n * The name of the class is not mentioned here, but will be in the generated factory function name\n * and thus in the stack trace.\n *\n * @codeGenApi\n */\nfunction ɵɵinvalidFactoryDep(index) {\n const msg = ngDevMode ?\n `This constructor is not compatible with Angular Dependency Injection because its dependency at index ${index} of the parameter list is invalid.\nThis can happen if the dependency type is a primitive like a string or if an ancestor of this class is missing an Angular decorator.\n\nPlease check that 1) the type for the parameter at index ${index} is correct and 2) the correct Angular decorators are defined for this class and its ancestors.` :\n 'invalid';\n throw new Error(msg);\n}\n/**\n * Injects a token from the currently active injector.\n *\n * Must be used in the context of a factory function such as one defined for an\n * `InjectionToken`. Throws an error if not called from such a context.\n *\n * Within such a factory function, using this function to request injection of a dependency\n * is faster and more type-safe than providing an additional array of dependencies\n * (as has been common with `useFactory` providers).\n *\n * @param token The injection token for the dependency to be injected.\n * @param flags Optional flags that control how injection is executed.\n * The flags correspond to injection strategies that can be specified with\n * parameter decorators `@Host`, `@Self`, `@SkipSef`, and `@Optional`.\n * @returns True if injection is successful, null otherwise.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example core/di/ts/injector_spec.ts region='ShakableInjectionToken'}\n *\n * @publicApi\n */\nconst inject = ɵɵinject;\nfunction injectArgs(types) {\n const args = [];\n for (let i = 0; i < types.length; i++) {\n const arg = resolveForwardRef(types[i]);\n if (Array.isArray(arg)) {\n if (arg.length === 0) {\n throw new Error('Arguments array must have arguments.');\n }\n let type = undefined;\n let flags = InjectFlags.Default;\n for (let j = 0; j < arg.length; j++) {\n const meta = arg[j];\n if (meta instanceof Optional || meta.ngMetadataName === 'Optional' || meta === Optional) {\n flags |= InjectFlags.Optional;\n }\n else if (meta instanceof SkipSelf || meta.ngMetadataName === 'SkipSelf' || meta === SkipSelf) {\n flags |= InjectFlags.SkipSelf;\n }\n else if (meta instanceof Self || meta.ngMetadataName === 'Self' || meta === Self) {\n flags |= InjectFlags.Self;\n }\n else if (meta instanceof Inject || meta === Inject) {\n type = meta.token;\n }\n else {\n type = meta;\n }\n }\n args.push(ɵɵinject(type, flags));\n }\n else {\n args.push(ɵɵinject(arg));\n }\n }\n return args;\n}\nfunction catchInjectorError(e, token, injectorErrorName, source) {\n const tokenPath = e[NG_TEMP_TOKEN_PATH];\n if (token[SOURCE]) {\n tokenPath.unshift(token[SOURCE]);\n }\n e.message = formatError('\\n' + e.message, tokenPath, injectorErrorName, source);\n e[NG_TOKEN_PATH] = tokenPath;\n e[NG_TEMP_TOKEN_PATH] = null;\n throw e;\n}\nfunction formatError(text, obj, injectorErrorName, source = null) {\n text = text && text.charAt(0) === '\\n' && text.charAt(1) == NO_NEW_LINE ? text.substr(2) : text;\n let context = stringify(obj);\n if (Array.isArray(obj)) {\n context = obj.map(stringify).join(' -> ');\n }\n else if (typeof obj === 'object') {\n let parts = [];\n for (let key in obj) {\n if (obj.hasOwnProperty(key)) {\n let value = obj[key];\n parts.push(key + ':' + (typeof value === 'string' ? JSON.stringify(value) : stringify(value)));\n }\n }\n context = `{${parts.join(', ')}}`;\n }\n return `${injectorErrorName}${source ? '(' + source + ')' : ''}[${context}]: ${text.replace(NEW_LINE, '\\n ')}`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The Trusted Types policy, or null if Trusted Types are not\n * enabled/supported, or undefined if the policy has not been created yet.\n */\nlet policy;\n/**\n * Returns the Trusted Types policy, or null if Trusted Types are not\n * enabled/supported. The first call to this function will create the policy.\n */\nfunction getPolicy() {\n if (policy === undefined) {\n policy = null;\n if (_global.trustedTypes) {\n try {\n policy = _global.trustedTypes.createPolicy('angular', {\n createHTML: (s) => s,\n createScript: (s) => s,\n createScriptURL: (s) => s,\n });\n }\n catch (_a) {\n // trustedTypes.createPolicy throws if called with a name that is\n // already registered, even in report-only mode. Until the API changes,\n // catch the error not to break the applications functionally. In such\n // cases, the code will fall back to using strings.\n }\n }\n }\n return policy;\n}\n/**\n * Unsafely promote a string to a TrustedHTML, falling back to strings when\n * Trusted Types are not available.\n * @security This is a security-sensitive function; any use of this function\n * must go through security review. In particular, it must be assured that the\n * provided string will never cause an XSS vulnerability if used in a context\n * that will be interpreted as HTML by a browser, e.g. when assigning to\n * element.innerHTML.\n */\nfunction trustedHTMLFromString(html) {\n var _a;\n return ((_a = getPolicy()) === null || _a === void 0 ? void 0 : _a.createHTML(html)) || html;\n}\n/**\n * Unsafely promote a string to a TrustedScript, falling back to strings when\n * Trusted Types are not available.\n * @security In particular, it must be assured that the provided string will\n * never cause an XSS vulnerability if used in a context that will be\n * interpreted and executed as a script by a browser, e.g. when calling eval.\n */\nfunction trustedScriptFromString(script) {\n var _a;\n return ((_a = getPolicy()) === null || _a === void 0 ? void 0 : _a.createScript(script)) || script;\n}\n/**\n * Unsafely promote a string to a TrustedScriptURL, falling back to strings\n * when Trusted Types are not available.\n * @security This is a security-sensitive function; any use of this function\n * must go through security review. In particular, it must be assured that the\n * provided string will never cause an XSS vulnerability if used in a context\n * that will cause a browser to load and execute a resource, e.g. when\n * assigning to script.src.\n */\nfunction trustedScriptURLFromString(url) {\n var _a;\n return ((_a = getPolicy()) === null || _a === void 0 ? void 0 : _a.createScriptURL(url)) || url;\n}\n/**\n * Unsafely call the Function constructor with the given string arguments. It\n * is only available in development mode, and should be stripped out of\n * production code.\n * @security This is a security-sensitive function; any use of this function\n * must go through security review. In particular, it must be assured that it\n * is only called from development code, as use in production code can lead to\n * XSS vulnerabilities.\n */\nfunction newTrustedFunctionForDev(...args) {\n if (typeof ngDevMode === 'undefined') {\n throw new Error('newTrustedFunctionForDev should never be called in production');\n }\n if (!_global.trustedTypes) {\n // In environments that don't support Trusted Types, fall back to the most\n // straightforward implementation:\n return new Function(...args);\n }\n // Chrome currently does not support passing TrustedScript to the Function\n // constructor. The following implements the workaround proposed on the page\n // below, where the Chromium bug is also referenced:\n // https://github.com/w3c/webappsec-trusted-types/wiki/Trusted-Types-for-function-constructor\n const fnArgs = args.slice(0, -1).join(',');\n const fnBody = args.pop().toString();\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 // 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 */\nclass SafeValueImpl {\n constructor(changingThisBreaksApplicationSecurity) {\n this.changingThisBreaksApplicationSecurity = changingThisBreaksApplicationSecurity;\n }\n toString() {\n return `SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity}` +\n ` (see https://g.co/ng/security#xss)`;\n }\n}\nclass SafeHtmlImpl extends SafeValueImpl {\n getTypeName() {\n return \"HTML\" /* Html */;\n }\n}\nclass SafeStyleImpl extends SafeValueImpl {\n getTypeName() {\n return \"Style\" /* Style */;\n }\n}\nclass SafeScriptImpl extends SafeValueImpl {\n getTypeName() {\n return \"Script\" /* Script */;\n }\n}\nclass SafeUrlImpl extends SafeValueImpl {\n getTypeName() {\n return \"URL\" /* Url */;\n }\n}\nclass SafeResourceUrlImpl extends SafeValueImpl {\n getTypeName() {\n return \"ResourceURL\" /* ResourceUrl */;\n }\n}\nfunction unwrapSafeValue(value) {\n return value instanceof SafeValueImpl ? value.changingThisBreaksApplicationSecurity :\n value;\n}\nfunction allowSanitizationBypassAndThrow(value, type) {\n const actualType = getSanitizationBypassType(value);\n if (actualType != null && actualType !== type) {\n // Allow ResourceURLs in URL contexts, they are strictly more trusted.\n if (actualType === \"ResourceURL\" /* ResourceUrl */ && type === \"URL\" /* Url */)\n return true;\n throw new Error(`Required a safe ${type}, got a ${actualType} (see https://g.co/ng/security#xss)`);\n }\n return actualType === type;\n}\nfunction getSanitizationBypassType(value) {\n return value instanceof SafeValueImpl && value.getTypeName() || null;\n}\n/**\n * Mark `html` string as trusted.\n *\n * This function wraps the trusted string in `String` and brands it in a way which makes it\n * recognizable to {@link htmlSanitizer} to be trusted implicitly.\n *\n * @param trustedHtml `html` string which needs to be implicitly trusted.\n * @returns a `html` which has been branded to be implicitly trusted.\n */\nfunction bypassSanitizationTrustHtml(trustedHtml) {\n return new SafeHtmlImpl(trustedHtml);\n}\n/**\n * Mark `style` string as trusted.\n *\n * This function wraps the trusted string in `String` and brands it in a way which makes it\n * recognizable to {@link styleSanitizer} to be trusted implicitly.\n *\n * @param trustedStyle `style` string which needs to be implicitly trusted.\n * @returns a `style` hich has been branded to be implicitly trusted.\n */\nfunction bypassSanitizationTrustStyle(trustedStyle) {\n return new SafeStyleImpl(trustedStyle);\n}\n/**\n * Mark `script` string as trusted.\n *\n * This function wraps the trusted string in `String` and brands it in a way which makes it\n * recognizable to {@link scriptSanitizer} to be trusted implicitly.\n *\n * @param trustedScript `script` string which needs to be implicitly trusted.\n * @returns a `script` which has been branded to be implicitly trusted.\n */\nfunction bypassSanitizationTrustScript(trustedScript) {\n return new SafeScriptImpl(trustedScript);\n}\n/**\n * Mark `url` string as trusted.\n *\n * This function wraps the trusted string in `String` and brands it in a way which makes it\n * recognizable to {@link urlSanitizer} to be trusted implicitly.\n *\n * @param trustedUrl `url` string which needs to be implicitly trusted.\n * @returns a `url` which has been branded to be implicitly trusted.\n */\nfunction bypassSanitizationTrustUrl(trustedUrl) {\n return new SafeUrlImpl(trustedUrl);\n}\n/**\n * Mark `url` string as trusted.\n *\n * This function wraps the trusted string in `String` and brands it in a way which makes it\n * recognizable to {@link resourceUrlSanitizer} to be trusted implicitly.\n *\n * @param trustedResourceUrl `url` string which needs to be implicitly trusted.\n * @returns a `url` which has been branded to be implicitly trusted.\n */\nfunction bypassSanitizationTrustResourceUrl(trustedResourceUrl) {\n return new SafeResourceUrlImpl(trustedResourceUrl);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This file is used to control if the default rendering pipeline should be `ViewEngine` or `Ivy`.\n *\n * For more information on how to run and debug tests with either Ivy or View Engine (legacy),\n * please see [BAZEL.md](./docs/BAZEL.md).\n */\nlet _devMode = true;\nlet _runModeLocked = false;\n/**\n * Returns whether Angular is in development mode. After called once,\n * the value is locked and won't change any more.\n *\n * By default, this is true, unless a user calls `enableProdMode` before calling this.\n *\n * @publicApi\n */\nfunction isDevMode() {\n _runModeLocked = true;\n return _devMode;\n}\n/**\n * Disable Angular's development mode, which turns off assertions and other\n * checks within the framework.\n *\n * One important assertion this disables verifies that a change detection pass\n * does not result in additional changes to any bindings (also known as\n * unidirectional data flow).\n *\n * @publicApi\n */\nfunction enableProdMode() {\n if (_runModeLocked) {\n throw new Error('Cannot enable prod mode after platform setup.');\n }\n _devMode = false;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This helper is used to get hold of an inert tree of DOM elements containing dirty HTML\n * that needs sanitizing.\n * Depending upon browser support we use one of two strategies for doing this.\n * Default: DOMParser strategy\n * Fallback: InertDocument strategy\n */\nfunction getInertBodyHelper(defaultDoc) {\n return isDOMParserAvailable() ? new DOMParserHelper() : new InertDocumentHelper(defaultDoc);\n}\n/**\n * Uses DOMParser to create and fill an inert body element.\n * This is the default strategy used in browsers that support it.\n */\nclass DOMParserHelper {\n getInertBodyElement(html) {\n // We add these extra elements to ensure that the rest of the content is parsed as expected\n // e.g. leading whitespace is maintained and tags like `` do not get hoisted to the\n // `` tag. Note that the `` tag is closed implicitly to prevent unclosed tags\n // in `html` from consuming the otherwise explicit `` tag.\n html = '' + html;\n try {\n const body = new window.DOMParser()\n .parseFromString(trustedHTMLFromString(html), 'text/html')\n .body;\n body.removeChild(body.firstChild);\n return body;\n }\n catch (_a) {\n return null;\n }\n }\n}\n/**\n * Use an HTML5 `template` element, if supported, or an inert body element created via\n * `createHtmlDocument` to create and fill an inert DOM element.\n * This is the fallback strategy if the browser does not support DOMParser.\n */\nclass InertDocumentHelper {\n constructor(defaultDoc) {\n this.defaultDoc = defaultDoc;\n this.inertDocument = this.defaultDoc.implementation.createHTMLDocument('sanitization-inert');\n if (this.inertDocument.body == null) {\n // usually there should be only one body element in the document, but IE doesn't have any, so\n // we need to create one.\n const inertHtml = this.inertDocument.createElement('html');\n this.inertDocument.appendChild(inertHtml);\n const inertBodyElement = this.inertDocument.createElement('body');\n inertHtml.appendChild(inertBodyElement);\n }\n }\n getInertBodyElement(html) {\n // Prefer using element if supported.\n const templateEl = this.inertDocument.createElement('template');\n if ('content' in templateEl) {\n templateEl.innerHTML = trustedHTMLFromString(html);\n return templateEl;\n }\n // Note that previously we used to do something like `this.inertDocument.body.innerHTML = html`\n // and we returned the inert `body` node. This was changed, because IE seems to treat setting\n // `innerHTML` on an inserted element differently, compared to one that hasn't been inserted\n // yet. In particular, IE appears to split some of the text into multiple text nodes rather\n // than keeping them in a single one which ends up messing with Ivy's i18n parsing further\n // down the line. This has been worked around by creating a new inert `body` and using it as\n // the root node in which we insert the HTML.\n const inertBody = this.inertDocument.createElement('body');\n inertBody.innerHTML = trustedHTMLFromString(html);\n // Support: IE 11 only\n // strip custom-namespaced attributes on IE<=11\n if (this.defaultDoc.documentMode) {\n this.stripCustomNsAttrs(inertBody);\n }\n return inertBody;\n }\n /**\n * When IE11 comes across an unknown namespaced attribute e.g. 'xlink:foo' it adds 'xmlns:ns1'\n * attribute to declare ns1 namespace and prefixes the attribute with 'ns1' (e.g.\n * 'ns1:xlink:foo').\n *\n * This is undesirable since we don't want to allow any of these custom attributes. This method\n * strips them all.\n */\n stripCustomNsAttrs(el) {\n const elAttrs = el.attributes;\n // loop backwards so that we can support removals.\n for (let i = elAttrs.length - 1; 0 < i; i--) {\n const attrib = elAttrs.item(i);\n const attrName = attrib.name;\n if (attrName === 'xmlns:ns1' || attrName.indexOf('ns1:') === 0) {\n el.removeAttribute(attrName);\n }\n }\n let childNode = el.firstChild;\n while (childNode) {\n if (childNode.nodeType === Node.ELEMENT_NODE)\n this.stripCustomNsAttrs(childNode);\n childNode = childNode.nextSibling;\n }\n }\n}\n/**\n * We need to determine whether the DOMParser exists in the global context and\n * supports parsing HTML; HTML parsing support is not as wide as other formats, see\n * https://developer.mozilla.org/en-US/docs/Web/API/DOMParser#Browser_compatibility.\n *\n * @suppress {uselessCode}\n */\nfunction isDOMParserAvailable() {\n try {\n return !!new window.DOMParser().parseFromString(trustedHTMLFromString(''), 'text/html');\n }\n catch (_a) {\n return false;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * This regular expression matches a subset of URLs that will not cause script\n * execution if used in URL context within a HTML document. Specifically, this\n * regular expression matches if (comment from here on and regex copied from\n * Soy's EscapingConventions):\n * (1) Either an allowed protocol (http, https, mailto or ftp).\n * (2) or no protocol. A protocol must be followed by a colon. The below\n * allows that by allowing colons only after one of the characters [/?#].\n * A colon after a hash (#) must be in the fragment.\n * Otherwise, a colon after a (?) must be in a query.\n * Otherwise, a colon after a single solidus (/) must be in a path.\n * Otherwise, a colon after a double solidus (//) must be in the authority\n * (before port).\n *\n * The pattern disallows &, used in HTML entity declarations before\n * one of the characters in [/?#]. This disallows HTML entities used in the\n * protocol name, which should never happen, e.g. \"http\" for \"http\".\n * It also disallows HTML entities in the first path part of a relative path,\n * e.g. \"foo<bar/baz\". Our existing escaping functions should not produce\n * that. More importantly, it disallows masking of a colon,\n * e.g. \"javascript:...\".\n *\n * This regular expression was taken from the Closure sanitization library.\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^&:/?#]*(?:[/?#]|$))/gi;\n/* A pattern that matches safe srcset values */\nconst SAFE_SRCSET_PATTERN = /^(?:(?:https?|file):|[^&:/?#]*(?:[/?#]|$))/gi;\n/** A pattern that matches safe data URLs. Only matches image, video and audio types. */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\\/]+=*$/i;\nfunction _sanitizeUrl(url) {\n url = String(url);\n if (url.match(SAFE_URL_PATTERN) || url.match(DATA_URL_PATTERN))\n return url;\n if (isDevMode()) {\n console.warn(`WARNING: sanitizing unsafe URL value ${url} (see https://g.co/ng/security#xss)`);\n }\n return 'unsafe:' + url;\n}\nfunction sanitizeSrcset(srcset) {\n srcset = String(srcset);\n return srcset.split(',').map((srcset) => _sanitizeUrl(srcset.trim())).join(', ');\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 tagSet(tags) {\n const res = {};\n for (const t of tags.split(','))\n res[t] = true;\n return res;\n}\nfunction merge(...sets) {\n const res = {};\n for (const s of sets) {\n for (const v in s) {\n if (s.hasOwnProperty(v))\n res[v] = true;\n }\n }\n return res;\n}\n// Good source of info about elements and attributes\n// https://html.spec.whatwg.org/#semantics\n// https://simon.html5.org/html-elements\n// Safe Void Elements - HTML5\n// https://html.spec.whatwg.org/#void-elements\nconst VOID_ELEMENTS = tagSet('area,br,col,hr,img,wbr');\n// Elements that you can, intentionally, leave open (and which close themselves)\n// https://html.spec.whatwg.org/#optional-tags\nconst OPTIONAL_END_TAG_BLOCK_ELEMENTS = tagSet('colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr');\nconst OPTIONAL_END_TAG_INLINE_ELEMENTS = tagSet('rp,rt');\nconst OPTIONAL_END_TAG_ELEMENTS = merge(OPTIONAL_END_TAG_INLINE_ELEMENTS, OPTIONAL_END_TAG_BLOCK_ELEMENTS);\n// Safe Block Elements - HTML5\nconst BLOCK_ELEMENTS = merge(OPTIONAL_END_TAG_BLOCK_ELEMENTS, tagSet('address,article,' +\n 'aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,' +\n 'h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul'));\n// Inline Elements - HTML5\nconst INLINE_ELEMENTS = merge(OPTIONAL_END_TAG_INLINE_ELEMENTS, tagSet('a,abbr,acronym,audio,b,' +\n 'bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,' +\n 'samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video'));\nconst VALID_ELEMENTS = merge(VOID_ELEMENTS, BLOCK_ELEMENTS, INLINE_ELEMENTS, OPTIONAL_END_TAG_ELEMENTS);\n// Attributes that have href and hence need to be sanitized\nconst URI_ATTRS = tagSet('background,cite,href,itemtype,longdesc,poster,src,xlink:href');\n// Attributes that have special href set hence need to be sanitized\nconst SRCSET_ATTRS = tagSet('srcset');\nconst HTML_ATTRS = tagSet('abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,' +\n 'compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,' +\n 'ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,' +\n 'scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,' +\n 'valign,value,vspace,width');\n// Accessibility attributes as per WAI-ARIA 1.1 (W3C Working Draft 14 December 2018)\nconst ARIA_ATTRS = tagSet('aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,' +\n 'aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,' +\n 'aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,' +\n 'aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,' +\n 'aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,' +\n 'aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,' +\n 'aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext');\n// NB: This currently consciously doesn't support SVG. SVG sanitization has had several security\n// issues in the past, so it seems safer to leave it out if possible. If support for binding SVG via\n// innerHTML is required, SVG attributes should be added here.\n// NB: Sanitization does not allow elements or other active elements ( etc). Those\n// can be sanitized, but they increase security surface area without a legitimate use case, so they\n// are left out here.\nconst VALID_ATTRS = merge(URI_ATTRS, SRCSET_ATTRS, HTML_ATTRS, ARIA_ATTRS);\n// Elements whose content should not be traversed/preserved, if the elements themselves are invalid.\n//\n// Typically, `Some content` would traverse (and in this case preserve)\n// `Some content`, but strip `invalid-element` opening/closing tags. For some elements, though, we\n// don't want to preserve the content, if the elements themselves are going to be removed.\nconst SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS = tagSet('script,style,template');\n/**\n * SanitizingHtmlSerializer serializes a DOM fragment, stripping out any unsafe elements and unsafe\n * attributes.\n */\nclass SanitizingHtmlSerializer {\n constructor() {\n // Explicitly track if something was stripped, to avoid accidentally warning of sanitization just\n // because characters were re-encoded.\n this.sanitizedSomething = false;\n this.buf = [];\n }\n sanitizeChildren(el) {\n // This cannot use a TreeWalker, as it has to run on Angular's various DOM adapters.\n // However this code never accesses properties off of `document` before deleting its contents\n // again, so it shouldn't be vulnerable to DOM clobbering.\n let current = el.firstChild;\n let traverseContent = true;\n while (current) {\n if (current.nodeType === Node.ELEMENT_NODE) {\n traverseContent = this.startElement(current);\n }\n else if (current.nodeType === Node.TEXT_NODE) {\n this.chars(current.nodeValue);\n }\n else {\n // Strip non-element, non-text nodes.\n this.sanitizedSomething = true;\n }\n if (traverseContent && current.firstChild) {\n current = current.firstChild;\n continue;\n }\n while (current) {\n // Leaving the element. Walk up and to the right, closing tags as we go.\n if (current.nodeType === Node.ELEMENT_NODE) {\n this.endElement(current);\n }\n let next = this.checkClobberedElement(current, current.nextSibling);\n if (next) {\n current = next;\n break;\n }\n current = this.checkClobberedElement(current, current.parentNode);\n }\n }\n return this.buf.join('');\n }\n /**\n * Sanitizes an opening element tag (if valid) and returns whether the element's contents should\n * be traversed. Element content must always be traversed (even if the element itself is not\n * valid/safe), unless the element is one of `SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS`.\n *\n * @param element The element to sanitize.\n * @return True if the element's contents should be traversed.\n */\n startElement(element) {\n const tagName = element.nodeName.toLowerCase();\n if (!VALID_ELEMENTS.hasOwnProperty(tagName)) {\n this.sanitizedSomething = true;\n return !SKIP_TRAVERSING_CONTENT_IF_INVALID_ELEMENTS.hasOwnProperty(tagName);\n }\n this.buf.push('<');\n this.buf.push(tagName);\n const elAttrs = element.attributes;\n for (let i = 0; i < elAttrs.length; i++) {\n const elAttr = elAttrs.item(i);\n const attrName = elAttr.name;\n const lower = attrName.toLowerCase();\n if (!VALID_ATTRS.hasOwnProperty(lower)) {\n this.sanitizedSomething = true;\n continue;\n }\n let value = elAttr.value;\n // TODO(martinprobst): Special case image URIs for data:image/...\n if (URI_ATTRS[lower])\n value = _sanitizeUrl(value);\n if (SRCSET_ATTRS[lower])\n value = sanitizeSrcset(value);\n this.buf.push(' ', attrName, '=\"', encodeEntities(value), '\"');\n }\n this.buf.push('>');\n return true;\n }\n endElement(current) {\n const tagName = current.nodeName.toLowerCase();\n if (VALID_ELEMENTS.hasOwnProperty(tagName) && !VOID_ELEMENTS.hasOwnProperty(tagName)) {\n this.buf.push('');\n this.buf.push(tagName);\n this.buf.push('>');\n }\n }\n chars(chars) {\n this.buf.push(encodeEntities(chars));\n }\n checkClobberedElement(node, nextNode) {\n if (nextNode &&\n (node.compareDocumentPosition(nextNode) &\n Node.DOCUMENT_POSITION_CONTAINED_BY) === Node.DOCUMENT_POSITION_CONTAINED_BY) {\n throw new Error(`Failed to sanitize html because the element is clobbered: ${node.outerHTML}`);\n }\n return nextNode;\n }\n}\n// Regular Expressions for parsing tags and attributes\nconst SURROGATE_PAIR_REGEXP = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n// ! to ~ is the ASCII range.\nconst NON_ALPHANUMERIC_REGEXP = /([^\\#-~ |!])/g;\n/**\n * Escapes all potentially dangerous characters, so that the\n * resulting string can be safely inserted into attribute or\n * element text.\n * @param value\n */\nfunction encodeEntities(value) {\n return value.replace(/&/g, '&')\n .replace(SURROGATE_PAIR_REGEXP, function (match) {\n const hi = match.charCodeAt(0);\n const low = match.charCodeAt(1);\n return '' + (((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000) + ';';\n })\n .replace(NON_ALPHANUMERIC_REGEXP, function (match) {\n return '' + match.charCodeAt(0) + ';';\n })\n .replace(//g, '>');\n}\nlet inertBodyHelper;\n/**\n * Sanitizes the given unsafe, untrusted HTML fragment, and returns HTML text that is safe to add to\n * the DOM in a browser environment.\n */\nfunction _sanitizeHtml(defaultDoc, unsafeHtmlInput) {\n let inertBodyElement = null;\n try {\n inertBodyHelper = inertBodyHelper || getInertBodyHelper(defaultDoc);\n // Make sure unsafeHtml is actually a string (TypeScript types are not enforced at runtime).\n let unsafeHtml = unsafeHtmlInput ? String(unsafeHtmlInput) : '';\n inertBodyElement = inertBodyHelper.getInertBodyElement(unsafeHtml);\n // mXSS protection. Repeatedly parse the document to make sure it stabilizes, so that a browser\n // trying to auto-correct incorrect HTML cannot cause formerly inert HTML to become dangerous.\n let mXSSAttempts = 5;\n let parsedHtml = unsafeHtml;\n do {\n if (mXSSAttempts === 0) {\n throw new Error('Failed to sanitize html because the input is unstable');\n }\n mXSSAttempts--;\n unsafeHtml = parsedHtml;\n parsedHtml = inertBodyElement.innerHTML;\n inertBodyElement = inertBodyHelper.getInertBodyElement(unsafeHtml);\n } while (unsafeHtml !== parsedHtml);\n const sanitizer = new SanitizingHtmlSerializer();\n const safeHtml = sanitizer.sanitizeChildren(getTemplateContent(inertBodyElement) || inertBodyElement);\n if (isDevMode() && sanitizer.sanitizedSomething) {\n console.warn('WARNING: sanitizing HTML stripped some content, see https://g.co/ng/security#xss');\n }\n return safeHtml;\n }\n finally {\n // In case anything goes wrong, clear out inertElement to reset the entire DOM structure.\n if (inertBodyElement) {\n const parent = getTemplateContent(inertBodyElement) || inertBodyElement;\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild);\n }\n }\n }\n}\nfunction getTemplateContent(el) {\n return 'content' in el /** Microsoft/TypeScript#21517 */ && isTemplateElement(el) ?\n el.content :\n null;\n}\nfunction isTemplateElement(el) {\n return el.nodeType === Node.ELEMENT_NODE && el.nodeName === 'TEMPLATE';\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 SecurityContext marks a location that has dangerous security implications, e.g. a DOM property\n * like `innerHTML` that could cause Cross Site Scripting (XSS) security bugs when improperly\n * handled.\n *\n * See DomSanitizer for more details on security in Angular applications.\n *\n * @publicApi\n */\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 = {}));\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 * An `html` sanitizer which converts untrusted `html` **string** into trusted string by removing\n * dangerous content.\n *\n * This method parses the `html` and locates potentially dangerous content (such as urls and\n * javascript) and removes it.\n *\n * It is possible to mark a string as trusted by calling {@link bypassSanitizationTrustHtml}.\n *\n * @param unsafeHtml untrusted `html`, typically from the user.\n * @returns `html` string which is safe to display to user, because all of the dangerous javascript\n * and urls have been removed.\n *\n * @codeGenApi\n */\nfunction ɵɵsanitizeHtml(unsafeHtml) {\n const sanitizer = getSanitizer();\n if (sanitizer) {\n return sanitizer.sanitize(SecurityContext.HTML, unsafeHtml) || '';\n }\n if (allowSanitizationBypassAndThrow(unsafeHtml, \"HTML\" /* Html */)) {\n return unwrapSafeValue(unsafeHtml);\n }\n return _sanitizeHtml(getDocument(), renderStringify(unsafeHtml));\n}\n/**\n * A `style` sanitizer which converts untrusted `style` **string** into trusted string by removing\n * dangerous content.\n *\n * It is possible to mark a string as trusted by calling {@link bypassSanitizationTrustStyle}.\n *\n * @param unsafeStyle untrusted `style`, typically from the user.\n * @returns `style` string which is safe to bind to the `style` properties.\n *\n * @codeGenApi\n */\nfunction ɵɵsanitizeStyle(unsafeStyle) {\n const sanitizer = getSanitizer();\n if (sanitizer) {\n return sanitizer.sanitize(SecurityContext.STYLE, unsafeStyle) || '';\n }\n if (allowSanitizationBypassAndThrow(unsafeStyle, \"Style\" /* Style */)) {\n return unwrapSafeValue(unsafeStyle);\n }\n return renderStringify(unsafeStyle);\n}\n/**\n * A `url` sanitizer which converts untrusted `url` **string** into trusted string by removing\n * dangerous\n * content.\n *\n * This method parses the `url` and locates potentially dangerous content (such as javascript) and\n * removes it.\n *\n * It is possible to mark a string as trusted by calling {@link bypassSanitizationTrustUrl}.\n *\n * @param unsafeUrl untrusted `url`, typically from the user.\n * @returns `url` string which is safe to bind to the `src` properties such as ``, because\n * all of the dangerous javascript has been removed.\n *\n * @codeGenApi\n */\nfunction ɵɵsanitizeUrl(unsafeUrl) {\n const sanitizer = getSanitizer();\n if (sanitizer) {\n return sanitizer.sanitize(SecurityContext.URL, unsafeUrl) || '';\n }\n if (allowSanitizationBypassAndThrow(unsafeUrl, \"URL\" /* Url */)) {\n return unwrapSafeValue(unsafeUrl);\n }\n return _sanitizeUrl(renderStringify(unsafeUrl));\n}\n/**\n * A `url` sanitizer which only lets trusted `url`s through.\n *\n * This passes only `url`s marked trusted by calling {@link bypassSanitizationTrustResourceUrl}.\n *\n * @param unsafeResourceUrl untrusted `url`, typically from the user.\n * @returns `url` string which is safe to bind to the `src` properties such as ``, because\n * only trusted `url`s have been allowed to pass.\n *\n * @codeGenApi\n */\nfunction ɵɵsanitizeResourceUrl(unsafeResourceUrl) {\n const sanitizer = getSanitizer();\n if (sanitizer) {\n return sanitizer.sanitize(SecurityContext.RESOURCE_URL, unsafeResourceUrl) || '';\n }\n if (allowSanitizationBypassAndThrow(unsafeResourceUrl, \"ResourceURL\" /* ResourceUrl */)) {\n return unwrapSafeValue(unsafeResourceUrl);\n }\n throw new Error('unsafe value used in a resource URL context (see https://g.co/ng/security#xss)');\n}\n/**\n * A `script` sanitizer which only lets trusted javascript through.\n *\n * This passes only `script`s marked trusted by calling {@link\n * bypassSanitizationTrustScript}.\n *\n * @param unsafeScript untrusted `script`, typically from the user.\n * @returns `url` string which is safe to bind to the `
\r\n \r\n