@progressio_resources/gravity-design-system 1.1.20 → 1.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"progressio_resources-gravity-design-system.mjs","sources":["../../../projects/gravity-design-system/src/lib/components/gravity-icon/gravity-icon.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-icon/gravity-icon.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-button/gravity-button.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-button/gravity-button.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-text-field/gravity-text-field.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-text-field/gravity-text-field.component.html","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.component.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.component.html","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/options.service.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/options.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.directive.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.module.ts","../../../projects/gravity-design-system/src/lib/components/gravity-calendar/gravity-calendar.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-calendar/gravity-calendar.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-radio-button/gravity-radio-button.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-radio-button/gravity-radio-button.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-switch/gravity-switch.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-switch/gravity-switch.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-checkbox/gravity-checkbox.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-checkbox/gravity-checkbox.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-dialog/gravity-dialog.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-dialog/gravity-dialog.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-notification/gravity-notification.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-notification/gravity-notification.component.html","../../../projects/gravity-design-system/src/lib/services/gravity-instant-notifications.service.ts","../../../projects/gravity-design-system/src/lib/components/gravity-notification-instant/gravity-notification-instant-container.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-notification-instant/gravity-notification-instant-container.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-attach-file/gravity-attach-file.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-attach-file/gravity-attach-file.component.html","../../../projects/gravity-design-system/src/lib/gravity-design-system.module.ts","../../../projects/gravity-design-system/src/lib/services/gravity-dialog-manager.service.ts","../../../projects/gravity-design-system/src/public-api.ts","../../../projects/gravity-design-system/src/progressio_resources-gravity-design-system.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gravity-icon',\n templateUrl: './gravity-icon.component.html',\n styleUrls: ['./gravity-icon.component.scss']\n})\nexport class GravityIconComponent {\n @Input() public customIconColorVariable: string;\n @Input() public iconName: string;\n @Input() public hoverIcon: boolean;\n}\n","<svg-icon class=\"{{hoverIcon ? 'with-hover' : ''}}\"\n name=\"{{iconName}}\"\n\n [style]=\"customIconColorVariable ? {'--icon-color': customIconColorVariable} : null\"></svg-icon>\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gravity-button',\n templateUrl: './gravity-button.component.html',\n styleUrls: ['./gravity-button.component.scss'],\n})\nexport class GravityButtonComponent {\n @Input() public cypressTag: string;\n @Input() public disabled: boolean;\n @Input() public iconName: string;\n @Input() public isLoading: boolean = false;\n @Input() public size: 'sm' | 'md' = \"md\";\n @Input() public type: 'primary' | 'secondary' | 'tertiary' | 'positive' | 'negative' | 'alternative' | 'disabled';\n}\n","<button [attr.data-cy]=\"cypressTag\" class=\"gravity-button-{{type}} gravity-size-{{size}} hr-label md-bold\"\n [disabled]=\"disabled\" [style]=\"isLoading ? {'pointer-events': 'none'} : {}\">\n <ng-container *ngIf=\"!isLoading\">\n <gravity-icon class=\"placement-left\" [customIconColorVariable]=\"'var(--button-text-color)'\"\n [hoverIcon]=\"false\" [iconName]=\"iconName\" *ngIf=\"iconName\"></gravity-icon>\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ngb-progressbar [animated]=\"true\" [striped]=\"true\" [value]=\"100\"></ngb-progressbar>\n </ng-container>\n</button>\n","import {Component, EventEmitter, Input, Output, ViewChild} from '@angular/core';\nimport {NgSelectComponent} from \"@ng-select/ng-select\";\n\n@Component({\n selector: 'gravity-dropdown-list',\n templateUrl: './gravity-dropdown-list.component.html',\n styleUrls: ['./gravity-dropdown-list.component.scss']\n})\nexport class GravityDropdownListComponent {\n @Output('response') public selectedItemResponse: EventEmitter<any> = new EventEmitter();\n\n @Input() public currentLang: string = 'en';\n @Input() public customPlaceholder: string = \"All\";\n @Input() public customValue: number;\n @Input() public cypressTag: string;\n @Input() public iconColor?: string;\n @Input() public iconNames: string[];\n @Input() public iconPlacement: 'left' | 'right' = \"left\";\n @Input() public items: Array<any>;\n @Input() public label: string;\n @Input() public ngSelectConfig: {\n bindLabel?: string;\n bindValue?: string;\n clearable?: boolean;\n };\n @Input() public required: boolean;\n @Input() public state: 'readonly' | 'disabled' | 'enabled' = \"enabled\";\n @Input() public supportTextContent: string;\n @Input() public supportTextType: 'neutro' | 'negative' | 'positive';\n\n @ViewChild('ngSelectComponent', {static: false}) private ngSelectComponent: NgSelectComponent;\n\n public selectedItem: any;\n public dropdownOpen: boolean = false;\n\n public changeSelectedItem(newSelectedItem: any): void {\n this.selectedItem = newSelectedItem;\n this.selectedItemResponse.emit(this.selectedItem);\n }\n\n public clearSelectedItem(): void {\n this.ngSelectComponent.clearItem(this.selectedItem);\n this.changeSelectedItem(undefined);\n }\n}\n","<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"!selectedItem && !dropdownOpen\"\n [class.focused]=\"dropdownOpen\" [class.full-input]=\"customValue || (selectedItem && !dropdownOpen)\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-dropdown-field {{state}}\" [class.empty]=\"!selectedItem && !dropdownOpen\"\n [class.focused]=\"dropdownOpen\" [class.full-input]=\"customValue || (selectedItem && !dropdownOpen)\">\n <ng-container *ngIf=\"iconPlacement == 'left'\">\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\n </ng-container>\n <ng-select [attr.data-cy]=\"cypressTag\"\n [bindLabel]=\"ngSelectConfig?.bindLabel ? ngSelectConfig.bindLabel : 'name'\"\n [bindValue]=\"ngSelectConfig?.bindValue ? ngSelectConfig.bindValue : 'id'\"\n [class.with-icons]=\"iconNames\"\n [clearable]=\"ngSelectConfig?.clearable\"\n [items]=\"items\"\n [placeholder]=\"selectedItem || customValue ? null : customPlaceholder\"\n [readonly]=\"state == 'readonly' ? true : null\"\n\n [(ngModel)]=\"customValue\"\n\n (change)=\"changeSelectedItem($event)\"\n (clear)=\"clearSelectedItem()\"\n (close)=\"dropdownOpen = false\"\n (open)=\"dropdownOpen = true\"\n\n class=\"hr-label md-regular\"\n #ngSelectComponent>\n </ng-select>\n <ng-container *ngIf=\"iconPlacement == 'right'\">\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\n </ng-container>\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n\n<ng-template #icons>\n <gravity-icon class=\"placement-{{iconPlacement}}\" [customIconColorVariable]=\"iconColor\" [hoverIcon]=\"false\"\n [iconName]=\"name\" *ngFor=\"let name of iconNames\"></gravity-icon>\n</ng-template>\n","import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'gravity-text-field',\n templateUrl: './gravity-text-field.component.html',\n styleUrls: ['./gravity-text-field.component.scss']\n})\nexport class GravityTextFieldComponent implements OnInit {\n @Output('clickIcon') public iconResponse: EventEmitter<boolean> = new EventEmitter();\n @Output('response') public textFieldValueResponse: EventEmitter<string> = new EventEmitter();\n\n @Input() public autocomplete: string = 'off';\n @Input() public clickOnIconName: string | boolean = false;\n @Input() public currentLang: string = 'en';\n @Input() public customPlaceholder: string;\n @Input() public customInputValue: string;\n @Input() public cypressTag: string;\n @Input() public iconColor?: string;\n @Input() public iconNames: string[];\n @Input() public iconPlacement: 'left' | 'right' = \"left\";\n @Input() public inputContentType: 'email' | 'number' | 'password' | 'text' = \"text\";\n @Input() public label: string;\n @Input() public placeholderType: 'default' | 'email' | 'url' = \"default\";\n @Input() public prefix: string = \"\";\n @Input() public required: boolean;\n @Input() public state: 'readonly' | 'disabled' | 'enabled' = \"enabled\";\n @Input() public supportTextContent: string;\n @Input() public supportTextType: 'neutro' | 'negative' | 'positive' = \"neutro\";\n @Input() public textFieldType: 'input' | 'textarea' = \"input\";\n @Input() public validations: { maxLength?: number; minLength?: number };\n\n @ViewChild('inputElement', {static: false}) private inputElement: any;\n @ViewChild('textAreaElement', {static: false}) private textAreaElement: any;\n\n public focusInput: boolean = false;\n public inputValue: string = '';\n\n private readonly placeholders = {\n 'email': 'test@email.com',\n 'url': 'https://www.test.com'\n }\n\n ngOnInit(): void {\n this.inputValue = this.customInputValue ? this.customInputValue : '';\n }\n\n public getPlaceholder(): string {\n if (this.customPlaceholder && this.customPlaceholder != '') {\n return this.customPlaceholder;\n } else if (this.placeholderType == 'default') {\n return this.label;\n } else {\n return this.placeholders[this.placeholderType];\n }\n }\n\n public clearInput(): void {\n this.changeInputValue(true);\n }\n\n public onInputKeyup(): void {\n this.changeInputValue();\n }\n\n private changeInputValue(clearInput: boolean = false): void {\n if (clearInput) {\n this.inputValue = '';\n } else if (this.textFieldType == 'input') {\n this.inputValue = this.inputElement.nativeElement.value;\n } else {\n this.inputValue = this.textAreaElement.nativeElement.value;\n }\n\n if (this.inputValue == '') {\n this.textFieldValueResponse.emit('');\n } else {\n this.textFieldValueResponse.emit(this.prefix + this.inputValue);\n }\n }\n\n public handleIconClick(iconName: string): void {\n if (this.iconNames.length == 1) {\n this.iconResponse.emit(true);\n } else if (this.clickOnIconName == iconName) {\n this.iconResponse.emit(true);\n }\n }\n}\n","<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"inputValue == '' && !focusInput\"\n [class.focused]=\"focusInput\" [class.full-input]=\"inputValue != '' && !focusInput\" *ngIf=\"label\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-input-field {{textFieldType}} {{state}}\" [class.empty]=\"inputValue == '' && !focusInput\"\n [class.focused]=\"focusInput\" [class.full-input]=\"inputValue != '' && !focusInput\">\n <ng-container *ngIf=\"iconPlacement == 'left'\">\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\n </ng-container>\n <span class=\"hr-label md-regular prefix\">{{prefix}}</span>\n <input [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"state == 'disabled' ? true : null\"\n [attr.readonly]=\"state == 'readonly' ? true : null\"\n [autocomplete]=\"autocomplete\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 100\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [type]=\"inputContentType\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (focus)=\"focusInput = true\"\n (keyup)=\"onInputKeyup()\"\n\n class=\"hr-label md-regular\"\n\n #inputElement\n\n *ngIf=\"textFieldType == 'input'\">\n <textarea [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"state == 'disabled' ? true : null\"\n [attr.readonly]=\"state == 'readonly' ? true : null\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 500\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (focus)=\"focusInput = true\"\n (keyup)=\"onInputKeyup()\"\n\n class=\"hr-label md-regular\"\n rows=\"1\"\n\n #textAreaElement\n\n *ngIf=\"textFieldType == 'textarea'\"></textarea>\n <ng-container *ngIf=\"iconPlacement == 'right'\">\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\n </ng-container>\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n\n<ng-template #icons>\n <gravity-icon (click)=\"$event.stopPropagation(); handleIconClick(name)\" class=\"placement-{{iconPlacement}}\"\n [class.pointer]=\"!!clickOnIconName\" [customIconColorVariable]=\"iconColor\"\n [hoverIcon]=\"!!clickOnIconName\" [iconName]=\"name\" *ngFor=\"let name of iconNames\"></gravity-icon>\n</ng-template>\n","import {Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnInit, Renderer2} from '@angular/core';\n\n@Component({\n selector: 'tooltip',\n templateUrl: './gravity-tooltip.component.html',\n host: {'class': 'tooltip'},\n styleUrls: ['./gravity-tooltip.component.sass']\n})\n\nexport class GravityTooltipComponent implements OnInit {\n _show: boolean = false;\n events = new EventEmitter();\n\n @Input() data: any;\n\n @HostBinding('style.top') hostStyleTop!: string;\n @HostBinding('style.left') hostStyleLeft!: string;\n @HostBinding('style.z-index') hostStyleZIndex!: number;\n @HostBinding('style.transition') hostStyleTransition!: string;\n @HostBinding('style.width') hostStyleWidth!: string;\n @HostBinding('style.max-width') hostStyleMaxWidth!: string;\n @HostBinding('style.pointer-events') hostStylePointerEvents!: string;\n @HostBinding('class.tooltip-show') hostClassShow!: boolean;\n @HostBinding('class.tooltip-shadow') hostClassShadow!: boolean;\n @HostBinding('class.tooltip-light') hostClassLight!: boolean;\n\n @HostListener('transitionend', ['$event'])\n transitionEnd() {\n if (this.show) {\n this.events.emit({\n type: 'shown'\n });\n }\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = this.hostClassShow = value;\n }\n\n get show(): boolean {\n return this._show;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get options() {\n return this.data.options;\n }\n\n get value() {\n return this.data.value;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit() {\n this.setCustomClass();\n this.setStyles();\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n return;\n } else {\n /* Is tooltip outside the visible area */\n const placements = ['top', 'right', 'bottom', 'left'];\n let isPlacementSet;\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n isPlacementSet = true;\n return;\n }\n }\n\n /* Set original placement */\n if (!isPlacementSet) {\n this.setHostStyle(this.placement, true);\n this.setPlacementClass(this.placement);\n }\n }\n }\n\n\n setPlacementClass(placement: string): void {\n this.renderer.addClass(this.elementRef.nativeElement, 'tooltip-' + placement);\n }\n\n setHostStyle(placement: string, disableAutoPlacement: boolean = false): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.right;\n\n let elementHeight = isSvg ? this.element.getBoundingClientRect().height : this.element.offsetHeight;\n let elementWidth = isSvg ? this.element.getBoundingClientRect().width : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n if (isCustomPosition) {\n elementHeight = 0;\n elementWidth = 0;\n }\n\n let topStyle;\n let leftStyle;\n\n if (placement === 'top') {\n topStyle = (this.elementPosition.top + scrollY) - (tooltipHeight + this.tooltipOffset);\n }\n\n if (placement === 'bottom') {\n topStyle = (this.elementPosition.top + scrollY) + elementHeight + this.tooltipOffset;\n }\n\n if (placement === 'top' || placement === 'bottom') {\n leftStyle = (this.elementPosition.left + elementWidth / 2) - tooltipWidth / 2;\n }\n\n if (placement === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset;\n }\n\n if (placement === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset;\n }\n\n if (placement === 'left' || placement === 'right') {\n topStyle = (this.elementPosition.top + scrollY) + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n /* Is tooltip outside the visible area */\n if (this.autoPlacement && !disableAutoPlacement) {\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n const bodyHeight = window.innerHeight + scrollY;\n const bodyWidth = document.body.clientWidth;\n\n if (topEdge < 0 || bottomEdge > bodyHeight || leftEdge < 0 || rightEdge > bodyWidth) {\n return false;\n }\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setZIndex(): void {\n if (this.options['zIndex'] !== 0) {\n this.hostStyleZIndex = this.options['zIndex'];\n }\n }\n\n setPointerEvents(): void {\n if (this.options['pointerEvents']) {\n this.hostStylePointerEvents = this.options['pointerEvents'];\n }\n }\n\n setCustomClass() {\n if (this.options['tooltipClass']) {\n this.options['tooltipClass'].split(' ').forEach((className: any) => {\n this.renderer.addClass(this.elementRef.nativeElement, className);\n });\n }\n }\n\n setAnimationDuration() {\n if (Number(this.options['animationDuration']) != this.options['animationDurationDefault']) {\n this.hostStyleTransition = 'opacity ' + this.options['animationDuration'] + 'ms';\n }\n }\n\n setStyles() {\n this.setZIndex();\n this.setPointerEvents();\n this.setAnimationDuration();\n\n this.hostClassShadow = this.options['shadow'];\n this.hostClassLight = this.isThemeLight;\n this.hostStyleMaxWidth = this.options['maxWidth'];\n this.hostStyleWidth = this.options['width'] ? this.options['width'] : '';\n }\n}\n","<div *ngIf=\"isThemeLight\" class=\"tooltip-arrow\"></div>\n\n<div *ngIf=\"options['contentType'] === 'template' else htmlOrStringTemplate\">\n <ng-container *ngTemplateOutlet=\"value\"></ng-container>\n</div>\n\n<ng-template #htmlOrStringTemplate>\n <div [innerHTML]=\"value\"></div>\n</ng-template>\n","import { InjectionToken } from '@angular/core';\nimport { TooltipOptions } from './options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const TooltipOptionsService = new InjectionToken<TooltipOptions>('TooltipOptions');\n","export const defaultOptions = {\n 'placement': 'top',\n 'autoPlacement': true,\n 'contentType': 'string',\n 'showDelay': 0,\n 'hideDelay': 300,\n 'hideDelayMobile': 0,\n 'hideDelayTouchscreen': 0,\n 'zIndex': 0,\n 'animationDuration': 300,\n 'animationDurationDefault': 300,\n 'trigger': 'hover',\n 'tooltipClass': '',\n 'display': true,\n 'displayMobile': true,\n 'displayTouchscreen': true,\n 'shadow': true,\n 'theme': 'dark',\n 'offset': 8,\n 'maxWidth': '',\n 'id': false,\n 'hideDelayAfterClick': 2000\n}\n\nexport const backwardCompatibilityOptions: any = {\n 'delay': 'showDelay',\n 'show-delay': 'showDelay',\n 'hide-delay': 'hideDelay',\n 'hide-delay-mobile': 'hideDelayTouchscreen',\n 'hideDelayMobile': 'hideDelayTouchscreen',\n 'z-index': 'zIndex',\n 'animation-duration': 'animationDuration',\n 'animation-duration-default': 'animationDurationDefault',\n 'tooltip-class': 'tooltipClass',\n 'display-mobile': 'displayTouchscreen',\n 'displayMobile': 'displayTouchscreen',\n 'max-width': 'maxWidth'\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n Optional,\n Output,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport {GravityTooltipComponent} from './gravity-tooltip.component';\nimport {TooltipOptionsService} from './options.service';\nimport {backwardCompatibilityOptions, defaultOptions} from './options';\nimport {TooltipOptions} from './options.interface';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n events: any;\n}\n\n@Directive({\n selector: '[tooltip]',\n exportAs: 'tooltip',\n})\n\nexport class GravityTooltipDirective implements OnChanges {\n\n hideTimeoutId!: number;\n destroyTimeoutId!: number;\n hideAfterClickTimeoutId!: number;\n createTimeoutId!: number;\n showTimeoutId!: number;\n componentRef: any;\n elementPosition: any;\n _id: any;\n _options: any = {};\n _defaultOptions: any;\n _destroyDelay!: number;\n componentSubscribe: any;\n _contentType: \"string\" | \"html\" | \"template\" = \"string\";\n _showDelay!: number;\n _hideDelay!: number;\n _zIndex!: number;\n _tooltipClass!: string;\n _animationDuration!: number;\n _maxWidth!: string;\n\n @Input('options') set options(value: TooltipOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get options() {\n return this._options;\n }\n\n @Input('tooltip') tooltipValue!: string | TemplateRef<any>;\n @Input('placement') placement!: string;\n @Input('autoPlacement') autoPlacement!: boolean;\n\n // Content type\n @Input('content-type') set contentTypeBackwardCompatibility(value: \"string\" | \"html\" | \"template\") {\n if (value) {\n this._contentType = value;\n }\n }\n\n @Input('contentType') set contentType(value: \"string\" | \"html\" | \"template\") {\n if (value) {\n this._contentType = value;\n }\n }\n\n get contentType() {\n return this._contentType;\n }\n\n @Input('hide-delay-mobile') hideDelayMobile!: number;\n @Input('hideDelayTouchscreen') hideDelayTouchscreen!: number;\n\n // z-index\n @Input('z-index') set zIndexBackwardCompatibility(value: number) {\n if (value) {\n this._zIndex = value;\n }\n }\n\n @Input('zIndex') set zIndex(value: number) {\n if (value) {\n this._zIndex = value;\n }\n }\n\n get zIndex() {\n return this._zIndex;\n }\n\n // Animation duration\n @Input('animation-duration') set animationDurationBackwardCompatibility(value: number) {\n if (value) {\n this._animationDuration = value;\n }\n }\n\n @Input('animationDuration') set animationDuration(value: number) {\n if (value) {\n this._animationDuration = value;\n }\n }\n\n get animationDuration() {\n return this._animationDuration;\n }\n\n\n @Input('trigger') trigger!: string;\n\n // Tooltip class\n @Input('tooltip-class') set tooltipClassBackwardCompatibility(value: string) {\n if (value) {\n this._tooltipClass = value;\n }\n }\n\n @Input('tooltipClass') set tooltipClass(value: string) {\n if (value) {\n this._tooltipClass = value;\n }\n }\n\n get tooltipClass() {\n return this._tooltipClass;\n }\n\n @Input('display') display!: boolean;\n @Input('display-mobile') displayMobile!: boolean;\n @Input('displayTouchscreen') displayTouchscreen!: boolean;\n @Input('shadow') shadow!: boolean;\n @Input('theme') theme!: \"dark\" | \"light\";\n @Input('offset') offset!: number;\n @Input('width') width!: string;\n\n // Max width\n @Input('max-width') set maxWidthBackwardCompatibility(value: string) {\n if (value) {\n this._maxWidth = value;\n }\n }\n\n @Input('maxWidth') set maxWidth(value: string) {\n if (value) {\n this._maxWidth = value;\n }\n }\n\n get maxWidth() {\n return this._maxWidth;\n }\n\n\n @Input('id') id: any;\n\n // Show delay\n @Input('show-delay') set showDelayBackwardCompatibility(value: number) {\n if (value) {\n this._showDelay = value;\n }\n }\n\n @Input('showDelay') set showDelay(value: number) {\n if (value) {\n this._showDelay = value;\n }\n }\n\n get showDelay() {\n return this._showDelay;\n }\n\n // Hide delay\n @Input('hide-delay') set hideDelayBackwardCompatibility(value: number) {\n if (value) {\n this._hideDelay = value;\n }\n }\n\n @Input('hideDelay') set hideDelay(value: number) {\n if (value) {\n this._hideDelay = value;\n }\n }\n\n get hideDelay() {\n return this._hideDelay;\n }\n\n @Input('hideDelayAfterClick') hideDelayAfterClick!: number;\n @Input('pointerEvents') pointerEvents!: 'auto' | 'none';\n @Input('position') position!: { top: number, left: number };\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get destroyDelay() {\n if (this._destroyDelay) {\n return this._destroyDelay;\n } else {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n }\n\n set destroyDelay(value: number) {\n this._destroyDelay = value;\n }\n\n get tooltipPosition() {\n if (this.options['position']) {\n return this.options['position'];\n } else {\n return this.elementPosition;\n }\n }\n\n @Output() events: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(\n @Optional() @Inject(TooltipOptionsService) private initOptions: any,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n @HostListener('focusin')\n @HostListener('mouseenter')\n onMouseEnter() {\n if (this.isDisplayOnHover == false) {\n return;\n }\n\n this.show();\n }\n\n @HostListener('focusout')\n @HostListener('mouseleave')\n onMouseLeave() {\n if (this.options['trigger'] === 'hover') {\n this.destroyTooltip();\n }\n }\n\n @HostListener('click')\n onClick() {\n if (this.isDisplayOnClick == false) {\n return;\n }\n\n this.show();\n this.hideAfterClickTimeoutId = window.setTimeout(() => {\n this.destroyTooltip();\n }, this.options['hideDelayAfterClick'])\n }\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.initOptions = this.renameProperties(this.initOptions);\n let changedOptions = this.getProperties(changes);\n changedOptions = this.renameProperties(changedOptions);\n\n this.applyOptionsDefault(defaultOptions, changedOptions);\n }\n\n ngOnDestroy(): void {\n this.destroyTooltip({\n fast: true\n });\n\n if (this.componentSubscribe) {\n this.componentSubscribe.unsubscribe();\n }\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n getHideDelay() {\n const hideDelay = this.options['hideDelay'];\n const hideDelayTouchscreen = this.options['hideDelayTouchscreen'];\n\n return this.isTouchScreen ? hideDelayTouchscreen : hideDelay;\n }\n\n getProperties(changes: SimpleChanges) {\n let directiveProperties: any = {};\n let customProperties: any = {};\n let allProperties: any;\n\n for (var prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n directiveProperties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n customProperties = changes[prop].currentValue;\n }\n }\n\n allProperties = Object.assign({}, customProperties, directiveProperties);\n return allProperties;\n }\n\n renameProperties(options: any) {\n for (var prop in options) {\n if (backwardCompatibilityOptions[prop]) {\n options[backwardCompatibilityOptions[prop]] = options[prop];\n delete options[prop];\n }\n }\n\n return options;\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n createTooltip(): void {\n this.clearTimeouts();\n this.getElementPosition();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(GravityTooltipComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n destroyTooltip(options = {\n fast: false\n }): void {\n this.clearTimeouts();\n\n if (this.isTooltipDestroyed == false) {\n this.hideTimeoutId = window.setTimeout(() => {\n this.hideTooltip();\n }, options.fast ? 0 : this.getHideDelay());\n\n this.destroyTimeoutId = window.setTimeout(() => {\n if (!this.componentRef || this.isTooltipDestroyed) {\n return;\n }\n\n this.appRef.detachView(this.componentRef.hostView);\n this.componentRef.destroy();\n this.events.emit({\n type: 'hidden',\n position: this.tooltipPosition\n });\n }, options.fast ? 0 : this.destroyDelay);\n }\n }\n\n showTooltipElem(): void {\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n this.events.emit({\n type: 'show',\n position: this.tooltipPosition\n });\n }\n\n hideTooltip(): void {\n if (!this.componentRef || this.isTooltipDestroyed) {\n return;\n }\n (<AdComponent>this.componentRef.instance).show = false;\n this.events.emit({\n type: 'hide',\n position: this.tooltipPosition\n });\n }\n\n appendComponentToBody(component: any): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.tooltipValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n }\n this.appRef.attachView(this.componentRef.hostView);\n const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).events.subscribe((event: any) => {\n this.handleEvents(event);\n });\n }\n\n clearTimeouts(): void {\n if (this.createTimeoutId) {\n clearTimeout(this.createTimeoutId);\n }\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n if (this.destroyTimeoutId) {\n clearTimeout(this.destroyTimeoutId);\n }\n }\n\n get isDisplayOnHover(): boolean {\n if (this.options['display'] == false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] == false && this.isTouchScreen) {\n return false;\n }\n\n return this.options['trigger'] === 'hover';\n }\n\n get isDisplayOnClick(): boolean {\n if (this.options['display'] == false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] == false && this.isTouchScreen) {\n return false;\n }\n\n return this.options['trigger'] == 'click';\n\n\n }\n\n get isTouchScreen() {\n var prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\n var mq = function (query: any) {\n return window.matchMedia(query).matches;\n }\n\n if (('ontouchstart' in window)) {\n return true;\n }\n\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\n // https://git.io/vznFH\n var query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');\n return mq(query);\n }\n\n applyOptionsDefault(defaultOptions: any, options: any): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, this.options, options);\n }\n\n handleEvents(event: any) {\n if (event.type === 'shown') {\n this.events.emit({\n type: 'shown',\n position: this.tooltipPosition\n });\n }\n }\n\n public show() {\n if (!this.tooltipValue) {\n return;\n }\n\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createTooltip();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n public hide() {\n this.destroyTooltip();\n }\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {GravityTooltipDirective} from './gravity-tooltip.directive';\nimport {GravityTooltipComponent} from './gravity-tooltip.component';\nimport {TooltipOptions} from './options.interface';\nimport {TooltipOptionsService} from './options.service';\n\n@NgModule({\n declarations: [\n GravityTooltipDirective,\n GravityTooltipComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n GravityTooltipDirective,\n GravityTooltipComponent\n ]\n})\nexport class GravityTooltipModule {\n static forRoot(initOptions: TooltipOptions): ModuleWithProviders<GravityTooltipModule> {\n return {\n ngModule: GravityTooltipModule,\n providers: [\n {\n provide: TooltipOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {NgbDate, NgbDateStruct, NgbInputDatepicker} from \"@ng-bootstrap/ng-bootstrap\";\n\n@Component({\n selector: 'gravity-calendar',\n templateUrl: './gravity-calendar.component.html',\n styleUrls: ['./gravity-calendar.component.scss']\n})\nexport class GravityCalendarComponent implements OnChanges, AfterViewInit {\n @Output('response') public calendarResponse: EventEmitter<Date> = new EventEmitter();\n\n @Input() public currentLang: string = 'en';\n @Input() public cypressTag: string;\n @Input() public dates: {\n customDate?: 'today' | Date;\n defaultDays?: number;\n maxDate?: 'today' | Date;\n minDate?: Date;\n };\n @Input() public label: string;\n @Input() public required: boolean;\n @Input() public state: 'readonly' | 'disabled' | 'enabled' = \"enabled\";\n @Input() public supportTextContent: string;\n @Input() public supportTextType: 'neutro' | 'negative' | 'positive' = \"neutro\";\n\n @ViewChild('datePicker', {static: false}) private datePicker: NgbInputDatepicker;\n @ViewChild('datepickerInput', {static: false}) private datepickerInput: any;\n\n public calendarOpened: boolean = false;\n public focusInput: boolean = false;\n public maxDate: NgbDateStruct;\n public minDate: NgbDateStruct;\n public selectedDate: Date;\n public selectedDateInput: string = '';\n private customDateFlag: string = '';\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.dates) {\n if (this.dates.defaultDays) {\n let dateWithoutDays: Date = new Date(new Date().setDate(new Date().getDate() - this.dates.defaultDays));\n this.focusCustomDate(dateWithoutDays);\n }\n\n if (this.dates.customDate) {\n let date: Date = this.dates.customDate == 'today' ? (new Date()) : this.dates.customDate;\n this.focusCustomDate(date);\n }\n\n if (this.dates.minDate) {\n this.minDate = GravityCalendarComponent.formatDateToNgbDateStruct(this.dates.minDate);\n }\n\n if (this.dates.maxDate) {\n let date: Date = this.dates.maxDate == 'today' ? (new Date()) : this.dates.maxDate;\n this.maxDate = GravityCalendarComponent.formatDateToNgbDateStruct(date);\n }\n }\n }\n\n ngAfterViewInit(): void {\n this.changeDateManually();\n }\n\n updateSelectedDate($event: NgbDate): void {\n this.selectedDateInput = GravityCalendarComponent.formatNgbDate($event);\n this.selectedDate = GravityCalendarComponent.convertNgbDateToDate($event);\n this.datepickerInput.nativeElement.value = this.selectedDateInput;\n this.calendarResponse.emit(this.selectedDate);\n }\n\n focusCustomDate(customDate: Date): void {\n this.selectedDateInput = GravityCalendarComponent.formatTSDate(customDate);\n this.selectedDate = customDate;\n this.customDateFlag = customDate.getUTCFullYear() + '-' + (customDate.getUTCMonth() + 1) + '-' + customDate.getUTCDate();\n }\n\n resetCalendar(newDate: Date): void {\n this.focusCustomDate(newDate);\n this.changeDateManually();\n }\n\n private changeDateManually(): void {\n if (this.customDateFlag) {\n this.datePicker.manualDateChange(this.customDateFlag, true);\n this.datepickerInput.nativeElement.value = this.selectedDateInput;\n this.customDateFlag = undefined;\n this.calendarResponse.emit(this.selectedDate);\n }\n }\n\n private static formatNgbDate(ngbDate: NgbDate): string {\n if (!ngbDate) {\n return null;\n }\n\n return [\n (ngbDate.month < 10 ? ('0' + ngbDate.month) : ngbDate.month),\n (ngbDate.day < 10 ? ('0' + ngbDate.day) : ngbDate.day),\n ngbDate.year\n ].join('/');\n }\n\n private static formatTSDate(date: Date): string {\n if (!date) {\n return null;\n }\n\n return [\n ((date.getUTCMonth() + 1) < 10 ? ('0' + (date.getUTCMonth() + 1)) : (date.getUTCMonth() + 1)),\n (date.getUTCDate() < 10 ? ('0' + date.getUTCDate()) : date.getUTCDate()),\n date.getUTCFullYear()\n ].join('/');\n }\n\n private static formatDateToNgbDateStruct(date: Date): NgbDateStruct {\n let object = {} as NgbDateStruct;\n\n object.year = date.getUTCFullYear();\n object.month = (date.getUTCMonth() + 1);\n object.day = date.getUTCDate();\n\n return object;\n }\n\n private static convertNgbDateToDate(date: NgbDate): Date {\n return new Date(date.year, (date.month - 1), date.day);\n }\n}\n","<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"!selectedDate && !focusInput && !calendarOpened\"\n [class.focused]=\"focusInput || calendarOpened\" [class.full-input]=\"selectedDate && !focusInput && !calendarOpened\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-calendar-field {{state}}\" [class.empty]=\"!selectedDate && !focusInput && !calendarOpened\"\n [class.focused]=\"focusInput || calendarOpened\" [class.full-input]=\"selectedDate && !focusInput && !calendarOpened\">\n <gravity-icon class=\"placement-left\" [hoverIcon]=\"false\" [iconName]=\"'calendar'\"></gravity-icon>\n <input [attr.data-cy]=\"cypressTag\"\n [disabled]=\"state == 'disabled' ? true : null\"\n [readonly]=\"state != 'disabled' ? true : null\"\n\n (blur)=\"focusInput = false\"\n (closed)=\"calendarOpened = false\"\n (dateSelect)=\"updateSelectedDate($event)\"\n (focus)=\"focusInput = true\"\n\n class=\"hr-label md-regular\"\n ngbDatepicker\n placeholder=\"Select your date\"\n\n [container]=\"'body'\"\n [datepickerClass]=\"'gravity-datepicker-dialog'\"\n [maxDate]=\"maxDate ? maxDate : null\"\n [minDate]=\"minDate ? minDate : null\"\n [navigation]=\"'arrows'\"\n [showWeekNumbers]=\"true\"\n\n #datepickerInput\n #datePicker=\"ngbDatepicker\">\n <span (click)=\"datePicker.open(); calendarOpened = true\" *ngIf=\"!calendarOpened && state == 'enabled'\"></span>\n <span (click)=\"datePicker.close(); calendarOpened = false\" *ngIf=\"calendarOpened && state == 'enabled'\"></span>\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {PrettyRadioChange} from \"ngx-pretty-checkbox\";\n\n@Component({\n selector: 'gravity-radio-button',\n templateUrl: './gravity-radio-button.component.html',\n styleUrls: ['./gravity-radio-button.component.scss']\n})\nexport class GravityRadioButtonComponent {\n @Input() public checked: boolean = false;\n @Input() public value: any;\n @Input() public disabled: boolean = false;\n @Input() public name: string;\n @Output() public change: EventEmitter<PrettyRadioChange> = new EventEmitter<PrettyRadioChange>();\n\n onChange(event: PrettyRadioChange): void {\n this.change.emit(event);\n }\n}\n","<p-radio\n animation=\"smooth\"\n name=\"icon\"\n outline=\"outline\"\n shape=\"round\"\n\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [value]=\"value\"\n\n (change)=\"onChange($event)\">\n <ng-content></ng-content>\n</p-radio>\n\n\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {PrettyCheckBoxChange} from \"ngx-pretty-checkbox/lib/model\";\n\n@Component({\n selector: 'gravity-switch',\n templateUrl: './gravity-switch.component.html',\n styleUrls: ['./gravity-switch.component.scss']\n})\nexport class GravitySwitchComponent implements OnInit {\n @Input() public data: {\n currentLang?: string;\n customCheck?: boolean;\n cypressTag?: string;\n label: string;\n required?: boolean;\n state?: 'readonly' | 'disabled' | 'enabled';\n };\n @Output('response') public switchResponse: EventEmitter<boolean> = new EventEmitter();\n\n ngOnInit(): void {\n this.data.currentLang = this.data.currentLang ? this.data.currentLang : \"en\";\n this.data.state = this.data.state ? this.data.state : \"enabled\";\n }\n\n toggleSwitchHandler($event: PrettyCheckBoxChange): void {\n this.switchResponse.emit($event.checked);\n }\n}\n","<label class=\"hr-body-text sm-regular\">\n {{data.label}}\n <ng-container *ngIf=\"data.required\">\n <ng-container *ngIf=\"data.currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"data.currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"data.state == 'readonly'\">\n <ng-container *ngIf=\"data.currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"data.currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"data.state == 'disabled'\">\n <ng-container *ngIf=\"data.currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"data.currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-switch\">\n <p-checkbox [attr.data-cy]=\"data.cypressTag\" [checked]=\"data.customCheck\" [disabled]=\"data.state == 'disabled'\" isSwitch=\"true\" stroke=\"fill\" (change)=\"toggleSwitchHandler($event)\">\n <ng-content></ng-content>\n </p-checkbox>\n</div>\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gravity-checkbox',\n templateUrl: './gravity-checkbox.component.html',\n styleUrls: ['./gravity-checkbox.component.scss']\n})\nexport class GravityCheckboxComponent {\n @Input() public value: any;\n @Input() public disabled: boolean = false;\n @Input() public checked: boolean = false;\n}\n","<p-checkbox [checked]=\"checked\" color=\"default\" [disabled]=\"disabled\" shape=\"curve\" stroke=\"fill\" [value]=\"value\">\n <svg-icon p-svg name=\"check\"></svg-icon>\n <ng-content></ng-content>\n</p-checkbox>\n","import {Component, Input, TemplateRef} from '@angular/core';\nimport {NgbActiveModal} from \"@ng-bootstrap/ng-bootstrap\";\n\n@Component({\n templateUrl: './gravity-dialog.component.html',\n styleUrls: ['./gravity-dialog.component.scss']\n})\nexport class GravityDialogComponent {\n @Input() public dialogContent: GravityDialogContentInterface;\n\n constructor(private readonly ngbActiveModal: NgbActiveModal) {\n }\n\n public closeModal(): void {\n this.ngbActiveModal.close();\n }\n}\n\nexport interface GravityDialogContentInterface {\n contentTemplateRef?: TemplateRef<any>;\n contentTemplateComponent?: any;\n footerTemplateRef?: TemplateRef<any>;\n footerTemplateComponent?: any;\n showCloseIcon?: boolean;\n titleIconName?: string;\n title: string;\n}\n","<div class=\"dialog-header\">\n <div class=\"hr-title lg-bold title\">\n <gravity-icon class=\"title-icon\" *ngIf=\"dialogContent.titleIconName && dialogContent.titleIconName.length > 0\"\n [iconName]=\"dialogContent.titleIconName\" [title]=\"dialogContent.titleIconName\"></gravity-icon>\n {{dialogContent.title}}\n </div>\n <gravity-icon class=\"close\" (click)=\"closeModal()\" [iconName]=\"'x'\" *ngIf=\"dialogContent.showCloseIcon\"\n [title]=\"'Close'\"></gravity-icon>\n</div>\n\n<div class=\"dialog-body\" [class.with-footer]=\"dialogContent.footerTemplateRef || dialogContent.footerTemplateComponent\">\n <ng-container *ngIf=\"dialogContent.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"dialogContent.contentTemplateRef\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dialogContent.contentTemplateComponent\">\n <ng-container *ngComponentOutlet=\"dialogContent.contentTemplateComponent\"></ng-container>\n </ng-container>\n</div>\n\n<div class=\"dialog-footer\" *ngIf=\"dialogContent.footerTemplateRef || dialogContent.footerTemplateComponent\">\n <ng-container *ngIf=\"dialogContent.footerTemplateRef\">\n <ng-container *ngTemplateOutlet=\"dialogContent.footerTemplateRef\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dialogContent.footerTemplateComponent\">\n <ng-container *ngComponentOutlet=\"dialogContent.footerTemplateComponent\"></ng-container>\n </ng-container>\n</div>\n","import {Component, Input} from '@angular/core';\nimport {NgbActiveModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {GravityNotificationContent} from \"./gravity-notification-content.interface\";\n\n@Component({\n templateUrl: './gravity-notification.component.html',\n styleUrls: ['./gravity-notification.component.scss']\n})\nexport class GravityNotificationComponent {\n @Input() public notificationContent: GravityNotificationContent;\n\n constructor(private readonly ngbActiveModal: NgbActiveModal) {\n }\n\n public closeModal(): void {\n this.ngbActiveModal.close();\n }\n}\n","<main class=\"alert-content {{notificationContent.state}}\">\n <gravity-icon class=\"close\" (click)=\"closeModal()\" data-cy=\"gravity_notification_informative_close_icon\"\n [iconName]=\"'x'\" [title]=\"'Close'\"></gravity-icon>\n\n <div class=\"title\">\n <gravity-icon class=\"title-icon\" [iconName]=\"'notification_' + notificationContent.state\"></gravity-icon>\n <h1 class=\"hr-title lg-bold\">{{notificationContent.title}}</h1>\n </div>\n\n <div class=\"content\">\n <h2 class=\"hr-body-text md-regular\">{{notificationContent.text}}</h2>\n </div>\n</main>\n","import {Injectable} from '@angular/core';\nimport {GravityNotificationContent} from \"../components/gravity-notification/gravity-notification-content.interface\";\n\n@Injectable({providedIn: 'root'})\nexport class GravityInstantNotificationsService {\n public readonly notifications: GravityNotificationContent[] = [];\n\n public showNotification(content: GravityNotificationContent): void {\n this.notifications.push(content);\n }\n\n public hideNotification(index: number): void {\n this.notifications.splice(index, 1);\n }\n\n public clearNotifications(): void {\n this.notifications.splice(0, this.notifications.length);\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {GravityInstantNotificationsService} from \"../../services/gravity-instant-notifications.service\";\n\n@Component({\n selector: 'gravity-notification-instant-container',\n templateUrl: './gravity-notification-instant-container.component.html',\n styleUrls: ['./gravity-notification-instant-container.component.scss']\n})\nexport class GravityNotificationInstantContainerComponent {\n @Input() public delay: number = 5000;\n\n constructor(public readonly gravityInstantNotificationsService: GravityInstantNotificationsService) {\n }\n}\n","<ngb-toast [autohide]=\"true\"\n [delay]=\"delay\"\n\n (hidden)=\"gravityInstantNotificationsService.hideNotification(i)\"\n\n *ngFor=\"let notification of gravityInstantNotificationsService.notifications; index as i\">\n <main class=\"alert-content {{notification.state}}\">\n <gravity-icon class=\"close\" (click)=\"gravityInstantNotificationsService.hideNotification(i)\"\n data-cy=\"gravity_notification_instant_close_icon\" [iconName]=\"'x'\" [title]=\"'Close'\"></gravity-icon>\n\n <div class=\"title\">\n <gravity-icon class=\"title-icon\" [iconName]=\"'notification_' + notification.state\"></gravity-icon>\n <h1 class=\"hr-title lg-bold\">{{notification.title}}</h1>\n </div>\n\n <div class=\"content\">\n <h2 class=\"hr-body-text md-regular\">{{notification.text}}</h2>\n </div>\n </main>\n</ngb-toast>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gravity-attach-file',\n templateUrl: './gravity-attach-file.component.html',\n styleUrls: ['./gravity-attach-file.component.scss']\n})\nexport class GravityAttachFileComponent {\n @Output('response') public fileValueResponse: EventEmitter<string> = new EventEmitter();\n\n @Input() public currentLang: string = 'en';\n @Input() public cypressTag: string;\n @Input() public label: string;\n @Input() public required: boolean;\n @Input() public state: 'readonly' | 'disabled' | 'enabled' = \"enabled\";\n @Input() public supportTextContent: string;\n @Input() public supportTextType: 'neutro' | 'negative' | 'positive';\n\n public file: File;\n\n public handleFileInput($event: any) {\n this.file = $event.target.files[0];\n if (this.file) {\n GravityAttachFileComponent.convertFileToBase64(this.file).then((base64String: string) => {\n this.fileValueResponse.emit(base64String);\n }).catch((error) => {\n console.error('Error loading file:', error.message);\n });\n }\n }\n\n public static convertFileToBase64(file: File): Promise<string> {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => {\n const base64String = reader.result as string;\n const base64WithoutPrefix = base64String.split(',')[1];\n resolve(base64WithoutPrefix);\n };\n\n reader.onerror = () => {\n reject(new Error('Failed to read the file.'));\n };\n\n reader.readAsDataURL(file);\n });\n }\n\n public removeFile(): void {\n this.file = null;\n this.fileValueResponse.emit('');\n }\n}\n","<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"!file\" [class.full-input]=\"file\" *ngIf=\"label\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-attach-file {{state}}\" [class.empty]=\"!file\" [class.full-input]=\"file\">\n <ng-container *ngIf=\"!file\">\n <input autocomplete=\"off\" class=\"hr-label md-regular\" hidden id=\"fileInput\" type=\"file\"\n [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"state == 'disabled' ? true : null\"\n [attr.readonly]=\"state == 'readonly' ? true : null\"\n\n (change)=\"handleFileInput($event)\">\n <label for=\"fileInput\">\n <gravity-button [iconName]=\"'clip'\" [type]=\"'tertiary'\" [size]=\"'md'\">\n {{label}}\n </gravity-button>\n </label>\n </ng-container>\n <ng-container *ngIf=\"file\">\n <label>\n <gravity-button (click)=\"removeFile()\" [iconName]=\"'clip'\" [type]=\"'tertiary'\" [size]=\"'md'\">\n {{currentLang == 'en' ? 'Remove file' : 'Remover archivo'}}\n </gravity-button>\n </label>\n <h3>{{currentLang == 'en' ? 'File' : 'Archivo'}}: {{file.name}}</h3>\n </ng-container>\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {GravityButtonComponent} from './components/gravity-button/gravity-button.component';\nimport {GravityDropdownListComponent} from \"./components/gravity-dropdown-list/gravity-dropdown-list.component\";\nimport {GravityTextFieldComponent} from \"./components/gravity-text-field/gravity-text-field.component\";\nimport {NgSelectModule} from \"@ng-select/ng-select\";\nimport {GravityTooltipModule} from \"./vendor/gravity-tooltip\";\nimport {AngularSvgIconPreloaderModule} from \"angular-svg-icon-preloader\";\nimport {AngularSvgIconModule} from \"angular-svg-icon\";\nimport {GravityCalendarComponent} from \"./components/gravity-calendar/gravity-calendar.component\";\nimport {NgbDatepickerModule, NgbProgressbarModule, NgbToastModule} from \"@ng-bootstrap/ng-bootstrap\";\nimport {GravityRadioButtonComponent} from './components/gravity-radio-button/gravity-radio-button.component';\nimport {NgxPrettyCheckboxModule} from \"ngx-pretty-checkbox\";\nimport {GravitySwitchComponent} from './components/gravity-switch/gravity-switch.component';\nimport {GravityCheckboxComponent} from './components/gravity-checkbox/gravity-checkbox.component';\nimport {GravityDialogComponent} from \"./components/gravity-dialog/gravity-dialog.component\";\nimport {GravityIconComponent} from \"./components/gravity-icon/gravity-icon.component\";\nimport {GravityNotificationComponent} from \"./components/gravity-notification/gravity-notification.component\";\nimport {\n GravityNotificationInstantContainerComponent\n} from \"./components/gravity-notification-instant/gravity-notification-instant-container.component\";\nimport {GravityAttachFileComponent} from \"./components/gravity-attach-file/gravity-attach-file.component\";\n\n@NgModule({\n declarations: [\n GravityAttachFileComponent,\n GravityButtonComponent,\n GravityCalendarComponent,\n GravityCheckboxComponent,\n GravityDialogComponent,\n GravityDropdownListComponent,\n GravityIconComponent,\n GravityNotificationComponent,\n GravityNotificationInstantContainerComponent,\n GravityRadioButtonComponent,\n GravitySwitchComponent,\n GravityTextFieldComponent\n ],\n imports: [\n AngularSvgIconModule.forRoot(),\n AngularSvgIconPreloaderModule.forRoot({\n configUrl: './assets/gravity/json/icons.json',\n }),\n CommonModule,\n FormsModule,\n GravityTooltipModule.forRoot({}),\n NgbDatepickerModule,\n NgbToastModule,\n NgSelectModule,\n NgxPrettyCheckboxModule,\n ReactiveFormsModule,\n NgbProgressbarModule\n ],\n exports: [\n GravityAttachFileComponent,\n GravityButtonComponent,\n GravityCalendarComponent,\n GravityCheckboxComponent,\n GravityDialogComponent,\n GravityDropdownListComponent,\n GravityIconComponent,\n GravityNotificationInstantContainerComponent,\n GravityRadioButtonComponent,\n GravitySwitchComponent,\n GravityTextFieldComponent,\n GravityTooltipModule\n ]\n})\nexport class GravityDesignSystemModule {\n}\n","import {Injectable} from \"@angular/core\";\nimport {NgbModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {\n GravityDialogComponent,\n GravityDialogContentInterface\n} from \"../components/gravity-dialog/gravity-dialog.component\";\nimport {GravityInstantNotificationsService} from \"./gravity-instant-notifications.service\";\nimport {GravityNotificationComponent} from \"../components/gravity-notification/gravity-notification.component\";\nimport {GravityNotificationContent} from \"../components/gravity-notification/gravity-notification-content.interface\";\n\n@Injectable({providedIn: \"root\"})\nexport class GravityDialogManagerService {\n constructor(private readonly ngbModal: NgbModal, private readonly gravityInstantNotificationsService: GravityInstantNotificationsService) {\n }\n\n public openModal(gravityDialogContentInterface: GravityDialogContentInterface, scrollableDialog: boolean = false, modalSize: 'sm' | 'md' | 'lg' | 'xl' = 'md'): void {\n const modalRef = this.ngbModal.open(GravityDialogComponent, {\n centered: true,\n scrollable: scrollableDialog,\n size: modalSize\n });\n modalRef.componentInstance.dialogContent = gravityDialogContentInterface;\n }\n\n public throwInformativeNotification(notificationContent: GravityNotificationContent): void {\n const modalRef = this.ngbModal.open(GravityNotificationComponent, {\n modalDialogClass: 'informative-notification',\n centered: true\n });\n modalRef.componentInstance.notificationContent = notificationContent;\n }\n\n public throwInstantNotification(notificationContent: GravityNotificationContent): void {\n this.gravityInstantNotificationsService.showNotification(notificationContent);\n }\n}\n","/*\n * Public API Surface of gravity-design-system\n */\n\nexport * from './lib/gravity-design-system.module';\n\n//Components\nexport * from './lib/components/gravity-attach-file/gravity-attach-file.component';\nexport * from './lib/components/gravity-button/gravity-button.component';\nexport * from './lib/components/gravity-calendar/gravity-calendar.component';\nexport * from './lib/components/gravity-checkbox/gravity-checkbox.component';\nexport * from './lib/components/gravity-dialog/gravity-dialog.component';\nexport * from './lib/components/gravity-dropdown-list/gravity-dropdown-list.component';\nexport * from './lib/components/gravity-icon/gravity-icon.component';\nexport * from './lib/components/gravity-notification-instant/gravity-notification-instant-container.component';\nexport * from './lib/components/gravity-radio-button/gravity-radio-button.component';\nexport * from './lib/components/gravity-switch/gravity-switch.component';\nexport * from './lib/components/gravity-text-field/gravity-text-field.component';\n\n//Services\nexport * from './lib/services/gravity-dialog-manager.service';\n\n//Vendor\nexport * from './lib/vendor/gravity-tooltip';\n\n//Models and interfaces\nexport * from './lib/components/gravity-notification/gravity-notification-content.interface';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.GravityIconComponent","i4.GravityIconComponent","i2.GravityIconComponent","i1.GravityInstantNotificationsService","i3","i2.GravityButtonComponent","i2.GravityInstantNotificationsService"],"mappings":"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"}
1
+ {"version":3,"file":"progressio_resources-gravity-design-system.mjs","sources":["../../../projects/gravity-design-system/src/lib/components/gravity-icon/gravity-icon.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-icon/gravity-icon.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-button/gravity-button.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-button/gravity-button.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-text-field/gravity-text-field.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-text-field/gravity-text-field.component.html","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.component.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.component.html","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/options.service.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/options.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.directive.ts","../../../projects/gravity-design-system/src/lib/vendor/gravity-tooltip/gravity-tooltip.module.ts","../../../projects/gravity-design-system/src/lib/components/gravity-calendar/gravity-calendar.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-calendar/gravity-calendar.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-radio-button/gravity-radio-button.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-radio-button/gravity-radio-button.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-switch/gravity-switch.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-switch/gravity-switch.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-checkbox/gravity-checkbox.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-checkbox/gravity-checkbox.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-dialog/gravity-dialog.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-dialog/gravity-dialog.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-notification/gravity-notification.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-notification/gravity-notification.component.html","../../../projects/gravity-design-system/src/lib/services/gravity-instant-notifications.service.ts","../../../projects/gravity-design-system/src/lib/components/gravity-notification-instant/gravity-notification-instant-container.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-notification-instant/gravity-notification-instant-container.component.html","../../../projects/gravity-design-system/src/lib/components/gravity-attach-file/gravity-attach-file.component.ts","../../../projects/gravity-design-system/src/lib/components/gravity-attach-file/gravity-attach-file.component.html","../../../projects/gravity-design-system/src/lib/gravity-design-system.module.ts","../../../projects/gravity-design-system/src/lib/services/gravity-dialog-manager.service.ts","../../../projects/gravity-design-system/src/public-api.ts","../../../projects/gravity-design-system/src/progressio_resources-gravity-design-system.ts"],"sourcesContent":["import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gravity-icon',\n templateUrl: './gravity-icon.component.html',\n styleUrls: ['./gravity-icon.component.scss']\n})\nexport class GravityIconComponent {\n @Input() public customIconColorVariable: string;\n @Input() public iconName: string;\n @Input() public hoverIcon: boolean;\n}\n","<svg-icon class=\"{{hoverIcon ? 'with-hover' : ''}}\"\n name=\"{{iconName}}\"\n\n [style]=\"customIconColorVariable ? {'--icon-color': customIconColorVariable} : null\"></svg-icon>\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gravity-button',\n templateUrl: './gravity-button.component.html',\n styleUrls: ['./gravity-button.component.scss'],\n})\nexport class GravityButtonComponent {\n @Input() public cypressTag: string;\n @Input() public disabled: boolean;\n @Input() public iconName: string;\n @Input() public isLoading: boolean = false;\n @Input() public size: 'sm' | 'md' = \"md\";\n @Input() public type: 'primary' | 'secondary' | 'tertiary' | 'positive' | 'negative' | 'alternative' | 'disabled';\n}\n","<button [attr.data-cy]=\"cypressTag\" class=\"gravity-button-{{type}} gravity-size-{{size}} hr-label md-bold\"\n [disabled]=\"disabled\" [style]=\"isLoading ? {'pointer-events': 'none'} : {}\">\n <ng-container *ngIf=\"!isLoading\">\n <gravity-icon class=\"placement-left\" [customIconColorVariable]=\"'var(--button-text-color)'\"\n [hoverIcon]=\"false\" [iconName]=\"iconName\" *ngIf=\"iconName\"></gravity-icon>\n <ng-content></ng-content>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ngb-progressbar [animated]=\"true\" [striped]=\"true\" [value]=\"100\"></ngb-progressbar>\n </ng-container>\n</button>\n","import {Component, EventEmitter, Input, Output, ViewChild} from '@angular/core';\nimport {NgSelectComponent} from \"@ng-select/ng-select\";\n\n@Component({\n selector: 'gravity-dropdown-list',\n templateUrl: './gravity-dropdown-list.component.html',\n styleUrls: ['./gravity-dropdown-list.component.scss']\n})\nexport class GravityDropdownListComponent {\n @Output('response') public selectedItemResponse: EventEmitter<any> = new EventEmitter();\n\n @Input() public currentLang: string = 'en';\n @Input() public customPlaceholder: string = \"All\";\n @Input() public customValue: number;\n @Input() public cypressTag: string;\n @Input() public iconColor?: string;\n @Input() public iconNames: string[];\n @Input() public iconPlacement: 'left' | 'right' = \"left\";\n @Input() public items: Array<any>;\n @Input() public label: string;\n @Input() public ngSelectConfig: {\n bindLabel?: string;\n bindValue?: string;\n clearable?: boolean;\n };\n @Input() public required: boolean;\n @Input() public state: 'readonly' | 'disabled' | 'enabled' = \"enabled\";\n @Input() public supportTextContent: string;\n @Input() public supportTextType: 'neutro' | 'negative' | 'positive';\n\n @ViewChild('ngSelectComponent', {static: false}) private ngSelectComponent: NgSelectComponent;\n\n public selectedItem: any;\n public dropdownOpen: boolean = false;\n\n public changeSelectedItem(newSelectedItem: any): void {\n this.selectedItem = newSelectedItem;\n this.selectedItemResponse.emit(this.selectedItem);\n }\n\n public clearSelectedItem(): void {\n this.ngSelectComponent.clearItem(this.selectedItem);\n this.changeSelectedItem(undefined);\n }\n}\n","<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"!selectedItem && !dropdownOpen\"\n [class.focused]=\"dropdownOpen\" [class.full-input]=\"customValue || (selectedItem && !dropdownOpen)\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-dropdown-field {{state}}\" [class.empty]=\"!selectedItem && !dropdownOpen\"\n [class.focused]=\"dropdownOpen\" [class.full-input]=\"customValue || (selectedItem && !dropdownOpen)\">\n <ng-container *ngIf=\"iconPlacement == 'left'\">\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\n </ng-container>\n <ng-select [attr.data-cy]=\"cypressTag\"\n [bindLabel]=\"ngSelectConfig?.bindLabel ? ngSelectConfig.bindLabel : 'name'\"\n [bindValue]=\"ngSelectConfig?.bindValue ? ngSelectConfig.bindValue : 'id'\"\n [class.with-icons]=\"iconNames\"\n [clearable]=\"ngSelectConfig?.clearable\"\n [items]=\"items\"\n [placeholder]=\"selectedItem || customValue ? null : customPlaceholder\"\n [readonly]=\"state == 'readonly' ? true : null\"\n\n [(ngModel)]=\"customValue\"\n\n (change)=\"changeSelectedItem($event)\"\n (clear)=\"clearSelectedItem()\"\n (close)=\"dropdownOpen = false\"\n (open)=\"dropdownOpen = true\"\n\n class=\"hr-label md-regular\"\n #ngSelectComponent>\n </ng-select>\n <ng-container *ngIf=\"iconPlacement == 'right'\">\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\n </ng-container>\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n\n<ng-template #icons>\n <gravity-icon class=\"placement-{{iconPlacement}}\" [customIconColorVariable]=\"iconColor\" [hoverIcon]=\"false\"\n [iconName]=\"name\" *ngFor=\"let name of iconNames\"></gravity-icon>\n</ng-template>\n","import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'gravity-text-field',\n templateUrl: './gravity-text-field.component.html',\n styleUrls: ['./gravity-text-field.component.scss']\n})\nexport class GravityTextFieldComponent implements OnInit {\n @Output('clickIcon') public iconResponse: EventEmitter<boolean> = new EventEmitter();\n @Output('response') public textFieldValueResponse: EventEmitter<string> = new EventEmitter();\n\n @Input() public autocomplete: string = 'off';\n @Input() public clickOnIconName: string | boolean = false;\n @Input() public currentLang: string = 'en';\n @Input() public customPlaceholder: string;\n @Input() public customInputValue: string;\n @Input() public cypressTag: string;\n @Input() public iconColor?: string;\n @Input() public iconNames: string[];\n @Input() public iconPlacement: 'left' | 'right' = \"left\";\n @Input() public inputContentType: 'email' | 'number' | 'password' | 'text' = \"text\";\n @Input() public label: string;\n @Input() public placeholderType: 'default' | 'email' | 'url' = \"default\";\n @Input() public prefix: string = \"\";\n @Input() public required: boolean;\n @Input() public state: 'readonly' | 'disabled' | 'enabled' = \"enabled\";\n @Input() public supportTextContent: string;\n @Input() public supportTextType: 'neutro' | 'negative' | 'positive' = \"neutro\";\n @Input() public textFieldType: 'input' | 'textarea' = \"input\";\n @Input() public validations: { maxLength?: number; minLength?: number };\n\n @ViewChild('inputElement', {static: false}) private inputElement: any;\n @ViewChild('textAreaElement', {static: false}) private textAreaElement: any;\n\n public focusInput: boolean = false;\n public inputValue: string = '';\n\n private readonly placeholders = {\n 'email': 'test@email.com',\n 'url': 'https://www.test.com'\n }\n\n ngOnInit(): void {\n this.inputValue = this.customInputValue ? this.customInputValue : '';\n }\n\n public getPlaceholder(): string {\n if (this.customPlaceholder && this.customPlaceholder != '') {\n return this.customPlaceholder;\n } else if (this.placeholderType == 'default') {\n return this.label;\n } else {\n return this.placeholders[this.placeholderType];\n }\n }\n\n public clearInput(): void {\n this.changeInputValue(true);\n }\n\n public onInputKeyup(): void {\n this.changeInputValue();\n }\n\n private changeInputValue(clearInput: boolean = false): void {\n if (clearInput) {\n this.inputValue = '';\n } else if (this.textFieldType == 'input') {\n this.inputValue = this.inputElement.nativeElement.value;\n } else {\n this.inputValue = this.textAreaElement.nativeElement.value;\n }\n\n if (this.inputValue == '') {\n this.textFieldValueResponse.emit('');\n } else {\n this.textFieldValueResponse.emit(this.prefix + this.inputValue);\n }\n }\n\n public handleIconClick(iconName: string): void {\n if (this.iconNames.length == 1) {\n this.iconResponse.emit(true);\n } else if (this.clickOnIconName == iconName) {\n this.iconResponse.emit(true);\n }\n }\n}\n","<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"inputValue == '' && !focusInput\"\n [class.focused]=\"focusInput\" [class.full-input]=\"inputValue != '' && !focusInput\" *ngIf=\"label\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-input-field {{textFieldType}} {{state}}\" [class.empty]=\"inputValue == '' && !focusInput\"\n [class.focused]=\"focusInput\" [class.full-input]=\"inputValue != '' && !focusInput\">\n <ng-container *ngIf=\"iconPlacement == 'left'\">\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\n </ng-container>\n <span class=\"hr-label md-regular prefix\">{{prefix}}</span>\n <input [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"state == 'disabled' ? true : null\"\n [attr.readonly]=\"state == 'readonly' ? true : null\"\n [autocomplete]=\"autocomplete\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 100\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [type]=\"inputContentType\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (focus)=\"focusInput = true\"\n (keyup)=\"onInputKeyup()\"\n\n class=\"hr-label md-regular\"\n\n #inputElement\n\n *ngIf=\"textFieldType == 'input'\">\n <textarea [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"state == 'disabled' ? true : null\"\n [attr.readonly]=\"state == 'readonly' ? true : null\"\n [maxLength]=\"validations?.maxLength ? validations?.maxLength : 500\"\n [minLength]=\"validations?.minLength ? validations?.minLength : 0\"\n [placeholder]=\"getPlaceholder()\"\n [value]=\"inputValue\"\n\n (blur)=\"focusInput = false\"\n (focus)=\"focusInput = true\"\n (keyup)=\"onInputKeyup()\"\n\n class=\"hr-label md-regular\"\n rows=\"1\"\n\n #textAreaElement\n\n *ngIf=\"textFieldType == 'textarea'\"></textarea>\n <ng-container *ngIf=\"iconPlacement == 'right'\">\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\n </ng-container>\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n\n<ng-template #icons>\n <gravity-icon (click)=\"$event.stopPropagation(); handleIconClick(name)\" class=\"placement-{{iconPlacement}}\"\n [class.pointer]=\"!!clickOnIconName\" [customIconColorVariable]=\"iconColor\"\n [hoverIcon]=\"!!clickOnIconName\" [iconName]=\"name\" *ngFor=\"let name of iconNames\"></gravity-icon>\n</ng-template>\n","import {Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnInit, Renderer2} from '@angular/core';\n\n@Component({\n selector: 'tooltip',\n templateUrl: './gravity-tooltip.component.html',\n host: {'class': 'tooltip'},\n styleUrls: ['./gravity-tooltip.component.sass']\n})\n\nexport class GravityTooltipComponent implements OnInit {\n _show: boolean = false;\n events = new EventEmitter();\n\n @Input() data: any;\n\n @HostBinding('style.top') hostStyleTop!: string;\n @HostBinding('style.left') hostStyleLeft!: string;\n @HostBinding('style.z-index') hostStyleZIndex!: number;\n @HostBinding('style.transition') hostStyleTransition!: string;\n @HostBinding('style.width') hostStyleWidth!: string;\n @HostBinding('style.max-width') hostStyleMaxWidth!: string;\n @HostBinding('style.pointer-events') hostStylePointerEvents!: string;\n @HostBinding('class.tooltip-show') hostClassShow!: boolean;\n @HostBinding('class.tooltip-shadow') hostClassShadow!: boolean;\n @HostBinding('class.tooltip-light') hostClassLight!: boolean;\n\n @HostListener('transitionend', ['$event'])\n transitionEnd() {\n if (this.show) {\n this.events.emit({\n type: 'shown'\n });\n }\n }\n\n @Input() set show(value: boolean) {\n if (value) {\n this.setPosition();\n }\n this._show = this.hostClassShow = value;\n }\n\n get show(): boolean {\n return this._show;\n }\n\n get placement() {\n return this.data.options.placement;\n }\n\n get autoPlacement() {\n return this.data.options.autoPlacement;\n }\n\n get element() {\n return this.data.element;\n }\n\n get elementPosition() {\n return this.data.elementPosition;\n }\n\n get options() {\n return this.data.options;\n }\n\n get value() {\n return this.data.value;\n }\n\n get tooltipOffset(): number {\n return Number(this.data.options.offset);\n }\n\n get isThemeLight() {\n return this.options['theme'] === 'light';\n }\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {\n }\n\n ngOnInit() {\n this.setCustomClass();\n this.setStyles();\n }\n\n setPosition(): void {\n if (this.setHostStyle(this.placement)) {\n this.setPlacementClass(this.placement);\n return;\n } else {\n /* Is tooltip outside the visible area */\n const placements = ['top', 'right', 'bottom', 'left'];\n let isPlacementSet;\n\n for (const placement of placements) {\n if (this.setHostStyle(placement)) {\n this.setPlacementClass(placement);\n isPlacementSet = true;\n return;\n }\n }\n\n /* Set original placement */\n if (!isPlacementSet) {\n this.setHostStyle(this.placement, true);\n this.setPlacementClass(this.placement);\n }\n }\n }\n\n\n setPlacementClass(placement: string): void {\n this.renderer.addClass(this.elementRef.nativeElement, 'tooltip-' + placement);\n }\n\n setHostStyle(placement: string, disableAutoPlacement: boolean = false): boolean {\n const isSvg = this.element instanceof SVGElement;\n const tooltip = this.elementRef.nativeElement;\n const isCustomPosition = !this.elementPosition.right;\n\n let elementHeight = isSvg ? this.element.getBoundingClientRect().height : this.element.offsetHeight;\n let elementWidth = isSvg ? this.element.getBoundingClientRect().width : this.element.offsetWidth;\n const tooltipHeight = tooltip.clientHeight;\n const tooltipWidth = tooltip.clientWidth;\n const scrollY = window.pageYOffset;\n\n if (isCustomPosition) {\n elementHeight = 0;\n elementWidth = 0;\n }\n\n let topStyle;\n let leftStyle;\n\n if (placement === 'top') {\n topStyle = (this.elementPosition.top + scrollY) - (tooltipHeight + this.tooltipOffset);\n }\n\n if (placement === 'bottom') {\n topStyle = (this.elementPosition.top + scrollY) + elementHeight + this.tooltipOffset;\n }\n\n if (placement === 'top' || placement === 'bottom') {\n leftStyle = (this.elementPosition.left + elementWidth / 2) - tooltipWidth / 2;\n }\n\n if (placement === 'left') {\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset;\n }\n\n if (placement === 'right') {\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset;\n }\n\n if (placement === 'left' || placement === 'right') {\n topStyle = (this.elementPosition.top + scrollY) + elementHeight / 2 - tooltip.clientHeight / 2;\n }\n\n /* Is tooltip outside the visible area */\n if (this.autoPlacement && !disableAutoPlacement) {\n const topEdge = topStyle;\n const bottomEdge = topStyle + tooltipHeight;\n const leftEdge = leftStyle;\n const rightEdge = leftStyle + tooltipWidth;\n const bodyHeight = window.innerHeight + scrollY;\n const bodyWidth = document.body.clientWidth;\n\n if (topEdge < 0 || bottomEdge > bodyHeight || leftEdge < 0 || rightEdge > bodyWidth) {\n return false;\n }\n }\n\n this.hostStyleTop = topStyle + 'px';\n this.hostStyleLeft = leftStyle + 'px';\n return true;\n }\n\n setZIndex(): void {\n if (this.options['zIndex'] !== 0) {\n this.hostStyleZIndex = this.options['zIndex'];\n }\n }\n\n setPointerEvents(): void {\n if (this.options['pointerEvents']) {\n this.hostStylePointerEvents = this.options['pointerEvents'];\n }\n }\n\n setCustomClass() {\n if (this.options['tooltipClass']) {\n this.options['tooltipClass'].split(' ').forEach((className: any) => {\n this.renderer.addClass(this.elementRef.nativeElement, className);\n });\n }\n }\n\n setAnimationDuration() {\n if (Number(this.options['animationDuration']) != this.options['animationDurationDefault']) {\n this.hostStyleTransition = 'opacity ' + this.options['animationDuration'] + 'ms';\n }\n }\n\n setStyles() {\n this.setZIndex();\n this.setPointerEvents();\n this.setAnimationDuration();\n\n this.hostClassShadow = this.options['shadow'];\n this.hostClassLight = this.isThemeLight;\n this.hostStyleMaxWidth = this.options['maxWidth'];\n this.hostStyleWidth = this.options['width'] ? this.options['width'] : '';\n }\n}\n","<div *ngIf=\"isThemeLight\" class=\"tooltip-arrow\"></div>\n\n<div *ngIf=\"options['contentType'] === 'template' else htmlOrStringTemplate\">\n <ng-container *ngTemplateOutlet=\"value\"></ng-container>\n</div>\n\n<ng-template #htmlOrStringTemplate>\n <div [innerHTML]=\"value\"></div>\n</ng-template>\n","import { InjectionToken } from '@angular/core';\nimport { TooltipOptions } from './options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const TooltipOptionsService = new InjectionToken<TooltipOptions>('TooltipOptions');\n","export const defaultOptions = {\n 'placement': 'top',\n 'autoPlacement': true,\n 'contentType': 'string',\n 'showDelay': 0,\n 'hideDelay': 300,\n 'hideDelayMobile': 0,\n 'hideDelayTouchscreen': 0,\n 'zIndex': 0,\n 'animationDuration': 300,\n 'animationDurationDefault': 300,\n 'trigger': 'hover',\n 'tooltipClass': '',\n 'display': true,\n 'displayMobile': true,\n 'displayTouchscreen': true,\n 'shadow': true,\n 'theme': 'dark',\n 'offset': 8,\n 'maxWidth': '',\n 'id': false,\n 'hideDelayAfterClick': 2000\n}\n\nexport const backwardCompatibilityOptions: any = {\n 'delay': 'showDelay',\n 'show-delay': 'showDelay',\n 'hide-delay': 'hideDelay',\n 'hide-delay-mobile': 'hideDelayTouchscreen',\n 'hideDelayMobile': 'hideDelayTouchscreen',\n 'z-index': 'zIndex',\n 'animation-duration': 'animationDuration',\n 'animation-duration-default': 'animationDurationDefault',\n 'tooltip-class': 'tooltipClass',\n 'display-mobile': 'displayTouchscreen',\n 'displayMobile': 'displayTouchscreen',\n 'max-width': 'maxWidth'\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n Optional,\n Output,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport {GravityTooltipComponent} from './gravity-tooltip.component';\nimport {TooltipOptionsService} from './options.service';\nimport {backwardCompatibilityOptions, defaultOptions} from './options';\nimport {TooltipOptions} from './options.interface';\n\nexport interface AdComponent {\n data: any;\n show: boolean;\n close: boolean;\n events: any;\n}\n\n@Directive({\n selector: '[tooltip]',\n exportAs: 'tooltip',\n})\n\nexport class GravityTooltipDirective implements OnChanges {\n\n hideTimeoutId!: number;\n destroyTimeoutId!: number;\n hideAfterClickTimeoutId!: number;\n createTimeoutId!: number;\n showTimeoutId!: number;\n componentRef: any;\n elementPosition: any;\n _id: any;\n _options: any = {};\n _defaultOptions: any;\n _destroyDelay!: number;\n componentSubscribe: any;\n _contentType: \"string\" | \"html\" | \"template\" = \"string\";\n _showDelay!: number;\n _hideDelay!: number;\n _zIndex!: number;\n _tooltipClass!: string;\n _animationDuration!: number;\n _maxWidth!: string;\n\n @Input('options') set options(value: TooltipOptions) {\n if (value && defaultOptions) {\n this._options = value;\n }\n }\n\n get options() {\n return this._options;\n }\n\n @Input('tooltip') tooltipValue!: string | TemplateRef<any>;\n @Input('placement') placement!: string;\n @Input('autoPlacement') autoPlacement!: boolean;\n\n // Content type\n @Input('content-type') set contentTypeBackwardCompatibility(value: \"string\" | \"html\" | \"template\") {\n if (value) {\n this._contentType = value;\n }\n }\n\n @Input('contentType') set contentType(value: \"string\" | \"html\" | \"template\") {\n if (value) {\n this._contentType = value;\n }\n }\n\n get contentType() {\n return this._contentType;\n }\n\n @Input('hide-delay-mobile') hideDelayMobile!: number;\n @Input('hideDelayTouchscreen') hideDelayTouchscreen!: number;\n\n // z-index\n @Input('z-index') set zIndexBackwardCompatibility(value: number) {\n if (value) {\n this._zIndex = value;\n }\n }\n\n @Input('zIndex') set zIndex(value: number) {\n if (value) {\n this._zIndex = value;\n }\n }\n\n get zIndex() {\n return this._zIndex;\n }\n\n // Animation duration\n @Input('animation-duration') set animationDurationBackwardCompatibility(value: number) {\n if (value) {\n this._animationDuration = value;\n }\n }\n\n @Input('animationDuration') set animationDuration(value: number) {\n if (value) {\n this._animationDuration = value;\n }\n }\n\n get animationDuration() {\n return this._animationDuration;\n }\n\n\n @Input('trigger') trigger!: string;\n\n // Tooltip class\n @Input('tooltip-class') set tooltipClassBackwardCompatibility(value: string) {\n if (value) {\n this._tooltipClass = value;\n }\n }\n\n @Input('tooltipClass') set tooltipClass(value: string) {\n if (value) {\n this._tooltipClass = value;\n }\n }\n\n get tooltipClass() {\n return this._tooltipClass;\n }\n\n @Input('display') display!: boolean;\n @Input('display-mobile') displayMobile!: boolean;\n @Input('displayTouchscreen') displayTouchscreen!: boolean;\n @Input('shadow') shadow!: boolean;\n @Input('theme') theme!: \"dark\" | \"light\";\n @Input('offset') offset!: number;\n @Input('width') width!: string;\n\n // Max width\n @Input('max-width') set maxWidthBackwardCompatibility(value: string) {\n if (value) {\n this._maxWidth = value;\n }\n }\n\n @Input('maxWidth') set maxWidth(value: string) {\n if (value) {\n this._maxWidth = value;\n }\n }\n\n get maxWidth() {\n return this._maxWidth;\n }\n\n\n @Input('id') id: any;\n\n // Show delay\n @Input('show-delay') set showDelayBackwardCompatibility(value: number) {\n if (value) {\n this._showDelay = value;\n }\n }\n\n @Input('showDelay') set showDelay(value: number) {\n if (value) {\n this._showDelay = value;\n }\n }\n\n get showDelay() {\n return this._showDelay;\n }\n\n // Hide delay\n @Input('hide-delay') set hideDelayBackwardCompatibility(value: number) {\n if (value) {\n this._hideDelay = value;\n }\n }\n\n @Input('hideDelay') set hideDelay(value: number) {\n if (value) {\n this._hideDelay = value;\n }\n }\n\n get hideDelay() {\n return this._hideDelay;\n }\n\n @Input('hideDelayAfterClick') hideDelayAfterClick!: number;\n @Input('pointerEvents') pointerEvents!: 'auto' | 'none';\n @Input('position') position!: { top: number, left: number };\n\n get isTooltipDestroyed() {\n return this.componentRef && this.componentRef.hostView.destroyed;\n }\n\n get destroyDelay() {\n if (this._destroyDelay) {\n return this._destroyDelay;\n } else {\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\n }\n }\n\n set destroyDelay(value: number) {\n this._destroyDelay = value;\n }\n\n get tooltipPosition() {\n if (this.options['position']) {\n return this.options['position'];\n } else {\n return this.elementPosition;\n }\n }\n\n @Output() events: EventEmitter<any> = new EventEmitter<any>();\n\n constructor(\n @Optional() @Inject(TooltipOptionsService) private initOptions: any,\n private elementRef: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private appRef: ApplicationRef,\n private injector: Injector) {\n }\n\n @HostListener('focusin')\n @HostListener('mouseenter')\n onMouseEnter() {\n if (this.isDisplayOnHover == false) {\n return;\n }\n\n this.show();\n }\n\n @HostListener('focusout')\n @HostListener('mouseleave')\n onMouseLeave() {\n if (this.options['trigger'] === 'hover') {\n this.destroyTooltip();\n }\n }\n\n @HostListener('click')\n onClick() {\n if (this.isDisplayOnClick == false) {\n return;\n }\n\n this.show();\n this.hideAfterClickTimeoutId = window.setTimeout(() => {\n this.destroyTooltip();\n }, this.options['hideDelayAfterClick'])\n }\n\n ngOnInit(): void {\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.initOptions = this.renameProperties(this.initOptions);\n let changedOptions = this.getProperties(changes);\n changedOptions = this.renameProperties(changedOptions);\n\n this.applyOptionsDefault(defaultOptions, changedOptions);\n }\n\n ngOnDestroy(): void {\n this.destroyTooltip({\n fast: true\n });\n\n if (this.componentSubscribe) {\n this.componentSubscribe.unsubscribe();\n }\n }\n\n getShowDelay() {\n return this.options['showDelay'];\n }\n\n getHideDelay() {\n const hideDelay = this.options['hideDelay'];\n const hideDelayTouchscreen = this.options['hideDelayTouchscreen'];\n\n return this.isTouchScreen ? hideDelayTouchscreen : hideDelay;\n }\n\n getProperties(changes: SimpleChanges) {\n let directiveProperties: any = {};\n let customProperties: any = {};\n let allProperties: any;\n\n for (var prop in changes) {\n if (prop !== 'options' && prop !== 'tooltipValue') {\n directiveProperties[prop] = changes[prop].currentValue;\n }\n if (prop === 'options') {\n customProperties = changes[prop].currentValue;\n }\n }\n\n allProperties = Object.assign({}, customProperties, directiveProperties);\n return allProperties;\n }\n\n renameProperties(options: any) {\n for (var prop in options) {\n if (backwardCompatibilityOptions[prop]) {\n options[backwardCompatibilityOptions[prop]] = options[prop];\n delete options[prop];\n }\n }\n\n return options;\n }\n\n getElementPosition(): void {\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n createTooltip(): void {\n this.clearTimeouts();\n this.getElementPosition();\n\n this.createTimeoutId = window.setTimeout(() => {\n this.appendComponentToBody(GravityTooltipComponent);\n }, this.getShowDelay());\n\n this.showTimeoutId = window.setTimeout(() => {\n this.showTooltipElem();\n }, this.getShowDelay());\n }\n\n destroyTooltip(options = {\n fast: false\n }): void {\n this.clearTimeouts();\n\n if (this.isTooltipDestroyed == false) {\n this.hideTimeoutId = window.setTimeout(() => {\n this.hideTooltip();\n }, options.fast ? 0 : this.getHideDelay());\n\n this.destroyTimeoutId = window.setTimeout(() => {\n if (!this.componentRef || this.isTooltipDestroyed) {\n return;\n }\n\n this.appRef.detachView(this.componentRef.hostView);\n this.componentRef.destroy();\n this.events.emit({\n type: 'hidden',\n position: this.tooltipPosition\n });\n }, options.fast ? 0 : this.destroyDelay);\n }\n }\n\n showTooltipElem(): void {\n this.clearTimeouts();\n (<AdComponent>this.componentRef.instance).show = true;\n this.events.emit({\n type: 'show',\n position: this.tooltipPosition\n });\n }\n\n hideTooltip(): void {\n if (!this.componentRef || this.isTooltipDestroyed) {\n return;\n }\n (<AdComponent>this.componentRef.instance).show = false;\n this.events.emit({\n type: 'hide',\n position: this.tooltipPosition\n });\n }\n\n appendComponentToBody(component: any): void {\n this.componentRef = this.componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this.injector);\n\n (<AdComponent>this.componentRef.instance).data = {\n value: this.tooltipValue,\n element: this.elementRef.nativeElement,\n elementPosition: this.tooltipPosition,\n options: this.options\n }\n this.appRef.attachView(this.componentRef.hostView);\n const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n document.body.appendChild(domElem);\n\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).events.subscribe((event: any) => {\n this.handleEvents(event);\n });\n }\n\n clearTimeouts(): void {\n if (this.createTimeoutId) {\n clearTimeout(this.createTimeoutId);\n }\n\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n if (this.destroyTimeoutId) {\n clearTimeout(this.destroyTimeoutId);\n }\n }\n\n get isDisplayOnHover(): boolean {\n if (this.options['display'] == false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] == false && this.isTouchScreen) {\n return false;\n }\n\n return this.options['trigger'] === 'hover';\n }\n\n get isDisplayOnClick(): boolean {\n if (this.options['display'] == false) {\n return false;\n }\n\n if (this.options['displayTouchscreen'] == false && this.isTouchScreen) {\n return false;\n }\n\n return this.options['trigger'] == 'click';\n\n\n }\n\n get isTouchScreen() {\n var prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\n var mq = function (query: any) {\n return window.matchMedia(query).matches;\n }\n\n if (('ontouchstart' in window)) {\n return true;\n }\n\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\n // https://git.io/vznFH\n var query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');\n return mq(query);\n }\n\n applyOptionsDefault(defaultOptions: any, options: any): void {\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, this.options, options);\n }\n\n handleEvents(event: any) {\n if (event.type === 'shown') {\n this.events.emit({\n type: 'shown',\n position: this.tooltipPosition\n });\n }\n }\n\n public show() {\n if (!this.tooltipValue) {\n return;\n }\n\n if (!this.componentRef || this.isTooltipDestroyed) {\n this.createTooltip();\n } else if (!this.isTooltipDestroyed) {\n this.showTooltipElem();\n }\n }\n\n public hide() {\n this.destroyTooltip();\n }\n}\n","import {ModuleWithProviders, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {GravityTooltipDirective} from './gravity-tooltip.directive';\nimport {GravityTooltipComponent} from './gravity-tooltip.component';\nimport {TooltipOptions} from './options.interface';\nimport {TooltipOptionsService} from './options.service';\n\n@NgModule({\n declarations: [\n GravityTooltipDirective,\n GravityTooltipComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n GravityTooltipDirective,\n GravityTooltipComponent\n ]\n})\nexport class GravityTooltipModule {\n static forRoot(initOptions: TooltipOptions): ModuleWithProviders<GravityTooltipModule> {\n return {\n ngModule: GravityTooltipModule,\n providers: [\n {\n provide: TooltipOptionsService,\n useValue: initOptions\n }\n ]\n };\n }\n}\n","import {\n AfterViewInit,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {NgbDate, NgbDateStruct, NgbInputDatepicker} from \"@ng-bootstrap/ng-bootstrap\";\n\n@Component({\n selector: 'gravity-calendar',\n templateUrl: './gravity-calendar.component.html',\n styleUrls: ['./gravity-calendar.component.scss']\n})\nexport class GravityCalendarComponent implements OnChanges, AfterViewInit {\n @Output('response') public calendarResponse: EventEmitter<Date> = new EventEmitter();\n\n @Input() public currentLang: string = 'en';\n @Input() public cypressTag: string;\n @Input() public dates: {\n customDate?: 'today' | Date;\n defaultDays?: number;\n maxDate?: 'today' | Date;\n minDate?: Date;\n };\n @Input() public label: string;\n @Input() public required: boolean;\n @Input() public state: 'readonly' | 'disabled' | 'enabled' = \"enabled\";\n @Input() public supportTextContent: string;\n @Input() public supportTextType: 'neutro' | 'negative' | 'positive' = \"neutro\";\n\n @ViewChild('datePicker', {static: false}) private datePicker: NgbInputDatepicker;\n @ViewChild('datepickerInput', {static: false}) private datepickerInput: any;\n\n public calendarOpened: boolean = false;\n public focusInput: boolean = false;\n public maxDate: NgbDateStruct;\n public minDate: NgbDateStruct;\n public selectedDate: Date;\n public selectedDateInput: string = '';\n private customDateFlag: string = '';\n\n ngOnChanges(changes: SimpleChanges): void {\n if (this.dates) {\n if (this.dates.defaultDays) {\n let dateWithoutDays: Date = new Date(new Date().setDate(new Date().getDate() - this.dates.defaultDays));\n this.focusCustomDate(dateWithoutDays);\n }\n\n if (this.dates.customDate) {\n let date: Date = this.dates.customDate == 'today' ? (new Date()) : this.dates.customDate;\n this.focusCustomDate(date);\n }\n\n if (this.dates.minDate) {\n this.minDate = GravityCalendarComponent.formatDateToNgbDateStruct(this.dates.minDate);\n }\n\n if (this.dates.maxDate) {\n let date: Date = this.dates.maxDate == 'today' ? (new Date()) : this.dates.maxDate;\n this.maxDate = GravityCalendarComponent.formatDateToNgbDateStruct(date);\n }\n }\n }\n\n ngAfterViewInit(): void {\n this.changeDateManually();\n }\n\n updateSelectedDate($event: NgbDate): void {\n this.selectedDateInput = GravityCalendarComponent.formatNgbDate($event);\n this.selectedDate = GravityCalendarComponent.convertNgbDateToDate($event);\n this.datepickerInput.nativeElement.value = this.selectedDateInput;\n this.calendarResponse.emit(this.selectedDate);\n }\n\n focusCustomDate(customDate: Date): void {\n this.selectedDateInput = GravityCalendarComponent.formatTSDate(customDate);\n this.selectedDate = customDate;\n this.customDateFlag = customDate.getUTCFullYear() + '-' + (customDate.getUTCMonth() + 1) + '-' + customDate.getUTCDate();\n }\n\n resetCalendar(newDate: Date): void {\n this.focusCustomDate(newDate);\n this.changeDateManually();\n }\n\n private changeDateManually(): void {\n if (this.customDateFlag) {\n this.datePicker.manualDateChange(this.customDateFlag, true);\n this.datepickerInput.nativeElement.value = this.selectedDateInput;\n this.customDateFlag = undefined;\n this.calendarResponse.emit(this.selectedDate);\n }\n }\n\n private static formatNgbDate(ngbDate: NgbDate): string {\n if (!ngbDate) {\n return null;\n }\n\n return [\n (ngbDate.month < 10 ? ('0' + ngbDate.month) : ngbDate.month),\n (ngbDate.day < 10 ? ('0' + ngbDate.day) : ngbDate.day),\n ngbDate.year\n ].join('/');\n }\n\n private static formatTSDate(date: Date): string {\n if (!date) {\n return null;\n }\n\n return [\n ((date.getUTCMonth() + 1) < 10 ? ('0' + (date.getUTCMonth() + 1)) : (date.getUTCMonth() + 1)),\n (date.getUTCDate() < 10 ? ('0' + date.getUTCDate()) : date.getUTCDate()),\n date.getUTCFullYear()\n ].join('/');\n }\n\n private static formatDateToNgbDateStruct(date: Date): NgbDateStruct {\n let object = {} as NgbDateStruct;\n\n object.year = date.getUTCFullYear();\n object.month = (date.getUTCMonth() + 1);\n object.day = date.getUTCDate();\n\n return object;\n }\n\n private static convertNgbDateToDate(date: NgbDate): Date {\n return new Date(date.year, (date.month - 1), date.day);\n }\n}\n","<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"!selectedDate && !focusInput && !calendarOpened\"\n [class.focused]=\"focusInput || calendarOpened\" [class.full-input]=\"selectedDate && !focusInput && !calendarOpened\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-calendar-field {{state}}\" [class.empty]=\"!selectedDate && !focusInput && !calendarOpened\"\n [class.focused]=\"focusInput || calendarOpened\" [class.full-input]=\"selectedDate && !focusInput && !calendarOpened\">\n <gravity-icon class=\"placement-left\" [hoverIcon]=\"false\" [iconName]=\"'calendar'\"></gravity-icon>\n <input [attr.data-cy]=\"cypressTag\"\n [disabled]=\"state == 'disabled' ? true : null\"\n [readonly]=\"state != 'disabled' ? true : null\"\n\n (blur)=\"focusInput = false\"\n (closed)=\"calendarOpened = false\"\n (dateSelect)=\"updateSelectedDate($event)\"\n (focus)=\"focusInput = true\"\n\n class=\"hr-label md-regular\"\n ngbDatepicker\n placeholder=\"Select your date\"\n\n [container]=\"'body'\"\n [datepickerClass]=\"'gravity-datepicker-dialog'\"\n [maxDate]=\"maxDate ? maxDate : null\"\n [minDate]=\"minDate ? minDate : null\"\n [navigation]=\"'arrows'\"\n [showWeekNumbers]=\"true\"\n\n #datepickerInput\n #datePicker=\"ngbDatepicker\">\n <span (click)=\"datePicker.open(); calendarOpened = true\" *ngIf=\"!calendarOpened && state == 'enabled'\"></span>\n <span (click)=\"datePicker.close(); calendarOpened = false\" *ngIf=\"calendarOpened && state == 'enabled'\"></span>\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {PrettyRadioChange} from \"ngx-pretty-checkbox\";\n\n@Component({\n selector: 'gravity-radio-button',\n templateUrl: './gravity-radio-button.component.html',\n styleUrls: ['./gravity-radio-button.component.scss']\n})\nexport class GravityRadioButtonComponent {\n @Input() public checked: boolean = false;\n @Input() public disabled: boolean = false;\n @Input() public name: string;\n @Input() public value: string;\n @Output() public change: EventEmitter<PrettyRadioChange> = new EventEmitter<PrettyRadioChange>();\n\n onChange(event: PrettyRadioChange): void {\n this.change.emit(event);\n }\n}\n","<ngx-pretty-radio\n will-change\n\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [outline]=\"true\"\n [value]=\"value\"\n\n (change)=\"onChange($event)\">\n <ng-content></ng-content>\n</ngx-pretty-radio>\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {PrettyCheckBoxChange} from \"ngx-pretty-checkbox/lib/model\";\n\n@Component({\n selector: 'gravity-switch',\n templateUrl: './gravity-switch.component.html',\n styleUrls: ['./gravity-switch.component.scss']\n})\nexport class GravitySwitchComponent implements OnInit {\n @Input() public data: {\n currentLang?: string;\n customCheck?: boolean;\n cypressTag?: string;\n label: string;\n required?: boolean;\n state?: 'readonly' | 'disabled' | 'enabled';\n };\n @Output('response') public switchResponse: EventEmitter<boolean> = new EventEmitter();\n\n ngOnInit(): void {\n this.data.currentLang = this.data.currentLang ? this.data.currentLang : \"en\";\n this.data.state = this.data.state ? this.data.state : \"enabled\";\n }\n\n toggleSwitchHandler($event: PrettyCheckBoxChange): void {\n this.switchResponse.emit($event.checked);\n }\n}\n","<label class=\"hr-body-text sm-regular\">\n {{data.label}}\n <ng-container *ngIf=\"data.required\">\n <ng-container *ngIf=\"data.currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"data.currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"data.state == 'readonly'\">\n <ng-container *ngIf=\"data.currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"data.currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"data.state == 'disabled'\">\n <ng-container *ngIf=\"data.currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"data.currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-switch\">\n <p-checkbox [attr.data-cy]=\"data.cypressTag\" [checked]=\"data.customCheck\" [disabled]=\"data.state == 'disabled'\" isSwitch=\"true\" stroke=\"fill\" (change)=\"toggleSwitchHandler($event)\">\n <ng-content></ng-content>\n </p-checkbox>\n</div>\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'gravity-checkbox',\n templateUrl: './gravity-checkbox.component.html',\n styleUrls: ['./gravity-checkbox.component.scss']\n})\nexport class GravityCheckboxComponent {\n @Input() public value: any;\n @Input() public disabled: boolean = false;\n @Input() public checked: boolean = false;\n}\n","<p-checkbox [checked]=\"checked\" color=\"default\" [disabled]=\"disabled\" shape=\"curve\" stroke=\"fill\" [value]=\"value\">\n <svg-icon p-svg name=\"check\"></svg-icon>\n <ng-content></ng-content>\n</p-checkbox>\n","import {Component, Input, TemplateRef} from '@angular/core';\nimport {NgbActiveModal} from \"@ng-bootstrap/ng-bootstrap\";\n\n@Component({\n templateUrl: './gravity-dialog.component.html',\n styleUrls: ['./gravity-dialog.component.scss']\n})\nexport class GravityDialogComponent {\n @Input() public dialogContent: GravityDialogContentInterface;\n\n constructor(private readonly ngbActiveModal: NgbActiveModal) {\n }\n\n public closeModal(): void {\n this.ngbActiveModal.close();\n }\n}\n\nexport interface GravityDialogContentInterface {\n contentTemplateRef?: TemplateRef<any>;\n contentTemplateComponent?: any;\n footerTemplateRef?: TemplateRef<any>;\n footerTemplateComponent?: any;\n showCloseIcon?: boolean;\n titleIconName?: string;\n title: string;\n}\n","<div class=\"dialog-header\">\n <div class=\"hr-title lg-bold title\">\n <gravity-icon class=\"title-icon\" *ngIf=\"dialogContent.titleIconName && dialogContent.titleIconName.length > 0\"\n [iconName]=\"dialogContent.titleIconName\" [title]=\"dialogContent.titleIconName\"></gravity-icon>\n {{dialogContent.title}}\n </div>\n <gravity-icon class=\"close\" (click)=\"closeModal()\" [iconName]=\"'x'\" *ngIf=\"dialogContent.showCloseIcon\"\n [title]=\"'Close'\"></gravity-icon>\n</div>\n\n<div class=\"dialog-body\" [class.with-footer]=\"dialogContent.footerTemplateRef || dialogContent.footerTemplateComponent\">\n <ng-container *ngIf=\"dialogContent.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"dialogContent.contentTemplateRef\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dialogContent.contentTemplateComponent\">\n <ng-container *ngComponentOutlet=\"dialogContent.contentTemplateComponent\"></ng-container>\n </ng-container>\n</div>\n\n<div class=\"dialog-footer\" *ngIf=\"dialogContent.footerTemplateRef || dialogContent.footerTemplateComponent\">\n <ng-container *ngIf=\"dialogContent.footerTemplateRef\">\n <ng-container *ngTemplateOutlet=\"dialogContent.footerTemplateRef\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"dialogContent.footerTemplateComponent\">\n <ng-container *ngComponentOutlet=\"dialogContent.footerTemplateComponent\"></ng-container>\n </ng-container>\n</div>\n","import {Component, Input} from '@angular/core';\nimport {NgbActiveModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {GravityNotificationContent} from \"./gravity-notification-content.interface\";\n\n@Component({\n templateUrl: './gravity-notification.component.html',\n styleUrls: ['./gravity-notification.component.scss']\n})\nexport class GravityNotificationComponent {\n @Input() public notificationContent: GravityNotificationContent;\n\n constructor(private readonly ngbActiveModal: NgbActiveModal) {\n }\n\n public closeModal(): void {\n this.ngbActiveModal.close();\n }\n}\n","<main class=\"alert-content {{notificationContent.state}}\">\n <gravity-icon class=\"close\" (click)=\"closeModal()\" data-cy=\"gravity_notification_informative_close_icon\"\n [iconName]=\"'x'\" [title]=\"'Close'\"></gravity-icon>\n\n <div class=\"title\">\n <gravity-icon class=\"title-icon\" [iconName]=\"'notification_' + notificationContent.state\"></gravity-icon>\n <h1 class=\"hr-title lg-bold\">{{notificationContent.title}}</h1>\n </div>\n\n <div class=\"content\">\n <h2 class=\"hr-body-text md-regular\">{{notificationContent.text}}</h2>\n </div>\n</main>\n","import {Injectable} from '@angular/core';\nimport {GravityNotificationContent} from \"../components/gravity-notification/gravity-notification-content.interface\";\n\n@Injectable({providedIn: 'root'})\nexport class GravityInstantNotificationsService {\n public readonly notifications: GravityNotificationContent[] = [];\n\n public showNotification(content: GravityNotificationContent): void {\n this.notifications.push(content);\n }\n\n public hideNotification(index: number): void {\n this.notifications.splice(index, 1);\n }\n\n public clearNotifications(): void {\n this.notifications.splice(0, this.notifications.length);\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {GravityInstantNotificationsService} from \"../../services/gravity-instant-notifications.service\";\n\n@Component({\n selector: 'gravity-notification-instant-container',\n templateUrl: './gravity-notification-instant-container.component.html',\n styleUrls: ['./gravity-notification-instant-container.component.scss']\n})\nexport class GravityNotificationInstantContainerComponent {\n @Input() public delay: number = 5000;\n\n constructor(public readonly gravityInstantNotificationsService: GravityInstantNotificationsService) {\n }\n}\n","<ngb-toast [autohide]=\"true\"\n [delay]=\"delay\"\n\n (hidden)=\"gravityInstantNotificationsService.hideNotification(i)\"\n\n *ngFor=\"let notification of gravityInstantNotificationsService.notifications; index as i\">\n <main class=\"alert-content {{notification.state}}\">\n <gravity-icon class=\"close\" (click)=\"gravityInstantNotificationsService.hideNotification(i)\"\n data-cy=\"gravity_notification_instant_close_icon\" [iconName]=\"'x'\" [title]=\"'Close'\"></gravity-icon>\n\n <div class=\"title\">\n <gravity-icon class=\"title-icon\" [iconName]=\"'notification_' + notification.state\"></gravity-icon>\n <h1 class=\"hr-title lg-bold\">{{notification.title}}</h1>\n </div>\n\n <div class=\"content\">\n <h2 class=\"hr-body-text md-regular\">{{notification.text}}</h2>\n </div>\n </main>\n</ngb-toast>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'gravity-attach-file',\n templateUrl: './gravity-attach-file.component.html',\n styleUrls: ['./gravity-attach-file.component.scss']\n})\nexport class GravityAttachFileComponent {\n @Output('response') public fileValueResponse: EventEmitter<string> = new EventEmitter();\n\n @Input() public currentLang: string = 'en';\n @Input() public cypressTag: string;\n @Input() public label: string;\n @Input() public required: boolean;\n @Input() public state: 'readonly' | 'disabled' | 'enabled' = \"enabled\";\n @Input() public supportTextContent: string;\n @Input() public supportTextType: 'neutro' | 'negative' | 'positive';\n\n public file: File;\n\n public handleFileInput($event: any) {\n this.file = $event.target.files[0];\n if (this.file) {\n GravityAttachFileComponent.convertFileToBase64(this.file).then((base64String: string) => {\n this.fileValueResponse.emit(base64String);\n }).catch((error) => {\n console.error('Error loading file:', error.message);\n });\n }\n }\n\n public static convertFileToBase64(file: File): Promise<string> {\n return new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => {\n const base64String = reader.result as string;\n const base64WithoutPrefix = base64String.split(',')[1];\n resolve(base64WithoutPrefix);\n };\n\n reader.onerror = () => {\n reject(new Error('Failed to read the file.'));\n };\n\n reader.readAsDataURL(file);\n });\n }\n\n public removeFile(): void {\n this.file = null;\n this.fileValueResponse.emit('');\n }\n}\n","<label class=\"hr-body-text sm-regular {{state}}\" [class.empty]=\"!file\" [class.full-input]=\"file\" *ngIf=\"label\">\n {{label}}\n <ng-container *ngIf=\"required\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Requerido <span class=\"text-negative\">*</span></ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Required <span class=\"text-negative\">*</span></ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'readonly'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Sólo lectura</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Readonly</ng-container>\n </ng-container>\n <ng-container *ngIf=\"state == 'disabled'\">\n <ng-container *ngIf=\"currentLang == 'es'\">- Deshabilitado</ng-container>\n <ng-container *ngIf=\"currentLang == 'en'\">- Disabled</ng-container>\n </ng-container>\n</label>\n<div class=\"gravity-attach-file {{state}}\" [class.empty]=\"!file\" [class.full-input]=\"file\">\n <ng-container *ngIf=\"!file\">\n <input autocomplete=\"off\" class=\"hr-label md-regular\" hidden id=\"fileInput\" type=\"file\"\n [attr.data-cy]=\"cypressTag\"\n [attr.disabled]=\"state == 'disabled' ? true : null\"\n [attr.readonly]=\"state == 'readonly' ? true : null\"\n\n (change)=\"handleFileInput($event)\">\n <label for=\"fileInput\">\n <gravity-button [iconName]=\"'clip'\" [type]=\"'tertiary'\" [size]=\"'md'\">\n {{label}}\n </gravity-button>\n </label>\n </ng-container>\n <ng-container *ngIf=\"file\">\n <label>\n <gravity-button (click)=\"removeFile()\" [iconName]=\"'clip'\" [type]=\"'tertiary'\" [size]=\"'md'\">\n {{currentLang == 'en' ? 'Remove file' : 'Remover archivo'}}\n </gravity-button>\n </label>\n <h3>{{currentLang == 'en' ? 'File' : 'Archivo'}}: {{file.name}}</h3>\n </ng-container>\n</div>\n<p class=\"hr-body-text sm-regular support-text text-{{supportTextType}}\" *ngIf=\"supportTextContent\">\n {{supportTextContent}}\n</p>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {GravityButtonComponent} from './components/gravity-button/gravity-button.component';\nimport {GravityDropdownListComponent} from \"./components/gravity-dropdown-list/gravity-dropdown-list.component\";\nimport {GravityTextFieldComponent} from \"./components/gravity-text-field/gravity-text-field.component\";\nimport {NgSelectModule} from \"@ng-select/ng-select\";\nimport {GravityTooltipModule} from \"./vendor/gravity-tooltip\";\nimport {AngularSvgIconPreloaderModule} from \"angular-svg-icon-preloader\";\nimport {AngularSvgIconModule} from \"angular-svg-icon\";\nimport {GravityCalendarComponent} from \"./components/gravity-calendar/gravity-calendar.component\";\nimport {NgbDatepickerModule, NgbProgressbarModule, NgbToastModule} from \"@ng-bootstrap/ng-bootstrap\";\nimport {GravityRadioButtonComponent} from './components/gravity-radio-button/gravity-radio-button.component';\nimport {NgxPrettyCheckboxModule} from \"ngx-pretty-checkbox\";\nimport {GravitySwitchComponent} from './components/gravity-switch/gravity-switch.component';\nimport {GravityCheckboxComponent} from './components/gravity-checkbox/gravity-checkbox.component';\nimport {GravityDialogComponent} from \"./components/gravity-dialog/gravity-dialog.component\";\nimport {GravityIconComponent} from \"./components/gravity-icon/gravity-icon.component\";\nimport {GravityNotificationComponent} from \"./components/gravity-notification/gravity-notification.component\";\nimport {\n GravityNotificationInstantContainerComponent\n} from \"./components/gravity-notification-instant/gravity-notification-instant-container.component\";\nimport {GravityAttachFileComponent} from \"./components/gravity-attach-file/gravity-attach-file.component\";\n\n@NgModule({\n declarations: [\n GravityAttachFileComponent,\n GravityButtonComponent,\n GravityCalendarComponent,\n GravityCheckboxComponent,\n GravityDialogComponent,\n GravityDropdownListComponent,\n GravityIconComponent,\n GravityNotificationComponent,\n GravityNotificationInstantContainerComponent,\n GravityRadioButtonComponent,\n GravitySwitchComponent,\n GravityTextFieldComponent\n ],\n imports: [\n AngularSvgIconModule.forRoot(),\n AngularSvgIconPreloaderModule.forRoot({\n configUrl: './assets/gravity/json/icons.json',\n }),\n CommonModule,\n FormsModule,\n GravityTooltipModule.forRoot({}),\n NgbDatepickerModule,\n NgbToastModule,\n NgSelectModule,\n NgxPrettyCheckboxModule,\n ReactiveFormsModule,\n NgbProgressbarModule\n ],\n exports: [\n GravityAttachFileComponent,\n GravityButtonComponent,\n GravityCalendarComponent,\n GravityCheckboxComponent,\n GravityDialogComponent,\n GravityDropdownListComponent,\n GravityIconComponent,\n GravityNotificationInstantContainerComponent,\n GravityRadioButtonComponent,\n GravitySwitchComponent,\n GravityTextFieldComponent,\n GravityTooltipModule\n ]\n})\nexport class GravityDesignSystemModule {\n}\n","import {Injectable} from \"@angular/core\";\nimport {NgbModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {\n GravityDialogComponent,\n GravityDialogContentInterface\n} from \"../components/gravity-dialog/gravity-dialog.component\";\nimport {GravityInstantNotificationsService} from \"./gravity-instant-notifications.service\";\nimport {GravityNotificationComponent} from \"../components/gravity-notification/gravity-notification.component\";\nimport {GravityNotificationContent} from \"../components/gravity-notification/gravity-notification-content.interface\";\n\n@Injectable({providedIn: \"root\"})\nexport class GravityDialogManagerService {\n constructor(private readonly ngbModal: NgbModal, private readonly gravityInstantNotificationsService: GravityInstantNotificationsService) {\n }\n\n public openModal(gravityDialogContentInterface: GravityDialogContentInterface, scrollableDialog: boolean = false, modalSize: 'sm' | 'md' | 'lg' | 'xl' = 'md'): void {\n const modalRef = this.ngbModal.open(GravityDialogComponent, {\n centered: true,\n scrollable: scrollableDialog,\n size: modalSize\n });\n modalRef.componentInstance.dialogContent = gravityDialogContentInterface;\n }\n\n public throwInformativeNotification(notificationContent: GravityNotificationContent): void {\n const modalRef = this.ngbModal.open(GravityNotificationComponent, {\n modalDialogClass: 'informative-notification',\n centered: true\n });\n modalRef.componentInstance.notificationContent = notificationContent;\n }\n\n public throwInstantNotification(notificationContent: GravityNotificationContent): void {\n this.gravityInstantNotificationsService.showNotification(notificationContent);\n }\n}\n","/*\n * Public API Surface of gravity-design-system\n */\n\nexport * from './lib/gravity-design-system.module';\n\n//Components\nexport * from './lib/components/gravity-attach-file/gravity-attach-file.component';\nexport * from './lib/components/gravity-button/gravity-button.component';\nexport * from './lib/components/gravity-calendar/gravity-calendar.component';\nexport * from './lib/components/gravity-checkbox/gravity-checkbox.component';\nexport * from './lib/components/gravity-dialog/gravity-dialog.component';\nexport * from './lib/components/gravity-dropdown-list/gravity-dropdown-list.component';\nexport * from './lib/components/gravity-icon/gravity-icon.component';\nexport * from './lib/components/gravity-notification-instant/gravity-notification-instant-container.component';\nexport * from './lib/components/gravity-radio-button/gravity-radio-button.component';\nexport * from './lib/components/gravity-switch/gravity-switch.component';\nexport * from './lib/components/gravity-text-field/gravity-text-field.component';\n\n//Services\nexport * from './lib/services/gravity-dialog-manager.service';\n\n//Vendor\nexport * from './lib/vendor/gravity-tooltip';\n\n//Models and interfaces\nexport * from './lib/components/gravity-notification/gravity-notification-content.interface';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.GravityIconComponent","i4.GravityIconComponent","i2.GravityIconComponent","i1.GravityInstantNotificationsService","i3","i2.GravityButtonComponent","i2.GravityInstantNotificationsService"],"mappings":";;;;;;;;;;;;;;;;;MAOa,oBAAoB,CAAA;;iHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,kKCPjC,0MAIA,EAAA,MAAA,EAAA,CAAA,+UAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,SAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDGa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,0MAAA,EAAA,MAAA,EAAA,CAAA,+UAAA,CAAA,EAAA,CAAA;8BAKR,uBAAuB,EAAA,CAAA;sBAAtC,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;;;MEHK,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;QASkB,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAC3B,IAAI,CAAA,IAAA,GAAgB,IAAI,CAAC;AAE1C,KAAA;;mHAPY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,4LCPnC,kpBAWA,EAAA,MAAA,EAAA,CAAA,gqVAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDJa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,kpBAAA,EAAA,MAAA,EAAA,CAAA,gqVAAA,CAAA,EAAA,CAAA;8BAKV,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;;;MELK,4BAA4B,CAAA;AALzC,IAAA,WAAA,GAAA;AAM6B,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAI,YAAY,EAAE,CAAC;QAExE,IAAW,CAAA,WAAA,GAAW,IAAI,CAAC;QAC3B,IAAiB,CAAA,iBAAA,GAAW,KAAK,CAAC;QAKlC,IAAa,CAAA,aAAA,GAAqB,MAAM,CAAC;QASzC,IAAK,CAAA,KAAA,GAAwC,SAAS,CAAC;QAOhE,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAWtC,KAAA;AATQ,IAAA,kBAAkB,CAAC,eAAoB,EAAA;AAC5C,QAAA,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;QACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACnD;IAEM,iBAAiB,GAAA;QACtB,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;KACpC;;yHAnCU,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,gnBCRzC,0nFAoDA,EAAA,MAAA,EAAA,CAAA,8/SAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD5Ca,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,0nFAAA,EAAA,MAAA,EAAA,CAAA,8/SAAA,CAAA,EAAA,CAAA;8BAKN,oBAAoB,EAAA,CAAA;sBAA9C,MAAM;uBAAC,UAAU,CAAA;gBAEF,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBACU,iBAAiB,EAAA,CAAA;sBAAhC,KAAK;gBACU,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,aAAa,EAAA,CAAA;sBAA5B,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,cAAc,EAAA,CAAA;sBAA7B,KAAK;gBAKU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,kBAAkB,EAAA,CAAA;sBAAjC,KAAK;gBACU,eAAe,EAAA,CAAA;sBAA9B,KAAK;gBAEmD,iBAAiB,EAAA,CAAA;sBAAzE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAA;;;MEvBpC,yBAAyB,CAAA;AALtC,IAAA,WAAA,GAAA;AAM8B,QAAA,IAAA,CAAA,YAAY,GAA0B,IAAI,YAAY,EAAE,CAAC;AAC1D,QAAA,IAAA,CAAA,sBAAsB,GAAyB,IAAI,YAAY,EAAE,CAAC;QAE7E,IAAY,CAAA,YAAA,GAAW,KAAK,CAAC;QAC7B,IAAe,CAAA,eAAA,GAAqB,KAAK,CAAC;QAC1C,IAAW,CAAA,WAAA,GAAW,IAAI,CAAC;QAM3B,IAAa,CAAA,aAAA,GAAqB,MAAM,CAAC;QACzC,IAAgB,CAAA,gBAAA,GAA6C,MAAM,CAAC;QAEpE,IAAe,CAAA,eAAA,GAAgC,SAAS,CAAC;QACzD,IAAM,CAAA,MAAA,GAAW,EAAE,CAAC;QAEpB,IAAK,CAAA,KAAA,GAAwC,SAAS,CAAC;QAEvD,IAAe,CAAA,eAAA,GAAuC,QAAQ,CAAC;QAC/D,IAAa,CAAA,aAAA,GAAyB,OAAO,CAAC;QAMvD,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;QAC5B,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;AAEd,QAAA,IAAA,CAAA,YAAY,GAAG;AAC9B,YAAA,OAAO,EAAE,gBAAgB;AACzB,YAAA,KAAK,EAAE,sBAAsB;SAC9B,CAAA;AA+CF,KAAA;IA7CC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KACtE;IAEM,cAAc,GAAA;QACnB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,IAAI,EAAE,EAAE;YAC1D,OAAO,IAAI,CAAC,iBAAiB,CAAC;AAC/B,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,eAAe,IAAI,SAAS,EAAE;YAC5C,OAAO,IAAI,CAAC,KAAK,CAAC;AACnB,SAAA;AAAM,aAAA;YACL,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAChD,SAAA;KACF;IAEM,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC7B;IAEM,YAAY,GAAA;QACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAEO,gBAAgB,CAAC,aAAsB,KAAK,EAAA;AAClD,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACtB,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE;YACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC;AACzD,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC;AAC5D,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE;AACzB,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AACjE,SAAA;KACF;AAEM,IAAA,eAAe,CAAC,QAAgB,EAAA;AACrC,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;AAC9B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,eAAe,IAAI,QAAQ,EAAE;AAC3C,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,SAAA;KACF;;sHA/EU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,u5BCPtC,y4GAwEA,EAAA,MAAA,EAAA,CAAA,4uJAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDjEa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,y4GAAA,EAAA,MAAA,EAAA,CAAA,4uJAAA,CAAA,EAAA,CAAA;8BAKF,YAAY,EAAA,CAAA;sBAAvC,MAAM;uBAAC,WAAW,CAAA;gBACQ,sBAAsB,EAAA,CAAA;sBAAhD,MAAM;uBAAC,UAAU,CAAA;gBAEF,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBACU,eAAe,EAAA,CAAA;sBAA9B,KAAK;gBACU,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBACU,iBAAiB,EAAA,CAAA;sBAAhC,KAAK;gBACU,gBAAgB,EAAA,CAAA;sBAA/B,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,SAAS,EAAA,CAAA;sBAAxB,KAAK;gBACU,aAAa,EAAA,CAAA;sBAA5B,KAAK;gBACU,gBAAgB,EAAA,CAAA;sBAA/B,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,eAAe,EAAA,CAAA;sBAA9B,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,kBAAkB,EAAA,CAAA;sBAAjC,KAAK;gBACU,eAAe,EAAA,CAAA;sBAA9B,KAAK;gBACU,aAAa,EAAA,CAAA;sBAA5B,KAAK;gBACU,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBAE8C,YAAY,EAAA,CAAA;sBAA/D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAA;gBACa,eAAe,EAAA,CAAA;sBAArE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAA;;;MEvBlC,uBAAuB,CAAA;IAkBlC,aAAa,GAAA;QACX,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,gBAAA,IAAI,EAAE,OAAO;AACd,aAAA,CAAC,CAAC;AACJ,SAAA;KACF;IAED,IAAa,IAAI,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KACzC;AAED,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;AAED,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;KACpC;AAED,IAAA,IAAI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;KACxC;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KAC1B;AAED,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;KAClC;AAED,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KAC1B;AAED,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;KACxB;AAED,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACzC;AAED,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;KAC1C;IAED,WAAoB,CAAA,UAAsB,EAAU,QAAmB,EAAA;QAAnD,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QApEvE,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;AACvB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;KAoE3B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AACrC,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,OAAO;AACR,SAAA;AAAM,aAAA;;YAEL,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACtD,YAAA,IAAI,cAAc,CAAC;AAEnB,YAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;AAClC,gBAAA,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;AAChC,oBAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAClC,cAAc,GAAG,IAAI,CAAC;oBACtB,OAAO;AACR,iBAAA;AACF,aAAA;;YAGD,IAAI,CAAC,cAAc,EAAE;gBACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACxC,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACxC,aAAA;AACF,SAAA;KACF;AAGD,IAAA,iBAAiB,CAAC,SAAiB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;KAC/E;AAED,IAAA,YAAY,CAAC,SAAiB,EAAE,oBAAA,GAAgC,KAAK,EAAA;AACnE,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,YAAY,UAAU,CAAC;AACjD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAC9C,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAErD,IAAI,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACpG,IAAI,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AACjG,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;AAC3C,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;AACzC,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;AAEnC,QAAA,IAAI,gBAAgB,EAAE;YACpB,aAAa,GAAG,CAAC,CAAC;YAClB,YAAY,GAAG,CAAC,CAAC;AAClB,SAAA;AAED,QAAA,IAAI,QAAQ,CAAC;AACb,QAAA,IAAI,SAAS,CAAC;QAEd,IAAI,SAAS,KAAK,KAAK,EAAE;AACvB,YAAA,QAAQ,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,OAAO,KAAK,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;AACxF,SAAA;QAED,IAAI,SAAS,KAAK,QAAQ,EAAE;AAC1B,YAAA,QAAQ,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,OAAO,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACtF,SAAA;AAED,QAAA,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,QAAQ,EAAE;AACjD,YAAA,SAAS,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;AAC/E,SAAA;QAED,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,YAAA,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;AAC3E,SAAA;QAED,IAAI,SAAS,KAAK,OAAO,EAAE;AACzB,YAAA,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;AAC3E,SAAA;AAED,QAAA,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO,EAAE;YACjD,QAAQ,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,OAAO,IAAI,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;AAChG,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,oBAAoB,EAAE;YAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC;AACzB,YAAA,MAAM,UAAU,GAAG,QAAQ,GAAG,aAAa,CAAC;YAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC;AAC3B,YAAA,MAAM,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;AAC3C,YAAA,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC;AAChD,YAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;AAE5C,YAAA,IAAI,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,UAAU,IAAI,QAAQ,GAAG,CAAC,IAAI,SAAS,GAAG,SAAS,EAAE;AACnF,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,GAAG,IAAI,CAAC;AACpC,QAAA,IAAI,CAAC,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC;KACb;IAED,SAAS,GAAA;QACP,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/C,SAAA;KACF;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YACjC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAC7D,SAAA;KACF;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;AAChC,YAAA,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,SAAc,KAAI;AACjE,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACnE,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAED,oBAAoB,GAAA;AAClB,QAAA,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE;AACzF,YAAA,IAAI,CAAC,mBAAmB,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;AAClF,SAAA;KACF;IAED,SAAS,GAAA;QACP,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;KAC1E;;oHA5MU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,wnBCTpC,kTASA,EAAA,MAAA,EAAA,CAAA,++EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDAa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,EAEb,IAAA,EAAA,EAAC,OAAO,EAAE,SAAS,EAAC,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,++EAAA,CAAA,EAAA,CAAA;yHAQjB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEoB,YAAY,EAAA,CAAA;sBAArC,WAAW;uBAAC,WAAW,CAAA;gBACG,aAAa,EAAA,CAAA;sBAAvC,WAAW;uBAAC,YAAY,CAAA;gBACK,eAAe,EAAA,CAAA;sBAA5C,WAAW;uBAAC,eAAe,CAAA;gBACK,mBAAmB,EAAA,CAAA;sBAAnD,WAAW;uBAAC,kBAAkB,CAAA;gBACH,cAAc,EAAA,CAAA;sBAAzC,WAAW;uBAAC,aAAa,CAAA;gBACM,iBAAiB,EAAA,CAAA;sBAAhD,WAAW;uBAAC,iBAAiB,CAAA;gBACO,sBAAsB,EAAA,CAAA;sBAA1D,WAAW;uBAAC,sBAAsB,CAAA;gBACA,aAAa,EAAA,CAAA;sBAA/C,WAAW;uBAAC,oBAAoB,CAAA;gBACI,eAAe,EAAA,CAAA;sBAAnD,WAAW;uBAAC,sBAAsB,CAAA;gBACC,cAAc,EAAA,CAAA;sBAAjD,WAAW;uBAAC,qBAAqB,CAAA;gBAGlC,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAS5B,IAAI,EAAA,CAAA;sBAAhB,KAAK;;;AEhCR;;;AAGG;AACI,MAAM,qBAAqB,GAAG,IAAI,cAAc,CAAiB,gBAAgB,CAAC;;ACPlF,MAAM,cAAc,GAAG;AAC5B,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,WAAW,EAAE,CAAC;AACd,IAAA,WAAW,EAAE,GAAG;AAChB,IAAA,iBAAiB,EAAE,CAAC;AACpB,IAAA,sBAAsB,EAAE,CAAC;AACzB,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,mBAAmB,EAAE,GAAG;AACxB,IAAA,0BAA0B,EAAE,GAAG;AAC/B,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,cAAc,EAAE,EAAE;AAClB,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,eAAe,EAAE,IAAI;AACrB,IAAA,oBAAoB,EAAE,IAAI;AAC1B,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,QAAQ,EAAE,CAAC;AACX,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,IAAI,EAAE,KAAK;AACX,IAAA,qBAAqB,EAAE,IAAI;CAC5B,CAAA;AAEM,MAAM,4BAA4B,GAAQ;AAC/C,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,YAAY,EAAE,WAAW;AACzB,IAAA,YAAY,EAAE,WAAW;AACzB,IAAA,mBAAmB,EAAE,sBAAsB;AAC3C,IAAA,iBAAiB,EAAE,sBAAsB;AACzC,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,oBAAoB,EAAE,mBAAmB;AACzC,IAAA,4BAA4B,EAAE,0BAA0B;AACxD,IAAA,eAAe,EAAE,cAAc;AAC/B,IAAA,gBAAgB,EAAE,oBAAoB;AACtC,IAAA,eAAe,EAAE,oBAAoB;AACrC,IAAA,WAAW,EAAE,UAAU;CACxB;;MCHY,uBAAuB,CAAA;IAsBlC,IAAsB,OAAO,CAAC,KAAqB,EAAA;QACjD,IAAI,KAAK,IAAI,cAAc,EAAE;AAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACvB,SAAA;KACF;AAED,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;;IAOD,IAA2B,gCAAgC,CAAC,KAAqC,EAAA;AAC/F,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC3B,SAAA;KACF;IAED,IAA0B,WAAW,CAAC,KAAqC,EAAA;AACzE,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC3B,SAAA;KACF;AAED,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;;IAMD,IAAsB,2BAA2B,CAAC,KAAa,EAAA;AAC7D,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACtB,SAAA;KACF;IAED,IAAqB,MAAM,CAAC,KAAa,EAAA;AACvC,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACtB,SAAA;KACF;AAED,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;;IAGD,IAAiC,sCAAsC,CAAC,KAAa,EAAA;AACnF,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AACjC,SAAA;KACF;IAED,IAAgC,iBAAiB,CAAC,KAAa,EAAA;AAC7D,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AACjC,SAAA;KACF;AAED,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAChC;;IAMD,IAA4B,iCAAiC,CAAC,KAAa,EAAA;AACzE,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC5B,SAAA;KACF;IAED,IAA2B,YAAY,CAAC,KAAa,EAAA;AACnD,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC5B,SAAA;KACF;AAED,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;;IAWD,IAAwB,6BAA6B,CAAC,KAAa,EAAA;AACjE,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACxB,SAAA;KACF;IAED,IAAuB,QAAQ,CAAC,KAAa,EAAA;AAC3C,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACxB,SAAA;KACF;AAED,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;;IAMD,IAAyB,8BAA8B,CAAC,KAAa,EAAA;AACnE,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACzB,SAAA;KACF;IAED,IAAwB,SAAS,CAAC,KAAa,EAAA;AAC7C,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACzB,SAAA;KACF;AAED,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;;IAGD,IAAyB,8BAA8B,CAAC,KAAa,EAAA;AACnE,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACzB,SAAA;KACF;IAED,IAAwB,SAAS,CAAC,KAAa,EAAA;AAC7C,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACzB,SAAA;KACF;AAED,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;AAMD,IAAA,IAAI,kBAAkB,GAAA;QACpB,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;KAClE;AAED,IAAA,IAAI,YAAY,GAAA;QACd,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO,IAAI,CAAC,aAAa,CAAC;AAC3B,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAChF,SAAA;KACF;IAED,IAAI,YAAY,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B;AAED,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAC5B,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACjC,SAAA;AAAM,aAAA;YACL,OAAO,IAAI,CAAC,eAAe,CAAC;AAC7B,SAAA;KACF;IAID,WACqD,CAAA,WAAgB,EAC3D,UAAsB,EACtB,wBAAkD,EAClD,MAAsB,EACtB,QAAkB,EAAA;QAJyB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAK;QAC3D,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAClD,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;QACtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QArM5B,IAAQ,CAAA,QAAA,GAAQ,EAAE,CAAC;QAInB,IAAY,CAAA,YAAA,GAAmC,QAAQ,CAAC;AA0L9C,QAAA,IAAA,CAAA,MAAM,GAAsB,IAAI,YAAY,EAAO,CAAC;KAQ7D;IAID,YAAY,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,gBAAgB,IAAI,KAAK,EAAE;YAClC,OAAO;AACR,SAAA;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IAID,YAAY,GAAA;QACV,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE;YACvC,IAAI,CAAC,cAAc,EAAE,CAAC;AACvB,SAAA;KACF;IAGD,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,gBAAgB,IAAI,KAAK,EAAE;YAClC,OAAO;AACR,SAAA;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;YACpD,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAA;KACxC;IAED,QAAQ,GAAA;KACP;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACjD,QAAA,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;AAEvD,QAAA,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;KAC1D;IAED,WAAW,GAAA;QACT,IAAI,CAAC,cAAc,CAAC;AAClB,YAAA,IAAI,EAAE,IAAI;AACX,SAAA,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;AACvC,SAAA;KACF;IAED,YAAY,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;KAClC;IAED,YAAY,GAAA;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,aAAa,GAAG,oBAAoB,GAAG,SAAS,CAAC;KAC9D;AAED,IAAA,aAAa,CAAC,OAAsB,EAAA;QAClC,IAAI,mBAAmB,GAAQ,EAAE,CAAC;QAClC,IAAI,gBAAgB,GAAQ,EAAE,CAAC;AAC/B,QAAA,IAAI,aAAkB,CAAC;AAEvB,QAAA,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE;AACxB,YAAA,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,cAAc,EAAE;gBACjD,mBAAmB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC;AACxD,aAAA;YACD,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,gBAAA,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC;AAC/C,aAAA;AACF,SAAA;QAED,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;AACzE,QAAA,OAAO,aAAa,CAAC;KACtB;AAED,IAAA,gBAAgB,CAAC,OAAY,EAAA;AAC3B,QAAA,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE;AACxB,YAAA,IAAI,4BAA4B,CAAC,IAAI,CAAC,EAAE;gBACtC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5D,gBAAA,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACtB,aAAA;AACF,SAAA;AAED,QAAA,OAAO,OAAO,CAAC;KAChB;IAED,kBAAkB,GAAA;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;KAC9E;IAED,aAAa,GAAA;QACX,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;AAC5C,YAAA,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;AACtD,SAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAExB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;YAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;AACzB,SAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KACzB;IAED,cAAc,CAAC,OAAO,GAAG;AACvB,QAAA,IAAI,EAAE,KAAK;AACZ,KAAA,EAAA;QACC,IAAI,CAAC,aAAa,EAAE,CAAC;AAErB,QAAA,IAAI,IAAI,CAAC,kBAAkB,IAAI,KAAK,EAAE;YACpC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;gBAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;AACrB,aAAC,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YAE3C,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAK;gBAC7C,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBACjD,OAAO;AACR,iBAAA;gBAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACnD,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;AAC5B,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,oBAAA,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI,CAAC,eAAe;AAC/B,iBAAA,CAAC,CAAC;AACL,aAAC,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;AAC1C,SAAA;KACF;IAED,eAAe,GAAA;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;QACP,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,IAAI,GAAG,IAAI,CAAC;AACtD,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI,CAAC,eAAe;AAC/B,SAAA,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;QACT,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACjD,OAAO;AACR,SAAA;QACa,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,IAAI,GAAG,KAAK,CAAC;AACvD,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,YAAA,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI,CAAC,eAAe;AAC/B,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,qBAAqB,CAAC,SAAc,EAAA;AAClC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,wBAAwB;aAC9C,uBAAuB,CAAC,SAAS,CAAC;AAClC,aAAA,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEX,QAAA,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,IAAI,GAAG;YAC/C,KAAK,EAAE,IAAI,CAAC,YAAY;AACxB,YAAA,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa;YACtC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAA;QACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACnD,QAAA,MAAM,OAAO,GAAI,IAAI,CAAC,YAAY,CAAC,QAAiC,CAAC,SAAS,CAAC,CAAC,CAAgB,CAAC;AACjG,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEnC,QAAA,IAAI,CAAC,kBAAkB,GAAiB,IAAI,CAAC,YAAY,CAAC,QAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAU,KAAI;AAClG,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC3B,SAAC,CAAC,CAAC;KACJ;IAED,aAAa,GAAA;QACX,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACpC,SAAA;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAClC,SAAA;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAClC,SAAA;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACrC,SAAA;KACF;AAED,IAAA,IAAI,gBAAgB,GAAA;QAClB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE;AACpC,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;AACrE,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC;KAC5C;AAED,IAAA,IAAI,gBAAgB,GAAA;QAClB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,EAAE;AACpC,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;AACrE,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC;KAG3C;AAED,IAAA,IAAI,aAAa,GAAA;QACf,IAAI,QAAQ,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,EAAE,GAAG,UAAU,KAAU,EAAA;YAC3B,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAC1C,SAAC,CAAA;AAED,QAAA,KAAK,cAAc,IAAI,MAAM,GAAG;AAC9B,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;;;QAID,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7E,QAAA,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;KAClB;IAED,mBAAmB,CAAC,cAAmB,EAAE,OAAY,EAAA;QACnD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACjG;AAED,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACf,gBAAA,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,IAAI,CAAC,eAAe;AAC/B,aAAA,CAAC,CAAC;AACJ,SAAA;KACF;IAEM,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO;AACR,SAAA;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACjD,IAAI,CAAC,aAAa,EAAE,CAAC;AACtB,SAAA;AAAM,aAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACnC,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,SAAA;KACF;IAEM,IAAI,GAAA;QACT,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;;AAtdU,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBA2MZ,qBAAqB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGA3MhC,uBAAuB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,SAAA,EAAA,cAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,gCAAA,EAAA,CAAA,cAAA,EAAA,kCAAA,CAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,CAAA,mBAAA,EAAA,iBAAA,CAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,2BAAA,EAAA,CAAA,SAAA,EAAA,6BAAA,CAAA,EAAA,MAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,CAAA,oBAAA,EAAA,wCAAA,CAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,iCAAA,EAAA,CAAA,eAAA,EAAA,mCAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,gBAAA,EAAA,eAAA,CAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,6BAAA,EAAA,CAAA,WAAA,EAAA,+BAAA,CAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAAA,EAAA,CAAA,YAAA,EAAA,gCAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,8BAAA,EAAA,CAAA,YAAA,EAAA,gCAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE,SAAS;AACpB,iBAAA,CAAA;;0BA6MI,QAAQ;;0BAAI,MAAM;2BAAC,qBAAqB,CAAA;gKArLrB,OAAO,EAAA,CAAA;sBAA5B,KAAK;uBAAC,SAAS,CAAA;gBAUE,YAAY,EAAA,CAAA;sBAA7B,KAAK;uBAAC,SAAS,CAAA;gBACI,SAAS,EAAA,CAAA;sBAA5B,KAAK;uBAAC,WAAW,CAAA;gBACM,aAAa,EAAA,CAAA;sBAApC,KAAK;uBAAC,eAAe,CAAA;gBAGK,gCAAgC,EAAA,CAAA;sBAA1D,KAAK;uBAAC,cAAc,CAAA;gBAMK,WAAW,EAAA,CAAA;sBAApC,KAAK;uBAAC,aAAa,CAAA;gBAUQ,eAAe,EAAA,CAAA;sBAA1C,KAAK;uBAAC,mBAAmB,CAAA;gBACK,oBAAoB,EAAA,CAAA;sBAAlD,KAAK;uBAAC,sBAAsB,CAAA;gBAGP,2BAA2B,EAAA,CAAA;sBAAhD,KAAK;uBAAC,SAAS,CAAA;gBAMK,MAAM,EAAA,CAAA;sBAA1B,KAAK;uBAAC,QAAQ,CAAA;gBAWkB,sCAAsC,EAAA,CAAA;sBAAtE,KAAK;uBAAC,oBAAoB,CAAA;gBAMK,iBAAiB,EAAA,CAAA;sBAAhD,KAAK;uBAAC,mBAAmB,CAAA;gBAWR,OAAO,EAAA,CAAA;sBAAxB,KAAK;uBAAC,SAAS,CAAA;gBAGY,iCAAiC,EAAA,CAAA;sBAA5D,KAAK;uBAAC,eAAe,CAAA;gBAMK,YAAY,EAAA,CAAA;sBAAtC,KAAK;uBAAC,cAAc,CAAA;gBAUH,OAAO,EAAA,CAAA;sBAAxB,KAAK;uBAAC,SAAS,CAAA;gBACS,aAAa,EAAA,CAAA;sBAArC,KAAK;uBAAC,gBAAgB,CAAA;gBACM,kBAAkB,EAAA,CAAA;sBAA9C,KAAK;uBAAC,oBAAoB,CAAA;gBACV,MAAM,EAAA,CAAA;sBAAtB,KAAK;uBAAC,QAAQ,CAAA;gBACC,KAAK,EAAA,CAAA;sBAApB,KAAK;uBAAC,OAAO,CAAA;gBACG,MAAM,EAAA,CAAA;sBAAtB,KAAK;uBAAC,QAAQ,CAAA;gBACC,KAAK,EAAA,CAAA;sBAApB,KAAK;uBAAC,OAAO,CAAA;gBAGU,6BAA6B,EAAA,CAAA;sBAApD,KAAK;uBAAC,WAAW,CAAA;gBAMK,QAAQ,EAAA,CAAA;sBAA9B,KAAK;uBAAC,UAAU,CAAA;gBAWJ,EAAE,EAAA,CAAA;sBAAd,KAAK;uBAAC,IAAI,CAAA;gBAGc,8BAA8B,EAAA,CAAA;sBAAtD,KAAK;uBAAC,YAAY,CAAA;gBAMK,SAAS,EAAA,CAAA;sBAAhC,KAAK;uBAAC,WAAW,CAAA;gBAWO,8BAA8B,EAAA,CAAA;sBAAtD,KAAK;uBAAC,YAAY,CAAA;gBAMK,SAAS,EAAA,CAAA;sBAAhC,KAAK;uBAAC,WAAW,CAAA;gBAUY,mBAAmB,EAAA,CAAA;sBAAhD,KAAK;uBAAC,qBAAqB,CAAA;gBACJ,aAAa,EAAA,CAAA;sBAApC,KAAK;uBAAC,eAAe,CAAA;gBACH,QAAQ,EAAA,CAAA;sBAA1B,KAAK;uBAAC,UAAU,CAAA;gBA0BP,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAYP,YAAY,EAAA,CAAA;sBAFX,YAAY;uBAAC,SAAS,CAAA;;sBACtB,YAAY;uBAAC,YAAY,CAAA;gBAW1B,YAAY,EAAA,CAAA;sBAFX,YAAY;uBAAC,UAAU,CAAA;;sBACvB,YAAY;uBAAC,YAAY,CAAA;gBAQ1B,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,CAAA;;;MClPV,oBAAoB,CAAA;IAC/B,OAAO,OAAO,CAAC,WAA2B,EAAA;QACxC,OAAO;AACL,YAAA,QAAQ,EAAE,oBAAoB;AAC9B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,qBAAqB;AAC9B,oBAAA,QAAQ,EAAE,WAAW;AACtB,iBAAA;AACF,aAAA;SACF,CAAC;KACH;;iHAXU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBAX7B,uBAAuB;QACvB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAGvB,YAAY,CAAA,EAAA,OAAA,EAAA,CAGZ,uBAAuB;QACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAGd,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAP7B,YAAY,CAAA,EAAA,CAAA,CAAA;2FAOH,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,uBAAuB;AACxB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,uBAAuB;wBACvB,uBAAuB;AACxB,qBAAA;AACF,iBAAA,CAAA;;;MCFY,wBAAwB,CAAA;AALrC,IAAA,WAAA,GAAA;AAM6B,QAAA,IAAA,CAAA,gBAAgB,GAAuB,IAAI,YAAY,EAAE,CAAC;QAErE,IAAW,CAAA,WAAA,GAAW,IAAI,CAAC;QAU3B,IAAK,CAAA,KAAA,GAAwC,SAAS,CAAC;QAEvD,IAAe,CAAA,eAAA,GAAuC,QAAQ,CAAC;QAKxE,IAAc,CAAA,cAAA,GAAY,KAAK,CAAC;QAChC,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;QAI5B,IAAiB,CAAA,iBAAA,GAAW,EAAE,CAAC;QAC9B,IAAc,CAAA,cAAA,GAAW,EAAE,CAAC;AA6FrC,KAAA;AA3FC,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAC1B,IAAI,eAAe,GAAS,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AACxG,gBAAA,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;AACvC,aAAA;AAED,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;gBACzB,IAAI,IAAI,GAAS,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;AACzF,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5B,aAAA;AAED,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACtB,gBAAA,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACvF,aAAA;AAED,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBACtB,IAAI,IAAI,GAAS,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBACnF,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;AACzE,aAAA;AACF,SAAA;KACF;IAED,eAAe,GAAA;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;AAED,IAAA,kBAAkB,CAAC,MAAe,EAAA;QAChC,IAAI,CAAC,iBAAiB,GAAG,wBAAwB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,GAAG,wBAAwB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC/C;AAED,IAAA,eAAe,CAAC,UAAgB,EAAA;QAC9B,IAAI,CAAC,iBAAiB,GAAG,wBAAwB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAC3E,QAAA,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,EAAE,GAAG,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;KAC1H;AAED,IAAA,aAAa,CAAC,OAAa,EAAA;AACzB,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAEO,kBAAkB,GAAA;QACxB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAClE,YAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/C,SAAA;KACF;IAEO,OAAO,aAAa,CAAC,OAAgB,EAAA;QAC3C,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QAED,OAAO;aACJ,OAAO,CAAC,KAAK,GAAG,EAAE,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK;aAC1D,OAAO,CAAC,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG;AACrD,YAAA,OAAO,CAAC,IAAI;AACb,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACb;IAEO,OAAO,YAAY,CAAC,IAAU,EAAA;QACpC,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QAED,OAAO;AACL,aAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;aAC3F,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;YACvE,IAAI,CAAC,cAAc,EAAE;AACtB,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACb;IAEO,OAAO,yBAAyB,CAAC,IAAU,EAAA;QACjD,IAAI,MAAM,GAAG,EAAmB,CAAC;AAEjC,QAAA,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;AACxC,QAAA,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AAE/B,QAAA,OAAO,MAAM,CAAC;KACf;IAEO,OAAO,oBAAoB,CAAC,IAAa,EAAA;AAC/C,QAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;KACxD;;qHAtHU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,6hBCjBrC,u9EA+CA,EAAA,MAAA,EAAA,CAAA,ouIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,aAAA,EAAA,WAAA,EAAA,eAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD9Ba,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,u9EAAA,EAAA,MAAA,EAAA,CAAA,ouIAAA,CAAA,EAAA,CAAA;8BAKD,gBAAgB,EAAA,CAAA;sBAA1C,MAAM;uBAAC,UAAU,CAAA;gBAEF,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBAMU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,kBAAkB,EAAA,CAAA;sBAAjC,KAAK;gBACU,eAAe,EAAA,CAAA;sBAA9B,KAAK;gBAE4C,UAAU,EAAA,CAAA;sBAA3D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,YAAY,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAA;gBACe,eAAe,EAAA,CAAA;sBAArE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAA;;;ME3BlC,2BAA2B,CAAA;AALxC,IAAA,WAAA,GAAA;QAMkB,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;QACzB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAGzB,QAAA,IAAA,CAAA,MAAM,GAAoC,IAAI,YAAY,EAAqB,CAAC;AAKlG,KAAA;AAHC,IAAA,QAAQ,CAAC,KAAwB,EAAA;AAC/B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzB;;wHATU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,+KCRxC,4PAYA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,iCAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDJa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,4PAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA;8BAKhB,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACW,MAAM,EAAA,CAAA;sBAAtB,MAAM;;;MELI,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;AAc6B,QAAA,IAAA,CAAA,cAAc,GAA0B,IAAI,YAAY,EAAE,CAAC;AAUvF,KAAA;IARC,QAAQ,GAAA;QACN,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC7E,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;KACjE;AAED,IAAA,mBAAmB,CAAC,MAA4B,EAAA;QAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KAC1C;;mHAlBU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,yHCRnC,gnCAoBA,EAAA,MAAA,EAAA,CAAA,uXAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDZa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,gnCAAA,EAAA,MAAA,EAAA,CAAA,uXAAA,CAAA,EAAA,CAAA;8BAKV,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBAQqB,cAAc,EAAA,CAAA;sBAAxC,MAAM;uBAAC,UAAU,CAAA;;;MEVP,wBAAwB,CAAA;AALrC,IAAA,WAAA,GAAA;QAOkB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC1B,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAC1C,KAAA;;qHAJY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,8HCPrC,4NAIA,EAAA,MAAA,EAAA,CAAA,4CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,SAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDGa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,4NAAA,EAAA,MAAA,EAAA,CAAA,4CAAA,CAAA,EAAA,CAAA;8BAKZ,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;;;MEHK,sBAAsB,CAAA;AAGjC,IAAA,WAAA,CAA6B,cAA8B,EAAA;QAA9B,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;KAC1D;IAEM,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;KAC7B;;mHARU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,gGCPnC,k9CA2BA,EAAA,MAAA,EAAA,CAAA,8mDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,kCAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDpBa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;;uGAKQ,aAAa,EAAA,CAAA;sBAA5B,KAAK;;;MEAK,4BAA4B,CAAA;AAGvC,IAAA,WAAA,CAA6B,cAA8B,EAAA;QAA9B,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;KAC1D;IAEM,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;KAC7B;;yHARU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,4GCRzC,slBAaA,EAAA,MAAA,EAAA,CAAA,mqEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDLa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;;uGAKQ,mBAAmB,EAAA,CAAA;sBAAlC,KAAK;;;MELK,kCAAkC,CAAA;AAD/C,IAAA,WAAA,GAAA;QAEkB,IAAa,CAAA,aAAA,GAAiC,EAAE,CAAC;AAalE,KAAA;AAXQ,IAAA,gBAAgB,CAAC,OAAmC,EAAA;AACzD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAClC;AAEM,IAAA,gBAAgB,CAAC,KAAa,EAAA;QACnC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KACrC;IAEM,kBAAkB,GAAA;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KACzD;;+HAbU,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlC,kCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,cADtB,MAAM,EAAA,CAAA,CAAA;2FAClB,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAD9C,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;MCKnB,4CAA4C,CAAA;AAGvD,IAAA,WAAA,CAA4B,kCAAsE,EAAA;QAAtE,IAAkC,CAAA,kCAAA,GAAlC,kCAAkC,CAAoC;QAFlF,IAAK,CAAA,KAAA,GAAW,IAAI,CAAC;KAGpC;;yIAJU,4CAA4C,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kCAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5C,4CAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4CAA4C,0GCRzD,+3BAoBA,EAAA,MAAA,EAAA,CAAA,i3EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,OAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDZa,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBALxD,SAAS;+BACE,wCAAwC,EAAA,QAAA,EAAA,+3BAAA,EAAA,MAAA,EAAA,CAAA,i3EAAA,CAAA,EAAA,CAAA;sHAKlC,KAAK,EAAA,CAAA;sBAApB,KAAK;;;MEFK,0BAA0B,CAAA;AALvC,IAAA,WAAA,GAAA;AAM6B,QAAA,IAAA,CAAA,iBAAiB,GAAyB,IAAI,YAAY,EAAE,CAAC;QAExE,IAAW,CAAA,WAAA,GAAW,IAAI,CAAC;QAI3B,IAAK,CAAA,KAAA,GAAwC,SAAS,CAAC;AAuCxE,KAAA;AAjCQ,IAAA,eAAe,CAAC,MAAW,EAAA;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,0BAA0B,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,YAAoB,KAAI;AACtF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC5C,aAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;gBACjB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACtD,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAEM,OAAO,mBAAmB,CAAC,IAAU,EAAA;QAC1C,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,KAAI;AAC7C,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAEhC,YAAA,MAAM,CAAC,MAAM,GAAG,MAAK;AACnB,gBAAA,MAAM,YAAY,GAAG,MAAM,CAAC,MAAgB,CAAC;gBAC7C,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC/B,aAAC,CAAC;AAEF,YAAA,MAAM,CAAC,OAAO,GAAG,MAAK;AACpB,gBAAA,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;AAChD,aAAC,CAAC;AAEF,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,SAAC,CAAC,CAAC;KACJ;IAEM,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACjC;;uHA7CU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,6SCPvC,i/DAyCA,EAAA,MAAA,EAAA,CAAA,moCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,sBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDlCa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,i/DAAA,EAAA,MAAA,EAAA,CAAA,moCAAA,CAAA,EAAA,CAAA;8BAKJ,iBAAiB,EAAA,CAAA;sBAA3C,MAAM;uBAAC,UAAU,CAAA;gBAEF,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,QAAQ,EAAA,CAAA;sBAAvB,KAAK;gBACU,KAAK,EAAA,CAAA;sBAApB,KAAK;gBACU,kBAAkB,EAAA,CAAA;sBAAjC,KAAK;gBACU,eAAe,EAAA,CAAA;sBAA9B,KAAK;;;MEqDK,yBAAyB,CAAA;;sHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,iBA3ClC,0BAA0B;QAC1B,sBAAsB;QACtB,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,4BAA4B;QAC5B,oBAAoB;QACpB,4BAA4B;QAC5B,4CAA4C;QAC5C,2BAA2B;QAC3B,sBAAsB;AACtB,QAAA,yBAAyB,0EAOzB,YAAY;AACZ,QAAA,WAAW,wBAEX,mBAAmB;QACnB,cAAc;QACd,cAAc;QACd,uBAAuB;QACvB,mBAAmB;AACnB,QAAA,oBAAoB,aAGpB,0BAA0B;QAC1B,sBAAsB;QACtB,wBAAwB;QACxB,wBAAwB;QACxB,sBAAsB;QACtB,4BAA4B;QAC5B,oBAAoB;QACpB,4CAA4C;QAC5C,2BAA2B;QAC3B,sBAAsB;QACtB,yBAAyB;QACzB,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAGX,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EA7BlC,OAAA,EAAA,CAAA,oBAAoB,CAAC,OAAO,EAAE;QAC9B,6BAA6B,CAAC,OAAO,CAAC;AACpC,YAAA,SAAS,EAAE,kCAAkC;SAC9C,CAAC;QACF,YAAY;QACZ,WAAW;AACX,QAAA,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,mBAAmB;QACnB,cAAc;QACd,cAAc;QACd,uBAAuB;QACvB,mBAAmB;AACnB,QAAA,oBAAoB,EAcpB,oBAAoB,CAAA,EAAA,CAAA,CAAA;2FAGX,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA7CrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;wBAC1B,sBAAsB;wBACtB,wBAAwB;wBACxB,wBAAwB;wBACxB,sBAAsB;wBACtB,4BAA4B;wBAC5B,oBAAoB;wBACpB,4BAA4B;wBAC5B,4CAA4C;wBAC5C,2BAA2B;wBAC3B,sBAAsB;wBACtB,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB,CAAC,OAAO,EAAE;wBAC9B,6BAA6B,CAAC,OAAO,CAAC;AACpC,4BAAA,SAAS,EAAE,kCAAkC;yBAC9C,CAAC;wBACF,YAAY;wBACZ,WAAW;AACX,wBAAA,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChC,mBAAmB;wBACnB,cAAc;wBACd,cAAc;wBACd,uBAAuB;wBACvB,mBAAmB;wBACnB,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;wBAC1B,sBAAsB;wBACtB,wBAAwB;wBACxB,wBAAwB;wBACxB,sBAAsB;wBACtB,4BAA4B;wBAC5B,oBAAoB;wBACpB,4CAA4C;wBAC5C,2BAA2B;wBAC3B,sBAAsB;wBACtB,yBAAyB;wBACzB,oBAAoB;AACrB,qBAAA;AACF,iBAAA,CAAA;;;MCzDY,2BAA2B,CAAA;IACtC,WAA6B,CAAA,QAAkB,EAAmB,kCAAsE,EAAA;QAA3G,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAmB,IAAkC,CAAA,kCAAA,GAAlC,kCAAkC,CAAoC;KACvI;AAEM,IAAA,SAAS,CAAC,6BAA4D,EAAE,mBAA4B,KAAK,EAAE,YAAuC,IAAI,EAAA;QAC3J,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE;AAC1D,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,UAAU,EAAE,gBAAgB;AAC5B,YAAA,IAAI,EAAE,SAAS;AAChB,SAAA,CAAC,CAAC;AACH,QAAA,QAAQ,CAAC,iBAAiB,CAAC,aAAa,GAAG,6BAA6B,CAAC;KAC1E;AAEM,IAAA,4BAA4B,CAAC,mBAA+C,EAAA;QACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE;AAChE,YAAA,gBAAgB,EAAE,0BAA0B;AAC5C,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;AACH,QAAA,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;KACtE;AAEM,IAAA,wBAAwB,CAAC,mBAA+C,EAAA;AAC7E,QAAA,IAAI,CAAC,kCAAkC,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;KAC/E;;wHAvBU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,IAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAQ,kCAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cADf,MAAM,EAAA,CAAA,CAAA;2FAClB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;;ACVhC;;AAEG;;ACFH;;AAEG;;;;"}