{"version":3,"file":"realsoft-reusable-components-stepper.mjs","sources":["../../../src/reusable-components/stepper/src/error-state.ts","../../../src/reusable-components/stepper/src/step-label.ts","../../../src/reusable-components/stepper/src/step-content.ts","../../../src/reusable-components/stepper/src/step.ts","../../../src/reusable-components/stepper/src/step.html","../../../src/reusable-components/stepper/src/stepper-intl.ts","../../../src/reusable-components/stepper/src/step-header.ts","../../../src/reusable-components/stepper/src/step-header.html","../../../src/reusable-components/stepper/src/step-icon.ts","../../../src/reusable-components/stepper/src/stepper.ts","../../../src/reusable-components/stepper/src/stepper.html","../../../src/reusable-components/stepper/src/stepper-buttons.ts","../../../src/reusable-components/stepper/realsoft-reusable-components-stepper.ts"],"sourcesContent":["\r\n\r\n\r\nimport { Injectable } from \"@angular/core\";\r\nimport { AbstractControl, FormGroupDirective, NgControl, NgForm } from \"@angular/forms\";\r\nimport { Subject } from 'rxjs';\r\n\r\nexport interface RealsoftErrorState extends ErrorStateMatcher {}\r\n\r\n\r\n//This code defines an Angular service called ErrorState which is used to determine whether a form control should be displayed in an error state. It's designed to work with Angular's form validation system, particularly is scenarios where you want to customize error display logic.\r\n@Injectable({providedIn: 'root'})\r\nexport class ErrorStateMatcher {\r\n\r\n  //The method determines if a form control should be marked as having an error, it takes two parameters: control is the form control being checked, and the parent form which is optional\r\n  //The method returns a boolan where if true => This means that the control is an an error state, and if false the control is valid\r\n  isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n    //contol && control.invalid => Ensures the control exists and has validation errors where invalid is true\r\n    //(control.touched || (form && form.submitted)) => Ensures the user has interacted with the control or the form has been submitted\r\n    //The !! ensures the result is a boolean value\r\n    return !!(control && control.invalid && (control.touched || (form && form.submitted)));\r\n  }\r\n}\r\n\r\nexport class ErrorState {\r\n    errorState = false;\r\n    matcher: ErrorStateMatcher;\r\n\r\n    constructor(\r\n        private _defaultMatcher: ErrorStateMatcher | null,\r\n        public ngControl: NgControl | null,\r\n        private _parentFormGroup: FormGroupDirective | null,\r\n        private _parentForm: NgForm | null,\r\n        private _stateChanges: Subject<void>,\r\n    ) {}\r\n\r\n    updateErrorState() {\r\n        const oldState = this.errorState;\r\n        const parent = this._parentFormGroup || this._parentForm;\r\n        const matcher = this._defaultMatcher || this.matcher;\r\n        const control = this.ngControl?.control as AbstractControl ?? null;\r\n        const newState = matcher?.isErrorState(control, parent) ?? false;\r\n\r\n        if(newState !== oldState) {\r\n            this.errorState = newState;\r\n            this._stateChanges.next();\r\n        }\r\n    }\r\n\r\n}\r\n\r\n","import {Directive} from '@angular/core';\r\nimport {CdkStepLabel} from '@angular/cdk/stepper';\r\n\r\n@Directive({\r\n  selector: '[realsoftStepLabel]',\r\n  standalone: true\r\n})\r\nexport class RealsoftStepLabel extends CdkStepLabel {}","import { Directive, inject, TemplateRef } from \"@angular/core\";\r\n\r\n@Directive({\r\n    selector: 'ng-template[realsoftStepContent]',\r\n    standalone: true\r\n})\r\nexport class RealsoftStepContent {\r\n    _templateRef = inject<TemplateRef<any>>(TemplateRef)\r\n}","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, inject, ViewContainerRef, ViewEncapsulation } from \"@angular/core\";\r\nimport { ErrorStateMatcher } from \"./error-state\";\r\nimport {CdkStep} from '@angular/cdk/stepper';\r\nimport { CdkPortalOutlet, TemplatePortal } from \"@angular/cdk/portal\";\r\nimport { map, startWith, Subscription, switchMap } from \"rxjs\";\r\nimport { RealsoftStepLabel } from \"./step-label\";\r\nimport { RealsoftStepContent } from \"./step-content\";\r\nimport { AbstractControl, FormGroupDirective, NgForm } from \"@angular/forms\";\r\n\r\n@Component({\r\n    selector: 'realsoft-step',\r\n    exportAs: 'realsoftStep',\r\n    templateUrl: './step.html',\r\n    standalone: true,\r\n    providers: [\r\n        {provide: ErrorStateMatcher, useExisting: RealsoftStep},\r\n        {provide: CdkStep, useExisting: RealsoftStep},\r\n    ],\r\n    encapsulation: ViewEncapsulation.None,\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    imports: [CdkPortalOutlet]\r\n\r\n}) \r\nexport class RealsoftStep extends CdkStep implements AfterContentInit {\r\n    private _errorStateMatcher = inject(ErrorStateMatcher, {skipSelf: true});\r\n    private _currentlySelected = new Subscription();\r\n    private _viewContainerRef = inject(ViewContainerRef);\r\n\r\n    @ContentChild(RealsoftStepLabel) override stepLabel: RealsoftStepLabel = undefined;\r\n\r\n    @ContentChild(RealsoftStepContent, {static: false}) _lazilyLoadedContent: RealsoftStepContent; \r\n\r\n    portal: TemplatePortal;\r\n\r\n\r\n    ngAfterContentInit() {\r\n        this._currentlySelected = this._stepper.steps.changes.pipe(switchMap(() => {\r\n            return this._stepper.selectionChange.pipe(\r\n                map(event => event.selectedStep === this),\r\n                startWith(this._stepper.selected === this),\r\n            );\r\n        })).subscribe(currentlySelected => {\r\n            if (currentlySelected && this._lazilyLoadedContent && !this.portal) {\r\n                this.portal = new TemplatePortal(this._lazilyLoadedContent._templateRef, this._viewContainerRef);\r\n            }\r\n        })\r\n    }\r\n\r\n    isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean {\r\n        const originalErrorState = this._errorStateMatcher.isErrorState(control, form);\r\n        const customErrorState = !!(control && control.invalid && this.interacted);\r\n        return originalErrorState || customErrorState;\r\n\r\n    }\r\n\r\n    ngOnDestroy() {\r\n        this._currentlySelected.unsubscribe();\r\n    }\r\n\r\n}","<ng-template>\r\n    <ng-content></ng-content>\r\n    <ng-template [cdkPortalOutlet]=\"portal\"></ng-template>\r\n</ng-template>","import {Injectable, Optional, SkipSelf} from '@angular/core';\r\nimport {Subject} from 'rxjs';\r\n\r\n//Stepper Data that is required for internationalization\r\n@Injectable({providedIn: 'root'}) \r\nexport class RealsoftStepperIntl {\r\n    /**\r\n     * Stream that emits whenever the labels here are changed. Use this to notify\r\n     * components if the labels have changed after initialization.\r\n     */\r\n    readonly changes: Subject<void> = new Subject<void>();\r\n\r\n    /** Label that is rendered below optional steps. */\r\n    optionalLabel: string = 'Optional';\r\n\r\n    /** Label that is used to indicate step as completed to screen readers. */\r\n    completedLabel: string = 'Completed';\r\n\r\n    /** Label that is used to indicate step as editable to screen readers. */\r\n    editableLabel: string = 'Editable';\r\n}\r\n\r\nexport function REALSOFT_STEPPER_INTL_PROVIDER_FACTORY(parentIntl: RealsoftStepperIntl) {\r\n    return parentIntl || new RealsoftStepperIntl();\r\n}\r\n\r\nexport const REALSOFT_STEPPER_INTL_PROVIDER = {\r\n    provide: RealsoftStepperIntl,\r\n    deps: [[new Optional(), new SkipSelf(), RealsoftStepperIntl]],\r\n    useFactory: REALSOFT_STEPPER_INTL_PROVIDER_FACTORY,\r\n};\r\n","import {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  Input,\r\n  OnDestroy,\r\n  ViewEncapsulation,\r\n  TemplateRef,\r\n  AfterViewInit,\r\n  inject,\r\n  ElementRef,\r\n} from '@angular/core';\r\nimport {Subscription} from 'rxjs';\r\nimport { RealsoftStepLabel} from './step-label';\r\nimport { CdkStepHeader, StepState } from '@angular/cdk/stepper';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\nimport { RealsoftStepperIconContext } from './step-icon';\r\nimport { RealsoftStepperIntl } from './stepper-intl';\r\n\r\n\r\n@Component({\r\n    selector: 'realsoft-step-header',\r\n    templateUrl: './step-header.html',\r\n    styleUrl: './stepper-header.scss',\r\n    encapsulation: ViewEncapsulation.None,\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    standalone: true,\r\n    host: {\r\n        'class': 'realsoft-step-header',\r\n        'role': 'tab',\r\n    },\r\n    imports: [NgTemplateOutlet]\r\n})\r\nexport class RealsoftStepHeader extends CdkStepHeader implements AfterViewInit, OnDestroy {\r\n    private _focusMonitor = inject(FocusMonitor);\r\n    private _changeDetectorRef = inject(ChangeDetectorRef);\r\n    _intl = inject(RealsoftStepperIntl);\r\n    _intlSubscription = new Subscription();\r\n    \r\n    @Input() state: StepState; //State of the given step\r\n\r\n    @Input() label: RealsoftStepLabel | string; //label of the given step\r\n\r\n    @Input() errorMessage: string; //Error message to display when there's an error\r\n\r\n    @Input() index: number; //Index of the given step\r\n\r\n    @Input() selected: boolean; //Whether the given step is selected\r\n\r\n    @Input() active: boolean; //Whether the given step label is active\r\n\r\n    @Input() optional: boolean; //Whether the given step is optional\r\n\r\n    @Input() iconOverrides: {[key: string]: TemplateRef<RealsoftStepperIconContext>};\r\n\r\n\r\n    constructor(override _elementRef: ElementRef<HTMLElement>) {\r\n        super(_elementRef);\r\n        this._intlSubscription = this._intl.changes.subscribe(() => this._changeDetectorRef.markForCheck());\r\n    }\r\n\r\n    ngAfterViewInit() {\r\n        this._focusMonitor.monitor(this._elementRef, true)\r\n    }\r\n\r\n    override focus(origin?: FocusOrigin, options?: FocusOptions) {\r\n        if (origin) {\r\n            this._focusMonitor.focusVia(this._elementRef, origin, options);\r\n        } else {\r\n            this._elementRef.nativeElement.focus(options);\r\n        }\r\n    }\r\n\r\n    getIconContext() : RealsoftStepperIconContext {\r\n        return {\r\n            index: this.index,\r\n            active: this.active,\r\n            optional: this.optional,\r\n        }\r\n    }\r\n\r\n    getHostElement() {\r\n        return this._elementRef.nativeElement;\r\n    }\r\n\r\n    //Function to return the string label of the step if it is a text label\r\n    _getStringLabel(): string | null {\r\n        return this.label instanceof RealsoftStepLabel ? null : this.label;\r\n    }\r\n\r\n    //Function to return the template label of the step if it is a template label \r\n    _getTemplateLabel(): RealsoftStepLabel | null {\r\n        return this.label instanceof RealsoftStepLabel ? this.label : null;\r\n    }\r\n    getStateText(state: StepState): string {\r\n        switch(state){\r\n            case 'number': \r\n                return `${this.index + 1}`;\r\n\r\n            case 'edit':\r\n                return 'create';\r\n\r\n            case 'error':\r\n                return 'warning'\r\n\r\n            case 'done':\r\n                return 'check'\r\n\r\n            default :\r\n            return state\r\n        }\r\n    }\r\n\r\n    ngOnDestroy() {\r\n        this._focusMonitor.stopMonitoring(this._elementRef);\r\n        this._intlSubscription.unsubscribe();\r\n    }\r\n \r\n}\r\n","<div class=\"realsoft-step-header-ripple realsoft-focus-indicator\"></div>\r\n\r\n\r\n<div class=\"realsoft-step-icon-state-{{state}} realsoft-step-icon\" [class.realsoft-step-icon-selected]=\"selected\">\r\n    <div class=\"realsoft-step-icon-content\">\r\n        @if(iconOverrides && iconOverrides[state]) {\r\n            <ng-container [ngTemplateOutlet]=\"iconOverrides[state]\" [ngTemplateOutletContext]=\"getIconContext()\"></ng-container>\r\n        } @else {\r\n            @switch(state) {\r\n                @case('number') {\r\n                    <span aria-hidden=\"true\">{{getStateText(state)}}</span>\r\n                }\r\n                @default {\r\n                    @if(state === 'done') {\r\n                        <span class=\"cdk-visually-hidden\">{{_intl.completedLabel}}</span>\r\n                    } @else if (state === 'edit') {\r\n                        <span class=\"cdk-visually-hidden\">{{_intl.editableLabel}}</span>\r\n                    }\r\n                    <span class=\"material-icons\" aria-hidden=\"true\">{{getStateText(state)}}</span>\r\n                }\r\n            }\r\n        }\r\n    </div>\r\n</div>\r\n\r\n<div class=\"realsoft-step-label\"\r\n     [class.realsoft-step-label-active] = \"active\"\r\n     [class.realsoft-step-label-selected] = \"selected\"\r\n     [class.realsoft-step-label-done] = \"state === 'done'\"\r\n     [class.realsoft-step-label-error]=\"state === 'error'\">\r\n     @if (_getTemplateLabel(); as templateLabel) {\r\n        <div class=\"realsoft-step-text-label\">\r\n          <ng-container [ngTemplateOutlet]=\"templateLabel.template\"></ng-container>\r\n        </div>\r\n      } @else if (_getStringLabel()) {\r\n        <div class=\"realsoft-step-text-label\">{{label}}</div>\r\n      }\r\n\r\n     @if(optional && state !== 'error') {\r\n        <div class=\"realsoft-step-optional\">{{_intl.optionalLabel}}</div>\r\n     }\r\n\r\n     @if (state === 'error') {\r\n        <div class=\"realsoft-step-sub-label-error\">{{errorMessage}}</div>\r\n     }\r\n</div>\r\n","import {Directive, Input, TemplateRef, inject} from '@angular/core';\r\nimport {StepState} from '@angular/cdk/stepper';\r\n\r\n//Template context available to an attached realsoftStepperIcon\r\nexport interface RealsoftStepperIconContext {\r\n    active: boolean; //Whether the step is currently active.\r\n    index: number; //Index of the step\r\n    optional: boolean; //Whether the step is optional\r\n}\r\n\r\n@Directive({\r\n    selector: 'ng-template[realsoftStepperIcon]',\r\n    standalone: true\r\n})\r\nexport class RealsoftStepperIcon {\r\n    templateRef = inject<TemplateRef<RealsoftStepperIconContext>>(TemplateRef);\r\n\r\n    //Name of the icon to be overriden \r\n    @Input('realsoftStepperIcon') name: StepState;\r\n}\r\n\r\n","import { CdkStepper, StepState } from \"@angular/cdk/stepper\";\r\nimport { AfterContentInit, AfterViewInit, ANIMATION_MODULE_TYPE, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, inject, Input, NgZone, OnDestroy, Output, QueryList, signal, TemplateRef, ViewChildren, ViewEncapsulation } from \"@angular/core\";\r\nimport { RealsoftStepHeader } from \"./step-header\";\r\nimport { NgTemplateOutlet } from \"@angular/common\";\r\nimport { RealsoftStep } from \"./step\";\r\nimport { RealsoftStepperIcon, RealsoftStepperIconContext } from \"./step-icon\";\r\nimport { Directionality } from \"@angular/cdk/bidi\";\r\nimport { takeUntil } from \"rxjs\";\r\n\r\n@Component({\r\n    selector: 'realsoft-stepper, realsoft-vertical-stepper, realsoft-horizontal-stepper, [realsoftStepper]',\r\n    exportAs: 'realsoftStepper, realsoftVerticalStepper, realsoftHorizontalStepper',\r\n    templateUrl: './stepper.html',\r\n    styleUrl: './stepper.scss',\r\n    host: {\r\n        '[class.realsoft-stepper-horizontal]': 'orientation === \"horizontal\"',\r\n        '[class.realsoft-stepper-vertical]': 'orientation === \"vertical\"',\r\n        '[class.realsoft-stepper-label-position-end]': 'orientation === \"horizontal\" && labelPosition === \"end\"',\r\n        '[class.realsoft-stepper-label-position-bottom]': 'orientation === \"horizontal\" && labelPosition === \"bottom\"',\r\n        '[class.realsoft-stepper-header-position-bottom]': 'headerPosition === \"bottom\"', \r\n        '[class.realsoft-stepper-animating]': 'isAnimating()',\r\n        '[style.--realsoft-stepper-animation-duration]': 'getAnimationDuration()',\r\n        '[attr.aria-orientation]': 'orientation',\r\n        'role': 'tablist'\r\n    },\r\n    providers: [{provide: CdkStepper, useExisting: RealsoftStepper}],\r\n    encapsulation: ViewEncapsulation.None,\r\n    changeDetection: ChangeDetectionStrategy.OnPush,\r\n    standalone: true,\r\n    imports: [NgTemplateOutlet, RealsoftStepHeader]\r\n})\r\nexport class RealsoftStepper extends CdkStepper implements AfterViewInit, AfterContentInit, OnDestroy {\r\n  private _animationsModule = inject(ANIMATION_MODULE_TYPE, {optional: true});\r\n  private isAnimating = signal(false);\r\n  private _animationDuration = '';\r\n\r\n  //Elements hosting the step animations\r\n  @ViewChildren('animatedContent') _animatedContent: QueryList<ElementRef>;\r\n\r\n  //List of step headers of the steps in the stepper \r\n  @ViewChildren(RealsoftStepHeader) override _stepHeader: QueryList<RealsoftStepHeader> = undefined!;\r\n\r\n  //Full list of steps inside the stepper, including inside nested steppers\r\n  @ContentChildren(RealsoftStep, {descendants: true}) override _steps: QueryList<RealsoftStep> = undefined!;\r\n\r\n  @Input() labelPosition: 'bottom' | 'end' = 'end'; //Whether the label should be displayed in bottom or end position, only applies in the horizontal orientation\r\n\r\n  @Input() headerPosition: 'top' | 'bottom' = 'top'; //Position of the stepper's header, only applies in the horizontal orientation\r\n    \r\n  //Consumer specified template refs to be used to override the header icons\r\n  _iconOverrides: Record<string, TemplateRef<RealsoftStepperIconContext>> = {};\r\n\r\n  override readonly steps: QueryList<RealsoftStep> = new QueryList<RealsoftStep>(); //Steps belonging to the current stepper.\r\n\r\n  @ContentChildren(RealsoftStepperIcon, {descendants: true}) icons: QueryList<RealsoftStepperIcon>; //Custom icon overrides passed in by the consumer\r\n\r\n  @Output() readonly animationDone: EventEmitter<void> = new EventEmitter<void>();  //Event emitted when the current step is done transitioning in\r\n\r\n  //Duration for the animation. Will be normalized to milliseconds if no units are set\r\n  @Input() \r\n  get animationDuration(): string {\r\n    return this._animationDuration;\r\n  }\r\n  set animationDuration(value: string) {\r\n    this._animationDuration = /^\\d+$/.test(value) ? value + 'ms' : value;\r\n  }\r\n\r\n  constructor(\r\n    _dir: Directionality,\r\n    _changeDetectorRef: ChangeDetectorRef,\r\n    _elementRef: ElementRef<HTMLElement>,\r\n  ) \r\n  {\r\n    super(_dir, _changeDetectorRef, _elementRef);\r\n    const elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\r\n    const nodeName = elementRef.nativeElement.nodeName.toLowerCase();\r\n    this.orientation = nodeName === 'realsoft-vertical-stepper' ? 'vertical' : 'horizontal';\r\n  }\r\n  override ngAfterViewInit(): void {\r\n    super.ngAfterViewInit();\r\n  }\r\n\r\n  override ngAfterContentInit() {\r\n    super.ngAfterContentInit();\r\n    this.icons.forEach(({name, templateRef}) => (this._iconOverrides[name] = templateRef));\r\n\r\n    this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => this._stateChanged());\r\n\r\n    this.selectedIndexChange.pipe(takeUntil(this._destroyed)).subscribe(() => {\r\n      const animationDuration = this.getAnimationDuration();\r\n      if(animationDuration === '0ms' || animationDuration === '0s') {\r\n        this._onAnimationDone();\r\n      } else {\r\n        this.isAnimating.set(true);\r\n      }\r\n\r\n    })\r\n\r\n  }\r\n\r\n  _allowNavigation(index: number, step: RealsoftStep): boolean {\r\n    return step.completed || this.selectedIndex === index || !this.linear;\r\n  }\r\n\r\n  getAnimationDuration() : string{\r\n    if (this._animationsModule === 'NoopAnimations') return '0ms';\r\n\r\n    if(this.animationDuration) return this.animationDuration;\r\n\r\n    return this.orientation === 'horizontal' ? '500ms' : '200ms';\r\n  }\r\n\r\n  private _onAnimationDone() {\r\n    this.isAnimating.set(false);\r\n    this.animationDone.emit();\r\n  }\r\n\r\n  override ngOnDestroy(): void {\r\n    super.ngOnDestroy();\r\n  }\r\n\r\n  override _getIndicatorType(index: number, state: StepState): StepState {\r\n    if (state === 'error') {\r\n      return 'error';\r\n    }\r\n    if (index < this.selectedIndex) {\r\n      return 'done';\r\n    }\r\n    if (index === this.selectedIndex) {\r\n      return state || 'number';\r\n    }\r\n    return 'number';\r\n  }\r\n}\r\n","@switch(orientation) {\r\n    @case('horizontal') {\r\n        <div class=\"realsoft-horizontal-stepper-wrapper\">\r\n            <div class=\"realsoft-horizontal-stepper-header-container\">\r\n                @for(step of steps; track step) {\r\n                    <ng-container [ngTemplateOutlet]=\"stepTemplate\" [ngTemplateOutletContext]=\"{step, i: $index}\"></ng-container>\r\n                    @if(!$last) {\r\n                        <div class=\"realsoft-stepper-horizontal-line\"></div>\r\n                    }\r\n                }\r\n            </div>\r\n\r\n            <div class=\"realsoft-horizontal-content-container\">\r\n                @for(step of steps; track step) {\r\n                    <div\r\n                    class=\"realsoft-horizontal-stepper-content\"\r\n                    role=\"tabpanel\"\r\n                    [id]=\"_getStepContentId($index)\"\r\n                    [attr.aria-labelledby]=\"_getStepLabelId($index)\"\r\n                    [class]=\"'realsoft-horizontal-stepper-content-'+ _getAnimationDirection($index)\"\r\n                    [class.realsoft-horizontal-stepper-content-inactive]=\"selectedIndex !== $index\"\r\n                    [attr.inert]=\"selectedIndex === $index ? null : ''\">\r\n                    <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\r\n                </div>\r\n                }\r\n            </div>\r\n        </div>\r\n    }\r\n\r\n    @case('vertical') {\r\n        @for(step of steps; track step) {\r\n            <div class=\"realsoft-step\">\r\n                <ng-container [ngTemplateOutlet]=\"stepTemplate\" [ngTemplateOutletContext]=\"{step, i: $index}\"></ng-container>\r\n                <div\r\n                class=\"realsoft-vertical-content-container\"\r\n                [class.realsoft-stepper-vertical-line]=\"!$last\"\r\n                [class.realsoft-vertical-content-container-active]=\"selectedIndex === $index\"\r\n                [class.realsoft-vertical-stepper-content-inactive]=\"selectedIndex !== $index\"\r\n                [attr.inert]=\"selectedIndex === $index ? null : ''\">\r\n                    <div class=\"realsoft-vertical-stepper-content\"\r\n                    role=\"tabpanel\"\r\n                    [id]=\"_getStepContentId($index)\"\r\n                    [attr.aria-labelledby]=\"_getStepLabelId($index)\">\r\n                        <div class=\"realsoft-vertical-content\">\r\n                            <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        }\r\n    }\r\n}\r\n\r\n<ng-template let-step=\"step\" let-i=\"i\" #stepTemplate>\r\n    <realsoft-step-header\r\n    [class.realsoft-horizontal-stepper-header]=\"orientation === 'horizontal'\"\r\n    [class.realsoft-vertical-stepper-header]=\"orientation === 'vertical'\"\r\n    (click)=\"step.select()\"\r\n    (keydown)=\"_onKeydown($event)\"\r\n    [tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\r\n    [id]=\"_getStepLabelId(i)\"\r\n    [attr.aria-posinset]=\"i + 1\"\r\n    [attr.aria-setsize]=\"steps.length\"\r\n    [attr.aria-controls]=\"_getStepContentId(i)\"\r\n    [attr.aria-selected]=\"selectedIndex == i\"\r\n    [attr.aria-label]=\"step.ariaLabel || null\"\r\n    [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\r\n    [attr.aria-disabled]=\"_allowNavigation(i, step) ? null : true\"\r\n    [index]=\"i\"\r\n    [state]=\"_getIndicatorType(i, step.state)\"\r\n    [label]=\"step.stepLabel || step.label\"\r\n    [selected]=\"selectedIndex === i\"\r\n    [active]=\"_allowNavigation(i, step)\"\r\n    [optional]=\"step.optional\"\r\n    [errorMessage]=\"step.errorMessage\"\r\n    [iconOverrides]=\"_iconOverrides\"\r\n    ></realsoft-step-header>\r\n</ng-template>\r\n  ","import {CdkStepperNext, CdkStepperPrevious} from '@angular/cdk/stepper';\r\nimport {Directive} from '@angular/core';\r\n\r\n/** Button that moves to the next step in a stepper workflow. */\r\n@Directive({\r\n  selector: 'button[realsoftStepperNext]',\r\n  host: {\r\n    'class': 'realsoft-stepper-next',\r\n    '[type]': 'type',\r\n  },\r\n  standalone: true\r\n})\r\nexport class RealsoftStepperNext extends CdkStepperNext {}\r\n\r\n/** Button that moves to the previous step in a stepper workflow. */\r\n@Directive({\r\n  selector: 'button[realsoftStepperPrevious]',\r\n  host: {\r\n    'class': 'realsoft-stepper-previous',\r\n    '[type]': 'type',\r\n  },\r\n  standalone: true\r\n})\r\nexport class RealsoftStepperPrevious extends CdkStepperPrevious {}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;AAUA;MAEa,iBAAiB,CAAA;;;IAI5B,YAAY,CAAC,OAA+B,EAAE,IAAwC,EAAA;;;;QAIpF,OAAO,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KACxF;uGATU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cADL,MAAM,EAAA,CAAA,CAAA;;2FAClB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;MAanB,UAAU,CAAA;AAKP,IAAA,eAAA,CAAA;AACD,IAAA,SAAA,CAAA;AACC,IAAA,gBAAA,CAAA;AACA,IAAA,WAAA,CAAA;AACA,IAAA,aAAA,CAAA;IARZ,UAAU,GAAG,KAAK,CAAC;AACnB,IAAA,OAAO,CAAoB;IAE3B,WACY,CAAA,eAAyC,EAC1C,SAA2B,EAC1B,gBAA2C,EAC3C,WAA0B,EAC1B,aAA4B,EAAA;QAJ5B,IAAe,CAAA,eAAA,GAAf,eAAe,CAA0B;QAC1C,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;QAC1B,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAA2B;QAC3C,IAAW,CAAA,WAAA,GAAX,WAAW,CAAe;QAC1B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KACpC;IAEJ,gBAAgB,GAAA;AACZ,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,WAAW,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,OAA0B,IAAI,IAAI,CAAC;AACnE,QAAA,MAAM,QAAQ,GAAG,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC;AAEjE,QAAA,IAAG,QAAQ,KAAK,QAAQ,EAAE;AACtB,YAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC3B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SAC7B;KACJ;AAEJ;;AC1CK,MAAO,iBAAkB,SAAQ,YAAY,CAAA;uGAAtC,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCAY,mBAAmB,CAAA;AAC5B,IAAA,YAAY,GAAG,MAAM,CAAmB,WAAW,CAAC,CAAA;uGAD3C,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;;;ACkBK,MAAO,YAAa,SAAQ,OAAO,CAAA;IAC7B,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AACjE,IAAA,kBAAkB,GAAG,IAAI,YAAY,EAAE,CAAC;AACxC,IAAA,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEX,SAAS,GAAsB,SAAS,CAAC;AAE/B,IAAA,oBAAoB,CAAsB;AAE9F,IAAA,MAAM,CAAiB;IAGvB,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAK;AACtE,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CACrC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,EACzC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,CAC7C,CAAC;AACN,SAAC,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,IAAG;YAC9B,IAAI,iBAAiB,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChE,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACpG;AACL,SAAC,CAAC,CAAA;KACL;IAED,YAAY,CAAC,OAA+B,EAAE,IAAwC,EAAA;AAClF,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC/E,QAAA,MAAM,gBAAgB,GAAG,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3E,OAAO,kBAAkB,IAAI,gBAAgB,CAAC;KAEjD;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;KACzC;uGAlCQ,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EATV,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,SAAA,EAAA;AACP,YAAA,EAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAC;AACvD,YAAA,EAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAC;AAChD,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAWa,iBAAiB,EAEjB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,mBAAmB,EC9BrC,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,kIAGc,4CDiBA,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAGhB,YAAY,EAAA,UAAA,EAAA,CAAA;kBAdxB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EACf,QAAA,EAAA,cAAc,EAEZ,UAAA,EAAA,IAAI,EACL,SAAA,EAAA;AACP,wBAAA,EAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,cAAc,EAAC;AACvD,wBAAA,EAAC,OAAO,EAAE,OAAO,EAAE,WAAW,cAAc,EAAC;qBAChD,EACc,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,eAAe,CAAC,EAAA,QAAA,EAAA,kIAAA,EAAA,CAAA;8BAQgB,SAAS,EAAA,CAAA;sBAAlD,YAAY;uBAAC,iBAAiB,CAAA;gBAEqB,oBAAoB,EAAA,CAAA;sBAAvE,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAA;;;AE3BtD;MAEa,mBAAmB,CAAA;AAC5B;;;AAGG;AACM,IAAA,OAAO,GAAkB,IAAI,OAAO,EAAQ,CAAC;;IAGtD,aAAa,GAAW,UAAU,CAAC;;IAGnC,cAAc,GAAW,WAAW,CAAC;;IAGrC,aAAa,GAAW,UAAU,CAAC;uGAd1B,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cADP,MAAM,EAAA,CAAA,CAAA;;2FAClB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;AAkB1B,SAAU,sCAAsC,CAAC,UAA+B,EAAA;AAClF,IAAA,OAAO,UAAU,IAAI,IAAI,mBAAmB,EAAE,CAAC;AACnD,CAAC;AAEY,MAAA,8BAA8B,GAAG;AAC1C,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,mBAAmB,CAAC,CAAC;AAC7D,IAAA,UAAU,EAAE,sCAAsC;;;ACKhD,MAAO,kBAAmB,SAAQ,aAAa,CAAA;AAuB5B,IAAA,WAAA,CAAA;AAtBb,IAAA,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACrC,IAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACvD,IAAA,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACpC,IAAA,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAC;IAE9B,KAAK,CAAY;IAEjB,KAAK,CAA6B;IAElC,YAAY,CAAS;IAErB,KAAK,CAAS;IAEd,QAAQ,CAAU;IAElB,MAAM,CAAU;IAEhB,QAAQ,CAAU;AAElB,IAAA,aAAa,CAA2D;AAGjF,IAAA,WAAA,CAAqB,WAAoC,EAAA;QACrD,KAAK,CAAC,WAAW,CAAC,CAAC;QADF,IAAW,CAAA,WAAA,GAAX,WAAW,CAAyB;QAErD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,CAAC;KACvG;IAED,eAAe,GAAA;QACX,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;KACrD;IAEQ,KAAK,CAAC,MAAoB,EAAE,OAAsB,EAAA;QACvD,IAAI,MAAM,EAAE;AACR,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;SAClE;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACjD;KACJ;IAED,cAAc,GAAA;QACV,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAA;KACJ;IAED,cAAc,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;KACzC;;IAGD,eAAe,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,KAAK,YAAY,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;KACtE;;IAGD,iBAAiB,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,KAAK,YAAY,iBAAiB,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACtE;AACD,IAAA,YAAY,CAAC,KAAgB,EAAA;QACzB,QAAO,KAAK;AACR,YAAA,KAAK,QAAQ;AACT,gBAAA,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;AAE/B,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,QAAQ,CAAC;AAEpB,YAAA,KAAK,OAAO;AACR,gBAAA,OAAO,SAAS,CAAA;AAEpB,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,OAAO,CAAA;AAElB,YAAA;AACA,gBAAA,OAAO,KAAK,CAAA;SACf;KACJ;IAED,WAAW,GAAA;QACP,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;KACxC;uGAnFQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,KAAA,EAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClC/B,khEA8CA,EAAA,MAAA,EAAA,CAAA,+wGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDdc,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEjB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAb9B,SAAS;+BACI,sBAAsB,EAAA,aAAA,EAGjB,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA,IAAI,EACV,IAAA,EAAA;AACF,wBAAA,OAAO,EAAE,sBAAsB;AAC/B,wBAAA,MAAM,EAAE,KAAK;qBAChB,EACQ,OAAA,EAAA,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,khEAAA,EAAA,MAAA,EAAA,CAAA,+wGAAA,CAAA,EAAA,CAAA;+EAQlB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,aAAa,EAAA,CAAA;sBAArB,KAAK;;;MExCG,mBAAmB,CAAA;AAC5B,IAAA,WAAW,GAAG,MAAM,CAA0C,WAAW,CAAC,CAAC;;AAG7C,IAAA,IAAI,CAAY;uGAJrC,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA,CAAA;8BAKiC,IAAI,EAAA,CAAA;sBAAjC,KAAK;uBAAC,qBAAqB,CAAA;;;ACa1B,MAAO,eAAgB,SAAQ,UAAU,CAAA;IACrC,iBAAiB,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AACpE,IAAA,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,kBAAkB,GAAG,EAAE,CAAC;;AAGC,IAAA,gBAAgB,CAAwB;;IAG9B,WAAW,GAAkC,SAAU,CAAC;;IAGtC,MAAM,GAA4B,SAAU,CAAC;AAEjG,IAAA,aAAa,GAAqB,KAAK,CAAC;AAExC,IAAA,cAAc,GAAqB,KAAK,CAAC;;IAGlD,cAAc,GAA4D,EAAE,CAAC;AAE3D,IAAA,KAAK,GAA4B,IAAI,SAAS,EAAgB,CAAC;IAEtB,KAAK,CAAiC;AAE9E,IAAA,aAAa,GAAuB,IAAI,YAAY,EAAQ,CAAC;;AAGhF,IAAA,IACI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAChC;IACD,IAAI,iBAAiB,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;KACtE;AAED,IAAA,WAAA,CACE,IAAoB,EACpB,kBAAqC,EACrC,WAAoC,EAAA;AAGpC,QAAA,KAAK,CAAC,IAAI,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAC7C,QAAA,MAAM,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AACjE,QAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,KAAK,2BAA2B,GAAG,UAAU,GAAG,YAAY,CAAC;KACzF;IACQ,eAAe,GAAA;QACtB,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;IAEQ,kBAAkB,GAAA;QACzB,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAC,IAAI,EAAE,WAAW,EAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;QAEvF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AAE1F,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACvE,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACtD,IAAG,iBAAiB,KAAK,KAAK,IAAI,iBAAiB,KAAK,IAAI,EAAE;gBAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;iBAAM;AACL,gBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC5B;AAEH,SAAC,CAAC,CAAA;KAEH;IAED,gBAAgB,CAAC,KAAa,EAAE,IAAkB,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;KACvE;IAED,oBAAoB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,iBAAiB,KAAK,gBAAgB;AAAE,YAAA,OAAO,KAAK,CAAC;QAE9D,IAAG,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC;AAEzD,QAAA,OAAO,IAAI,CAAC,WAAW,KAAK,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;KAC9D;IAEO,gBAAgB,GAAA;AACtB,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC3B;IAEQ,WAAW,GAAA;QAClB,KAAK,CAAC,WAAW,EAAE,CAAC;KACrB;IAEQ,iBAAiB,CAAC,KAAa,EAAE,KAAgB,EAAA;AACxD,QAAA,IAAI,KAAK,KAAK,OAAO,EAAE;AACrB,YAAA,OAAO,OAAO,CAAC;SAChB;AACD,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE;AAC9B,YAAA,OAAO,MAAM,CAAC;SACf;AACD,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE;YAChC,OAAO,KAAK,IAAI,QAAQ,CAAC;SAC1B;AACD,QAAA,OAAO,QAAQ,CAAC;KACjB;uGArGU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6FAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mCAAA,EAAA,gCAAA,EAAA,iCAAA,EAAA,8BAAA,EAAA,2CAAA,EAAA,6DAAA,EAAA,8CAAA,EAAA,gEAAA,EAAA,+CAAA,EAAA,+BAAA,EAAA,kCAAA,EAAA,eAAA,EAAA,6CAAA,EAAA,wBAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,SAAA,EANb,CAAC,EAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAC,CAAC,EAkBjD,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAY,EAWZ,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,mBAAmB,EAdtB,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,kBAAkB,8JCxClC,qzHA8EE,EAAA,MAAA,EAAA,CAAA,2xKAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjDY,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,cAAA,EAAA,OAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAErC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAtB3B,SAAS;+BACI,6FAA6F,EAAA,QAAA,EAC7F,qEAAqE,EAGzE,IAAA,EAAA;AACF,wBAAA,qCAAqC,EAAE,8BAA8B;AACrE,wBAAA,mCAAmC,EAAE,4BAA4B;AACjE,wBAAA,6CAA6C,EAAE,yDAAyD;AACxG,wBAAA,gDAAgD,EAAE,4DAA4D;AAC9G,wBAAA,iDAAiD,EAAE,6BAA6B;AAChF,wBAAA,oCAAoC,EAAE,eAAe;AACrD,wBAAA,+CAA+C,EAAE,wBAAwB;AACzE,wBAAA,yBAAyB,EAAE,aAAa;AACxC,wBAAA,MAAM,EAAE,SAAS;qBACpB,EACU,SAAA,EAAA,CAAC,EAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAA,eAAiB,EAAC,CAAC,EACjD,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAA,QAAA,EAAA,qzHAAA,EAAA,MAAA,EAAA,CAAA,2xKAAA,CAAA,EAAA,CAAA;4IAQhB,gBAAgB,EAAA,CAAA;sBAAhD,YAAY;uBAAC,iBAAiB,CAAA;gBAGY,WAAW,EAAA,CAAA;sBAArD,YAAY;uBAAC,kBAAkB,CAAA;gBAG6B,MAAM,EAAA,CAAA;sBAAlE,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,YAAY,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAA;gBAEzC,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAEG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAOqD,KAAK,EAAA,CAAA;sBAA/D,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAA;gBAEtC,aAAa,EAAA,CAAA;sBAA/B,MAAM;gBAIH,iBAAiB,EAAA,CAAA;sBADpB,KAAK;;;AExDR;AASM,MAAO,mBAAoB,SAAQ,cAAc,CAAA;uGAA1C,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,uBAAuB;AAChC,wBAAA,QAAQ,EAAE,MAAM;AACjB,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;AAGD;AASM,MAAO,uBAAwB,SAAQ,kBAAkB,CAAA;uGAAlD,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,2BAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,2BAA2B;AACpC,wBAAA,QAAQ,EAAE,MAAM;AACjB,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;ACtBD;;AAEG;;;;"}