@dev-tcloud/tcloud-ui 0.0.90 → 0.0.92
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.
- package/esm2020/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.mjs +16 -4
- package/esm2020/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.mjs +3 -3
- package/esm2020/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.mjs +12 -5
- package/fesm2015/dev-tcloud-tcloud-ui.mjs +28 -9
- package/fesm2015/dev-tcloud-tcloud-ui.mjs.map +1 -1
- package/fesm2020/dev-tcloud-tcloud-ui.mjs +28 -9
- package/fesm2020/dev-tcloud-tcloud-ui.mjs.map +1 -1
- package/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.d.ts +2 -2
- package/package.json +1 -1
- package/scss/tcloud/custom/buttons.scss +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-tcloud-tcloud-ui.mjs","sources":["../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/services/data-list.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.ts","../../../projects/tcloud-ui/src/lib/_pipes/monthname.ts","../../../projects/tcloud-ui/src/lib/_pipes/statusinfo.ts","../../../projects/tcloud-ui/src/lib/_pipes/respective.ts","../../../projects/tcloud-ui/src/lib/_pipes/cnpj.ts","../../../projects/tcloud-ui/src/lib/_pipes/cpf.ts","../../../projects/tcloud-ui/src/lib/_pipes/bytes.ts","../../../projects/tcloud-ui/src/lib/_pipes/datebr.ts","../../../projects/tcloud-ui/src/lib/_services/search-in-object.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.ts","../../../projects/tcloud-ui/src/lib/_directives/align/align.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/hover-parent/hover-parent.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tooltip/tooltip.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/directives.module.ts","../../../projects/tcloud-ui/src/lib/_pipes/tcloud-pipes.module.ts","../../../projects/tcloud-ui/src/lib/_services/loading-transitions.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.ts","../../../projects/tcloud-ui/src/lib/tcloud-ui.module.ts","../../../projects/tcloud-ui/src/public-api.ts","../../../projects/tcloud-ui/src/dev-tcloud-tcloud-ui.ts"],"sourcesContent":["import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-linha-logo',\r\n templateUrl: './tcloud-ui-linha-logo.component.html',\r\n styleUrls: ['./tcloud-ui-linha-logo.component.scss']\r\n})\r\nexport class TCloudUiLinhaLogoComponent implements OnInit {\r\n\r\n @Input() url: any = `h`+`t`+`t`+`p`+`s`+`:`+`/`+`/`+`ateleia`+`-`+`email`+`.s3`+`-`+`sa`+`-`+`east`+`-`+`1`+`.`+`amazonaws`+`.`+`com`+`/`; \r\n @Input() product: string = '';\r\n\r\n logo_name: string = '';\r\n product_name: string = '';\r\n alt_product_name: string = '';\r\n font_size: string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.logo_name = this.getLogoName();\r\n this.product_name = this.getProductName();\r\n \r\n this.alt_product_name = (this.product_name).toUpperCase();\r\n\r\n this.font_size = this.getWidthFontSize();\r\n }\r\n\r\n getProductName(){\r\n if( this.product !== '' ){\r\n let name = this.product;\r\n name = (name).replace('_',' ');\r\n name = (name).toLowerCase();\r\n return name;\r\n }\r\n return '';\r\n }\r\n\r\n getLogoName(){\r\n if( this.product !== '' ){\r\n let name = this.product;\r\n name = (name).replace('_','-');\r\n name = (name).toLowerCase();\r\n return 'logo-linha-'+name;\r\n }\r\n return '';\r\n }\r\n\r\n getWidthFontSize(){\r\n let size = 28;\r\n let new_size = size;\r\n const count = (this.product_name).length; \r\n\r\n if( count > 8 ){\r\n new_size = 28;\r\n }\r\n\r\n if( count > 12 ){\r\n const p = (size * (5+(count*2)) ) / 100;\r\n new_size = (size - p);\r\n }\r\n\r\n if( count > 15 ){\r\n const p = (size * (10+(count*2)) ) / 100;\r\n new_size = (size - p);\r\n }\r\n\r\n\r\n\r\n return `${new_size}px`;\r\n }\r\n\r\n}\r\n","<!-- <div class=\"logo-product\" *ngIf=\"product !== ''\">\r\n <img class=\"img-logo\" src=\"/assets/img/logo-totvs.svg\" alt=\"{{ alt_product_name }}\">\r\n <p class=\"text-small\">Linha</p>\r\n <p class=\"text-product\" [style]=\"'font-size:'+font_size+';'\" >{{ product_name }}</p>\r\n</div> -->\r\n\r\n<div class=\"logo-product\" *ngIf=\"product !== ''\">\r\n <img class=\"img-logo\" [attr.data-name-image]=\"logo_name\" [attr.src]=\"url+logo_name+'.svg'\" alt=\"{{ alt_product_name }}\">\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLinhaLogoComponent } from './tcloud-ui-linha-logo.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLinhaLogoComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiLinhaLogoComponent\r\n ]\r\n})\r\nexport class TCloudUiLinhaLogoModule { }\r\n","import { ITab } from './../tcloud-ui-tab-menu';\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class TabMenuService {\r\n\r\n private info_tab: ITab[] = [];\r\n\r\n private _scroll: boolean | undefined;\r\n private scrollSubject = new Subject<boolean>(); \r\n public scrollState$ = this.scrollSubject.asObservable();\r\n\r\n private _tab: string | undefined;\r\n private tabSubject = new Subject<string>(); \r\n public tabState$ = this.tabSubject.asObservable();\r\n\r\n private _loading: boolean | undefined;\r\n private loadingSubject = new Subject<boolean>(); \r\n public loadingState$ = this.loadingSubject.asObservable();\r\n\r\n constructor(\r\n private _route: ActivatedRoute,\r\n private _router: Router\r\n ){\r\n\r\n }\r\n\r\n setTabScroll(scroll: boolean){\r\n this._scroll = scroll;\r\n this.scrollSubject.next(scroll);\r\n }\r\n\r\n getTabScroll(){\r\n return this._scroll;\r\n }\r\n\r\n setTabLoading(loading: boolean){\r\n this._loading = loading;\r\n this.loadingSubject.next(loading);\r\n }\r\n\r\n getTabLoading(){\r\n return this._loading;\r\n }\r\n\r\n setTabState(tab: string, registerInUrl?:boolean | undefined){\r\n this._tab = tab;\r\n if( registerInUrl ){ this.set_to_param_url(tab); } \r\n this.tabSubject.next(tab);\r\n }\r\n\r\n getTabState(){\r\n return this._tab;\r\n }\r\n\r\n setTabDisabled(id: string, disabled: boolean ){\r\n let create = true;\r\n if( this.info_tab && (this.info_tab).length > 0 ){\r\n for( let i = 0; i < (this.info_tab).length; i++ ){\r\n if( this.info_tab[i].id === id ){\r\n this.info_tab[i].disabled = disabled;\r\n create = false;\r\n break;\r\n }\r\n }\r\n }\r\n if( create ){\r\n (this.info_tab).push({ id:id, disabled: disabled });\r\n } \r\n }\r\n\r\n getIsDisabled(id: string){\r\n if( this.info_tab && (this.info_tab).length > 0 ){\r\n for( let i = 0; i < (this.info_tab).length; i++ ){\r\n if( this.info_tab[i].id === id ){\r\n return this.info_tab[i].disabled;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n set_to_param_url(tab: string){\r\n // changes the route without moving from the current view or\r\n // triggering a navigation event,\r\n this._router.navigate([], {\r\n relativeTo: this._route,\r\n queryParams: {\r\n tab: `${tab}`\r\n },\r\n queryParamsHandling: 'merge',\r\n // preserve the existing query params in the route\r\n skipLocationChange: false\r\n // do not trigger navigation\r\n });\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\r\nimport { TabMenuService } from './services/tab-menu.service';\r\nimport { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-menu',\r\n templateUrl: './tcloud-ui-tab-menu.component.html',\r\n styleUrls: ['./tcloud-ui-tab-menu.component.scss'],\r\n providers: [ TabMenuService ]\r\n})\r\nexport class TCloudUiTabMenuComponent implements OnInit, OnDestroy {\r\n\r\n @Input() registerInUrl: boolean = false;\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(loading: boolean){\r\n this._loading = loading;\r\n this.tabMenuService.setTabLoading(this.loading);\r\n }\r\n get loading(): boolean{ return this._loading; }\r\n\r\n private _active: string = '';\r\n @Input() set active(active: string){\r\n this._active = active;\r\n if( this.active !== '' ){\r\n setTimeout(() => {\r\n this.tabMenuService.setTabState(this.active, this.registerInUrl);\r\n });\r\n \r\n }\r\n }\r\n get active(): string{ return this._active; }\r\n\r\n\r\n @Output() onChange = new EventEmitter<string>();\r\n\r\n private subscription: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n const tab = this.tabMenuService.getTabState();\r\n if( tab === this._active ){\r\n this.onChange.emit(tab);\r\n }\r\n\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n this.onChange.emit(tab);\r\n })\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tc-tab-menu\" [class.loading]=\"loading\" >\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-content',\r\n templateUrl: './tcloud-ui-tab-content.component.html',\r\n styleUrls: ['./tcloud-ui-tab-content.component.scss']\r\n})\r\nexport class TCloudUiTabContentComponent implements OnInit {\r\n\r\n @Input() hideContent: boolean = false;\r\n @Input() tab: string = '';\r\n\r\n active: boolean = false;\r\n \r\n private subscription: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n const disabled = this.tabMenuService.getIsDisabled(this.tab);\r\n const tab = this.tabMenuService.getTabState();\r\n\r\n this.active = ( tab === this.tab && !disabled );\r\n\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n this.active = ( tab === this.tab );\r\n });\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tc-tabmenu-content\" *ngIf=\"active || hideContent\" [class.tc-table-hide]=\"!active\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n","import { OnDestroy } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-title',\r\n templateUrl: './tcloud-ui-tab-title.component.html',\r\n styleUrls: ['./tcloud-ui-tab-title.component.scss']\r\n})\r\nexport class TCloudUiTabTitleComponent implements OnInit, OnDestroy {\r\n\r\n @Input() tab: string = '';\r\n @Input() title: string | undefined;\r\n @Input() active: boolean = false;\r\n\r\n loading: boolean = false;\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(disabled){\r\n this._disabled = disabled;\r\n this.tabMenuService.setTabDisabled( this.tab, this._disabled );\r\n }\r\n get disabled(): boolean { return this._disabled; }\r\n\r\n \r\n\r\n private subscription: Subscription | undefined;\r\n private subscription2: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n if( !this.disabled ){\r\n const tab = this.tabMenuService.getTabState();\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n }\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n })\r\n\r\n this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription2 = this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\r\n })\r\n }\r\n\r\n toTab(){\r\n if( !this.disabled ){\r\n if( this.tab && this.tab !== '' ){\r\n this.tabMenuService.setTabState(this.tab);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n if( this.subscription2 ){ this.subscription2.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<button [class.loading]=\"loading\" [attr.data-id]=\"tab\" [class.tab-title-active]=\"active\" [disabled]=\"disabled || loading\" type=\"button\" (click)=\"toTab()\" class=\"tab-title\" >\r\n <ng-content></ng-content>\r\n</button>\r\n","import { OnDestroy } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-subtitle',\r\n templateUrl: './tcloud-ui-tab-subtitle.component.html',\r\n styleUrls: ['./tcloud-ui-tab-subtitle.component.scss']\r\n})\r\nexport class TCloudUiTabSubtitleComponent implements OnInit, OnDestroy {\r\n\r\n @Input() tab: string = '';\r\n @Input() active: boolean = false;\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(disabled){\r\n this._disabled = disabled;\r\n this.tabMenuService.setTabDisabled( this.tab, this._disabled );\r\n }\r\n get disabled(): boolean { return this._disabled; }\r\n\r\n loading: boolean = false;\r\n\r\n private subscription: Subscription | undefined;\r\n private subscription2: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n if( !this.disabled ){\r\n const tab = this.tabMenuService.getTabState();\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n }\r\n\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n })\r\n\r\n this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription2 = this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\r\n })\r\n }\r\n\r\n toTab(){\r\n if( !this.disabled ){\r\n if( this.tab && this.tab !== '' ){\r\n this.tabMenuService.setTabState(this.tab);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n if( this.subscription2 ){ this.subscription2.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<button [class.loading]=\"loading\" [attr.data-id]=\"tab\" [class.tab-subtitle-active]=\"active\" [disabled]=\"disabled || loading\" type=\"button\" (click)=\"toTab()\" class=\"tab-subtitle\" >\r\n <ng-content></ng-content>\r\n</button>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-head',\r\n templateUrl: './tcloud-ui-tab-head.component.html',\r\n styleUrls: ['./tcloud-ui-tab-head.component.scss']\r\n})\r\nexport class TCloudUiTabHeadComponent implements OnInit {\r\n\r\n private _scroll: boolean = true;\r\n @Input() set scroll(scroll: boolean){\r\n if( typeof scroll === 'boolean' ){\r\n this._scroll = scroll;\r\n this.tabMenuService.setTabScroll(scroll);\r\n }\r\n }\r\n get scroll(): boolean { return this._scroll; }\r\n\r\n ID: string = '';\r\n @Input() background: boolean = true;\r\n\r\n background_color: string = 'transparent'; // var(--cinza4)\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if( this.background ){\r\n this.background_color = 'var(--cinza4)';\r\n }\r\n this.ID = this.generateID();\r\n }\r\n\r\n generateID(): string{\r\n return `tc-head-scroll-box-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n to_scroll(action: 'prev'|'next'){\r\n this.moveScroll(action, this.width_scroll());\r\n }\r\n \r\n private width_scroll(): number{\r\n var ele = <any> document.querySelectorAll(`.${this.ID}`); \r\n return ele[0].querySelector(\"button\").offsetWidth;\r\n }\r\n\r\n private scrollSuave(old:any, des:any, atu:any, ele:any){\r\n const _this = this;\r\n var easeOutCubic = (t:any) => { return (--t)*t*t+1 };\r\n atu += 5; // move de 5 em 5 pixel. Aumentando o valor da velocidade\r\n var ease = easeOutCubic(atu/100);\r\n var del = des-old;\r\n del *= ease;\r\n del += old;\r\n ele.scrollTo(del, 0);\r\n if(atu < 100){\r\n window.requestAnimationFrame(() => {\r\n _this.scrollSuave(old, des, atu, ele);\r\n });\r\n }\r\n }\r\n\r\n private moveScroll(action: any, wid: number){\r\n var ele = document.querySelectorAll(`.${this.ID}`);\r\n var ccs = ele[0];\r\n var ccs_s = ccs.scrollLeft;\r\n this.scrollSuave(ccs_s, action == 'next' ? wid+ccs_s : ccs_s-wid, 0, ccs);\r\n }\r\n\r\n}\r\n","\r\n\r\n<table class=\"area-navigation\">\r\n <tr>\r\n <td *ngIf=\"scroll\">\r\n <button (click)=\"to_scroll('prev')\"> <i class=\"fas fa-chevron-left\"></i> </button>\r\n </td>\r\n\r\n <td>\r\n \r\n </td>\r\n\r\n <td *ngIf=\"scroll\">\r\n <button (click)=\"to_scroll('next')\"> <i class=\"fas fa-chevron-right\"></i> </button>\r\n </td>\r\n </tr>\r\n</table>\r\n\r\n<div class=\"tc-menu {{ ID }}\" [attr.style]=\"'background: ' + background_color + ';'\" [class.tab-full]=\"!scroll\" >\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiTabMenuComponent } from './tcloud-ui-tab-menu.component';\r\nimport { TCloudUiTabContentComponent } from './components/tcloud-ui-tab-content/tcloud-ui-tab-content.component';\r\nimport { TCloudUiTabTitleComponent } from './components/tcloud-ui-tab-title/tcloud-ui-tab-title.component';\r\nimport { TCloudUiTabSubtitleComponent } from './components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component';\r\nimport { TCloudUiTabHeadComponent } from './components/tcloud-ui-tab-head/tcloud-ui-tab-head.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTabMenuComponent,\r\n TCloudUiTabContentComponent,\r\n TCloudUiTabTitleComponent,\r\n TCloudUiTabSubtitleComponent,\r\n TCloudUiTabHeadComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiTabMenuComponent,\r\n TCloudUiTabContentComponent,\r\n TCloudUiTabTitleComponent,\r\n TCloudUiTabSubtitleComponent,\r\n TCloudUiTabHeadComponent\r\n ],\r\n})\r\nexport class TCloudUiTabMenuModule { }\r\n","import { IConfirm } from './../tcloud-ui-modal';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TcloudModalService {\r\n\r\n private loading: boolean | undefined;\r\n\r\n private param_confirm: IConfirm = {} as IConfirm;\r\n\r\n private _stateClose = new Subject<boolean>();\r\n public stateClose$ = this._stateClose.asObservable();\r\n\r\n private _stateConfirm = new Subject<IConfirm>();\r\n public stateConfirm$ = this._stateConfirm.asObservable();\r\n\r\n private _stateRespConfirm = new Subject<boolean>();\r\n public stateRespConfirm$ = this._stateRespConfirm.asObservable();\r\n\r\n private _stateLoading = new Subject<boolean>();\r\n public stateLoading$ = this._stateLoading.asObservable();\r\n\r\n\r\n toModal(action: 'open'|'close'): void{\r\n if(action === 'close'){\r\n this.fixed_body('off');\r\n }\r\n this._stateClose.next( (action === 'open') );\r\n }\r\n\r\n toRespConfirm(resp: boolean){ \r\n this._stateRespConfirm.next(resp);\r\n }\r\n\r\n getParamConfirm(): IConfirm{\r\n return this.param_confirm;\r\n }\r\n\r\n toConfirm(confirm: IConfirm){\r\n this.param_confirm = confirm;\r\n this._stateConfirm.next(confirm);\r\n }\r\n\r\n getLoading(){\r\n return this.loading;\r\n }\r\n\r\n setLoading(loading: boolean){\r\n this.loading = loading;\r\n this._stateLoading.next(loading);\r\n }\r\n\r\n fixed_body(fixed: 'on'|'off'){ \r\n let body = <any> document.getElementsByTagName(\"BODY\")[0];\r\n if( body && body.style ){\r\n if( fixed === 'on' ){\r\n body.style.overflowY = \"hidden\";\r\n }\r\n if( fixed === 'off' ){\r\n body.style.removeProperty('overflow-y');\r\n }\r\n }\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\r\nimport { Component, OnInit, Input, EventEmitter, Output, OnDestroy } from '@angular/core';\r\nimport { TcloudModalService } from './services/tcloud-modal.service';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { IConfirm } from './tcloud-ui-modal';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal',\r\n templateUrl: './tcloud-ui-modal.component.html',\r\n styleUrls: ['./tcloud-ui-modal.component.scss'],\r\n providers: [\r\n TcloudModalService\r\n ],\r\n animations: [\r\n trigger('fade', [\r\n state('visible', style({ opacity: 1 })),\r\n state('hide', style({ opacity: 0, top: '-38%' })),\r\n transition('void => visible', [\r\n style({ opacity: 0, top: '-38%' }),\r\n animate('0.3s ease-out')\r\n ]),\r\n transition('visible => hide', animate('0.3s ease-out'))\r\n ])\r\n ]\r\n})\r\nexport class TCloudUiModalComponent implements OnInit, OnDestroy {\r\n\r\n /**\r\n * tcloud-ui-modal - Cria e exibe um modal\r\n * \r\n * toAction - (toAction) - Resultado do evento - 'confirmed'|'cancel'|'close'\r\n * toConfirm - (toConfirm) - Indica que a ação foi confirmada - resultado true\r\n * toCancel - (toCancel() - Indica que a ação foi cancelada - resultado false\r\n */\r\n\r\n param_confirm: IConfirm = {} as IConfirm;\r\n /* BEGIN - Parametros para modo confirmacao */\r\n private _confirm: boolean = false;\r\n private _confirmText: string = 'Confirmo';\r\n\r\n /**\r\n * confirm boolean - Indica se será um modal do tipo confirmação - default false\r\n */\r\n @Input() set confirm(v: boolean){\r\n this._confirm = v;\r\n this.param_confirm.confirm = this._confirm;\r\n this.param_confirm.confirmText = this._confirmText;\r\n }\r\n\r\n /**\r\n * confirmText string - Texto que deverá ser digitado - defualt Confirmo\r\n */\r\n @Input() set confirmText(v: string){\r\n this._confirmText = v;\r\n this.param_confirm.confirmText = this._confirmText;\r\n this.param_confirm.confirm = this._confirm; \r\n }\r\n\r\n /* END --- Parametros para modo confirmacao */\r\n\r\n subscription: Subscription | undefined;\r\n subscriptionI: Subscription | undefined;\r\n\r\n /**\r\n * autoClose boolean - Indica se deverá ser fechado quando confirmar uma ação - default true\r\n */\r\n @Input() autoClose: boolean = true;\r\n\r\n /**\r\n * title - string - Título a ser exibido no topo do modal\r\n */\r\n @Input() title: any | undefined;\r\n\r\n /**\r\n * maxWidth - number - Largura máxima do modal - default 500px\r\n */\r\n @Input() maxWidth: number = 500;\r\n\r\n\r\n /**\r\n * window - string - nome referente ao tamanho do modal - não utilizar maxWidth se for utilizar window - default 500 (medium)\r\n */\r\n @Input() set window( size: 'small' | 'medium' | 'large' | 'big' | 'full' ){\r\n switch (size) {\r\n case 'small': this.maxWidth = 300; break;\r\n case 'medium': this.maxWidth = 500; break;\r\n case 'large': this.maxWidth = 900; break;\r\n case 'big': this.maxWidth = 1100; break;\r\n case 'full': this.maxWidth = 1400; break;\r\n }\r\n }\r\n\r\n \r\n control_open: boolean = false;\r\n private _open: boolean = false;\r\n /**\r\n * open - boolean - Variável de controle para exibição do modal - obrigatório\r\n */\r\n @Input() set open(open: boolean){\r\n this.control_open = open;\r\n this.checkIsOpen();\r\n\r\n this._open = open;\r\n this.tcloudModalService.fixed_body((open) ? 'on' : 'off');\r\n }\r\n get open(): boolean { return this._open; }\r\n\r\n private _loading: boolean = false;\r\n /**\r\n * loading - boolean - Coloca o modal em modo de carregamento - default false\r\n */\r\n @Input() set loading(loading: boolean){ \r\n this._loading = loading;\r\n this.tcloudModalService.setLoading(loading);\r\n }\r\n get loading(): boolean { return this._loading; }\r\n \r\n @Output() openChange = new EventEmitter<boolean>();\r\n\r\n @Output() toConfirm = new EventEmitter<boolean>();\r\n @Output() toCancel = new EventEmitter<boolean>();\r\n @Output() toAction = new EventEmitter<'confirmed'|'cancel'|'close'>();\r\n\r\n constructor(\r\n private tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.subscription = this.tcloudModalService.stateClose$.subscribe((open: boolean)=>{\r\n if( open ){\r\n /* OPEN */\r\n }\r\n\r\n if( !open ){\r\n /* CLOSE */\r\n this.toClose();\r\n }\r\n });\r\n\r\n this.subscriptionI = this.tcloudModalService.stateRespConfirm$.subscribe((resp: boolean)=>{\r\n if( resp ){\r\n /* CONFIRMADO */\r\n this.toConfirm.emit(resp);\r\n this.toClose('confirmed');\r\n\r\n }\r\n\r\n if( !resp ){\r\n /* CANCELADO */\r\n this.toCancel.emit(resp);\r\n this.toClose('cancel');\r\n }\r\n })\r\n \r\n this.tcloudModalService.toConfirm( this.param_confirm );\r\n }\r\n\r\n toClose(action?: any | undefined){\r\n if( this.autoClose ){\r\n this.control_open = false;\r\n this.open = false;\r\n this.openChange.emit(false);\r\n }\r\n \r\n action = (action) ? action : 'close';\r\n this.toAction.emit(action);\r\n this.tcloudModalService.fixed_body('off');\r\n }\r\n\r\n checkIsOpen(){\r\n if( this.control_open ){\r\n this.tcloudModalService.fixed_body('on');\r\n }else{\r\n this.tcloudModalService.fixed_body('off');\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n this.checkIsOpen();\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n\r\n}\r\n","<div class=\"tc-background-modal\" *ngIf=\"control_open\" >{{ checkIsOpen() }}</div>\r\n\r\n<div class=\"base-modal\" *ngIf=\"open\">\r\n <div class=\"sub-modal\" [@fade]=\"'visible'\">\r\n <div class=\"tc-modal tc-modal-shadow\" [attr.style]=\"'max-width: ' + maxWidth + 'px;'\">\r\n <div class=\"area-top-actions\">\r\n <button type=\"button\" [class.no-use-header]=\"title\" (click)=\"toClose()\" [disabled]=\"loading\">\r\n <i *ngIf=\"!loading\" class=\"fas fa-times\"></i>\r\n <i *ngIf=\"loading\" class=\"fas fa-spinner fa-spin\"></i>\r\n </button>\r\n </div>\r\n\r\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\r\n\r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Ex: Modal -->\r\n<!-- \r\n <tcloud-ui-modal [(open)]=\"open\">\r\n\r\n <tcloud-ui-modal-header title=\"Título do Modal\" ></tcloud-ui-modal-header>\r\n\r\n <tcloud-ui-modal-body>\r\n Conteúdo do modal aqui\r\n </tcloud-ui-modal-body>\r\n\r\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\r\n\r\n </tcloud-ui-modal>\r\n\r\n <button type=\"button\" (click)=\"open = !open\">open modal {{ open }}</button>\r\n-->\r\n\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n\r\n<!-- Ex: Confirm Modal -->\r\n<!-- \r\n <tcloud-ui-modal [(open)]=\"open_confirm\" [title]=\"'Atenção'\" [confirmText]=\"'Aceito'\" [confirm]=\"true\" (toAction)=\"$event\" >\r\n\r\n <tcloud-ui-modal-body>Deseja realmente executar esta ação?</tcloud-ui-modal-body>\r\n\r\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\r\n\r\n </tcloud-ui-modal>\r\n\r\n <button type=\"button\" (click)=\"open_confirm = !open_confirm\">open_confirm modal {{ open_confirm }}</button>\r\n-->","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal-header',\r\n templateUrl: './tcloud-ui-modal-header.component.html',\r\n styleUrls: ['./tcloud-ui-modal-header.component.scss']\r\n})\r\nexport class TCloudUiModalHeaderComponent implements OnInit {\r\n\r\n @Input() mode: 'info' | 'success' | 'danger' | 'warning' = 'info';\r\n @Input() title: any | undefined;\r\n \r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"tc-modal-header tc-mode-{{ mode }}\" >\r\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\r\n <ng-content></ng-content>\r\n\r\n <hr>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal-body',\r\n templateUrl: './tcloud-ui-modal-body.component.html',\r\n styleUrls: ['./tcloud-ui-modal-body.component.scss']\r\n})\r\nexport class TCloudUiModalBodyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"tc-modal-body\">\r\n <ng-content></ng-content>\r\n</div>","import { Subscription } from 'rxjs';\r\nimport { TcloudModalService } from './../../services/tcloud-modal.service';\r\nimport { Component, OnInit, ViewChild, Input, OnDestroy } from '@angular/core';\r\nimport { IConfirm } from '../../tcloud-ui-modal';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal-footer',\r\n templateUrl: './tcloud-ui-modal-footer.component.html',\r\n styleUrls: ['./tcloud-ui-modal-footer.component.scss']\r\n})\r\nexport class TCloudUiModalFooterComponent implements OnInit, OnDestroy {\r\n\r\n @Input() btnCloseText: string = 'Fechar';\r\n @Input() btnCancelText: string = 'Cancelar';\r\n @Input() btnConfirmText: string = 'Confirmar';\r\n\r\n @ViewChild('_formulario') _formulario: NgForm | undefined; \r\n txt_value: string = '';\r\n\r\n param_confirm: IConfirm = {} as IConfirm;\r\n\r\n loading: boolean = false;\r\n\r\n subscription: Subscription |undefined\r\n\r\n constructor(\r\n private tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.txt_value = '';\r\n this.param_confirm = this.tcloudModalService.getParamConfirm();\r\n\r\n this.toStateLoading();\r\n }\r\n\r\n toClose(){\r\n this.tcloudModalService.toModal('close');\r\n }\r\n\r\n toConfirm(valid: boolean | any){\r\n if( typeof valid === 'boolean' ){\r\n if( valid && (this.txt_value).toLowerCase() === (this.param_confirm.confirmText).toLowerCase() ){\r\n this.tcloudModalService.toRespConfirm(true);\r\n this.txt_value = ''; \r\n }\r\n }\r\n }\r\n\r\n toCancel(){\r\n this.tcloudModalService.toRespConfirm(false);\r\n }\r\n\r\n toStateLoading(){\r\n this.loading = <any> this.tcloudModalService.getLoading();\r\n this.subscription = this.tcloudModalService.stateLoading$.subscribe((loading: boolean) => { this.loading = loading; } )\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.tcloudModalService.fixed_body('off');\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tc-modal-footer\">\r\n\r\n <div class=\"input-confirm\" *ngIf=\"param_confirm && param_confirm.confirmText\">\r\n <p>Digite a palavra <strong>"{{ param_confirm.confirmText }}"</strong> para confirmar.</p>\r\n \r\n <form #_formulario=\"ngForm\" (ngSubmit)=\"toConfirm(_formulario.valid)\">\r\n <input \r\n [disabled]=\"loading\"\r\n placeholder=\"{{ param_confirm.confirmText }}\"\r\n name=\"txt_value\" \r\n [(ngModel)]=\"txt_value\" \r\n type=\"text\" \r\n class=\"form-control form-confirm\" \r\n required \r\n [class.different-text]=\"(txt_value).length >= (param_confirm.confirmText).length && (txt_value).toLowerCase() !== (param_confirm.confirmText).toLowerCase()\" >\r\n </form>\r\n\r\n </div>\r\n\r\n <hr>\r\n\r\n <div class=\"actions-footer {{ (loading) ? 'state-loading' : '' }}\">\r\n <!-- {{ param_confirm | json }} -->\r\n <button [disabled]=\"loading\" *ngIf=\"param_confirm && !param_confirm.confirm\" type=\"button\" class=\"btn-new-grey tc-btn margin-l-5\" (click)=\"toClose()\">{{ btnCloseText }}</button>\r\n\r\n <button [disabled]=\"loading\" *ngIf=\"param_confirm && param_confirm.confirm\" type=\"button\" class=\"btn-new-grey tc-btn margin-l-5\" (click)=\"toCancel()\">{{ btnCancelText }}</button>\r\n <button [disabled]=\"(txt_value).toLowerCase() !== (param_confirm.confirmText).toLowerCase() || loading\" *ngIf=\"param_confirm && param_confirm.confirm\" type=\"button\" class=\"btn-new-green tc-btn tc-btn-primary margin-l-5\" (click)=\"toConfirm(_formulario?.valid)\">{{ btnConfirmText }}</button>\r\n\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiModalComponent } from './tcloud-ui-modal.component';\r\nimport { TCloudUiModalHeaderComponent } from './components/tcloud-ui-modal-header/tcloud-ui-modal-header.component';\r\nimport { TCloudUiModalBodyComponent } from './components/tcloud-ui-modal-body/tcloud-ui-modal-body.component';\r\nimport { TCloudUiModalFooterComponent } from './components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiModalComponent,\r\n TCloudUiModalHeaderComponent,\r\n TCloudUiModalBodyComponent,\r\n TCloudUiModalFooterComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n TCloudUiModalComponent,\r\n TCloudUiModalHeaderComponent,\r\n TCloudUiModalBodyComponent,\r\n TCloudUiModalFooterComponent\r\n ]\r\n})\r\nexport class TCloudUiModalModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nclass Step {\r\n\r\n constructor(){\r\n this.status = '';\r\n this.index = 0;\r\n this.class = '';\r\n this.second_class = '';\r\n }\r\n\r\n status: string;\r\n index: number;\r\n class: string;\r\n second_class: string;\r\n}\r\n\r\n@Component({\r\n selector: 'tcloud-ui-line-step-circle',\r\n templateUrl: './tcloud-ui-line-step-circle.component.html',\r\n styleUrls: ['./tcloud-ui-line-step-circle.component.scss']\r\n})\r\nexport class TCloudUiLineStepCircleComponent implements OnInit {\r\n\r\n @Input() step: number = 7;\r\n \r\n private _active: number = 0;\r\n @Input() set active( active: number ){\r\n if( active && active !== this._active ){\r\n this._active = active;\r\n this.build_steps();\r\n } \r\n }\r\n get active(): number{ return this._active; }\r\n\r\n private _inactives = [] as number[] | undefined;\r\n @Input() set inactives( inactives: number[] | undefined){\r\n if( inactives && inactives !== this._inactives ){\r\n this._inactives = inactives;\r\n this.build_steps();\r\n }\r\n }\r\n get inactives(): number[] | undefined { return this._inactives; }\r\n\r\n\r\n private _complete: boolean = false;\r\n @Input() set complete( complete: boolean ){\r\n if( complete && complete !== this._complete ){\r\n this._complete = complete;\r\n this.build_steps();\r\n } \r\n }\r\n get complete(): boolean{ return this._complete; }\r\n\r\n trilha = new Array<Step>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => { this.build_steps(); }); \r\n }\r\n\r\n build_steps(){\r\n let trilha = new Array<Step>();\r\n if( this.step && this.step > 0 ){\r\n for( let i = 0; i < this.step; i++ ){\r\n (trilha).push({\r\n status: '',\r\n index: i+1,\r\n class: 'step-default',\r\n second_class: '',\r\n })\r\n }\r\n }\r\n\r\n if( this.active > this.step ){\r\n this.active = this.step;\r\n this.complete = true;\r\n }\r\n\r\n if( this.active && this.active > 0 ){\r\n for( let i = 0; i < this.active; i++ ){ \r\n trilha[i].class = \"step-progress\"; \r\n if( (i+1) === this.active && !this.complete ){\r\n trilha[i].class = \"step-active\";\r\n }\r\n }\r\n }\r\n \r\n if( this.inactives && (this.inactives).length > 0 ){\r\n for( let i = 0; i < (this.inactives).length; i++ ){\r\n const icon = this.inactives[i];\r\n if( icon && icon > 0 ){\r\n trilha[(icon-1)].second_class = \"step-inactive\"; \r\n } \r\n }\r\n }\r\n\r\n this.trilha = trilha;\r\n }\r\n\r\n}\r\n","<table class=\"table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\">\r\n <!-- <i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i> -->\r\n\r\n <div class=\"tc-circle icon-{{ fase.class }} {{ fase.second_class }}\"></div>\r\n \r\n </td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLineStepCircleComponent } from './tcloud-ui-line-step-circle.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLineStepCircleComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiLineStepCircleComponent\r\n ]\r\n})\r\nexport class TCloudUiLineStepCircleModule { }\r\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output, OnDestroy } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiMultiSelectComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiMultiSelectComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-multi-select',\r\n templateUrl: './tcloud-ui-multi-select.component.html',\r\n styleUrls: ['./tcloud-ui-multi-select.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\r\n})\r\nexport class TCloudUiMultiSelectComponent implements OnInit, OnDestroy, Validator {\r\n\r\n \r\n\r\n @Input() tcList: any[] | undefined;\r\n @Input() placeholder: string = 'Selecione um item';\r\n @Input() disabled: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() required: string | undefined;\r\n @Output() tcChange = new EventEmitter<any[]>();\r\n\r\n use_validation_required: boolean = false;\r\n values: any[] | undefined;\r\n count_actives: number = 0;\r\n item_value: any | undefined;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => { this.toChange(); });\r\n }\r\n\r\n addItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value ){\r\n this.tcList[i].active = true;\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n } \r\n }\r\n\r\n removeItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value ){\r\n this.tcList[i].active = false;\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n }\r\n }\r\n\r\n private toChange(): void{\r\n let count_actives = 0;\r\n let itens: any[] = [];\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( row.active ){\r\n count_actives++;\r\n (itens).push(row);\r\n }\r\n }\r\n }\r\n this.item_value = null;\r\n this.count_actives = count_actives;\r\n this.tcChange.emit(itens);\r\n this.onChangeCallback(this.tcList);\r\n }\r\n\r\n\r\n check_is_valid(): boolean{\r\n let active = 0;\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const item = this.tcList[i];\r\n if( item && item.active && item.active === true){\r\n active++;\r\n break;\r\n }\r\n }\r\n }\r\n return (active > 0) ? true : false;\r\n }\r\n\r\n onChangeTouched(){ \r\n this.onTouchedCallback(); \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n @Output() onChange = new EventEmitter<any>();\r\n // @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n toSetDefault(value: any){\r\n this.tcList = value;\r\n }\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n item_width(text: any) {\r\n const value = `${text}`;\r\n const value_len = (value).length;\r\n let max_width = 155;\r\n if( value_len < 15 ){ max_width = 138; }\r\n if( value_len < 10 ){ max_width = 105; }\r\n if( value_len < 8 ){ max_width = 85; }\r\n if( value_len < 5 ){ max_width = 70; }\r\n return { 'max-width': max_width + 'px'};\r\n }\r\n\r\n ngOnDestroy(): void {\r\n \r\n }\r\n}\r\n","\r\n <div>\r\n <table>\r\n <tr *ngIf=\"tcList\">\r\n <td>\r\n <select \r\n class=\"tc-form-control\"\r\n [(ngModel)]=\"item_value\"\r\n [class.tc-parent-validation]=\"use_validation_required\" \r\n #_select\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n [title]=\"tcList.length === 0 ? 'Nenhum item disponível' : placeholder\">\r\n <option></option>\r\n <ng-container *ngFor=\"let item of tcList; let i = index\">\r\n <option [title]=\"item.description\" *ngIf=\"!item.active\" [value]=\"item.value\">{{ item.description }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td>\r\n <button\r\n [disabled]=\"!item_value || tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Adicionar\"\r\n class=\"btn-plus-select\"\r\n (click)=\"addItem(_select.value);onChangeTouched()\"\r\n type=\"button\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"box-itens-selected\" *ngIf=\"count_actives > 0 && (tcList && tcList.length > 0)\">\r\n <ng-container *ngFor=\"let item of tcList\">\r\n\r\n <ng-container *ngIf=\"item.active\">\r\n <div class=\"box-label\" [ngStyle]=\"item_width(item.value)\">\r\n <div class=\"box-value\" [title]=\"item.value\">\r\n {{ item.value }} \r\n </div>\r\n <div class=\"box-action\">\r\n <button\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item.value);onChangeTouched()\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n </div>\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiMultiSelectComponent } from './tcloud-ui-multi-select.component';\r\n\r\n@NgModule({\r\n declarations: [TCloudUiMultiSelectComponent],\r\n exports: [TCloudUiMultiSelectComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class TCloudUiMultiSelectModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DataListService {\r\n private _stateSourceValue: Subject<any> = new Subject<any>();\r\n public stateValue$: Observable<Subject<any>> = this._stateSourceValue.asObservable();\r\n\r\n private _stateSourceDescription: Subject<any> = new Subject<any>();\r\n public stateDescription$: Observable<Subject<any>> = this._stateSourceDescription.asObservable();\r\n\r\n private _stateSourceOptions: Subject<any> = new Subject<any>();\r\n public stateOptions$: Observable<Subject<any>> = this._stateSourceOptions.asObservable();\r\n\r\n private _stateSourceActive: Subject<any> = new Subject<any>();\r\n public stateActive$: Observable<Subject<any>> = this._stateSourceActive.asObservable();\r\n\r\n private actived_value: any | undefined;\r\n\r\n public setItemValue(v: any): void {\r\n this.actived_value = v;\r\n this._stateSourceValue.next(v);\r\n }\r\n\r\n public setItemDescription(v: any): void {\r\n this._stateSourceDescription.next(v);\r\n }\r\n\r\n public registerSelectionOptionsDescription(v: any): void {\r\n this._stateSourceOptions.next(v);\r\n }\r\n\r\n public setActiveItem(v: any): void {\r\n this._stateSourceActive.next(v); \r\n }\r\n\r\n public getActiveItem(): any {\r\n // console.log('getActiveItem', this.actived_value);\r\n return this.actived_value;\r\n }\r\n \r\n}","export class ISelectOptions{\r\n description: any;\r\n value: any;\r\n}","import { OnDestroy } from '@angular/core';\r\nimport { ISelectOptions } from './../tcloud-ui-data-list';\r\nimport { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { DataListService } from '../services/data-list.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-data-list-option',\r\n templateUrl: './tcloud-ui-data-list-option.component.html',\r\n styleUrls: ['./tcloud-ui-data-list-option.component.scss']\r\n})\r\nexport class TCloudUiDataListOptionComponent implements OnInit, OnDestroy {\r\n\r\n id: string = ''; \r\n actived_value: any;\r\n select_options = new ISelectOptions();\r\n private subscription_active: Subscription | undefined;\r\n\r\n @Input() value: any | undefined;\r\n\r\n @Output() selected = new EventEmitter<any>(); \r\n\r\n constructor( private dataListService: DataListService ) { \r\n }\r\n\r\n ngOnInit(): void {\r\n this.actived_value = this.dataListService.getActiveItem();\r\n this.subscription_active = this.dataListService.stateActive$.subscribe(v => { \r\n this.actived_value = v; \r\n });\r\n this.id = this.generateID();\r\n this.setSelectOptions();\r\n }\r\n\r\n generateID(): string{\r\n return `data-list-option-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n setSelectedItem(value: any){\r\n console.log('setSelectedItem', value);\r\n if( value === '' ){ this.value = ''; }\r\n\r\n this.dataListService.setItemValue(this.value);\r\n const description = <any> document.getElementById(this.id)?.innerText || '';\r\n this.dataListService.setItemDescription(description);\r\n this.setSelectOptions(); \r\n }\r\n\r\n setSelectOptions(){\r\n setTimeout(() => {\r\n try {\r\n const description = <any> document.getElementById(this.id)?.innerText;\r\n this.select_options.value = this.value;\r\n this.select_options.description = description; \r\n this.dataListService.registerSelectionOptionsDescription(this.select_options);\r\n } catch (error) { }\r\n }); \r\n }\r\n\r\n ngOnDestroy() {\r\n if( this.subscription_active ){ this.subscription_active.unsubscribe(); } \r\n }\r\n\r\n}\r\n","<button \r\n [title]=\"select_options.description\"\r\n id=\"{{id}}\"\r\n [attr.data-description]=\"select_options.description\"\r\n [attr.data-actived-value]=\"actived_value\"\r\n class=\"dropdown-item\" \r\n [class.null-value]=\"value === undefined || value === null || value === ''\"\r\n [class.active]=\"value === actived_value\" \r\n type=\"button\" \r\n [value]=\"value\"\r\n (click)=\"setSelectedItem(value)\" >\r\n <ng-content></ng-content>\r\n</button>\r\n","import { DataListService } from './services/data-list.service';\r\nimport { Component, forwardRef, OnInit, Output, EventEmitter, ViewChild, Input, OnDestroy, AfterViewChecked } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, NgForm, FormGroup, FormBuilder, FormControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { ISelectOptions } from './tcloud-ui-data-list';\r\n\r\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDataListComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n\r\n@Component({\r\n selector: 'tcloud-ui-data-list',\r\n templateUrl: './tcloud-ui-data-list.component.html',\r\n styleUrls: ['./tcloud-ui-data-list.component.scss'],\r\n providers: [\r\n DataListService, \r\n CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR\r\n ],\r\n})\r\nexport class TCloudUiDataListComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n\r\n viewport_width: number = 0;\r\n viewport_height: number = 0;\r\n box_height: number = 0;\r\n box_style: string = '';\r\n menu_on_top: string = '';\r\n\r\n @Input() placeholder: string = '';\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(v){\r\n if( typeof v === 'boolean' && v !== this._disabled ){\r\n this._disabled = v; \r\n //this.selected_description = '';\r\n //this.selected_item ='';\r\n this.toChange();\r\n }\r\n }\r\n get disabled():boolean { return this._disabled; }\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(v: boolean){\r\n if( typeof v === 'boolean' && v !== this._loading ){\r\n this._loading = v; \r\n //this.selected_description = '';\r\n //this.selected_item = '';\r\n this.toChange();\r\n }\r\n }\r\n get loading():boolean { return this._loading; }\r\n\r\n\r\n @Input() showInput: boolean = true;\r\n @Input() search: boolean = true;\r\n \r\n private _listItems: ISelectOptions[] = [];\r\n @Input() set listItems(v: ISelectOptions[]){\r\n if( v && (v).length > 0 ){\r\n this._listItems = v;\r\n }\r\n }\r\n get listItems():ISelectOptions[] { return this._listItems; }\r\n\r\n private _open: boolean = false;\r\n @Input() set open(v: boolean){\r\n if( v !== this._open ){\r\n this._open = v;\r\n if( v ){\r\n this.menu_show = false;\r\n setTimeout(()=>{ this.toOpen(); }); \r\n }\r\n }\r\n }\r\n get open():boolean { return this._open; }\r\n\r\n \r\n @Input() border: boolean = true;\r\n\r\n @Output() onInputChange = new EventEmitter<ISelectOptions>();\r\n @Output() onChange = new EventEmitter<ISelectOptions>();\r\n\r\n @Output() onOpened = new EventEmitter<any>();\r\n @Output() onClosed = new EventEmitter<any>();\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n this.selected_item = v; \r\n this.selectDescription(); \r\n }\r\n @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n list_selected_options = new Array<ISelectOptions>();\r\n\r\n selected_item: any | undefined;\r\n selected_description: any | undefined;\r\n\r\n private subscription_value: Subscription | undefined;\r\n private subscription_description: Subscription | undefined;\r\n private subscription_options: Subscription | undefined;\r\n\r\n menu_show: boolean = false;\r\n search_text: string = '';\r\n id: string = '';\r\n\r\n formulario: FormGroup | undefined;\r\n\r\n constructor(\r\n private dataListService: DataListService,\r\n private formBuilder: FormBuilder\r\n ){\r\n\r\n this.subscription_value = this.dataListService.stateValue$.subscribe(v => {\r\n this.selected_item = v; \r\n this.selectDescription();\r\n this.ngModelChange.emit(this.selected_item);\r\n })\r\n\r\n this.subscription_description = this.dataListService.stateDescription$.subscribe(v => {\r\n this.selected_description = v; \r\n })\r\n\r\n\r\n this.subscription_options = this.dataListService.stateOptions$.subscribe((v:any) => {\r\n if( v && v.value ){\r\n (this.list_selected_options).push(v);\r\n }\r\n })\r\n\r\n }\r\n\r\n ngOnInit(){\r\n\r\n \r\n\r\n this.id = this.generateID();\r\n\r\n this.formulario = this.formBuilder.group({\r\n \"selected_item\": new FormControl('',[]),\r\n })\r\n\r\n \r\n\r\n this.toResize();\r\n this.toClick();\r\n }\r\n\r\n t_fc: any | undefined;\r\n ngAfterViewChecked(): void {\r\n this.t_fc = undefined;\r\n this.t_fc = this.get_selected_description();\r\n }\r\n\r\n get_selected_description(): void{\r\n if( this.list_selected_options && (this.list_selected_options).length > 0 ){\r\n for( let i = 0; i < (this.list_selected_options).length; i++ ){\r\n const item = this.list_selected_options[i];\r\n if( item.value === this.selected_item ){ \r\n if( this.selected_description !== item.description ){\r\n if( item.description && item.description !== this.selected_description ){\r\n setTimeout(() => {\r\n this.selected_description = item.description; \r\n this.dataListService.setActiveItem(this.selected_item);\r\n });\r\n }\r\n } \r\n break;\r\n }\r\n }\r\n } \r\n }\r\n\r\n generateID(): string{\r\n return `data-list-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n ngOnDestroy() {\r\n if( this.subscription_value ){ this.subscription_value.unsubscribe(); } \r\n if( this.subscription_description ){ this.subscription_description.unsubscribe(); } \r\n if( this.subscription_options ){ this.subscription_options.unsubscribe(); } \r\n }\r\n\r\n toSearch(e: any) {\r\n let input = (e && e.target && e.target.value) ? e.target.value : '';\r\n \r\n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n let ul = <any> document.getElementById(`${this.id}-options`);\r\n if( ul ){\r\n let li = ul.getElementsByTagName(\"button\");\r\n for (let i = 0; i < li.length; i++) {\r\n const a = li[i];\r\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n if (txtValue.indexOf(filter) > -1) {\r\n li[i].style.display = \"\";\r\n } else {\r\n li[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n selectDescription(){\r\n if( this.list_selected_options && (this.list_selected_options).length > 0 ){\r\n for( let i = 0; i < (this.list_selected_options).length; i++ ){\r\n const item = this.list_selected_options[i];\r\n if( item.value === this.selected_item ){\r\n this.selected_description = item.description;\r\n this.toChange();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if( this.selected_item === undefined || this.selected_item === null || this.selected_item === '' ){\r\n this.selected_description = '';\r\n this.toChange();\r\n }\r\n \r\n }\r\n\r\n \r\n toInput(e: any){\r\n this.onInputChange.emit(this.selected_description);\r\n this.onChange.emit(e);\r\n }\r\n\r\n toChange(){\r\n setTimeout(() => {\r\n if( this.selected_item === undefined || this.selected_item === null ){\r\n this.selected_item = '';\r\n }\r\n this.toSearch('');\r\n this.search_text = '';\r\n this.dataListService.setActiveItem(this.selected_item);\r\n\r\n this.onInputChange.emit(this.selected_description);\r\n\r\n if( this.formulario ){\r\n this.formulario?.get('selected_item')?.setValue(this.selected_item);\r\n // const input_hidden = document.getElementById(`${this.id}-hidden`);\r\n this.toInput(this.formulario.get('selected_item'));\r\n } \r\n });\r\n }\r\n\r\n\r\n clearTextSearch(){\r\n this.search_text = '';\r\n this.toSearch('');\r\n }\r\n\r\n toOpen(){\r\n this.menu_show = !this.menu_show; \r\n this.resolve_position_dropdown(this.menu_show);\r\n this.onOpened.emit();\r\n }\r\n\r\n resolve_position_dropdown(open: boolean){\r\n if( open ){\r\n this.box_style = '';\r\n this.menu_on_top = ''; \r\n const id = `${this.id}`; \r\n const box = `box-${this.id}`;\r\n if( this.viewport_height === 0 ){\r\n this.viewport_height = window.innerWidth;\r\n }\r\n const rect = document.getElementById(id)?.getBoundingClientRect();\r\n const box_position = rect?.bottom || 0; \r\n setTimeout(() => {\r\n this.box_height = document.getElementById(box)?.clientHeight || 0;\r\n if( ( this.viewport_height - box_position) < this.box_height ){\r\n this.menu_on_top = 'menu-on-top';\r\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\r\n }\r\n }); \r\n }\r\n }\r\n\r\n toClose(){\r\n this.menu_show = false;\r\n this.onClosed.emit();\r\n }\r\n\r\n\r\n toResize(){\r\n window.addEventListener('resize', () => {\r\n this.viewport_width = window.innerWidth;\r\n this.viewport_height = window.innerHeight;\r\n this.resolve_position_dropdown(this.menu_show);\r\n });\r\n }\r\n\r\n toClick(){\r\n const box = `area-${this.id}`;\r\n window.addEventListener('click',(e: any) => { \r\n if( this.menu_show ){\r\n if( !(document.getElementById(box)?.contains(e.target)) ){ \r\n this.toClose();\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.selected_item;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.selected_item) {\r\n this.selected_item = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.selected_item) {\r\n this.selected_item = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n\r\n","<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n #_option\r\n [class.input-hidden]=\"!showInput\"\r\n [class.in-border]=\"border\"\r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select no-margin-bottom\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen();toInput(_option)\" >\r\n\r\n <i class=\"tc-placeholder\" *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\r\n <ng-container *ngFor=\"let item of listItems\">\r\n <tcloud-ui-data-list-option [value]=\"item.value\">{{ item?.description }}</tcloud-ui-data-list-option>\r\n </ng-container>\r\n </ng-container> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { TCloudUiDataListComponent } from './tcloud-ui-data-list.component';\r\nimport { TCloudUiDataListOptionComponent } from './tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDataListComponent,\r\n TCloudUiDataListOptionComponent,\r\n ],\r\n exports: [\r\n TCloudUiDataListComponent,\r\n TCloudUiDataListOptionComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class TCloudUiDataListModule { }\r\n","import { Subscription } from 'rxjs';\r\nimport { Component, EventEmitter, Input, forwardRef, ViewChild, ElementRef, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiChoiceIssuesComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-choice-issues',\r\n templateUrl: './tcloud-ui-choice-issues.component.html',\r\n styleUrls: ['./tcloud-ui-choice-issues.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]\r\n})\r\nexport class TCloudUiChoiceIssuesComponent {\r\n\r\n \r\n @Input() view: boolean = false;\r\n @Input() titulo: string = '';\r\n @Input() subTitulo: string = '';\r\n\r\n @Input() disabled: boolean = false;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n subscription: Subscription | undefined;\r\n // Referencia o campo (input,select,textarea)\r\n @ViewChild('campo',{ read: true, static: false }) inputRef: ElementRef | undefined;\r\n\r\n innerValue: boolean = false;\r\n\r\n ID: string;\r\n\r\n constructor(){\r\n this.ID = 'tc-issue-' + Math.random().toString(36).substr(2, 9);\r\n }\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): boolean {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: boolean) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n setV(v: any){\r\n console.log('setV',v);\r\n this.value = v;\r\n this.onChange.emit(v);\r\n }\r\n\r\n createID() {\r\n // Math.random should be unique because of its seeding algorithm.\r\n // Convert it to base 36 (numbers + letters), and grab the first 9 characters\r\n // after the decimal.\r\n return '_' + Math.random().toString(36).substr(2, 9);\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n<input #campo [(ngModel)]=\"value\" type=\"hidden\" [value]=\"false\" >\r\n<div class=\"box p-2 mt-3 mb-2\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <p class=\"titulo\">{{ titulo }}</p> \r\n </div>\r\n <div class=\"col-md-4 text-right\"> \r\n\r\n <table class=\"mt-2 mr-2\" *ngIf=\"!view\" >\r\n <tr>\r\n <td>\r\n <div class=\"form-fieldset\">\r\n <label [class.v-true]=\"value\" class=\"mr-1\"><input #campo name=\"{{ ID }}\" [value]=\"true\" type=\"radio\" [(ngModel)]=\"value\" (click)=\"setV(true)\" >Sim</label>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"form-fieldset\">\r\n <label [class.v-true]=\"!value\" class=\"ml-2\"><input #campo name=\"{{ ID }}\" [value]=\"false\" type=\"radio\" [(ngModel)]=\"value\" (click)=\"setV(false)\" >Não</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </table> \r\n\r\n <table class=\"mt-2 mr-2\" *ngIf=\"view\" >\r\n <tr>\r\n <td>\r\n <div class=\"form-fieldset view\" >\r\n <label *ngIf=\"value\" class=\"v-true disabled\" >Sim</label>\r\n <label *ngIf=\"!value\">Não</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"col-md-12 mt-1\">\r\n <p class=\"sub-titulo\">{{ subTitulo }}</p>\r\n </div>\r\n <div class=\"col-md-12 mt-2 mb-1\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiChoiceIssuesComponent } from './tcloud-ui-choice-issues.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiChoiceIssuesComponent,\r\n ],\r\n exports: [\r\n TCloudUiChoiceIssuesComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class TCloudUiChoiceIssuesModule { }\r\n","import { Component, OnInit, Input, EventEmitter, Output, OnDestroy, forwardRef } from '@angular/core';\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-multi-input',\n templateUrl: './tcloud-ui-multi-input.component.html',\n styleUrls: ['./tcloud-ui-multi-input.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\n})\nexport class TCloudUiMultiInputComponent implements OnInit, OnDestroy, Validator {\n\n input_value: any;\n\n @Input() tcList: any[] | undefined;\n\n @Input() placeholder: string = '';\n @Input() disabled: boolean = false;\n @Input() loading: boolean = false;\n @Input() required: string | undefined;\n\n values: any[] | undefined;\n count_actives: number = 0;\n\n use_validation_required: boolean = false;\n item_value: any | undefined;\n\n @Output() tcChange = new EventEmitter<any[]>();\n\n constructor() { }\n\n ngOnInit(): void {\n setTimeout(() => {\n this.toChange();\n });\n }\n\n addItem(item: any): void{\n if( this.disabled ){ return; }\n if( !this.tcList ){\n this.tcList = [];\n }\n (this.tcList).push({value: item}); \n this.toChange(); \n this.input_value = '';\n }\n\n\n removeItem(item: any, index: number): void{\n if( this.disabled ){ return; }\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n if( item === row.value && i === index ){\n (this.tcList).splice(index,1);\n break;\n }\n }\n this.toChange();\n }\n }\n\n private toChange(): void{\n let count_actives = 0;\n let itens: any[] = [];\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n (itens).push(row);\n }\n }\n this.item_value = null;\n this.count_actives = count_actives;\n this.tcChange.emit(itens);\n this.onChangeCallback(this.tcList);\n }\n\n check_is_valid(): boolean{\n if( this.tcList ){\n return ((this.tcList).length > 0) ? true : false;\n }\n return false;\n }\n\n onChangeTouched(){ \n this.onTouchedCallback(); \n }\n\n\n\n\n\n\n\n @Output() onChange = new EventEmitter<any>();\n // @Output() ngModelChange = new EventEmitter<any>();\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n toSetDefault(value: any){\n this.tcList = value;\n }\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n item_width(text: any) {\n const value = `${text}`;\n const value_len = (value).length;\n let max_width = 155;\n if( value_len < 15 ){ max_width = 138; }\n if( value_len < 10 ){ max_width = 105; }\n if( value_len < 8 ){ max_width = 85; }\n if( value_len < 5 ){ max_width = 70; }\n return { 'max-width': max_width + 'px'};\n }\n\n ngOnDestroy(): void {\n \n }\n}\n","<div>\n\n <table>\n <tr>\n <td>\n <input class=\"tc-form-control\" (blur)=\"onChangeTouched()\" [(ngModel)]=\"item_value\" [class.tc-parent-validation]=\"use_validation_required\" type=\"text\" [(ngModel)]=\"input_value\" [disabled]=\"disabled || loading\" name=\"input_value\">\n </td>\n <td>\n <button\n [disabled]=\"!item_value || disabled || loading\"\n title=\"Adicionar\"\n class=\"btn-plus-select\"\n (click)=\"addItem(input_value);onChangeTouched()\"\n type=\"button\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </td>\n </tr>\n </table>\n \n <div class=\"box-itens-selected\" *ngIf=\"(tcList && tcList.length > 0)\">\n <ng-container *ngFor=\"let item of tcList; let i = index\">\n \n <div class=\"box-label\" [ngStyle]=\"item_width(item.value)\">\n <div class=\"box-value\" [title]=\"item.value\" >\n {{ item.value }} \n </div>\n <div class=\"box-action\">\n <button\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\n title=\"Remover\"\n type=\"button\"\n (click)=\"removeItem(item.value, i);onChangeTouched()\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n </ng-container>\n </div>\n \n</div>\n ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiMultiInputComponent } from './tcloud-ui-multi-input.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [TCloudUiMultiInputComponent],\n exports: [TCloudUiMultiInputComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule\n ]\n})\nexport class TCloudUiMultiInputModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'monthname'})\r\nexport class MonthNamePipe implements PipeTransform {\r\n\r\n meses: string[] = ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'];\r\n \r\n\r\n transform(yyyy_mm: string): string{\r\n\r\n if( yyyy_mm !== '' ){\r\n\r\n let part = (yyyy_mm).split('-');\r\n if( (part).length === 2 ){\r\n let yyyy = +part[0];\r\n let mm = +part[1];\r\n\r\n return this.meses[(mm-1)];\r\n }\r\n }\r\n return '';\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'statusinfo'})\r\nexport class StatusInfoPipe implements PipeTransform {\r\n\r\n status_default = [\r\n { key: 'SUCCEEDED', value: 'Finalizado' },\r\n { key: 'PENDING', value: 'Pendente' },\r\n { key: 'FAILED', value: 'Erro' },\r\n { key: 'RUNNING', value: 'Em andamento' },\r\n { key: 'REGISTRATION', value: 'Cadastro Pendente' },\r\n { key: 'SUCCEED', value: 'Finalizado' },\r\n { key: 'WAITING', value: 'Aguardando' },\r\n { key: 'REJECTED', value: 'Rejeitado' },\r\n ];\r\n\r\n status_proposal = [\r\n { key: 'SUCCEEDED', value: 'Finalizado' },\r\n { key: 'PENDING', value: 'Aguardando Aprovação' },\r\n { key: 'FAILED', value: 'Erro' },\r\n { key: 'RUNNING', value: 'Provisionando Ambientes' },\r\n { key: 'REGISTRATION', value: 'Cadastro Pendente' },\r\n { key: 'SUCCEED', value: 'Finalizado' },\r\n { key: 'WAITING', value: 'Provisionando Ambientes' },\r\n { key: 'REJECTED', value: 'Rejeitada' },\r\n ]; \r\n\r\n transform(status_name: any, tema?: string): string{\r\n\r\n let map_tema = this.status_default;\r\n\r\n if( tema && tema !== undefined){\r\n switch (tema) {\r\n case 'proposal': map_tema = this.status_proposal; break;\r\n }\r\n }\r\n\r\n let status_name_in_search = ''; \r\n if( tema && tema === 'ALL'){\r\n\r\n map_tema = this.status_default;\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n map_tema = this.status_proposal;\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break\r\n }\r\n }\r\n }\r\n\r\n }else{\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n if( status_name_in_search !== '' ){\r\n return status_name_in_search;\r\n }\r\n\r\n return status_name;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'respective'})\r\nexport class RespectivePipe implements PipeTransform {\r\n\r\n map = [\r\n // Tipos de Ambientes\r\n { key: 'production', value: 'Produção' },\r\n { key: 'development', value: 'Desenvolvimento' },\r\n { key: 'qa', value: 'Qualidade' },\r\n\r\n // Implantação / Migração\r\n { key: 'golive', value: 'Pré GoLive' },\r\n { key: 'kickoff', value: 'Kickoff' },\r\n\r\n // Tipos de Clientes\r\n { key: 'prime', value: 'Prime' },\r\n { key: 'p', value: 'Pequeno' },\r\n { key: 'm', value: 'Médio' },\r\n { key: 'g', value: 'Grande' },\r\n\r\n // Produtos\r\n { key: '2c', value: 'Carol' },\r\n { key: 'carol', value: 'carol' },\r\n { key: 'consinco', value: 'Consinco' },\r\n { key: 'datasul', value: 'Datasul' },\r\n { key: 'fluig', value: 'Fluig' },\r\n { key: 'license-server', value: 'License Server' },\r\n { key: 'pep', value: 'PEP' },\r\n { key: 'protheus', value: 'Protheus' },\r\n { key: 'pvi', value: 'PVI' },\r\n { key: 'rm', value: 'RM' },\r\n { key: 'sfa', value: 'SFA' },\r\n { key: 'smartrm', value: 'Smart RM' },\r\n { key: 'smartrmcluster', value: 'Smart RM Cluster' },\r\n { key: 'smartrmcontrol', value: 'Smart RM Control' },\r\n { key: 'taf', value: 'TAF' },\r\n { key: 'treports', value: 'Treports' },\r\n { key: 'tss', value: 'TSS' },\r\n { key: 'winthor', value: 'Winthor' },\r\n\r\n // Tipos de SO\r\n { key: 'windows', value: 'Windows' },\r\n { key: 'linux', value: 'Linux' },\r\n\r\n // Tipos responsaveis\r\n { key: 'prime_customer_success', value: 'Customer Success' },\r\n { key: 'project_manager', value: 'Gerente de Projetos' },\r\n { key: 'prime_engineer', value: 'Engenheiro Prime' }\r\n\r\n ];\r\n \r\n\r\n transform(v: any): string{\r\n\r\n if( v !== undefined && v !== null && v !== '' ){\r\n\r\n if( typeof v === 'string' ){\r\n for( let i = 0; i < (this.map).length; i++ ){\r\n let custom_v = v;\r\n custom_v = (custom_v).toLowerCase();\r\n custom_v = (custom_v).trim();\r\n custom_v = (custom_v).replace(/\\_/g, \"-\");\r\n const current_key = (this.map[i].key).replace(/\\_/g, \"-\");\r\n if( (custom_v).toLowerCase() === current_key ){\r\n return `${this.map[i].value}`;\r\n }\r\n }\r\n }else{\r\n return '';\r\n }\r\n \r\n \r\n }\r\n return `${v}`;\r\n }\r\n\r\n \r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'cnpj'})\r\nexport class CNPJPipe implements PipeTransform {\r\n mascara: string = \"##.###.###/####-##\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length == 14 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n transform(cnpj: string): string{ \r\n return this.createMask(cnpj);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'cpf'})\r\nexport class CPFPipe implements PipeTransform {\r\n mascara: string = \"###.###.###-##\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length == 11 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n transform(cpf: string): string{ \r\n return this.createMask(cpf);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'bytes'})\r\nexport class BytesPipe implements PipeTransform {\r\n\r\n formatBytes(a: number, b = 2): string {\r\n if (!a) return '---';\r\n if (0 === a) return '0 Bytes';\r\n const c = 0 > b ? 0 : b, d = Math.floor(Math.log(a) / Math.log(1024));\r\n return parseFloat((a / Math.pow(1024, d)).toFixed(c)) + ' ' + [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"][d];\r\n }\r\n \r\n transform(value: any): string{ \r\n const b: number = +value; \r\n return this.formatBytes(b);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'datebr'})\r\nexport class DateBRPipe implements PipeTransform {\r\n mascara: string = \"##/##/####\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n createMask4(v: any){\r\n const mask = \"##/##\";\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n create_mask(v: string, _mask: string){\r\n const mask = _mask;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n transform(v: string): string{ \r\n \r\n if( v ){\r\n\r\n v = (v).replace(/\\//g, \"\");\r\n\r\n if( (v).length == 1 ){ return this.create_mask(v,'#'); }\r\n if( (v).length == 2 ){ return this.create_mask(v,'##/'); }\r\n if( (v).length == 3 ){ return this.create_mask(v,'##/#'); }\r\n if( (v).length == 4 ){ return this.create_mask(v,'##/##'); }\r\n if( (v).length == 5 ){ return this.create_mask(v,'##/##/#'); }\r\n if( (v).length == 6 ){ return this.create_mask(v,'##/##/##'); }\r\n if( (v).length == 7 ){ return this.create_mask(v,'##/##/###'); }\r\n return this.create_mask(v,'##/##/####');\r\n }\r\n return '';\r\n }\r\n}","import { DatePipe } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { StatusInfoPipe } from '../_pipes';\r\n\r\n@Injectable({\r\n providedIn: 'root', \r\n})\r\nexport class TCloudUiSearchInObjectService {\r\n\r\n constructor(\r\n private datepipe: DatePipe,\r\n private statusinfo: StatusInfoPipe\r\n ) { }\r\n\r\n private isADate(d: any){\r\n if( d && d instanceof Date && !isNaN( d.valueOf()) ){\r\n if (Object.prototype.toString.call(d) === \"[object Date]\") {;\r\n if (isNaN(d.getTime())) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private normalize(text: any): string{\r\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n return v;\r\n }\r\n\r\n /**\r\n * meet - Procura em object - filtro utilizado para busca em tabelas\r\n * @param valor texto a ser procurado\r\n * @param emObject object alvo de onde procurar\r\n * @param camposDebusca (Opcional) informa em quais são as keys que deverá procurar \r\n */\r\n meet(valor: string, emObject: any, camposDebusca?: any): any{\r\n if (valor != \"\"){\r\n\r\n if( emObject.length < 1 ){\r\n return emObject;\r\n }\r\n if( camposDebusca === undefined || camposDebusca === null ){\r\n camposDebusca = [];\r\n for (const key in emObject[0]) {\r\n camposDebusca.push( key );\r\n }\r\n }\r\n\r\n if( camposDebusca.length < 1 ){\r\n return emObject;\r\n }\r\n \r\n let isObject = false;\r\n\r\n valor = this.normalize(valor);\r\n var result=[]; \r\n for (const key in emObject) {\r\n var oObject = emObject[key];\r\n if (oObject && (typeof oObject === 'object') ){\r\n isObject = true;\r\n for( const objectvalue of camposDebusca ){\r\n const dt = new Date(oObject[objectvalue])\r\n if( this.isADate(dt) && typeof ((dt).getMonth) === 'function' ){\r\n const data1 = this.datepipe.transform(dt, 'dd/MM/yyyy hh:mm');\r\n const data2 = this.datepipe.transform(dt, 'medium');\r\n const strToTest = this.normalize(data1+\" \"+data2+\" \"+oObject[objectvalue]);\r\n if( (strToTest.indexOf(valor)>=0) && (result).indexOf(oObject) == -1 ){\r\n result.push(oObject); break;\r\n }\r\n } else {\r\n const strToTest = this.normalize(this.statusinfo.transform(oObject[objectvalue], 'ALL')+\"\"); \r\n if( (strToTest.indexOf(valor)>=0) && (result).indexOf(oObject) == -1 ){\r\n result.push(oObject); break;\r\n }\r\n }\r\n } \r\n }\r\n }\r\n\r\n if( emObject && typeof emObject === 'object' && Array.isArray(emObject) && !isObject ){\r\n // is array \r\n const v = this.normalize(`${valor}`);\r\n for( let i = 0; i < (emObject).length; i++ ){\r\n const item = this.normalize(`${emObject[i]}`);\r\n if( item.includes(v) || item === v ){\r\n result.push(emObject[i]);\r\n }\r\n }\r\n }\r\n\r\n\r\n return result;\r\n }\r\n return emObject;\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { TCloudUiSearchInObjectService } from '../../_services/search-in-object.service';\n\n@Component({\n selector: 'tcloud-ui-input-search',\n templateUrl: './tcloud-ui-input-search.component.html',\n styleUrls: ['./tcloud-ui-input-search.component.scss']\n})\nexport class TCloudUiInputSearchComponent implements OnInit {\n\n /**\n * tcloud-ui-input-search - Procura pelo valor informado no objeto indicado\n * @param placeholder string - placeholder no input\n * @param mirror boolean - Exibir os valores espelhados ou somente os valores encontrados\n * @param base_object object - Objeto onde ser procurado \n * @param found - Emite o valor encontrado\n */\n\n @Input() placeholder: string = 'Procurar...';\n\n @Input() mirror: boolean = true;\n\n search_text: string = '';\n\n private _base_object: any;\n @Input() set base_object(base_object: any){\n if( base_object ){\n this._base_object = base_object;\n\n if( this.mirror ){\n this.result_object = base_object;\n this.toFound();\n }\n } \n }\n get base_object(){ return this._base_object; }\n\n result_object: any | undefined;\n\n @Output() found = new EventEmitter<any>();\n\n constructor(\n private searchInObjectService: TCloudUiSearchInObjectService\n ) { }\n\n ngOnInit(): void {\n }\n\n buscar(value: string){\n const result = this.searchInObjectService.meet(`${value}`, this.base_object);\n this.result_object = JSON.parse(JSON.stringify(result));\n this.toFound();\n }\n\n clean(){\n if( this.mirror ){\n this.buscar('');\n }else{\n this.result_object = []; \n this.toFound();\n }\n this.search_text = '';\n }\n\n toFound(){\n this.found.emit( this.result_object );\n }\n\n}\n","<table class=\"tc-group-input-table\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <td><input class=\"tc-form-control box-ui-input-group\" [(ngModel)]=\"search_text\" type=\"text\" (keyup)=\"buscar(search_text)\" placeholder=\"{{ placeholder }}\" ></td>\n <td> \n <ng-container *ngIf=\"search_text === ''\"> \n <button type=\"button\" (click)=\"buscar(search_text)\"><i class=\"fas fa-search\"></i></button>\n </ng-container> \n\n <ng-container *ngIf=\"search_text !== ''\"> \n <button type=\"button\" (click)=\"clean()\"><i class=\"fas fa-times\"></i></button>\n </ng-container>\n </td>\n </tr>\n</table>","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiInputSearchComponent } from './tcloud-ui-input-search.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiInputSearchComponent\n ],\n exports: [\n TCloudUiInputSearchComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class TCloudUiInputSearchModule { }\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-not-found',\r\n templateUrl: './tcloud-ui-not-found.component.html',\r\n styleUrls: ['./tcloud-ui-not-found.component.scss']\r\n})\r\nexport class TCloudUiNotFoundComponent \r\n{\r\n\r\n @Input() message: string = 'Nenhum registro encontrado.';\r\n\r\n public styleIcon: any = {};\r\n\r\n ngOnInit(): void\r\n {\r\n }\r\n}\r\n\r\n","<div class=\"tc-container-empty\">\r\n <div class=\"tc-message-empty-icon\">\r\n <i class=\"fas fa-exclamation-triangle\"></i>\r\n </div>\r\n <div *ngIf=\"message !== ''\" class=\"tc-message-empty\" [innerHTML]=\"message\" ></div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { TCloudUiNotFoundComponent } from './tcloud-ui-not-found.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiNotFoundComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n TCloudUiNotFoundComponent\r\n ],\r\n})\r\nexport class TCloudUiNotFoundModule {}","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-table',\n templateUrl: './tcloud-ui-table.component.html',\n styleUrls: ['./tcloud-ui-table.component.scss']\n})\nexport class TCloudUiTableComponent implements OnInit {\n\n @Input() responsive: boolean = true;\n @Input() striped: boolean = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<table class=\"tc-table\" [class.tc-table-striped]=\"striped\" [class.tc-table-responsive]=\"responsive\" cellspacing=\"0\">\n <ng-content select=\"[tc-thead]\"></ng-content>\n <ng-content select=\"[tc-tbody]\"></ng-content>\n</table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiTableComponent } from './tcloud-ui-table.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiTableComponent,\n ],\n exports: [\n TCloudUiTableComponent,\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiTableModule { }\n","import { Component, Input, OnInit } from '@angular/core';\n\nclass Step {\n\n constructor(){\n this.status = '';\n this.index = 0;\n this.class = '';\n this.second_class = '';\n }\n\n status: string;\n index: number;\n class: string;\n second_class: string;\n}\n\n@Component({\n selector: 'tcloud-ui-number-step',\n templateUrl: './tcloud-ui-number-step.component.html',\n styleUrls: ['./tcloud-ui-number-step.component.scss']\n})\nexport class TCloudUiNumberStepComponent implements OnInit {\n\n @Input() step: number = 7;\n @Input() useIconCheck: boolean = false;\n\n private _active: number = 0;\n @Input() set active( active: number ){\n if( active && active !== this._active ){\n this._active = active;\n this.build_steps();\n } \n }\n get active(): number{ return this._active; }\n\n private _inactives = [] as number[] | undefined;\n @Input() set inactives( inactives: number[] | undefined){\n if( inactives && inactives !== this._inactives ){\n this._inactives = inactives;\n this.build_steps();\n }\n }\n get inactives(): number[] | undefined { return this._inactives; }\n\n\n private _complete: boolean = false;\n @Input() set complete( complete: boolean ){\n if( complete && complete !== this._complete ){\n this._complete = complete;\n this.build_steps();\n } \n }\n get complete(): boolean{ return this._complete; }\n\n trilha = new Array<Step>();\n\n constructor() { }\n\n ngOnInit(): void {\n setTimeout(() => { this.build_steps(); });\n }\n\n build_steps(){\n let trilha = new Array<Step>();\n if( this.step && this.step > 0 ){\n for( let i = 0; i < this.step; i++ ){\n (trilha).push({\n status: '',\n index: i+1,\n class: 'step-default',\n second_class: '',\n })\n }\n }\n\n if( this.active > this.step ){\n this.active = this.step;\n this.complete = true;\n }\n\n if( this.complete ){\n this.active = this.step;\n }\n\n if( this.active && this.active > 0 ){\n for( let i = 0; i < this.active; i++ ){ \n trilha[i].class = \"step-progress\"; \n if( (i+1) === this.active && !this.complete ){\n trilha[i].class = \"step-active\";\n }\n }\n }\n \n if( this.inactives && (this.inactives).length > 0 ){\n for( let i = 0; i < (this.inactives).length; i++ ){\n const icon = this.inactives[i];\n if( icon && icon > 0 ){\n trilha[(icon-1)].second_class = \"step-inactive\"; \n } \n }\n }\n\n this.trilha = trilha; \n }\n}\n","<table class=\"table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\n <td class=\"area-circle\">\n <div class=\"circle icon-{{ fase.class }} {{ fase.second_class }} \">\n\n <ng-container *ngIf=\"useIconCheck\">\n <ng-container *ngIf=\"i < active && fase.second_class !== 'step-inactive'\">\n <div class=\"area-index\" *ngIf=\"(active-1) === i\">{{ active }}</div>\n <div class=\"area-index\" *ngIf=\"(active-1) > i\"><i class=\"fas fa-check\"></i></div>\n </ng-container>\n\n <ng-container *ngIf=\"i < active && fase.second_class === 'step-inactive'\">\n <div class=\"area-index\"><i class=\"far fa-circle\"></i></div>\n </ng-container>\n\n <ng-container *ngIf=\"i >= active\">\n <div class=\"area-index\">{{ i + 1 }}</div>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!useIconCheck\">\n <div class=\"area-index\">{{ i + 1 }}</div>\n </ng-container>\n \n </div>\n </td>\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\n <div class=\"step-line {{ fase.class }}\"></div> \n </td>\n </ng-container>\n </tr>\n</table>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiNumberStepComponent } from './tcloud-ui-number-step.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiNumberStepComponent\n ],\n exports: [\n TCloudUiNumberStepComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiNumberStepModule { }\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-scroll-box',\n templateUrl: './tcloud-ui-scroll-box.component.html',\n styleUrls: ['./tcloud-ui-scroll-box.component.scss']\n})\nexport class TCloudUiScrollBoxComponent implements OnInit {\n\n @Input() border: boolean = true;\n @Input() maxHeight: number = 400;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"tc-box-scroll\" [class.tc-box-scroll-border]=\"border\" >\n <div class=\"box-content\" [style]=\"'max-height: '+maxHeight+'px'\" >\n <ng-content></ng-content>\n </div> \n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiScrollBoxComponent } from './tcloud-ui-scroll-box.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiScrollBoxComponent\n ],\n exports: [\n TCloudUiScrollBoxComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiScrollBoxModule { }\n","export interface TCDataFilters{\r\n description: string; \r\n searchIn: string;\r\n type?: TCFiltersType;\r\n name?: string;\r\n id?: string;\r\n\r\n searchText?: any;\r\n accept?: boolean;\r\n placeholder?: string;\r\n width?: string;\r\n data?: TCDataOtions[];\r\n condition?: TCCondition;\r\n value?: any;\r\n\r\n // For datepicker\r\n defaultValuePeriodStartStop?: any;\r\n UTC?: boolean;\r\n useOptionsDateTime?: boolean;\r\n}\r\n\r\nexport interface TCDataOtions {\r\n description: string;\r\n value: any;\r\n}\r\n\r\nexport enum TCFiltersType{\r\n text = \"text\",\r\n number = \"number\",\r\n select = \"select\",\r\n boolean = \"boolean\",\r\n datetime = \"datetime-local\",\r\n hidden = \"hidden\",\r\n date = \"date-local\",\r\n}\r\n\r\nexport enum TCCondition{\r\n equal = \"equal\",\r\n gte = \"gte\",\r\n lte = \"lte\",\r\n lt = \"lt\",\r\n gt = \"gt\"\r\n}","import { Component, OnInit, ViewChild, ElementRef, Output, EventEmitter, forwardRef, Input, ViewEncapsulation, ChangeDetectorRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DateBRPipe } from '../../_pipes';\r\n\r\n// https://mymth.github.io/vanillajs-datepicker/#/\r\ndeclare var Datepicker: any;\r\n\r\nvar translation = {\r\n ptBR: {\r\n days: [\"Domingo\", \"Segunda\", \"Terça\", \"Quarta\", \"Quinta\", \"Sexta\", \"Sábado\"],\r\n daysShort: [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"],\r\n daysMin: [\"Do\", \"Se\", \"Te\", \"Qu\", \"Qu\", \"Se\", \"Sa\"],\r\n months: [\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"],\r\n monthsShort: [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"],\r\n today: \"Hoje\",\r\n clear: \"Limpar\",\r\n titleFormat: \"MM y\",\r\n format: \"dd/mm/yyyy\",\r\n weekStart: 0\r\n }\r\n};\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDatepickerComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-datepicker',\r\n templateUrl: './tcloud-ui-datepicker.component.html',\r\n styleUrls: [\r\n './tcloud-ui-datepicker.component.scss',\r\n './datepicker/css/datepicker.min.css',\r\n './datepicker/css/style.css',\r\n ],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TCloudUiDatepickerComponent implements OnInit {\r\n\r\n // multiple permite selecionar multiplas datas\r\n @Input() multiple: boolean = false;\r\n\r\n // maxNumberOfDates - Maximum number of dates users can select. No limit is applied if 0 is set.\r\n // Depende de: multiple como true\r\n @Input() maxNumberOfDates: number = 0;\r\n\r\n // daysOfWeekDisabled - Dias da semana desabilidatos = 0 para sabado até 6 para domingo\r\n @Input() daysOfWeekDisabled: number[] = [];\r\n\r\n // minDate - Data minima para exibicao do calendario - ex: 01/01/2020\r\n @Input() minDate: string = '';\r\n\r\n // maxDate - Data maxima para exibicao do calendario - ex: 31/12/2020\r\n @Input() maxDate: string = '';\r\n\r\n // datesDisabled - Datas desabilitadas - Ex: ['12/10/2020','25/12/2020']\r\n @Input() datesDisabled: string[] = [];\r\n\r\n // modeInput - Exibe um input para quando clicar abrir o calendario\r\n @Input() modeInput: boolean = false;\r\n\r\n @Input() useBorder: boolean = true;\r\n\r\n // onChange - Dispara a data selecionada\r\n @Output() onChange = new EventEmitter<any|undefined>();\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n\r\n //console.log('ngModel', v);\r\n\r\n if( v && v !== this.innerValue ){\r\n this.innerValue = v; //this.toSetMask(v); \r\n this.onChange.emit(v);\r\n } \r\n }\r\n @Output() ngModelChange = new EventEmitter<any|undefined>();\r\n\r\n @ViewChild('input_datepicker', {static: false}) input_datepicker: ElementRef<HTMLElement> | undefined;\r\n private datepicker: any | undefined;\r\n @Input() code: string = 'tcloud-ui-datepicker';\r\n\r\n constructor(\r\n private _DateBRPipe: DateBRPipe,\r\n private _changeDetectorRef: ChangeDetectorRef\r\n ) { }\r\n\r\n ID: string = '';\r\n\r\n ngOnInit(): void {\r\n this.ID = this.generateID();\r\n Datepicker.locales.ptBR = translation.ptBR; \r\n this.start_datepicker();\r\n }\r\n\r\n generateID(): string{\r\n return `tcloud-ui-datepicker-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n toSetMask(v: string){\r\n return this._DateBRPipe.transform(v);\r\n }\r\n\r\n get_options(){\r\n let options = {\r\n nextArrow: `<i class=\"fas fa-caret-right\"></i>`,\r\n prevArrow: `<i class=\"fas fa-caret-left\"></i>`,\r\n format: 'dd/mm/yyyy', \r\n daysOfWeekHighlighted: [0,6],\r\n language: 'ptBR'\r\n } as any;\r\n\r\n if( (this.daysOfWeekDisabled).length > 0 ){\r\n options['daysOfWeekDisabled'] = this.daysOfWeekDisabled;\r\n }\r\n\r\n if( (this.datesDisabled).length > 0 ){\r\n options['datesDisabled'] = this.datesDisabled;\r\n }\r\n\r\n if( this.minDate !== '' ){\r\n options['minDate'] = this.minDate;\r\n }\r\n\r\n if( this.maxDate !== '' ){\r\n options['maxDate'] = this.maxDate;\r\n }\r\n\r\n if( this.multiple ){ \r\n options['maxNumberOfDates'] = this.maxNumberOfDates;\r\n }\r\n\r\n return options;\r\n }\r\n\r\n clearDate(){\r\n if( this.datepicker ){\r\n this.datepicker.setDate({clear: true});\r\n }\r\n }\r\n\r\n start_datepicker(){\r\n setTimeout(() => { \r\n const input_datepicker = <any> this.input_datepicker?.nativeElement;\r\n if( input_datepicker ){\r\n\r\n input_datepicker.setAttribute('placeholder','DD/MM/YYYY');\r\n\r\n if( !this.useBorder ){\r\n input_datepicker.setAttribute('style','border:none; text-align: center; max-width: 105px; padding: 0;');\r\n }\r\n \r\n\r\n this.datepicker = new Datepicker( input_datepicker, this.get_options() );\r\n\r\n if( this.innerValue && this.innerValue !== '' ){\r\n this.toSetDefaultDate(this.innerValue);\r\n }\r\n\r\n input_datepicker.addEventListener('keyup', (event: any) => {\r\n const v = (input_datepicker['value']) ? input_datepicker['value'] : '';\r\n input_datepicker['value'] = this.toSetMask(v);\r\n\r\n if( (input_datepicker['value']).length >= 10 ){\r\n const v = (input_datepicker['value']).substring(0, 10);\r\n const part_date = (v).split('/');\r\n if( (part_date).length === 3 ){\r\n\r\n let dia = part_date[0];\r\n let mes = part_date[1];\r\n let ano = part_date[2];\r\n\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n\r\n const dt = new Date(ano+'-'+mes+'-'+dia);\r\n if( dt ){\r\n input_datepicker?.changeDate;\r\n document.getElementById(this.ID)?.blur();\r\n this.onChange.emit(this.innerValue);\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n }\r\n }else{\r\n this.innerValue = undefined;\r\n this.onChange.emit(this.innerValue);\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n //console.log('input_datepicker', input_datepicker['value'] );\r\n })\r\n\r\n\r\n input_datepicker.addEventListener('changeDate', (event: any) => {\r\n //console.log(event);\r\n if( event?.detail?.date ){\r\n this.toSelectedDate( event.detail );\r\n }else{\r\n //console.log('event null');\r\n this.innerValue = '';\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n })\r\n } \r\n });\r\n }\r\n\r\n toSetDate(){\r\n // Ex de uso\r\n const dates = ['18/11/2022'];\r\n if( this.datepicker ){\r\n this.datepicker.setDate(dates);\r\n } \r\n }\r\n\r\n toSetDefaultDate(date: string | string[]){\r\n \r\n if( date === undefined || date === null || date === '' ){\r\n this.clearDate();\r\n return;\r\n }\r\n\r\n let dates = [] as string[];\r\n\r\n if( date && typeof date === 'string' ){\r\n if( (date).includes(',') ){\r\n const dates = (date).split(',');\r\n date = dates;\r\n if( !this.multiple ){\r\n this.innerValue = date = dates[0];\r\n this.ngModelChange.emit(this.innerValue); \r\n }\r\n }\r\n }\r\n \r\n if( date && typeof date === 'string' ){\r\n (dates).push( date ); \r\n }else{\r\n dates = <Array<string>> date;\r\n }\r\n if( this.datepicker ){\r\n this.datepicker.setDate(dates); \r\n } \r\n }\r\n\r\n toSelectedDate(detail: any){ \r\n if( detail.datepicker.dates && (detail.datepicker.dates).length > 0 ){\r\n if( this.multiple ){\r\n let dates = [];\r\n for( let i = 0; i < (detail.datepicker.dates).length; i++ ){\r\n const timeStamp = <number> detail.datepicker.dates[i];\r\n (dates).push( this.format_date( timeStamp ) );\r\n }\r\n this.innerValue = dates;\r\n this.onChange.emit(this.innerValue); \r\n }else{\r\n const timeStamp = <number> detail.datepicker.dates[0];\r\n const date = this.format_date( timeStamp );\r\n this.onChange.emit(date);\r\n this.innerValue = date;\r\n } \r\n }else{\r\n this.clearDate();\r\n this.innerValue = null;\r\n this.onChange.emit(this.innerValue);\r\n } \r\n this.value = this.innerValue;\r\n this.ngModelChange.emit(this.innerValue); \r\n }\r\n\r\n format_date(timeStamp: number){\r\n var date = new Date(timeStamp);\r\n\r\n let dia = `${date.getDate()}`;\r\n let mes = `${date.getMonth()+1}`;\r\n let ano = `${date.getFullYear()}`;\r\n\r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n\r\n const dateFormat = `${dia}/${mes}/${ano}`;\r\n return dateFormat;\r\n }\r\n\r\n toClickIn(id: string){\r\n const element = document.getElementById(id) as any;\r\n setTimeout(() => { \r\n element?.datepicker?.show();\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n\r\n //console.log('value', v);\r\n\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; // this.toSetMask(v); \r\n this.onChangeCallback(v);\r\n }else{\r\n // this.innerValue = '';\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefaultDate(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n","<!-- Input mode -->\r\n<ng-container *ngIf=\"modeInput\">\r\n\r\n <div class=\"input-tc-datepicker\" [class.no-border]=\"!useBorder\">\r\n <table class=\"table-box-input\">\r\n <tr>\r\n <td class=\"td-icon\">\r\n <div class=\"delimiter-time-icon\" (click)=\"toClickIn(ID)\" ><i class=\"fas fa-calendar-alt\"></i></div>\r\n </td>\r\n <td class=\"td-date\">\r\n <input #input_datepicker type=\"text\" name=\"{{ID}}\" id=\"{{ID}}\" class=\"form-control\" >\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n\r\n \r\n \r\n</ng-container>\r\n\r\n<!-- Inline mode -->\r\n<ng-container *ngIf=\"!modeInput\"> \r\n <div #input_datepicker id=\"{{ID}}\" pattern=\"/^\\d{2}\\/\\d{2}\\/\\d{4}$/\"></div>\r\n</ng-container>\r\n\r\n\r\n<!-- EX de uso \r\n <tc-datepicker \r\n [multiple]=\"false\"\r\n [daysOfWeekDisabled]=\"[0,6]\"\r\n [minDate]=\"'18/11/2021'\"\r\n [maxDate]=\"'18/12/2023'\"\r\n [datesDisabled]=\"['12/10/2022','25/12/2022']\"\r\n [modeInput]=\"false\"\r\n [(ngModel)]=\"dateValue\" >\r\n </tc-datepicker>\r\n \r\n // multiple = false\r\n // dateValue - string - pode ser: 12/12/2022 \r\n\r\n // multiple = true\r\n // dateValue - string - pode ser: 11/12/2022,12/12/2022 ... \r\n\r\n <pre>data: {{ dateValue }}</pre>\r\n-->\r\n","import { Component, forwardRef, OnInit, EventEmitter, Output, Input, ViewChild, ElementRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ISelectOptions } from '../tcloud-ui-data-list/tcloud-ui-data-list';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDatepickerTimeComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-datepicker-time',\r\n templateUrl: './tcloud-ui-datepicker-time.component.html',\r\n styleUrls: ['./tcloud-ui-datepicker-time.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]\r\n})\r\nexport class TCloudUiDatepickerTimeComponent implements OnInit {\r\n\r\n @Input() UTC: boolean = false;\r\n\r\n show_date_picker: boolean = true;\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n if( v && v !== this.innerValue ){\r\n this.innerValue = v; \r\n } \r\n }\r\n @Output() ngModelChange = new EventEmitter<Date>();\r\n\r\n @Output() onChange = new EventEmitter<Date>();\r\n @Output() eventChange = new EventEmitter<any>();\r\n\r\n @Input() useOptionsDateTime = false;\r\n\r\n DD_MM_YYYY: string = '';\r\n HH: string = '00';\r\n MM: string = '00';\r\n\r\n ID: string = '';\r\n\r\n option_HH: string[] | undefined;\r\n option_MM: string[] | undefined;\r\n\r\n @ViewChild('_datepickertime', {static: false}) datepickertime: ElementRef<HTMLElement> | undefined;\r\n\r\n options_date_time : ISelectOptions[] = [];\r\n open_options_date_time: boolean = false;\r\n\r\n last_options_date_time: any;\r\n description_options_date_time: any = '';\r\n value_options_date_time: any = '';\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n this.setOptionsDateTime();\r\n\r\n this.ID = this.generateID();\r\n this.option_HH = this.getListTIME(23);\r\n this.option_MM = this.getListTIME(59);\r\n }\r\n\r\n setOptionsDateTime(){\r\n this.options_date_time = [\r\n {value:'7-days', description: '7 dias'},\r\n {value:'15-days', description: '15 dias'},\r\n {value:'30-days', description: '30 dias'},\r\n {value:'current-month', description: 'Mês atual'},\r\n {value:'current-year', description: 'Ano atual'}\r\n ]\r\n }\r\n\r\n generateID(): string{\r\n return `tcloud-ui-datepicker-time-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n getListTIME(v: number){\r\n let mm = [];\r\n for(let i = 0; i <= v; i++ ){\r\n if( i < 10 ){\r\n (mm).push(`0${i}`);\r\n }else{\r\n (mm).push(`${i}`);\r\n }\r\n }\r\n return mm;\r\n }\r\n\r\n toSetDate(date: string){ \r\n this.set_date_by_datepicker(date);\r\n }\r\n\r\n toSetTime(){\r\n if( this.DD_MM_YYYY && ((this.DD_MM_YYYY).trim()).length === 10){\r\n const date = (this.DD_MM_YYYY).replace(/-/g, '/');\r\n let date_part = (date).split('/');\r\n let dd = date_part[0];\r\n let mm = date_part[1];\r\n let yy = date_part[2];\r\n const datetime = new Date(`${yy}-${mm}-${dd}`);\r\n if( this.checkIsDate(datetime) ){\r\n this.set_date_by_datepicker(date);\r\n }\r\n }\r\n }\r\n\r\n set_date_by_datepicker(date: string){\r\n\r\n console.log('set_date_by_datepicker date', date);\r\n\r\n if( date ){\r\n date = (date).replace(/-/g, '/');\r\n let date_part = (date).split('/');\r\n let dia = date_part[0];\r\n let mes = date_part[1];\r\n let ano = date_part[2];\r\n\r\n let hh = this.HH;\r\n if( !hh ){\r\n hh = '00';\r\n }else{\r\n if( ( +(hh) >= 0 && +(hh) < 24 ) ){\r\n hh = (+(hh) < 10 ) ? `0${+(hh)}` : `${+(hh)}`;\r\n }else{\r\n hh = '00';\r\n }\r\n }\r\n\r\n let mm = this.MM;\r\n if( !mm ){\r\n mm = '00';\r\n }else{\r\n if( ( +(mm) >= 0 && +(mm) < 60 ) ){\r\n mm = (+(mm) < 10 ) ? `0${+(mm)}` : `${+(mm)}`;\r\n }else{\r\n mm = '00';\r\n }\r\n }\r\n\r\n if( hh === '00' ){ this.HH = hh; }\r\n if( mm === '00' ){ this.MM = mm; }\r\n\r\n const notation = (this.UTC) ? '00Z' : '00';\r\n\r\n const str_date = `${ano}-${mes}-${dia}T${hh}:${mm}:${notation}`;\r\n const datetime = new Date( str_date );\r\n \r\n if( this.checkIsDate(datetime) ){\r\n this.innerValue = datetime;\r\n }else{\r\n this.innerValue = undefined;\r\n }\r\n\r\n this.ngModelChange.emit( this.innerValue );\r\n this.onChange.emit( this.innerValue );\r\n this.eventChange.emit( this.datepickertime?.nativeElement );\r\n\r\n }else{\r\n\r\n this.description_options_date_time = '';\r\n this.value_options_date_time = '';\r\n\r\n this.innerValue = undefined;\r\n this.ngModelChange.emit( this.innerValue );\r\n this.onChange.emit( this.innerValue );\r\n this.eventChange.emit( this.datepickertime?.nativeElement );\r\n }\r\n\r\n if( `${this.last_options_date_time}` !== `${this.innerValue}` ){\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n }\r\n\r\n }\r\n\r\n // Distribuir os valores da data por pedaços: data - hora - min\r\n to_date_hh_mm(d: Date){\r\n let dia = `${(d).getDate()}`;\r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n let mes = `${(d).getMonth()+1}`;\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n\r\n let ano = `${(d).getFullYear()}`;\r\n let hh = `${(d).getHours()}`;\r\n let mm = `${(d).getMinutes()}`;\r\n\r\n if( hh && ( +(hh) < 0 || +(hh) > 23 ) ){ hh = '00'; }\r\n hh = (hh) ? ( (+(hh) < 10 ) ? `0${hh}` : hh ) : '00';\r\n\r\n if( mm && ( +(mm) < 0 || +(mm) > 59 ) ){ mm = '00'; }\r\n mm = (mm) ? ( (+(mm) < 10 ) ? `0${mm}` : mm ) : '00';\r\n\r\n this.MM = mm;\r\n this.HH = hh;\r\n\r\n this.DD_MM_YYYY = `${dia}/${mes}/${ano}`;\r\n }\r\n\r\n checkIsDate(d: any): boolean{\r\n\r\n if(Object.prototype.toString.call(d) === \"[object Date]\") {\r\n if(isNaN(d)) { return false; } else { return true; }\r\n } \r\n return false;\r\n }\r\n\r\n\r\n clean(){\r\n this.DD_MM_YYYY = '';\r\n this.HH = '00';\r\n this.MM = '00';\r\n this.description_options_date_time = '';\r\n this.value_options_date_time = '';\r\n }\r\n\r\n toClickIn(id: string){\r\n document.getElementById(id)?.focus();\r\n }\r\n\r\n onClosedOptionsDateTime(){\r\n this.open_options_date_time = false\r\n }\r\n\r\n \r\n onChangeOptionsDateTime(event: any){\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n this.show_date_picker = false;\r\n\r\n let now = new Date();\r\n let filter_date: any = undefined;\r\n if( event === '7-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 7 ) ); \r\n filter_date = new Date( (filter_date).setSeconds(0) ); \r\n }\r\n\r\n if( event === '15-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 15 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === '30-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 30 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === 'current-month' ){\r\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\r\n }\r\n\r\n if( event === 'current-year' ){\r\n filter_date = new Date(now.getFullYear(), 0, 1);\r\n }\r\n\r\n if(filter_date){ \r\n this.innerValue = filter_date;\r\n if( this.checkIsDate(filter_date) ){ \r\n setTimeout(() => {\r\n this.to_date_hh_mm(filter_date);\r\n this.toSetDate(this.DD_MM_YYYY); \r\n this.show_date_picker = true;\r\n this.value_options_date_time = event;\r\n this.last_options_date_time = filter_date as any;\r\n this.description_options_date_time = this.get_description_options_date_time(event);\r\n }); \r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n get_description_options_date_time(value: string){\r\n if( this.options_date_time && (this.options_date_time).length > 0 ){\r\n for( let i = 0; i < (this.options_date_time).length; i++ ){\r\n const item = this.options_date_time[i];\r\n if( item.value === value ){\r\n return item.description;\r\n }\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n\r\n closedTimeDescription(){\r\n this.value_options_date_time = '';\r\n this.description_options_date_time = ''; \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n\r\n try {\r\n value = new Date( `${value}` );\r\n } catch (error) {}\r\n\r\n this.innerValue = value;\r\n if( this.checkIsDate(value) ){\r\n this.to_date_hh_mm(value);\r\n }else{\r\n this.clean()\r\n }\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n","<input type=\"hidden\" value=\"{{ innerValue }}\" #_datepickertime >\r\n<form #_formulario=\"ngForm\">\r\n <div class=\"input-control-time\">\r\n <div class=\"form-control-time\">\r\n\r\n <table style=\"width: 100%;\">\r\n <tr>\r\n <td>\r\n\r\n <div class=\"input-options-date\">\r\n <table class=\"form-time\">\r\n <tr>\r\n <!-- <td class=\"area-icon\"><div class=\"delimiter-time-icon\" (click)=\"toClickIn(ID)\" ><i class=\"fas fa-calendar-alt\"></i></div></td> -->\r\n <td class=\"area-input-date\">\r\n <ng-container *ngIf=\"show_date_picker\">\r\n <tcloud-ui-datepicker #_tclouddatepickertime [modeInput]=\"true\" name=\"date\" [useBorder]=\"false\" [(ngModel)]=\"DD_MM_YYYY\" (onChange)=\"toSetDate($event)\" ></tcloud-ui-datepicker>\r\n </ng-container>\r\n </td>\r\n \r\n <td class=\"area-delimiter\"><div class=\"delimiter-time\"></div></td>\r\n <td class=\"area-input-hour\">\r\n <!--<input type=\"text\" placeholder=\"HH\" (keyup)=\"toSetTime()\" [(ngModel)]=\"HH\" maxlength=\"2\" name=\"hh\" pattern=\"[0][0-9]|[1][0-9]|2[0-3]\">-->\r\n <select class=\"select-time-date\" (change)=\"toSetTime()\" [(ngModel)]=\"HH\" name=\"hh\">\r\n <ng-container *ngFor=\"let hh of option_HH\">\r\n <option [ngValue]=\"hh\">{{ hh }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td class=\"area-delimiter\"><div class=\"delimiter-time\">:</div></td>\r\n <td class=\"area-input-minute\">\r\n <!--<input type=\"text\" placeholder=\"MM\" (keyup)=\"toSetTime()\" [(ngModel)]=\"MM\" maxlength=\"2\" name=\"mm\" pattern=\"[012345][0-9]\">-->\r\n <select class=\"select-time-date\" (change)=\"toSetTime()\" [(ngModel)]=\"MM\" name=\"mm\">\r\n <ng-container *ngFor=\"let mm of option_MM\">\r\n <option [value]=\"mm\">{{ mm }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td class=\"area-clean\"></td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"description-options-date\" *ngIf=\"value_options_date_time !== ''\">\r\n <strong>{{ description_options_date_time }}</strong>\r\n\r\n <!-- <div class=\"area-action-date-time-selected\">\r\n <button class=\"btn-icon\" type=\"button\" (click)=\"closedTimeDescription()\" >\r\n <i class=\"fas fa-times\"></i>\r\n </button> \r\n </div> -->\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n </td>\r\n <td *ngIf=\"useOptionsDateTime && options_date_time && (options_date_time).length > 0\" style=\"width: 20px\">\r\n <button type=\"button\" class=\"icon-short-time\" (click)=\"open_options_date_time = !open_options_date_time\" [title]=\"description_options_date_time\" >\r\n <i *ngIf=\"!open_options_date_time\" class=\"fas fa-caret-down\"></i>\r\n <i *ngIf=\"open_options_date_time\" class=\"fas fa-caret-up\"></i>\r\n </button>\r\n\r\n <ng-container *ngIf=\"value_options_date_time !== ''\">\r\n <button class=\"btn-icon-close\" type=\"button\" (click)=\"closedTimeDescription()\" >\r\n <i class=\"fas fa-times\"></i>\r\n </button> \r\n </ng-container>\r\n\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"useOptionsDateTime && options_date_time && (options_date_time).length > 0 && open_options_date_time\">\r\n <td colspan=\"2\">\r\n <tcloud-ui-data-list \r\n name=\"value_options_date_time\"\r\n [showInput]=\"false\" \r\n [search]=\"false\" \r\n [open]=\"true\" \r\n [listItems]=\"options_date_time\" \r\n (onClosed)=\"onClosedOptionsDateTime()\"\r\n [ngModel]=\"value_options_date_time\"\r\n (ngModelChange)=\"onChangeOptionsDateTime($event)\"\r\n >\r\n </tcloud-ui-data-list>\r\n\r\n \r\n\r\n\r\n \r\n </td>\r\n </tr>\r\n </table>\r\n\r\n \r\n </div>\r\n </div>\r\n</form>","import { Component, Input, OnInit, Output, EventEmitter, forwardRef } from '@angular/core';\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n\ninterface IResultDateTime{\n start: any;\n stop: any;\n}\n\n@Component({\n selector: 'range-date',\n templateUrl: './range-date.component.html',\n styleUrls: ['./range-date.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\n})\nexport class TCloudUiRangeDateComponent implements OnInit {\n\n result = {} as IResultDateTime;\n\n options_date_time: any = [];\n use_validation_required: boolean = false;\n\n @Output() onChange = new EventEmitter<IResultDateTime>();\n\n @Input() defaultValuePeriodStartStop: string = '';\n @Input() required: string | undefined;\n\n @Input() descriptionStart: string = '';\n @Input() descriptionStop: string = '';\n\n @Input() UTC: boolean = false;\n\n mode: string = 'select';\n\n isValid = false;\n\n constructor() { }\n\n ngOnInit(): void {\n this.setOptionsDateTime();\n }\n\n setOptionsDateTime(){\n this.options_date_time = [\n {value:'7-days', description: '7 dias'},\n {value:'15-days', description: '15 dias'},\n {value:'30-days', description: '30 dias'},\n {value:'current-month', description: 'Mês atual'},\n {value:'current-year', description: 'Ano atual'}\n ]\n setTimeout(() => {\n if( this.defaultValuePeriodStartStop !== '' ){\n this.onChangeOptionsDateTime( this.defaultValuePeriodStartStop );\n }\n });\n \n }\n\n onChangeOptionsDateTime(event: any){\n this.isValid = false;\n // this.description_options_date_time = '';\n // this.value_options_date_time = '';\n event = (event.value) ? event.value : event;\n\n let now = new Date();\n let filter_date: any = undefined;\n if( event === '7-days' ){\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 7 ) ); \n filter_date = new Date( (filter_date).setSeconds(0) ); \n }\n\n if( event === '15-days' ){\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 15 ) );\n filter_date = new Date( (filter_date).setSeconds(0) );\n }\n\n if( event === '30-days' ){\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 30 ) );\n filter_date = new Date( (filter_date).setSeconds(0) );\n }\n\n if( event === 'current-month' ){\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\n }\n\n if( event === 'current-year' ){\n filter_date = new Date(now.getFullYear(), 0, 1);\n }\n\n if(filter_date){ \n \n this.result = {\n start: filter_date,\n stop: now\n } as IResultDateTime;\n this.onChange.emit(this.result);\n this.isValid = true;\n }else{\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n this.isValid = false;\n }\n\n }\n\n onChangeStartDateTime(event: any){\n this.isValid = false;\n if( this.result && this.result.start && this.result.stop ){\n this.onChange.emit(this.result);\n this.isValid = true;\n }else{\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n }\n }\n\n onChangeStopDateTime(event: any){\n this.isValid = false;\n if( this.result && this.result.start && this.result.stop ){\n this.onChange.emit(this.result);\n this.isValid = true;\n }else{\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n }\n }\n\n toggle(){\n const mode = (this.mode === 'select') ? 'datepickers' : 'select';\n if( mode === 'select' ){\n this.isValid = false;\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n }\n this.mode = mode;\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n //this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n check_is_valid(): boolean{\n if( this.result && this.result.start && this.result.stop ){\n return true;\n }\n return false;\n }\n\n}\n","<table class=\"area-range-date\">\n <tr>\n\n <td>\n <div *ngIf=\"mode === 'select'\">\n <div class=\"description-period\">Período</div>\n <select name=\"periodo\" class=\"form-control tc-form-control\" (change)=\"onChangeOptionsDateTime($event.target)\" [(ngModel)]=\"defaultValuePeriodStartStop\" >\n <option value=\"\"></option> \n <ng-container *ngFor=\"let item of options_date_time\">\n <option [value]=\"item.value\">{{ item.description }}</option>\n </ng-container>\n </select>\n </div>\n <div *ngIf=\"mode === 'datepickers'\">\n\n <table class=\"area-range-datepickers\">\n <tr>\n <td>\n <div class=\"description-start\">{{ descriptionStart }}</div>\n <tcloud-ui-datepicker-time \n #_input_start \n [UTC]=\"UTC\"\n [(ngModel)]=\"result.start\" \n name=\"input_start\" \n (eventChange)=\"onChangeStartDateTime(_input_start)\">\n </tcloud-ui-datepicker-time>\n </td>\n <td>\n <div class=\"description-stop\">{{ descriptionStop }}</div>\n <tcloud-ui-datepicker-time \n #_input_stop\n [UTC]=\"UTC\"\n [(ngModel)]=\"result.stop\" \n name=\"input_stop\" \n (eventChange)=\"onChangeStopDateTime(_input_stop)\">\n </tcloud-ui-datepicker-time>\n </td>\n </tr>\n </table>\n\n </div>\n </td>\n\n <td>\n <button class=\"btn-mode-range-date\" [class.active]=\"mode === 'select'\" (click)=\"toggle()\" type=\"button\">\n\n <i *ngIf=\"mode === 'select'\" class=\"far fa-calendar-alt\" title=\"Alterar para calendário\"></i>\n <i *ngIf=\"mode !== 'select'\" class=\"fas fa-calendar-week\" title=\"Selecionar período\"></i>\n\n <!-- <div *ngIf=\"mode === 'select'\">Exibir<br>Calendário</div> -->\n <!-- <div *ngIf=\"mode !== 'select'\">Exibir<br>Período</div> -->\n </button>\n </td>\n\n </tr>\n</table>","import { DatePipe } from '@angular/common';\nimport { Component, Input, OnChanges, OnInit, Output, SimpleChanges, EventEmitter, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { TCCondition, TCDataFilters, TCFiltersType } from './tcloud-ui-filters';\n\n@Component({\n selector: 'tcloud-ui-filters',\n templateUrl: './tcloud-ui-filters.component.html',\n styleUrls: ['./tcloud-ui-filters.component.scss']\n})\nexport class TCloudUiFiltersComponent implements OnInit, OnChanges {\n\n datepickers = [] as any;\n\n @ViewChild('_formulario') _formulario: NgForm | undefined;\n\n inputs: string[] = [];\n\n show_filters: boolean = false;\n\n search_data: any | undefined;\n\n private _data: any | undefined;\n @Input() set data(data: any){\n // this._data = JSON.parse(JSON.stringify(data));\n }\n get data(): any{ return this._data; }\n\n private _filters: TCDataFilters | undefined;\n @Input() set filters(filters: any){\n //this._filters = filters;\n }\n get filters(): any{ return this._filters; }\n\n private _submitText: string = 'Filtrar';\n @Input() set submitText(v: string){ \n if( v && v !== this._submitText ){\n this._submitText = v;\n }\n }\n get submitText():string{ return this._submitText; }\n\n @Input() btnSubmitClass: string = 'btn-new-grey';\n @Input() useOnChangeSubmit: boolean = true; // useOnChangeSubmit - Submit automatico quando for alterado quanquer input\n @Input() useButtonSubmit: boolean = false; // useButtonSubmit - Exibe um botão de submit e não executa a busca automaticamente\n @Input() useNormalizeCaseSensitive: boolean = true; // useNormalizeCaseSensitive - Não valida caixa alta ou baixa e caracteres especiais\n @Input() useRangeDate: boolean = true;\n @Input() useFilterAccept: boolean = false;\n\n @Output() result = new EventEmitter<any>();\n @Output() onFilter = new EventEmitter<any>();\n @Output() onChange = new EventEmitter<any>();\n @Output() onSubmit = new EventEmitter<any>();\n\n descriptionStart: string = '';\n descriptionStop: string = '';\n\n private first_active_filter: boolean = false;\n\n start_stop: boolean = false;\n start_stop_width: number = 0;\n start_stop_und: string = ''; // px ou %\n\n constructor(\n private datepipe: DatePipe\n ) { }\n\n ngOnInit(): void {\n setTimeout(() => {\n if( this.filters && (this.filters).length > 0 ){\n for(let i = 0; i < (this.filters).length; i++){\n if( this.filters[i].value ){\n if( this.filters[i].type === 'datetime-local' ){\n try {\n this.filters[i].searchText = new Date( `${this.filters[i].value}` );\n } catch (error) {}\n }else{\n this.filters[i].searchText = this.filters[i].value;\n }\n this.first_active_filter = true;\n }\n } \n }\n this.start_stop = (this.useRangeDate) ? this.is_start_stop_datetime() : false;\n this.toSubmit();\n });\n }\n\n is_start_stop_datetime(){\n let start = false;\n let stop = false;\n if( this.filters && (this.filters).length > 0 ){\n this.start_stop_width = 0;\n for(let i = 0; i < (this.filters).length; i++){\n if( this.filters[i].id === 'start' ){\n start = true;\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\n this.start_stop_und = this.getUnidade(this.filters[i].width);\n this.descriptionStart = this.filters[i].description;\n }\n if( this.filters[i].id === 'stop' ){\n stop = true;\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\n this.descriptionStop = this.filters[i].description;\n }\n }\n }\n return ( start && stop ) ? true : false;\n }\n\n getValueWidth(v: string):number {\n let und = this.getUnidade(v);\n v = (v).replace(und, '');\n return +(v);\n }\n\n getUnidade(v: string):string {\n let und = '%';\n if( v && (v).includes('px') ){\n und = 'px';\n }\n return und;\n }\n \n\n ngOnChanges(changes: SimpleChanges) { \n \n if( changes && changes['data'] ){\n const data = changes['data'].currentValue;\n if( this._data !== data ){\n this._data = JSON.parse(JSON.stringify(data));\n this.search_data = JSON.parse(JSON.stringify(data));\n this.init();\n }\n }\n\n if( changes && changes['filters'] ){\n const filters = changes['filters'].currentValue;\n if( this._filters !== filters ){\n this._filters = JSON.parse(JSON.stringify(filters));\n this.init();\n }\n }\n }\n\n private init(){\n if( this.data && this.filters ){\n this.show_filters = true;\n if( this.filters && (this.filters).length > 0 ){\n (this.filters).forEach((filter: TCDataFilters) => { \n this.searchIn(filter, 'sync');\n });\n } \n // this.toResult();\n if( !this.useOnChangeSubmit ){\n this.result_accept(this.data);\n }\n\n if( this.useOnChangeSubmit || this.useButtonSubmit ){\n this.start_filter();\n }\n }\n }\n\n private normalize(text: any): string{\n if( this.useNormalizeCaseSensitive ){\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n return v;\n }\n return text;\n }\n\n toSubmit(){\n if( this.filters && (this.filters).length > 0 ){\n this.init();\n }\n this.emitSubmitFilters();\n }\n\n private emitSubmitFilters(){\n let filters = JSON.parse(JSON.stringify(this.filters));\n if( filters && (filters).length > 0 ){\n (filters).forEach((filter: TCDataFilters, i: number) => {\n\n if( filter.width ){ delete(filters[i].width); }\n if( filter.placeholder ){ delete(filters[i].placeholder); }\n if( filter.description ){ delete(filters[i].description); }\n\n if( (!filter.searchText || filter.searchText && filter.searchText === '') && filter.type !== \"boolean\" ){\n delete(filters[i]);\n }\n if( filter.type === \"boolean\" ){\n if( !filter.searchText ){\n filter.searchText = false;\n }\n }\n \n });\n } \n // console.log('onSubmit', this.filters);\n this.onSubmit.emit(this.filters);\n }\n\n\n private collectionFind(obj: any, path: any): any {\n const pathArray = path.split(\".\");\n let current = obj;\n for (let i = 0; i < pathArray.length; i++) {\n const key = pathArray[i];\n\n if (key.includes('[') && key.includes(']')) {\n const nextKeys = pathArray.slice(i + 1);\n const index = key.substring(key.indexOf('[') + 1, key.indexOf(']'));\n const arrayKey = key.substring(0, key.indexOf('['));\n if( current && current[arrayKey] && current[arrayKey][index] ){\n return this.collectionFind(current[arrayKey][index], nextKeys.join(\".\"));\n }\n }\n\n\n if (key.includes(\"[]\")) {\n const arrayKey = key.replace(\"[]\", \"\");\n current = current[arrayKey] || [];\n const nextKeys = pathArray.slice(i + 1);\n const results = [];\n for (let j = 0; j < current.length; j++) {\n let result = this.collectionFind(current[j], nextKeys.join(\".\"));\n if (result !== undefined) {\n results.push(result); \n }\n }\n if (results.length === 0) {\n return undefined;\n }\n return results;\n } else {\n if( !current || (current && !current[key]) ){\n return undefined;\n }\n current = current[key];\n if (current === undefined) {\n return undefined;\n }\n }\n }\n return current;\n }\n \n first: boolean = true;\n start_filter_fc: any = undefined;\n\n start_value: any | undefined;\n stop_value: any | undefined;\n\n searchInRange( range_date: any){\n \n if( this.filters && (this.filters).length > 0 ){\n\n let event = {} as any; \n event.datepickertime = true;\n\n for( let i = 0; i < (this.filters).length; i++ ){\n\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'start' ){\n this.filters[i].value = range_date?.result?.start!;\n this.filters[i].searchText = range_date?.result?.start!;\n event.innerValue = this.start_value = range_date?.result?.start!;\n this.searchIn(this.filters[i], event);\n }\n\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'stop' ){\n this.filters[i].value = range_date?.result?.stop!;\n this.filters[i].searchText = range_date?.result?.stop!;\n event.innerValue = this.stop_value = range_date?.result?.stop!;\n this.searchIn(this.filters[i], event);\n }\n }\n if( this.first || this.useOnChangeSubmit ){\n this.toSubmit();\n }\n \n }\n this.first = false;\n\n }\n\n convertDataToNumber(dataString: string): number {\n try {\n const [dia, mes, ano] = dataString.split('/');\n return +(`${ano}${mes}${dia}`);\n } catch (error) {}\n return 0;\n }\n\n searchIn(item: TCDataFilters, event?: any){\n\n \n\n this.start_filter_fc = undefined;\n\n let isValid = true;\n\n if( event === 'sync' && isValid ){\n isValid = false;\n this.onChange.emit(true);\n }\n\n if( typeof event === 'boolean' && isValid ){\n isValid = false;\n item.searchText = event;\n this.onChange.emit(true);\n }\n\n if( event === undefined || event === null || event === '' && isValid ){\n isValid = false;\n item.searchText = '';\n this.onChange.emit(true);\n }\n\n if( event?.datepickertime && isValid ){\n isValid = false;\n item.searchText = event?.innerValue; \n this.onChange.emit(true);\n }\n\n if(event?.target?.value && isValid ){\n isValid = false;\n item.searchText = this.normalize(event.target.value);\n this.onChange.emit(true);\n }\n\n if(event?.target?.value === '' && isValid ){\n isValid = false;\n item.searchText = '';\n this.onChange.emit(true);\n }\n\n if( item.type === 'date-local' && item.value ){\n isValid = false;\n item.searchText = `${this.convertDataToNumber( item.value )}`;\n this.onChange.emit(true);\n }\n \n if( this.useOnChangeSubmit || this.first_active_filter ){ \n this.start_filter_fc = this.start_filter();\n this.first_active_filter = false;\n }\n\n if( !this.useButtonSubmit ){\n this.emitSubmitFilters();\n } \n }\n\n \n start_filter(): void{\n for( let i = 0; i < (this.data).length; i++ ){\n\n this.setDataIndex(i, true);\n\n for( let j = 0; j < (this.filters).length; j++ ){ \n const filter_item = this.filters[j]; \n\n if( filter_item.searchText && typeof (filter_item.searchText) === 'string' && filter_item.searchText !== '' && filter_item.type !== TCFiltersType.number && filter_item.type !== TCFiltersType.date ){\n filter_item.searchText = this.normalize(filter_item.searchText); \n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\n if( item_value ){\n item_value = this.normalize(item_value); \n if( !( item_value.includes(filter_item.searchText) || item_value === filter_item.searchText ) ){\n this.setDataIndex(i, false);\n }\n }else{\n this.setDataIndex(i, false);\n }\n } \n \n\n if( filter_item.searchText && filter_item.searchText instanceof Date && !isNaN( filter_item.searchText.valueOf()) && filter_item.type === TCFiltersType.datetime ){\n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\n\n try { item_value = new Date(item_value); } catch (error) {}\n if( item_value && item_value instanceof Date && !isNaN( item_value.valueOf()) ){\n let is_accept = false;\n const dt_target = (filter_item.searchText).getTime() + (3 * 60 * 60 * 1000);\n const dt_current = (item_value).getTime();\n if( filter_item.condition ){\n switch (filter_item.condition) {\n case TCCondition.gt: is_accept = !( +(dt_target) > +(dt_current) ); break;\n case TCCondition.lt: is_accept = !( +(dt_target) < +(dt_current) ); break;\n case TCCondition.gte: is_accept = !( +(dt_target) >= +(dt_current) ); break;\n case TCCondition.lte: is_accept = !( +(dt_target) <= +(dt_current) ); break;\n case TCCondition.equal: is_accept = !( +(dt_target) === +(dt_current) ); break;\n default: is_accept = !( +(dt_target) == +(dt_current) );\n }\n }else{\n is_accept = !( +(filter_item.searchText) === +(item_value) );\n }\n if( !is_accept ){\n this.setDataIndex(i, false);\n }\n }\n }\n\n \n\n if( filter_item.searchText && typeof +(filter_item.searchText) === 'number' && ( filter_item.type === TCFiltersType.number || filter_item.type === TCFiltersType.date ) ){\n filter_item.searchText = Number(filter_item.searchText);\n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\n if( typeof +(item_value) === 'number' ){ \n item_value = Number(item_value); \n let is_accept = false;\n if( filter_item.condition ){\n switch (filter_item.condition) {\n case TCCondition.gt: is_accept = !( +(filter_item.searchText) > +(item_value) ); break;\n case TCCondition.lt: is_accept = !( +(filter_item.searchText) < +(item_value) ); break;\n case TCCondition.gte: is_accept = !( +(filter_item.searchText)-0.01 >= +(item_value) ); break;\n case TCCondition.lte: is_accept = !( +(filter_item.searchText)+0.01 <= +(item_value) ); break;\n case TCCondition.equal: is_accept = !( +(filter_item.searchText) === +(item_value) ); break;\n default: is_accept = !( +(filter_item.searchText) == +(item_value) );\n }\n }else{\n is_accept = !( +(filter_item.searchText) === +(item_value) );\n }\n if( !is_accept ){\n this.setDataIndex(i, false);\n }\n }\n }\n \n \n if( typeof (filter_item.searchText) === 'boolean' && filter_item.searchText ){\n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\n \n if( item_value && (item_value).length > 0 ){ \n let qtd_is_true = 0; \n for( let i = 0; i < ((item_value).length); i++ ){\n const item = item_value[i];\n if( item === filter_item.searchText ){\n qtd_is_true++;\n }\n }\n if( qtd_is_true === 0 ){\n this.setDataIndex(i, false);\n }\n }else{\n if( !( item_value === filter_item.searchText ) ){\n this.setDataIndex(i, false);\n }\n } \n }\n \n }\n\n } // end for\n \n this.toResult();\n \n }\n\n private toResult(){\n\n\n const search_data = [];\n\n let is_filter = false;\n for( let i = 0; i < (this.filters).length; i++ ){\n if( this.filters[i].searchText && this.filters[i].searchText !== '' ){\n is_filter = true;\n }\n }\n\n if( is_filter ){\n for( let i = 0; i < (this.data).length; i++ ){\n if( this.data && this.data[i] && this.data[i]['tc_filter_accept'] ){\n (search_data).push(this.data[i]);\n }\n }\n this.result_accept(search_data);\n this.onFilter.emit({...this.filters});\n return;\n }\n\n this.result_accept(this.data);\n this.onFilter.emit({...this.filters});\n }\n\n setDataIndex(index: number, value: boolean ){\n if( this.data && this.data[index] ){\n this.data[index]['tc_filter_accept'] = value;\n }\n }\n\n result_accept(data: any){\n if( !this.useFilterAccept && data && (data).length > 0 ){\n for( let i = 0; i < (data).length; i++ ){\n delete data[i]['tc_filter_accept'];\n }\n }\n this.result.emit(data);\n }\n\n}\n","<div *ngIf=\"show_filters\" class=\"area-filter\">\n <ng-container *ngFor=\"let item of filters; let i = index\">\n\n <ng-container *ngIf=\"!item.type || (item.type && item.type !== 'boolean')\">\n\n <ng-container *ngIf=\"item.type === 'date-local'\">\n\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n <div class=\"m-description box-type-{{item.type}}\"><i [class.to-active]=\"(item.value !== undefined && item.value !== null && item.value !== '')\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"box-type-{{item.type}}\">\n <tcloud-ui-datepicker \n #_input\n name=\"input_{{i+1}}\"\n [modeInput]=\"true\"\n [(ngModel)]=\"item.value\"\n (ngModelChange)=\"searchIn(item, _input)\">\n </tcloud-ui-datepicker>\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"!(item.value !== undefined && item.value !== null && item.value !== '')\" (click)=\"searchIn(item, null); item.searchText = undefined; item.value = ''\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n \n </ng-container>\n\n <ng-container *ngIf=\"item.type !== 'date-local'\">\n <ng-container *ngIf=\"item.type === 'datetime-local'\">\n\n <ng-container *ngIf=\"start_stop\">\n <ng-container *ngIf=\"item.id === 'start'\">\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+start_stop_width+''+start_stop_und : ''\">\n <div class=\"m-description box-type-{{item.type}}\"><i [class.to-active]=\"(_range_date && _range_date.result && _range_date.result.start && _range_date.result.stop )\" class=\"fas fa-filter icon-filter\"></i> </div>\n <range-date \n #_range_date ngModel name=\"input_{{i+1}}\" \n [defaultValuePeriodStartStop]=\"item.defaultValuePeriodStartStop\"\n [descriptionStart]=\"descriptionStart\"\n [descriptionStop]=\"descriptionStop\"\n [UTC]=\"(item && item.UTC) ? true : false\"\n required \n (onChange)=\"searchInRange(_range_date); searchIn(item, _range_date)\">\n </range-date>\n </div>\n </ng-container> \n <input *ngIf=\"item.id === 'start'\" #_input name=\"input_{{i+1}}\" type=\"hidden\" [(ngModel)]=\"start_value\"> \n <input *ngIf=\"item.id === 'stop'\" #_input name=\"input_{{i+1}}\" type=\"hidden\" [(ngModel)]=\"stop_value\"> \n </ng-container>\n\n <ng-container *ngIf=\"!start_stop\">\n\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n <div class=\"m-description box-type-{{item.type}}\"><i [class.to-active]=\"(item.value !== undefined && item.value !== null && item.value !== '')\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"box-type-{{item.type}}\">\n <tcloud-ui-datepicker-time \n #_input \n [(ngModel)]=\"item.value\" \n name=\"input_{{i+1}}\" \n [useOptionsDateTime]=\"(item && item.useOptionsDateTime) ? true : false\"\n [UTC]=\"(item && item.UTC) ? true : false\"\n (eventChange)=\"searchIn(item, _input)\" >\n </tcloud-ui-datepicker-time>\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"!(item.value !== undefined && item.value !== null && item.value !== '')\" (click)=\"searchIn(item, null); item.searchText = undefined; item.value = ''\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n </ng-container>\n\n </ng-container>\n </ng-container>\n \n <ng-container *ngIf=\"item.type !== 'select' && item.type !== 'datetime-local' && item.type !== 'date-local'\">\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n\n <div class=\"m-description box-type-{{item.type}}\"><i [class.to-active]=\"_input.value !== ''\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"box-type-{{item.type}}\">\n <input \n #_input\n [(ngModel)]=\"item.value\"\n placeholder=\"{{ (item.placeholder !== '') ? item.placeholder : '' }}\"\n name=\"input_{{i+1}}\" \n type=\"{{ (item.type === 'number') ? 'text' : item.type }}\" \n class=\"form-control tc-form-control\" \n (keyup)=\"searchIn(item, $event)\"> \n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"_input.value === ''\" (click)=\"searchIn(item, null); _input.value = ''\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"item.type === 'select' && item.data && (item.data).length > 0\" >\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n\n <div class=\"m-description box-type-{{item.type}}\"><i [class.to-active]=\"_input.value !== ''\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"box-type-{{item.type}}\">\n <select \n #_input\n [(ngModel)]=\"item.value\"\n name=\"input_{{i+1}}\" \n class=\"form-control tc-form-control\" \n (change)=\"searchIn(item, $event)\">\n <option [ngValue]=\"\"></option>\n <ng-container *ngFor=\"let v of item.data\">\n <option [value]=\"v.value\">{{ v.description }}</option>\n </ng-container>\n </select>\n </div>\n </div>\n </ng-container>\n\n </ng-container>\n\n\n <ng-container *ngIf=\"item.type && item.type === 'boolean'\">\n \n <div class=\"box-filter-input\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n <div class=\"m-description\"><i [class.to-active]=\"_input.checked === true\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"area-input-checkbox\">\n <div class=\"form-control tc-form-control\">\n <label>\n {{ item.placeholder }}\n <input \n #_input\n placeholder=\"{{ (item.placeholder !== '') ? item.placeholder : '' }}\"\n name=\"input_{{i+1}}\" \n type=\"checkbox\" \n (change)=\"searchIn(item, _input.checked)\"> \n </label>\n </div> \n </div>\n </div>\n\n </ng-container>\n\n\n </ng-container>\n\n <div class=\"text-right mb-1 mr-1\" *ngIf=\"useButtonSubmit\">\n <button type=\"button\" class=\"tc-btn {{ btnSubmitClass }}\" (click)=\"toSubmit()\" >{{ submitText }}</button>\n </div>\n\n</div>\n\n<!-- <pre>{{ inputs | json }}</pre> -->\n <!-- <pre> {{ data | json }} </pre>\n\n<p>FILTERS</p>\n<pre> {{ filters | json }}</pre> -->\n\n<!--\n <pre>start_stop: {{ start_stop }}</pre>\n <pre>start_stop_width: {{ start_stop_width }}</pre>\n <pre>start_stop_und: {{ start_stop_und }}</pre>\n-->","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiDatepickerComponent } from './tcloud-ui-datepicker.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDatepickerComponent\r\n ],\r\n exports: [\r\n TCloudUiDatepickerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class TCloudUiDatepickerModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiDatepickerTimeComponent } from './tcloud-ui-datepicker-time.component';\r\nimport { TCloudUiDatepickerModule } from './../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDatepickerTimeComponent\r\n ],\r\n exports: [\r\n TCloudUiDatepickerTimeComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TCloudUiDatepickerModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TCloudUiDataListModule\r\n ]\r\n})\r\nexport class TCloudUiDatepickerTimeModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiFiltersComponent } from './tcloud-ui-filters.component';\nimport { TCloudUiDatepickerTimeModule } from '../tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\nimport { TCloudUiRangeDateComponent } from './components/range-date/range-date.component';\nimport { TCloudUiDatepickerModule } from '../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiFiltersComponent,\n TCloudUiRangeDateComponent\n ],\n exports: [\n TCloudUiFiltersComponent,\n TCloudUiRangeDateComponent \n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TCloudUiDatepickerTimeModule,\n TCloudUiDatepickerModule\n ]\n})\nexport class TCloudUiFiltersModule { }\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TCloudUiAccordionService {\r\n\r\n private disabled: boolean | undefined;\r\n private loading: boolean | undefined;\r\n private show: boolean | undefined;\r\n\r\n private _stateToggle = new Subject<boolean>();\r\n public stateToggle$ = this._stateToggle.asObservable();\r\n\r\n private _stateLoading = new Subject<boolean>();\r\n public stateLoading$ = this._stateLoading.asObservable();\r\n\r\n private _stateDisabled = new Subject<boolean>();\r\n public stateDisabled$ = this._stateDisabled.asObservable();\r\n\r\n\r\n toggle(action: boolean): void{\r\n this._stateToggle.next( action );\r\n }\r\n\r\n getLoading(){\r\n return this.loading;\r\n }\r\n\r\n setLoading(loading: boolean){\r\n this.loading = loading;\r\n this._stateLoading.next(loading);\r\n }\r\n\r\n getShow(){\r\n return this.show;\r\n }\r\n\r\n setDisabled(disabled: boolean): void{\r\n this._stateDisabled.next( disabled );\r\n }\r\n\r\n getDisabled(){\r\n return this.disabled;\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\nimport { Component, EventEmitter, Input, OnInit, Output, OnDestroy } from '@angular/core';\nimport { TCloudUiAccordionService } from './services/tcloud-ui-accordion.service';\n\n@Component({\n selector: 'tcloud-ui-accordion',\n templateUrl: './tcloud-ui-accordion.component.html',\n styleUrls: ['./tcloud-ui-accordion.component.css'],\n providers: [\n TCloudUiAccordionService\n ],\n})\nexport class TCloudUiAccordionComponent implements OnInit, OnDestroy {\n\n subscription_01: Subscription | undefined;\n subscription_02: Subscription | undefined;\n \n private _disabled: boolean = false;\n @Input() set disabled(v: boolean){ \n this._disabled = v;\n if( this._disabled ){ \n setTimeout(() => { \n this._tCloudUiAccordionService.setDisabled(this._disabled);\n this._tCloudUiAccordionService.toggle(false); \n });\n }\n }\n get disabled(){ return this._disabled; }\n\n\n private _show: boolean = false;\n @Input() set show(v: boolean){ \n if( this._show !== v ){\n this._show = v;\n if( !this.disabled ){\n setTimeout(() => { this._tCloudUiAccordionService.toggle(this._show); }); \n } \n }\n }\n\n get show(){ return this._show; }\n\n\n @Output() onAction = new EventEmitter<'open'|'close'>();\n\n private _loading: boolean = false;\n /**\n * loading - boolean - Coloca o modal em modo de carregamento - default false\n */\n @Input() set loading(loading: boolean){ \n this._loading = loading;\n this._tCloudUiAccordionService.setLoading(loading);\n }\n get loading(): boolean { return this._loading; }\n\n constructor(\n private _tCloudUiAccordionService: TCloudUiAccordionService\n ) { }\n\n ngOnInit(): void {\n\n this.subscription_01 = this._tCloudUiAccordionService.stateLoading$.subscribe((loading: boolean) => {\n this.loading = loading; \n });\n \n this.subscription_02 = this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\n this.onAction.emit( (show === true) ? 'open' : 'close' );\n })\n\n }\n\n ngOnDestroy(): void {\n if( this.subscription_01 ){ this.subscription_01.unsubscribe(); }\n if( this.subscription_02 ){ this.subscription_02.unsubscribe(); }\n }\n\n}\n","<div class=\"tc-accordion\" [class.tc-accordion-disabled]=\"disabled\">\n <ng-content></ng-content>\n</div>","import { Component, OnInit, Output, EventEmitter, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TCloudUiAccordionService } from '../../services/tcloud-ui-accordion.service';\n\n@Component({\n selector: 'tcloud-ui-accordion-title',\n templateUrl: './tcloud-ui-accordion-title.component.html',\n styleUrls: ['./tcloud-ui-accordion-title.component.css']\n})\nexport class TCloudUiAccordionTitleComponent implements OnInit, OnDestroy {\n\n subscription_01: Subscription | undefined;\n subscription_02: Subscription | undefined;\n subscription_03: Subscription | undefined;\n\n show: boolean = false;\n loading: boolean = false;\n disabled: boolean = false;\n \n\n constructor(\n private _tCloudUiAccordionService: TCloudUiAccordionService\n ) { }\n\n ngOnInit(): void {\n\n this.loading = this._tCloudUiAccordionService.getLoading() || false;\n this.subscription_01 = this._tCloudUiAccordionService.stateLoading$.subscribe((loading: boolean) => {\n this.loading = loading;\n });\n\n this.show = this._tCloudUiAccordionService.getShow() || false;\n this.subscription_02 = this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\n this.show = show;\n });\n\n this.disabled = this._tCloudUiAccordionService.getDisabled() || false;\n this.subscription_03 = this._tCloudUiAccordionService.stateDisabled$.subscribe((disabled: boolean) => {\n this.disabled = disabled;\n });\n\n }\n\n toggle(){\n if( this.disabled ){ return; }\n\n this.show = !this.show;\n this._tCloudUiAccordionService.toggle(this.show); \n \n }\n\n toggle_title(){\n this.toggle();\n }\n\n ngOnDestroy(): void {\n if( this.subscription_01 ){ this.subscription_01.unsubscribe(); }\n if( this.subscription_02 ){ this.subscription_02.unsubscribe(); }\n if( this.subscription_03 ){ this.subscription_03.unsubscribe(); }\n }\n\n}\n","<div class=\"tc-accordion-title\">\n <table class=\"tc-accordion-table\">\n <tr>\n <td class=\"area-title\" (click)=\"toggle_title()\" >\n <ng-content></ng-content>\n </td>\n <td class=\"tc-accordion-actions\">\n <button type=\"button\" class=\"tc-btn-accordion-toggle\" [disabled]=\"disabled\" (click)=\"toggle()\" >\n\n <i class=\"fas fa-chevron-right icon-toggle\" *ngIf=\"!show\"></i>\n <i class=\"fas fa-chevron-down icon-toggle\" *ngIf=\"show\"></i>\n\n </button>\n </td>\n </tr>\n </table>\n</div>","import { Component, OnInit } from '@angular/core';\nimport { TCloudUiAccordionService } from '../../services/tcloud-ui-accordion.service';\n\n@Component({\n selector: 'tcloud-ui-accordion-body',\n templateUrl: './tcloud-ui-accordion-body.component.html',\n styleUrls: ['./tcloud-ui-accordion-body.component.scss']\n})\nexport class TCloudUiAccordionBodyComponent implements OnInit {\n\n show: boolean = false;\n \n constructor(\n private _tCloudUiAccordionService: TCloudUiAccordionService\n ) { }\n\n ngOnInit(): void {\n\n this.show = this._tCloudUiAccordionService.getShow() || false;\n this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\n this.show = show;\n })\n\n }\n\n}\n","<div class=\"tc-accordion-content\" style=\"display: none;\" [class.show]=\"show\">\n <ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiAccordionComponent } from './tcloud-ui-accordion.component';\nimport { TCloudUiAccordionTitleComponent } from './components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\nimport { TCloudUiAccordionBodyComponent } from './components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiAccordionComponent,\n TCloudUiAccordionTitleComponent,\n TCloudUiAccordionBodyComponent\n ],\n exports: [\n TCloudUiAccordionComponent,\n TCloudUiAccordionTitleComponent,\n TCloudUiAccordionBodyComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiAccordionModule { }\n","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\r\n\r\n\r\n@Directive({\r\n selector: '[TCalign]'\r\n})\r\nexport class TCloudUiAlignDirective implements OnInit{\r\n\r\n private _direction: 'start' | 'center' | 'end' = 'start';\r\n\r\n @Input() set TCalign (direction: any){\r\n if (direction){\r\n this._direction = direction;\r\n this.setStyle(this.el.nativeElement);\r\n }\r\n }\r\n \r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n setStyle(el: any){\r\n if( this._direction === 'start' ){\r\n this.renderer.setStyle(el, 'text-align', 'left');\r\n }\r\n\r\n if( this._direction === 'center' ){\r\n this.renderer.setStyle(el, 'text-align', 'center');\r\n }\r\n\r\n if( this._direction === 'end' ){\r\n this.renderer.setStyle(el, 'text-align', 'right');\r\n }\r\n }\r\n\r\n\r\n}","\r\nimport { Directive, Input, Renderer2, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[TCHoverParent]'\r\n})\r\nexport class TCloudUiHoverParentDirective {\r\n\r\n private CLASS: string | undefined;\r\n private ID: string | undefined;\r\n\r\n constructor(\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n @HostListener('mouseover') onMouseOver() {\r\n if( this.getElement() ){\r\n const el = <any> this.getElement();\r\n if( el ){\r\n this.renderer.addClass(el, (this.CLASS) ? this.CLASS : 'tcloud-hover-parent');\r\n }\r\n } \r\n }\r\n\r\n @HostListener('mouseout') onMouseOut() {\r\n if( this.getElement() ){\r\n const el = <any> this.getElement();\r\n if( el ){\r\n this.renderer.removeClass(el, (this.CLASS) ? this.CLASS : 'tcloud-hover-parent');\r\n }\r\n \r\n } \r\n }\r\n\r\n @Input() set TCHoverParent (id: string){\r\n if (id){ this.ID = id; }\r\n }\r\n\r\n @Input() set TCHoverParentClass (clss: any){\r\n if (clss){\r\n this.CLASS = clss;\r\n }\r\n }\r\n\r\n getElement(): HTMLElement | undefined{\r\n if( this.ID ){\r\n return document.getElementById(this.ID) || undefined;\r\n }\r\n return undefined;\r\n }\r\n\r\n}","import { Directive, ElementRef, OnInit, Renderer2, Input, HostListener} from '@angular/core';\r\n\r\n\r\n@Directive({\r\n selector: '[TCtooltip]'\r\n})\r\nexport class TCloudUiTooltipDirective implements OnInit{\r\n\r\n private _direction: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n\r\n main_el: any;\r\n\r\n // main\r\n el_height: number = 0;\r\n el_width: number = 0;\r\n el_center: number = 0;\r\n el_position: number = 0;\r\n\r\n \r\n // tooltip\r\n target_height: number = 0; \r\n target_width: number = 0; \r\n target_center: number = 0;\r\n\r\n ID: string = '';\r\n\r\n @HostListener('mouseover') onMouseOver() {\r\n if( this.getElement() ){\r\n this.renderer.addClass(this.el.nativeElement, 'main-tooltip');\r\n\r\n const el = <any> this.getElement();\r\n el.style.display = 'inline';\r\n setTimeout(() => {\r\n this.el_height = this.el.nativeElement.offsetHeight;\r\n this.el_width = this.el.nativeElement.offsetWidth;\r\n this.el_center = this.el_width / 2;\r\n\r\n const rect = this.el.nativeElement?.getBoundingClientRect();\r\n this.el_position = rect?.left || 0; \r\n\r\n // console.log('this.el_width', this.el_width);\r\n // console.log('this.el_center', this.el_center);\r\n // console.log('this.el_position', this.el_position);\r\n\r\n this.target_height = el.offsetHeight;\r\n this.target_width = el.offsetWidth;\r\n this.target_center = this.target_width / 2;\r\n\r\n // console.log('target_heigth', this.target_height);\r\n // console.log('target_width', this.target_width);\r\n // console.log('target_center', this.target_center);\r\n // this.renderer.setStyle(el, 'bottom', `${this.el_position}px`);\r\n \r\n switch (this._direction) {\r\n case 'top': this.to_top(el); break;\r\n case 'bottom': this.to_bottom(el); break;\r\n case 'left': this.to_left(el); break;\r\n case 'right': this.to_right(el); break;\r\n }\r\n });\r\n \r\n \r\n }\r\n }\r\n\r\n @HostListener('mouseout') onMouseOut() {\r\n if( this.getElement() ){\r\n const el = <any> this.getElement();\r\n el.style.display = 'none';\r\n this.renderer.removeClass(this.el.nativeElement, 'main-tooltip');\r\n }\r\n }\r\n\r\n info_text: string = '';\r\n\r\n @Input() set TCtooltip (tooltip: any){\r\n if (tooltip){\r\n this.check(tooltip);\r\n }\r\n }\r\n\r\n @Input() set TCdirection (direction: any){\r\n if (direction){\r\n this._direction = direction;\r\n }\r\n }\r\n \r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n generateID(): string{\r\n return `tc-tooltip-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n getElement(): HTMLElement | undefined{\r\n return document.getElementById(this.ID) || undefined;\r\n }\r\n\r\n check(tooltip: any){\r\n this.ID = this.generateID();\r\n\r\n this.info_text = tooltip;\r\n\r\n let el = this.el.nativeElement;\r\n this.main_el = el;\r\n if (el){\r\n this.create_tooltip(tooltip, el); \r\n }else{\r\n console.log(\"TCL: tooltip -> el\", this.el.nativeElement)\r\n }\r\n }\r\n\r\n setStyle(el: any){\r\n // this.renderer.setStyle(el, 'position', 'relative');\r\n // this.renderer.setStyle(el, 'display', 'inline');\r\n }\r\n\r\n create_tooltip(tip: any, el: any){\r\n\r\n this.setStyle(el);\r\n\r\n const tooltip = document.createElement(\"div\");\r\n tooltip.setAttribute('id', this.ID);\r\n tooltip.setAttribute('style',`\r\n position: absolute; \r\n display: none;\r\n padding: 10px;\r\n border-radius: 10px;\r\n text-align: center;\r\n width: max-content;\r\n max-width: 250px;\r\n background-color: transparent;\r\n color: transparent;\r\n z-index: 1090;\r\n bottom: ${this.el_position}px;\r\n left: ${this.target_center}px;\r\n `);\r\n tooltip.innerHTML = tip; \r\n \r\n el.insertBefore(tooltip, null);\r\n }\r\n\r\n to_top(el: any){\r\n const pos = this.el_center - (this.target_center) ;\r\n this.renderer.setStyle(el, 'left', `${(pos)}px`);\r\n this.renderer.setStyle(el, 'bottom', `${(this.el_height + 7)}px`);\r\n el.setAttribute('class','tc-directive-tooltip tc-directive-tooltip-top');\r\n \r\n } \r\n\r\n to_bottom(el: any){\r\n const pos = this.el_center - (this.target_center) ;\r\n this.renderer.setStyle(el, 'left', `${(pos)}px`);\r\n this.renderer.setStyle(el, 'bottom', `-${(this.target_height + 7)}px`);\r\n el.setAttribute('class','tc-directive-tooltip tc-directive-tooltip-bottom');\r\n \r\n }\r\n\r\n to_right(el: any){\r\n const pos = this.el_width;\r\n this.renderer.setStyle(el, 'left', `${(pos + 11 )}px`);\r\n this.renderer.setStyle(el, 'bottom', `-${( ((this.target_height)/2) - (this.el_height/2) )}px`);\r\n el.setAttribute('class','tc-directive-tooltip tc-directive-tooltip-right'); \r\n } \r\n\r\n to_left(el: any){\r\n const pos = -( (this.target_width) );\r\n this.renderer.setStyle(el, 'left', `${(pos - 11)}px`);\r\n this.renderer.setStyle(el, 'bottom', `-${( ((this.target_height)/2) - (this.el_height/2) )}px`);\r\n el.setAttribute('class','tc-directive-tooltip tc-directive-tooltip-left'); \r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { TCloudUiAlignDirective } from './align/align.directive';\r\nimport { TCloudUiHoverParentDirective } from './hover-parent/hover-parent.directive';\r\nimport { TCloudUiTooltipDirective } from './tooltip/tooltip.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective\r\n ],\r\n exports: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective\r\n ],\r\n})\r\nexport class TCloudUiDirectiveModule {}","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\n\r\nimport { MonthNamePipe, StatusInfoPipe, RespectivePipe, CNPJPipe, BytesPipe, CPFPipe, DateBRPipe } from '../_pipes';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, \r\n ],\r\n declarations: [\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe\r\n ],\r\n exports: [ \r\n DatePipe,\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe\r\n ],\r\n providers: [\r\n DatePipe,\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe\r\n ]\r\n})\r\nexport class TCloudUiPipesModule { }\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TCloudUiLoadingTransitionsService {\r\n\r\n \r\n\r\n private ID: string = 'tcloud-ui-loading-transitions';\r\n\r\n constructor(\r\n ) {}\r\n\r\n /**\r\n * Inicia a tela de bloqueio para carregamento de tarefa\r\n */\r\n start(){\r\n this.create_loading_transition();\r\n if( document.getElementById(this.ID) ){\r\n const box = document.getElementById(this.ID);\r\n box?.classList.add('tcloud-ui-start-loading');\r\n }\r\n }\r\n\r\n /**\r\n * Encerra a tela de bloqueio\r\n */\r\n stop(){\r\n if( document.getElementById(this.ID) ){\r\n const box = document.getElementById(this.ID);\r\n box?.classList.remove('tcloud-ui-start-loading');\r\n\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('tcloud-ui-body-loading-transitions');\r\n }\r\n }\r\n\r\n private create_loading_transition(){\r\n let box = null as any;\r\n if( document.getElementById(this.ID) ){\r\n box = document.getElementById(this.ID);\r\n }else{\r\n box = document.createElement(\"div\");\r\n box.setAttribute('id', this.ID);\r\n \r\n } \r\n\r\n box.style.display = 'none';\r\n box.innerHTML = `<div class=\"tc-loading-icon\"><i class=\"fas fa-spinner fa-spin\"></i></div>`;\r\n\r\n const body = document.getElementsByTagName('body')[0];\r\n body.appendChild(box);\r\n body.classList.add('tcloud-ui-body-loading-transitions');\r\n }\r\n\r\n\r\n\r\n}","import { Component, Input, OnDestroy, OnInit, forwardRef, ViewChild, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormControl, Validator } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-multiples-values',\n templateUrl: './tcloud-ui-multiples-values.component.html',\n styleUrls: ['./tcloud-ui-multiples-values.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\n})\nexport class TCloudUiMultiplesValuesComponent implements OnInit, OnDestroy, Validator {\n\n viewport_width: number = 0;\n viewport_height: number = 0;\n box_height: number = 0;\n box_style: string = '';\n menu_on_top: string = '';\n search_text: string = '';\n\n id: string = '';\n show_itens: boolean = false;\n\n \n\n input_items: string = '';\n\n items = [] as string[];\n\n private _listItems: any | undefined;\n @Input() set listItems(v: any | undefined){\n if( v !== this._listItems ){\n this._listItems = v;\n }\n }\n get listItems():any | undefined { return this._listItems; }\n \n @Input() delimiter: string = ',';\n @Input() placeholder: string = '';\n @Input() disabled: boolean = false;\n @Input() loading: boolean = false;\n @Input() required: string | undefined;\n @Input() search: boolean = true;\n @Input() uppercase: boolean = false;\n @Input() lowercase: boolean = false;\n\n use_validation_required: boolean = false;\n\n placeholder_list: string = '';\n\n constructor() { }\n\n ngOnInit(): void {\n this.id = this.generateID();\n this.toResize();\n this.toClick();\n this.set_placeholder_list();\n }\n\n check_is_valid(): boolean{\n if( this.items ){\n return ((this.items).length > 0) ? true : false;\n }\n return false;\n }\n\n generateID(): string{\n return `multiple-values-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\n }\n\n remove_duplicates(items: string[]): string[] {\n return [...new Set(items)];\n }\n\n item_width(text: any) {\n const value = `${text}`;\n const value_len = (value).length;\n let max_width = 155;\n if( value_len < 15 ){ max_width = 138; }\n if( value_len < 10 ){ max_width = 105; }\n if( value_len < 8 ){ max_width = 85; }\n if( value_len < 5 ){ max_width = 70; }\n return { 'max-width': max_width + 'px'};\n }\n\n add_items_by_data_list(e: any){\n console.log('add_items_by_data_list', e);\n this.input_items = e;\n this.add_items();\n }\n\n add_items(){\n\n if( this.disabled ){ return; }\n\n const input_items = this.input_items;\n\n this.input_items = '';\n \n let items = [];\n if( input_items && input_items !== '' ){\n\n items = <any> (input_items).split(this.delimiter);\n\n }\n\n if( (items).length === 0 ){\n if( input_items && input_items !== '' ){\n let txt = `${(input_items).trim()}`;\n items = [txt];\n }\n }\n\n //items = [...new Set(items)];\n\n for( let i = 0; i < (items).length; i++){\n let txt = `${(items[i]).trim()}`;\n\n if( this.uppercase ){\n if( txt && txt !== '' ){\n txt = (txt).toLocaleUpperCase();\n } \n }\n\n if( this.lowercase ){\n if( txt && txt !== '' ){\n txt = (txt).toLocaleLowerCase();\n }\n }\n\n if( txt && txt !== '' ){\n (this.items).push(txt);\n }\n \n }\n\n this.items = this.remove_duplicates(this.items);\n this.set_placeholder_list();\n }\n\n set_placeholder_list(){\n let placeholder_list = '';\n let delimiter = '';\n const items = this.items;\n if( items && (items).length > 0 ){\n for( let i = 0; i < (items).length; i++){\n placeholder_list += delimiter + `${(items[i]).trim()}`;\n delimiter = `${this.delimiter} `;\n }\n }\n this.placeholder_list = (placeholder_list !== '') ? placeholder_list : this.placeholder;\n this.onChangeTouched();\n this.onChangeCallback(this.items);\n }\n\n\n removeItem(item: any, index: number): void{\n if( this.disabled ){ return; }\n if( this.items ){\n for( let i = 0; i < (this.items).length; i++ ){\n const row = this.items[i];\n if( item === row && i === index ){\n (this.items).splice(index,1);\n break;\n }\n }\n }\n this.set_placeholder_list();\n }\n\n remove_all(){\n if( this.disabled ){ return; }\n this.items = [];\n this.set_placeholder_list();\n }\n\n toClick(){\n const box = `area-${this.id}`;\n window.addEventListener('click',(e: any) => { \n\n if( this.show_itens ){ \n try {\n if( !(document.getElementById(box)?.contains(e.target)) ){ \n if( 'box-action' !== e.target.parentElement.className ){\n this.show_itens = false;\n } \n //console.log('toClick', e.target.parentElement.className); \n \n }\n } catch (error) {\n \n }\n \n }\n });\n\n const boxsub = `${this.id}-options`;\n }\n\n toResize(){\n window.addEventListener('resize', () => {\n this.viewport_width = window.innerWidth;\n this.viewport_height = window.innerHeight;\n this.resolve_position_dropdown(this.show_itens);\n });\n }\n\n toOpen(){\n this.show_itens = !this.show_itens;\n this.resolve_position_dropdown(this.show_itens);\n }\n\n toClose(){\n this.show_itens = false;\n }\n\n resolve_position_dropdown(open: boolean){\n if( open ){\n this.box_style = '';\n this.menu_on_top = ''; \n const id = `${this.id}`; \n const box = `box-${this.id}`;\n if( this.viewport_height === 0 ){\n this.viewport_height = window.innerWidth;\n }\n const rect = document.getElementById(id)?.getBoundingClientRect();\n const box_position = rect?.bottom || 0; \n setTimeout(() => {\n this.box_height = document.getElementById(box)?.clientHeight || 0;\n if( ( this.viewport_height - box_position) < this.box_height ){\n this.menu_on_top = 'menu-on-top';\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\n }\n }); \n }\n }\n\n\n\n clearTextSearch(){\n this.search_text = '';\n this.toSearch('');\n }\n\n toSearch(e: any) {\n let input = (e && e.target && e.target.value) ? e.target.value : '';\n \n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n let ul = <any> document.getElementById(`${this.id}-options`);\n let li = ul.getElementsByTagName(\"label\");\n for (let i = 0; i < li.length; i++) {\n const a = li[i];\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n if (txtValue.indexOf(filter) > -1) {\n li[i].style.display = \"\";\n } else {\n li[i].style.display = \"none\";\n }\n }\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n onChangeTouched(){ \n this.onTouchedCallback(); \n }\n\n\n toSetDefault(v:any){\n this.items = v;\n this.add_items();\n }\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.toSetDefault(v); \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n\n ngOnDestroy(): void {\n \n }\n\n}\n","<div class=\"tc-dropdown\" id=\"area-{{ id }}\" [class.tc-parent-validation]=\"use_validation_required\">\n\n\n <form #_formulario=\"ngForm\">\n\n <!-- {{ input_items }} -->\n\n <div class=\"dropdown-toggle\" id=\"{{id}}\" [attr.aria-haspopup]=\"'true'\" [attr.aria-expanded]=\"'false'\">\n\n <table style=\"width: 100%;\">\n <tr>\n <td>\n <table class=\"group-input-action\">\n <tr>\n <td class=\"box-input{{ (listItems && (listItems).length > 0) ? '-data-list' : '' }} bc-l\">\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <div class=\"input\" (click)=\"show_itens = false\">\n <tcloud-ui-data-list [placeholder]=\"placeholder_list\" [border]=\"false\" [loading]=\"loading\" [disabled]=\"disabled\" name=\"items\" [listItems]=\"listItems\" [(ngModel)]=\"input_items\"></tcloud-ui-data-list>\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\n <div class=\"input\">\n <input \n (keydown.enter)=\"add_items();toOpen()\"\n [disabled]=\"disabled\"\n [class.text-lowercase]=\"lowercase\"\n [class.text-uppercase]=\"uppercase\"\n type=\"text\" name=\"items\" class=\"form-control tc-form-control\" [(ngModel)]=\"input_items\" [placeholder]=\"placeholder_list\" required [title]=\"placeholder_list\">\n \n </div>\n </ng-container>\n </td>\n <td class=\"count-list\" *ngIf=\"(items && items.length > 0)\">\n <div class=\"input\">\n <input type=\"text\" value=\"{{ items.length }} {{ (items.length > 1) ? 'registros' : 'registro' }}\" disabled readonly> \n </div>\n </td>\n <td class=\"count-list\" *ngIf=\"!items || (items && items.length === 0)\">\n <div class=\"input\"><input type=\"text\" value=\"Vazio\" disabled readonly></div> \n </td>\n <td class=\"action-input-arrow bc-r\">\n <button (click)=\"toOpen()\" title=\"Lista de valores\" [disabled]=\"disabled\">\n <i class=\"fas fa-angle-up\" *ngIf=\"show_itens\"></i>\n <i class=\"fas fa-angle-down\" *ngIf=\"!show_itens\"></i>\n </button>\n </td>\n \n </tr>\n </table> \n </td>\n <td style=\"width: 50px;\">\n <table>\n <tr>\n <td class=\"action-input\" *ngIf=\"!disabled\">\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-primary btn-new-green\" (click)=\"add_items()\" title=\"Adicionar item\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-primary btn-new-green\" (click)=\"add_items_by_data_list(input_items)\" title=\"Adicionar item\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </ng-container>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </table>\n\n <!-- <table class=\"group-input-action\">\n <tr>\n <td class=\"box-input{{ (listItems && (listItems).length > 0) ? '-data-list' : '' }} bc-l\">\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <div class=\"input\" (click)=\"show_itens = false\">\n <tcloud-ui-data-list [border]=\"false\" [loading]=\"loading\" [disabled]=\"disabled\" name=\"items\" [listItems]=\"listItems\" [(ngModel)]=\"input_items\"></tcloud-ui-data-list>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\n <div class=\"input\">\n <input \n (keydown.enter)=\"add_items();toOpen()\"\n [disabled]=\"disabled\"\n [class.text-lowercase]=\"lowercase\"\n [class.text-uppercase]=\"uppercase\"\n type=\"text\" name=\"items\" class=\"form-control tc-form-control\" [(ngModel)]=\"input_items\" [placeholder]=\"placeholder_list\" required [title]=\"placeholder_list\">\n \n </div>\n </ng-container>\n </td>\n <td class=\"count-list\" *ngIf=\"(items && items.length > 0)\">\n <div class=\"input\">\n <input type=\"text\" value=\"{{ items.length }} {{ (items.length > 1) ? 'registros' : 'registro' }}\" disabled readonly> \n </div>\n </td>\n <td class=\"count-list\" *ngIf=\"!items || (items && items.length === 0)\">\n <div class=\"input\"><input type=\"text\" value=\"Vazio\" disabled readonly></div> \n </td>\n <td class=\"action-input-arrow bc-r\">\n <button (click)=\"toOpen()\" title=\"Lista de valores\" [disabled]=\"disabled\">\n <i class=\"fas fa-angle-up\" *ngIf=\"show_itens\"></i>\n <i class=\"fas fa-angle-down\" *ngIf=\"!show_itens\"></i>\n </button>\n </td>\n <td class=\"action-input\" *ngIf=\"!disabled\">\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-primary btn-new-green\" (click)=\"add_items()\" title=\"Adicionar item\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-primary btn-new-green\" (click)=\"add_items_by_data_list(input_items)\" title=\"Adicionar item\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </ng-container>\n </td>\n </tr>\n </table> -->\n </div>\n \n <!-- <pre>\n {{ items | json }}\n </pre> -->\n\n </form> \n\n <!-- box-itens-selected -->\n <div class=\"tc-dropdown-menu box-itens-selected {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!show_itens\" [style]=\"box_style\">\n \n\n <div class=\"line-search\" *ngIf=\"search\">\n <table class=\"box-search\">\n <tr>\n \n <td class=\"area-input\">\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \n </td>\n \n <td class=\"area-icon\">\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\n <button class=\"box-action\" type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\n </td>\n \n </tr>\n </table>\n </div>\n\n <div class=\"area-options\" id=\"{{ id }}-options\">\n <ng-container *ngFor=\"let item of items; let i = index\">\n \n <label class=\"box-label\" [ngStyle]=\"item_width(item)\">\n <div class=\"box-value\" [title]=\"item\" >\n {{ item }} \n </div>\n <div class=\"box-action\">\n <button\n class=\"box-action\"\n [disabled]=\"items === undefined || (items && items.length === 0) || disabled || loading\"\n title=\"Remover\"\n type=\"button\"\n (click)=\"removeItem(item, i)\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </label>\n\n </ng-container>\n </div>\n\n <div class=\"mt-5\" *ngIf=\"items && (items).length > 5\">\n <div class=\"btn-remove-all\">\n <button class=\"box-action\" type=\"button\" (click)=\"remove_all()\">\n Limpar toda a lista\n </button>\n </div>\n </div>\n\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiMultiplesValuesComponent } from './tcloud-ui-multiples-values.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiMultiplesValuesComponent\n ],\n exports: [\n TCloudUiMultiplesValuesComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TCloudUiDataListModule\n ]\n})\nexport class TCloudUiMultiplesValuesModule { }\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-welcome',\n templateUrl: './tcloud-ui-welcome.component.html',\n styleUrls: ['./tcloud-ui-welcome.component.scss']\n})\nexport class TCloudUiWelcomeComponent implements OnInit {\n\n @Input() imgSrc: string = '';\n @Input() title: string = ''; \n @Input() description: string = ''; \n @Input() size: 'small'|'normal'|'big' = 'small';\n @Input() font: 'small'|'normal'|'big' = 'normal';\n\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"tcloud-ui-welcome\">\n <div class=\"row\">\n\n <div class=\"col-md-4 text-center\" *ngIf=\"imgSrc !== ''\" >\n <img class=\"containt-img-{{ size }}\" src=\"{{ imgSrc }}\">\n </div>\n\n <div class=\"{{ (imgSrc === '') ? 'col-md-12' : 'col-md-7' }} text-center\">\n <div class=\"info-new-window\">\n\n <h2 *ngIf=\"title !== ''\" [innerHTML]=\"title\" ></h2>\n \n <div class=\"info-{{ font }}\" *ngIf=\"description !== ''\" [innerHTML]=\"description\"></div>\n \n <div class=\"mt-5 text-center\">\n <ng-content></ng-content>\n </div>\n \n </div>\n </div>\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiWelcomeComponent } from './tcloud-ui-welcome.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiWelcomeComponent\n ],\n exports: [\n TCloudUiWelcomeComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiWelcomeModule { }\n","import { NgModule } from '@angular/core';\n\nimport { TCloudUiLinhaLogoModule } from './_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module';\nimport { TCloudUiTabMenuModule } from './_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module';\nimport { TCloudUiModalModule } from './_modules/tcloud-ui-modal/tcloud-ui-modal.module';\nimport { TCloudUiLineStepCircleModule } from './_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module';\nimport { TCloudUiMultiSelectModule } from './_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module';\nimport { TCloudUiDataListModule } from './_modules/tcloud-ui-data-list/tcloud-ui-data-list.module';\nimport { TCloudUiChoiceIssuesModule } from './_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module';\nimport { TCloudUiMultiInputModule } from './_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module';\nimport { TCloudUiInputSearchModule } from './_modules/tcloud-ui-input-search/tcloud-ui-input-search.module';\nimport { TCloudUiNotFoundModule } from './_modules/tcloud-ui-not-found/tcloud-ui-not-found.module';\nimport { TCloudUiTableModule } from './_modules/tcloud-ui-table/tcloud-ui-table.module';\nimport { TCloudUiNumberStepModule } from './_modules/tcloud-ui-number-step/tcloud-ui-number-step.module';\nimport { TCloudUiScrollBoxModule } from './_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module';\nimport { TCloudUiFiltersModule } from './_modules/tcloud-ui-filters/tcloud-ui-filters.module';\nimport { TCloudUiAccordionModule } from './_modules/tcloud-ui-accordion/tcloud-ui-accordion.module';\nimport { TCloudUiDatepickerModule } from './_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module';\nimport { TCloudUiDatepickerTimeModule } from './_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\n\nimport { TCloudUiDirectiveModule } from './_directives/directives.module';\n\nimport { TCloudUiPipesModule } from './_pipes/tcloud-pipes.module';\n\nimport { TCloudUiLoadingTransitionsService } from './_services/loading-transitions.service';\nimport { TCloudUiSearchInObjectService } from './_services/search-in-object.service';\nimport { TCloudUiMultiplesValuesModule } from './_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module';\nimport { TCloudUiWelcomeModule } from './_modules/tcloud-ui-welcome/tcloud-ui-welcome.module';\n\n\n@NgModule({\n imports: [\n TCloudUiModalModule,\n TCloudUiTabMenuModule,\n TCloudUiLinhaLogoModule,\n TCloudUiLineStepCircleModule,\n TCloudUiMultiSelectModule,\n TCloudUiDataListModule,\n TCloudUiMultiInputModule,\n TCloudUiChoiceIssuesModule,\n TCloudUiInputSearchModule,\n TCloudUiNotFoundModule,\n TCloudUiTableModule,\n TCloudUiNumberStepModule,\n TCloudUiScrollBoxModule,\n TCloudUiFiltersModule,\n TCloudUiAccordionModule,\n TCloudUiDatepickerModule,\n TCloudUiDatepickerTimeModule,\n TCloudUiMultiplesValuesModule,\n TCloudUiWelcomeModule,\n\n // Directives\n TCloudUiDirectiveModule,\n\n // Pipes\n TCloudUiPipesModule\n ],\n exports: [\n TCloudUiModalModule,\n TCloudUiTabMenuModule,\n TCloudUiLinhaLogoModule,\n TCloudUiLineStepCircleModule,\n TCloudUiMultiSelectModule,\n TCloudUiDataListModule,\n TCloudUiMultiInputModule,\n TCloudUiChoiceIssuesModule,\n TCloudUiInputSearchModule,\n TCloudUiNotFoundModule,\n TCloudUiTableModule,\n TCloudUiNumberStepModule,\n TCloudUiScrollBoxModule,\n TCloudUiFiltersModule,\n TCloudUiAccordionModule,\n TCloudUiDatepickerModule,\n TCloudUiDatepickerTimeModule,\n TCloudUiMultiplesValuesModule,\n TCloudUiWelcomeModule,\n\n // Directives\n TCloudUiDirectiveModule,\n\n // Pipes\n TCloudUiPipesModule\n ],\n providers: [\n TCloudUiLoadingTransitionsService,\n TCloudUiSearchInObjectService,\n \n ]\n})\nexport class TCloudUiModule {}","/*\n * Public API Surface of tcloud-ui\n */\n\nexport * from './lib/tcloud-ui.module';\n\n// UI-MODAL\nexport * from './lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module';\nexport * from './lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component';\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component';\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component';\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component';\n\n// UI-TAB-MENU\nexport * from './lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module';\nexport * from './lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component';\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component';\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component';\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component';\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component';\n\n// UI-LINHA-LOGO\nexport * from './lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module';\nexport * from './lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component';\n\n// UI-STEP-CIRCLE\nexport * from './lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module';\nexport * from './lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component';\n\n// UI-MULTI-SELECT\nexport * from './lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module';\nexport * from './lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component';\n\n// UI-TOOLTIP\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module';\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component';\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';\n\n// UI-MULTI-INPUT\nexport * from './lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module';\nexport * from './lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component';\n\n// UI-CHOICE-ISSUES\nexport * from './lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module';\nexport * from './lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component';\n\n// UI-INPUT-SEARCH\nexport * from './lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module';\nexport * from './lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component';\n\n// UI-NOT-FOUND\nexport * from './lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module';\nexport * from './lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component';\n\n// UI-TABLE\nexport * from './lib/_modules/tcloud-ui-table/tcloud-ui-table.module';\nexport * from './lib/_modules/tcloud-ui-table/tcloud-ui-table.component';\n\n// UI-NUMBER-STEP\nexport * from './lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module';\nexport * from './lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component';\n\n// UI-SCROLL-BOX\nexport * from './lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module';\nexport * from './lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component';\n\n// UI-FILTERS\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters';\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module';\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component';\nexport * from './lib/_modules/tcloud-ui-filters/components/range-date/range-date.component';\n\n// UI-ACCORDION\nexport * from './lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module';\nexport * from './lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component';\nexport * from './lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\nexport * from './lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\n\n// UI-DATEPICKER\nexport * from './lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module';\nexport * from './lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component';\n\n// UI-DATEPICKER-TIME\nexport * from './lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\nexport * from './lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component';\n\n// UI-MULTIPLES-VALUES\nexport * from './lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module';\nexport * from './lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component';\n\n// UI-WELCOME\nexport * from './lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module';\nexport * from './lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component';\n\n// DIRECTIVES\nexport * from './lib/_directives/directives.module';\nexport * from './lib/_directives/tooltip/tooltip.directive';\nexport * from './lib/_directives/align/align.directive';\nexport * from './lib/_directives/hover-parent/hover-parent.directive';\n\n// PIPES\nexport * from './lib/_pipes/tcloud-pipes.module';\nexport * from './lib/_pipes/index';\n\n// SERVICES\nexport * from './lib/_services/loading-transitions.service';\nexport * from './lib/_services/search-in-object.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.TabMenuService","i2","i1.TcloudModalService","i3","Step","CUSTOM_INPUT_VALIDATORS","CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR","noop","i1.DataListService","i4.TCloudUiDataListOptionComponent","i2.StatusInfoPipe","i1.TCloudUiSearchInObjectService","i1.DateBRPipe","i2.TCloudUiDatepickerComponent","i4.TCloudUiDataListComponent","i3.TCloudUiDatepickerTimeComponent","i4.TCloudUiDatepickerComponent","i5.TCloudUiRangeDateComponent","i1.TCloudUiAccordionService","i3.TCloudUiDataListComponent"],"mappings":";;;;;;;;;;MAOa,0BAA0B,CAAA;AAUrC,IAAA,WAAA,GAAA;QARS,IAAG,CAAA,GAAA,GAAQ,CAAA,CAAA,CAAG,GAAC,CAAG,CAAA,CAAA,GAAC,CAAG,CAAA,CAAA,GAAC,CAAG,CAAA,CAAA,GAAC,GAAG,GAAC,CAAA,CAAA,CAAG,GAAC,CAAG,CAAA,CAAA,GAAC,GAAG,GAAC,CAAA,OAAA,CAAS,GAAC,CAAA,CAAA,CAAG,GAAC,CAAA,KAAA,CAAO,GAAC,CAAK,GAAA,CAAA,GAAC,GAAG,GAAC,CAAA,EAAA,CAAI,GAAC,CAAG,CAAA,CAAA,GAAC,CAAM,IAAA,CAAA,GAAC,CAAG,CAAA,CAAA,GAAC,GAAG,GAAC,CAAA,CAAA,CAAG,GAAC,CAAW,SAAA,CAAA,GAAC,GAAG,GAAC,CAAA,GAAA,CAAK,GAAC,CAAA,CAAA,CAAG,CAAC;AACjI,QAAA,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;AAE9B,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AACvB,QAAA,IAAY,CAAA,YAAA,GAAW,EAAE,CAAC;AAC1B,QAAA,IAAgB,CAAA,gBAAA,GAAW,EAAE,CAAC;AAC9B,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;KAEN;IAEjB,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACpC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAE1C,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;AAE1D,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC1C;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAG;AACxB,YAAA,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;AAC/B,YAAA,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;AAC5B,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACX;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAG;AACxB,YAAA,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;AAC/B,YAAA,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;YAC5B,OAAO,aAAa,GAAC,IAAI,CAAC;AAC3B,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACX;IAED,gBAAgB,GAAA;QACd,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC;QAEzC,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,QAAQ,GAAG,EAAE,CAAC;AACf,SAAA;QAED,IAAI,KAAK,GAAG,EAAE,EAAE;AACd,YAAA,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAE,KAAK,GAAC,CAAC,CAAC,CAAC,IAAK,GAAG,CAAC;AACxC,YAAA,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;AACvB,SAAA;QAED,IAAI,KAAK,GAAG,EAAE,EAAE;AACd,YAAA,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,IAAE,KAAK,GAAC,CAAC,CAAC,CAAC,IAAK,GAAG,CAAC;AACzC,YAAA,QAAQ,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;AACvB,SAAA;QAID,OAAO,CAAA,EAAG,QAAQ,CAAA,EAAA,CAAI,CAAC;KACxB;;wHAhEU,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,SAAA,EAAA,IAAA,EAAA,0BAA0B,wGCPvC,4fAQM,EAAA,MAAA,EAAA,CAAA,yWAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDDO,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,4fAAA,EAAA,MAAA,EAAA,CAAA,yWAAA,CAAA,EAAA,CAAA;0EAMvB,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MEOK,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAThC,YAAA,EAAA,CAAA,0BAA0B,CAG1B,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAGjB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YANhC,YAAY,CAAA,EAAA,CAAA,CAAA;4FAMH,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAXnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;AAC3B,qBAAA;iBACF,CAAA;;;MCRY,cAAc,CAAA;IAgBzB,WACU,CAAA,MAAsB,EACtB,OAAe,EAAA;AADf,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;AACtB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AAhBjB,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;AAGtB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAW,CAAC;QACxC,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;AAGhD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAU,CAAC;QACpC,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;AAG1C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAW,CAAC;QACzC,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KAOzD;AAED,IAAA,YAAY,CAAC,MAAe,EAAA;AAC1B,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACjC;IAED,YAAY,GAAA;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAED,IAAA,aAAa,CAAC,OAAgB,EAAA;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACnC;IAED,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IAED,WAAW,CAAC,GAAW,EAAE,aAAkC,EAAA;AACzD,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AAChB,QAAA,IAAI,aAAa,EAAE;AAAE,YAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAAE,SAAA;AAClD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC3B;IAED,WAAW,GAAA;QACT,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IAED,cAAc,CAAC,EAAU,EAAE,QAAiB,EAAA;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE;AAC/C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;oBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACrC,MAAM,GAAG,KAAK,CAAC;oBACf,MAAM;AACP,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,EAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AACrD,SAAA;KACF;AAED,IAAA,aAAa,CAAC,EAAU,EAAA;AACtB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE;AAC/C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;oBAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClC,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,gBAAgB,CAAC,GAAW,EAAA;;;AAG1B,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE;YACzB,UAAU,EAAE,IAAI,CAAC,MAAM;AACvB,YAAA,WAAW,EAAE;gBACX,GAAG,EAAE,CAAG,EAAA,GAAG,CAAE,CAAA;AACd,aAAA;AACD,YAAA,mBAAmB,EAAE,OAAO;;AAE5B,YAAA,kBAAkB,EAAE,KAAK;;AAE1B,SAAA,CAAC,CAAC;KACH;;4GA3FU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;gHAAd,cAAc,EAAA,CAAA,CAAA;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;;MCGE,wBAAwB,CAAA;AA4BnC,IAAA,WAAA,CACU,cAA8B,EAAA;AAA9B,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AA3B/B,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;AAEhC,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAO1B,QAAA,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;AAanB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAU,CAAC;KAM3C;IAzBL,IAAa,OAAO,CAAC,OAAgB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACjD;IACD,IAAI,OAAO,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE;IAG/C,IAAa,MAAM,CAAC,MAAc,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE;YACtB,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AACnE,aAAC,CAAC,CAAC;AAEJ,SAAA;KACF;IACD,IAAI,MAAM,KAAY,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;IAW5C,QAAQ,GAAA;QAEN,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;AAC9C,QAAA,IAAI,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,SAAA;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAW,KAAG;AACzE,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,SAAC,CAAC,CAAA;KACH;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;KAC5D;;sHA9CU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,cAAA,EAAA,CAAA,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,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAFxB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,CAAE,cAAc,CAAE,0BCR/B,mGAEM,EAAA,MAAA,EAAA,CAAA,4IAAA,CAAA,EAAA,CAAA,CAAA;4FDQO,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;+BACE,oBAAoB,EAAA,SAAA,EAGnB,CAAE,cAAc,CAAE,EAAA,QAAA,EAAA,mGAAA,EAAA,MAAA,EAAA,CAAA,4IAAA,CAAA,EAAA,CAAA;kGAIpB,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAGO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAOO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBAYI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;;;MEzBI,2BAA2B,CAAA;AAStC,IAAA,WAAA,CACU,cAA8B,EAAA;AAA9B,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAR/B,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAC7B,QAAA,IAAG,CAAA,GAAA,GAAW,EAAE,CAAC;AAE1B,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;KAMnB;IAEL,QAAQ,GAAA;AAEN,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;AAE9C,QAAA,IAAI,CAAC,MAAM,IAAK,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAE,CAAC;AAEhD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAW,KAAG;YACzE,IAAI,CAAC,MAAM,IAAK,GAAG,KAAK,IAAI,CAAC,GAAG,CAAE,CAAC;AACrC,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;KAC5D;;yHA3BU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,CAAA,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,SAAA,EAAA,IAAA,EAAA,2BAA2B,iHCTxC,uJAIA,EAAA,MAAA,EAAA,CAAA,4EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDKa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,uJAAA,EAAA,MAAA,EAAA,CAAA,4EAAA,CAAA,EAAA,CAAA;kGAMxB,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;;;MEFK,yBAAyB,CAAA;AAoBpC,IAAA,WAAA,CACU,cAA8B,EAAA;AAA9B,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAnB/B,QAAA,IAAG,CAAA,GAAA,GAAW,EAAE,CAAC;AAEjB,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AAEjC,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAEjB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;KAc9B;IAbL,IAAa,QAAQ,CAAC,QAAQ,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,cAAc,CAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAE,CAAC;KAChE;IACD,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;IAWlD,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;AAC9C,YAAA,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBACnB,IAAI,CAAC,MAAM,IAAK,GAAG,KAAK,IAAI,CAAC,GAAG,CAAE,CAAC;AACpC,aAAA;AACF,SAAA;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAW,KAAG;AACzE,YAAA,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBACnB,IAAI,CAAC,MAAM,IAAK,GAAG,KAAK,IAAI,CAAC,GAAG,CAAE,CAAC;AACpC,aAAA;AACH,SAAC,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,GAAS,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;AACzD,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAgB,KAAG;AACnF,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACzB,SAAC,CAAC,CAAA;KACH;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBAC/B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3C,aAAA;AACF,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;QAC3D,IAAI,IAAI,CAAC,aAAa,EAAE;AAAE,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;KAC9D;;uHAvDU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,cAAA,EAAA,CAAA,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,SAAA,EAAA,IAAA,EAAA,yBAAyB,2ICVtC,6OAGA,EAAA,MAAA,EAAA,CAAA,ssBAAA,CAAA,EAAA,CAAA,CAAA;4FDOa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,6OAAA,EAAA,MAAA,EAAA,CAAA,ssBAAA,CAAA,EAAA,CAAA;kGAMtB,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKO,QAAQ,EAAA,CAAA;sBAApB,KAAK;;;METK,4BAA4B,CAAA;AAiBvC,IAAA,WAAA,CACU,cAA8B,EAAA;AAA9B,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAhB/B,QAAA,IAAG,CAAA,GAAA,GAAW,EAAE,CAAC;AACjB,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AAEzB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAOnC,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;KAOpB;IAbL,IAAa,QAAQ,CAAC,QAAQ,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC1B,QAAA,IAAI,CAAC,cAAc,CAAC,cAAc,CAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAE,CAAC;KAChE;IACD,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;IAWlD,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;AAC9C,YAAA,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBACnB,IAAI,CAAC,MAAM,IAAK,GAAG,KAAK,IAAI,CAAC,GAAG,CAAE,CAAC;AACpC,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAW,KAAG;AACzE,YAAA,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBACnB,IAAI,CAAC,MAAM,IAAK,GAAG,KAAK,IAAI,CAAC,GAAG,CAAE,CAAC;AACpC,aAAA;AACH,SAAC,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,GAAS,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;AACzD,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAgB,KAAG;AACnF,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACzB,SAAC,CAAC,CAAA;KACH;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,EAAE;gBAC/B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3C,aAAA;AACF,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;QAC3D,IAAI,IAAI,CAAC,aAAa,EAAE;AAAE,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;KAC9D;;0HArDU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,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,SAAA,EAAA,IAAA,EAAA,4BAA4B,8HCVzC,mPAGA,EAAA,MAAA,EAAA,CAAA,sRAAA,CAAA,EAAA,CAAA,CAAA;4FDOa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,mPAAA,EAAA,MAAA,EAAA,CAAA,sRAAA,CAAA,EAAA,CAAA;kGAMzB,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAGO,QAAQ,EAAA,CAAA;sBAApB,KAAK;;;MERK,wBAAwB,CAAA;AAgBnC,IAAA,WAAA,CACU,cAA8B,EAAA;AAA9B,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAfhC,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;AAShC,QAAA,IAAE,CAAA,EAAA,GAAW,EAAE,CAAC;AACP,QAAA,IAAU,CAAA,UAAA,GAAY,IAAI,CAAC;AAEpC,QAAA,IAAA,CAAA,gBAAgB,GAAW,aAAa,CAAC;KAIpC;IAfL,IAAa,MAAM,CAAC,MAAe,EAAA;AACjC,QAAA,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE;AAC/B,YAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC1C,SAAA;KACF;IACD,IAAI,MAAM,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;IAW9C,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;AACzC,SAAA;AACD,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;KAC7B;IAED,UAAU,GAAA;QACR,OAAO,CAAA,mBAAA,EAAsB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CAAC;KACnG;AAED,IAAA,SAAS,CAAC,MAAqB,EAAA;QAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAC9C;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,GAAG,GAAS,QAAQ,CAAC,gBAAgB,CAAC,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAE,CAAA,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;KACpD;AAEO,IAAA,WAAW,CAAC,GAAO,EAAE,GAAO,EAAE,GAAO,EAAE,GAAO,EAAA;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,YAAY,GAAG,CAAC,CAAK,KAAI,EAAG,OAAO,CAAC,EAAE,CAAC,IAAE,CAAC,GAAC,CAAC,GAAC,CAAC,CAAA,EAAE,CAAC;AACrD,QAAA,GAAG,IAAI,CAAC,CAAC;QACT,IAAI,IAAI,GAAG,YAAY,CAAC,GAAG,GAAC,GAAG,CAAC,CAAC;AACjC,QAAA,IAAI,GAAG,GAAG,GAAG,GAAC,GAAG,CAAC;QAClB,GAAG,IAAI,IAAI,CAAC;QACZ,GAAG,IAAI,GAAG,CAAC;AACX,QAAA,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,IAAG,GAAG,GAAG,GAAG,EAAC;AACX,YAAA,MAAM,CAAC,qBAAqB,CAAC,MAAK;gBAChC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACxC,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAEO,UAAU,CAAC,MAAW,EAAE,GAAW,EAAA;AACzC,QAAA,IAAI,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAI,CAAA,EAAA,IAAI,CAAC,EAAE,CAAE,CAAA,CAAC,CAAC;AACnD,QAAA,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACjB,QAAA,IAAI,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,IAAI,MAAM,GAAG,GAAG,GAAC,KAAK,GAAG,KAAK,GAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;KAC5E;;sHA7DW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,CAAA,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,SAAA,EAAA,IAAA,EAAA,wBAAwB,kHCRrC,okBAwBA,EAAA,MAAA,EAAA,CAAA,88BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDhBa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,okBAAA,EAAA,MAAA,EAAA,CAAA,88BAAA,CAAA,EAAA,CAAA;kGAOjB,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBASG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MESK,qBAAqB,CAAA;;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,iBAjB9B,wBAAwB;QACxB,2BAA2B;QAC3B,yBAAyB;QACzB,4BAA4B;QAC5B,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAGxB,YAAY,CAAA,EAAA,OAAA,EAAA,CAGZ,wBAAwB;QACxB,2BAA2B;QAC3B,yBAAyB;QACzB,4BAA4B;QAC5B,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAGf,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAV9B,YAAY,CAAA,EAAA,CAAA,CAAA;4FAUH,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAnBjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,2BAA2B;wBAC3B,yBAAyB;wBACzB,4BAA4B;wBAC5B,wBAAwB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,2BAA2B;wBAC3B,yBAAyB;wBACzB,4BAA4B;wBAC5B,wBAAwB;AACzB,qBAAA;iBACF,CAAA;;;MCvBY,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;AAKU,QAAA,IAAa,CAAA,aAAA,GAAa,EAAc,CAAC;AAEzC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAW,CAAC;QACtC,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;AAE7C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAY,CAAC;QACzC,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;AAEjD,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAAW,CAAC;QAC5C,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAEzD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAW,CAAC;QACxC,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KA4C1D;AAzCC,IAAA,OAAO,CAAC,MAAsB,EAAA;QAC5B,IAAG,MAAM,KAAK,OAAO,EAAC;AACpB,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACxB,SAAA;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAG,MAAM,KAAK,MAAM,EAAG,CAAC;KAC9C;AAED,IAAA,aAAa,CAAC,IAAa,EAAA;AACzB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnC;IAED,eAAe,GAAA;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;AAED,IAAA,SAAS,CAAC,OAAiB,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;AAC7B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAClC;IAED,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAED,IAAA,UAAU,CAAC,OAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAClC;AAED,IAAA,UAAU,CAAC,KAAiB,EAAA;QAC1B,IAAI,IAAI,GAAS,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,QAAA,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YACtB,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,gBAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC;AACjC,aAAA;YACD,IAAI,KAAK,KAAK,KAAK,EAAE;AACnB,gBAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AACzC,aAAA;AACF,SAAA;KACF;;gHA1DU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;oHAAlB,kBAAkB,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;MCqBE,sBAAsB,CAAA;AAkGjC,IAAA,WAAA,CACU,kBAAsC,EAAA;AAAtC,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;AAjG/C;;;;;;AAME;AAEH,QAAA,IAAa,CAAA,aAAA,GAAa,EAAc,CAAC;;AAEjC,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAY,CAAA,YAAA,GAAW,UAAU,CAAC;AAyB1C;;AAEG;AACM,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;AAOnC;;AAEG;AACM,QAAA,IAAQ,CAAA,QAAA,GAAW,GAAG,CAAC;AAiBhC,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AACtB,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;AAavB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAUxB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAW,CAAC;AAEzC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAW,CAAC;AACxC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAW,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAgC,CAAC;KAIjE;AArFL;;AAEG;IACH,IAAa,OAAO,CAAC,CAAU,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;KACpD;AAED;;AAEG;IACH,IAAa,WAAW,CAAC,CAAS,EAAA;AAChC,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC5C;AAuBD;;AAEG;IACH,IAAa,MAAM,CAAE,IAAmD,EAAA;AACtE,QAAA,QAAQ,IAAI;AACV,YAAA,KAAK,OAAO;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAK,GAAG,CAAC;gBAAC,MAAM;AAC3C,YAAA,KAAK,QAAQ;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAI,GAAG,CAAC;gBAAC,MAAM;AAC3C,YAAA,KAAK,OAAO;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAK,GAAG,CAAC;gBAAC,MAAM;AAC3C,YAAA,KAAK,KAAK;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAO,IAAI,CAAC;gBAAC,MAAM;AAC5C,YAAA,KAAK,MAAM;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAO,IAAI,CAAC;gBAAC,MAAM;AAC9C,SAAA;KACF;AAKD;;AAEG;IACH,IAAa,IAAI,CAAC,IAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;AAEnB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC;KAC3D;IACD,IAAI,IAAI,KAAc,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;AAG1C;;AAEG;IACH,IAAa,OAAO,CAAC,OAAgB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KAC7C;IACD,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE;IAYhD,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAa,KAAG;AACjF,YAAA,IAAI,IAAI,EAAE;;AAET,aAAA;YAED,IAAI,CAAC,IAAI,EAAE;;gBAET,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,aAAA;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAa,KAAG;AACxF,YAAA,IAAI,IAAI,EAAE;;AAER,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,gBAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAE3B,aAAA;YAED,IAAI,CAAC,IAAI,EAAE;;AAET,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,gBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACxB,aAAA;AACH,SAAC,CAAC,CAAA;QAEF,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAE,IAAI,CAAC,aAAa,CAAE,CAAC;KACzD;AAED,IAAA,OAAO,CAAC,MAAwB,EAAA;QAC9B,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC1B,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AAClB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,SAAA;AAED,QAAA,MAAM,GAAG,CAAC,MAAM,IAAI,MAAM,GAAG,OAAO,CAAC;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KAC3C;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1C,SAAA;AAAI,aAAA;AACH,YAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3C,SAAA;KACF;IAED,WAAW,GAAA;QACT,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;KAC5D;;oHA5JU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,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,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAftB,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA;QACT,kBAAkB;KACnB,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZH,0wDAqDG,EDxCW,MAAA,EAAA,CAAA,82BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;QACV,OAAO,CAAC,MAAM,EAAE;YACZ,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC,YAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YACjD,UAAU,CAAC,iBAAiB,EAAE;gBAC1B,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;gBAClC,OAAO,CAAC,eAAe,CAAC;aAC3B,CAAC;AACF,YAAA,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;SAC1D,CAAC;AACH,KAAA,EAAA,CAAA,CAAA;4FAEU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAnBlC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAGhB,SAAA,EAAA;wBACT,kBAAkB;AACnB,qBAAA,EACW,UAAA,EAAA;wBACV,OAAO,CAAC,MAAM,EAAE;4BACZ,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC,4BAAA,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;4BACjD,UAAU,CAAC,iBAAiB,EAAE;gCAC1B,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;gCAClC,OAAO,CAAC,eAAe,CAAC;6BAC3B,CAAC;AACF,4BAAA,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;yBAC1D,CAAC;qBACH,EAAA,QAAA,EAAA,0wDAAA,EAAA,MAAA,EAAA,CAAA,82BAAA,CAAA,EAAA,CAAA;sGAoBY,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBASO,WAAW,EAAA,CAAA;sBAAvB,KAAK;gBAcG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAKG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAMO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBAgBO,IAAI,EAAA,CAAA;sBAAhB,KAAK;gBAaO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAMI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAEG,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;;;MElHI,4BAA4B,CAAA;AAKvC,IAAA,WAAA,GAAA;AAHS,QAAA,IAAI,CAAA,IAAA,GAA8C,MAAM,CAAC;KAGjD;IAEjB,QAAQ,GAAA;KACP;;0HARU,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,SAAA,EAAA,IAAA,EAAA,4BAA4B,wGCPzC,qKAMA,EAAA,MAAA,EAAA,CAAA,yTAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDCa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,qKAAA,EAAA,MAAA,EAAA,CAAA,yTAAA,CAAA,EAAA,CAAA;0EAMzB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MEHK,0BAA0B,CAAA;AAErC,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;;wHALU,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,SAAA,EAAA,IAAA,EAAA,0BAA0B,4DCPvC,wEAEM,EAAA,MAAA,EAAA,CAAA,gCAAA,CAAA,EAAA,CAAA,CAAA;4FDKO,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,wEAAA,EAAA,MAAA,EAAA,CAAA,gCAAA,CAAA,EAAA,CAAA;;;MEQrB,4BAA4B,CAAA;AAevC,IAAA,WAAA,CACU,kBAAsC,EAAA;AAAtC,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;AAdvC,QAAA,IAAY,CAAA,YAAA,GAAW,QAAQ,CAAC;AAChC,QAAA,IAAa,CAAA,aAAA,GAAW,UAAU,CAAC;AACnC,QAAA,IAAc,CAAA,cAAA,GAAW,WAAW,CAAC;AAG9C,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AAEvB,QAAA,IAAa,CAAA,aAAA,GAAa,EAAc,CAAC;AAEzC,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;KAMpB;IAEL,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC;QAE/D,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC1C;AAED,IAAA,SAAS,CAAC,KAAoB,EAAA;AAC5B,QAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;YAC9B,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE;AAC9F,gBAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC5C,gBAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACrB,aAAA;AACF,SAAA;KACF;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC9C;IAED,cAAc,GAAA;QACZ,IAAI,CAAC,OAAO,GAAS,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAgB,KAAO,EAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAE,CAAA;KACxH;IAGD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;KAC5D;;0HApDU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,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,SAAA,EAAA,IAAA,EAAA,4BAA4B,sRCXzC,ooDA8BA,EAAA,MAAA,EAAA,CAAA,gSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,EAAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDnBa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,ooDAAA,EAAA,MAAA,EAAA,CAAA,gSAAA,CAAA,EAAA,CAAA;sGAMzB,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEqB,WAAW,EAAA,CAAA;sBAArC,SAAS;uBAAC,aAAa,CAAA;;;MEab,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBAjB5B,sBAAsB;QACtB,4BAA4B;QAC5B,0BAA0B;AAC1B,QAAA,4BAA4B,aAG5B,YAAY;QACZ,WAAW;AACX,QAAA,mBAAmB,aAGnB,sBAAsB;QACtB,4BAA4B;QAC5B,0BAA0B;QAC1B,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAGnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAX5B,YAAY;QACZ,WAAW;QACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;4FASV,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAnB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;wBACtB,4BAA4B;wBAC5B,0BAA0B;wBAC1B,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,4BAA4B;wBAC5B,0BAA0B;wBAC1B,4BAA4B;AAC7B,qBAAA;iBACF,CAAA;;;AC3BD,MAAMC,MAAI,CAAA;AAER,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACxB;AAMF,CAAA;MAOY,+BAA+B,CAAA;AAkC1C,IAAA,WAAA,GAAA;AAhCS,QAAA,IAAI,CAAA,IAAA,GAAW,CAAC,CAAC;AAElB,QAAA,IAAO,CAAA,OAAA,GAAW,CAAC,CAAC;AASpB,QAAA,IAAU,CAAA,UAAA,GAAG,EAA0B,CAAC;AAUxC,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AASnC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,KAAK,EAAQ,CAAC;KAEV;IA7BjB,IAAa,MAAM,CAAE,MAAc,EAAA;AACjC,QAAA,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE;AACrC,YAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;KACF;IACD,IAAI,MAAM,KAAY,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;IAG5C,IAAa,SAAS,CAAE,SAA+B,EAAA;AACrD,QAAA,IAAI,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,UAAU,EAAE;AAC9C,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;KACF;IACD,IAAI,SAAS,KAA2B,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE;IAIjE,IAAa,QAAQ,CAAE,QAAiB,EAAA;AACtC,QAAA,IAAI,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;AAC3C,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;KACF;IACD,IAAI,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;IAMjD,QAAQ,GAAA;AACN,QAAA,UAAU,CAAC,MAAK,EAAG,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;KAC3C;IAED,WAAW,GAAA;AACT,QAAA,IAAI,MAAM,GAAG,IAAI,KAAK,EAAQ,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;AAC9B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAClC,gBAAA,CAAC,MAAM,EAAE,IAAI,CAAC;AACZ,oBAAA,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,CAAC,GAAC,CAAC;AACV,oBAAA,KAAK,EAAE,cAAc;AACrB,oBAAA,YAAY,EAAE,EAAE;AACjB,iBAAA,CAAC,CAAA;AACH,aAAA;AACF,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE;AAC3B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtB,SAAA;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,gBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,eAAe,CAAC;AAClC,gBAAA,IAAI,CAAC,CAAC,GAAC,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC3C,oBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC;AACjC,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE;AACjD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/B,gBAAA,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE;oBACpB,MAAM,EAAE,IAAI,GAAC,CAAC,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC;AACjD,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;;6HA7EU,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,4JCtB5C,4kBAcQ,EAAA,MAAA,EAAA,CAAA,stBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDQK,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;+BACE,4BAA4B,EAAA,QAAA,EAAA,4kBAAA,EAAA,MAAA,EAAA,CAAA,stBAAA,CAAA,EAAA,CAAA;0EAM7B,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAGO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBASO,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAUO,QAAQ,EAAA,CAAA;sBAApB,KAAK;;;ME7BK,4BAA4B,CAAA;;0HAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,EATrC,YAAA,EAAA,CAAA,+BAA+B,CAG/B,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,+BAA+B,CAAA,EAAA,CAAA,CAAA;AAGtB,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,YANrC,YAAY,CAAA,EAAA,CAAA,CAAA;4FAMH,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAXxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,+BAA+B;AAChC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,+BAA+B;AAChC,qBAAA;iBACF,CAAA;;;ACbD,MAAOC,yBAAuB,GAAQ;AACpC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,IAAA,KAAK,EAAE,IAAI;CACZ,CAAA;AAED,MAAMC,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,4BAA4B,CAAC;AAC3D,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC,CAAC;MAQW,4BAA4B,CAAA;AAgBvC,IAAA,WAAA,GAAA;AAXS,QAAA,IAAW,CAAA,WAAA,GAAW,mBAAmB,CAAC;AAC1C,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAExB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAS,CAAC;AAE/C,QAAA,IAAuB,CAAA,uBAAA,GAAY,KAAK,CAAC;AAEzC,QAAA,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;AAgFhB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;;;AAMrC,QAAA,IAAiB,CAAA,iBAAA,GAAeA,MAAI,CAAC;AACrC,QAAA,IAAgB,CAAA,gBAAA,GAAqBA,MAAI,CAAC;KApFlC;IAEhB,QAAQ,GAAA;AACN,QAAA,UAAU,CAAC,MAAK,EAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;KACxC;AAED,IAAA,OAAO,CAAC,IAAS,EAAA;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;AAAE,SAAA;QAC9B,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,gBAAA,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,EAAE;oBACtB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;oBAC7B,MAAM;AACP,iBAAA;AACF,aAAA;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;KACF;AAED,IAAA,UAAU,CAAC,IAAS,EAAA;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;AAAE,SAAA;QAC9B,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,gBAAA,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,EAAE;oBACtB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;oBAC9B,MAAM;AACP,iBAAA;AACF,aAAA;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;KACF;IAEO,QAAQ,GAAA;QACd,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,KAAK,GAAU,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,GAAG,CAAC,MAAM,EAAE;AACd,oBAAA,aAAa,EAAE,CAAC;AAChB,oBAAA,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AACnC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpC;IAGD,cAAc,GAAA;QACZ,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAC;AAC9C,oBAAA,MAAM,EAAE,CAAC;oBACT,MAAM;AACP,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC;KACpC;IAED,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;;AAkBD,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;;IAGD,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC1B,SAAA;KACF;;IAGD,MAAM,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;;AAGD,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC1B,SAAA;KACF;;AAGD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KAC5B;;AAGD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;AAED,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;AAEM,IAAA,QAAQ,CAAC,CAAc,EAAA;QAC5B,IAAI,CAAC,KAAM,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAE,EAAE;AACjD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;AACpC,YAAA,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,GAAG,UAAU,CAAC;AACpD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,UAAU,CAAC,IAAS,EAAA;AAClB,QAAA,MAAM,KAAK,GAAG,CAAG,EAAA,IAAI,EAAE,CAAC;AACxB,QAAA,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;QACjC,IAAI,SAAS,GAAG,GAAG,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,EAAE;YAAE,SAAS,GAAG,GAAG,CAAC;AAAE,SAAA;QACxC,IAAI,SAAS,GAAG,EAAE,EAAE;YAAE,SAAS,GAAG,GAAG,CAAC;AAAE,SAAA;QACxC,IAAI,SAAS,GAAG,CAAC,EAAE;YAAE,SAAS,GAAG,EAAE,CAAC;AAAE,SAAA;QACtC,IAAI,SAAS,GAAG,CAAC,EAAE;YAAE,SAAS,GAAG,EAAE,CAAC;AAAE,SAAA;AACtC,QAAA,OAAO,EAAE,WAAW,EAAE,SAAS,GAAG,IAAI,EAAC,CAAC;KACzC;IAED,WAAW,GAAA;KAEV;;0HAnKU,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,SAAA,EAAA,IAAA,EAAA,4BAA4B,oOAF5B,CAACD,qCAAmC,EAAED,yBAAuB,CAAC,0BCtB3E,spEAsDA,EAAA,MAAA,EAAA,CAAA,spCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,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,CAAA,EAAA,CAAA,CAAA;4FD9Ba,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAGvB,SAAA,EAAA,CAACC,qCAAmC,EAAED,yBAAuB,CAAC,EAAA,QAAA,EAAA,spEAAA,EAAA,MAAA,EAAA,CAAA,spCAAA,CAAA,EAAA,CAAA;0EAMhE,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAoFG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;;;MEvGI,yBAAyB,CAAA;;uHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wHAAzB,yBAAyB,EAAA,YAAA,EAAA,CARrB,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAGzC,YAAY;QACZ,WAAW;QACX,mBAAmB,aAJX,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAO3B,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YALlC,YAAY;QACZ,WAAW;QACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;4FAGV,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBATrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,4BAA4B,CAAC;oBAC5C,OAAO,EAAE,CAAC,4BAA4B,CAAC;AACvC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;AACpB,qBAAA;iBACF,CAAA;;;MCTY,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,iBAAiB,GAAiB,IAAI,OAAO,EAAO,CAAC;QACtD,IAAA,CAAA,WAAW,GAA6B,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AAE7E,QAAA,IAAA,CAAA,uBAAuB,GAAiB,IAAI,OAAO,EAAO,CAAC;QAC5D,IAAA,CAAA,iBAAiB,GAA6B,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC;AAEzF,QAAA,IAAA,CAAA,mBAAmB,GAAiB,IAAI,OAAO,EAAO,CAAC;QACxD,IAAA,CAAA,aAAa,GAA6B,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;AAEjF,QAAA,IAAA,CAAA,kBAAkB,GAAiB,IAAI,OAAO,EAAO,CAAC;QACvD,IAAA,CAAA,YAAY,GAA6B,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KA0BxF;AAtBQ,IAAA,YAAY,CAAC,CAAM,EAAA;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAChC;AAEM,IAAA,kBAAkB,CAAC,CAAM,EAAA;AAC9B,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACtC;AAEM,IAAA,mCAAmC,CAAC,CAAM,EAAA;AAC/C,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAClC;AAEM,IAAA,aAAa,CAAC,CAAM,EAAA;AACzB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjC;IAEM,aAAa,GAAA;;QAElB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;;6GAnCU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;iHAAf,eAAe,EAAA,CAAA,CAAA;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;;;MCHE,cAAc,CAAA;AAG1B;;MCQY,+BAA+B,CAAA;AAW1C,IAAA,WAAA,CAAqB,eAAgC,EAAA;AAAhC,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AATrD,QAAA,IAAE,CAAA,EAAA,GAAW,EAAE,CAAC;AAEhB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;AAK5B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;KAG5C;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;AAC1D,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAG;AACzE,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACzB,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,UAAU,GAAA;QACR,OAAO,CAAA,iBAAA,EAAoB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CAAC;KACjG;AAED,IAAA,eAAe,CAAC,KAAU,EAAA;;AACxB,QAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,EAAE,EAAE;AAAE,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAAE,SAAA;QAEtC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,MAAM,WAAW,GAAS,CAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,KAAI,EAAE,CAAC;AAC5E,QAAA,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,gBAAgB,GAAA;QACd,UAAU,CAAC,MAAK;;YACd,IAAI;AACF,gBAAA,MAAM,WAAW,GAAS,CAAA,EAAA,GAAA,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,CAAC;gBACtE,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACvC,gBAAA,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC9C,IAAI,CAAC,eAAe,CAAC,mCAAmC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC/E,aAAA;YAAC,OAAO,KAAK,EAAE,GAAG;AACrB,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAAE,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;KAC1E;;6HAlDU,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAG,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,iICX5C,8dAaA,EAAA,MAAA,EAAA,CAAA,kPAAA,CAAA,EAAA,CAAA,CAAA;4FDFa,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;+BACE,4BAA4B,EAAA,QAAA,EAAA,8dAAA,EAAA,MAAA,EAAA,CAAA,kPAAA,CAAA,EAAA,CAAA;mGAW7B,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;;;AEdI,MAAAF,qCAAmC,GAAQ;AACtD,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxD,IAAA,KAAK,EAAE,IAAI;EACX;AAEF,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC,CAAC;MAYW,yBAAyB,CAAA;IAuFpC,WACU,CAAA,eAAgC,EAChC,WAAwB,EAAA;AADxB,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AAChC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAvFlC,QAAA,IAAc,CAAA,cAAA,GAAW,CAAC,CAAC;AAC3B,QAAA,IAAe,CAAA,eAAA,GAAW,CAAC,CAAC;AAC5B,QAAA,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;AACvB,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AACvB,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAEhB,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAE1B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAW3B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAYzB,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;AAC1B,QAAA,IAAM,CAAA,MAAA,GAAY,IAAI,CAAC;AAExB,QAAA,IAAU,CAAA,UAAA,GAAqB,EAAE,CAAC;AAQlC,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;AAatB,QAAA,IAAM,CAAA,MAAA,GAAY,IAAI,CAAC;AAEtB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAkB,CAAC;AACnD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAkB,CAAC;AAE9C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AAOnC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAO,CAAC;AAElD,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,KAAK,EAAkB,CAAC;AASpD,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAC3B,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AACzB,QAAA,IAAE,CAAA,EAAA,GAAW,EAAE,CAAC;;;AA4MN,QAAA,IAAiB,CAAA,iBAAA,GAAeA,MAAI,CAAC;AACrC,QAAA,IAAgB,CAAA,gBAAA,GAAqBA,MAAI,CAAC;AApMlD,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAG;AACvE,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC9C,SAAC,CAAC,CAAA;AAEF,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,IAAG;AACnF,YAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;AAChC,SAAC,CAAC,CAAA;AAGF,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAK,KAAI;AACjF,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE;gBAChB,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACtC,aAAA;AACH,SAAC,CAAC,CAAA;KAEH;IAlGD,IAAa,QAAQ,CAAC,CAAC,EAAA;QACrB,IAAI,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE;AAClD,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;;;YAGnB,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;KACF;IACD,IAAI,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;IAGjD,IAAa,OAAO,CAAC,CAAU,EAAA;QAC7B,IAAI,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE;AACjD,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;;;YAGlB,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;KACF;IACD,IAAI,OAAO,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE;IAO/C,IAAa,SAAS,CAAC,CAAmB,EAAA;QACxC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACrB,SAAA;KACF;IACD,IAAI,SAAS,KAAsB,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE;IAG5D,IAAa,IAAI,CAAC,CAAU,EAAA;AAC1B,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,EAAE;AACL,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,gBAAA,UAAU,CAAC,MAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AACpC,aAAA;AACF,SAAA;KACF;IACD,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;IAYzC,IAAa,OAAO,CAAC,CAAM,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IA0CD,QAAQ,GAAA;AAIN,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AACvC,YAAA,eAAe,EAAE,IAAI,WAAW,CAAC,EAAE,EAAC,EAAE,CAAC;AACxC,SAAA,CAAC,CAAA;QAIF,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;IAGD,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;KAC7C;IAED,wBAAwB,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,CAAC,EAAE;AACzE,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC3C,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE;AACrC,oBAAA,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,CAAC,WAAW,EAAE;wBAClD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,oBAAoB,EAAE;4BACtE,UAAU,CAAC,MAAK;AACd,gCAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC;gCAC7C,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACzD,6BAAC,CAAC,CAAC;AACJ,yBAAA;AACF,qBAAA;oBACD,MAAM;AACP,iBAAA;AACF,aAAA;AACF,SAAA;KACF;IAED,UAAU,GAAA;QACR,OAAO,CAAA,UAAA,EAAa,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CAAC;KAC1F;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAAE,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;QACvE,IAAI,IAAI,CAAC,wBAAwB,EAAE;AAAE,YAAA,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;QACnF,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAAE,YAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;KAC5E;AAED,IAAA,QAAQ,CAAC,CAAM,EAAA;QACb,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAEpE,IAAI,MAAM,GAAG,CAAE,CAAE,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAG,IAAI,EAAE,EAAG,WAAW,EAAE,CAAC;AACnG,QAAA,IAAI,EAAE,GAAS,QAAQ,CAAC,cAAc,CAAC,CAAG,EAAA,IAAI,CAAC,EAAE,CAAU,QAAA,CAAA,CAAC,CAAC;AAC7D,QAAA,IAAI,EAAE,EAAE;YACN,IAAI,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAC3C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChC,gBAAA,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAChB,gBAAA,MAAM,QAAQ,GAAG,CAAE,CAAE,CAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,EAAG,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAG,IAAI,EAAE,EAAG,WAAW,EAAE,CAAC;gBAChI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC/B,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;AAC5B,iBAAA;AAAM,qBAAA;oBACH,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAChC,iBAAA;AACJ,aAAA;AACF,SAAA;KACF;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,GAAG,CAAC,EAAE;AACzE,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC3C,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE;AACrC,oBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC;oBAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,OAAO;AACR,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,EAAE,EAAE;AAChG,YAAA,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;KAEF;AAGD,IAAA,OAAO,CAAC,CAAM,EAAA;QACZ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACvB;IAED,QAAQ,GAAA;QACN,UAAU,CAAC,MAAK;;YACd,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;AACnE,gBAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACzB,aAAA;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClB,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEvD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAEnD,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,gBAAA,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAC,eAAe,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;;AAEpE,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACpD,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAGD,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACnB;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;AACjC,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB;AAED,IAAA,yBAAyB,CAAC,IAAa,EAAA;;AACrC,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACtB,YAAA,MAAM,EAAE,GAAG,CAAA,EAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACxB,YAAA,MAAM,GAAG,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,EAAE,EAAE,CAAC;AAC7B,YAAA,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE;AAC9B,gBAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;AAC1C,aAAA;AACD,YAAA,MAAM,IAAI,GAAI,CAAA,EAAA,GAAA,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,qBAAqB,EAAE,CAAC;AACnE,YAAA,MAAM,YAAY,GAAG,CAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,MAAM,KAAI,CAAC,CAAC;YACvC,UAAU,CAAC,MAAK;;AACd,gBAAA,IAAI,CAAC,UAAU,GAAI,CAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,KAAI,CAAC,CAAC;gBACnE,IAAI,CAAE,IAAI,CAAC,eAAe,GAAG,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE;AAC5D,oBAAA,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;AACjC,oBAAA,IAAI,CAAC,SAAS,GAAG,CAAA,MAAA,GAAW,IAAI,CAAC,UAAU,EAAiB,YAAA,EAAA,IAAI,CAAC,UAAU,KAAK,CAAC;AAClF,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB;IAGD,QAAQ,GAAA;AACN,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAK;AACrC,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;AACxC,YAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC;AAC1C,YAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACjD,SAAC,CAAC,CAAC;KACJ;IAED,OAAO,GAAA;AACL,QAAA,MAAM,GAAG,GAAG,CAAA,KAAA,EAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAC,CAAC,CAAM,KAAI;;YACzC,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,EAAE,CAAA,EAAA,GAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE;oBACvD,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;;AAUC,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;;;IAGD,IAAI,KAAK,CAAC,CAAM,EAAA;AACZ,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE;AAC1B,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC5B,SAAA;KACJ;;IAGD,MAAM,GAAA;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC5B;;AAGD,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE;AAC9B,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC9B,SAAA;KACJ;;AAGD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KAC9B;;AAGD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC/B;;uHAnUQ,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,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,SAAA,EAAA,IAAA,EAAA,yBAAyB,EALzB,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA;QACT,eAAe;QACfF,qCAAmC;AACpC,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBH,+9EA0DA,EAAA,MAAA,EAAA,CAAA,wjDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,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,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,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,oBAAA,EAAA,QAAA,EAAA,0FAAA,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,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,+BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDjCa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBATrC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAGpB,SAAA,EAAA;wBACT,eAAe;wBACfH,qCAAmC;qBACpC,EAAA,QAAA,EAAA,+9EAAA,EAAA,MAAA,EAAA,CAAA,wjDAAA,CAAA,EAAA,CAAA;6HAUQ,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAGO,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAWO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAWG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAGO,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAQO,IAAI,EAAA,CAAA;sBAAhB,KAAK;gBAYG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEI,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAEG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAGM,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAII,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;MEvEI,sBAAsB,CAAA;;oHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,iBAb/B,yBAAyB;AACzB,QAAA,+BAA+B,aAO/B,YAAY;QACZ,WAAW;AACX,QAAA,mBAAmB,aANnB,yBAAyB;QACzB,+BAA+B,CAAA,EAAA,CAAA,CAAA;AAQtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAL/B,YAAY;QACZ,WAAW;QACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;4FAGV,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAflC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;wBACzB,+BAA+B;AAChC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;wBACzB,+BAA+B;AAChC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;AACpB,qBAAA;iBACF,CAAA;;;ACnBD,MAAMA,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,6BAA6B,CAAC;AAC5D,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC,CAAC;MAQW,6BAA6B,CAAA;AAkBxC,IAAA,WAAA,GAAA;AAfS,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK,CAAC;AACtB,QAAA,IAAM,CAAA,MAAA,GAAW,EAAE,CAAC;AACpB,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AAEvB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AAM7C,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;;;AASlB,QAAA,IAAiB,CAAA,iBAAA,GAAeA,MAAI,CAAC;AACrC,QAAA,IAAgB,CAAA,gBAAA,GAAqBA,MAAI,CAAC;QALlD,IAAI,CAAC,EAAE,GAAG,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACjE;;AAOC,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;;IAGD,IAAI,KAAK,CAAC,CAAU,EAAA;AAChB,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACvB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC5B,SAAA;KACJ;;IAGD,MAAM,GAAA;QACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC5B;;AAGD,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAC3B,SAAA;KACJ;;AAGD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KAC9B;;AAGD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC/B;AAED,IAAA,IAAI,CAAC,CAAM,EAAA;AACP,QAAA,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,CAAC,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACzB;IAED,QAAQ,GAAA;;;;AAIJ,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACxD;;2HAxEQ,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,+KAF7B,CAACD,qCAAmC,CAAC,EAcrB,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAI,6BC/BjC,+iDA6CA,EAAA,MAAA,EAAA,CAAA,i0BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,8FAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,OAAA,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,CAAA,EAAA,CAAA,CAAA;4FD1Ba,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBANzC,SAAS;+BACE,yBAAyB,EAAA,SAAA,EAGxB,CAACA,qCAAmC,CAAC,EAAA,QAAA,EAAA,+iDAAA,EAAA,MAAA,EAAA,CAAA,i0BAAA,CAAA,EAAA,CAAA;0EAKvC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAI4C,QAAQ,EAAA,CAAA;sBAA1D,SAAS;uBAAC,OAAO,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;;;MEXrC,0BAA0B,CAAA;;wHAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yHAA1B,0BAA0B,EAAA,YAAA,EAAA,CAXnC,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAM7B,YAAY;QACZ,WAAW;QACX,mBAAmB,aALnB,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAQpB,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YALnC,YAAY;QACZ,WAAW;QACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;4FAGV,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAbtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,6BAA6B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;AACpB,qBAAA;iBACF,CAAA;;;AChBD,MAAOD,yBAAuB,GAAQ;AACpC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,IAAA,KAAK,EAAE,IAAI;CACZ,CAAA;AAED,MAAMC,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC,CAAC;MAQW,2BAA2B,CAAA;AAmBtC,IAAA,WAAA,GAAA;AAbS,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AACzB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAIlC,QAAA,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;AAE1B,QAAA,IAAuB,CAAA,uBAAA,GAAY,KAAK,CAAC;AAG/B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAS,CAAC;AAmErC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;;;AAMrC,QAAA,IAAiB,CAAA,iBAAA,GAAeA,MAAI,CAAC;AACrC,QAAA,IAAgB,CAAA,gBAAA,GAAqBA,MAAI,CAAC;KAxEjC;IAEjB,QAAQ,GAAA;QACN,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,QAAQ,EAAE,CAAC;AAClB,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,OAAO,CAAC,IAAS,EAAA;QACf,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;AAAE,SAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChB,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AAClB,SAAA;AACD,QAAA,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;KACvB;IAGD,UAAU,CAAC,IAAS,EAAE,KAAa,EAAA;QACjC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;AAAE,SAAA;QAC9B,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,EAAE;oBACrC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;oBAC9B,MAAM;AACP,iBAAA;AACF,aAAA;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;KACF;IAEO,QAAQ,GAAA;QACd,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,KAAK,GAAU,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,gBAAA,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,aAAA;AACF,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AACnC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpC;IAED,cAAc,GAAA;QACZ,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC;AAClD,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAED,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;;AAkBD,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;;IAGD,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC1B,SAAA;KACF;;IAGD,MAAM,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;;AAGD,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC1B,SAAA;KACF;;AAGD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KAC5B;;AAGD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;AAED,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;AAEM,IAAA,QAAQ,CAAC,CAAc,EAAA;QAC5B,IAAI,CAAC,KAAM,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAE,EAAE;AACjD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;AACpC,YAAA,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,GAAG,UAAU,CAAC;AACpD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,UAAU,CAAC,IAAS,EAAA;AAClB,QAAA,MAAM,KAAK,GAAG,CAAG,EAAA,IAAI,EAAE,CAAC;AACxB,QAAA,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;QACjC,IAAI,SAAS,GAAG,GAAG,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,EAAE;YAAE,SAAS,GAAG,GAAG,CAAC;AAAE,SAAA;QACxC,IAAI,SAAS,GAAG,EAAE,EAAE;YAAE,SAAS,GAAG,GAAG,CAAC;AAAE,SAAA;QACxC,IAAI,SAAS,GAAG,CAAC,EAAE;YAAE,SAAS,GAAG,EAAE,CAAC;AAAE,SAAA;QACtC,IAAI,SAAS,GAAG,CAAC,EAAE;YAAE,SAAS,GAAG,EAAE,CAAC;AAAE,SAAA;AACtC,QAAA,OAAO,EAAE,WAAW,EAAE,SAAS,GAAG,IAAI,EAAC,CAAC;KACzC;IAED,WAAW,GAAA;KAEV;;yHA1JU,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,SAAA,EAAA,IAAA,EAAA,2BAA2B,mOAF3B,CAACD,qCAAmC,EAAED,yBAAuB,CAAC,0BCtB3E,29CA0CE,EAAA,MAAA,EAAA,CAAA,gqCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,EAAAE,EAAA,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,EAAA,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,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDlBW,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAGtB,SAAA,EAAA,CAACK,qCAAmC,EAAED,yBAAuB,CAAC,EAAA,QAAA,EAAA,29CAAA,EAAA,MAAA,EAAA,CAAA,gqCAAA,CAAA,EAAA,CAAA;0EAMhE,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAQI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAmEG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;;;ME9FI,wBAAwB,CAAA;;sHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;uHAAxB,wBAAwB,EAAA,YAAA,EAAA,CARpB,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAGxC,WAAW;QACX,mBAAmB;QACnB,YAAY,aAJJ,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAO1B,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YALjC,WAAW;QACX,mBAAmB;QACnB,YAAY,CAAA,EAAA,CAAA,CAAA;4FAGH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBATpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,2BAA2B,CAAC;oBAC3C,OAAO,EAAE,CAAC,2BAA2B,CAAC;AACtC,oBAAA,OAAO,EAAE;wBACP,WAAW;wBACX,mBAAmB;wBACnB,YAAY;AACb,qBAAA;iBACF,CAAA;;;MCVY,aAAa,CAAA;AAD1B,IAAA,WAAA,GAAA;AAGI,QAAA,IAAK,CAAA,KAAA,GAAa,CAAC,SAAS,EAAC,WAAW,EAAC,OAAO,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,CAAC,CAAC;KAiBxI;AAdG,IAAA,SAAS,CAAC,OAAe,EAAA;QAEvB,IAAI,OAAO,KAAK,EAAE,EAAE;YAElB,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,EAAE;AACvB,gBAAA,IAAI,IAAI,GAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrB,gBAAA,IAAI,EAAE,GAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAErB,OAAO,IAAI,CAAC,KAAK,EAAE,EAAE,GAAC,CAAC,EAAE,CAAC;AAC3B,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACX;;2GAlBQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;yGAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,IAAI;mBAAC,EAAE,IAAI,EAAE,WAAW,EAAC,CAAA;;;MCCb,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;QAGI,IAAA,CAAA,cAAc,GAAG;AACf,YAAA,EAAE,GAAG,EAAE,WAAW,EAAM,KAAK,EAAE,YAAY,EAAE;AAC7C,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,UAAU,EAAE;AAC3C,YAAA,EAAE,GAAG,EAAE,QAAQ,EAAS,KAAK,EAAE,MAAM,EAAE;AACvC,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,cAAc,EAAE;AAC/C,YAAA,EAAE,GAAG,EAAE,cAAc,EAAG,KAAK,EAAE,mBAAmB,EAAE;AACpD,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,YAAY,EAAE;AAC7C,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,YAAY,EAAE;AAC7C,YAAA,EAAE,GAAG,EAAE,UAAU,EAAO,KAAK,EAAE,WAAW,EAAE;SAC7C,CAAC;QAEF,IAAA,CAAA,eAAe,GAAG;AAChB,YAAA,EAAE,GAAG,EAAE,WAAW,EAAM,KAAK,EAAE,YAAY,EAAE;AAC7C,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,sBAAsB,EAAE;AACvD,YAAA,EAAE,GAAG,EAAE,QAAQ,EAAS,KAAK,EAAE,MAAM,EAAE;AACvC,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,yBAAyB,EAAE;AAC1D,YAAA,EAAE,GAAG,EAAE,cAAc,EAAG,KAAK,EAAE,mBAAmB,EAAE;AACpD,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,YAAY,EAAE;AAC7C,YAAA,EAAE,GAAG,EAAE,SAAS,EAAQ,KAAK,EAAE,yBAAyB,EAAE;AAC1D,YAAA,EAAE,GAAG,EAAE,UAAU,EAAO,KAAK,EAAE,WAAW,EAAE;SAC7C,CAAC;KAqDL;IAnDG,SAAS,CAAC,WAAgB,EAAE,IAAa,EAAA;AAEvC,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;AAEnC,QAAA,IAAI,IAAI,IAAI,IAAI,KAAK,SAAS,EAAC;AAC7B,YAAA,QAAQ,IAAI;AACV,gBAAA,KAAK,UAAU;AAAE,oBAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;oBAAC,MAAM;AACzD,aAAA;AACF,SAAA;QAED,IAAI,qBAAqB,GAAG,EAAE,CAAC;AAC/B,QAAA,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,EAAC;AAEzB,YAAA,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;AAC/B,YAAA,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,CAAG,EAAA,WAAW,CAAE,CAAA,KAAK,EAAE,EAAE;AAChF,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,IAAI,CAAC,GAAG,WAAW,CAAA,CAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA,EAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE;wBAC7E,qBAAqB,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBACjD,MAAM;AACP,qBAAA;AACF,iBAAA;AACF,aAAA;AAED,YAAA,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;AAChC,YAAA,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,CAAG,EAAA,WAAW,CAAE,CAAA,KAAK,EAAE,EAAE;AAChF,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,IAAI,CAAC,GAAG,WAAW,CAAA,CAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA,EAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE;wBAC7E,qBAAqB,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBACjD,MAAK;AACN,qBAAA;AACF,iBAAA;AACF,aAAA;AAEF,SAAA;AAAI,aAAA;AACH,YAAA,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,CAAG,EAAA,WAAW,CAAE,CAAA,KAAK,EAAE,EAAE;AAChF,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,IAAI,CAAC,GAAG,WAAW,CAAA,CAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAA,EAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE;wBAC7E,qBAAqB,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBACjD,MAAM;AACP,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;QAGD,IAAI,qBAAqB,KAAK,EAAE,EAAE;AAChC,YAAA,OAAO,qBAAqB,CAAC;AAC9B,SAAA;AAED,QAAA,OAAO,WAAW,CAAC;KACpB;;4GA1EQ,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;0GAAd,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,IAAI;mBAAC,EAAE,IAAI,EAAE,YAAY,EAAC,CAAA;;;MCCd,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;QAGI,IAAA,CAAA,GAAG,GAAG;;AAEJ,YAAA,EAAE,GAAG,EAAE,YAAY,EAAG,KAAK,EAAE,UAAU,EAAE;AACzC,YAAA,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE;AAChD,YAAA,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE;;AAGjC,YAAA,EAAE,GAAG,EAAE,QAAQ,EAAG,KAAK,EAAE,YAAY,EAAE;AACvC,YAAA,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;;AAGpC,YAAA,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAChC,YAAA,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE;AAC9B,YAAA,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE;AAC5B,YAAA,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;;AAG7B,YAAA,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;AAC7B,YAAA,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAChC,YAAA,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;AACtC,YAAA,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;AACpC,YAAA,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAChC,YAAA,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;AAClD,YAAA,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC5B,YAAA,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;AACtC,YAAA,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC5B,YAAA,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AAC1B,YAAA,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC5B,YAAA,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE;AACrC,YAAA,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE;AACpD,YAAA,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE;AACpD,YAAA,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC5B,YAAA,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;AACtC,YAAA,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC5B,YAAA,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;;AAGpC,YAAA,EAAE,GAAG,EAAE,SAAS,EAAG,KAAK,EAAE,SAAS,EAAE;AACrC,YAAA,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;;AAGhC,YAAA,EAAE,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,kBAAkB,EAAE;AAC5D,YAAA,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,EAAE;AACxD,YAAA,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,EAAE;SAErD,CAAC;KA4BL;AAzBG,IAAA,SAAS,CAAC,CAAM,EAAA;QAEd,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;AAE7C,YAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AACzB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,oBAAA,QAAQ,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;AACpC,oBAAA,QAAQ,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;oBAC7B,QAAQ,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1C,oBAAA,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC1D,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE;wBAC5C,OAAO,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,CAAE,CAAC;AAC/B,qBAAA;AACF,iBAAA;AACF,aAAA;AAAI,iBAAA;AACH,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AAGF,SAAA;QACD,OAAO,CAAA,EAAG,CAAC,CAAA,CAAE,CAAC;KACf;;4GAxEQ,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;0GAAd,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,IAAI;mBAAC,EAAE,IAAI,EAAE,YAAY,EAAC,CAAA;;;MCCd,QAAQ,CAAA;AADrB,IAAA,WAAA,GAAA;AAEI,QAAA,IAAO,CAAA,OAAA,GAAW,oBAAoB,CAAC;KAsB1C;AArBG,IAAA,UAAU,CAAC,CAAM,EAAA;AACb,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC,gBAAA,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;AAChB,oBAAA,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACvB,iBAAA;AAAI,qBAAA;AACD,oBAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,iBAAA;AACJ,aAAA;AACJ,SAAA;AAAI,aAAA;AACD,YAAA,OAAO,CAAC,CAAC;AACZ,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAClB;AACD,IAAA,SAAS,CAAC,IAAY,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAChC;;sGAtBQ,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oGAAR,QAAQ,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;4FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBADpB,IAAI;mBAAC,EAAE,IAAI,EAAE,MAAM,EAAC,CAAA;;;MCCR,OAAO,CAAA;AADpB,IAAA,WAAA,GAAA;AAEI,QAAA,IAAO,CAAA,OAAA,GAAW,gBAAgB,CAAC;KAsBtC;AArBG,IAAA,UAAU,CAAC,CAAM,EAAA;AACb,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC,gBAAA,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;AAChB,oBAAA,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACvB,iBAAA;AAAI,qBAAA;AACD,oBAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,iBAAA;AACJ,aAAA;AACJ,SAAA;AAAI,aAAA;AACD,YAAA,OAAO,CAAC,CAAC;AACZ,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAClB;AACD,IAAA,SAAS,CAAC,GAAW,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAC/B;;qGAtBQ,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;mGAAP,OAAO,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;4FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBADnB,IAAI;mBAAC,EAAE,IAAI,EAAE,KAAK,EAAC,CAAA;;;MCCP,SAAS,CAAA;AAEpB,IAAA,WAAW,CAAC,CAAS,EAAE,CAAC,GAAG,CAAC,EAAA;AAC1B,QAAA,IAAI,CAAC,CAAC;AAAE,YAAA,OAAO,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,SAAS,CAAC;AAC9B,QAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5H;AAED,IAAA,SAAS,CAAC,KAAU,EAAA;AAClB,QAAA,MAAM,CAAC,GAAW,CAAC,KAAK,CAAC;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KAC9B;;uGAZU,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qGAAT,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,CAAA;4FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBADrB,IAAI;mBAAC,EAAE,IAAI,EAAE,OAAO,EAAC,CAAA;;;MCCT,UAAU,CAAA;AADvB,IAAA,WAAA,GAAA;AAEI,QAAA,IAAO,CAAA,OAAA,GAAW,YAAY,CAAC;KA2ElC;AA1EG,IAAA,UAAU,CAAC,CAAM,EAAA;AACb,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC,gBAAA,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;AAChB,oBAAA,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACvB,iBAAA;AAAI,qBAAA;AACD,oBAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,iBAAA;AACJ,aAAA;AACJ,SAAA;AAAI,aAAA;AACD,YAAA,OAAO,CAAC,CAAC;AACZ,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAClB;AAED,IAAA,WAAW,CAAC,CAAM,EAAA;QACd,MAAM,IAAI,GAAG,OAAO,CAAC;QACrB,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC,gBAAA,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;AAChB,oBAAA,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACvB,iBAAA;AAAI,qBAAA;AACD,oBAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,iBAAA;AACJ,aAAA;AACJ,SAAA;AAAI,aAAA;AACD,YAAA,OAAO,CAAC,CAAC;AACZ,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAClB;IAED,WAAW,CAAC,CAAS,EAAE,KAAa,EAAA;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC;QACnB,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AACjC,gBAAA,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;AAChB,oBAAA,OAAO,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACvB,iBAAA;AAAI,qBAAA;AACD,oBAAA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,iBAAA;AACJ,aAAA;AACJ,SAAA;AAAI,aAAA;AACD,YAAA,OAAO,CAAC,CAAC;AACZ,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAClB;AAED,IAAA,SAAS,CAAC,CAAS,EAAA;AAEf,QAAA,IAAI,CAAC,EAAE;YAEH,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAE3B,YAAA,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,GAAG,CAAC,CAAC;AAAE,aAAA;AACzD,YAAA,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,KAAK,CAAC,CAAC;AAAE,aAAA;AAC3D,YAAA,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,MAAM,CAAC,CAAC;AAAE,aAAA;AAC5D,YAAA,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,OAAO,CAAC,CAAC;AAAE,aAAA;AAC7D,YAAA,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,SAAS,CAAC,CAAC;AAAE,aAAA;AAC/D,YAAA,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,UAAU,CAAC,CAAC;AAAE,aAAA;AAChE,YAAA,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE;gBAAG,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,WAAW,CAAC,CAAC;AAAE,aAAA;YACjE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,YAAY,CAAC,CAAC;AAC3C,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACb;;wGA3EQ,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sGAAV,UAAU,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,CAAA;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBADtB,IAAI;mBAAC,EAAE,IAAI,EAAE,QAAQ,EAAC,CAAA;;;MCKV,6BAA6B,CAAA;IAExC,WACU,CAAA,QAAkB,EAClB,UAA0B,EAAA;AAD1B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAClB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAgB;KAC/B;AAEG,IAAA,OAAO,CAAC,CAAM,EAAA;AACpB,QAAA,IAAI,CAAC,IAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;AACnD,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE;gBAAC,CAAC;AAC3D,gBAAA,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;AACtB,oBAAA,OAAO,KAAK,CAAC;AACd,iBAAA;AAAM,qBAAA;AACL,oBAAA,OAAO,IAAI,CAAC;AACb,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AAEO,IAAA,SAAS,CAAC,IAAS,EAAA;AACzB,QAAA,MAAM,CAAC,GAAG,CAAE,CAAE,CAAC,CAAA,EAAG,IAAI,CAAA,CAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAG,IAAI,EAAE,EAAG,WAAW,EAAE,CAAC;AACpG,QAAA,OAAO,CAAC,CAAC;KACV;AAED;;;;;AAKG;AACH,IAAA,IAAI,CAAC,KAAa,EAAE,QAAa,EAAE,aAAmB,EAAA;QACpD,IAAI,KAAK,IAAI,EAAE,EAAC;AAEd,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,OAAO,QAAQ,CAAC;AACjB,aAAA;AACD,YAAA,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,IAAI,EAAE;gBACzD,aAAa,GAAG,EAAE,CAAC;AACnB,gBAAA,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;AAC7B,oBAAA,aAAa,CAAC,IAAI,CAAE,GAAG,CAAE,CAAC;AAC3B,iBAAA;AACF,aAAA;AAED,YAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5B,gBAAA,OAAO,QAAQ,CAAC;AACjB,aAAA;YAED,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,YAAA,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,MAAM,GAAC,EAAE,CAAC;AACd,YAAA,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;AAC1B,gBAAA,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,OAAO,KAAK,OAAO,OAAO,KAAK,QAAQ,CAAC,EAAE;oBAC5C,QAAQ,GAAG,IAAI,CAAC;AAChB,oBAAA,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE;wBACvC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;AACzC,wBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,UAAU,EAAE;AAC7D,4BAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC9D,4BAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AACpD,4BAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAC,GAAG,GAAC,KAAK,GAAC,GAAG,GAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;4BAC3E,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAE,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;AACpE,gCAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gCAAC,MAAM;AAC7B,6BAAA;AACF,yBAAA;AAAM,6BAAA;4BACL,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,GAAC,EAAE,CAAC,CAAC;4BAC5F,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAE,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE;AACpE,gCAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gCAAC,MAAM;AAC7B,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AAED,YAAA,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE;;gBAEpF,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAG,EAAA,KAAK,CAAE,CAAA,CAAC,CAAC;AACrC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,oBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAG,EAAA,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAE,CAAC,CAAC;oBAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;wBAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,qBAAA;AACF,iBAAA;AACF,aAAA;AAGD,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;AACD,QAAA,OAAO,QAAQ,CAAC;KACjB;;2HA1FU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF5B,MAAM,EAAA,CAAA,CAAA;4FAEP,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCEY,4BAA4B,CAAA;AAiCvC,IAAA,WAAA,CACU,qBAAoD,EAAA;AAApD,QAAA,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAA+B;AAhC9D;;;;;;AAMG;AAEM,QAAA,IAAW,CAAA,WAAA,GAAW,aAAa,CAAC;AAEpC,QAAA,IAAM,CAAA,MAAA,GAAY,IAAI,CAAC;AAEhC,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAiBf,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAO,CAAC;KAIrC;IAlBL,IAAa,WAAW,CAAC,WAAgB,EAAA;AACvC,QAAA,IAAI,WAAW,EAAE;AACf,YAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAEhC,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;gBACjC,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,aAAA;AACF,SAAA;KACF;IACD,IAAI,WAAW,KAAI,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE;IAU9C,QAAQ,GAAA;KACP;AAED,IAAA,MAAM,CAAC,KAAa,EAAA;AAClB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAG,EAAA,KAAK,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;IAED,KAAK,GAAA;QACH,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACjB,SAAA;AAAI,aAAA;AACH,YAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;KACvB;IAED,OAAO,GAAA;QACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,aAAa,CAAE,CAAC;KACvC;;0HA1DU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,6BAAA,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,SAAA,EAAA,IAAA,EAAA,4BAA4B,iLCRzC,2sBAaQ,EAAA,MAAA,EAAA,CAAA,gdAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,CAAA,EAAA,CAAA,CAAA;4FDLK,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,2sBAAA,EAAA,MAAA,EAAA,CAAA,gdAAA,CAAA,EAAA,CAAA;iHAczB,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAKO,WAAW,EAAA,CAAA;sBAAvB,KAAK;gBAcI,KAAK,EAAA,CAAA;sBAAd,MAAM;;;MEnBI,yBAAyB,CAAA;;uHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wHAAzB,yBAAyB,EAAA,YAAA,EAAA,CAXlC,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAM5B,YAAY;QACZ,WAAW;QACX,mBAAmB,aALnB,4BAA4B,CAAA,EAAA,CAAA,CAAA;AAQnB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YALlC,YAAY;QACZ,WAAW;QACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;4FAGV,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAbrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;AACpB,qBAAA;iBACF,CAAA;;;MCZY,yBAAyB,CAAA;AALtC,IAAA,WAAA,GAAA;AAQW,QAAA,IAAO,CAAA,OAAA,GAAW,6BAA6B,CAAC;AAElD,QAAA,IAAS,CAAA,SAAA,GAAQ,EAAE,CAAC;KAK5B;IAHC,QAAQ,GAAA;KAEP;;uHATU,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,SAAA,EAAA,IAAA,EAAA,yBAAyB,2FCPtC,wPAKM,EAAA,MAAA,EAAA,CAAA,mTAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDEO,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,wPAAA,EAAA,MAAA,EAAA,CAAA,mTAAA,CAAA,EAAA,CAAA;8BAOtB,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MEKK,sBAAsB,CAAA;;oHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAT/B,YAAA,EAAA,CAAA,yBAAyB,CAGzB,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAGhB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAN/B,YAAY,CAAA,EAAA,CAAA,CAAA;4FAMH,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAXlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,yBAAyB;AAC1B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;AAC1B,qBAAA;iBACF,CAAA;;;MCPY,sBAAsB,CAAA;AAKjC,IAAA,WAAA,GAAA;AAHS,QAAA,IAAU,CAAA,UAAA,GAAY,IAAI,CAAC;AAC3B,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;KAEjB;IAEjB,QAAQ,GAAA;KACP;;oHARU,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,SAAA,EAAA,IAAA,EAAA,sBAAsB,iHCPnC,oPAIA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDGa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,oPAAA,EAAA,CAAA;0EAMlB,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MEOK,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAT5B,YAAA,EAAA,CAAA,sBAAsB,CAMtB,EAAA,OAAA,EAAA,CAAA,YAAY,aAHZ,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAMb,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAH5B,YAAY,CAAA,EAAA,CAAA,CAAA;4FAGH,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;iBACF,CAAA;;;ACdD,MAAM,IAAI,CAAA;AAER,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACxB;AAMF,CAAA;MAOY,2BAA2B,CAAA;AAmCtC,IAAA,WAAA,GAAA;AAjCS,QAAA,IAAI,CAAA,IAAA,GAAW,CAAC,CAAC;AACjB,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAE/B,QAAA,IAAO,CAAA,OAAA,GAAW,CAAC,CAAC;AASpB,QAAA,IAAU,CAAA,UAAA,GAAG,EAA0B,CAAC;AAUxC,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AASnC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,KAAK,EAAQ,CAAC;KAEV;IA7BjB,IAAa,MAAM,CAAE,MAAc,EAAA;AACjC,QAAA,IAAI,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE;AACrC,YAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;KACF;IACD,IAAI,MAAM,KAAY,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;IAG5C,IAAa,SAAS,CAAE,SAA+B,EAAA;AACrD,QAAA,IAAI,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,UAAU,EAAE;AAC9C,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;KACF;IACD,IAAI,SAAS,KAA2B,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE;IAIjE,IAAa,QAAQ,CAAE,QAAiB,EAAA;AACtC,QAAA,IAAI,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;AAC3C,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,SAAA;KACF;IACD,IAAI,QAAQ,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;IAMjD,QAAQ,GAAA;AACN,QAAA,UAAU,CAAC,MAAK,EAAG,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;KAC3C;IAED,WAAW,GAAA;AACT,QAAA,IAAI,MAAM,GAAG,IAAI,KAAK,EAAQ,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;AAC9B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;AAClC,gBAAA,CAAC,MAAM,EAAE,IAAI,CAAC;AACZ,oBAAA,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,CAAC,GAAC,CAAC;AACV,oBAAA,KAAK,EAAE,cAAc;AACrB,oBAAA,YAAY,EAAE,EAAE;AACjB,iBAAA,CAAC,CAAA;AACH,aAAA;AACF,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE;AAC3B,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtB,SAAA;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;AACzB,SAAA;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,gBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,eAAe,CAAC;AAClC,gBAAA,IAAI,CAAC,CAAC,GAAC,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC3C,oBAAA,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC;AACjC,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE;AACjD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/B,gBAAA,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE;oBACpB,MAAM,EAAE,IAAI,GAAC,CAAC,EAAE,CAAC,YAAY,GAAG,eAAe,CAAC;AACjD,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;;yHAlFU,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,SAAA,EAAA,IAAA,EAAA,2BAA2B,qLCtBxC,g0CAgCQ,EAAA,MAAA,EAAA,CAAA,2+BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDVK,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,g0CAAA,EAAA,MAAA,EAAA,CAAA,2+BAAA,CAAA,EAAA,CAAA;0EAMxB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAGO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBASO,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAUO,QAAQ,EAAA,CAAA;sBAApB,KAAK;;;ME9BK,wBAAwB,CAAA;;sHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,EATjC,YAAA,EAAA,CAAA,2BAA2B,CAM3B,EAAA,OAAA,EAAA,CAAA,YAAY,aAHZ,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAMlB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YAHjC,YAAY,CAAA,EAAA,CAAA,CAAA;4FAGH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAXpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;iBACF,CAAA;;;MCTY,0BAA0B,CAAA;AAKrC,IAAA,WAAA,GAAA;AAHS,QAAA,IAAM,CAAA,MAAA,GAAY,IAAI,CAAC;AACvB,QAAA,IAAS,CAAA,SAAA,GAAW,GAAG,CAAC;KAEhB;IAEjB,QAAQ,GAAA;KACP;;wHARU,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,SAAA,EAAA,IAAA,EAAA,0BAA0B,kHCPvC,iNAKA,EAAA,MAAA,EAAA,CAAA,4eAAA,CAAA,EAAA,CAAA,CAAA;4FDEa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,iNAAA,EAAA,MAAA,EAAA,CAAA,4eAAA,CAAA,EAAA,CAAA;0EAMvB,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEOK,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAThC,YAAA,EAAA,CAAA,0BAA0B,CAM1B,EAAA,OAAA,EAAA,CAAA,YAAY,aAHZ,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAMjB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAHhC,YAAY,CAAA,EAAA,CAAA,CAAA;4FAGH,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAXnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;iBACF,CAAA;;;ACUW,IAAA,cAQX;AARD,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,gBAA2B,CAAA;AAC3B,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,YAAmB,CAAA;AACvB,CAAC,EARW,aAAa,KAAb,aAAa,GAQxB,EAAA,CAAA,CAAA,CAAA;AAEW,IAAA,YAMX;AAND,CAAA,UAAY,WAAW,EAAA;AACnB,IAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,WAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,WAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,WAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,WAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACb,CAAC,EANW,WAAW,KAAX,WAAW,GAMtB,EAAA,CAAA,CAAA;;ACnCD,IAAI,WAAW,GAAG;AAChB,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;AAC5E,QAAA,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AAC5D,QAAA,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACnD,MAAM,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;QACrI,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACjG,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,MAAM;AACnB,QAAA,MAAM,EAAE,YAAY;AACpB,QAAA,SAAS,EAAE,CAAC;AACb,KAAA;CACF,CAAC;AAEF,MAAMG,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,2BAA2B,CAAC;AAC1D,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC,CAAC;MAaW,2BAA2B,CAAA;IA6CtC,WACU,CAAA,WAAuB,EACvB,kBAAqC,EAAA;AADrC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;AACvB,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;;AA5CtC,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;;;AAI1B,QAAA,IAAgB,CAAA,gBAAA,GAAW,CAAC,CAAC;;AAG7B,QAAA,IAAkB,CAAA,kBAAA,GAAa,EAAE,CAAC;;AAGlC,QAAA,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;;AAGrB,QAAA,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;;AAGrB,QAAA,IAAa,CAAA,aAAA,GAAa,EAAE,CAAC;;AAG7B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAE3B,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;;AAGzB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAiB,CAAC;AAY7C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAiB,CAAC;AAInD,QAAA,IAAI,CAAA,IAAA,GAAW,sBAAsB,CAAC;AAO/C,QAAA,IAAE,CAAA,EAAA,GAAW,EAAE,CAAC;;;AAiPR,QAAA,IAAiB,CAAA,iBAAA,GAAeA,MAAI,CAAC;AACrC,QAAA,IAAgB,CAAA,gBAAA,GAAqBA,MAAI,CAAC;KApP7C;IAlBL,IAAa,OAAO,CAAC,CAAM,EAAA;;AAIzB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AAC9B,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvB,SAAA;KACF;IAcD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAC3C,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,UAAU,GAAA;QACR,OAAO,CAAA,qBAAA,EAAwB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CAAC;KACrG;AAED,IAAA,SAAS,CAAC,CAAS,EAAA;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KACtC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,OAAO,GAAG;AACZ,YAAA,SAAS,EAAE,CAAoC,kCAAA,CAAA;AAC/C,YAAA,SAAS,EAAE,CAAmC,iCAAA,CAAA;AAC9C,YAAA,MAAM,EAAE,YAAY;AACpB,YAAA,qBAAqB,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;AAC5B,YAAA,QAAQ,EAAE,MAAM;SACV,CAAC;QAET,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,CAAC,EAAE;AACxC,YAAA,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;AACzD,SAAA;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,EAAE;AACnC,YAAA,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAC/C,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAE;AACvB,YAAA,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AACnC,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAE;AACvB,YAAA,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AACnC,SAAA;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;AACrD,SAAA;AAED,QAAA,OAAO,OAAO,CAAC;KAChB;IAED,SAAS,GAAA;QACP,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;AACxC,SAAA;KACF;IAED,gBAAgB,GAAA;QACd,UAAU,CAAC,MAAK;;YACd,MAAM,gBAAgB,GAAS,CAAA,EAAA,GAAA,IAAI,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC;AACpE,YAAA,IAAI,gBAAgB,EAAE;AAEpB,gBAAA,gBAAgB,CAAC,YAAY,CAAC,aAAa,EAAC,YAAY,CAAC,CAAC;AAE1D,gBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,oBAAA,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAC,gEAAgE,CAAC,CAAC;AACzG,iBAAA;AAGD,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAE,gBAAgB,EAAE,IAAI,CAAC,WAAW,EAAE,CAAE,CAAC;gBAEzE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;AAC7C,oBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxC,iBAAA;gBAED,gBAAgB,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAU,KAAI;;AACxD,oBAAA,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACvE,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBAE9C,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,EAAE,EAAE;AAC5C,wBAAA,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACvD,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACjC,wBAAA,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,CAAC,EAAE;AAE5B,4BAAA,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACvB,4BAAA,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACvB,4BAAA,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;4BAEvB,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,GAAG,GAAG,CAAC;4BACxC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,GAAG,GAAG,CAAC;AAExC,4BAAA,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,GAAC,GAAG,GAAC,GAAG,GAAC,GAAG,GAAC,GAAG,CAAC,CAAC;AACzC,4BAAA,IAAI,EAAE,EAAE;AACN,gCAAA,gBAAgB,aAAhB,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhB,gBAAgB,CAAE,UAAU,CAAC;gCAC7B,CAAA,EAAA,GAAA,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,EAAE,CAAC;gCACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gCACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,6BAAA;AACF,yBAAA;AACF,qBAAA;AAAI,yBAAA;AACH,wBAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;wBAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,qBAAA;;AAEH,iBAAC,CAAC,CAAA;gBAGF,gBAAgB,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,KAAU,KAAI;;;oBAE7D,IAAI,CAAA,EAAA,GAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,EAAE;AACvB,wBAAA,IAAI,CAAC,cAAc,CAAE,KAAK,CAAC,MAAM,CAAE,CAAC;AACrC,qBAAA;AAAI,yBAAA;;AAEH,wBAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;wBACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,qBAAA;AACH,iBAAC,CAAC,CAAA;AACH,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAED,SAAS,GAAA;;AAEP,QAAA,MAAM,KAAK,GAAG,CAAC,YAAY,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;KACF;AAED,IAAA,gBAAgB,CAAC,IAAuB,EAAA;QAEtC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;YACtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO;AACR,SAAA;QAED,IAAI,KAAK,GAAG,EAAc,CAAC;AAE3B,QAAA,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACxB,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,IAAI,GAAG,KAAK,CAAC;AACb,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,YAAA,CAAC,KAAK,EAAE,IAAI,CAAE,IAAI,CAAE,CAAC;AACtB,SAAA;AAAI,aAAA;YACH,KAAK,GAAmB,IAAI,CAAC;AAC9B,SAAA;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;KACF;AAED,IAAA,cAAc,CAAC,MAAW,EAAA;AACxB,QAAA,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;YACnE,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;oBACzD,MAAM,SAAS,GAAY,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,oBAAA,CAAC,KAAK,EAAE,IAAI,CAAE,IAAI,CAAC,WAAW,CAAE,SAAS,CAAE,CAAE,CAAC;AAC/C,iBAAA;AACD,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACrC,aAAA;AAAI,iBAAA;gBACH,MAAM,SAAS,GAAY,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAE,SAAS,CAAE,CAAC;AAC3C,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACxB,aAAA;AACF,SAAA;AAAI,aAAA;YACH,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACrC,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC1C;AAED,IAAA,WAAW,CAAC,SAAiB,EAAA;AAC3B,QAAA,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QAE/B,IAAI,GAAG,GAAG,CAAG,EAAA,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9B,IAAI,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAA,CAAE,CAAC;QACjC,IAAI,GAAG,GAAG,CAAG,EAAA,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAElC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,GAAG,GAAG,CAAC;QACxC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,GAAG,GAAG,CAAC;QAExC,MAAM,UAAU,GAAG,CAAG,EAAA,GAAG,IAAI,GAAG,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAC;AAC1C,QAAA,OAAO,UAAU,CAAC;KACnB;AAED,IAAA,SAAS,CAAC,EAAU,EAAA;QAClB,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAQ,CAAC;QACnD,UAAU,CAAC,MAAK;;YACd,CAAA,EAAA,GAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,EAAE,CAAC;AAC9B,SAAC,CAAC,CAAC;KACJ;;AA4CD,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;;IAGD,IAAI,KAAK,CAAC,CAAM,EAAA;;AAId,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC1B,SAAA;AAAI,aAAA;;AAEJ,SAAA;KACF;;IAGD,MAAM,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;;AAGD,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC9B,SAAA;KACF;;AAGD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KAC5B;;AAGD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;;yHA7UU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAK,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,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,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAH3B,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAAA,CAACN,qCAAmC,CAAC,gJCvClD,gzCA6CA,EAAA,MAAA,EAAA,CAAA,+nBAAA,EAAA,64JAAA,EAAA,+DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAL,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDHa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAXvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,aAOrB,CAACK,qCAAmC,CAAC,EACjC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,gzCAAA,EAAA,MAAA,EAAA,CAAA,+nBAAA,EAAA,64JAAA,EAAA,+DAAA,CAAA,EAAA,CAAA;8HAK5B,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAIG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAGG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAGG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAGG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAGG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAGG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAGI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAGM,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBASI,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBAEyC,gBAAgB,EAAA,CAAA;sBAA/D,SAAS;gBAAC,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAA;gBAErC,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;AEjFR,MAAMA,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,+BAA+B,CAAC;AAC9D,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC,CAAC;MAQW,+BAA+B,CAAA;AAN5C,IAAA,WAAA,GAAA;AAQW,QAAA,IAAG,CAAA,GAAA,GAAY,KAAK,CAAC;AAE9B,QAAA,IAAgB,CAAA,gBAAA,GAAY,IAAI,CAAC;AAQvB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAQ,CAAC;AAEzC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAQ,CAAC;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;AAEvC,QAAA,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;AAEpC,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;AACxB,QAAA,IAAE,CAAA,EAAA,GAAW,IAAI,CAAC;AAClB,QAAA,IAAE,CAAA,EAAA,GAAW,IAAI,CAAC;AAElB,QAAA,IAAE,CAAA,EAAA,GAAW,EAAE,CAAC;AAOhB,QAAA,IAAiB,CAAA,iBAAA,GAAsB,EAAE,CAAC;AAC1C,QAAA,IAAsB,CAAA,sBAAA,GAAY,KAAK,CAAC;AAGxC,QAAA,IAA6B,CAAA,6BAAA,GAAQ,EAAE,CAAC;AACxC,QAAA,IAAuB,CAAA,uBAAA,GAAQ,EAAE,CAAC;;;AAuQ1B,QAAA,IAAiB,CAAA,iBAAA,GAAeA,MAAI,CAAC;AACrC,QAAA,IAAgB,CAAA,gBAAA,GAAqBA,MAAI,CAAC;KA+CnD;IAnVC,IAAa,OAAO,CAAC,CAAM,EAAA;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AAC9B,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACrB,SAAA;KACF;IA0BD,QAAQ,GAAA;QAGN,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAE1B,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;KACvC;IAED,kBAAkB,GAAA;QAChB,IAAI,CAAC,iBAAiB,GAAG;AACvB,YAAA,EAAC,KAAK,EAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAC;AACvC,YAAA,EAAC,KAAK,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC;AACzC,YAAA,EAAC,KAAK,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC;AACzC,YAAA,EAAC,KAAK,EAAC,eAAe,EAAE,WAAW,EAAE,WAAW,EAAC;AACjD,YAAA,EAAC,KAAK,EAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAC;SACjD,CAAA;KACF;IAED,UAAU,GAAA;QACR,OAAO,CAAA,0BAAA,EAA6B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CAAC;KAC1G;AAED,IAAA,WAAW,CAAC,CAAS,EAAA;QACnB,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,IAAI,CAAC,GAAG,EAAE,EAAE;gBACV,CAAC,EAAE,EAAE,IAAI,CAAC,CAAI,CAAA,EAAA,CAAC,CAAE,CAAA,CAAC,CAAC;AACpB,aAAA;AAAI,iBAAA;gBACH,CAAC,EAAE,EAAE,IAAI,CAAC,CAAG,EAAA,CAAC,CAAE,CAAA,CAAC,CAAC;AACnB,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACX;AAED,IAAA,SAAS,CAAC,IAAY,EAAA;AACpB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;KACnC;IAED,SAAS,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,MAAM,KAAK,EAAE,EAAC;AAC9D,YAAA,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,SAAS,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAClC,YAAA,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,YAAA,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,YAAA,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,YAAA,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAA,EAAG,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,CAAA,EAAI,EAAE,CAAA,CAAE,CAAC,CAAC;AAC/C,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;AAC9B,gBAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACnC,aAAA;AACF,SAAA;KACF;AAED,IAAA,sBAAsB,CAAC,IAAY,EAAA;;AAEjC,QAAA,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;AAEjD,QAAA,IAAI,IAAI,EAAE;YACR,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjC,IAAI,SAAS,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAClC,YAAA,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACvB,YAAA,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACvB,YAAA,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAEvB,YAAA,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,EAAE,EAAE;gBACP,EAAE,GAAG,IAAI,CAAC;AACX,aAAA;AAAI,iBAAA;AACH,gBAAA,KAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,GAAI;oBAChC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,EAAE,EAAE,CAAC,CAAE,CAAA,GAAG,CAAG,EAAA,EAAE,EAAE,CAAC,CAAA,CAAE,CAAC;AAC/C,iBAAA;AAAI,qBAAA;oBACH,EAAE,GAAG,IAAI,CAAC;AACX,iBAAA;AACF,aAAA;AAED,YAAA,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,EAAE,EAAE;gBACP,EAAE,GAAG,IAAI,CAAC;AACX,aAAA;AAAI,iBAAA;AACH,gBAAA,KAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,GAAI;oBAChC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,EAAE,EAAE,CAAC,CAAE,CAAA,GAAG,CAAG,EAAA,EAAE,EAAE,CAAC,CAAA,CAAE,CAAC;AAC/C,iBAAA;AAAI,qBAAA;oBACH,EAAE,GAAG,IAAI,CAAC;AACX,iBAAA;AACF,aAAA;YAED,IAAI,EAAE,KAAK,IAAI,EAAE;AAAE,gBAAA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AAAE,aAAA;YAClC,IAAI,EAAE,KAAK,IAAI,EAAE;AAAE,gBAAA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AAAE,aAAA;AAElC,YAAA,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,GAAG,IAAI,CAAC;AAE3C,YAAA,MAAM,QAAQ,GAAG,CAAG,EAAA,GAAG,IAAI,GAAG,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,EAAI,EAAE,CAAI,CAAA,EAAA,EAAE,CAAI,CAAA,EAAA,QAAQ,EAAE,CAAC;AAChE,YAAA,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAE,QAAQ,CAAE,CAAC;AAEtC,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;AAC9B,gBAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC5B,aAAA;AAAI,iBAAA;AACH,gBAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC7B,aAAA;YAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,CAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,CAAE,CAAC;AACtC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAE,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAE,CAAC;AAE7D,SAAA;AAAI,aAAA;AAEH,YAAA,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC;AACxC,YAAA,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;AAElC,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,CAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,IAAI,CAAC,UAAU,CAAE,CAAC;AACtC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAE,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAE,CAAC;AAC7D,SAAA;QAED,IAAI,CAAA,EAAG,IAAI,CAAC,sBAAsB,CAAA,CAAE,KAAK,CAAA,EAAG,IAAI,CAAC,UAAU,CAAA,CAAE,EAAE;;;AAG9D,SAAA;KAEF;;AAGD,IAAA,aAAa,CAAC,CAAO,EAAA;QACnB,IAAI,GAAG,GAAG,CAAA,EAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAA,CAAE,CAAC;QAC7B,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,GAAG,GAAG,CAAC;AACxC,QAAA,IAAI,GAAG,GAAG,CAAG,EAAA,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAC,CAAC,CAAA,CAAE,CAAC;QAChC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAK,CAAA,CAAA,EAAI,CAAC,GAAG,CAAA,CAAE,GAAG,GAAG,CAAC;QAExC,IAAI,GAAG,GAAG,CAAA,EAAG,CAAC,CAAC,EAAE,WAAW,EAAE,CAAA,CAAE,CAAC;QACjC,IAAI,EAAE,GAAI,CAAA,EAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAA,CAAE,CAAC;QAC9B,IAAI,EAAE,GAAI,CAAA,EAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAA,CAAE,CAAC;AAEhC,QAAA,IAAI,EAAE,KAAM,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAE,EAAE;YAAE,EAAE,GAAG,IAAI,CAAC;AAAE,SAAA;AACrD,QAAA,EAAE,GAAG,CAAC,EAAE,KAAM,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,IAAK,CAAI,CAAA,EAAA,EAAE,EAAE,GAAG,EAAE,IAAK,IAAI,CAAC;AAErD,QAAA,IAAI,EAAE,KAAM,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAE,EAAE;YAAE,EAAE,GAAG,IAAI,CAAC;AAAE,SAAA;AACrD,QAAA,EAAE,GAAG,CAAC,EAAE,KAAM,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,IAAK,CAAI,CAAA,EAAA,EAAE,EAAE,GAAG,EAAE,IAAK,IAAI,CAAC;AAErD,QAAA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AACb,QAAA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,IAAI,CAAC,UAAU,GAAG,CAAG,EAAA,GAAG,IAAI,GAAG,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAC;KAC1C;AAED,IAAA,WAAW,CAAC,CAAM,EAAA;AAEhB,QAAA,IAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE;AACxD,YAAA,IAAG,KAAK,CAAC,CAAC,CAAC,EAAE;AAAE,gBAAA,OAAO,KAAK,CAAC;AAAE,aAAA;AAAM,iBAAA;AAAE,gBAAA,OAAO,IAAI,CAAC;AAAE,aAAA;AACrD,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAGD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;AACf,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;AACf,QAAA,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC;AACxC,QAAA,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;KACnC;AAED,IAAA,SAAS,CAAC,EAAU,EAAA;;QAClB,CAAA,EAAA,GAAA,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE,CAAC;KACtC;IAED,uBAAuB,GAAA;AACrB,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAA;KACpC;AAGD,IAAA,uBAAuB,CAAC,KAAU,EAAA;;;AAGhC,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAE9B,QAAA,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,WAAW,GAAQ,SAAS,CAAC;QACjC,IAAI,KAAK,KAAK,QAAQ,EAAE;YACtB,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAE,CAAE,CAAC;AACvE,YAAA,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC;AACvD,SAAA;QAED,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAE,CAAE,CAAC;AACxE,YAAA,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC;AACvD,SAAA;QAED,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAE,CAAE,CAAC;AACxE,YAAA,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC;AACvD,SAAA;QAED,IAAI,KAAK,KAAK,eAAe,EAAE;AAC7B,YAAA,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9D,SAAA;QAED,IAAI,KAAK,KAAK,cAAc,EAAE;AAC5B,YAAA,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjD,SAAA;AAED,QAAA,IAAG,WAAW,EAAC;AACb,YAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;AAC9B,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;gBACjC,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AAChC,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,oBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,oBAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;AACrC,oBAAA,IAAI,CAAC,sBAAsB,GAAG,WAAkB,CAAC;oBACjD,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC;AACrF,iBAAC,CAAC,CAAC;AACJ,aAAA;AACF,SAAA;KAEF;AAGD,IAAA,iCAAiC,CAAC,KAAa,EAAA;AAC7C,QAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,CAAC,EAAE;AACjE,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBACxD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AACvC,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;oBACxB,OAAO,IAAI,CAAC,WAAW,CAAC;AACzB,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACX;IAGD,qBAAqB,GAAA;AACnB,QAAA,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC;KACzC;;AA8BD,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;;IAGD,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC1B,SAAA;KACF;;IAGD,MAAM,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;;AAGD,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;YAE7B,IAAI;gBACF,KAAK,GAAG,IAAI,IAAI,CAAE,GAAG,KAAK,CAAA,CAAE,CAAE,CAAC;AAChC,aAAA;YAAC,OAAO,KAAK,EAAE,GAAE;AAElB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;AAC3B,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC3B,aAAA;AAAI,iBAAA;gBACH,IAAI,CAAC,KAAK,EAAE,CAAA;AACb,aAAA;AACF,SAAA;KACF;;AAGD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KAC5B;;AAGD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;;6HAxVU,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,EAF/B,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,SAAA,EAAA,CAACD,qCAAmC,CAAC,6ICjBlD,y8IA8FO,EAAA,MAAA,EAAA,CAAA,+vDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,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,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,SAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAV,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,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,EAAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAW,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD3EM,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAN3C,SAAS;+BACE,2BAA2B,EAAA,SAAA,EAG1B,CAACR,qCAAmC,CAAC,EAAA,QAAA,EAAA,y8IAAA,EAAA,MAAA,EAAA,CAAA,+vDAAA,CAAA,EAAA,CAAA;8BAIvC,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAKO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAKI,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBAEG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAEE,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAWyC,cAAc,EAAA,CAAA;sBAA5D,SAAS;gBAAC,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAA;;;AE5C/C,MAAOD,yBAAuB,GAAQ;AACpC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,IAAA,KAAK,EAAE,IAAI;CACZ,CAAA;AAED,MAAMC,qCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAMC,MAAI,GAAG,MAAK;AAClB,CAAC,CAAC;MAcW,0BAA0B,CAAA;AAqBrC,IAAA,WAAA,GAAA;AAnBA,QAAA,IAAM,CAAA,MAAA,GAAG,EAAqB,CAAC;AAE/B,QAAA,IAAiB,CAAA,iBAAA,GAAQ,EAAE,CAAC;AAC5B,QAAA,IAAuB,CAAA,uBAAA,GAAY,KAAK,CAAC;AAE/B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAmB,CAAC;AAEhD,QAAA,IAA2B,CAAA,2BAAA,GAAW,EAAE,CAAC;AAGzC,QAAA,IAAgB,CAAA,gBAAA,GAAW,EAAE,CAAC;AAC9B,QAAA,IAAe,CAAA,eAAA,GAAW,EAAE,CAAC;AAE7B,QAAA,IAAG,CAAA,GAAA,GAAY,KAAK,CAAC;AAE9B,QAAA,IAAI,CAAA,IAAA,GAAW,QAAQ,CAAC;AAExB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;;AA6IR,QAAA,IAAiB,CAAA,iBAAA,GAAeA,MAAI,CAAC;AACrC,QAAA,IAAgB,CAAA,gBAAA,GAAqBA,MAAI,CAAC;KA5IjC;IAEjB,QAAQ,GAAA;QACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAED,kBAAkB,GAAA;QAChB,IAAI,CAAC,iBAAiB,GAAG;AACvB,YAAA,EAAC,KAAK,EAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAC;AACvC,YAAA,EAAC,KAAK,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC;AACzC,YAAA,EAAC,KAAK,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC;AACzC,YAAA,EAAC,KAAK,EAAC,eAAe,EAAE,WAAW,EAAE,WAAW,EAAC;AACjD,YAAA,EAAC,KAAK,EAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAC;SACjD,CAAA;QACD,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,IAAI,CAAC,2BAA2B,KAAK,EAAE,EAAE;AAC3C,gBAAA,IAAI,CAAC,uBAAuB,CAAE,IAAI,CAAC,2BAA2B,CAAE,CAAC;AAClE,aAAA;AACH,SAAC,CAAC,CAAC;KAEJ;AAED,IAAA,uBAAuB,CAAC,KAAU,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;;;AAGrB,QAAA,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;AAE5C,QAAA,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,WAAW,GAAQ,SAAS,CAAC;QACjC,IAAI,KAAK,KAAK,QAAQ,EAAE;YACtB,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAE,CAAE,CAAC;AACvE,YAAA,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC;AACvD,SAAA;QAED,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAE,CAAE,CAAC;AACxE,YAAA,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC;AACvD,SAAA;QAED,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAE,CAAE,CAAC;AACxE,YAAA,WAAW,GAAG,IAAI,IAAI,CAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAE,CAAC;AACvD,SAAA;QAED,IAAI,KAAK,KAAK,eAAe,EAAE;AAC7B,YAAA,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9D,SAAA;QAED,IAAI,KAAK,KAAK,cAAc,EAAE;AAC5B,YAAA,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjD,SAAA;AAED,QAAA,IAAG,WAAW,EAAC;YAEb,IAAI,CAAC,MAAM,GAAG;AACZ,gBAAA,KAAK,EAAE,WAAW;AAClB,gBAAA,IAAI,EAAE,GAAG;aACS,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACrB,SAAA;AAAI,aAAA;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,EAAqB,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACtB,SAAA;KAEF;AAED,IAAA,qBAAqB,CAAC,KAAU,EAAA;AAC9B,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACrB,SAAA;AAAI,aAAA;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,EAAqB,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjC,SAAA;KACF;AAED,IAAA,oBAAoB,CAAC,KAAU,EAAA;AAC7B,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACrB,SAAA;AAAI,aAAA;AACH,YAAA,IAAI,CAAC,MAAM,GAAG,EAAqB,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjC,SAAA;KACF;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,aAAa,GAAG,QAAQ,CAAC;QACjE,IAAI,IAAI,KAAK,QAAQ,EAAE;AACrB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,YAAA,IAAI,CAAC,MAAM,GAAG,EAAqB,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjC,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAClB;;AA4CD,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;;IAGD,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC1B,SAAA;KACF;;IAGD,MAAM,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;;AAGD,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;;AAEzB,SAAA;KACF;;AAGD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KAC5B;;AAGD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;AAEM,IAAA,QAAQ,CAAC,CAAc,EAAA;QAC5B,IAAI,CAAC,KAAM,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAE,EAAE;AACjD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;AACpC,YAAA,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,GAAG,UAAU,CAAC;AACpD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AACxD,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;;wHApNU,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,SAAA,EAAA,IAAA,EAAA,0BAA0B,4PAF1B,CAACD,qCAAmC,EAAED,yBAAuB,CAAC,0BC5B3E,glFAuDQ,EAAA,MAAA,EAAA,CAAA,s2BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,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,EAAAU,+BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,SAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDzBK,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBANtC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGX,SAAA,EAAA,CAACT,qCAAmC,EAAED,yBAAuB,CAAC,EAAA,QAAA,EAAA,glFAAA,EAAA,MAAA,EAAA,CAAA,s2BAAA,CAAA,EAAA,CAAA;0EAS/D,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAEE,2BAA2B,EAAA,CAAA;sBAAnC,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAEG,GAAG,EAAA,CAAA;sBAAX,KAAK;;;MEnCK,wBAAwB,CAAA;AAqDnC,IAAA,WAAA,CACU,QAAkB,EAAA;AAAlB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AApD5B,QAAA,IAAW,CAAA,WAAA,GAAG,EAAS,CAAC;AAIxB,QAAA,IAAM,CAAA,MAAA,GAAa,EAAE,CAAC;AAEtB,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAgBtB,QAAA,IAAW,CAAA,WAAA,GAAW,SAAS,CAAC;AAQ/B,QAAA,IAAc,CAAA,cAAA,GAAW,cAAc,CAAC;AACxC,QAAA,IAAA,CAAA,iBAAiB,GAAY,IAAI,CAAC;AAClC,QAAA,IAAA,CAAA,eAAe,GAAY,KAAK,CAAC;AACjC,QAAA,IAAA,CAAA,yBAAyB,GAAY,IAAI,CAAC;AAC1C,QAAA,IAAY,CAAA,YAAA,GAAY,IAAI,CAAC;AAC7B,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;AAEhC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAO,CAAC;AACjC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AAE7C,QAAA,IAAgB,CAAA,gBAAA,GAAW,EAAE,CAAC;AAC9B,QAAA,IAAe,CAAA,eAAA,GAAW,EAAE,CAAC;AAErB,QAAA,IAAmB,CAAA,mBAAA,GAAY,KAAK,CAAC;AAE7C,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;AAC5B,QAAA,IAAgB,CAAA,gBAAA,GAAW,CAAC,CAAC;AAC7B,QAAA,IAAA,CAAA,cAAc,GAAW,EAAE,CAAC;AA2L5B,QAAA,IAAK,CAAA,KAAA,GAAY,IAAI,CAAC;AACtB,QAAA,IAAe,CAAA,eAAA,GAAQ,SAAS,CAAC;KAxL5B;IA1CL,IAAa,IAAI,CAAC,IAAS,EAAA;;KAE1B;IACD,IAAI,IAAI,KAAS,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;IAGrC,IAAa,OAAO,CAAC,OAAY,EAAA;;KAEhC;IACD,IAAI,OAAO,KAAS,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE;IAG3C,IAAa,UAAU,CAAC,CAAS,EAAA;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;AAC/B,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;AACtB,SAAA;KACF;IACD,IAAI,UAAU,KAAW,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE;IA2BnD,QAAQ,GAAA;QACN,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;AAC7C,gBAAA,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAC;oBAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;wBACzB,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE;4BAC7C,IAAI;gCACF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,IAAI,CAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAE,CAAA,CAAE,CAAC;AACrE,6BAAA;4BAAC,OAAO,KAAK,EAAE,GAAE;AACnB,yBAAA;AAAI,6BAAA;AACH,4BAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,yBAAA;AACD,wBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;AACjC,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,sBAAsB,EAAE,GAAG,KAAK,CAAC;YAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;AAClB,SAAC,CAAC,CAAC;KACJ;IAED,sBAAsB,GAAA;QACpB,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,IAAI,GAAG,KAAK,CAAC;AACjB,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;AAC7C,YAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;AAC1B,YAAA,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAC;gBAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE;oBAClC,KAAK,GAAG,IAAI,CAAC;AACb,oBAAA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnE,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC7D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AACrD,iBAAA;gBACD,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE;oBACjC,IAAI,GAAG,IAAI,CAAC;AACZ,oBAAA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACnE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AACpD,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,CAAE,KAAK,IAAI,IAAI,IAAK,IAAI,GAAG,KAAK,CAAC;KACzC;AAED,IAAA,aAAa,CAAC,CAAS,EAAA;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACzB,QAAA,OAAO,EAAE,CAAC,CAAC,CAAC;KACb;AAED,IAAA,UAAU,CAAC,CAAS,EAAA;QAClB,IAAI,GAAG,GAAG,GAAG,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3B,GAAG,GAAG,IAAI,CAAC;AACZ,SAAA;AACD,QAAA,OAAO,GAAG,CAAC;KACZ;AAGD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAEhC,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE;YAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC;AAC1C,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;AACvB,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,IAAI,EAAE,CAAC;AACb,aAAA;AACF,SAAA;AAED,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;YACjC,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC;AAChD,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;AAC7B,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,IAAI,EAAE,CAAC;AACb,aAAA;AACF,SAAA;KACF;IAEO,IAAI,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;AAC7B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,YAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;gBAC7C,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAqB,KAAI;AAC/C,oBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAChC,iBAAC,CAAC,CAAC;AACJ,aAAA;;AAED,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AAC3B,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,aAAA;AAED,YAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,EAAE;gBAClD,IAAI,CAAC,YAAY,EAAE,CAAC;AACrB,aAAA;AACF,SAAA;KACF;AAEO,IAAA,SAAS,CAAC,IAAS,EAAA;QACzB,IAAI,IAAI,CAAC,yBAAyB,EAAE;AAClC,YAAA,MAAM,CAAC,GAAG,CAAE,CAAE,CAAC,CAAA,EAAG,IAAI,CAAA,CAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAG,IAAI,EAAE,EAAG,WAAW,EAAE,CAAC;AACpG,YAAA,OAAO,CAAC,CAAC;AACV,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;YAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;AACb,SAAA;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;IAEO,iBAAiB,GAAA;AACvB,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;YACnC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAqB,EAAE,CAAS,KAAI;gBAErD,IAAI,MAAM,CAAC,KAAK,EAAE;oBAAE,QAAO,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAAE,iBAAA;gBAC/C,IAAI,MAAM,CAAC,WAAW,EAAE;oBAAE,QAAO,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAAE,iBAAA;gBAC3D,IAAI,MAAM,CAAC,WAAW,EAAE;oBAAE,QAAO,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAAE,iBAAA;gBAE3D,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,KAAK,EAAE,KAAK,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AACtG,oBAAA,QAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,iBAAA;AACD,gBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AAC7B,oBAAA,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;AACtB,wBAAA,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;AAC3B,qBAAA;AACF,iBAAA;AAEH,aAAC,CAAC,CAAC;AACJ,SAAA;;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAClC;IAGO,cAAc,CAAC,GAAQ,EAAE,IAAS,EAAA;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,GAAG,CAAC;AAClB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,YAAA,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAEzB,YAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,gBAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,gBAAA,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE;AAC5D,oBAAA,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,iBAAA;AACF,aAAA;AAGD,YAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACvC,gBAAA,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,oBAAA,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjE,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,wBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,qBAAA;AACF,iBAAA;AACD,gBAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACxB,oBAAA,OAAO,SAAS,CAAC;AAClB,iBAAA;AACD,gBAAA,OAAO,OAAO,CAAC;AAChB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;AAC1C,oBAAA,OAAO,SAAS,CAAC;AAClB,iBAAA;AACD,gBAAA,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBACvB,IAAI,OAAO,KAAK,SAAS,EAAE;AACzB,oBAAA,OAAO,SAAS,CAAC;AAClB,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAChB;AAQD,IAAA,aAAa,CAAE,UAAe,EAAA;;AAE5B,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;YAE7C,IAAI,KAAK,GAAG,EAAS,CAAC;AACtB,YAAA,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;AAE5B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAE9C,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE;AAC3E,oBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA,EAAA,GAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAM,CAAC;AACnD,oBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAA,EAAA,GAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAM,CAAC;AACxD,oBAAA,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,CAAA,EAAA,GAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAM,CAAC;AACjE,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACvC,iBAAA;gBAED,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE;AAC1E,oBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA,EAAA,GAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAK,CAAC;AAClD,oBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAA,EAAA,GAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAK,CAAC;AACvD,oBAAA,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,CAAA,EAAA,GAAA,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAK,CAAC;AAC/D,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACvC,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,aAAA;AAEF,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KAEpB;AAED,IAAA,mBAAmB,CAAC,UAAkB,EAAA;QACpC,IAAI;AACF,YAAA,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAA,EAAG,GAAG,CAAA,EAAG,GAAG,CAAG,EAAA,GAAG,CAAE,CAAA,CAAC,CAAC;AAChC,SAAA;QAAC,OAAO,KAAK,EAAE,GAAE;AAClB,QAAA,OAAO,CAAC,CAAC;KACV;IAED,QAAQ,CAAC,IAAmB,EAAE,KAAW,EAAA;;AAIvC,QAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAEjC,IAAI,OAAO,GAAG,IAAI,CAAC;AAEnB,QAAA,IAAI,KAAK,KAAK,MAAM,IAAI,OAAO,EAAE;YAC/B,OAAO,GAAG,KAAK,CAAC;AAChB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,SAAA;AAED,QAAA,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,EAAE;YACzC,OAAO,GAAG,KAAK,CAAC;AAChB,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,SAAA;AAED,QAAA,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,IAAI,OAAO,EAAE;YACpE,OAAO,GAAG,KAAK,CAAC;AAChB,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,SAAA;QAED,IAAI,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,cAAc,KAAK,OAAO,EAAE;YACrC,OAAO,GAAG,KAAK,CAAC;YAChB,IAAI,CAAC,UAAU,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,UAAU,CAAC;AACpC,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,SAAA;AAED,QAAA,IAAG,CAAA,CAAA,EAAA,GAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,KAAI,OAAO,EAAE;YAClC,OAAO,GAAG,KAAK,CAAC;AAChB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrD,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,SAAA;AAED,QAAA,IAAG,CAAA,CAAA,EAAA,GAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,MAAM,0CAAE,KAAK,MAAK,EAAE,IAAI,OAAO,EAAE;YACzC,OAAO,GAAG,KAAK,CAAC;AAChB,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,SAAA;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE;YAC5C,OAAO,GAAG,KAAK,CAAC;AAChB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,mBAAmB,CAAE,IAAI,CAAC,KAAK,CAAE,EAAE,CAAC;AAC9D,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,mBAAmB,EAAE;AACtD,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;AAC3C,YAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;AAClC,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC1B,SAAA;KACF;IAGD,YAAY,GAAA;AACV,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AAE3C,YAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAE3B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAEpC,gBAAA,IAAI,WAAW,CAAC,UAAU,IAAI,QAAQ,WAAW,CAAC,UAAU,CAAC,KAAK,QAAQ,IAAI,WAAW,CAAC,UAAU,KAAK,EAAE,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,EAAE;oBACnM,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAChE,oBAAA,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AACzE,oBAAA,IAAI,UAAU,EAAE;AACd,wBAAA,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACxC,wBAAA,IAAI,EAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,WAAW,CAAC,UAAU,CAAE,EAAE;AAC7F,4BAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7B,yBAAA;AACF,qBAAA;AAAI,yBAAA;AACH,wBAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7B,qBAAA;AACF,iBAAA;AAGD,gBAAA,IAAI,WAAW,CAAC,UAAU,IAAK,WAAW,CAAC,UAAU,YAAY,IAAI,IAAI,CAAC,KAAK,CAAE,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,EAAE;AACjK,oBAAA,IAAI,UAAU,GAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAE9E,IAAI;AAAE,wBAAA,UAAU,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;AAAE,qBAAA;oBAAC,OAAO,KAAK,EAAE,GAAE;AAC3D,oBAAA,IAAI,UAAU,IAAK,UAAU,YAAY,IAAI,IAAI,CAAC,KAAK,CAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE;wBAC9E,IAAI,SAAS,GAAG,KAAK,CAAC;wBACtB,MAAM,SAAS,GAAK,CAAC,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;wBAC9E,MAAM,UAAU,GAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;wBAC3C,IAAI,WAAW,CAAC,SAAS,EAAE;4BACzB,QAAQ,WAAW,CAAC,SAAS;gCAC3B,KAAK,WAAW,CAAC,EAAE;AAAK,oCAAA,SAAS,GAAG,EAAG,EAAE,SAAS,CAAC,GAAI,EAAE,UAAU,CAAC,CAAE,CAAC;oCAAE,MAAM;gCAC/E,KAAK,WAAW,CAAC,EAAE;AAAK,oCAAA,SAAS,GAAG,EAAG,EAAE,SAAS,CAAC,GAAI,EAAE,UAAU,CAAC,CAAE,CAAC;oCAAE,MAAM;gCAC/E,KAAK,WAAW,CAAC,GAAG;AAAI,oCAAA,SAAS,GAAG,EAAG,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAE,CAAC;oCAAE,MAAM;gCAC/E,KAAK,WAAW,CAAC,GAAG;AAAI,oCAAA,SAAS,GAAG,EAAG,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAE,CAAC;oCAAE,MAAM;gCAC/E,KAAK,WAAW,CAAC,KAAK;AAAE,oCAAA,SAAS,GAAG,EAAG,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAE,CAAC;oCAAE,MAAM;AAChF,gCAAA,SAAS,SAAS,GAAG,EAAG,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAE,CAAC;AACzD,6BAAA;AACF,yBAAA;AAAI,6BAAA;AACH,4BAAA,SAAS,GAAG,EAAG,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAE,CAAC;AAC9D,yBAAA;wBACD,IAAI,CAAC,SAAS,EAAE;AACd,4BAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7B,yBAAA;AACF,qBAAA;AACF,iBAAA;AAID,gBAAA,IAAI,WAAW,CAAC,UAAU,IAAI,OAAO,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,QAAQ,KAAM,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAAE,EAAE;oBACvK,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AACxD,oBAAA,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;AACzE,oBAAA,IAAI,OAAO,EAAE,UAAU,CAAC,KAAK,QAAQ,EAAE;AACrC,wBAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;wBAChC,IAAI,SAAS,GAAG,KAAK,CAAC;wBACtB,IAAI,WAAW,CAAC,SAAS,EAAE;4BACzB,QAAQ,WAAW,CAAC,SAAS;gCAC3B,KAAK,WAAW,CAAC,EAAE;AAAK,oCAAA,SAAS,GAAG,EAAG,EAAE,WAAW,CAAC,UAAU,CAAC,GAAI,EAAE,UAAU,CAAC,CAAE,CAAC;oCAAE,MAAM;gCAC5F,KAAK,WAAW,CAAC,EAAE;AAAK,oCAAA,SAAS,GAAG,EAAG,EAAE,WAAW,CAAC,UAAU,CAAC,GAAI,EAAE,UAAU,CAAC,CAAE,CAAC;oCAAE,MAAM;gCAC5F,KAAK,WAAW,CAAC,GAAG;AAAI,oCAAA,SAAS,GAAG,EAAG,EAAE,WAAW,CAAC,UAAU,CAAC,GAAC,IAAI,IAAI,EAAE,UAAU,CAAC,CAAE,CAAC;oCAAC,MAAM;gCAChG,KAAK,WAAW,CAAC,GAAG;AAAI,oCAAA,SAAS,GAAG,EAAG,EAAE,WAAW,CAAC,UAAU,CAAC,GAAC,IAAI,IAAI,EAAE,UAAU,CAAC,CAAE,CAAC;oCAAE,MAAM;gCACjG,KAAK,WAAW,CAAC,KAAK;AAAE,oCAAA,SAAS,GAAG,EAAG,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAE,CAAC;oCAAE,MAAM;AAC7F,gCAAA,SAAS,SAAS,GAAG,EAAG,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAE,CAAC;AACtE,6BAAA;AACF,yBAAA;AAAI,6BAAA;AACH,4BAAA,SAAS,GAAG,EAAG,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAE,CAAC;AAC9D,yBAAA;wBACD,IAAI,CAAC,SAAS,EAAE;AACd,4BAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7B,yBAAA;AACF,qBAAA;AACF,iBAAA;AAGD,gBAAA,IAAI,QAAQ,WAAW,CAAC,UAAU,CAAC,KAAK,SAAS,IAAI,WAAW,CAAC,UAAU,EAAE;AAC3E,oBAAA,IAAI,UAAU,GAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAE9E,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE;wBACzC,IAAI,WAAW,GAAG,CAAC,CAAC;AACpB,wBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9C,4BAAA,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC3B,4BAAA,IAAI,IAAI,KAAK,WAAW,CAAC,UAAU,EAAE;AACnC,gCAAA,WAAW,EAAE,CAAC;AACf,6BAAA;AACF,yBAAA;wBACD,IAAI,WAAW,KAAK,CAAC,EAAE;AACrB,4BAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7B,yBAAA;AACF,qBAAA;AAAI,yBAAA;wBACH,IAAI,EAAG,UAAU,KAAK,WAAW,CAAC,UAAU,CAAE,EAAE;AAC9C,4BAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7B,yBAAA;AACF,qBAAA;AACF,iBAAA;AAEF,aAAA;AAEF,SAAA;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;KAEjB;IAEO,QAAQ,GAAA;QAGd,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9C,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,EAAE;gBACnE,SAAS,GAAG,IAAI,CAAC;AAClB,aAAA;AACF,SAAA;AAED,QAAA,IAAI,SAAS,EAAE;AACb,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE;AACjE,oBAAA,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAK,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC;YACtC,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAK,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC;KACvC;IAED,YAAY,CAAC,KAAa,EAAE,KAAc,EAAA;QACxC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC;AAC9C,SAAA;KACF;AAED,IAAA,aAAa,CAAC,IAAS,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE;AACtD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,gBAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACpC,aAAA;AACF,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxB;;sHAxeU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,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,SAAA,EAAA,IAAA,EAAA,wBAAwB,2kBCVrC,qlSA2JG,EAAA,MAAA,EAAA,CAAA,6rBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,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,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,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,EAAAU,+BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,SAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,SAAA,EAAA,eAAA,EAAA,WAAA,EAAA,WAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,6BAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDjJU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,qlSAAA,EAAA,MAAA,EAAA,CAAA,6rBAAA,CAAA,EAAA,CAAA;+FAQF,WAAW,EAAA,CAAA;sBAArC,SAAS;uBAAC,aAAa,CAAA;gBASX,IAAI,EAAA,CAAA;sBAAhB,KAAK;gBAMO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAMO,UAAU,EAAA,CAAA;sBAAtB,KAAK;gBAOG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,yBAAyB,EAAA,CAAA;sBAAjC,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAEI,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;;;MEhCI,wBAAwB,CAAA;;sHAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;uHAAxB,wBAAwB,EAAA,YAAA,EAAA,CAXjC,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAM3B,YAAY;QACZ,WAAW;QACX,mBAAmB,aALnB,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAQlB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,YALjC,YAAY;QACZ,WAAW;QACX,mBAAmB,CAAA,EAAA,CAAA,CAAA;4FAGV,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,2BAA2B;AAC5B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;AACpB,qBAAA;iBACF,CAAA;;;MCGY,4BAA4B,CAAA;;0HAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2HAA5B,4BAA4B,EAAA,YAAA,EAAA,CAbrC,+BAA+B,CAAA,EAAA,OAAA,EAAA,CAM/B,YAAY;QACZ,wBAAwB;QACxB,WAAW;QACX,mBAAmB;QACnB,sBAAsB,aAPtB,+BAA+B,CAAA,EAAA,CAAA,CAAA;AAUtB,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,YAPrC,YAAY;QACZ,wBAAwB;QACxB,WAAW;QACX,mBAAmB;QACnB,sBAAsB,CAAA,EAAA,CAAA,CAAA;4FAGb,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAfxC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,+BAA+B;AAChC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,+BAA+B;AAChC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,wBAAwB;wBACxB,WAAW;wBACX,mBAAmB;wBACnB,sBAAsB;AACvB,qBAAA;iBACF,CAAA;;;MCMY,qBAAqB,CAAA;;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,iBAf9B,wBAAwB;AACxB,QAAA,0BAA0B,aAO1B,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,4BAA4B;AAC5B,QAAA,wBAAwB,aARxB,wBAAwB;QACxB,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAUjB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAP9B,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,4BAA4B;QAC5B,wBAAwB,CAAA,EAAA,CAAA,CAAA;4FAGf,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAjBjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,4BAA4B;wBAC5B,wBAAwB;AACzB,qBAAA;iBACF,CAAA;;;MCtBY,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;AAOU,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAW,CAAC;QACvC,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;AAE/C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAW,CAAC;QACxC,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;AAEjD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAW,CAAC;QACzC,IAAA,CAAA,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KA4B5D;AAzBC,IAAA,MAAM,CAAC,MAAe,EAAA;AACpB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAE,MAAM,CAAE,CAAC;KAClC;IAED,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAED,IAAA,UAAU,CAAC,OAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAClC;IAED,OAAO,GAAA;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;AAED,IAAA,WAAW,CAAC,QAAiB,EAAA;AAC3B,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAE,QAAQ,CAAE,CAAC;KACtC;IAED,WAAW,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;;sHAvCU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;0HAAxB,wBAAwB,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;;;MCSE,0BAA0B,CAAA;AA2CrC,IAAA,WAAA,CACU,yBAAmD,EAAA;AAAnD,QAAA,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAA0B;AAvCrD,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAa3B,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;AAarB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAkB,CAAC;AAEhD,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;KAY7B;IAvCL,IAAa,QAAQ,CAAC,CAAU,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,UAAU,CAAC,MAAK;gBACd,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC3D,gBAAA,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/C,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IACD,IAAI,QAAQ,KAAI,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;IAIxC,IAAa,IAAI,CAAC,CAAU,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AACf,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,gBAAA,UAAU,CAAC,QAAQ,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1E,aAAA;AACF,SAAA;KACF;IAED,IAAI,IAAI,KAAI,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;AAMhC;;AAEG;IACH,IAAa,OAAO,CAAC,OAAgB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,QAAA,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KACpD;IACD,IAAI,OAAO,KAAc,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE;IAMhD,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAgB,KAAI;AACjG,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACzB,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAa,KAAI;AAC7F,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,GAAG,OAAO,CAAE,CAAC;AAC3D,SAAC,CAAC,CAAA;KAEH;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,eAAe,EAAE;AAAE,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;QACjE,IAAI,IAAI,CAAC,eAAe,EAAE;AAAE,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;KAClE;;wHA9DU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,wBAAA,EAAA,CAAA,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,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAJ1B,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA;QACT,wBAAwB;AACzB,KAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVH,gHAEM,EAAA,MAAA,EAAA,CAAA,yJAAA,CAAA,EAAA,CAAA,CAAA;4FDUO,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBARtC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAGpB,SAAA,EAAA;wBACT,wBAAwB;qBACzB,EAAA,QAAA,EAAA,gHAAA,EAAA,MAAA,EAAA,CAAA,yJAAA,CAAA,EAAA,CAAA;4GAQY,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAaO,IAAI,EAAA,CAAA;sBAAhB,KAAK;gBAYI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAMM,OAAO,EAAA,CAAA;sBAAnB,KAAK;;;MExCK,+BAA+B,CAAA;AAW1C,IAAA,WAAA,CACU,yBAAmD,EAAA;AAAnD,QAAA,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAA0B;AAN7D,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK,CAAC;AACtB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;KAKrB;IAEL,QAAQ,GAAA;QAEN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC;AACpE,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAgB,KAAI;AACjG,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACzB,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC;AAC9D,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAa,KAAI;AAC7F,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC;AACtE,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAiB,KAAI;AACnG,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC3B,SAAC,CAAC,CAAC;KAEJ;IAED,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;AAAE,SAAA;AAE9B,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAElD;IAED,YAAY,GAAA;QACV,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,eAAe,EAAE;AAAE,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;QACjE,IAAI,IAAI,CAAC,eAAe,EAAE;AAAE,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;QACjE,IAAI,IAAI,CAAC,eAAe,EAAE;AAAE,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;AAAE,SAAA;KAClE;;6HAlDU,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,iECT5C,6oBAgBM,EAAA,MAAA,EAAA,CAAA,kWAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAjB,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDPO,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;+BACE,2BAA2B,EAAA,QAAA,EAAA,6oBAAA,EAAA,MAAA,EAAA,CAAA,kWAAA,CAAA,EAAA,CAAA;;;MEG1B,8BAA8B,CAAA;AAIzC,IAAA,WAAA,CACU,yBAAmD,EAAA;AAAnD,QAAA,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAA0B;AAH7D,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK,CAAC;KAIjB;IAEL,QAAQ,GAAA;QAEN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC;QAC9D,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAa,KAAI;AACtE,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACnB,SAAC,CAAC,CAAA;KAEH;;4HAfU,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAiB,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,gECR3C,4HAEM,EAAA,MAAA,EAAA,CAAA,6FAAA,CAAA,EAAA,CAAA,CAAA;4FDMO,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,SAAS;+BACE,0BAA0B,EAAA,QAAA,EAAA,4HAAA,EAAA,MAAA,EAAA,CAAA,6FAAA,CAAA,EAAA,CAAA;;;MEmBzB,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBAbhC,0BAA0B;QAC1B,+BAA+B;QAC/B,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAQ9B,YAAY,CAAA,EAAA,OAAA,EAAA,CALZ,0BAA0B;QAC1B,+BAA+B;QAC/B,8BAA8B,CAAA,EAAA,CAAA,CAAA;AAMrB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAHhC,YAAY,CAAA,EAAA,CAAA,CAAA;4FAGH,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAfnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;wBAC1B,+BAA+B;wBAC/B,8BAA8B;AAC/B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;wBAC1B,+BAA+B;wBAC/B,8BAA8B;AAC/B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;iBACF,CAAA;;;MChBY,sBAAsB,CAAA;IAWjC,WACU,CAAA,EAAc,EACd,QAAmB,EAAA;AADnB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;AACd,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAXrB,QAAA,IAAU,CAAA,UAAA,GAA+B,OAAO,CAAC;KAYnD;IAVN,IAAa,OAAO,CAAE,SAAc,EAAA;AAClC,QAAA,IAAI,SAAS,EAAC;AACZ,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;AACtC,SAAA;KACF;IAOD,QAAQ,GAAA;KAEP;AAED,IAAA,QAAQ,CAAC,EAAO,EAAA;AACd,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AACpD,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AACtD,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE;YAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AACrD,SAAA;KACF;;oHAhCU,sBAAsB,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;wGAAtB,sBAAsB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;iBACtB,CAAA;yHAKc,OAAO,EAAA,CAAA;sBAAnB,KAAK;;;MCJK,4BAA4B,CAAA;AAKvC,IAAA,WAAA,CACU,QAAmB,EAAA;AAAnB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;KACzB;IAEuB,WAAW,GAAA;AACpC,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACrB,YAAA,MAAM,EAAE,GAAS,IAAI,CAAC,UAAU,EAAE,CAAC;AACnC,YAAA,IAAI,EAAE,EAAE;gBACN,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,CAAC;AAC/E,aAAA;AACF,SAAA;KACF;IAEyB,UAAU,GAAA;AAClC,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACrB,YAAA,MAAM,EAAE,GAAS,IAAI,CAAC,UAAU,EAAE,CAAC;AACnC,YAAA,IAAI,EAAE,EAAE;gBACN,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,CAAC;AAClF,aAAA;AAEF,SAAA;KACF;IAED,IAAa,aAAa,CAAE,EAAU,EAAA;AACpC,QAAA,IAAI,EAAE,EAAC;AAAE,YAAA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;AAAE,SAAA;KACzB;IAED,IAAa,kBAAkB,CAAE,IAAS,EAAA;AACxC,QAAA,IAAI,IAAI,EAAC;AACP,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACnB,SAAA;KACF;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC;AACxD,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;;0HA3CU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;8GAA5B,4BAA4B,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAHxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;iBAC5B,CAAA;gGAU4B,WAAW,EAAA,CAAA;sBAArC,YAAY;uBAAC,WAAW,CAAA;gBASC,UAAU,EAAA,CAAA;sBAAnC,YAAY;uBAAC,UAAU,CAAA;gBAUX,aAAa,EAAA,CAAA;sBAAzB,KAAK;gBAIO,kBAAkB,EAAA,CAAA;sBAA9B,KAAK;;;MChCK,wBAAwB,CAAA;IAiFnC,WACU,CAAA,EAAc,EACd,QAAmB,EAAA;AADnB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;AACd,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAjFrB,QAAA,IAAU,CAAA,UAAA,GAAwC,KAAK,CAAC;;AAKhE,QAAA,IAAS,CAAA,SAAA,GAAW,CAAC,CAAC;AACtB,QAAA,IAAQ,CAAA,QAAA,GAAW,CAAC,CAAC;AACrB,QAAA,IAAS,CAAA,SAAA,GAAW,CAAC,CAAC;AACtB,QAAA,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;;AAIxB,QAAA,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;AAC1B,QAAA,IAAY,CAAA,YAAA,GAAW,CAAC,CAAC;AACzB,QAAA,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;AAE1B,QAAA,IAAE,CAAA,EAAA,GAAW,EAAE,CAAC;AAiDhB,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;KAiBjB;IAhEqB,WAAW,GAAA;AACpC,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AAE9D,YAAA,MAAM,EAAE,GAAS,IAAI,CAAC,UAAU,EAAE,CAAC;AACnC,YAAA,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;YAC5B,UAAU,CAAC,MAAK;;gBACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC;gBACpD,IAAI,CAAC,QAAQ,GAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC;gBACnD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAEnC,MAAM,IAAI,GAAI,CAAA,EAAA,GAAA,IAAI,CAAC,EAAE,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,qBAAqB,EAAE,CAAC;AAC7D,gBAAA,IAAI,CAAC,WAAW,GAAG,CAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,IAAI,KAAI,CAAC,CAAC;;;;AAMnC,gBAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC;AACrC,gBAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,WAAW,CAAC;gBACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;;;;;gBAO3C,QAAQ,IAAI,CAAC,UAAU;AACrB,oBAAA,KAAK,KAAK;AAAE,wBAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAAC,MAAM;AACnC,oBAAA,KAAK,QAAQ;AAAE,wBAAA,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;wBAAC,MAAM;AACzC,oBAAA,KAAK,MAAM;AAAE,wBAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBAAC,MAAM;AACrC,oBAAA,KAAK,OAAO;AAAE,wBAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAAC,MAAM;AACxC,iBAAA;AACH,aAAC,CAAC,CAAC;AAGJ,SAAA;KACF;IAEyB,UAAU,GAAA;AAClC,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACrB,YAAA,MAAM,EAAE,GAAS,IAAI,CAAC,UAAU,EAAE,CAAC;AACnC,YAAA,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAC1B,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AAClE,SAAA;KACF;IAID,IAAa,SAAS,CAAE,OAAY,EAAA;AAClC,QAAA,IAAI,OAAO,EAAC;AACV,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACrB,SAAA;KACF;IAED,IAAa,WAAW,CAAE,SAAc,EAAA;AACtC,QAAA,IAAI,SAAS,EAAC;AACZ,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC7B,SAAA;KACF;IAOD,QAAQ,GAAA;KAEP;IAED,UAAU,GAAA;QACR,OAAO,CAAA,WAAA,EAAc,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CAAC;KAC3F;IAED,UAAU,GAAA;QACR,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC;KACtD;AAED,IAAA,KAAK,CAAC,OAAY,EAAA;AAChB,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AAE5B,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;AAEzB,QAAA,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;AAC/B,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAClB,QAAA,IAAI,EAAE,EAAC;AACL,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAClC,SAAA;AAAI,aAAA;YACH,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAA;AACzD,SAAA;KACF;AAED,IAAA,QAAQ,CAAC,EAAO,EAAA;;;KAGf;IAED,cAAc,CAAC,GAAQ,EAAE,EAAO,EAAA;AAE9B,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAElB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AACpC,QAAA,OAAO,CAAC,YAAY,CAAC,OAAO,EAAC,CAAA;;;;;;;;;;;AAWjB,cAAA,EAAA,IAAI,CAAC,WAAW,CAAA;AAClB,YAAA,EAAA,IAAI,CAAC,aAAa,CAAA;AAC3B,IAAA,CAAA,CAAC,CAAC;AACH,QAAA,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;AAExB,QAAA,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KAChC;AAED,IAAA,MAAM,CAAC,EAAO,EAAA;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,CAAE;AACnD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,EAAC,EAAA,CAAI,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAC,EAAA,CAAI,CAAC,CAAC;AAClE,QAAA,EAAE,CAAC,YAAY,CAAC,OAAO,EAAC,+CAA+C,CAAC,CAAC;KAE1E;AAED,IAAA,SAAS,CAAC,EAAO,EAAA;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,CAAE;AACnD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAG,EAAC,EAAA,CAAI,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,aAAa,GAAG,CAAC,EAAC,EAAA,CAAI,CAAC,CAAC;AACvE,QAAA,EAAE,CAAC,YAAY,CAAC,OAAO,EAAC,kDAAkD,CAAC,CAAC;KAE7E;AAED,IAAA,QAAQ,CAAC,EAAO,EAAA;AACd,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAA,GAAI,GAAG,GAAG,EAAE,EAAE,EAAA,CAAI,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAA,CAAA,GAAM,CAAC,CAAC,IAAI,CAAC,aAAa,IAAE,CAAC,KAAK,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC,EAAE,EAAA,CAAI,CAAC,CAAC;AAChG,QAAA,EAAE,CAAC,YAAY,CAAC,OAAO,EAAC,iDAAiD,CAAC,CAAC;KAC5E;AAED,IAAA,OAAO,CAAC,EAAO,EAAA;QACb,MAAM,GAAG,GAAG,GAAI,IAAI,CAAC,YAAY,EAAG,CAAC;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAA,GAAI,GAAG,GAAG,EAAE,EAAC,EAAA,CAAI,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAA,CAAA,GAAM,CAAC,CAAC,IAAI,CAAC,aAAa,IAAE,CAAC,KAAK,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC,EAAE,EAAA,CAAI,CAAC,CAAC;AAChG,QAAA,EAAE,CAAC,YAAY,CAAC,OAAO,EAAC,gDAAgD,CAAC,CAAC;KAC3E;;sHA1KU,wBAAwB,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;0GAAxB,wBAAwB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,eAAA,EAAA,UAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;iBACxB,CAAA;yHAqB4B,WAAW,EAAA,CAAA;sBAArC,YAAY;uBAAC,WAAW,CAAA;gBAuCC,UAAU,EAAA,CAAA;sBAAnC,YAAY;uBAAC,UAAU,CAAA;gBAUX,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAMO,WAAW,EAAA,CAAA;sBAAvB,KAAK;;;MChEK,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBAVhC,wBAAwB;QACxB,sBAAsB;AACtB,QAAA,4BAA4B,aAG5B,wBAAwB;QACxB,sBAAsB;QACtB,4BAA4B,CAAA,EAAA,CAAA,CAAA;sHAGnB,uBAAuB,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,sBAAsB;wBACtB,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;wBACxB,sBAAsB;wBACtB,4BAA4B;AAC7B,qBAAA;iBACF,CAAA;;;MC0BY,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,iBA/B5B,aAAa;QACb,cAAc;QACd,cAAc;QACd,QAAQ;QACR,OAAO;QACP,SAAS;QACT,UAAU,CAAA,EAAA,OAAA,EAAA,CAVV,YAAY,CAAA,EAAA,OAAA,EAAA,CAaZ,QAAQ;QAER,aAAa;QACb,cAAc;QACd,cAAc;QACd,QAAQ;QACR,OAAO;QACP,SAAS;QACT,UAAU,CAAA,EAAA,CAAA,CAAA;AAcD,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAZnB,SAAA,EAAA;QACT,QAAQ;QAER,aAAa;QACb,cAAc;QACd,cAAc;QACd,QAAQ;QACR,OAAO;QACP,SAAS;QACT,UAAU;AACX,KAAA,EAAA,OAAA,EAAA,CAjCC,YAAY,CAAA,EAAA,CAAA,CAAA;4FAmCH,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBArC/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,YAAY,EAAE;wBAEZ,aAAa;wBACb,cAAc;wBACd,cAAc;wBACd,QAAQ;wBACR,OAAO;wBACP,SAAS;wBACT,UAAU;AACX,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,QAAQ;wBAER,aAAa;wBACb,cAAc;wBACd,cAAc;wBACd,QAAQ;wBACR,OAAO;wBACP,SAAS;wBACT,UAAU;AACX,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,QAAQ;wBAER,aAAa;wBACb,cAAc;wBACd,cAAc;wBACd,QAAQ;wBACR,OAAO;wBACP,SAAS;wBACT,UAAU;AACX,qBAAA;iBACF,CAAA;;;MCpCY,iCAAiC,CAAA;AAM1C,IAAA,WAAA,GAAA;AAFQ,QAAA,IAAE,CAAA,EAAA,GAAW,+BAA+B,CAAC;KAGjD;AAEJ;;AAEG;IACH,KAAK,GAAA;QACD,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7C,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAH,GAAG,CAAE,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACjD,SAAA;KACJ;AAED;;AAEG;IACH,IAAI,GAAA;QACA,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7C,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAH,GAAG,CAAE,SAAS,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAEjD,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,YAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC;AAC/D,SAAA;KACJ;IAEO,yBAAyB,GAAA;QAC7B,IAAI,GAAG,GAAG,IAAW,CAAC;QACtB,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAClC,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1C,SAAA;AAAI,aAAA;AACD,YAAA,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;AAEnC,SAAA;AAED,QAAA,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAC3B,QAAA,GAAG,CAAC,SAAS,GAAG,CAAA,yEAAA,CAA2E,CAAC;QAE5F,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;KAC5D;;+HAjDQ,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjC,iCAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,cAFhC,MAAM,EAAA,CAAA,CAAA;4FAEP,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAH7C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACDD,MAAO,uBAAuB,GAAQ;AACpC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gCAAgC,CAAC;AAC/D,IAAA,KAAK,EAAE,IAAI;CACZ,CAAA;AAED,MAAM,mCAAmC,GAAQ;AAC/C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gCAAgC,CAAC;AAC/D,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAM,IAAI,GAAG,MAAK;AAClB,CAAC,CAAC;MAQW,gCAAgC,CAAA;AAuC3C,IAAA,WAAA,GAAA;AArCA,QAAA,IAAc,CAAA,cAAA,GAAW,CAAC,CAAC;AAC3B,QAAA,IAAe,CAAA,eAAA,GAAW,CAAC,CAAC;AAC5B,QAAA,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;AACvB,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AACvB,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AACzB,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAEzB,QAAA,IAAE,CAAA,EAAA,GAAW,EAAE,CAAC;AAChB,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;AAI5B,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAEzB,QAAA,IAAK,CAAA,KAAA,GAAG,EAAc,CAAC;AAUd,QAAA,IAAS,CAAA,SAAA,GAAW,GAAG,CAAC;AACxB,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AACzB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAEzB,QAAA,IAAM,CAAA,MAAA,GAAY,IAAI,CAAC;AACvB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAC3B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAEpC,QAAA,IAAuB,CAAA,uBAAA,GAAY,KAAK,CAAC;AAEzC,QAAA,IAAgB,CAAA,gBAAA,GAAW,EAAE,CAAC;;;AAkPtB,QAAA,IAAiB,CAAA,iBAAA,GAAe,IAAI,CAAC;AACrC,QAAA,IAAgB,CAAA,gBAAA,GAAqB,IAAI,CAAC;KAjPjC;IApBjB,IAAa,SAAS,CAAC,CAAkB,EAAA;AACvC,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACrB,SAAA;KACF;IACD,IAAI,SAAS,KAAqB,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE;IAiB3D,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,cAAc,GAAA;QACZ,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC;AACjD,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KACd;IAED,UAAU,GAAA;QACR,OAAO,CAAA,gBAAA,EAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAE,CAAC;KAChG;AAED,IAAA,iBAAiB,CAAC,KAAe,EAAA;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;KAC5B;AAED,IAAA,UAAU,CAAC,IAAS,EAAA;AAClB,QAAA,MAAM,KAAK,GAAG,CAAG,EAAA,IAAI,EAAE,CAAC;AACxB,QAAA,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;QACjC,IAAI,SAAS,GAAG,GAAG,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,EAAE;YAAE,SAAS,GAAG,GAAG,CAAC;AAAE,SAAA;QACxC,IAAI,SAAS,GAAG,EAAE,EAAE;YAAE,SAAS,GAAG,GAAG,CAAC;AAAE,SAAA;QACxC,IAAI,SAAS,GAAG,CAAC,EAAE;YAAE,SAAS,GAAG,EAAE,CAAC;AAAE,SAAA;QACtC,IAAI,SAAS,GAAG,CAAC,EAAE;YAAE,SAAS,GAAG,EAAE,CAAC;AAAE,SAAA;AACtC,QAAA,OAAO,EAAE,WAAW,EAAE,SAAS,GAAG,IAAI,EAAC,CAAC;KACzC;AAED,IAAA,sBAAsB,CAAC,CAAM,EAAA;AAC3B,QAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;IAED,SAAS,GAAA;QAEP,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;AAAE,SAAA;AAE9B,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAErC,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,QAAA,IAAI,WAAW,IAAI,WAAW,KAAK,EAAE,EAAE;YAErC,KAAK,GAAS,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAEnD,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE;AACxB,YAAA,IAAI,WAAW,IAAI,WAAW,KAAK,EAAE,EAAE;gBACrC,IAAI,GAAG,GAAG,CAAA,EAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAA,CAAE,CAAC;AACpC,gBAAA,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AACf,aAAA;AACF,SAAA;;AAID,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAC;AACtC,YAAA,IAAI,GAAG,GAAG,CAAG,EAAA,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;YAEjC,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE;AACrB,oBAAA,GAAG,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC;AACjC,iBAAA;AACF,aAAA;YAED,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE;AACrB,oBAAA,GAAG,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE,CAAC;AACjC,iBAAA;AACF,aAAA;AAED,YAAA,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE;gBACrB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,aAAA;AAEF,SAAA;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,oBAAoB,GAAA;QAClB,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AAC/B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAC;AACtC,gBAAA,gBAAgB,IAAK,SAAS,GAAG,CAAA,EAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;AACxD,gBAAA,SAAS,GAAG,CAAG,EAAA,IAAI,CAAC,SAAS,GAAG,CAAC;AAClC,aAAA;AACF,SAAA;AACD,QAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,gBAAgB,KAAK,EAAE,IAAI,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;QACxF,IAAI,CAAC,eAAe,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;IAGD,UAAU,CAAC,IAAS,EAAE,KAAa,EAAA;QACjC,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;AAAE,SAAA;QAC9B,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1B,gBAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE;oBAC/B,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM;AACP,iBAAA;AACF,aAAA;AACF,SAAA;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,UAAU,GAAA;QACR,IAAI,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO;AAAE,SAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,OAAO,GAAA;AACL,QAAA,MAAM,GAAG,GAAG,CAAA,KAAA,EAAQ,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAC,CAAC,CAAM,KAAI;;YAEzC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI;AACF,oBAAA,IAAI,EAAE,CAAA,EAAA,GAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE;wBACvD,IAAI,YAAY,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE;AACrD,4BAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACzB,yBAAA;;AAGF,qBAAA;AACF,iBAAA;AAAC,gBAAA,OAAO,KAAK,EAAE;AAEf,iBAAA;AAEF,aAAA;AACH,SAAC,CAAC,CAAC;AAEH,QAAA,MAAM,MAAM,GAAG,CAAA,EAAG,IAAI,CAAC,EAAE,UAAU,CAAC;KACrC;IAED,QAAQ,GAAA;AACN,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAK;AACrC,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;AACxC,YAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC;AAC1C,YAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAClD,SAAC,CAAC,CAAC;KACJ;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjD;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KACzB;AAED,IAAA,yBAAyB,CAAC,IAAa,EAAA;;AACrC,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACtB,YAAA,MAAM,EAAE,GAAG,CAAA,EAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AACxB,YAAA,MAAM,GAAG,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,EAAE,EAAE,CAAC;AAC7B,YAAA,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE;AAC9B,gBAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;AAC1C,aAAA;AACD,YAAA,MAAM,IAAI,GAAI,CAAA,EAAA,GAAA,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,qBAAqB,EAAE,CAAC;AACnE,YAAA,MAAM,YAAY,GAAG,CAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,MAAM,KAAI,CAAC,CAAC;YACvC,UAAU,CAAC,MAAK;;AACd,gBAAA,IAAI,CAAC,UAAU,GAAI,CAAA,MAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,KAAI,CAAC,CAAC;gBACnE,IAAI,CAAE,IAAI,CAAC,eAAe,GAAG,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE;AAC5D,oBAAA,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;AACjC,oBAAA,IAAI,CAAC,SAAS,GAAG,CAAA,MAAA,GAAW,IAAI,CAAC,UAAU,EAAiB,YAAA,EAAA,IAAI,CAAC,UAAU,KAAK,CAAC;AAClF,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAID,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACnB;AAED,IAAA,QAAQ,CAAC,CAAM,EAAA;QACb,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAEpE,IAAI,MAAM,GAAG,CAAE,CAAE,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAG,IAAI,EAAE,EAAG,WAAW,EAAE,CAAC;AACnG,QAAA,IAAI,EAAE,GAAS,QAAQ,CAAC,cAAc,CAAC,CAAG,EAAA,IAAI,CAAC,EAAE,CAAU,QAAA,CAAA,CAAC,CAAC;QAC7D,IAAI,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC1C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChC,YAAA,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAChB,YAAA,MAAM,QAAQ,GAAG,CAAE,CAAE,CAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,EAAG,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAG,IAAI,EAAE,EAAG,WAAW,EAAE,CAAC;YAChI,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/B,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;AAC5B,aAAA;AAAM,iBAAA;gBACH,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAChC,aAAA;AACJ,SAAA;KACF;IAkBD,eAAe,GAAA;QACb,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;AAGD,IAAA,YAAY,CAAC,CAAK,EAAA;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;;AASD,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;;;IAGD,IAAI,KAAK,CAAC,CAAM,EAAA;AACd,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;AACzB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACrB,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC1B,SAAA;KACF;;IAGD,MAAM,GAAA;QACJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;;AAGD,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC1B,SAAA;KACF;;AAGD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KAC5B;;AAGD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;AAIM,IAAA,QAAQ,CAAC,CAAc,EAAA;QAC5B,IAAI,CAAC,KAAM,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAE,EAAE;AACjD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;AACpC,YAAA,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,GAAG,UAAU,CAAC;AACpD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;IAGD,WAAW,GAAA;KAEV;;8HA5UU,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,gCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,+QAFhC,CAAC,mCAAmC,EAAE,uBAAuB,CAAC,0BCtB3E,m7UAqLM,EAAA,MAAA,EAAA,CAAA,05GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,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,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,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,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD7JO,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAN5C,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,EAG3B,SAAA,EAAA,CAAC,mCAAmC,EAAE,uBAAuB,CAAC,EAAA,QAAA,EAAA,m7UAAA,EAAA,MAAA,EAAA,CAAA,05GAAA,CAAA,EAAA,CAAA;0EAqB5D,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAOG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEnCK,6BAA6B,CAAA;;2HAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4HAA7B,6BAA6B,EAAA,YAAA,EAAA,CAZtC,gCAAgC,CAAA,EAAA,OAAA,EAAA,CAMhC,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,sBAAsB,aANtB,gCAAgC,CAAA,EAAA,CAAA,CAAA;AASvB,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YANtC,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,sBAAsB,CAAA,EAAA,CAAA,CAAA;4FAGb,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAdzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,gCAAgC;AACjC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,gCAAgC;AACjC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,sBAAsB;AACvB,qBAAA;iBACF,CAAA;;;MCdY,wBAAwB,CAAA;AASnC,IAAA,WAAA,GAAA;AAPS,QAAA,IAAM,CAAA,MAAA,GAAW,EAAE,CAAC;AACpB,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AACzB,QAAA,IAAI,CAAA,IAAA,GAA2B,OAAO,CAAC;AACvC,QAAA,IAAI,CAAA,IAAA,GAA2B,QAAQ,CAAC;KAGhC;IAEjB,QAAQ,GAAA;KACP;;sHAZU,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,SAAA,EAAA,IAAA,EAAA,wBAAwB,+JCPrC,stBAqBM,EAAA,MAAA,EAAA,CAAA,4eAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDdO,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,stBAAA,EAAA,MAAA,EAAA,CAAA,4eAAA,CAAA,EAAA,CAAA;0EAMpB,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MEIK,qBAAqB,CAAA;;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAT9B,YAAA,EAAA,CAAA,wBAAwB,CAMxB,EAAA,OAAA,EAAA,CAAA,YAAY,aAHZ,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAMf,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAH9B,YAAY,CAAA,EAAA,CAAA,CAAA;4FAGH,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;iBACF,CAAA;;;MC2EY,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YA3DnB,mBAAmB;QACnB,qBAAqB;QACrB,uBAAuB;QACvB,4BAA4B;QAC5B,yBAAyB;QACzB,sBAAsB;QACtB,wBAAwB;QACxB,0BAA0B;QAC1B,yBAAyB;QACzB,sBAAsB;QACtB,mBAAmB;QACnB,wBAAwB;QACxB,uBAAuB;QACvB,qBAAqB;QACrB,uBAAuB;QACvB,wBAAwB;QACxB,4BAA4B;QAC5B,6BAA6B;QAC7B,qBAAqB;;QAGrB,uBAAuB;;AAGvB,QAAA,mBAAmB,aAGnB,mBAAmB;QACnB,qBAAqB;QACrB,uBAAuB;QACvB,4BAA4B;QAC5B,yBAAyB;QACzB,sBAAsB;QACtB,wBAAwB;QACxB,0BAA0B;QAC1B,yBAAyB;QACzB,sBAAsB;QACtB,mBAAmB;QACnB,wBAAwB;QACxB,uBAAuB;QACvB,qBAAqB;QACrB,uBAAuB;QACvB,wBAAwB;QACxB,4BAA4B;QAC5B,6BAA6B;QAC7B,qBAAqB;;QAGrB,uBAAuB;;QAGvB,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAQd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EANZ,SAAA,EAAA;QACP,iCAAiC;QACjC,6BAA6B;KAEhC,EAAA,OAAA,EAAA,CAzDG,mBAAmB;QACnB,qBAAqB;QACrB,uBAAuB;QACvB,4BAA4B;QAC5B,yBAAyB;QACzB,sBAAsB;QACtB,wBAAwB;QACxB,0BAA0B;QAC1B,yBAAyB;QACzB,sBAAsB;QACtB,mBAAmB;QACnB,wBAAwB;QACxB,uBAAuB;QACvB,qBAAqB;QACrB,uBAAuB;QACvB,wBAAwB;QACxB,4BAA4B;QAC5B,6BAA6B;QAC7B,qBAAqB;;QAGrB,uBAAuB;;AAGvB,QAAA,mBAAmB,EAGnB,mBAAmB;QACnB,qBAAqB;QACrB,uBAAuB;QACvB,4BAA4B;QAC5B,yBAAyB;QACzB,sBAAsB;QACtB,wBAAwB;QACxB,0BAA0B;QAC1B,yBAAyB;QACzB,sBAAsB;QACtB,mBAAmB;QACnB,wBAAwB;QACxB,uBAAuB;QACvB,qBAAqB;QACrB,uBAAuB;QACvB,wBAAwB;QACxB,4BAA4B;QAC5B,6BAA6B;QAC7B,qBAAqB;;QAGrB,uBAAuB;;QAGvB,mBAAmB,CAAA,EAAA,CAAA,CAAA;4FAQd,cAAc,EAAA,UAAA,EAAA,CAAA;kBA7D1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,mBAAmB;wBACnB,qBAAqB;wBACrB,uBAAuB;wBACvB,4BAA4B;wBAC5B,yBAAyB;wBACzB,sBAAsB;wBACtB,wBAAwB;wBACxB,0BAA0B;wBAC1B,yBAAyB;wBACzB,sBAAsB;wBACtB,mBAAmB;wBACnB,wBAAwB;wBACxB,uBAAuB;wBACvB,qBAAqB;wBACrB,uBAAuB;wBACvB,wBAAwB;wBACxB,4BAA4B;wBAC5B,6BAA6B;wBAC7B,qBAAqB;;wBAGrB,uBAAuB;;wBAGvB,mBAAmB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,mBAAmB;wBACnB,qBAAqB;wBACrB,uBAAuB;wBACvB,4BAA4B;wBAC5B,yBAAyB;wBACzB,sBAAsB;wBACtB,wBAAwB;wBACxB,0BAA0B;wBAC1B,yBAAyB;wBACzB,sBAAsB;wBACtB,mBAAmB;wBACnB,wBAAwB;wBACxB,uBAAuB;wBACvB,qBAAqB;wBACrB,uBAAuB;wBACvB,wBAAwB;wBACxB,4BAA4B;wBAC5B,6BAA6B;wBAC7B,qBAAqB;;wBAGrB,uBAAuB;;wBAGvB,mBAAmB;AACtB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACP,iCAAiC;wBACjC,6BAA6B;AAEhC,qBAAA;iBACJ,CAAA;;;AC1FD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"dev-tcloud-tcloud-ui.mjs","sources":["../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/services/tab-menu.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/services/tcloud-modal.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/services/data-list.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module.ts","../../../projects/tcloud-ui/src/lib/_pipes/monthname.ts","../../../projects/tcloud-ui/src/lib/_pipes/statusinfo.ts","../../../projects/tcloud-ui/src/lib/_pipes/respective.ts","../../../projects/tcloud-ui/src/lib/_pipes/cnpj.ts","../../../projects/tcloud-ui/src/lib/_pipes/cpf.ts","../../../projects/tcloud-ui/src/lib/_pipes/bytes.ts","../../../projects/tcloud-ui/src/lib/_pipes/datebr.ts","../../../projects/tcloud-ui/src/lib/_services/search-in-object.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-table/tcloud-ui-table.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/components/range-date/range-date.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/services/tcloud-ui-accordion.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module.ts","../../../projects/tcloud-ui/src/lib/_directives/align/align.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/hover-parent/hover-parent.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/tooltip/tooltip.directive.ts","../../../projects/tcloud-ui/src/lib/_directives/directives.module.ts","../../../projects/tcloud-ui/src/lib/_pipes/tcloud-pipes.module.ts","../../../projects/tcloud-ui/src/lib/_services/loading-transitions.service.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.ts","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component.html","../../../projects/tcloud-ui/src/lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module.ts","../../../projects/tcloud-ui/src/lib/tcloud-ui.module.ts","../../../projects/tcloud-ui/src/public-api.ts","../../../projects/tcloud-ui/src/dev-tcloud-tcloud-ui.ts"],"sourcesContent":["import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-linha-logo',\r\n templateUrl: './tcloud-ui-linha-logo.component.html',\r\n styleUrls: ['./tcloud-ui-linha-logo.component.scss']\r\n})\r\nexport class TCloudUiLinhaLogoComponent implements OnInit {\r\n\r\n @Input() url: any = `h`+`t`+`t`+`p`+`s`+`:`+`/`+`/`+`ateleia`+`-`+`email`+`.s3`+`-`+`sa`+`-`+`east`+`-`+`1`+`.`+`amazonaws`+`.`+`com`+`/`; \r\n @Input() product: string = '';\r\n\r\n logo_name: string = '';\r\n product_name: string = '';\r\n alt_product_name: string = '';\r\n font_size: string = '';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.logo_name = this.getLogoName();\r\n this.product_name = this.getProductName();\r\n \r\n this.alt_product_name = (this.product_name).toUpperCase();\r\n\r\n this.font_size = this.getWidthFontSize();\r\n }\r\n\r\n getProductName(){\r\n if( this.product !== '' ){\r\n let name = this.product;\r\n name = (name).replace('_',' ');\r\n name = (name).toLowerCase();\r\n return name;\r\n }\r\n return '';\r\n }\r\n\r\n getLogoName(){\r\n if( this.product !== '' ){\r\n let name = this.product;\r\n name = (name).replace('_','-');\r\n name = (name).toLowerCase();\r\n return 'logo-linha-'+name;\r\n }\r\n return '';\r\n }\r\n\r\n getWidthFontSize(){\r\n let size = 28;\r\n let new_size = size;\r\n const count = (this.product_name).length; \r\n\r\n if( count > 8 ){\r\n new_size = 28;\r\n }\r\n\r\n if( count > 12 ){\r\n const p = (size * (5+(count*2)) ) / 100;\r\n new_size = (size - p);\r\n }\r\n\r\n if( count > 15 ){\r\n const p = (size * (10+(count*2)) ) / 100;\r\n new_size = (size - p);\r\n }\r\n\r\n\r\n\r\n return `${new_size}px`;\r\n }\r\n\r\n}\r\n","<!-- <div class=\"logo-product\" *ngIf=\"product !== ''\">\r\n <img class=\"img-logo\" src=\"/assets/img/logo-totvs.svg\" alt=\"{{ alt_product_name }}\">\r\n <p class=\"text-small\">Linha</p>\r\n <p class=\"text-product\" [style]=\"'font-size:'+font_size+';'\" >{{ product_name }}</p>\r\n</div> -->\r\n\r\n<div class=\"logo-product\" *ngIf=\"product !== ''\">\r\n <img class=\"img-logo\" [attr.data-name-image]=\"logo_name\" [attr.src]=\"url+logo_name+'.svg'\" alt=\"{{ alt_product_name }}\">\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLinhaLogoComponent } from './tcloud-ui-linha-logo.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLinhaLogoComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiLinhaLogoComponent\r\n ]\r\n})\r\nexport class TCloudUiLinhaLogoModule { }\r\n","import { ITab } from './../tcloud-ui-tab-menu';\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class TabMenuService {\r\n\r\n private info_tab: ITab[] = [];\r\n\r\n private _scroll: boolean | undefined;\r\n private scrollSubject = new Subject<boolean>(); \r\n public scrollState$ = this.scrollSubject.asObservable();\r\n\r\n private _tab: string | undefined;\r\n private tabSubject = new Subject<string>(); \r\n public tabState$ = this.tabSubject.asObservable();\r\n\r\n private _loading: boolean | undefined;\r\n private loadingSubject = new Subject<boolean>(); \r\n public loadingState$ = this.loadingSubject.asObservable();\r\n\r\n constructor(\r\n private _route: ActivatedRoute,\r\n private _router: Router\r\n ){\r\n\r\n }\r\n\r\n setTabScroll(scroll: boolean){\r\n this._scroll = scroll;\r\n this.scrollSubject.next(scroll);\r\n }\r\n\r\n getTabScroll(){\r\n return this._scroll;\r\n }\r\n\r\n setTabLoading(loading: boolean){\r\n this._loading = loading;\r\n this.loadingSubject.next(loading);\r\n }\r\n\r\n getTabLoading(){\r\n return this._loading;\r\n }\r\n\r\n setTabState(tab: string, registerInUrl?:boolean | undefined){\r\n this._tab = tab;\r\n if( registerInUrl ){ this.set_to_param_url(tab); } \r\n this.tabSubject.next(tab);\r\n }\r\n\r\n getTabState(){\r\n return this._tab;\r\n }\r\n\r\n setTabDisabled(id: string, disabled: boolean ){\r\n let create = true;\r\n if( this.info_tab && (this.info_tab).length > 0 ){\r\n for( let i = 0; i < (this.info_tab).length; i++ ){\r\n if( this.info_tab[i].id === id ){\r\n this.info_tab[i].disabled = disabled;\r\n create = false;\r\n break;\r\n }\r\n }\r\n }\r\n if( create ){\r\n (this.info_tab).push({ id:id, disabled: disabled });\r\n } \r\n }\r\n\r\n getIsDisabled(id: string){\r\n if( this.info_tab && (this.info_tab).length > 0 ){\r\n for( let i = 0; i < (this.info_tab).length; i++ ){\r\n if( this.info_tab[i].id === id ){\r\n return this.info_tab[i].disabled;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n set_to_param_url(tab: string){\r\n // changes the route without moving from the current view or\r\n // triggering a navigation event,\r\n this._router.navigate([], {\r\n relativeTo: this._route,\r\n queryParams: {\r\n tab: `${tab}`\r\n },\r\n queryParamsHandling: 'merge',\r\n // preserve the existing query params in the route\r\n skipLocationChange: false\r\n // do not trigger navigation\r\n });\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\r\nimport { TabMenuService } from './services/tab-menu.service';\r\nimport { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-menu',\r\n templateUrl: './tcloud-ui-tab-menu.component.html',\r\n styleUrls: ['./tcloud-ui-tab-menu.component.scss'],\r\n providers: [ TabMenuService ]\r\n})\r\nexport class TCloudUiTabMenuComponent implements OnInit, OnDestroy {\r\n\r\n @Input() registerInUrl: boolean = false;\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(loading: boolean){\r\n this._loading = loading;\r\n this.tabMenuService.setTabLoading(this.loading);\r\n }\r\n get loading(): boolean{ return this._loading; }\r\n\r\n private _active: string = '';\r\n @Input() set active(active: string){\r\n this._active = active;\r\n if( this.active !== '' ){\r\n setTimeout(() => {\r\n this.tabMenuService.setTabState(this.active, this.registerInUrl);\r\n });\r\n \r\n }\r\n }\r\n get active(): string{ return this._active; }\r\n\r\n\r\n @Output() onChange = new EventEmitter<string>();\r\n\r\n private subscription: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n const tab = this.tabMenuService.getTabState();\r\n if( tab === this._active ){\r\n this.onChange.emit(tab);\r\n }\r\n\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n this.onChange.emit(tab);\r\n })\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tc-tab-menu\" [class.loading]=\"loading\" >\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-content',\r\n templateUrl: './tcloud-ui-tab-content.component.html',\r\n styleUrls: ['./tcloud-ui-tab-content.component.scss']\r\n})\r\nexport class TCloudUiTabContentComponent implements OnInit {\r\n\r\n @Input() hideContent: boolean = false;\r\n @Input() tab: string = '';\r\n\r\n active: boolean = false;\r\n \r\n private subscription: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n const disabled = this.tabMenuService.getIsDisabled(this.tab);\r\n const tab = this.tabMenuService.getTabState();\r\n\r\n this.active = ( tab === this.tab && !disabled );\r\n\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n this.active = ( tab === this.tab );\r\n });\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tc-tabmenu-content\" *ngIf=\"active || hideContent\" [class.tc-table-hide]=\"!active\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n","import { OnDestroy } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-title',\r\n templateUrl: './tcloud-ui-tab-title.component.html',\r\n styleUrls: ['./tcloud-ui-tab-title.component.scss']\r\n})\r\nexport class TCloudUiTabTitleComponent implements OnInit, OnDestroy {\r\n\r\n @Input() tab: string = '';\r\n @Input() title: string | undefined;\r\n @Input() active: boolean = false;\r\n\r\n loading: boolean = false;\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(disabled){\r\n this._disabled = disabled;\r\n this.tabMenuService.setTabDisabled( this.tab, this._disabled );\r\n }\r\n get disabled(): boolean { return this._disabled; }\r\n\r\n \r\n\r\n private subscription: Subscription | undefined;\r\n private subscription2: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n if( !this.disabled ){\r\n const tab = this.tabMenuService.getTabState();\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n }\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n })\r\n\r\n this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription2 = this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\r\n })\r\n }\r\n\r\n toTab(){\r\n if( !this.disabled ){\r\n if( this.tab && this.tab !== '' ){\r\n this.tabMenuService.setTabState(this.tab);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n if( this.subscription2 ){ this.subscription2.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<button [class.loading]=\"loading\" [attr.data-id]=\"tab\" [class.tab-title-active]=\"active\" [disabled]=\"disabled || loading\" type=\"button\" (click)=\"toTab()\" class=\"tab-title\" >\r\n <ng-content></ng-content>\r\n</button>\r\n","import { OnDestroy } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-subtitle',\r\n templateUrl: './tcloud-ui-tab-subtitle.component.html',\r\n styleUrls: ['./tcloud-ui-tab-subtitle.component.scss']\r\n})\r\nexport class TCloudUiTabSubtitleComponent implements OnInit, OnDestroy {\r\n\r\n @Input() tab: string = '';\r\n @Input() active: boolean = false;\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(disabled){\r\n this._disabled = disabled;\r\n this.tabMenuService.setTabDisabled( this.tab, this._disabled );\r\n }\r\n get disabled(): boolean { return this._disabled; }\r\n\r\n loading: boolean = false;\r\n\r\n private subscription: Subscription | undefined;\r\n private subscription2: Subscription | undefined;\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n if( !this.disabled ){\r\n const tab = this.tabMenuService.getTabState();\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n }\r\n\r\n this.subscription = this.tabMenuService.tabState$.subscribe((tab: string)=>{\r\n if( this.tab !== '' ){\r\n this.active = ( tab === this.tab );\r\n }\r\n })\r\n\r\n this.loading = <any> this.tabMenuService.getTabLoading();\r\n this.subscription2 = this.tabMenuService.loadingState$.subscribe((loading: boolean)=>{\r\n this.loading = loading;\r\n })\r\n }\r\n\r\n toTab(){\r\n if( !this.disabled ){\r\n if( this.tab && this.tab !== '' ){\r\n this.tabMenuService.setTabState(this.tab);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n if( this.subscription2 ){ this.subscription2.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<button [class.loading]=\"loading\" [attr.data-id]=\"tab\" [class.tab-subtitle-active]=\"active\" [disabled]=\"disabled || loading\" type=\"button\" (click)=\"toTab()\" class=\"tab-subtitle\" >\r\n <ng-content></ng-content>\r\n</button>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TabMenuService } from '../../services/tab-menu.service';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-tab-head',\r\n templateUrl: './tcloud-ui-tab-head.component.html',\r\n styleUrls: ['./tcloud-ui-tab-head.component.scss']\r\n})\r\nexport class TCloudUiTabHeadComponent implements OnInit {\r\n\r\n private _scroll: boolean = true;\r\n @Input() set scroll(scroll: boolean){\r\n if( typeof scroll === 'boolean' ){\r\n this._scroll = scroll;\r\n this.tabMenuService.setTabScroll(scroll);\r\n }\r\n }\r\n get scroll(): boolean { return this._scroll; }\r\n\r\n ID: string = '';\r\n @Input() background: boolean = true;\r\n\r\n @Input() backgroundColor: '#FFFFFF'|'#F1F1F1'|'white'|'transparent' = 'transparent'; // var(--cinza4)\r\n\r\n constructor(\r\n private tabMenuService: TabMenuService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if( this.background ){\r\n if( this.backgroundColor === 'white' ){\r\n this.backgroundColor = '#FFFFFF';\r\n }else{\r\n this.backgroundColor = '#F1F1F1';\r\n } \r\n }\r\n this.ID = this.generateID();\r\n }\r\n\r\n generateID(): string{\r\n return `tc-head-scroll-box-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n to_scroll(action: 'prev'|'next'){\r\n this.moveScroll(action, this.width_scroll());\r\n }\r\n \r\n private width_scroll(): number{\r\n var ele = <any> document.querySelectorAll(`.${this.ID}`); \r\n return ele[0].querySelector(\"button\").offsetWidth;\r\n }\r\n\r\n private scrollSuave(old:any, des:any, atu:any, ele:any){\r\n const _this = this;\r\n var easeOutCubic = (t:any) => { return (--t)*t*t+1 };\r\n atu += 5; // move de 5 em 5 pixel. Aumentando o valor da velocidade\r\n var ease = easeOutCubic(atu/100);\r\n var del = des-old;\r\n del *= ease;\r\n del += old;\r\n ele.scrollTo(del, 0);\r\n if(atu < 100){\r\n window.requestAnimationFrame(() => {\r\n _this.scrollSuave(old, des, atu, ele);\r\n });\r\n }\r\n }\r\n\r\n private moveScroll(action: any, wid: number){\r\n var ele = document.querySelectorAll(`.${this.ID}`);\r\n var ccs = ele[0];\r\n var ccs_s = ccs.scrollLeft;\r\n this.scrollSuave(ccs_s, action == 'next' ? wid+ccs_s : ccs_s-wid, 0, ccs);\r\n }\r\n\r\n}\r\n","\r\n\r\n<table class=\"area-navigation\">\r\n <tr>\r\n <td *ngIf=\"scroll\">\r\n <button (click)=\"to_scroll('prev')\"> <i class=\"fas fa-chevron-left\"></i> </button>\r\n </td>\r\n\r\n <td>\r\n \r\n </td>\r\n\r\n <td *ngIf=\"scroll\">\r\n <button (click)=\"to_scroll('next')\"> <i class=\"fas fa-chevron-right\"></i> </button>\r\n </td>\r\n </tr>\r\n</table>\r\n\r\n<div class=\"tc-menu {{ ID }}\" [attr.style]=\"'background: ' + backgroundColor + ';'\" [class.tab-full]=\"!scroll\" >\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiTabMenuComponent } from './tcloud-ui-tab-menu.component';\r\nimport { TCloudUiTabContentComponent } from './components/tcloud-ui-tab-content/tcloud-ui-tab-content.component';\r\nimport { TCloudUiTabTitleComponent } from './components/tcloud-ui-tab-title/tcloud-ui-tab-title.component';\r\nimport { TCloudUiTabSubtitleComponent } from './components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component';\r\nimport { TCloudUiTabHeadComponent } from './components/tcloud-ui-tab-head/tcloud-ui-tab-head.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTabMenuComponent,\r\n TCloudUiTabContentComponent,\r\n TCloudUiTabTitleComponent,\r\n TCloudUiTabSubtitleComponent,\r\n TCloudUiTabHeadComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiTabMenuComponent,\r\n TCloudUiTabContentComponent,\r\n TCloudUiTabTitleComponent,\r\n TCloudUiTabSubtitleComponent,\r\n TCloudUiTabHeadComponent\r\n ],\r\n})\r\nexport class TCloudUiTabMenuModule { }\r\n","import { IConfirm } from './../tcloud-ui-modal';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TcloudModalService {\r\n\r\n private loading: boolean | undefined;\r\n\r\n private param_confirm: IConfirm = {} as IConfirm;\r\n\r\n private _stateClose = new Subject<boolean>();\r\n public stateClose$ = this._stateClose.asObservable();\r\n\r\n private _stateConfirm = new Subject<IConfirm>();\r\n public stateConfirm$ = this._stateConfirm.asObservable();\r\n\r\n private _stateRespConfirm = new Subject<boolean>();\r\n public stateRespConfirm$ = this._stateRespConfirm.asObservable();\r\n\r\n private _stateLoading = new Subject<boolean>();\r\n public stateLoading$ = this._stateLoading.asObservable();\r\n\r\n\r\n toModal(action: 'open'|'close'): void{\r\n if(action === 'close'){\r\n this.fixed_body('off');\r\n }\r\n this._stateClose.next( (action === 'open') );\r\n }\r\n\r\n toRespConfirm(resp: boolean){ \r\n this._stateRespConfirm.next(resp);\r\n }\r\n\r\n getParamConfirm(): IConfirm{\r\n return this.param_confirm;\r\n }\r\n\r\n toConfirm(confirm: IConfirm){\r\n this.param_confirm = confirm;\r\n this._stateConfirm.next(confirm);\r\n }\r\n\r\n getLoading(){\r\n return this.loading;\r\n }\r\n\r\n setLoading(loading: boolean){\r\n this.loading = loading;\r\n this._stateLoading.next(loading);\r\n }\r\n\r\n fixed_body(fixed: 'on'|'off'){ \r\n let body = <any> document.getElementsByTagName(\"BODY\")[0];\r\n if( body && body.style ){\r\n if( fixed === 'on' ){\r\n body.style.overflowY = \"hidden\";\r\n }\r\n if( fixed === 'off' ){\r\n body.style.removeProperty('overflow-y');\r\n }\r\n }\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\r\nimport { Component, OnInit, Input, EventEmitter, Output, OnDestroy } from '@angular/core';\r\nimport { TcloudModalService } from './services/tcloud-modal.service';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { IConfirm } from './tcloud-ui-modal';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal',\r\n templateUrl: './tcloud-ui-modal.component.html',\r\n styleUrls: ['./tcloud-ui-modal.component.scss'],\r\n providers: [\r\n TcloudModalService\r\n ],\r\n animations: [\r\n trigger('fade', [\r\n state('visible', style({ opacity: 1 })),\r\n state('hide', style({ opacity: 0, top: '-38%' })),\r\n transition('void => visible', [\r\n style({ opacity: 0, top: '-38%' }),\r\n animate('0.3s ease-out')\r\n ]),\r\n transition('visible => hide', animate('0.3s ease-out'))\r\n ])\r\n ]\r\n})\r\nexport class TCloudUiModalComponent implements OnInit, OnDestroy {\r\n\r\n /**\r\n * tcloud-ui-modal - Cria e exibe um modal\r\n * \r\n * toAction - (toAction) - Resultado do evento - 'confirmed'|'cancel'|'close'\r\n * toConfirm - (toConfirm) - Indica que a ação foi confirmada - resultado true\r\n * toCancel - (toCancel() - Indica que a ação foi cancelada - resultado false\r\n */\r\n\r\n param_confirm: IConfirm = {} as IConfirm;\r\n /* BEGIN - Parametros para modo confirmacao */\r\n private _confirm: boolean = false;\r\n private _confirmText: string = 'Confirmo';\r\n\r\n /**\r\n * confirm boolean - Indica se será um modal do tipo confirmação - default false\r\n */\r\n @Input() set confirm(v: boolean){\r\n this._confirm = v;\r\n this.param_confirm.confirm = this._confirm;\r\n this.param_confirm.confirmText = this._confirmText;\r\n }\r\n\r\n /**\r\n * confirmText string - Texto que deverá ser digitado - defualt Confirmo\r\n */\r\n @Input() set confirmText(v: string){\r\n this._confirmText = v;\r\n this.param_confirm.confirmText = this._confirmText;\r\n this.param_confirm.confirm = this._confirm; \r\n }\r\n\r\n /* END --- Parametros para modo confirmacao */\r\n\r\n subscription: Subscription | undefined;\r\n subscriptionI: Subscription | undefined;\r\n\r\n /**\r\n * autoClose boolean - Indica se deverá ser fechado quando confirmar uma ação - default true\r\n */\r\n @Input() autoClose: boolean = true;\r\n\r\n /**\r\n * title - string - Título a ser exibido no topo do modal\r\n */\r\n @Input() title: any | undefined;\r\n\r\n /**\r\n * maxWidth - number - Largura máxima do modal - default 500px\r\n */\r\n @Input() maxWidth: number = 500;\r\n\r\n\r\n /**\r\n * window - string - nome referente ao tamanho do modal - não utilizar maxWidth se for utilizar window - default 500 (medium)\r\n */\r\n @Input() set window( size: 'small' | 'medium' | 'large' | 'big' | 'full' ){\r\n switch (size) {\r\n case 'small': this.maxWidth = 300; break;\r\n case 'medium': this.maxWidth = 500; break;\r\n case 'large': this.maxWidth = 900; break;\r\n case 'big': this.maxWidth = 1100; break;\r\n case 'full': this.maxWidth = 1400; break;\r\n }\r\n }\r\n\r\n \r\n control_open: boolean = false;\r\n private _open: boolean = false;\r\n /**\r\n * open - boolean - Variável de controle para exibição do modal - obrigatório\r\n */\r\n @Input() set open(open: boolean){\r\n this.control_open = open;\r\n this.checkIsOpen();\r\n\r\n this._open = open;\r\n this.tcloudModalService.fixed_body((open) ? 'on' : 'off');\r\n }\r\n get open(): boolean { return this._open; }\r\n\r\n private _loading: boolean = false;\r\n /**\r\n * loading - boolean - Coloca o modal em modo de carregamento - default false\r\n */\r\n @Input() set loading(loading: boolean){ \r\n this._loading = loading;\r\n this.tcloudModalService.setLoading(loading);\r\n }\r\n get loading(): boolean { return this._loading; }\r\n \r\n @Output() openChange = new EventEmitter<boolean>();\r\n\r\n @Output() toConfirm = new EventEmitter<boolean>();\r\n @Output() toCancel = new EventEmitter<boolean>();\r\n @Output() toAction = new EventEmitter<'confirmed'|'cancel'|'close'>();\r\n\r\n constructor(\r\n private tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.subscription = this.tcloudModalService.stateClose$.subscribe((open: boolean)=>{\r\n if( open ){\r\n /* OPEN */\r\n }\r\n\r\n if( !open ){\r\n /* CLOSE */\r\n this.toClose();\r\n }\r\n });\r\n\r\n this.subscriptionI = this.tcloudModalService.stateRespConfirm$.subscribe((resp: boolean)=>{\r\n if( resp ){\r\n /* CONFIRMADO */\r\n this.toConfirm.emit(resp);\r\n this.toClose('confirmed');\r\n\r\n }\r\n\r\n if( !resp ){\r\n /* CANCELADO */\r\n this.toCancel.emit(resp);\r\n this.toClose('cancel');\r\n }\r\n })\r\n \r\n this.tcloudModalService.toConfirm( this.param_confirm );\r\n }\r\n\r\n toClose(action?: any | undefined){\r\n if( this.autoClose ){\r\n this.control_open = false;\r\n this.open = false;\r\n this.openChange.emit(false);\r\n }\r\n \r\n action = (action) ? action : 'close';\r\n this.toAction.emit(action);\r\n this.tcloudModalService.fixed_body('off');\r\n }\r\n\r\n checkIsOpen(){\r\n if( this.control_open ){\r\n this.tcloudModalService.fixed_body('on');\r\n }else{\r\n this.tcloudModalService.fixed_body('off');\r\n }\r\n }\r\n\r\n ngOnDestroy(){\r\n this.checkIsOpen();\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n\r\n}\r\n","<div class=\"tc-background-modal\" *ngIf=\"control_open\" >{{ checkIsOpen() }}</div>\r\n\r\n<div class=\"base-modal\" *ngIf=\"open\">\r\n <div class=\"sub-modal\" [@fade]=\"'visible'\">\r\n <div class=\"tc-modal tc-modal-shadow\" [attr.style]=\"'max-width: ' + maxWidth + 'px;'\">\r\n <div class=\"area-top-actions\">\r\n <button type=\"button\" [class.no-use-header]=\"title\" (click)=\"toClose()\" [disabled]=\"loading\">\r\n <i *ngIf=\"!loading\" class=\"fas fa-times\"></i>\r\n <i *ngIf=\"loading\" class=\"fas fa-spinner fa-spin\"></i>\r\n </button>\r\n </div>\r\n\r\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\r\n\r\n <ng-content></ng-content>\r\n\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Ex: Modal -->\r\n<!-- \r\n <tcloud-ui-modal [(open)]=\"open\">\r\n\r\n <tcloud-ui-modal-header title=\"Título do Modal\" ></tcloud-ui-modal-header>\r\n\r\n <tcloud-ui-modal-body>\r\n Conteúdo do modal aqui\r\n </tcloud-ui-modal-body>\r\n\r\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\r\n\r\n </tcloud-ui-modal>\r\n\r\n <button type=\"button\" (click)=\"open = !open\">open modal {{ open }}</button>\r\n-->\r\n\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n<!-- ****** -->\r\n\r\n<!-- Ex: Confirm Modal -->\r\n<!-- \r\n <tcloud-ui-modal [(open)]=\"open_confirm\" [title]=\"'Atenção'\" [confirmText]=\"'Aceito'\" [confirm]=\"true\" (toAction)=\"$event\" >\r\n\r\n <tcloud-ui-modal-body>Deseja realmente executar esta ação?</tcloud-ui-modal-body>\r\n\r\n <tcloud-ui-modal-footer></tcloud-ui-modal-footer>\r\n\r\n </tcloud-ui-modal>\r\n\r\n <button type=\"button\" (click)=\"open_confirm = !open_confirm\">open_confirm modal {{ open_confirm }}</button>\r\n-->","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal-header',\r\n templateUrl: './tcloud-ui-modal-header.component.html',\r\n styleUrls: ['./tcloud-ui-modal-header.component.scss']\r\n})\r\nexport class TCloudUiModalHeaderComponent implements OnInit {\r\n\r\n @Input() mode: 'info' | 'success' | 'danger' | 'warning' = 'info';\r\n @Input() title: any | undefined;\r\n \r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"tc-modal-header tc-mode-{{ mode }}\" >\r\n <h4 *ngIf=\"title\" [innerHTML]=\"title\"></h4>\r\n <ng-content></ng-content>\r\n\r\n <hr>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal-body',\r\n templateUrl: './tcloud-ui-modal-body.component.html',\r\n styleUrls: ['./tcloud-ui-modal-body.component.scss']\r\n})\r\nexport class TCloudUiModalBodyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<div class=\"tc-modal-body\">\r\n <ng-content></ng-content>\r\n</div>","import { Subscription } from 'rxjs';\r\nimport { TcloudModalService } from './../../services/tcloud-modal.service';\r\nimport { Component, OnInit, ViewChild, Input, OnDestroy } from '@angular/core';\r\nimport { IConfirm } from '../../tcloud-ui-modal';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-modal-footer',\r\n templateUrl: './tcloud-ui-modal-footer.component.html',\r\n styleUrls: ['./tcloud-ui-modal-footer.component.scss']\r\n})\r\nexport class TCloudUiModalFooterComponent implements OnInit, OnDestroy {\r\n\r\n @Input() btnCloseText: string = 'Fechar';\r\n @Input() btnCancelText: string = 'Cancelar';\r\n @Input() btnConfirmText: string = 'Confirmar';\r\n\r\n @ViewChild('_formulario') _formulario: NgForm | undefined; \r\n txt_value: string = '';\r\n\r\n param_confirm: IConfirm = {} as IConfirm;\r\n\r\n loading: boolean = false;\r\n\r\n subscription: Subscription |undefined\r\n\r\n constructor(\r\n private tcloudModalService: TcloudModalService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.txt_value = '';\r\n this.param_confirm = this.tcloudModalService.getParamConfirm();\r\n\r\n this.toStateLoading();\r\n }\r\n\r\n toClose(){\r\n this.tcloudModalService.toModal('close');\r\n }\r\n\r\n toConfirm(valid: boolean | any){\r\n if( typeof valid === 'boolean' ){\r\n if( valid && (this.txt_value).toLowerCase() === (this.param_confirm.confirmText).toLowerCase() ){\r\n this.tcloudModalService.toRespConfirm(true);\r\n this.txt_value = ''; \r\n }\r\n }\r\n }\r\n\r\n toCancel(){\r\n this.tcloudModalService.toRespConfirm(false);\r\n }\r\n\r\n toStateLoading(){\r\n this.loading = <any> this.tcloudModalService.getLoading();\r\n this.subscription = this.tcloudModalService.stateLoading$.subscribe((loading: boolean) => { this.loading = loading; } )\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.tcloudModalService.fixed_body('off');\r\n if( this.subscription ){ this.subscription.unsubscribe(); }\r\n }\r\n\r\n}\r\n","<div class=\"tc-modal-footer\">\r\n\r\n <div class=\"input-confirm\" *ngIf=\"param_confirm && param_confirm.confirmText\">\r\n <p>Digite a palavra <strong>"{{ param_confirm.confirmText }}"</strong> para confirmar.</p>\r\n \r\n <form #_formulario=\"ngForm\" (ngSubmit)=\"toConfirm(_formulario.valid)\">\r\n <input \r\n [disabled]=\"loading\"\r\n placeholder=\"{{ param_confirm.confirmText }}\"\r\n name=\"txt_value\" \r\n [(ngModel)]=\"txt_value\" \r\n type=\"text\" \r\n class=\"form-control form-confirm\" \r\n required \r\n [class.different-text]=\"(txt_value).length >= (param_confirm.confirmText).length && (txt_value).toLowerCase() !== (param_confirm.confirmText).toLowerCase()\" >\r\n </form>\r\n\r\n </div>\r\n\r\n <hr>\r\n\r\n <div class=\"actions-footer {{ (loading) ? 'state-loading' : '' }}\">\r\n <!-- {{ param_confirm | json }} -->\r\n <button [disabled]=\"loading\" *ngIf=\"param_confirm && !param_confirm.confirm\" type=\"button\" class=\"tc-btn margin-l-5\" (click)=\"toClose()\">{{ btnCloseText }}</button>\r\n\r\n <button [disabled]=\"loading\" *ngIf=\"param_confirm && param_confirm.confirm\" type=\"button\" class=\"tc-btn margin-l-5\" (click)=\"toCancel()\">{{ btnCancelText }}</button>\r\n <button [disabled]=\"(txt_value).toLowerCase() !== (param_confirm.confirmText).toLowerCase() || loading\" *ngIf=\"param_confirm && param_confirm.confirm\" type=\"button\" class=\"tc-btn tc-btn-primary margin-l-5\" (click)=\"toConfirm(_formulario?.valid)\">{{ btnConfirmText }}</button>\r\n\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiModalComponent } from './tcloud-ui-modal.component';\r\nimport { TCloudUiModalHeaderComponent } from './components/tcloud-ui-modal-header/tcloud-ui-modal-header.component';\r\nimport { TCloudUiModalBodyComponent } from './components/tcloud-ui-modal-body/tcloud-ui-modal-body.component';\r\nimport { TCloudUiModalFooterComponent } from './components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiModalComponent,\r\n TCloudUiModalHeaderComponent,\r\n TCloudUiModalBodyComponent,\r\n TCloudUiModalFooterComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n TCloudUiModalComponent,\r\n TCloudUiModalHeaderComponent,\r\n TCloudUiModalBodyComponent,\r\n TCloudUiModalFooterComponent\r\n ]\r\n})\r\nexport class TCloudUiModalModule { }\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nclass Step {\r\n\r\n constructor(){\r\n this.status = '';\r\n this.index = 0;\r\n this.class = '';\r\n this.second_class = '';\r\n }\r\n\r\n status: string;\r\n index: number;\r\n class: string;\r\n second_class: string;\r\n}\r\n\r\n@Component({\r\n selector: 'tcloud-ui-line-step-circle',\r\n templateUrl: './tcloud-ui-line-step-circle.component.html',\r\n styleUrls: ['./tcloud-ui-line-step-circle.component.scss']\r\n})\r\nexport class TCloudUiLineStepCircleComponent implements OnInit {\r\n\r\n @Input() step: number = 7;\r\n \r\n private _active: number = 0;\r\n @Input() set active( active: number ){\r\n if( active && active !== this._active ){\r\n this._active = active;\r\n this.build_steps();\r\n } \r\n }\r\n get active(): number{ return this._active; }\r\n\r\n private _inactives = [] as number[] | undefined;\r\n @Input() set inactives( inactives: number[] | undefined){\r\n if( inactives && inactives !== this._inactives ){\r\n this._inactives = inactives;\r\n this.build_steps();\r\n }\r\n }\r\n get inactives(): number[] | undefined { return this._inactives; }\r\n\r\n\r\n private _complete: boolean = false;\r\n @Input() set complete( complete: boolean ){\r\n if( complete && complete !== this._complete ){\r\n this._complete = complete;\r\n this.build_steps();\r\n } \r\n }\r\n get complete(): boolean{ return this._complete; }\r\n\r\n trilha = new Array<Step>();\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => { this.build_steps(); }); \r\n }\r\n\r\n build_steps(){\r\n let trilha = new Array<Step>();\r\n if( this.step && this.step > 0 ){\r\n for( let i = 0; i < this.step; i++ ){\r\n (trilha).push({\r\n status: '',\r\n index: i+1,\r\n class: 'step-default',\r\n second_class: '',\r\n })\r\n }\r\n }\r\n\r\n if( this.active > this.step ){\r\n this.active = this.step;\r\n this.complete = true;\r\n }\r\n\r\n if( this.active && this.active > 0 ){\r\n for( let i = 0; i < this.active; i++ ){ \r\n trilha[i].class = \"step-progress\"; \r\n if( (i+1) === this.active && !this.complete ){\r\n trilha[i].class = \"step-active\";\r\n }\r\n }\r\n }\r\n \r\n if( this.inactives && (this.inactives).length > 0 ){\r\n for( let i = 0; i < (this.inactives).length; i++ ){\r\n const icon = this.inactives[i];\r\n if( icon && icon > 0 ){\r\n trilha[(icon-1)].second_class = \"step-inactive\"; \r\n } \r\n }\r\n }\r\n\r\n this.trilha = trilha;\r\n }\r\n\r\n}\r\n","<table class=\"table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\r\n <tr>\r\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\r\n <td class=\"area-circle\">\r\n <!-- <i class=\"fas fa-circle icon-{{ fase.class }} {{ fase.second_class }} \"></i> -->\r\n\r\n <div class=\"tc-circle icon-{{ fase.class }} {{ fase.second_class }}\"></div>\r\n \r\n </td>\r\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\r\n <div class=\"step-line {{ fase.class }}\"></div>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n</table>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiLineStepCircleComponent } from './tcloud-ui-line-step-circle.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiLineStepCircleComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TCloudUiLineStepCircleComponent\r\n ]\r\n})\r\nexport class TCloudUiLineStepCircleModule { }\r\n","import { Component, EventEmitter, forwardRef, Input, OnInit, Output, OnDestroy } from '@angular/core';\r\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_VALIDATORS: any = { \r\n provide: NG_VALIDATORS, \r\n useExisting: forwardRef(() => TCloudUiMultiSelectComponent),\r\n multi: true\r\n}\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiMultiSelectComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-multi-select',\r\n templateUrl: './tcloud-ui-multi-select.component.html',\r\n styleUrls: ['./tcloud-ui-multi-select.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\r\n})\r\nexport class TCloudUiMultiSelectComponent implements OnInit, OnDestroy, Validator {\r\n\r\n \r\n\r\n @Input() tcList: any[] | undefined;\r\n @Input() placeholder: string = 'Selecione um item';\r\n @Input() disabled: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() required: string | undefined;\r\n @Output() tcChange = new EventEmitter<any[]>();\r\n\r\n use_validation_required: boolean = false;\r\n values: any[] | undefined;\r\n count_actives: number = 0;\r\n item_value: any | undefined;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => { this.toChange(); });\r\n }\r\n\r\n addItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value ){\r\n this.tcList[i].active = true;\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n } \r\n }\r\n\r\n removeItem(item: any): void{\r\n if( this.disabled ){ return; }\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( item === row.value ){\r\n this.tcList[i].active = false;\r\n break;\r\n }\r\n }\r\n this.toChange();\r\n }\r\n }\r\n\r\n private toChange(): void{\r\n let count_actives = 0;\r\n let itens: any[] = [];\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const row = this.tcList[i];\r\n if( row.active ){\r\n count_actives++;\r\n (itens).push(row);\r\n }\r\n }\r\n }\r\n this.item_value = null;\r\n this.count_actives = count_actives;\r\n this.tcChange.emit(itens);\r\n this.onChangeCallback(this.tcList);\r\n }\r\n\r\n\r\n check_is_valid(): boolean{\r\n let active = 0;\r\n if( this.tcList ){\r\n for( let i = 0; i < (this.tcList).length; i++ ){\r\n const item = this.tcList[i];\r\n if( item && item.active && item.active === true){\r\n active++;\r\n break;\r\n }\r\n }\r\n }\r\n return (active > 0) ? true : false;\r\n }\r\n\r\n onChangeTouched(){ \r\n this.onTouchedCallback(); \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n @Output() onChange = new EventEmitter<any>();\r\n // @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefault(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n toSetDefault(value: any){\r\n this.tcList = value;\r\n }\r\n\r\n public validate(c: FormControl): any {\r\n if( c && ( typeof this.required !== 'undefined' ) ){\r\n this.use_validation_required = true;\r\n return (this.check_is_valid()) ? null : 'required';\r\n }\r\n return null;\r\n }\r\n\r\n item_width(text: any) {\r\n const value = `${text}`;\r\n const value_len = (value).length;\r\n let max_width = 155;\r\n if( value_len < 15 ){ max_width = 138; }\r\n if( value_len < 10 ){ max_width = 105; }\r\n if( value_len < 8 ){ max_width = 85; }\r\n if( value_len < 5 ){ max_width = 70; }\r\n return { 'max-width': max_width + 'px'};\r\n }\r\n\r\n ngOnDestroy(): void {\r\n \r\n }\r\n}\r\n","\r\n <div>\r\n <table>\r\n <tr *ngIf=\"tcList\">\r\n <td>\r\n <select \r\n class=\"tc-form-control\"\r\n [(ngModel)]=\"item_value\"\r\n [class.tc-parent-validation]=\"use_validation_required\" \r\n #_select\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n [title]=\"tcList.length === 0 ? 'Nenhum item disponível' : placeholder\">\r\n <option></option>\r\n <ng-container *ngFor=\"let item of tcList; let i = index\">\r\n <option [title]=\"item.description\" *ngIf=\"!item.active\" [value]=\"item.value\">{{ item.description }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td>\r\n <button\r\n [disabled]=\"!item_value || tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Adicionar\"\r\n class=\"btn-plus-select\"\r\n (click)=\"addItem(_select.value);onChangeTouched()\"\r\n type=\"button\">\r\n <i class=\"fas fa-plus\"></i>\r\n </button>\r\n </td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"box-itens-selected\" *ngIf=\"count_actives > 0 && (tcList && tcList.length > 0)\">\r\n <ng-container *ngFor=\"let item of tcList\">\r\n\r\n <ng-container *ngIf=\"item.active\">\r\n <div class=\"box-label\" [ngStyle]=\"item_width(item.value)\">\r\n <div class=\"box-value\" [title]=\"item.value\">\r\n {{ item.value }} \r\n </div>\r\n <div class=\"box-action\">\r\n <button\r\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\r\n title=\"Remover\"\r\n type=\"button\"\r\n (click)=\"removeItem(item.value);onChangeTouched()\">\r\n <i class=\"fas fa-times\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n </div>\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiMultiSelectComponent } from './tcloud-ui-multi-select.component';\r\n\r\n@NgModule({\r\n declarations: [TCloudUiMultiSelectComponent],\r\n exports: [TCloudUiMultiSelectComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class TCloudUiMultiSelectModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DataListService {\r\n private _stateSourceValue: Subject<any> = new Subject<any>();\r\n public stateValue$: Observable<Subject<any>> = this._stateSourceValue.asObservable();\r\n\r\n private _stateSourceDescription: Subject<any> = new Subject<any>();\r\n public stateDescription$: Observable<Subject<any>> = this._stateSourceDescription.asObservable();\r\n\r\n private _stateSourceOptions: Subject<any> = new Subject<any>();\r\n public stateOptions$: Observable<Subject<any>> = this._stateSourceOptions.asObservable();\r\n\r\n private _stateSourceActive: Subject<any> = new Subject<any>();\r\n public stateActive$: Observable<Subject<any>> = this._stateSourceActive.asObservable();\r\n\r\n private actived_value: any | undefined;\r\n\r\n public setItemValue(v: any): void {\r\n this.actived_value = v;\r\n this._stateSourceValue.next(v);\r\n }\r\n\r\n public setItemDescription(v: any): void {\r\n this._stateSourceDescription.next(v);\r\n }\r\n\r\n public registerSelectionOptionsDescription(v: any): void {\r\n this._stateSourceOptions.next(v);\r\n }\r\n\r\n public setActiveItem(v: any): void {\r\n this._stateSourceActive.next(v); \r\n }\r\n\r\n public getActiveItem(): any {\r\n // console.log('getActiveItem', this.actived_value);\r\n return this.actived_value;\r\n }\r\n \r\n}","export class ISelectOptions{\r\n description: any;\r\n value: any;\r\n}","import { OnDestroy } from '@angular/core';\r\nimport { ISelectOptions } from './../tcloud-ui-data-list';\r\nimport { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { DataListService } from '../services/data-list.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-data-list-option',\r\n templateUrl: './tcloud-ui-data-list-option.component.html',\r\n styleUrls: ['./tcloud-ui-data-list-option.component.scss']\r\n})\r\nexport class TCloudUiDataListOptionComponent implements OnInit, OnDestroy {\r\n\r\n id: string = ''; \r\n actived_value: any;\r\n select_options = new ISelectOptions();\r\n private subscription_active: Subscription | undefined;\r\n\r\n @Input() value: any | undefined;\r\n\r\n @Output() selected = new EventEmitter<any>(); \r\n\r\n constructor( private dataListService: DataListService ) { \r\n }\r\n\r\n ngOnInit(): void {\r\n this.actived_value = this.dataListService.getActiveItem();\r\n this.subscription_active = this.dataListService.stateActive$.subscribe(v => { \r\n this.actived_value = v; \r\n });\r\n this.id = this.generateID();\r\n this.setSelectOptions();\r\n }\r\n\r\n generateID(): string{\r\n return `data-list-option-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n setSelectedItem(value: any){\r\n console.log('setSelectedItem', value);\r\n if( value === '' ){ this.value = ''; }\r\n\r\n this.dataListService.setItemValue(this.value);\r\n const description = <any> document.getElementById(this.id)?.innerText || '';\r\n this.dataListService.setItemDescription(description);\r\n this.setSelectOptions(); \r\n }\r\n\r\n setSelectOptions(){\r\n setTimeout(() => {\r\n try {\r\n const description = <any> document.getElementById(this.id)?.innerText;\r\n this.select_options.value = this.value;\r\n this.select_options.description = description; \r\n this.dataListService.registerSelectionOptionsDescription(this.select_options);\r\n } catch (error) { }\r\n }); \r\n }\r\n\r\n ngOnDestroy() {\r\n if( this.subscription_active ){ this.subscription_active.unsubscribe(); } \r\n }\r\n\r\n}\r\n","<button \r\n [title]=\"select_options.description\"\r\n id=\"{{id}}\"\r\n [attr.data-description]=\"select_options.description\"\r\n [attr.data-actived-value]=\"actived_value\"\r\n class=\"dropdown-item\" \r\n [class.null-value]=\"value === undefined || value === null || value === ''\"\r\n [class.active]=\"value === actived_value\" \r\n type=\"button\" \r\n [value]=\"value\"\r\n (click)=\"setSelectedItem(value)\" >\r\n <ng-content></ng-content>\r\n</button>\r\n","import { DataListService } from './services/data-list.service';\r\nimport { Component, forwardRef, OnInit, Output, EventEmitter, ViewChild, Input, OnDestroy, AfterViewChecked } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, NgForm, FormGroup, FormBuilder, FormControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { ISelectOptions } from './tcloud-ui-data-list';\r\n\r\nexport const CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDataListComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n\r\n@Component({\r\n selector: 'tcloud-ui-data-list',\r\n templateUrl: './tcloud-ui-data-list.component.html',\r\n styleUrls: ['./tcloud-ui-data-list.component.scss'],\r\n providers: [\r\n DataListService, \r\n CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR\r\n ],\r\n})\r\nexport class TCloudUiDataListComponent implements OnInit, OnDestroy, AfterViewChecked {\r\n\r\n viewport_width: number = 0;\r\n viewport_height: number = 0;\r\n box_height: number = 0;\r\n box_style: string = '';\r\n menu_on_top: string = '';\r\n\r\n @Input() placeholder: string = '';\r\n\r\n private _disabled: boolean = false;\r\n @Input() set disabled(v){\r\n if( typeof v === 'boolean' && v !== this._disabled ){\r\n this._disabled = v; \r\n //this.selected_description = '';\r\n //this.selected_item ='';\r\n this.toChange();\r\n }\r\n }\r\n get disabled():boolean { return this._disabled; }\r\n\r\n private _loading: boolean = false;\r\n @Input() set loading(v: boolean){\r\n if( typeof v === 'boolean' && v !== this._loading ){\r\n this._loading = v; \r\n //this.selected_description = '';\r\n //this.selected_item = '';\r\n this.toChange();\r\n }\r\n }\r\n get loading():boolean { return this._loading; }\r\n\r\n\r\n @Input() showInput: boolean = true;\r\n @Input() search: boolean = true;\r\n \r\n private _listItems: ISelectOptions[] = [];\r\n @Input() set listItems(v: ISelectOptions[]){\r\n if( v && (v).length > 0 ){\r\n this._listItems = v;\r\n }\r\n }\r\n get listItems():ISelectOptions[] { return this._listItems; }\r\n\r\n private _open: boolean = false;\r\n @Input() set open(v: boolean){\r\n if( v !== this._open ){\r\n this._open = v;\r\n if( v ){\r\n this.menu_show = false;\r\n setTimeout(()=>{ this.toOpen(); }); \r\n }\r\n }\r\n }\r\n get open():boolean { return this._open; }\r\n\r\n \r\n @Input() border: boolean = true;\r\n\r\n @Output() onInputChange = new EventEmitter<ISelectOptions>();\r\n @Output() onChange = new EventEmitter<ISelectOptions>();\r\n\r\n @Output() onOpened = new EventEmitter<any>();\r\n @Output() onClosed = new EventEmitter<any>();\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n this.selected_item = v; \r\n this.selectDescription(); \r\n }\r\n @Output() ngModelChange = new EventEmitter<any>();\r\n\r\n list_selected_options = new Array<ISelectOptions>();\r\n\r\n selected_item: any | undefined;\r\n selected_description: any | undefined;\r\n\r\n private subscription_value: Subscription | undefined;\r\n private subscription_description: Subscription | undefined;\r\n private subscription_options: Subscription | undefined;\r\n\r\n menu_show: boolean = false;\r\n search_text: string = '';\r\n id: string = '';\r\n\r\n formulario: FormGroup | undefined;\r\n\r\n constructor(\r\n private dataListService: DataListService,\r\n private formBuilder: FormBuilder\r\n ){\r\n\r\n this.subscription_value = this.dataListService.stateValue$.subscribe(v => {\r\n this.selected_item = v; \r\n this.selectDescription();\r\n this.ngModelChange.emit(this.selected_item);\r\n })\r\n\r\n this.subscription_description = this.dataListService.stateDescription$.subscribe(v => {\r\n this.selected_description = v; \r\n })\r\n\r\n\r\n this.subscription_options = this.dataListService.stateOptions$.subscribe((v:any) => {\r\n if( v && v.value ){\r\n (this.list_selected_options).push(v);\r\n }\r\n })\r\n\r\n }\r\n\r\n ngOnInit(){\r\n\r\n \r\n\r\n this.id = this.generateID();\r\n\r\n this.formulario = this.formBuilder.group({\r\n \"selected_item\": new FormControl('',[]),\r\n })\r\n\r\n \r\n\r\n this.toResize();\r\n this.toClick();\r\n }\r\n\r\n t_fc: any | undefined;\r\n ngAfterViewChecked(): void {\r\n this.t_fc = undefined;\r\n this.t_fc = this.get_selected_description();\r\n }\r\n\r\n get_selected_description(): void{\r\n if( this.list_selected_options && (this.list_selected_options).length > 0 ){\r\n for( let i = 0; i < (this.list_selected_options).length; i++ ){\r\n const item = this.list_selected_options[i];\r\n if( item.value === this.selected_item ){ \r\n if( this.selected_description !== item.description ){\r\n if( item.description && item.description !== this.selected_description ){\r\n setTimeout(() => {\r\n this.selected_description = item.description; \r\n this.dataListService.setActiveItem(this.selected_item);\r\n });\r\n }\r\n } \r\n break;\r\n }\r\n }\r\n } \r\n }\r\n\r\n generateID(): string{\r\n return `data-list-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n ngOnDestroy() {\r\n if( this.subscription_value ){ this.subscription_value.unsubscribe(); } \r\n if( this.subscription_description ){ this.subscription_description.unsubscribe(); } \r\n if( this.subscription_options ){ this.subscription_options.unsubscribe(); } \r\n }\r\n\r\n toSearch(e: any) {\r\n let input = (e && e.target && e.target.value) ? e.target.value : '';\r\n \r\n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n let ul = <any> document.getElementById(`${this.id}-options`);\r\n if( ul ){\r\n let li = ul.getElementsByTagName(\"button\");\r\n for (let i = 0; i < li.length; i++) {\r\n const a = li[i];\r\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n if (txtValue.indexOf(filter) > -1) {\r\n li[i].style.display = \"\";\r\n } else {\r\n li[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n selectDescription(){\r\n if( this.list_selected_options && (this.list_selected_options).length > 0 ){\r\n for( let i = 0; i < (this.list_selected_options).length; i++ ){\r\n const item = this.list_selected_options[i];\r\n if( item.value === this.selected_item ){\r\n this.selected_description = item.description;\r\n this.toChange();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if( this.selected_item === undefined || this.selected_item === null || this.selected_item === '' ){\r\n this.selected_description = '';\r\n this.toChange();\r\n }\r\n \r\n }\r\n\r\n \r\n toInput(e: any){\r\n this.onInputChange.emit(this.selected_description);\r\n this.onChange.emit(e);\r\n }\r\n\r\n toChange(){\r\n setTimeout(() => {\r\n if( this.selected_item === undefined || this.selected_item === null ){\r\n this.selected_item = '';\r\n }\r\n this.toSearch('');\r\n this.search_text = '';\r\n this.dataListService.setActiveItem(this.selected_item);\r\n\r\n this.onInputChange.emit(this.selected_description);\r\n\r\n if( this.formulario ){\r\n this.formulario?.get('selected_item')?.setValue(this.selected_item);\r\n // const input_hidden = document.getElementById(`${this.id}-hidden`);\r\n this.toInput(this.formulario.get('selected_item'));\r\n } \r\n });\r\n }\r\n\r\n\r\n clearTextSearch(){\r\n this.search_text = '';\r\n this.toSearch('');\r\n }\r\n\r\n toOpen(){\r\n this.menu_show = !this.menu_show; \r\n this.resolve_position_dropdown(this.menu_show);\r\n this.onOpened.emit();\r\n }\r\n\r\n resolve_position_dropdown(open: boolean){\r\n if( open ){\r\n this.box_style = '';\r\n this.menu_on_top = ''; \r\n const id = `${this.id}`; \r\n const box = `box-${this.id}`;\r\n if( this.viewport_height === 0 ){\r\n this.viewport_height = window.innerWidth;\r\n }\r\n const rect = document.getElementById(id)?.getBoundingClientRect();\r\n const box_position = rect?.bottom || 0; \r\n setTimeout(() => {\r\n this.box_height = document.getElementById(box)?.clientHeight || 0;\r\n if( ( this.viewport_height - box_position) < this.box_height ){\r\n this.menu_on_top = 'menu-on-top';\r\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\r\n }\r\n }); \r\n }\r\n }\r\n\r\n toClose(){\r\n this.menu_show = false;\r\n this.onClosed.emit();\r\n }\r\n\r\n\r\n toResize(){\r\n window.addEventListener('resize', () => {\r\n this.viewport_width = window.innerWidth;\r\n this.viewport_height = window.innerHeight;\r\n this.resolve_position_dropdown(this.menu_show);\r\n });\r\n }\r\n\r\n toClick(){\r\n const box = `area-${this.id}`;\r\n window.addEventListener('click',(e: any) => { \r\n if( this.menu_show ){\r\n if( !(document.getElementById(box)?.contains(e.target)) ){ \r\n this.toClose();\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.selected_item;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.selected_item) {\r\n this.selected_item = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.selected_item) {\r\n this.selected_item = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n\r\n","<div *ngIf=\"formulario\" id=\"area-{{ id }}\" class=\"tc-dropdown\" [class.disabled]=\"disabled || loading\">\r\n <div *ngIf=\"loading\" class=\"loading-area\">\r\n <i class=\"fas fa-spinner fa-spin\"></i>\r\n </div>\r\n <!-- [attr.data-bs-toggle]=\"'dropdown'\" -->\r\n <button \r\n #_option\r\n [class.input-hidden]=\"!showInput\"\r\n [class.in-border]=\"border\"\r\n [class.loading-box]=\"loading\"\r\n [disabled]=\"disabled || loading\"\r\n class=\"dropdown-toggle button-select no-margin-bottom\" \r\n type=\"button\" \r\n id=\"{{ id }}\" \r\n \r\n [attr.aria-haspopup]=\"'true'\" \r\n [attr.aria-expanded]=\"'false'\" \r\n (click)=\"toOpen();toInput(_option)\" >\r\n\r\n <i class=\"tc-placeholder\" *ngIf=\"(selected_description === undefined || selected_description === null || selected_description === '' ) && !loading \">{{ placeholder }}</i>\r\n {{ selected_description }}\r\n <span><i class=\"fas fa-angle-down\"></i></span>\r\n </button>\r\n <div class=\"tc-dropdown-menu {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!menu_show\" [style]=\"box_style\">\r\n\r\n <div class=\"line-search\" *ngIf=\"search\">\r\n <table class=\"box-search\">\r\n <tr>\r\n\r\n <td class=\"area-input\">\r\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \r\n </td>\r\n\r\n <td class=\"area-icon\">\r\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\r\n <button type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\r\n </td>\r\n \r\n </tr>\r\n </table>\r\n </div>\r\n \r\n <div class=\"area-options\" id=\"{{ id }}-options\" (click)=\"toClose()\">\r\n <ng-content></ng-content> \r\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\r\n <ng-container *ngFor=\"let item of listItems\">\r\n <tcloud-ui-data-list-option [value]=\"item.value\">{{ item?.description }}</tcloud-ui-data-list-option>\r\n </ng-container>\r\n </ng-container> \r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"formulario\">\r\n <form [formGroup]=\"formulario\" style=\"display: none;\" >\r\n <input id=\"{{ id }}-hidden\" formControlName=\"selected_item\" type=\"hidden\">\r\n </form>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { TCloudUiDataListComponent } from './tcloud-ui-data-list.component';\r\nimport { TCloudUiDataListOptionComponent } from './tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDataListComponent,\r\n TCloudUiDataListOptionComponent,\r\n ],\r\n exports: [\r\n TCloudUiDataListComponent,\r\n TCloudUiDataListOptionComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class TCloudUiDataListModule { }\r\n","import { Subscription } from 'rxjs';\r\nimport { Component, EventEmitter, Input, forwardRef, ViewChild, ElementRef, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiChoiceIssuesComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-choice-issues',\r\n templateUrl: './tcloud-ui-choice-issues.component.html',\r\n styleUrls: ['./tcloud-ui-choice-issues.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]\r\n})\r\nexport class TCloudUiChoiceIssuesComponent {\r\n\r\n \r\n @Input() view: boolean = false;\r\n @Input() titulo: string = '';\r\n @Input() subTitulo: string = '';\r\n\r\n @Input() disabled: boolean = false;\r\n @Output() onChange = new EventEmitter<any>();\r\n\r\n subscription: Subscription | undefined;\r\n // Referencia o campo (input,select,textarea)\r\n @ViewChild('campo',{ read: true, static: false }) inputRef: ElementRef | undefined;\r\n\r\n innerValue: boolean = false;\r\n\r\n ID: string;\r\n\r\n constructor(){\r\n this.ID = 'tc-issue-' + Math.random().toString(36).substr(2, 9);\r\n }\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): boolean {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: boolean) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v;\r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n setV(v: any){\r\n console.log('setV',v);\r\n this.value = v;\r\n this.onChange.emit(v);\r\n }\r\n\r\n createID() {\r\n // Math.random should be unique because of its seeding algorithm.\r\n // Convert it to base 36 (numbers + letters), and grab the first 9 characters\r\n // after the decimal.\r\n return '_' + Math.random().toString(36).substr(2, 9);\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n<input #campo [(ngModel)]=\"value\" type=\"hidden\" [value]=\"false\" >\r\n<div class=\"box p-2 mt-3 mb-2\">\r\n <div class=\"row\">\r\n <div class=\"col-md-8\">\r\n <p class=\"titulo\">{{ titulo }}</p> \r\n </div>\r\n <div class=\"col-md-4 text-right\"> \r\n\r\n <table class=\"mt-2 mr-2\" *ngIf=\"!view\" >\r\n <tr>\r\n <td>\r\n <div class=\"form-fieldset\">\r\n <label [class.v-true]=\"value\" class=\"mr-1\"><input #campo name=\"{{ ID }}\" [value]=\"true\" type=\"radio\" [(ngModel)]=\"value\" (click)=\"setV(true)\" >Sim</label>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"form-fieldset\">\r\n <label [class.v-true]=\"!value\" class=\"ml-2\"><input #campo name=\"{{ ID }}\" [value]=\"false\" type=\"radio\" [(ngModel)]=\"value\" (click)=\"setV(false)\" >Não</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </table> \r\n\r\n <table class=\"mt-2 mr-2\" *ngIf=\"view\" >\r\n <tr>\r\n <td>\r\n <div class=\"form-fieldset view\" >\r\n <label *ngIf=\"value\" class=\"v-true disabled\" >Sim</label>\r\n <label *ngIf=\"!value\">Não</label>\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"col-md-12 mt-1\">\r\n <p class=\"sub-titulo\">{{ subTitulo }}</p>\r\n </div>\r\n <div class=\"col-md-12 mt-2 mb-1\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TCloudUiChoiceIssuesComponent } from './tcloud-ui-choice-issues.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiChoiceIssuesComponent,\r\n ],\r\n exports: [\r\n TCloudUiChoiceIssuesComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class TCloudUiChoiceIssuesModule { }\r\n","import { Component, OnInit, Input, EventEmitter, Output, OnDestroy, forwardRef } from '@angular/core';\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiMultiInputComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-multi-input',\n templateUrl: './tcloud-ui-multi-input.component.html',\n styleUrls: ['./tcloud-ui-multi-input.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\n})\nexport class TCloudUiMultiInputComponent implements OnInit, OnDestroy, Validator {\n\n input_value: any;\n\n @Input() tcList: any[] | undefined;\n\n @Input() placeholder: string = '';\n @Input() disabled: boolean = false;\n @Input() loading: boolean = false;\n @Input() required: string | undefined;\n\n values: any[] | undefined;\n count_actives: number = 0;\n\n use_validation_required: boolean = false;\n item_value: any | undefined;\n\n @Output() tcChange = new EventEmitter<any[]>();\n\n constructor() { }\n\n ngOnInit(): void {\n setTimeout(() => {\n this.toChange();\n });\n }\n\n addItem(item: any): void{\n if( this.disabled ){ return; }\n if( !this.tcList ){\n this.tcList = [];\n }\n (this.tcList).push({value: item}); \n this.toChange(); \n this.input_value = '';\n }\n\n\n removeItem(item: any, index: number): void{\n if( this.disabled ){ return; }\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n if( item === row.value && i === index ){\n (this.tcList).splice(index,1);\n break;\n }\n }\n this.toChange();\n }\n }\n\n private toChange(): void{\n let count_actives = 0;\n let itens: any[] = [];\n if( this.tcList ){\n for( let i = 0; i < (this.tcList).length; i++ ){\n const row = this.tcList[i];\n (itens).push(row);\n }\n }\n this.item_value = null;\n this.count_actives = count_actives;\n this.tcChange.emit(itens);\n this.onChangeCallback(this.tcList);\n }\n\n check_is_valid(): boolean{\n if( this.tcList ){\n return ((this.tcList).length > 0) ? true : false;\n }\n return false;\n }\n\n onChangeTouched(){ \n this.onTouchedCallback(); \n }\n\n\n\n\n\n\n\n @Output() onChange = new EventEmitter<any>();\n // @Output() ngModelChange = new EventEmitter<any>();\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n toSetDefault(value: any){\n this.tcList = value;\n }\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n item_width(text: any) {\n const value = `${text}`;\n const value_len = (value).length;\n let max_width = 155;\n if( value_len < 15 ){ max_width = 138; }\n if( value_len < 10 ){ max_width = 105; }\n if( value_len < 8 ){ max_width = 85; }\n if( value_len < 5 ){ max_width = 70; }\n return { 'max-width': max_width + 'px'};\n }\n\n ngOnDestroy(): void {\n \n }\n}\n","<div>\n\n <table>\n <tr>\n <td>\n <input class=\"tc-form-control\" (blur)=\"onChangeTouched()\" [(ngModel)]=\"item_value\" [class.tc-parent-validation]=\"use_validation_required\" type=\"text\" [(ngModel)]=\"input_value\" [disabled]=\"disabled || loading\" name=\"input_value\">\n </td>\n <td>\n <button\n [disabled]=\"!item_value || disabled || loading\"\n title=\"Adicionar\"\n class=\"btn-plus-select\"\n (click)=\"addItem(input_value);onChangeTouched()\"\n type=\"button\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </td>\n </tr>\n </table>\n \n <div class=\"box-itens-selected\" *ngIf=\"(tcList && tcList.length > 0)\">\n <ng-container *ngFor=\"let item of tcList; let i = index\">\n \n <div class=\"box-label\" [ngStyle]=\"item_width(item.value)\">\n <div class=\"box-value\" [title]=\"item.value\" >\n {{ item.value }} \n </div>\n <div class=\"box-action\">\n <button\n [disabled]=\"tcList === undefined || (tcList && tcList.length === 0) || disabled || loading\"\n title=\"Remover\"\n type=\"button\"\n (click)=\"removeItem(item.value, i);onChangeTouched()\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n </ng-container>\n </div>\n \n</div>\n ","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiMultiInputComponent } from './tcloud-ui-multi-input.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [TCloudUiMultiInputComponent],\n exports: [TCloudUiMultiInputComponent],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n CommonModule\n ]\n})\nexport class TCloudUiMultiInputModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'monthname'})\r\nexport class MonthNamePipe implements PipeTransform {\r\n\r\n meses: string[] = ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'];\r\n \r\n\r\n transform(yyyy_mm: string): string{\r\n\r\n if( yyyy_mm !== '' ){\r\n\r\n let part = (yyyy_mm).split('-');\r\n if( (part).length === 2 ){\r\n let yyyy = +part[0];\r\n let mm = +part[1];\r\n\r\n return this.meses[(mm-1)];\r\n }\r\n }\r\n return '';\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'statusinfo'})\r\nexport class StatusInfoPipe implements PipeTransform {\r\n\r\n status_default = [\r\n { key: 'SUCCEEDED', value: 'Finalizado' },\r\n { key: 'PENDING', value: 'Pendente' },\r\n { key: 'FAILED', value: 'Erro' },\r\n { key: 'RUNNING', value: 'Em andamento' },\r\n { key: 'REGISTRATION', value: 'Cadastro Pendente' },\r\n { key: 'SUCCEED', value: 'Finalizado' },\r\n { key: 'WAITING', value: 'Aguardando' },\r\n { key: 'REJECTED', value: 'Rejeitado' },\r\n ];\r\n\r\n status_proposal = [\r\n { key: 'SUCCEEDED', value: 'Finalizado' },\r\n { key: 'PENDING', value: 'Aguardando Aprovação' },\r\n { key: 'FAILED', value: 'Erro' },\r\n { key: 'RUNNING', value: 'Provisionando Ambientes' },\r\n { key: 'REGISTRATION', value: 'Cadastro Pendente' },\r\n { key: 'SUCCEED', value: 'Finalizado' },\r\n { key: 'WAITING', value: 'Provisionando Ambientes' },\r\n { key: 'REJECTED', value: 'Rejeitada' },\r\n ]; \r\n\r\n transform(status_name: any, tema?: string): string{\r\n\r\n let map_tema = this.status_default;\r\n\r\n if( tema && tema !== undefined){\r\n switch (tema) {\r\n case 'proposal': map_tema = this.status_proposal; break;\r\n }\r\n }\r\n\r\n let status_name_in_search = ''; \r\n if( tema && tema === 'ALL'){\r\n\r\n map_tema = this.status_default;\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n map_tema = this.status_proposal;\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break\r\n }\r\n }\r\n }\r\n\r\n }else{\r\n if( status_name !== undefined && status_name !== null && `${status_name}` !== '' ){\r\n for( let i = 0; i < (map_tema).length; i++ ){\r\n if( (`${status_name}`).toLowerCase() === (`${map_tema[i].key}`).toLowerCase() ){\r\n status_name_in_search += ' ' + map_tema[i].value;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n if( status_name_in_search !== '' ){\r\n return status_name_in_search;\r\n }\r\n\r\n return status_name;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'respective'})\r\nexport class RespectivePipe implements PipeTransform {\r\n\r\n map = [\r\n // Tipos de Ambientes\r\n { key: 'production', value: 'Produção' },\r\n { key: 'development', value: 'Desenvolvimento' },\r\n { key: 'qa', value: 'Qualidade' },\r\n\r\n // Implantação / Migração\r\n { key: 'golive', value: 'Pré GoLive' },\r\n { key: 'kickoff', value: 'Kickoff' },\r\n\r\n // Tipos de Clientes\r\n { key: 'prime', value: 'Prime' },\r\n { key: 'p', value: 'Pequeno' },\r\n { key: 'm', value: 'Médio' },\r\n { key: 'g', value: 'Grande' },\r\n\r\n // Produtos\r\n { key: '2c', value: 'Carol' },\r\n { key: 'carol', value: 'carol' },\r\n { key: 'consinco', value: 'Consinco' },\r\n { key: 'datasul', value: 'Datasul' },\r\n { key: 'fluig', value: 'Fluig' },\r\n { key: 'license-server', value: 'License Server' },\r\n { key: 'pep', value: 'PEP' },\r\n { key: 'protheus', value: 'Protheus' },\r\n { key: 'pvi', value: 'PVI' },\r\n { key: 'rm', value: 'RM' },\r\n { key: 'sfa', value: 'SFA' },\r\n { key: 'smartrm', value: 'Smart RM' },\r\n { key: 'smartrmcluster', value: 'Smart RM Cluster' },\r\n { key: 'smartrmcontrol', value: 'Smart RM Control' },\r\n { key: 'taf', value: 'TAF' },\r\n { key: 'treports', value: 'Treports' },\r\n { key: 'tss', value: 'TSS' },\r\n { key: 'winthor', value: 'Winthor' },\r\n\r\n // Tipos de SO\r\n { key: 'windows', value: 'Windows' },\r\n { key: 'linux', value: 'Linux' },\r\n\r\n // Tipos responsaveis\r\n { key: 'prime_customer_success', value: 'Customer Success' },\r\n { key: 'project_manager', value: 'Gerente de Projetos' },\r\n { key: 'prime_engineer', value: 'Engenheiro Prime' }\r\n\r\n ];\r\n \r\n\r\n transform(v: any): string{\r\n\r\n if( v !== undefined && v !== null && v !== '' ){\r\n\r\n if( typeof v === 'string' ){\r\n for( let i = 0; i < (this.map).length; i++ ){\r\n let custom_v = v;\r\n custom_v = (custom_v).toLowerCase();\r\n custom_v = (custom_v).trim();\r\n custom_v = (custom_v).replace(/\\_/g, \"-\");\r\n const current_key = (this.map[i].key).replace(/\\_/g, \"-\");\r\n if( (custom_v).toLowerCase() === current_key ){\r\n return `${this.map[i].value}`;\r\n }\r\n }\r\n }else{\r\n return '';\r\n }\r\n \r\n \r\n }\r\n return `${v}`;\r\n }\r\n\r\n \r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'cnpj'})\r\nexport class CNPJPipe implements PipeTransform {\r\n mascara: string = \"##.###.###/####-##\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length == 14 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n transform(cnpj: string): string{ \r\n return this.createMask(cnpj);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'cpf'})\r\nexport class CPFPipe implements PipeTransform {\r\n mascara: string = \"###.###.###-##\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length == 11 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n transform(cpf: string): string{ \r\n return this.createMask(cpf);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'bytes'})\r\nexport class BytesPipe implements PipeTransform {\r\n\r\n formatBytes(a: number, b = 2): string {\r\n if (!a) return '---';\r\n if (0 === a) return '0 Bytes';\r\n const c = 0 > b ? 0 : b, d = Math.floor(Math.log(a) / Math.log(1024));\r\n return parseFloat((a / Math.pow(1024, d)).toFixed(c)) + ' ' + [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"][d];\r\n }\r\n \r\n transform(value: any): string{ \r\n const b: number = +value; \r\n return this.formatBytes(b);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'datebr'})\r\nexport class DateBRPipe implements PipeTransform {\r\n mascara: string = \"##/##/####\";\r\n createMask(v: any){\r\n const mask = this.mascara;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n createMask4(v: any){\r\n const mask = \"##/##\";\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n create_mask(v: string, _mask: string){\r\n const mask = _mask;\r\n let str = v.replace(/\\s/g,'');\r\n let strMask = '';\r\n if( str.length <= 10 ){\r\n let j = 0;\r\n for( let i = 0; i < mask.length; i++){\r\n if( mask[i] == '#' ){\r\n strMask += str[j++];\r\n }else{\r\n strMask += mask[i];\r\n }\r\n }\r\n }else{\r\n return v;\r\n }\r\n return strMask;\r\n }\r\n\r\n transform(v: string): string{ \r\n \r\n if( v ){\r\n\r\n v = (v).replace(/\\//g, \"\");\r\n\r\n if( (v).length == 1 ){ return this.create_mask(v,'#'); }\r\n if( (v).length == 2 ){ return this.create_mask(v,'##/'); }\r\n if( (v).length == 3 ){ return this.create_mask(v,'##/#'); }\r\n if( (v).length == 4 ){ return this.create_mask(v,'##/##'); }\r\n if( (v).length == 5 ){ return this.create_mask(v,'##/##/#'); }\r\n if( (v).length == 6 ){ return this.create_mask(v,'##/##/##'); }\r\n if( (v).length == 7 ){ return this.create_mask(v,'##/##/###'); }\r\n return this.create_mask(v,'##/##/####');\r\n }\r\n return '';\r\n }\r\n}","import { DatePipe } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { StatusInfoPipe } from '../_pipes';\r\n\r\n@Injectable({\r\n providedIn: 'root', \r\n})\r\nexport class TCloudUiSearchInObjectService {\r\n\r\n constructor(\r\n private datepipe: DatePipe,\r\n private statusinfo: StatusInfoPipe\r\n ) { }\r\n\r\n private isADate(d: any){\r\n if( d && d instanceof Date && !isNaN( d.valueOf()) ){\r\n if (Object.prototype.toString.call(d) === \"[object Date]\") {;\r\n if (isNaN(d.getTime())) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private normalize(text: any): string{\r\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\r\n return v;\r\n }\r\n\r\n /**\r\n * meet - Procura em object - filtro utilizado para busca em tabelas\r\n * @param valor texto a ser procurado\r\n * @param emObject object alvo de onde procurar\r\n * @param camposDebusca (Opcional) informa em quais são as keys que deverá procurar \r\n */\r\n meet(valor: string, emObject: any, camposDebusca?: any): any{\r\n if (valor != \"\"){\r\n\r\n if( emObject.length < 1 ){\r\n return emObject;\r\n }\r\n if( camposDebusca === undefined || camposDebusca === null ){\r\n camposDebusca = [];\r\n for (const key in emObject[0]) {\r\n camposDebusca.push( key );\r\n }\r\n }\r\n\r\n if( camposDebusca.length < 1 ){\r\n return emObject;\r\n }\r\n \r\n let isObject = false;\r\n\r\n valor = this.normalize(valor);\r\n var result=[]; \r\n for (const key in emObject) {\r\n var oObject = emObject[key];\r\n if (oObject && (typeof oObject === 'object') ){\r\n isObject = true;\r\n for( const objectvalue of camposDebusca ){\r\n const dt = new Date(oObject[objectvalue])\r\n if( this.isADate(dt) && typeof ((dt).getMonth) === 'function' ){\r\n const data1 = this.datepipe.transform(dt, 'dd/MM/yyyy hh:mm');\r\n const data2 = this.datepipe.transform(dt, 'medium');\r\n const strToTest = this.normalize(data1+\" \"+data2+\" \"+oObject[objectvalue]);\r\n if( (strToTest.indexOf(valor)>=0) && (result).indexOf(oObject) == -1 ){\r\n result.push(oObject); break;\r\n }\r\n } else {\r\n const strToTest = this.normalize(this.statusinfo.transform(oObject[objectvalue], 'ALL')+\"\"); \r\n if( (strToTest.indexOf(valor)>=0) && (result).indexOf(oObject) == -1 ){\r\n result.push(oObject); break;\r\n }\r\n }\r\n } \r\n }\r\n }\r\n\r\n if( emObject && typeof emObject === 'object' && Array.isArray(emObject) && !isObject ){\r\n // is array \r\n const v = this.normalize(`${valor}`);\r\n for( let i = 0; i < (emObject).length; i++ ){\r\n const item = this.normalize(`${emObject[i]}`);\r\n if( item.includes(v) || item === v ){\r\n result.push(emObject[i]);\r\n }\r\n }\r\n }\r\n\r\n\r\n return result;\r\n }\r\n return emObject;\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\nimport { TCloudUiSearchInObjectService } from '../../_services/search-in-object.service';\n\n@Component({\n selector: 'tcloud-ui-input-search',\n templateUrl: './tcloud-ui-input-search.component.html',\n styleUrls: ['./tcloud-ui-input-search.component.scss']\n})\nexport class TCloudUiInputSearchComponent implements OnInit {\n\n /**\n * tcloud-ui-input-search - Procura pelo valor informado no objeto indicado\n * @param placeholder string - placeholder no input\n * @param mirror boolean - Exibir os valores espelhados ou somente os valores encontrados\n * @param base_object object - Objeto onde ser procurado \n * @param found - Emite o valor encontrado\n */\n\n @Input() placeholder: string = 'Procurar...';\n\n @Input() mirror: boolean = true;\n\n search_text: string = '';\n\n private _base_object: any;\n @Input() set base_object(base_object: any){\n if( base_object ){\n this._base_object = base_object;\n\n if( this.mirror ){\n this.result_object = base_object;\n this.toFound();\n }\n } \n }\n get base_object(){ return this._base_object; }\n\n result_object: any | undefined;\n\n @Output() found = new EventEmitter<any>();\n\n constructor(\n private searchInObjectService: TCloudUiSearchInObjectService\n ) { }\n\n ngOnInit(): void {\n }\n\n buscar(value: string){\n const result = this.searchInObjectService.meet(`${value}`, this.base_object);\n this.result_object = JSON.parse(JSON.stringify(result));\n this.toFound();\n }\n\n clean(){\n if( this.mirror ){\n this.buscar('');\n }else{\n this.result_object = []; \n this.toFound();\n }\n this.search_text = '';\n }\n\n toFound(){\n this.found.emit( this.result_object );\n }\n\n}\n","<table class=\"tc-group-input-table\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <td><input class=\"tc-form-control box-ui-input-group\" [(ngModel)]=\"search_text\" type=\"text\" (keyup)=\"buscar(search_text)\" placeholder=\"{{ placeholder }}\" ></td>\n <td> \n <ng-container *ngIf=\"search_text === ''\"> \n <button type=\"button\" (click)=\"buscar(search_text)\"><i class=\"fas fa-search\"></i></button>\n </ng-container> \n\n <ng-container *ngIf=\"search_text !== ''\"> \n <button type=\"button\" (click)=\"clean()\"><i class=\"fas fa-times\"></i></button>\n </ng-container>\n </td>\n </tr>\n</table>","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiInputSearchComponent } from './tcloud-ui-input-search.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiInputSearchComponent\n ],\n exports: [\n TCloudUiInputSearchComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule\n ]\n})\nexport class TCloudUiInputSearchModule { }\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tcloud-ui-not-found',\r\n templateUrl: './tcloud-ui-not-found.component.html',\r\n styleUrls: ['./tcloud-ui-not-found.component.scss']\r\n})\r\nexport class TCloudUiNotFoundComponent \r\n{\r\n\r\n @Input() message: string = 'Nenhum registro encontrado.';\r\n\r\n public styleIcon: any = {};\r\n\r\n ngOnInit(): void\r\n {\r\n }\r\n}\r\n\r\n","<div class=\"tc-container-empty\">\r\n <div class=\"tc-message-empty-icon\">\r\n <i class=\"fas fa-exclamation-triangle\"></i>\r\n </div>\r\n <div *ngIf=\"message !== ''\" class=\"tc-message-empty\" [innerHTML]=\"message\" ></div>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { TCloudUiNotFoundComponent } from './tcloud-ui-not-found.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiNotFoundComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ],\r\n exports: [\r\n TCloudUiNotFoundComponent\r\n ],\r\n})\r\nexport class TCloudUiNotFoundModule {}","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-table',\n templateUrl: './tcloud-ui-table.component.html',\n styleUrls: ['./tcloud-ui-table.component.scss']\n})\nexport class TCloudUiTableComponent implements OnInit {\n\n @Input() responsive: boolean = true;\n @Input() striped: boolean = false;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<table class=\"tc-table\" [class.tc-table-striped]=\"striped\" [class.tc-table-responsive]=\"responsive\" cellspacing=\"0\">\n <ng-content select=\"[tc-thead]\"></ng-content>\n <ng-content select=\"[tc-tbody]\"></ng-content>\n</table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiTableComponent } from './tcloud-ui-table.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiTableComponent,\n ],\n exports: [\n TCloudUiTableComponent,\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiTableModule { }\n","import { Component, Input, OnInit } from '@angular/core';\n\nclass Step {\n\n constructor(){\n this.status = '';\n this.index = 0;\n this.class = '';\n this.second_class = '';\n }\n\n status: string;\n index: number;\n class: string;\n second_class: string;\n}\n\n@Component({\n selector: 'tcloud-ui-number-step',\n templateUrl: './tcloud-ui-number-step.component.html',\n styleUrls: ['./tcloud-ui-number-step.component.scss']\n})\nexport class TCloudUiNumberStepComponent implements OnInit {\n\n @Input() step: number = 7;\n @Input() useIconCheck: boolean = false;\n\n private _active: number = 0;\n @Input() set active( active: number ){\n if( active && active !== this._active ){\n this._active = active;\n this.build_steps();\n } \n }\n get active(): number{ return this._active; }\n\n private _inactives = [] as number[] | undefined;\n @Input() set inactives( inactives: number[] | undefined){\n if( inactives && inactives !== this._inactives ){\n this._inactives = inactives;\n this.build_steps();\n }\n }\n get inactives(): number[] | undefined { return this._inactives; }\n\n\n private _complete: boolean = false;\n @Input() set complete( complete: boolean ){\n if( complete && complete !== this._complete ){\n this._complete = complete;\n this.build_steps();\n } \n }\n get complete(): boolean{ return this._complete; }\n\n trilha = new Array<Step>();\n\n constructor() { }\n\n ngOnInit(): void {\n setTimeout(() => { this.build_steps(); });\n }\n\n build_steps(){\n let trilha = new Array<Step>();\n if( this.step && this.step > 0 ){\n for( let i = 0; i < this.step; i++ ){\n (trilha).push({\n status: '',\n index: i+1,\n class: 'step-default',\n second_class: '',\n })\n }\n }\n\n if( this.active > this.step ){\n this.active = this.step;\n this.complete = true;\n }\n\n if( this.complete ){\n this.active = this.step;\n }\n\n if( this.active && this.active > 0 ){\n for( let i = 0; i < this.active; i++ ){ \n trilha[i].class = \"step-progress\"; \n if( (i+1) === this.active && !this.complete ){\n trilha[i].class = \"step-active\";\n }\n }\n }\n \n if( this.inactives && (this.inactives).length > 0 ){\n for( let i = 0; i < (this.inactives).length; i++ ){\n const icon = this.inactives[i];\n if( icon && icon > 0 ){\n trilha[(icon-1)].second_class = \"step-inactive\"; \n } \n }\n }\n\n this.trilha = trilha; \n }\n}\n","<table class=\"table-trilha\" cellspacing=\"0\" cellpadding=\"0\">\n <tr>\n <ng-container *ngFor=\"let fase of trilha; let i = index\" >\n <td class=\"area-circle\">\n <div class=\"circle icon-{{ fase.class }} {{ fase.second_class }} \">\n\n <ng-container *ngIf=\"useIconCheck\">\n <ng-container *ngIf=\"i < active && fase.second_class !== 'step-inactive'\">\n <div class=\"area-index\" *ngIf=\"(active-1) === i\">{{ active }}</div>\n <div class=\"area-index\" *ngIf=\"(active-1) > i\"><i class=\"fas fa-check\"></i></div>\n </ng-container>\n\n <ng-container *ngIf=\"i < active && fase.second_class === 'step-inactive'\">\n <div class=\"area-index\"><i class=\"far fa-circle\"></i></div>\n </ng-container>\n\n <ng-container *ngIf=\"i >= active\">\n <div class=\"area-index\">{{ i + 1 }}</div>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!useIconCheck\">\n <div class=\"area-index\">{{ i + 1 }}</div>\n </ng-container>\n \n </div>\n </td>\n <td class=\"area-line\" *ngIf=\"(i+1) < (trilha).length\">\n <div class=\"step-line {{ fase.class }}\"></div> \n </td>\n </ng-container>\n </tr>\n</table>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiNumberStepComponent } from './tcloud-ui-number-step.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiNumberStepComponent\n ],\n exports: [\n TCloudUiNumberStepComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiNumberStepModule { }\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-scroll-box',\n templateUrl: './tcloud-ui-scroll-box.component.html',\n styleUrls: ['./tcloud-ui-scroll-box.component.scss']\n})\nexport class TCloudUiScrollBoxComponent implements OnInit {\n\n @Input() border: boolean = true;\n @Input() maxHeight: number = 400;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"tc-box-scroll\" [class.tc-box-scroll-border]=\"border\" >\n <div class=\"box-content\" [style]=\"'max-height: '+maxHeight+'px'\" >\n <ng-content></ng-content>\n </div> \n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiScrollBoxComponent } from './tcloud-ui-scroll-box.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiScrollBoxComponent\n ],\n exports: [\n TCloudUiScrollBoxComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiScrollBoxModule { }\n","export interface TCDataFilters{\r\n description: string; \r\n searchIn: string;\r\n type?: TCFiltersType;\r\n name?: string;\r\n id?: string;\r\n\r\n searchText?: any;\r\n accept?: boolean;\r\n placeholder?: string;\r\n width?: string;\r\n data?: TCDataOtions[];\r\n condition?: TCCondition;\r\n value?: any;\r\n\r\n // For datepicker\r\n defaultValuePeriodStartStop?: any;\r\n UTC?: boolean;\r\n useOptionsDateTime?: boolean;\r\n}\r\n\r\nexport interface TCDataOtions {\r\n description: string;\r\n value: any;\r\n}\r\n\r\nexport enum TCFiltersType{\r\n text = \"text\",\r\n number = \"number\",\r\n select = \"select\",\r\n boolean = \"boolean\",\r\n datetime = \"datetime-local\",\r\n hidden = \"hidden\",\r\n date = \"date-local\",\r\n}\r\n\r\nexport enum TCCondition{\r\n equal = \"equal\",\r\n gte = \"gte\",\r\n lte = \"lte\",\r\n lt = \"lt\",\r\n gt = \"gt\"\r\n}","import { Component, OnInit, ViewChild, ElementRef, Output, EventEmitter, forwardRef, Input, ViewEncapsulation, ChangeDetectorRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DateBRPipe } from '../../_pipes';\r\n\r\n// https://mymth.github.io/vanillajs-datepicker/#/\r\ndeclare var Datepicker: any;\r\n\r\nvar translation = {\r\n ptBR: {\r\n days: [\"Domingo\", \"Segunda\", \"Terça\", \"Quarta\", \"Quinta\", \"Sexta\", \"Sábado\"],\r\n daysShort: [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"],\r\n daysMin: [\"Do\", \"Se\", \"Te\", \"Qu\", \"Qu\", \"Se\", \"Sa\"],\r\n months: [\"Janeiro\", \"Fevereiro\", \"Março\", \"Abril\", \"Maio\", \"Junho\", \"Julho\", \"Agosto\", \"Setembro\", \"Outubro\", \"Novembro\", \"Dezembro\"],\r\n monthsShort: [\"Jan\", \"Fev\", \"Mar\", \"Abr\", \"Mai\", \"Jun\", \"Jul\", \"Ago\", \"Set\", \"Out\", \"Nov\", \"Dez\"],\r\n today: \"Hoje\",\r\n clear: \"Limpar\",\r\n titleFormat: \"MM y\",\r\n format: \"dd/mm/yyyy\",\r\n weekStart: 0\r\n }\r\n};\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDatepickerComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-datepicker',\r\n templateUrl: './tcloud-ui-datepicker.component.html',\r\n styleUrls: [\r\n './tcloud-ui-datepicker.component.scss',\r\n './datepicker/css/datepicker.min.css',\r\n './datepicker/css/style.css',\r\n ],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TCloudUiDatepickerComponent implements OnInit {\r\n\r\n // multiple permite selecionar multiplas datas\r\n @Input() multiple: boolean = false;\r\n\r\n // maxNumberOfDates - Maximum number of dates users can select. No limit is applied if 0 is set.\r\n // Depende de: multiple como true\r\n @Input() maxNumberOfDates: number = 0;\r\n\r\n // daysOfWeekDisabled - Dias da semana desabilidatos = 0 para sabado até 6 para domingo\r\n @Input() daysOfWeekDisabled: number[] = [];\r\n\r\n // minDate - Data minima para exibicao do calendario - ex: 01/01/2020\r\n @Input() minDate: string = '';\r\n\r\n // maxDate - Data maxima para exibicao do calendario - ex: 31/12/2020\r\n @Input() maxDate: string = '';\r\n\r\n // datesDisabled - Datas desabilitadas - Ex: ['12/10/2020','25/12/2020']\r\n @Input() datesDisabled: string[] = [];\r\n\r\n // modeInput - Exibe um input para quando clicar abrir o calendario\r\n @Input() modeInput: boolean = false;\r\n\r\n @Input() useBorder: boolean = true;\r\n\r\n // onChange - Dispara a data selecionada\r\n @Output() onChange = new EventEmitter<any|undefined>();\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n\r\n //console.log('ngModel', v);\r\n\r\n if( v && v !== this.innerValue ){\r\n this.innerValue = v; //this.toSetMask(v); \r\n this.onChange.emit(v);\r\n } \r\n }\r\n @Output() ngModelChange = new EventEmitter<any|undefined>();\r\n\r\n @ViewChild('input_datepicker', {static: false}) input_datepicker: ElementRef<HTMLElement> | undefined;\r\n private datepicker: any | undefined;\r\n @Input() code: string = 'tcloud-ui-datepicker';\r\n\r\n constructor(\r\n private _DateBRPipe: DateBRPipe,\r\n private _changeDetectorRef: ChangeDetectorRef\r\n ) { }\r\n\r\n ID: string = '';\r\n\r\n ngOnInit(): void {\r\n this.ID = this.generateID();\r\n Datepicker.locales.ptBR = translation.ptBR; \r\n this.start_datepicker();\r\n }\r\n\r\n generateID(): string{\r\n return `tcloud-ui-datepicker-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n toSetMask(v: string){\r\n return this._DateBRPipe.transform(v);\r\n }\r\n\r\n get_options(){\r\n let options = {\r\n nextArrow: `<i class=\"fas fa-caret-right\"></i>`,\r\n prevArrow: `<i class=\"fas fa-caret-left\"></i>`,\r\n format: 'dd/mm/yyyy', \r\n daysOfWeekHighlighted: [0,6],\r\n language: 'ptBR'\r\n } as any;\r\n\r\n if( (this.daysOfWeekDisabled).length > 0 ){\r\n options['daysOfWeekDisabled'] = this.daysOfWeekDisabled;\r\n }\r\n\r\n if( (this.datesDisabled).length > 0 ){\r\n options['datesDisabled'] = this.datesDisabled;\r\n }\r\n\r\n if( this.minDate !== '' ){\r\n options['minDate'] = this.minDate;\r\n }\r\n\r\n if( this.maxDate !== '' ){\r\n options['maxDate'] = this.maxDate;\r\n }\r\n\r\n if( this.multiple ){ \r\n options['maxNumberOfDates'] = this.maxNumberOfDates;\r\n }\r\n\r\n return options;\r\n }\r\n\r\n clearDate(){\r\n if( this.datepicker ){\r\n this.datepicker.setDate({clear: true});\r\n }\r\n }\r\n\r\n start_datepicker(){\r\n setTimeout(() => { \r\n const input_datepicker = <any> this.input_datepicker?.nativeElement;\r\n if( input_datepicker ){\r\n\r\n input_datepicker.setAttribute('placeholder','DD/MM/YYYY');\r\n\r\n if( !this.useBorder ){\r\n input_datepicker.setAttribute('style','border:none; text-align: center; max-width: 105px; padding: 0;');\r\n }\r\n \r\n\r\n this.datepicker = new Datepicker( input_datepicker, this.get_options() );\r\n\r\n if( this.innerValue && this.innerValue !== '' ){\r\n this.toSetDefaultDate(this.innerValue);\r\n }\r\n\r\n input_datepicker.addEventListener('keyup', (event: any) => {\r\n const v = (input_datepicker['value']) ? input_datepicker['value'] : '';\r\n input_datepicker['value'] = this.toSetMask(v);\r\n\r\n if( (input_datepicker['value']).length >= 10 ){\r\n const v = (input_datepicker['value']).substring(0, 10);\r\n const part_date = (v).split('/');\r\n if( (part_date).length === 3 ){\r\n\r\n let dia = part_date[0];\r\n let mes = part_date[1];\r\n let ano = part_date[2];\r\n\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n\r\n const dt = new Date(ano+'-'+mes+'-'+dia);\r\n if( dt ){\r\n input_datepicker?.changeDate;\r\n document.getElementById(this.ID)?.blur();\r\n this.onChange.emit(this.innerValue);\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n }\r\n }else{\r\n this.innerValue = undefined;\r\n this.onChange.emit(this.innerValue);\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n //console.log('input_datepicker', input_datepicker['value'] );\r\n })\r\n\r\n\r\n input_datepicker.addEventListener('changeDate', (event: any) => {\r\n //console.log(event);\r\n if( event?.detail?.date ){\r\n this.toSelectedDate( event.detail );\r\n }else{\r\n //console.log('event null');\r\n this.innerValue = '';\r\n this.ngModelChange.emit(this.innerValue);\r\n }\r\n })\r\n } \r\n });\r\n }\r\n\r\n toSetDate(){\r\n // Ex de uso\r\n const dates = ['18/11/2022'];\r\n if( this.datepicker ){\r\n this.datepicker.setDate(dates);\r\n } \r\n }\r\n\r\n toSetDefaultDate(date: string | string[]){\r\n \r\n if( date === undefined || date === null || date === '' ){\r\n this.clearDate();\r\n return;\r\n }\r\n\r\n let dates = [] as string[];\r\n\r\n if( date && typeof date === 'string' ){\r\n if( (date).includes(',') ){\r\n const dates = (date).split(',');\r\n date = dates;\r\n if( !this.multiple ){\r\n this.innerValue = date = dates[0];\r\n this.ngModelChange.emit(this.innerValue); \r\n }\r\n }\r\n }\r\n \r\n if( date && typeof date === 'string' ){\r\n (dates).push( date ); \r\n }else{\r\n dates = <Array<string>> date;\r\n }\r\n if( this.datepicker ){\r\n this.datepicker.setDate(dates); \r\n } \r\n }\r\n\r\n toSelectedDate(detail: any){ \r\n if( detail.datepicker.dates && (detail.datepicker.dates).length > 0 ){\r\n if( this.multiple ){\r\n let dates = [];\r\n for( let i = 0; i < (detail.datepicker.dates).length; i++ ){\r\n const timeStamp = <number> detail.datepicker.dates[i];\r\n (dates).push( this.format_date( timeStamp ) );\r\n }\r\n this.innerValue = dates;\r\n this.onChange.emit(this.innerValue); \r\n }else{\r\n const timeStamp = <number> detail.datepicker.dates[0];\r\n const date = this.format_date( timeStamp );\r\n this.onChange.emit(date);\r\n this.innerValue = date;\r\n } \r\n }else{\r\n this.clearDate();\r\n this.innerValue = null;\r\n this.onChange.emit(this.innerValue);\r\n } \r\n this.value = this.innerValue;\r\n this.ngModelChange.emit(this.innerValue); \r\n }\r\n\r\n format_date(timeStamp: number){\r\n var date = new Date(timeStamp);\r\n\r\n let dia = `${date.getDate()}`;\r\n let mes = `${date.getMonth()+1}`;\r\n let ano = `${date.getFullYear()}`;\r\n\r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n\r\n const dateFormat = `${dia}/${mes}/${ano}`;\r\n return dateFormat;\r\n }\r\n\r\n toClickIn(id: string){\r\n const element = document.getElementById(id) as any;\r\n setTimeout(() => { \r\n element?.datepicker?.show();\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n\r\n //console.log('value', v);\r\n\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; // this.toSetMask(v); \r\n this.onChangeCallback(v);\r\n }else{\r\n // this.innerValue = '';\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n this.innerValue = value;\r\n this.toSetDefaultDate(value);\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n","<!-- Input mode -->\r\n<ng-container *ngIf=\"modeInput\">\r\n\r\n <div class=\"input-tc-datepicker\" [class.no-border]=\"!useBorder\">\r\n <table class=\"table-box-input\">\r\n <tr>\r\n <td class=\"td-icon\">\r\n <div class=\"delimiter-time-icon\" (click)=\"toClickIn(ID)\" ><i class=\"fas fa-calendar-alt\"></i></div>\r\n </td>\r\n <td class=\"td-date\">\r\n <input #input_datepicker type=\"text\" name=\"{{ID}}\" id=\"{{ID}}\" class=\"form-control\" >\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n\r\n \r\n \r\n</ng-container>\r\n\r\n<!-- Inline mode -->\r\n<ng-container *ngIf=\"!modeInput\"> \r\n <div #input_datepicker id=\"{{ID}}\" pattern=\"/^\\d{2}\\/\\d{2}\\/\\d{4}$/\"></div>\r\n</ng-container>\r\n\r\n\r\n<!-- EX de uso \r\n <tc-datepicker \r\n [multiple]=\"false\"\r\n [daysOfWeekDisabled]=\"[0,6]\"\r\n [minDate]=\"'18/11/2021'\"\r\n [maxDate]=\"'18/12/2023'\"\r\n [datesDisabled]=\"['12/10/2022','25/12/2022']\"\r\n [modeInput]=\"false\"\r\n [(ngModel)]=\"dateValue\" >\r\n </tc-datepicker>\r\n \r\n // multiple = false\r\n // dateValue - string - pode ser: 12/12/2022 \r\n\r\n // multiple = true\r\n // dateValue - string - pode ser: 11/12/2022,12/12/2022 ... \r\n\r\n <pre>data: {{ dateValue }}</pre>\r\n-->\r\n","import { Component, forwardRef, OnInit, EventEmitter, Output, Input, ViewChild, ElementRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ISelectOptions } from '../tcloud-ui-data-list/tcloud-ui-data-list';\r\n\r\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TCloudUiDatepickerTimeComponent),\r\n multi: true\r\n};\r\n\r\nconst noop = () => {\r\n};\r\n\r\n@Component({\r\n selector: 'tcloud-ui-datepicker-time',\r\n templateUrl: './tcloud-ui-datepicker-time.component.html',\r\n styleUrls: ['./tcloud-ui-datepicker-time.component.scss'],\r\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]\r\n})\r\nexport class TCloudUiDatepickerTimeComponent implements OnInit {\r\n\r\n @Input() UTC: boolean = false;\r\n\r\n show_date_picker: boolean = true;\r\n\r\n private _ngModel: any | undefined;\r\n @Input() set ngModel(v: any){\r\n if( v && v !== this.innerValue ){\r\n this.innerValue = v; \r\n } \r\n }\r\n @Output() ngModelChange = new EventEmitter<Date>();\r\n\r\n @Output() onChange = new EventEmitter<Date>();\r\n @Output() eventChange = new EventEmitter<any>();\r\n\r\n @Input() useOptionsDateTime = false;\r\n\r\n DD_MM_YYYY: string = '';\r\n HH: string = '00';\r\n MM: string = '00';\r\n\r\n ID: string = '';\r\n\r\n option_HH: string[] | undefined;\r\n option_MM: string[] | undefined;\r\n\r\n @ViewChild('_datepickertime', {static: false}) datepickertime: ElementRef<HTMLElement> | undefined;\r\n\r\n options_date_time : ISelectOptions[] = [];\r\n open_options_date_time: boolean = false;\r\n\r\n last_options_date_time: any;\r\n description_options_date_time: any = '';\r\n value_options_date_time: any = '';\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n this.setOptionsDateTime();\r\n\r\n this.ID = this.generateID();\r\n this.option_HH = this.getListTIME(23);\r\n this.option_MM = this.getListTIME(59);\r\n }\r\n\r\n setOptionsDateTime(){\r\n this.options_date_time = [\r\n {value:'7-days', description: '7 dias'},\r\n {value:'15-days', description: '15 dias'},\r\n {value:'30-days', description: '30 dias'},\r\n {value:'current-month', description: 'Mês atual'},\r\n {value:'current-year', description: 'Ano atual'}\r\n ]\r\n }\r\n\r\n generateID(): string{\r\n return `tcloud-ui-datepicker-time-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n getListTIME(v: number){\r\n let mm = [];\r\n for(let i = 0; i <= v; i++ ){\r\n if( i < 10 ){\r\n (mm).push(`0${i}`);\r\n }else{\r\n (mm).push(`${i}`);\r\n }\r\n }\r\n return mm;\r\n }\r\n\r\n toSetDate(date: string){ \r\n this.set_date_by_datepicker(date);\r\n }\r\n\r\n toSetTime(){\r\n if( this.DD_MM_YYYY && ((this.DD_MM_YYYY).trim()).length === 10){\r\n const date = (this.DD_MM_YYYY).replace(/-/g, '/');\r\n let date_part = (date).split('/');\r\n let dd = date_part[0];\r\n let mm = date_part[1];\r\n let yy = date_part[2];\r\n const datetime = new Date(`${yy}-${mm}-${dd}`);\r\n if( this.checkIsDate(datetime) ){\r\n this.set_date_by_datepicker(date);\r\n }\r\n }\r\n }\r\n\r\n set_date_by_datepicker(date: string){\r\n\r\n console.log('set_date_by_datepicker date', date);\r\n\r\n if( date ){\r\n date = (date).replace(/-/g, '/');\r\n let date_part = (date).split('/');\r\n let dia = date_part[0];\r\n let mes = date_part[1];\r\n let ano = date_part[2];\r\n\r\n let hh = this.HH;\r\n if( !hh ){\r\n hh = '00';\r\n }else{\r\n if( ( +(hh) >= 0 && +(hh) < 24 ) ){\r\n hh = (+(hh) < 10 ) ? `0${+(hh)}` : `${+(hh)}`;\r\n }else{\r\n hh = '00';\r\n }\r\n }\r\n\r\n let mm = this.MM;\r\n if( !mm ){\r\n mm = '00';\r\n }else{\r\n if( ( +(mm) >= 0 && +(mm) < 60 ) ){\r\n mm = (+(mm) < 10 ) ? `0${+(mm)}` : `${+(mm)}`;\r\n }else{\r\n mm = '00';\r\n }\r\n }\r\n\r\n if( hh === '00' ){ this.HH = hh; }\r\n if( mm === '00' ){ this.MM = mm; }\r\n\r\n const notation = (this.UTC) ? '00Z' : '00';\r\n\r\n const str_date = `${ano}-${mes}-${dia}T${hh}:${mm}:${notation}`;\r\n const datetime = new Date( str_date );\r\n \r\n if( this.checkIsDate(datetime) ){\r\n this.innerValue = datetime;\r\n }else{\r\n this.innerValue = undefined;\r\n }\r\n\r\n this.ngModelChange.emit( this.innerValue );\r\n this.onChange.emit( this.innerValue );\r\n this.eventChange.emit( this.datepickertime?.nativeElement );\r\n\r\n }else{\r\n\r\n this.description_options_date_time = '';\r\n this.value_options_date_time = '';\r\n\r\n this.innerValue = undefined;\r\n this.ngModelChange.emit( this.innerValue );\r\n this.onChange.emit( this.innerValue );\r\n this.eventChange.emit( this.datepickertime?.nativeElement );\r\n }\r\n\r\n if( `${this.last_options_date_time}` !== `${this.innerValue}` ){\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n }\r\n\r\n }\r\n\r\n // Distribuir os valores da data por pedaços: data - hora - min\r\n to_date_hh_mm(d: Date){\r\n let dia = `${(d).getDate()}`;\r\n dia = (+(dia) < 10 ) ? `0${+dia}` : dia;\r\n let mes = `${(d).getMonth()+1}`;\r\n mes = (+(mes) < 10 ) ? `0${+mes}` : mes; \r\n\r\n let ano = `${(d).getFullYear()}`;\r\n let hh = `${(d).getHours()}`;\r\n let mm = `${(d).getMinutes()}`;\r\n\r\n if( hh && ( +(hh) < 0 || +(hh) > 23 ) ){ hh = '00'; }\r\n hh = (hh) ? ( (+(hh) < 10 ) ? `0${hh}` : hh ) : '00';\r\n\r\n if( mm && ( +(mm) < 0 || +(mm) > 59 ) ){ mm = '00'; }\r\n mm = (mm) ? ( (+(mm) < 10 ) ? `0${mm}` : mm ) : '00';\r\n\r\n this.MM = mm;\r\n this.HH = hh;\r\n\r\n this.DD_MM_YYYY = `${dia}/${mes}/${ano}`;\r\n }\r\n\r\n checkIsDate(d: any): boolean{\r\n\r\n if(Object.prototype.toString.call(d) === \"[object Date]\") {\r\n if(isNaN(d)) { return false; } else { return true; }\r\n } \r\n return false;\r\n }\r\n\r\n\r\n clean(){\r\n this.DD_MM_YYYY = '';\r\n this.HH = '00';\r\n this.MM = '00';\r\n this.description_options_date_time = '';\r\n this.value_options_date_time = '';\r\n }\r\n\r\n toClickIn(id: string){\r\n document.getElementById(id)?.focus();\r\n }\r\n\r\n onClosedOptionsDateTime(){\r\n this.open_options_date_time = false\r\n }\r\n\r\n \r\n onChangeOptionsDateTime(event: any){\r\n // this.description_options_date_time = '';\r\n // this.value_options_date_time = '';\r\n this.show_date_picker = false;\r\n\r\n let now = new Date();\r\n let filter_date: any = undefined;\r\n if( event === '7-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 7 ) ); \r\n filter_date = new Date( (filter_date).setSeconds(0) ); \r\n }\r\n\r\n if( event === '15-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 15 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === '30-days' ){\r\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 30 ) );\r\n filter_date = new Date( (filter_date).setSeconds(0) );\r\n }\r\n\r\n if( event === 'current-month' ){\r\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\r\n }\r\n\r\n if( event === 'current-year' ){\r\n filter_date = new Date(now.getFullYear(), 0, 1);\r\n }\r\n\r\n if(filter_date){ \r\n this.innerValue = filter_date;\r\n if( this.checkIsDate(filter_date) ){ \r\n setTimeout(() => {\r\n this.to_date_hh_mm(filter_date);\r\n this.toSetDate(this.DD_MM_YYYY); \r\n this.show_date_picker = true;\r\n this.value_options_date_time = event;\r\n this.last_options_date_time = filter_date as any;\r\n this.description_options_date_time = this.get_description_options_date_time(event);\r\n }); \r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n get_description_options_date_time(value: string){\r\n if( this.options_date_time && (this.options_date_time).length > 0 ){\r\n for( let i = 0; i < (this.options_date_time).length; i++ ){\r\n const item = this.options_date_time[i];\r\n if( item.value === value ){\r\n return item.description;\r\n }\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n\r\n closedTimeDescription(){\r\n this.value_options_date_time = '';\r\n this.description_options_date_time = ''; \r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n innerValue: any | undefined;\r\n //Placeholders for the callbacks which are later providesd\r\n //by the Control Value Accessor\r\n private onTouchedCallback: () => void = noop;\r\n private onChangeCallback: (_: any) => void = noop;\r\n\r\n //get accessor\r\n get value(): any {\r\n return this.innerValue;\r\n };\r\n\r\n //set accessor including call the onchange callback\r\n set value(v: any) {\r\n if (v !== this.innerValue) {\r\n this.innerValue = v; \r\n this.onChangeCallback(v);\r\n }\r\n }\r\n\r\n //Set touched on blur\r\n onBlur() {\r\n this.onTouchedCallback();\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n writeValue(value: any) {\r\n if (value !== this.innerValue) {\r\n\r\n try {\r\n value = new Date( `${value}` );\r\n } catch (error) {}\r\n\r\n this.innerValue = value;\r\n if( this.checkIsDate(value) ){\r\n this.to_date_hh_mm(value);\r\n }else{\r\n this.clean()\r\n }\r\n }\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n //From ControlValueAccessor interface\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n}\r\n","<input type=\"hidden\" value=\"{{ innerValue }}\" #_datepickertime >\r\n<form #_formulario=\"ngForm\">\r\n <div class=\"input-control-time\">\r\n <div class=\"form-control-time\">\r\n\r\n <table style=\"width: 100%;\">\r\n <tr>\r\n <td>\r\n\r\n <div class=\"input-options-date\">\r\n <table class=\"form-time\">\r\n <tr>\r\n <!-- <td class=\"area-icon\"><div class=\"delimiter-time-icon\" (click)=\"toClickIn(ID)\" ><i class=\"fas fa-calendar-alt\"></i></div></td> -->\r\n <td class=\"area-input-date\">\r\n <ng-container *ngIf=\"show_date_picker\">\r\n <tcloud-ui-datepicker #_tclouddatepickertime [modeInput]=\"true\" name=\"date\" [useBorder]=\"false\" [(ngModel)]=\"DD_MM_YYYY\" (onChange)=\"toSetDate($event)\" ></tcloud-ui-datepicker>\r\n </ng-container>\r\n </td>\r\n \r\n <td class=\"area-delimiter\"><div class=\"delimiter-time\"></div></td>\r\n <td class=\"area-input-hour\">\r\n <!--<input type=\"text\" placeholder=\"HH\" (keyup)=\"toSetTime()\" [(ngModel)]=\"HH\" maxlength=\"2\" name=\"hh\" pattern=\"[0][0-9]|[1][0-9]|2[0-3]\">-->\r\n <select class=\"select-time-date\" (change)=\"toSetTime()\" [(ngModel)]=\"HH\" name=\"hh\">\r\n <ng-container *ngFor=\"let hh of option_HH\">\r\n <option [ngValue]=\"hh\">{{ hh }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td class=\"area-delimiter\"><div class=\"delimiter-time\">:</div></td>\r\n <td class=\"area-input-minute\">\r\n <!--<input type=\"text\" placeholder=\"MM\" (keyup)=\"toSetTime()\" [(ngModel)]=\"MM\" maxlength=\"2\" name=\"mm\" pattern=\"[012345][0-9]\">-->\r\n <select class=\"select-time-date\" (change)=\"toSetTime()\" [(ngModel)]=\"MM\" name=\"mm\">\r\n <ng-container *ngFor=\"let mm of option_MM\">\r\n <option [value]=\"mm\">{{ mm }}</option>\r\n </ng-container>\r\n </select>\r\n </td>\r\n <td class=\"area-clean\"></td>\r\n </tr>\r\n </table>\r\n\r\n <div class=\"description-options-date\" *ngIf=\"value_options_date_time !== ''\">\r\n <strong>{{ description_options_date_time }}</strong>\r\n\r\n <!-- <div class=\"area-action-date-time-selected\">\r\n <button class=\"btn-icon\" type=\"button\" (click)=\"closedTimeDescription()\" >\r\n <i class=\"fas fa-times\"></i>\r\n </button> \r\n </div> -->\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n </td>\r\n <td *ngIf=\"useOptionsDateTime && options_date_time && (options_date_time).length > 0\" style=\"width: 20px\">\r\n <button type=\"button\" class=\"icon-short-time\" (click)=\"open_options_date_time = !open_options_date_time\" [title]=\"description_options_date_time\" >\r\n <i *ngIf=\"!open_options_date_time\" class=\"fas fa-caret-down\"></i>\r\n <i *ngIf=\"open_options_date_time\" class=\"fas fa-caret-up\"></i>\r\n </button>\r\n\r\n <ng-container *ngIf=\"value_options_date_time !== ''\">\r\n <button class=\"btn-icon-close\" type=\"button\" (click)=\"closedTimeDescription()\" >\r\n <i class=\"fas fa-times\"></i>\r\n </button> \r\n </ng-container>\r\n\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"useOptionsDateTime && options_date_time && (options_date_time).length > 0 && open_options_date_time\">\r\n <td colspan=\"2\">\r\n <tcloud-ui-data-list \r\n name=\"value_options_date_time\"\r\n [showInput]=\"false\" \r\n [search]=\"false\" \r\n [open]=\"true\" \r\n [listItems]=\"options_date_time\" \r\n (onClosed)=\"onClosedOptionsDateTime()\"\r\n [ngModel]=\"value_options_date_time\"\r\n (ngModelChange)=\"onChangeOptionsDateTime($event)\"\r\n >\r\n </tcloud-ui-data-list>\r\n\r\n \r\n\r\n\r\n \r\n </td>\r\n </tr>\r\n </table>\r\n\r\n \r\n </div>\r\n </div>\r\n</form>","import { Component, Input, OnInit, Output, EventEmitter, forwardRef } from '@angular/core';\nimport { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiRangeDateComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n\ninterface IResultDateTime{\n start: any;\n stop: any;\n}\n\n@Component({\n selector: 'range-date',\n templateUrl: './range-date.component.html',\n styleUrls: ['./range-date.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\n})\nexport class TCloudUiRangeDateComponent implements OnInit {\n\n result = {} as IResultDateTime;\n\n options_date_time: any = [];\n use_validation_required: boolean = false;\n\n @Output() onChange = new EventEmitter<IResultDateTime>();\n\n @Input() defaultValuePeriodStartStop: string = '';\n @Input() required: string | undefined;\n\n @Input() descriptionStart: string = '';\n @Input() descriptionStop: string = '';\n\n @Input() UTC: boolean = false;\n\n mode: string = 'select';\n\n isValid = false;\n\n constructor() { }\n\n ngOnInit(): void {\n this.setOptionsDateTime();\n }\n\n setOptionsDateTime(){\n this.options_date_time = [\n {value:'1-last-time', description: 'Última 1 hora'},\n {value:'3-last-time', description: 'Últimas 3 horas'},\n {value:'24-last-time', description: 'Últimas 24 horas'},\n\n {value:'7-days', description: 'Últimos 7 dias'},\n {value:'15-days', description: 'Últimos 15 dias'},\n {value:'30-days', description: 'Últimos 30 dias'},\n {value:'current-month', description: 'Mês atual'},\n {value:'current-year', description: 'Ano atual'}\n ]\n setTimeout(() => {\n if( this.defaultValuePeriodStartStop !== '' ){\n this.onChangeOptionsDateTime( this.defaultValuePeriodStartStop );\n }\n });\n \n }\n\n onChangeOptionsDateTime(event: any){\n this.isValid = false;\n // this.description_options_date_time = '';\n // this.value_options_date_time = '';\n event = (event.value) ? event.value : event;\n\n let now = new Date();\n let filter_date: any = undefined;\n\n if( event === '1-last-time' ){\n filter_date = new Date(now.getTime() - 1 * 60 * 60 * 1000);\n }\n\n if( event === '3-last-time' ){\n filter_date = new Date(now.getTime() - 3 * 60 * 60 * 1000);\n }\n\n if( event === '24-last-time' ){\n filter_date = new Date(now.getTime() - 24 * 60 * 60 * 1000);\n }\n\n if( event === '7-days' ){\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 7 ) ); \n filter_date = new Date( (filter_date).setSeconds(0) ); \n }\n\n if( event === '15-days' ){\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 15 ) );\n filter_date = new Date( (filter_date).setSeconds(0) );\n }\n\n if( event === '30-days' ){\n filter_date = new Date( (new Date(now)).setDate( now.getDate() - 30 ) );\n filter_date = new Date( (filter_date).setSeconds(0) );\n }\n\n if( event === 'current-month' ){\n filter_date = new Date(now.getFullYear(), now.getMonth(), 1);\n }\n\n if( event === 'current-year' ){\n filter_date = new Date(now.getFullYear(), 0, 1);\n }\n\n if(filter_date){ \n \n this.result = {\n start: filter_date,\n stop: now\n } as IResultDateTime;\n this.onChange.emit(this.result);\n this.isValid = true;\n }else{\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n this.isValid = false;\n }\n\n }\n\n onChangeStartDateTime(event: any){\n this.isValid = false;\n if( this.result && this.result.start && this.result.stop ){\n this.onChange.emit(this.result);\n this.isValid = true;\n }else{\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n }\n }\n\n onChangeStopDateTime(event: any){\n this.isValid = false;\n if( this.result && this.result.start && this.result.stop ){\n this.onChange.emit(this.result);\n this.isValid = true;\n }else{\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n }\n }\n\n toggle(){\n const mode = (this.mode === 'select') ? 'datepickers' : 'select';\n if( mode === 'select' ){\n this.isValid = false;\n this.result = {} as IResultDateTime;\n this.onChange.emit(this.result);\n }\n this.mode = mode;\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n //this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n check_is_valid(): boolean{\n if( this.result && this.result.start && this.result.stop ){\n return true;\n }\n return false;\n }\n\n}\n","<table class=\"area-range-date\">\n <tr>\n\n <td>\n <div *ngIf=\"mode === 'select'\">\n <div class=\"description-period\">Período</div>\n <select name=\"periodo\" class=\"form-control tc-form-control\" (change)=\"onChangeOptionsDateTime($event.target)\" [(ngModel)]=\"defaultValuePeriodStartStop\" >\n <option value=\"\"></option> \n <ng-container *ngFor=\"let item of options_date_time\">\n <option [value]=\"item.value\">{{ item.description }}</option>\n </ng-container>\n </select>\n </div>\n <div *ngIf=\"mode === 'datepickers'\">\n\n <table class=\"area-range-datepickers\">\n <tr>\n <td>\n <div class=\"description-start\">{{ descriptionStart }}</div>\n <tcloud-ui-datepicker-time \n #_input_start \n [UTC]=\"UTC\"\n [(ngModel)]=\"result.start\" \n name=\"input_start\" \n (eventChange)=\"onChangeStartDateTime(_input_start)\">\n </tcloud-ui-datepicker-time>\n </td>\n <td>\n <div class=\"description-stop\">{{ descriptionStop }}</div>\n <tcloud-ui-datepicker-time \n #_input_stop\n [UTC]=\"UTC\"\n [(ngModel)]=\"result.stop\" \n name=\"input_stop\" \n (eventChange)=\"onChangeStopDateTime(_input_stop)\">\n </tcloud-ui-datepicker-time>\n </td>\n </tr>\n </table>\n\n </div>\n </td>\n\n <td>\n <button class=\"btn-mode-range-date\" [class.active]=\"mode === 'select'\" (click)=\"toggle()\" type=\"button\">\n\n <i *ngIf=\"mode === 'select'\" class=\"far fa-calendar-alt\" title=\"Alterar para calendário\"></i>\n <i *ngIf=\"mode !== 'select'\" class=\"fas fa-calendar-week\" title=\"Selecionar período\"></i>\n\n <!-- <div *ngIf=\"mode === 'select'\">Exibir<br>Calendário</div> -->\n <!-- <div *ngIf=\"mode !== 'select'\">Exibir<br>Período</div> -->\n </button>\n </td>\n\n </tr>\n</table>","import { DatePipe } from '@angular/common';\nimport { Component, Input, OnChanges, OnInit, Output, SimpleChanges, EventEmitter, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { TCCondition, TCDataFilters, TCFiltersType } from './tcloud-ui-filters';\n\n@Component({\n selector: 'tcloud-ui-filters',\n templateUrl: './tcloud-ui-filters.component.html',\n styleUrls: ['./tcloud-ui-filters.component.scss']\n})\nexport class TCloudUiFiltersComponent implements OnInit, OnChanges {\n\n datepickers = [] as any;\n\n @ViewChild('_formulario') _formulario: NgForm | undefined;\n\n inputs: string[] = [];\n\n show_filters: boolean = false;\n\n search_data: any | undefined;\n\n private _data: any | undefined;\n @Input() set data(data: any){\n // this._data = JSON.parse(JSON.stringify(data));\n }\n get data(): any{ return this._data; }\n\n private _filters: TCDataFilters | undefined;\n @Input() set filters(filters: any){\n //this._filters = filters;\n }\n get filters(): any{ return this._filters; }\n\n private _submitText: string = 'Filtrar';\n @Input() set submitText(v: string){ \n if( v && v !== this._submitText ){\n this._submitText = v;\n }\n }\n get submitText():string{ return this._submitText; }\n\n @Input() btnSubmitClass: string = 'btn-new-grey';\n @Input() useOnChangeSubmit: boolean = true; // useOnChangeSubmit - Submit automatico quando for alterado quanquer input\n @Input() useButtonSubmit: boolean = false; // useButtonSubmit - Exibe um botão de submit e não executa a busca automaticamente\n @Input() useNormalizeCaseSensitive: boolean = true; // useNormalizeCaseSensitive - Não valida caixa alta ou baixa e caracteres especiais\n @Input() useRangeDate: boolean = true;\n @Input() useFilterAccept: boolean = false;\n\n @Output() result = new EventEmitter<any>();\n @Output() onFilter = new EventEmitter<any>();\n @Output() onChange = new EventEmitter<any>();\n @Output() onSubmit = new EventEmitter<any>();\n\n descriptionStart: string = '';\n descriptionStop: string = '';\n\n private first_active_filter: boolean = false;\n\n start_stop: boolean = false;\n start_stop_width: number = 0;\n start_stop_und: string = ''; // px ou %\n\n constructor(\n private datepipe: DatePipe\n ) { }\n\n ngOnInit(): void {\n setTimeout(() => {\n if( this.filters && (this.filters).length > 0 ){\n for(let i = 0; i < (this.filters).length; i++){\n if( this.filters[i].value ){\n if( this.filters[i].type === 'datetime-local' ){\n try {\n this.filters[i].searchText = new Date( `${this.filters[i].value}` );\n } catch (error) {}\n }else{\n this.filters[i].searchText = this.filters[i].value;\n }\n this.first_active_filter = true;\n }\n } \n }\n this.start_stop = (this.useRangeDate) ? this.is_start_stop_datetime() : false;\n this.toSubmit();\n });\n }\n\n is_start_stop_datetime(){\n let start = false;\n let stop = false;\n if( this.filters && (this.filters).length > 0 ){\n this.start_stop_width = 0;\n for(let i = 0; i < (this.filters).length; i++){\n if( this.filters[i].id === 'start' ){\n start = true;\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\n this.start_stop_und = this.getUnidade(this.filters[i].width);\n this.descriptionStart = this.filters[i].description;\n }\n if( this.filters[i].id === 'stop' ){\n stop = true;\n this.start_stop_width += this.getValueWidth(this.filters[i].width);\n this.descriptionStop = this.filters[i].description;\n }\n }\n }\n return ( start && stop ) ? true : false;\n }\n\n getValueWidth(v: string):number {\n let und = this.getUnidade(v);\n v = (v).replace(und, '');\n return +(v);\n }\n\n getUnidade(v: string):string {\n let und = '%';\n if( v && (v).includes('px') ){\n und = 'px';\n }\n return und;\n }\n \n\n ngOnChanges(changes: SimpleChanges) { \n \n if( changes && changes['data'] ){\n const data = changes['data'].currentValue;\n if( this._data !== data ){\n this._data = JSON.parse(JSON.stringify(data));\n this.search_data = JSON.parse(JSON.stringify(data));\n this.init();\n }\n }\n\n if( changes && changes['filters'] ){\n const filters = changes['filters'].currentValue;\n if( this._filters !== filters ){\n this._filters = JSON.parse(JSON.stringify(filters));\n this.init();\n }\n }\n }\n\n private init(){\n if( this.data && this.filters ){\n this.show_filters = true;\n if( this.filters && (this.filters).length > 0 ){\n (this.filters).forEach((filter: TCDataFilters) => { \n this.searchIn(filter, 'sync');\n });\n } \n // this.toResult();\n if( !this.useOnChangeSubmit ){\n this.result_accept(this.data);\n }\n\n if( this.useOnChangeSubmit || this.useButtonSubmit ){\n this.start_filter();\n }\n }\n }\n\n private normalize(text: any): string{\n if( this.useNormalizeCaseSensitive ){\n const v = ( ( (`${text}`).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n return v;\n }\n return text;\n }\n\n toSubmit(){\n if( this.filters && (this.filters).length > 0 ){\n this.init();\n }\n this.emitSubmitFilters();\n }\n\n private emitSubmitFilters(){\n let filters = JSON.parse(JSON.stringify(this.filters));\n if( filters && (filters).length > 0 ){\n (filters).forEach((filter: TCDataFilters, i: number) => {\n\n if( filter.width ){ delete(filters[i].width); }\n if( filter.placeholder ){ delete(filters[i].placeholder); }\n if( filter.description ){ delete(filters[i].description); }\n\n if( (!filter.searchText || filter.searchText && filter.searchText === '') && filter.type !== \"boolean\" ){\n delete(filters[i]);\n }\n if( filter.type === \"boolean\" ){\n if( !filter.searchText ){\n filter.searchText = false;\n }\n }\n \n });\n } \n // console.log('onSubmit', this.filters);\n this.onSubmit.emit(this.filters);\n }\n\n\n private collectionFind(obj: any, path: any): any {\n const pathArray = path.split(\".\");\n let current = obj;\n for (let i = 0; i < pathArray.length; i++) {\n const key = pathArray[i];\n\n if (key.includes('[') && key.includes(']')) {\n const nextKeys = pathArray.slice(i + 1);\n const index = key.substring(key.indexOf('[') + 1, key.indexOf(']'));\n const arrayKey = key.substring(0, key.indexOf('['));\n if( current && current[arrayKey] && current[arrayKey][index] ){\n return this.collectionFind(current[arrayKey][index], nextKeys.join(\".\"));\n }\n }\n\n\n if (key.includes(\"[]\")) {\n const arrayKey = key.replace(\"[]\", \"\");\n current = current[arrayKey] || [];\n const nextKeys = pathArray.slice(i + 1);\n const results = [];\n for (let j = 0; j < current.length; j++) {\n let result = this.collectionFind(current[j], nextKeys.join(\".\"));\n if (result !== undefined) {\n results.push(result); \n }\n }\n if (results.length === 0) {\n return undefined;\n }\n return results;\n } else {\n if( !current || (current && !current[key]) ){\n return undefined;\n }\n current = current[key];\n if (current === undefined) {\n return undefined;\n }\n }\n }\n return current;\n }\n \n first: boolean = true;\n start_filter_fc: any = undefined;\n\n start_value: any | undefined;\n stop_value: any | undefined;\n\n searchInRange( range_date: any){\n \n if( this.filters && (this.filters).length > 0 ){\n\n let event = {} as any; \n event.datepickertime = true;\n\n for( let i = 0; i < (this.filters).length; i++ ){\n\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'start' ){\n this.filters[i].value = range_date?.result?.start!;\n this.filters[i].searchText = range_date?.result?.start!;\n event.innerValue = this.start_value = range_date?.result?.start!;\n this.searchIn(this.filters[i], event);\n }\n\n if( this.filters[i] && this.filters[i].id && this.filters[i].id === 'stop' ){\n this.filters[i].value = range_date?.result?.stop!;\n this.filters[i].searchText = range_date?.result?.stop!;\n event.innerValue = this.stop_value = range_date?.result?.stop!;\n this.searchIn(this.filters[i], event);\n }\n }\n if( this.first || this.useOnChangeSubmit ){\n this.toSubmit();\n }\n \n }\n this.first = false;\n\n }\n\n convertDataToNumber(dataString: string): number {\n try {\n const [dia, mes, ano] = dataString.split('/');\n return +(`${ano}${mes}${dia}`);\n } catch (error) {}\n return 0;\n }\n\n searchIn(item: TCDataFilters, event?: any){\n\n \n\n this.start_filter_fc = undefined;\n\n let isValid = true;\n\n if( event === 'sync' && isValid ){\n isValid = false;\n this.onChange.emit(true);\n }\n\n if( typeof event === 'boolean' && isValid ){\n isValid = false;\n item.searchText = event;\n this.onChange.emit(true);\n }\n\n if( event === undefined || event === null || event === '' && isValid ){\n isValid = false;\n item.searchText = '';\n this.onChange.emit(true);\n }\n\n if( event?.datepickertime && isValid ){\n isValid = false;\n item.searchText = event?.innerValue; \n this.onChange.emit(true);\n }\n\n if(event?.target?.value && isValid ){\n isValid = false;\n item.searchText = this.normalize(event.target.value);\n this.onChange.emit(true);\n }\n\n if(event?.target?.value === '' && isValid ){\n isValid = false;\n item.searchText = '';\n this.onChange.emit(true);\n }\n\n if( item.type === 'date-local' && item.value ){\n isValid = false;\n item.searchText = `${this.convertDataToNumber( item.value )}`;\n this.onChange.emit(true);\n }\n \n if( this.useOnChangeSubmit || this.first_active_filter ){ \n this.start_filter_fc = this.start_filter();\n this.first_active_filter = false;\n }\n\n if( !this.useButtonSubmit ){\n this.emitSubmitFilters();\n } \n }\n\n \n start_filter(): void{\n for( let i = 0; i < (this.data).length; i++ ){\n\n this.setDataIndex(i, true);\n\n for( let j = 0; j < (this.filters).length; j++ ){ \n const filter_item = this.filters[j]; \n\n if( filter_item.searchText && typeof (filter_item.searchText) === 'string' && filter_item.searchText !== '' && filter_item.type !== TCFiltersType.number && filter_item.type !== TCFiltersType.date ){\n filter_item.searchText = this.normalize(filter_item.searchText); \n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\n if( item_value ){\n item_value = this.normalize(item_value); \n if( !( item_value.includes(filter_item.searchText) || item_value === filter_item.searchText ) ){\n this.setDataIndex(i, false);\n }\n }else{\n this.setDataIndex(i, false);\n }\n } \n \n\n if( filter_item.searchText && filter_item.searchText instanceof Date && !isNaN( filter_item.searchText.valueOf()) && filter_item.type === TCFiltersType.datetime ){\n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\n\n try { item_value = new Date(item_value); } catch (error) {}\n if( item_value && item_value instanceof Date && !isNaN( item_value.valueOf()) ){\n let is_accept = false;\n const dt_target = (filter_item.searchText).getTime() + (3 * 60 * 60 * 1000);\n const dt_current = (item_value).getTime();\n if( filter_item.condition ){\n switch (filter_item.condition) {\n case TCCondition.gt: is_accept = !( +(dt_target) > +(dt_current) ); break;\n case TCCondition.lt: is_accept = !( +(dt_target) < +(dt_current) ); break;\n case TCCondition.gte: is_accept = !( +(dt_target) >= +(dt_current) ); break;\n case TCCondition.lte: is_accept = !( +(dt_target) <= +(dt_current) ); break;\n case TCCondition.equal: is_accept = !( +(dt_target) === +(dt_current) ); break;\n default: is_accept = !( +(dt_target) == +(dt_current) );\n }\n }else{\n is_accept = !( +(filter_item.searchText) === +(item_value) );\n }\n if( !is_accept ){\n this.setDataIndex(i, false);\n }\n }\n }\n\n \n\n if( filter_item.searchText && typeof +(filter_item.searchText) === 'number' && ( filter_item.type === TCFiltersType.number || filter_item.type === TCFiltersType.date ) ){\n filter_item.searchText = Number(filter_item.searchText);\n let item_value = this.collectionFind(this.data[i], filter_item.searchIn);\n if( typeof +(item_value) === 'number' ){ \n item_value = Number(item_value); \n let is_accept = false;\n if( filter_item.condition ){\n switch (filter_item.condition) {\n case TCCondition.gt: is_accept = !( +(filter_item.searchText) > +(item_value) ); break;\n case TCCondition.lt: is_accept = !( +(filter_item.searchText) < +(item_value) ); break;\n case TCCondition.gte: is_accept = !( +(filter_item.searchText)-0.01 >= +(item_value) ); break;\n case TCCondition.lte: is_accept = !( +(filter_item.searchText)+0.01 <= +(item_value) ); break;\n case TCCondition.equal: is_accept = !( +(filter_item.searchText) === +(item_value) ); break;\n default: is_accept = !( +(filter_item.searchText) == +(item_value) );\n }\n }else{\n is_accept = !( +(filter_item.searchText) === +(item_value) );\n }\n if( !is_accept ){\n this.setDataIndex(i, false);\n }\n }\n }\n \n \n if( typeof (filter_item.searchText) === 'boolean' && filter_item.searchText ){\n let item_value: any = this.collectionFind(this.data[i], filter_item.searchIn);\n \n if( item_value && (item_value).length > 0 ){ \n let qtd_is_true = 0; \n for( let i = 0; i < ((item_value).length); i++ ){\n const item = item_value[i];\n if( item === filter_item.searchText ){\n qtd_is_true++;\n }\n }\n if( qtd_is_true === 0 ){\n this.setDataIndex(i, false);\n }\n }else{\n if( !( item_value === filter_item.searchText ) ){\n this.setDataIndex(i, false);\n }\n } \n }\n \n }\n\n } // end for\n \n this.toResult();\n \n }\n\n private toResult(){\n\n\n const search_data = [];\n\n let is_filter = false;\n for( let i = 0; i < (this.filters).length; i++ ){\n if( this.filters[i].searchText && this.filters[i].searchText !== '' ){\n is_filter = true;\n }\n }\n\n if( is_filter ){\n for( let i = 0; i < (this.data).length; i++ ){\n if( this.data && this.data[i] && this.data[i]['tc_filter_accept'] ){\n (search_data).push(this.data[i]);\n }\n }\n this.result_accept(search_data);\n this.onFilter.emit({...this.filters});\n return;\n }\n\n this.result_accept(this.data);\n this.onFilter.emit({...this.filters});\n }\n\n setDataIndex(index: number, value: boolean ){\n if( this.data && this.data[index] ){\n this.data[index]['tc_filter_accept'] = value;\n }\n }\n\n result_accept(data: any){\n if( !this.useFilterAccept && data && (data).length > 0 ){\n for( let i = 0; i < (data).length; i++ ){\n delete data[i]['tc_filter_accept'];\n }\n }\n this.result.emit(data);\n }\n\n}\n","<div *ngIf=\"show_filters\" class=\"area-filter\">\n <ng-container *ngFor=\"let item of filters; let i = index\">\n\n <ng-container *ngIf=\"!item.type || (item.type && item.type !== 'boolean')\">\n\n <ng-container *ngIf=\"item.type === 'date-local'\">\n\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n <div class=\"m-description box-type-{{item.type}}\"><i [class.to-active]=\"(item.value !== undefined && item.value !== null && item.value !== '')\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"box-type-{{item.type}}\">\n <tcloud-ui-datepicker \n #_input\n name=\"input_{{i+1}}\"\n [modeInput]=\"true\"\n [(ngModel)]=\"item.value\"\n (ngModelChange)=\"searchIn(item, _input)\">\n </tcloud-ui-datepicker>\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"!(item.value !== undefined && item.value !== null && item.value !== '')\" (click)=\"searchIn(item, null); item.searchText = undefined; item.value = ''\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n \n </ng-container>\n\n <ng-container *ngIf=\"item.type !== 'date-local'\">\n <ng-container *ngIf=\"item.type === 'datetime-local'\">\n\n <ng-container *ngIf=\"start_stop\">\n <ng-container *ngIf=\"item.id === 'start'\">\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+start_stop_width+''+start_stop_und : ''\">\n <div class=\"m-description box-type-{{item.type}}\"><i [class.to-active]=\"(_range_date && _range_date.result && _range_date.result.start && _range_date.result.stop )\" class=\"fas fa-filter icon-filter\"></i> </div>\n <range-date \n #_range_date ngModel name=\"input_{{i+1}}\" \n [defaultValuePeriodStartStop]=\"item.defaultValuePeriodStartStop\"\n [descriptionStart]=\"descriptionStart\"\n [descriptionStop]=\"descriptionStop\"\n [UTC]=\"(item && item.UTC) ? true : false\"\n required \n (onChange)=\"searchInRange(_range_date); searchIn(item, _range_date)\">\n </range-date>\n </div>\n </ng-container> \n <input *ngIf=\"item.id === 'start'\" #_input name=\"input_{{i+1}}\" type=\"hidden\" [(ngModel)]=\"start_value\"> \n <input *ngIf=\"item.id === 'stop'\" #_input name=\"input_{{i+1}}\" type=\"hidden\" [(ngModel)]=\"stop_value\"> \n </ng-container>\n\n <ng-container *ngIf=\"!start_stop\">\n\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n <div class=\"m-description box-type-{{item.type}}\"><i [class.to-active]=\"(item.value !== undefined && item.value !== null && item.value !== '')\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"box-type-{{item.type}}\">\n <tcloud-ui-datepicker-time \n #_input \n [(ngModel)]=\"item.value\" \n name=\"input_{{i+1}}\" \n [useOptionsDateTime]=\"(item && item.useOptionsDateTime) ? true : false\"\n [UTC]=\"(item && item.UTC) ? true : false\"\n (eventChange)=\"searchIn(item, _input)\" >\n </tcloud-ui-datepicker-time>\n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"!(item.value !== undefined && item.value !== null && item.value !== '')\" (click)=\"searchIn(item, null); item.searchText = undefined; item.value = ''\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n\n </ng-container>\n\n </ng-container>\n </ng-container>\n \n <ng-container *ngIf=\"item.type !== 'select' && item.type !== 'datetime-local' && item.type !== 'date-local'\">\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n\n <div class=\"m-description box-type-{{item.type}}\"><i [class.to-active]=\"_input.value !== ''\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"box-type-{{item.type}}\">\n <input \n #_input\n [(ngModel)]=\"item.value\"\n placeholder=\"{{ (item.placeholder !== '') ? item.placeholder : '' }}\"\n name=\"input_{{i+1}}\" \n type=\"{{ (item.type === 'number') ? 'text' : item.type }}\" \n class=\"form-control tc-form-control\" \n (keyup)=\"searchIn(item, $event)\"> \n <button class=\"btn-clear-filter-text\" [class.to-hide]=\"_input.value === ''\" (click)=\"searchIn(item, null); _input.value = ''\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"item.type === 'select' && item.data && (item.data).length > 0\" >\n <div class=\"box-filter-input type-{{item.type}} box-type-{{item.type}}\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n\n <div class=\"m-description box-type-{{item.type}}\"><i [class.to-active]=\"_input.value !== ''\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"box-type-{{item.type}}\">\n <select \n #_input\n [(ngModel)]=\"item.value\"\n name=\"input_{{i+1}}\" \n class=\"form-control tc-form-control\" \n (change)=\"searchIn(item, $event)\">\n <option [ngValue]=\"\"></option>\n <ng-container *ngFor=\"let v of item.data\">\n <option [value]=\"v.value\">{{ v.description }}</option>\n </ng-container>\n </select>\n </div>\n </div>\n </ng-container>\n\n </ng-container>\n\n\n <ng-container *ngIf=\"item.type && item.type === 'boolean'\">\n \n <div class=\"box-filter-input\" [style]=\"(item.width !== '') ? 'width:'+item.width : ''\">\n <div class=\"m-description\"><i [class.to-active]=\"_input.checked === true\" class=\"fas fa-filter icon-filter\"></i> {{ item.description }}</div>\n <div class=\"area-input-checkbox\">\n <div class=\"form-control tc-form-control\">\n <label>\n {{ item.placeholder }}\n <input \n #_input\n placeholder=\"{{ (item.placeholder !== '') ? item.placeholder : '' }}\"\n name=\"input_{{i+1}}\" \n type=\"checkbox\" \n (change)=\"searchIn(item, _input.checked)\"> \n </label>\n </div> \n </div>\n </div>\n\n </ng-container>\n\n\n </ng-container>\n\n <div class=\"text-right mb-1 mr-1\" *ngIf=\"useButtonSubmit\">\n <button type=\"button\" class=\"tc-btn {{ btnSubmitClass }}\" (click)=\"toSubmit()\" >{{ submitText }}</button>\n </div>\n\n</div>\n\n<!-- <pre>{{ inputs | json }}</pre> -->\n <!-- <pre> {{ data | json }} </pre>\n\n<p>FILTERS</p>\n<pre> {{ filters | json }}</pre> -->\n\n<!--\n <pre>start_stop: {{ start_stop }}</pre>\n <pre>start_stop_width: {{ start_stop_width }}</pre>\n <pre>start_stop_und: {{ start_stop_und }}</pre>\n-->","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiDatepickerComponent } from './tcloud-ui-datepicker.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDatepickerComponent\r\n ],\r\n exports: [\r\n TCloudUiDatepickerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ]\r\n})\r\nexport class TCloudUiDatepickerModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TCloudUiDatepickerTimeComponent } from './tcloud-ui-datepicker-time.component';\r\nimport { TCloudUiDatepickerModule } from './../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\r\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiDatepickerTimeComponent\r\n ],\r\n exports: [\r\n TCloudUiDatepickerTimeComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n TCloudUiDatepickerModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TCloudUiDataListModule\r\n ]\r\n})\r\nexport class TCloudUiDatepickerTimeModule { }\r\n","import { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiFiltersComponent } from './tcloud-ui-filters.component';\nimport { TCloudUiDatepickerTimeModule } from '../tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\nimport { TCloudUiRangeDateComponent } from './components/range-date/range-date.component';\nimport { TCloudUiDatepickerModule } from '../tcloud-ui-datepicker/tcloud-ui-datepicker.module';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiFiltersComponent,\n TCloudUiRangeDateComponent\n ],\n exports: [\n TCloudUiFiltersComponent,\n TCloudUiRangeDateComponent \n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TCloudUiDatepickerTimeModule,\n TCloudUiDatepickerModule\n ]\n})\nexport class TCloudUiFiltersModule { }\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TCloudUiAccordionService {\r\n\r\n private disabled: boolean | undefined;\r\n private loading: boolean | undefined;\r\n private show: boolean | undefined;\r\n\r\n private _stateToggle = new Subject<boolean>();\r\n public stateToggle$ = this._stateToggle.asObservable();\r\n\r\n private _stateLoading = new Subject<boolean>();\r\n public stateLoading$ = this._stateLoading.asObservable();\r\n\r\n private _stateDisabled = new Subject<boolean>();\r\n public stateDisabled$ = this._stateDisabled.asObservable();\r\n\r\n\r\n toggle(action: boolean): void{\r\n this._stateToggle.next( action );\r\n }\r\n\r\n getLoading(){\r\n return this.loading;\r\n }\r\n\r\n setLoading(loading: boolean){\r\n this.loading = loading;\r\n this._stateLoading.next(loading);\r\n }\r\n\r\n getShow(){\r\n return this.show;\r\n }\r\n\r\n setDisabled(disabled: boolean): void{\r\n this._stateDisabled.next( disabled );\r\n }\r\n\r\n getDisabled(){\r\n return this.disabled;\r\n }\r\n\r\n}","import { Subscription } from 'rxjs';\nimport { Component, EventEmitter, Input, OnInit, Output, OnDestroy } from '@angular/core';\nimport { TCloudUiAccordionService } from './services/tcloud-ui-accordion.service';\n\n@Component({\n selector: 'tcloud-ui-accordion',\n templateUrl: './tcloud-ui-accordion.component.html',\n styleUrls: ['./tcloud-ui-accordion.component.css'],\n providers: [\n TCloudUiAccordionService\n ],\n})\nexport class TCloudUiAccordionComponent implements OnInit, OnDestroy {\n\n subscription_01: Subscription | undefined;\n subscription_02: Subscription | undefined;\n \n private _disabled: boolean = false;\n @Input() set disabled(v: boolean){ \n this._disabled = v;\n if( this._disabled ){ \n setTimeout(() => { \n this._tCloudUiAccordionService.setDisabled(this._disabled);\n this._tCloudUiAccordionService.toggle(false); \n });\n }\n }\n get disabled(){ return this._disabled; }\n\n\n private _show: boolean = false;\n @Input() set show(v: boolean){ \n if( this._show !== v ){\n this._show = v;\n if( !this.disabled ){\n setTimeout(() => { this._tCloudUiAccordionService.toggle(this._show); }); \n } \n }\n }\n\n get show(){ return this._show; }\n\n\n @Output() onAction = new EventEmitter<'open'|'close'>();\n\n private _loading: boolean = false;\n /**\n * loading - boolean - Coloca o modal em modo de carregamento - default false\n */\n @Input() set loading(loading: boolean){ \n this._loading = loading;\n this._tCloudUiAccordionService.setLoading(loading);\n }\n get loading(): boolean { return this._loading; }\n\n constructor(\n private _tCloudUiAccordionService: TCloudUiAccordionService\n ) { }\n\n ngOnInit(): void {\n\n this.subscription_01 = this._tCloudUiAccordionService.stateLoading$.subscribe((loading: boolean) => {\n this.loading = loading; \n });\n \n this.subscription_02 = this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\n this.onAction.emit( (show === true) ? 'open' : 'close' );\n })\n\n }\n\n ngOnDestroy(): void {\n if( this.subscription_01 ){ this.subscription_01.unsubscribe(); }\n if( this.subscription_02 ){ this.subscription_02.unsubscribe(); }\n }\n\n}\n","<div class=\"tc-accordion\" [class.tc-accordion-disabled]=\"disabled\">\n <ng-content></ng-content>\n</div>","import { Component, OnInit, Output, EventEmitter, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TCloudUiAccordionService } from '../../services/tcloud-ui-accordion.service';\n\n@Component({\n selector: 'tcloud-ui-accordion-title',\n templateUrl: './tcloud-ui-accordion-title.component.html',\n styleUrls: ['./tcloud-ui-accordion-title.component.css']\n})\nexport class TCloudUiAccordionTitleComponent implements OnInit, OnDestroy {\n\n subscription_01: Subscription | undefined;\n subscription_02: Subscription | undefined;\n subscription_03: Subscription | undefined;\n\n show: boolean = false;\n loading: boolean = false;\n disabled: boolean = false;\n \n\n constructor(\n private _tCloudUiAccordionService: TCloudUiAccordionService\n ) { }\n\n ngOnInit(): void {\n\n this.loading = this._tCloudUiAccordionService.getLoading() || false;\n this.subscription_01 = this._tCloudUiAccordionService.stateLoading$.subscribe((loading: boolean) => {\n this.loading = loading;\n });\n\n this.show = this._tCloudUiAccordionService.getShow() || false;\n this.subscription_02 = this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\n this.show = show;\n });\n\n this.disabled = this._tCloudUiAccordionService.getDisabled() || false;\n this.subscription_03 = this._tCloudUiAccordionService.stateDisabled$.subscribe((disabled: boolean) => {\n this.disabled = disabled;\n });\n\n }\n\n toggle(){\n if( this.disabled ){ return; }\n\n this.show = !this.show;\n this._tCloudUiAccordionService.toggle(this.show); \n \n }\n\n toggle_title(){\n this.toggle();\n }\n\n ngOnDestroy(): void {\n if( this.subscription_01 ){ this.subscription_01.unsubscribe(); }\n if( this.subscription_02 ){ this.subscription_02.unsubscribe(); }\n if( this.subscription_03 ){ this.subscription_03.unsubscribe(); }\n }\n\n}\n","<div class=\"tc-accordion-title\">\n <table class=\"tc-accordion-table\">\n <tr>\n <td class=\"area-title\" (click)=\"toggle_title()\" >\n <ng-content></ng-content>\n </td>\n <td class=\"tc-accordion-actions\">\n <button type=\"button\" class=\"tc-btn-accordion-toggle\" [disabled]=\"disabled\" (click)=\"toggle()\" >\n\n <i class=\"fas fa-chevron-right icon-toggle\" *ngIf=\"!show\"></i>\n <i class=\"fas fa-chevron-down icon-toggle\" *ngIf=\"show\"></i>\n\n </button>\n </td>\n </tr>\n </table>\n</div>","import { Component, OnInit } from '@angular/core';\nimport { TCloudUiAccordionService } from '../../services/tcloud-ui-accordion.service';\n\n@Component({\n selector: 'tcloud-ui-accordion-body',\n templateUrl: './tcloud-ui-accordion-body.component.html',\n styleUrls: ['./tcloud-ui-accordion-body.component.scss']\n})\nexport class TCloudUiAccordionBodyComponent implements OnInit {\n\n show: boolean = false;\n \n constructor(\n private _tCloudUiAccordionService: TCloudUiAccordionService\n ) { }\n\n ngOnInit(): void {\n\n this.show = this._tCloudUiAccordionService.getShow() || false;\n this._tCloudUiAccordionService.stateToggle$.subscribe((show: boolean) => {\n this.show = show;\n })\n\n }\n\n}\n","<div class=\"tc-accordion-content\" style=\"display: none;\" [class.show]=\"show\">\n <ng-content></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiAccordionComponent } from './tcloud-ui-accordion.component';\nimport { TCloudUiAccordionTitleComponent } from './components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\nimport { TCloudUiAccordionBodyComponent } from './components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiAccordionComponent,\n TCloudUiAccordionTitleComponent,\n TCloudUiAccordionBodyComponent\n ],\n exports: [\n TCloudUiAccordionComponent,\n TCloudUiAccordionTitleComponent,\n TCloudUiAccordionBodyComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiAccordionModule { }\n","import { Directive, ElementRef, OnInit, Renderer2, Input} from '@angular/core';\r\n\r\n\r\n@Directive({\r\n selector: '[TCalign]'\r\n})\r\nexport class TCloudUiAlignDirective implements OnInit{\r\n\r\n private _direction: 'start' | 'center' | 'end' = 'start';\r\n\r\n @Input() set TCalign (direction: any){\r\n if (direction){\r\n this._direction = direction;\r\n this.setStyle(this.el.nativeElement);\r\n }\r\n }\r\n \r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n setStyle(el: any){\r\n if( this._direction === 'start' ){\r\n this.renderer.setStyle(el, 'text-align', 'left');\r\n }\r\n\r\n if( this._direction === 'center' ){\r\n this.renderer.setStyle(el, 'text-align', 'center');\r\n }\r\n\r\n if( this._direction === 'end' ){\r\n this.renderer.setStyle(el, 'text-align', 'right');\r\n }\r\n }\r\n\r\n\r\n}","\r\nimport { Directive, Input, Renderer2, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[TCHoverParent]'\r\n})\r\nexport class TCloudUiHoverParentDirective {\r\n\r\n private CLASS: string | undefined;\r\n private ID: string | undefined;\r\n\r\n constructor(\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n @HostListener('mouseover') onMouseOver() {\r\n if( this.getElement() ){\r\n const el = <any> this.getElement();\r\n if( el ){\r\n this.renderer.addClass(el, (this.CLASS) ? this.CLASS : 'tcloud-hover-parent');\r\n }\r\n } \r\n }\r\n\r\n @HostListener('mouseout') onMouseOut() {\r\n if( this.getElement() ){\r\n const el = <any> this.getElement();\r\n if( el ){\r\n this.renderer.removeClass(el, (this.CLASS) ? this.CLASS : 'tcloud-hover-parent');\r\n }\r\n \r\n } \r\n }\r\n\r\n @Input() set TCHoverParent (id: string){\r\n if (id){ this.ID = id; }\r\n }\r\n\r\n @Input() set TCHoverParentClass (clss: any){\r\n if (clss){\r\n this.CLASS = clss;\r\n }\r\n }\r\n\r\n getElement(): HTMLElement | undefined{\r\n if( this.ID ){\r\n return document.getElementById(this.ID) || undefined;\r\n }\r\n return undefined;\r\n }\r\n\r\n}","import { Directive, ElementRef, OnInit, Renderer2, Input, HostListener} from '@angular/core';\r\n\r\n\r\n@Directive({\r\n selector: '[TCtooltip]'\r\n})\r\nexport class TCloudUiTooltipDirective implements OnInit{\r\n\r\n private _direction: 'top' | 'bottom' | 'left' | 'right' = 'top';\r\n\r\n main_el: any;\r\n\r\n // main\r\n el_height: number = 0;\r\n el_width: number = 0;\r\n el_center: number = 0;\r\n el_position: number = 0;\r\n\r\n \r\n // tooltip\r\n target_height: number = 0; \r\n target_width: number = 0; \r\n target_center: number = 0;\r\n\r\n ID: string = '';\r\n\r\n @HostListener('mouseover') onMouseOver() {\r\n if( this.getElement() ){\r\n this.renderer.addClass(this.el.nativeElement, 'main-tooltip');\r\n\r\n const el = <any> this.getElement();\r\n el.style.display = 'inline';\r\n setTimeout(() => {\r\n this.el_height = this.el.nativeElement.offsetHeight;\r\n this.el_width = this.el.nativeElement.offsetWidth;\r\n this.el_center = this.el_width / 2;\r\n\r\n const rect = this.el.nativeElement?.getBoundingClientRect();\r\n this.el_position = rect?.left || 0; \r\n\r\n // console.log('this.el_width', this.el_width);\r\n // console.log('this.el_center', this.el_center);\r\n // console.log('this.el_position', this.el_position);\r\n\r\n this.target_height = el.offsetHeight;\r\n this.target_width = el.offsetWidth;\r\n this.target_center = this.target_width / 2;\r\n\r\n // console.log('target_heigth', this.target_height);\r\n // console.log('target_width', this.target_width);\r\n // console.log('target_center', this.target_center);\r\n // this.renderer.setStyle(el, 'bottom', `${this.el_position}px`);\r\n \r\n switch (this._direction) {\r\n case 'top': this.to_top(el); break;\r\n case 'bottom': this.to_bottom(el); break;\r\n case 'left': this.to_left(el); break;\r\n case 'right': this.to_right(el); break;\r\n }\r\n });\r\n \r\n \r\n }\r\n }\r\n\r\n @HostListener('mouseout') onMouseOut() {\r\n if( this.getElement() ){\r\n const el = <any> this.getElement();\r\n el.style.display = 'none';\r\n this.renderer.removeClass(this.el.nativeElement, 'main-tooltip');\r\n }\r\n }\r\n\r\n info_text: string = '';\r\n\r\n @Input() set TCtooltip (tooltip: any){\r\n if (tooltip){\r\n this.check(tooltip);\r\n }\r\n }\r\n\r\n @Input() set TCdirection (direction: any){\r\n if (direction){\r\n this._direction = direction;\r\n }\r\n }\r\n \r\n constructor(\r\n private el: ElementRef,\r\n private renderer: Renderer2\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n generateID(): string{\r\n return `tc-tooltip-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\r\n }\r\n\r\n getElement(): HTMLElement | undefined{\r\n return document.getElementById(this.ID) || undefined;\r\n }\r\n\r\n check(tooltip: any){\r\n this.ID = this.generateID();\r\n\r\n this.info_text = tooltip;\r\n\r\n let el = this.el.nativeElement;\r\n this.main_el = el;\r\n if (el){\r\n this.create_tooltip(tooltip, el); \r\n }else{\r\n console.log(\"TCL: tooltip -> el\", this.el.nativeElement)\r\n }\r\n }\r\n\r\n setStyle(el: any){\r\n // this.renderer.setStyle(el, 'position', 'relative');\r\n // this.renderer.setStyle(el, 'display', 'inline');\r\n }\r\n\r\n create_tooltip(tip: any, el: any){\r\n\r\n this.setStyle(el);\r\n\r\n const tooltip = document.createElement(\"div\");\r\n tooltip.setAttribute('id', this.ID);\r\n tooltip.setAttribute('style',`\r\n position: absolute; \r\n display: none;\r\n padding: 10px;\r\n border-radius: 10px;\r\n text-align: center;\r\n width: max-content;\r\n max-width: 250px;\r\n background-color: transparent;\r\n color: transparent;\r\n z-index: 1090;\r\n bottom: ${this.el_position}px;\r\n left: ${this.target_center}px;\r\n `);\r\n tooltip.innerHTML = tip; \r\n \r\n el.insertBefore(tooltip, null);\r\n }\r\n\r\n to_top(el: any){\r\n const pos = this.el_center - (this.target_center) ;\r\n this.renderer.setStyle(el, 'left', `${(pos)}px`);\r\n this.renderer.setStyle(el, 'bottom', `${(this.el_height + 7)}px`);\r\n el.setAttribute('class','tc-directive-tooltip tc-directive-tooltip-top');\r\n \r\n } \r\n\r\n to_bottom(el: any){\r\n const pos = this.el_center - (this.target_center) ;\r\n this.renderer.setStyle(el, 'left', `${(pos)}px`);\r\n this.renderer.setStyle(el, 'bottom', `-${(this.target_height + 7)}px`);\r\n el.setAttribute('class','tc-directive-tooltip tc-directive-tooltip-bottom');\r\n \r\n }\r\n\r\n to_right(el: any){\r\n const pos = this.el_width;\r\n this.renderer.setStyle(el, 'left', `${(pos + 11 )}px`);\r\n this.renderer.setStyle(el, 'bottom', `-${( ((this.target_height)/2) - (this.el_height/2) )}px`);\r\n el.setAttribute('class','tc-directive-tooltip tc-directive-tooltip-right'); \r\n } \r\n\r\n to_left(el: any){\r\n const pos = -( (this.target_width) );\r\n this.renderer.setStyle(el, 'left', `${(pos - 11)}px`);\r\n this.renderer.setStyle(el, 'bottom', `-${( ((this.target_height)/2) - (this.el_height/2) )}px`);\r\n el.setAttribute('class','tc-directive-tooltip tc-directive-tooltip-left'); \r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { TCloudUiAlignDirective } from './align/align.directive';\r\nimport { TCloudUiHoverParentDirective } from './hover-parent/hover-parent.directive';\r\nimport { TCloudUiTooltipDirective } from './tooltip/tooltip.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective\r\n ],\r\n exports: [\r\n TCloudUiTooltipDirective,\r\n TCloudUiAlignDirective,\r\n TCloudUiHoverParentDirective\r\n ],\r\n})\r\nexport class TCloudUiDirectiveModule {}","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\n\r\nimport { MonthNamePipe, StatusInfoPipe, RespectivePipe, CNPJPipe, BytesPipe, CPFPipe, DateBRPipe } from '../_pipes';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, \r\n ],\r\n declarations: [\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe\r\n ],\r\n exports: [ \r\n DatePipe,\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe\r\n ],\r\n providers: [\r\n DatePipe,\r\n\r\n MonthNamePipe,\r\n StatusInfoPipe,\r\n RespectivePipe,\r\n CNPJPipe,\r\n CPFPipe,\r\n BytesPipe,\r\n DateBRPipe\r\n ]\r\n})\r\nexport class TCloudUiPipesModule { }\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TCloudUiLoadingTransitionsService {\r\n\r\n \r\n\r\n private ID: string = 'tcloud-ui-loading-transitions';\r\n\r\n constructor(\r\n ) {}\r\n\r\n /**\r\n * Inicia a tela de bloqueio para carregamento de tarefa\r\n */\r\n start(){\r\n this.create_loading_transition();\r\n if( document.getElementById(this.ID) ){\r\n const box = document.getElementById(this.ID);\r\n box?.classList.add('tcloud-ui-start-loading');\r\n }\r\n }\r\n\r\n /**\r\n * Encerra a tela de bloqueio\r\n */\r\n stop(){\r\n if( document.getElementById(this.ID) ){\r\n const box = document.getElementById(this.ID);\r\n box?.classList.remove('tcloud-ui-start-loading');\r\n\r\n const body = document.getElementsByTagName('body')[0];\r\n body.classList.remove('tcloud-ui-body-loading-transitions');\r\n }\r\n }\r\n\r\n private create_loading_transition(){\r\n let box = null as any;\r\n if( document.getElementById(this.ID) ){\r\n box = document.getElementById(this.ID);\r\n }else{\r\n box = document.createElement(\"div\");\r\n box.setAttribute('id', this.ID);\r\n \r\n } \r\n\r\n box.style.display = 'none';\r\n box.innerHTML = `<div class=\"tc-loading-icon\"><i class=\"fas fa-spinner fa-spin\"></i></div>`;\r\n\r\n const body = document.getElementsByTagName('body')[0];\r\n body.appendChild(box);\r\n body.classList.add('tcloud-ui-body-loading-transitions');\r\n }\r\n\r\n\r\n\r\n}","import { Component, Input, OnDestroy, OnInit, forwardRef, ViewChild, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormControl, Validator } from '@angular/forms';\n\nconst CUSTOM_INPUT_VALIDATORS: any = { \n provide: NG_VALIDATORS, \n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\n multi: true\n}\n\nconst CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TCloudUiMultiplesValuesComponent),\n multi: true\n};\n\nconst noop = () => {\n};\n\n@Component({\n selector: 'tcloud-ui-multiples-values',\n templateUrl: './tcloud-ui-multiples-values.component.html',\n styleUrls: ['./tcloud-ui-multiples-values.component.scss'],\n providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, CUSTOM_INPUT_VALIDATORS]\n})\nexport class TCloudUiMultiplesValuesComponent implements OnInit, OnDestroy, Validator {\n\n viewport_width: number = 0;\n viewport_height: number = 0;\n box_height: number = 0;\n box_style: string = '';\n menu_on_top: string = '';\n search_text: string = '';\n\n id: string = '';\n show_itens: boolean = false;\n\n \n\n input_items: string = '';\n\n items = [] as string[];\n\n private _listItems: any | undefined;\n @Input() set listItems(v: any | undefined){\n if( v !== this._listItems ){\n this._listItems = v;\n }\n }\n get listItems():any | undefined { return this._listItems; }\n \n @Input() delimiter: string = ',';\n @Input() placeholder: string = '';\n @Input() disabled: boolean = false;\n @Input() loading: boolean = false;\n @Input() required: string | undefined;\n @Input() search: boolean = true;\n @Input() uppercase: boolean = false;\n @Input() lowercase: boolean = false;\n\n use_validation_required: boolean = false;\n\n placeholder_list: string = '';\n\n constructor() { }\n\n ngOnInit(): void {\n this.id = this.generateID();\n this.toResize();\n this.toClick();\n this.set_placeholder_list();\n }\n\n check_is_valid(): boolean{\n if( this.items ){\n return ((this.items).length > 0) ? true : false;\n }\n return false;\n }\n\n generateID(): string{\n return `multiple-values-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\n }\n\n remove_duplicates(items: string[]): string[] {\n return [...new Set(items)];\n }\n\n item_width(text: any) {\n const value = `${text}`;\n const value_len = (value).length;\n let max_width = 155;\n if( value_len < 15 ){ max_width = 138; }\n if( value_len < 10 ){ max_width = 105; }\n if( value_len < 8 ){ max_width = 85; }\n if( value_len < 5 ){ max_width = 70; }\n return { 'max-width': max_width + 'px'};\n }\n\n add_items_by_data_list(e: any){\n console.log('add_items_by_data_list', e);\n this.input_items = e;\n this.add_items();\n }\n\n add_items(){\n\n if( this.disabled ){ return; }\n\n const input_items = this.input_items;\n\n this.input_items = '';\n \n let items = [];\n if( input_items && input_items !== '' ){\n\n items = <any> (input_items).split(this.delimiter);\n\n }\n\n if( (items).length === 0 ){\n if( input_items && input_items !== '' ){\n let txt = `${(input_items).trim()}`;\n items = [txt];\n }\n }\n\n //items = [...new Set(items)];\n\n for( let i = 0; i < (items).length; i++){\n let txt = `${(items[i]).trim()}`;\n\n if( this.uppercase ){\n if( txt && txt !== '' ){\n txt = (txt).toLocaleUpperCase();\n } \n }\n\n if( this.lowercase ){\n if( txt && txt !== '' ){\n txt = (txt).toLocaleLowerCase();\n }\n }\n\n if( txt && txt !== '' ){\n (this.items).push(txt);\n }\n \n }\n\n this.items = this.remove_duplicates(this.items);\n this.set_placeholder_list();\n }\n\n set_placeholder_list(){\n let placeholder_list = '';\n let delimiter = '';\n const items = this.items;\n if( items && (items).length > 0 ){\n for( let i = 0; i < (items).length; i++){\n placeholder_list += delimiter + `${(items[i]).trim()}`;\n delimiter = `${this.delimiter} `;\n }\n }\n this.placeholder_list = (placeholder_list !== '') ? placeholder_list : this.placeholder;\n this.onChangeTouched();\n this.onChangeCallback(this.items);\n }\n\n\n removeItem(item: any, index: number): void{\n if( this.disabled ){ return; }\n if( this.items ){\n for( let i = 0; i < (this.items).length; i++ ){\n const row = this.items[i];\n if( item === row && i === index ){\n (this.items).splice(index,1);\n break;\n }\n }\n }\n this.set_placeholder_list();\n }\n\n remove_all(){\n if( this.disabled ){ return; }\n this.items = [];\n this.set_placeholder_list();\n }\n\n toClick(){\n const box = `area-${this.id}`;\n window.addEventListener('click',(e: any) => { \n\n if( this.show_itens ){ \n try {\n if( !(document.getElementById(box)?.contains(e.target)) ){ \n if( 'box-action' !== e.target.parentElement.className ){\n this.show_itens = false;\n } \n //console.log('toClick', e.target.parentElement.className); \n \n }\n } catch (error) {\n \n }\n \n }\n });\n\n const boxsub = `${this.id}-options`;\n }\n\n toResize(){\n window.addEventListener('resize', () => {\n this.viewport_width = window.innerWidth;\n this.viewport_height = window.innerHeight;\n this.resolve_position_dropdown(this.show_itens);\n });\n }\n\n toOpen(){\n this.show_itens = !this.show_itens;\n this.resolve_position_dropdown(this.show_itens);\n }\n\n toClose(){\n this.show_itens = false;\n }\n\n resolve_position_dropdown(open: boolean){\n if( open ){\n this.box_style = '';\n this.menu_on_top = ''; \n const id = `${this.id}`; \n const box = `box-${this.id}`;\n if( this.viewport_height === 0 ){\n this.viewport_height = window.innerWidth;\n }\n const rect = document.getElementById(id)?.getBoundingClientRect();\n const box_position = rect?.bottom || 0; \n setTimeout(() => {\n this.box_height = document.getElementById(box)?.clientHeight || 0;\n if( ( this.viewport_height - box_position) < this.box_height ){\n this.menu_on_top = 'menu-on-top';\n this.box_style = `top: -${ (this.box_height) }px; height: ${this.box_height}px;`;\n }\n }); \n }\n }\n\n\n\n clearTextSearch(){\n this.search_text = '';\n this.toSearch('');\n }\n\n toSearch(e: any) {\n let input = (e && e.target && e.target.value) ? e.target.value : '';\n \n let filter = ( ( (input).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n let ul = <any> document.getElementById(`${this.id}-options`);\n let li = ul.getElementsByTagName(\"label\");\n for (let i = 0; i < li.length; i++) {\n const a = li[i];\n const txtValue = ( ( ( a.textContent || a.innerText ).normalize('NFD').replace(/[\\u0300-\\u036f]/g, \"\") ).trim() ).toLowerCase();\n if (txtValue.indexOf(filter) > -1) {\n li[i].style.display = \"\";\n } else {\n li[i].style.display = \"none\";\n }\n }\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n onChangeTouched(){ \n this.onTouchedCallback(); \n }\n\n\n toSetDefault(v:any){\n this.items = v;\n this.add_items();\n }\n\n innerValue: any | undefined;\n //Placeholders for the callbacks which are later providesd\n //by the Control Value Accessor\n private onTouchedCallback: () => void = noop;\n private onChangeCallback: (_: any) => void = noop;\n\n //get accessor\n get value(): any {\n return this.innerValue;\n };\n\n //set accessor including call the onchange callback\n set value(v: any) {\n if (v !== this.innerValue) {\n this.innerValue = v; \n this.toSetDefault(v); \n this.onChangeCallback(v);\n }\n }\n\n //Set touched on blur\n onBlur() {\n this.onTouchedCallback();\n }\n\n //From ControlValueAccessor interface\n writeValue(value: any) {\n if (value !== this.innerValue) {\n this.innerValue = value;\n this.toSetDefault(value);\n }\n }\n\n //From ControlValueAccessor interface\n registerOnChange(fn: any) {\n this.onChangeCallback = fn;\n }\n\n //From ControlValueAccessor interface\n registerOnTouched(fn: any) {\n this.onTouchedCallback = fn;\n }\n\n\n\n public validate(c: FormControl): any {\n if( c && ( typeof this.required !== 'undefined' ) ){\n this.use_validation_required = true;\n return (this.check_is_valid()) ? null : 'required';\n }\n return null;\n }\n\n\n ngOnDestroy(): void {\n \n }\n\n}\n","<div class=\"tc-dropdown\" id=\"area-{{ id }}\" [class.tc-parent-validation]=\"use_validation_required\">\n\n\n <form #_formulario=\"ngForm\">\n\n <!-- {{ input_items }} -->\n\n <div class=\"dropdown-toggle\" id=\"{{id}}\" [attr.aria-haspopup]=\"'true'\" [attr.aria-expanded]=\"'false'\">\n\n <table style=\"width: 100%;\">\n <tr>\n <td>\n <table class=\"group-input-action\">\n <tr>\n <td class=\"box-input{{ (listItems && (listItems).length > 0) ? '-data-list' : '' }} bc-l\">\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <div class=\"input\" (click)=\"show_itens = false\">\n <tcloud-ui-data-list [placeholder]=\"placeholder_list\" [border]=\"false\" [loading]=\"loading\" [disabled]=\"disabled\" name=\"items\" [listItems]=\"listItems\" [(ngModel)]=\"input_items\"></tcloud-ui-data-list>\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\n <div class=\"input\">\n <input \n (keydown.enter)=\"add_items();toOpen()\"\n [disabled]=\"disabled\"\n [class.text-lowercase]=\"lowercase\"\n [class.text-uppercase]=\"uppercase\"\n type=\"text\" name=\"items\" class=\"form-control tc-form-control\" [(ngModel)]=\"input_items\" [placeholder]=\"placeholder_list\" required [title]=\"placeholder_list\">\n \n </div>\n </ng-container>\n </td>\n <td class=\"count-list\" *ngIf=\"(items && items.length > 0)\">\n <div class=\"input\">\n <input type=\"text\" value=\"{{ items.length }} {{ (items.length > 1) ? 'registros' : 'registro' }}\" disabled readonly> \n </div>\n </td>\n <td class=\"count-list\" *ngIf=\"!items || (items && items.length === 0)\">\n <div class=\"input\"><input type=\"text\" value=\"Vazio\" disabled readonly></div> \n </td>\n <td class=\"action-input-arrow bc-r\">\n <button (click)=\"toOpen()\" title=\"Lista de valores\" [disabled]=\"disabled\">\n <i class=\"fas fa-angle-up\" *ngIf=\"show_itens\"></i>\n <i class=\"fas fa-angle-down\" *ngIf=\"!show_itens\"></i>\n </button>\n </td>\n \n </tr>\n </table> \n </td>\n <td style=\"width: 50px;\">\n <table>\n <tr>\n <td class=\"action-input\" *ngIf=\"!disabled\">\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-primary btn-new-green\" (click)=\"add_items()\" title=\"Adicionar item\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-primary btn-new-green\" (click)=\"add_items_by_data_list(input_items)\" title=\"Adicionar item\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </ng-container>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </table>\n\n <!-- <table class=\"group-input-action\">\n <tr>\n <td class=\"box-input{{ (listItems && (listItems).length > 0) ? '-data-list' : '' }} bc-l\">\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <div class=\"input\" (click)=\"show_itens = false\">\n <tcloud-ui-data-list [border]=\"false\" [loading]=\"loading\" [disabled]=\"disabled\" name=\"items\" [listItems]=\"listItems\" [(ngModel)]=\"input_items\"></tcloud-ui-data-list>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\n <div class=\"input\">\n <input \n (keydown.enter)=\"add_items();toOpen()\"\n [disabled]=\"disabled\"\n [class.text-lowercase]=\"lowercase\"\n [class.text-uppercase]=\"uppercase\"\n type=\"text\" name=\"items\" class=\"form-control tc-form-control\" [(ngModel)]=\"input_items\" [placeholder]=\"placeholder_list\" required [title]=\"placeholder_list\">\n \n </div>\n </ng-container>\n </td>\n <td class=\"count-list\" *ngIf=\"(items && items.length > 0)\">\n <div class=\"input\">\n <input type=\"text\" value=\"{{ items.length }} {{ (items.length > 1) ? 'registros' : 'registro' }}\" disabled readonly> \n </div>\n </td>\n <td class=\"count-list\" *ngIf=\"!items || (items && items.length === 0)\">\n <div class=\"input\"><input type=\"text\" value=\"Vazio\" disabled readonly></div> \n </td>\n <td class=\"action-input-arrow bc-r\">\n <button (click)=\"toOpen()\" title=\"Lista de valores\" [disabled]=\"disabled\">\n <i class=\"fas fa-angle-up\" *ngIf=\"show_itens\"></i>\n <i class=\"fas fa-angle-down\" *ngIf=\"!show_itens\"></i>\n </button>\n </td>\n <td class=\"action-input\" *ngIf=\"!disabled\">\n <ng-container *ngIf=\"!listItems || !(listItems && (listItems).length > 0)\">\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-primary btn-new-green\" (click)=\"add_items()\" title=\"Adicionar item\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"listItems && (listItems).length > 0\">\n <button [disabled]=\"!_formulario.valid\" class=\"tc-btn tc-btn-primary btn-new-green\" (click)=\"add_items_by_data_list(input_items)\" title=\"Adicionar item\">\n <i class=\"fas fa-plus\"></i>\n </button>\n </ng-container>\n </td>\n </tr>\n </table> -->\n </div>\n \n <!-- <pre>\n {{ items | json }}\n </pre> -->\n\n </form> \n\n <!-- box-itens-selected -->\n <div class=\"tc-dropdown-menu box-itens-selected {{ menu_on_top }}\" id=\"box-{{ id }}\" [attr.aria-labelledby]=\"id\" [class.to-hide]=\"!show_itens\" [style]=\"box_style\">\n \n\n <div class=\"line-search\" *ngIf=\"search\">\n <table class=\"box-search\">\n <tr>\n \n <td class=\"area-input\">\n <input type=\"text\" class=\"tc-form-control\" [(ngModel)]=\"search_text\" (input)=\"toSearch($event)\" placeholder=\"Buscar...\" > \n </td>\n \n <td class=\"area-icon\">\n <i *ngIf=\"search_text === ''\" class=\"fas fa-search icon-search\"></i>\n <button class=\"box-action\" type=\"button\" *ngIf=\"search_text !== ''\" (click)=\"clearTextSearch()\"><i class=\"fas fa-times\"></i></button>\n </td>\n \n </tr>\n </table>\n </div>\n\n <div class=\"area-options\" id=\"{{ id }}-options\">\n <ng-container *ngFor=\"let item of items; let i = index\">\n \n <label class=\"box-label\" [ngStyle]=\"item_width(item)\">\n <div class=\"box-value\" [title]=\"item\" >\n {{ item }} \n </div>\n <div class=\"box-action\">\n <button\n class=\"box-action\"\n [disabled]=\"items === undefined || (items && items.length === 0) || disabled || loading\"\n title=\"Remover\"\n type=\"button\"\n (click)=\"removeItem(item, i)\">\n <i class=\"fas fa-times\"></i>\n </button>\n </div>\n </label>\n\n </ng-container>\n </div>\n\n <div class=\"mt-5\" *ngIf=\"items && (items).length > 5\">\n <div class=\"btn-remove-all\">\n <button class=\"box-action\" type=\"button\" (click)=\"remove_all()\">\n Limpar toda a lista\n </button>\n </div>\n </div>\n\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiMultiplesValuesComponent } from './tcloud-ui-multiples-values.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TCloudUiDataListModule } from '../tcloud-ui-data-list/tcloud-ui-data-list.module';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiMultiplesValuesComponent\n ],\n exports: [\n TCloudUiMultiplesValuesComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TCloudUiDataListModule\n ]\n})\nexport class TCloudUiMultiplesValuesModule { }\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'tcloud-ui-welcome',\n templateUrl: './tcloud-ui-welcome.component.html',\n styleUrls: ['./tcloud-ui-welcome.component.scss']\n})\nexport class TCloudUiWelcomeComponent implements OnInit {\n\n @Input() imgSrc: string = '';\n @Input() title: string = ''; \n @Input() description: string = ''; \n @Input() size: 'small'|'normal'|'big' = 'small';\n @Input() font: 'small'|'normal'|'big' = 'normal';\n\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<div class=\"tcloud-ui-welcome\">\n <div class=\"row\">\n\n <div class=\"col-md-4 text-center\" *ngIf=\"imgSrc !== ''\" >\n <img class=\"containt-img-{{ size }}\" src=\"{{ imgSrc }}\">\n </div>\n\n <div class=\"{{ (imgSrc === '') ? 'col-md-12' : 'col-md-7' }} text-center\">\n <div class=\"info-new-window\">\n\n <h2 *ngIf=\"title !== ''\" [innerHTML]=\"title\" ></h2>\n \n <div class=\"info-{{ font }}\" *ngIf=\"description !== ''\" [innerHTML]=\"description\"></div>\n \n <div class=\"mt-5 text-center\">\n <ng-content></ng-content>\n </div>\n \n </div>\n </div>\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TCloudUiWelcomeComponent } from './tcloud-ui-welcome.component';\n\n\n\n@NgModule({\n declarations: [\n TCloudUiWelcomeComponent\n ],\n exports: [\n TCloudUiWelcomeComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class TCloudUiWelcomeModule { }\n","import { NgModule } from '@angular/core';\n\nimport { TCloudUiLinhaLogoModule } from './_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module';\nimport { TCloudUiTabMenuModule } from './_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module';\nimport { TCloudUiModalModule } from './_modules/tcloud-ui-modal/tcloud-ui-modal.module';\nimport { TCloudUiLineStepCircleModule } from './_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module';\nimport { TCloudUiMultiSelectModule } from './_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module';\nimport { TCloudUiDataListModule } from './_modules/tcloud-ui-data-list/tcloud-ui-data-list.module';\nimport { TCloudUiChoiceIssuesModule } from './_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module';\nimport { TCloudUiMultiInputModule } from './_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module';\nimport { TCloudUiInputSearchModule } from './_modules/tcloud-ui-input-search/tcloud-ui-input-search.module';\nimport { TCloudUiNotFoundModule } from './_modules/tcloud-ui-not-found/tcloud-ui-not-found.module';\nimport { TCloudUiTableModule } from './_modules/tcloud-ui-table/tcloud-ui-table.module';\nimport { TCloudUiNumberStepModule } from './_modules/tcloud-ui-number-step/tcloud-ui-number-step.module';\nimport { TCloudUiScrollBoxModule } from './_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module';\nimport { TCloudUiFiltersModule } from './_modules/tcloud-ui-filters/tcloud-ui-filters.module';\nimport { TCloudUiAccordionModule } from './_modules/tcloud-ui-accordion/tcloud-ui-accordion.module';\nimport { TCloudUiDatepickerModule } from './_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module';\nimport { TCloudUiDatepickerTimeModule } from './_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\n\nimport { TCloudUiDirectiveModule } from './_directives/directives.module';\n\nimport { TCloudUiPipesModule } from './_pipes/tcloud-pipes.module';\n\nimport { TCloudUiLoadingTransitionsService } from './_services/loading-transitions.service';\nimport { TCloudUiSearchInObjectService } from './_services/search-in-object.service';\nimport { TCloudUiMultiplesValuesModule } from './_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module';\nimport { TCloudUiWelcomeModule } from './_modules/tcloud-ui-welcome/tcloud-ui-welcome.module';\n\n\n@NgModule({\n imports: [\n TCloudUiModalModule,\n TCloudUiTabMenuModule,\n TCloudUiLinhaLogoModule,\n TCloudUiLineStepCircleModule,\n TCloudUiMultiSelectModule,\n TCloudUiDataListModule,\n TCloudUiMultiInputModule,\n TCloudUiChoiceIssuesModule,\n TCloudUiInputSearchModule,\n TCloudUiNotFoundModule,\n TCloudUiTableModule,\n TCloudUiNumberStepModule,\n TCloudUiScrollBoxModule,\n TCloudUiFiltersModule,\n TCloudUiAccordionModule,\n TCloudUiDatepickerModule,\n TCloudUiDatepickerTimeModule,\n TCloudUiMultiplesValuesModule,\n TCloudUiWelcomeModule,\n\n // Directives\n TCloudUiDirectiveModule,\n\n // Pipes\n TCloudUiPipesModule\n ],\n exports: [\n TCloudUiModalModule,\n TCloudUiTabMenuModule,\n TCloudUiLinhaLogoModule,\n TCloudUiLineStepCircleModule,\n TCloudUiMultiSelectModule,\n TCloudUiDataListModule,\n TCloudUiMultiInputModule,\n TCloudUiChoiceIssuesModule,\n TCloudUiInputSearchModule,\n TCloudUiNotFoundModule,\n TCloudUiTableModule,\n TCloudUiNumberStepModule,\n TCloudUiScrollBoxModule,\n TCloudUiFiltersModule,\n TCloudUiAccordionModule,\n TCloudUiDatepickerModule,\n TCloudUiDatepickerTimeModule,\n TCloudUiMultiplesValuesModule,\n TCloudUiWelcomeModule,\n\n // Directives\n TCloudUiDirectiveModule,\n\n // Pipes\n TCloudUiPipesModule\n ],\n providers: [\n TCloudUiLoadingTransitionsService,\n TCloudUiSearchInObjectService,\n \n ]\n})\nexport class TCloudUiModule {}","/*\n * Public API Surface of tcloud-ui\n */\n\nexport * from './lib/tcloud-ui.module';\n\n// UI-MODAL\nexport * from './lib/_modules/tcloud-ui-modal/tcloud-ui-modal.module';\nexport * from './lib/_modules/tcloud-ui-modal/tcloud-ui-modal.component';\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-header/tcloud-ui-modal-header.component';\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-body/tcloud-ui-modal-body.component';\nexport * from './lib/_modules/tcloud-ui-modal/components/tcloud-ui-modal-footer/tcloud-ui-modal-footer.component';\n\n// UI-TAB-MENU\nexport * from './lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.module';\nexport * from './lib/_modules/tcloud-ui-tab-menu/tcloud-ui-tab-menu.component';\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-content/tcloud-ui-tab-content.component';\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-head/tcloud-ui-tab-head.component';\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-subtitle/tcloud-ui-tab-subtitle.component';\nexport * from './lib/_modules/tcloud-ui-tab-menu/components/tcloud-ui-tab-title/tcloud-ui-tab-title.component';\n\n// UI-LINHA-LOGO\nexport * from './lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.module';\nexport * from './lib/_modules/tcloud-ui-linha-logo/tcloud-ui-linha-logo.component';\n\n// UI-STEP-CIRCLE\nexport * from './lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.module';\nexport * from './lib/_modules/tcloud-ui-line-step-circle/tcloud-ui-line-step-circle.component';\n\n// UI-MULTI-SELECT\nexport * from './lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.module';\nexport * from './lib/_modules/tcloud-ui-multi-select/tcloud-ui-multi-select.component';\n\n// UI-TOOLTIP\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.module';\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list.component';\nexport * from './lib/_modules/tcloud-ui-data-list/tcloud-ui-data-list-option/tcloud-ui-data-list-option.component';\n\n// UI-MULTI-INPUT\nexport * from './lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.module';\nexport * from './lib/_modules/tcloud-ui-multi-input/tcloud-ui-multi-input.component';\n\n// UI-CHOICE-ISSUES\nexport * from './lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.module';\nexport * from './lib/_modules/tcloud-ui-choice-issues/tcloud-ui-choice-issues.component';\n\n// UI-INPUT-SEARCH\nexport * from './lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.module';\nexport * from './lib/_modules/tcloud-ui-input-search/tcloud-ui-input-search.component';\n\n// UI-NOT-FOUND\nexport * from './lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.module';\nexport * from './lib/_modules/tcloud-ui-not-found/tcloud-ui-not-found.component';\n\n// UI-TABLE\nexport * from './lib/_modules/tcloud-ui-table/tcloud-ui-table.module';\nexport * from './lib/_modules/tcloud-ui-table/tcloud-ui-table.component';\n\n// UI-NUMBER-STEP\nexport * from './lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.module';\nexport * from './lib/_modules/tcloud-ui-number-step/tcloud-ui-number-step.component';\n\n// UI-SCROLL-BOX\nexport * from './lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.module';\nexport * from './lib/_modules/tcloud-ui-scroll-box/tcloud-ui-scroll-box.component';\n\n// UI-FILTERS\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters';\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters.module';\nexport * from './lib/_modules/tcloud-ui-filters/tcloud-ui-filters.component';\nexport * from './lib/_modules/tcloud-ui-filters/components/range-date/range-date.component';\n\n// UI-ACCORDION\nexport * from './lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.module';\nexport * from './lib/_modules/tcloud-ui-accordion/tcloud-ui-accordion.component';\nexport * from './lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-title/tcloud-ui-accordion-title.component';\nexport * from './lib/_modules/tcloud-ui-accordion/components/tcloud-ui-accordion-body/tcloud-ui-accordion-body.component';\n\n// UI-DATEPICKER\nexport * from './lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.module';\nexport * from './lib/_modules/tcloud-ui-datepicker/tcloud-ui-datepicker.component';\n\n// UI-DATEPICKER-TIME\nexport * from './lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.module';\nexport * from './lib/_modules/tcloud-ui-datepicker-time/tcloud-ui-datepicker-time.component';\n\n// UI-MULTIPLES-VALUES\nexport * from './lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.module';\nexport * from './lib/_modules/tcloud-ui-multiples-values/tcloud-ui-multiples-values.component';\n\n// UI-WELCOME\nexport * from './lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.module';\nexport * from './lib/_modules/tcloud-ui-welcome/tcloud-ui-welcome.component';\n\n// DIRECTIVES\nexport * from './lib/_directives/directives.module';\nexport * from './lib/_directives/tooltip/tooltip.directive';\nexport * from './lib/_directives/align/align.directive';\nexport * from './lib/_directives/hover-parent/hover-parent.directive';\n\n// PIPES\nexport * from './lib/_pipes/tcloud-pipes.module';\nexport * from './lib/_pipes/index';\n\n// SERVICES\nexport * from './lib/_services/loading-transitions.service';\nexport * from './lib/_services/search-in-object.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.TabMenuService","i2","i1.TcloudModalService","i3","Step","CUSTOM_INPUT_VALIDATORS","CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR","noop","i1.DataListService","i4.TCloudUiDataListOptionComponent","i2.StatusInfoPipe","i1.TCloudUiSearchInObjectService","i1.DateBRPipe","i2.TCloudUiDatepickerComponent","i4.TCloudUiDataListComponent","i3.TCloudUiDatepickerTimeComponent","i4.TCloudUiDatepickerComponent","i5.TCloudUiRangeDateComponent","i1.TCloudUiAccordionService","i3.TCloudUiDataListComponent"],"mappings":"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"}
|