info-library 2.14.49 → 2.14.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"info-library.mjs","sources":["../../../projects/info-library/src/global-config.ts","../../../projects/info-library/src/model/app-config.model.ts","../../../projects/info-library/src/model/data-access.model.ts","../../../projects/info-library/src/model/dialog-result.model.ts","../../../projects/info-library/src/model/dialog.model.ts","../../../projects/info-library/src/enum/page-action.enum.ts","../../../projects/info-library/src/enum/modal-action.enum.ts","../../../projects/info-library/src/model/form-prop.model.ts","../../../projects/info-library/src/model/grid-button.model.ts","../../../projects/info-library/src/model/method-grid-button.model.ts","../../../projects/info-library/src/model/last-search.model.ts","../../../projects/info-library/src/model/login.model.ts","../../../projects/info-library/src/model/pagebar-buttons.model.ts","../../../projects/info-library/src/model/permission.model.ts","../../../projects/info-library/src/model/platform.model.ts","../../../projects/info-library/src/model/session.model.ts","../../../projects/info-library/src/model/notification.model.ts","../../../projects/info-library/src/enum/dialog-buttons.enum.ts","../../../projects/info-library/src/service/translate.service.ts","../../../projects/info-library/src/pipe/translate.pipe.ts","../../../projects/info-library/src/pipe/mask.pipe.ts","../../../projects/info-library/src/utils/utilities.ts","../../../projects/info-library/src/service/data.service.ts","../../../projects/info-library/src/controls/alert/alert.component.ts","../../../projects/info-library/src/layouts/modal/modal.component.html","../../../projects/info-library/src/layouts/modal/modal.component.ts","../../../projects/info-library/src/service/authentication.service.ts","../../../projects/info-library/src/service/theme.service.ts","../../../projects/info-library/src/service/configuration.service.ts","../../../projects/info-library/src/controls/autocomplete/autocomplete.component.html","../../../projects/info-library/src/controls/autocomplete/autocomplete.component.ts","../../../projects/info-library/src/controls/big-checkbox/big-checkbox.component.html","../../../projects/info-library/src/controls/big-checkbox/big-checkbox.component.ts","../../../projects/info-library/src/controls/card/card.component.html","../../../projects/info-library/src/controls/card/card.component.ts","../../../projects/info-library/src/controls/card-menu/card-menu.component.html","../../../projects/info-library/src/controls/card-menu/card-menu.component.ts","../../../projects/info-library/src/controls/checkbox/checkbox.component.ts","../../../projects/info-library/src/controls/checkbox/checkbox.component.html","../../../projects/info-library/src/controls/date/date.component.html","../../../projects/info-library/src/controls/date/date.component.ts","../../../projects/info-library/src/controls/date-month/date-month.component.html","../../../projects/info-library/src/controls/date-month/date-month.component.ts","../../../projects/info-library/src/controls/message/message.component.html","../../../projects/info-library/src/controls/message/message.component.ts","../../../projects/info-library/src/layouts/dialog/dialog.component.html","../../../projects/info-library/src/layouts/dialog/dialog.component.ts","../../../projects/info-library/src/controls/paginator/paginator.component.html","../../../projects/info-library/src/controls/paginator/paginator.component.ts","../../../projects/info-library/src/directives/mask.directive.ts","../../../projects/info-library/src/directives/unmask.directive.ts","../../../projects/info-library/src/controls/input/input.component.html","../../../projects/info-library/src/controls/input/input.component.ts","../../../projects/info-library/src/layouts/pagebar/pagebar.component.html","../../../projects/info-library/src/layouts/pagebar/pagebar.component.ts","../../../projects/info-library/src/controls/grid/grid.component.html","../../../projects/info-library/src/controls/grid/grid.modal.html","../../../projects/info-library/src/controls/grid/grid.component.ts","../../../projects/info-library/src/controls/input-list/input-list.component.html","../../../projects/info-library/src/controls/input-list/input-list.component.ts","../../../projects/info-library/src/controls/list-checkbox/list-checkbox.component.html","../../../projects/info-library/src/controls/list-checkbox/list-checkbox.component.ts","../../../projects/info-library/src/controls/select/select.component.html","../../../projects/info-library/src/controls/select/select.component.ts","../../../projects/info-library/src/controls/timeline/timeline.component.html","../../../projects/info-library/src/controls/timeline/timeline.component.ts","../../../projects/info-library/src/controls/editor/editor.component.ts","../../../projects/info-library/src/controls/editor/editor.component.html","../../../projects/info-library/src/controls/multi-select/multi-select.component.html","../../../projects/info-library/src/controls/multi-select/multi-select.component.ts","../../../projects/info-library/src/controls/chips/chips.component.html","../../../projects/info-library/src/controls/chips/chips.component.ts","../../../projects/info-library/src/layouts/sidebar/sidebar.component.html","../../../projects/info-library/src/layouts/sidebar/sidebar.component.ts","../../../projects/info-library/src/layouts/topbar/topbar.component.html","../../../projects/info-library/src/layouts/topbar/topbar.component.ts","../../../projects/info-library/src/layouts/topmenu/topmenu.component.html","../../../projects/info-library/src/layouts/topmenu/topmenu.component.ts","../../../projects/info-library/src/layouts/main/main.component.html","../../../projects/info-library/src/layouts/main/main.component.ts","../../../projects/info-library/src/layouts/filter/filter.component.html","../../../projects/info-library/src/layouts/filter/filter.component.ts","../../../projects/info-library/src/layouts/loading/loading.component.ts","../../../projects/info-library/src/info-library.module.ts","../../../projects/info-library/src/info-library.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\r\n\r\nexport const DICTIONARIES_CONFIG = new InjectionToken<any>('DICTIONARIES_CONFIG');\r\nexport const APICONTROLLER_CONFIG = new InjectionToken<any>('APICONTROLLER_CONFIG');","export class InfoAppConfigModel {\r\n production: boolean = false;\r\n webapiUrl: string = '';\r\n processingUrl: string = '';\r\n theme: string = '';\r\n dictionary: string = '';\r\n ux: Number = 2;\r\n style: string = '';\r\n topMenu: boolean = false;\r\n enabledPrime: boolean = false;\r\n title: string = '';\r\n headers: any = [];\r\n}","export class InfoDataAccessModel {\r\n \r\n success: boolean;\r\n messages: string[] = [];\r\n name: string = null;\r\n description: string = null;\r\n data: any;\r\n total: number = 0;\r\n parentId: number = null;\r\n referenceGuid: string = null;\r\n external = false;\r\n\r\n constructor(data: any, success?: boolean, messages?: string[]) {\r\n\r\n if (data != null) {\r\n if (data.Name != null && data.Name != \"\")\r\n this.name = data.Name\r\n\r\n if (data.Description != null && data.Description != \"\")\r\n this.description = data.Description;\r\n\r\n if (data.Total != null)\r\n this.total = data.Total;\r\n \r\n if (data.Success != null)\r\n success = data.Success;\r\n\r\n if (data.Messages)\r\n messages = data.Messages;\r\n\r\n if (data.ParentId != null)\r\n this.parentId = data.ParentId;\r\n\r\n if (data.ReferenceGuid != null)\r\n this.referenceGuid = data.ReferenceGuid;\r\n \r\n if (data.External != null)\r\n this.external = data.External;\r\n\r\n this.data = data.Data;\r\n }\r\n \r\n this.success = success == null ? true : success;\r\n this.messages = messages;\r\n\r\n if (this.messages == null || this.messages.length == 0)\r\n this.messages = new Array();\r\n }\r\n}","import { InfoDialogButtons } from \"../enum/dialog-buttons.enum\";\r\n\r\nexport class InfoDialogResult {\r\n data?: any = null;\r\n button: InfoDialogButtons;\r\n\r\n constructor(button: InfoDialogButtons);\r\n constructor(button: InfoDialogButtons, data?: any) {\r\n this.button = button;\r\n this.data = data;\r\n }\r\n}","export class InfoDialogModel {\r\n\r\n yesOrNo: boolean = false\r\n title: string\r\n message: string = ''\r\n width: number = 450;\r\n\r\n labelOk: string = 'Ok'\r\n labelCancel: string = 'Cancelar'\r\n labelAux: string = null\r\n\r\n colorOk: string = ''\r\n colorCancel: string = ''\r\n colorAux: string = ''\r\n\r\n processingMode: boolean = false;\r\n\r\n disableButtonCancel: boolean = false;\r\n}","export enum InfoPageAction {\r\n None = -1,\r\n\r\n View = 0,\r\n New = 1,\r\n Edit = 2,\r\n Delete = 3,\r\n Search = 4,\r\n}","export enum InfoModalAction {\r\n None,\r\n Ok,\r\n Yes,\r\n No,\r\n Cancel,\r\n Save,\r\n Special,\r\n Aux\r\n}","import { InfoPageAction } from \"../enum/page-action.enum\";\r\nimport { InfoModalAction } from \"../enum/modal-action.enum\";\r\n\r\nexport class InfoFormPropModel {\r\n\r\n title: string;\r\n readonly: boolean;\r\n data: any;\r\n pageAction: InfoPageAction;\r\n modalAction: InfoModalAction = InfoModalAction.None;\r\n modalComponent: any = null;\r\n api: any = null;\r\n\r\n set(pageAction: InfoPageAction, data: any) {\r\n\r\n this.data = data;\r\n this.readonly = pageAction == InfoPageAction.View;\r\n this.pageAction = pageAction;\r\n\r\n switch (pageAction) {\r\n\r\n case InfoPageAction.New:\r\n this.title = 'Novo';\r\n break;\r\n\r\n case InfoPageAction.Search:\r\n this.title = 'Pesquisar';\r\n break;\r\n\r\n case InfoPageAction.View:\r\n this.title = 'Visualizar';\r\n break;\r\n\r\n case InfoPageAction.Edit:\r\n this.title = 'Editar';\r\n break;\r\n\r\n case InfoPageAction.Delete:\r\n this.title = 'Remover';\r\n break;\r\n\r\n default:\r\n this.title = '';\r\n break;\r\n }\r\n }\r\n}","export class InfoGridButtonModel {\r\n \r\n label: string;\r\n passId: boolean;\r\n icon: string;\r\n navigateTo: string;\r\n modalComponent: any = null;\r\n widthModalComponent: Number = 500;\r\n api: any = null;\r\n method: string = null;\r\n showOnlyClass: string = null;\r\n disabledField: string = null;\r\n confirm: boolean;\r\n\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number, api: any, method: string);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number, api: any, method: string, disabledField: string);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number, api: any, method: string, disabledField: string, confirm: boolean);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function = null, widthModalComponent: Number = null, api: any = null, method: string = null, disabledField: string = null, confirm: boolean = true) {\r\n this.label = label;\r\n this.passId = passId;\r\n this.icon = icon;\r\n this.navigateTo = navigateTo;\r\n \r\n this.modalComponent = modalComponent;\r\n this.widthModalComponent = widthModalComponent;\r\n\r\n this.api = api;\r\n this.method = method;\r\n this.disabledField = disabledField;\r\n this.confirm = confirm;\r\n }\r\n}","export class InfoMethodGridButtonModel {\r\n \r\n label: string;\r\n icon: string;\r\n method: () => any = null;\r\n\r\n constructor(label: string, icon: string, method: () => any)\r\n {\r\n this.label = label;\r\n this.icon = icon;\r\n this.method = method;\r\n }\r\n}","export class InfoLastSearchModel {\r\n url: string = '';\r\n model: any = null;\r\n index: number = 0;\r\n enabledSearch: boolean = false;\r\n}","export class InfoLoginModel {\r\n\r\n success: boolean = false;\r\n messages: string;\r\n data: any;\r\n\r\n constructor(success: boolean, messages: string, data?: any) {\r\n this.success = success;\r\n this.messages = messages;\r\n this.data = data;\r\n }\r\n}","export class InfoPagebarButtonModel {\r\n label: string = '';\r\n url: string = '';\r\n icon: string = '';\r\n modal: any = null;\r\n modalwidth: number = 700;\r\n\r\n constructor(label: string, url: string);\r\n constructor(label: string, url: string, icon: string);\r\n constructor(label: string, url: string, icon: string, modal: any, modalwidth: number);\r\n constructor(label: string, url: string, icon: string = 'chevron_right', modal: any = null, modalwidth: number = 700){\r\n this.label = label;\r\n this.url = url;\r\n this.icon = icon;\r\n this.modal = modal;\r\n this.modalwidth = modalwidth;\r\n }\r\n}","export class InfoPermissionModel {\r\n Acesso: boolean;\r\n URL: string;\r\n ChaveFuncionalidade: string;\r\n}","import { InfoAppConfigModel } from \"./app-config.model\";\r\n\r\nexport class InfoPlatformModel {\r\n\r\n TokenKey: string = 'tk';\r\n SessionKey: string = 'ss';\r\n \r\n ConfigIsNull: boolean = true;\r\n Themes: any = [];\r\n Config: InfoAppConfigModel = new InfoAppConfigModel();\r\n\r\n PaginaAtiva: any;\r\n UnificarTopbar: boolean = true;\r\n MenuMin: boolean = false;\r\n ModoPrime: boolean = false;\r\n PaginaLimpa: boolean = false;\r\n\r\n Menu: any = [];\r\n\r\n ShortcutApi: any = null;\r\n\r\n public setConfig(config: InfoAppConfigModel) {\r\n this.Config = config;\r\n this.ConfigIsNull = false;\r\n }\r\n}","import { InfoPermissionModel } from \"./permission.model\";\r\n\r\nexport class InfoSessionModel {\r\n UsuarioId: number;\r\n Usuario: string;\r\n Login: string;\r\n Email: string;\r\n Perfil: string;\r\n EmpresaId: number;\r\n UnidadeId: number;\r\n TemaId: number;\r\n TemaCorBase: string;\r\n Empresa: string;\r\n Unidade: string;\r\n UltimoAcesso: Date;\r\n Master: boolean;\r\n Versao: string;\r\n Clone: boolean;\r\n DataMovimentacao: Date;\r\n OcultarNomeCliente: boolean;\r\n Permissoes: InfoPermissionModel[] = [];\r\n Empresas: any[] = [];\r\n Unidades: any[] = [];\r\n Parametros: any[] = null;\r\n MFA: boolean;\r\n TempoInatividade: number;\r\n}","export class InfoNotificationModel {\r\n Count: number = 0;\r\n Itens: InfoNotificationItemModel[] = [];\r\n}\r\n\r\nexport class InfoNotificationItemModel {\r\n Id: number;\r\n Icon: string;\r\n Description: string;\r\n Url: string;\r\n Date: string;\r\n Viewed: boolean;\r\n}","export enum InfoDialogButtons {\r\n Ok,\r\n Cancel,\r\n Yes,\r\n No,\r\n Aux\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { DICTIONARIES_CONFIG } from \"../global-config\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoTranslateService {\r\n private _currentLang: string;\r\n private _key: string = 'currentLang';\r\n\r\n public get currentLang() {\r\n return this._currentLang;\r\n }\r\n\r\n constructor(@Inject(DICTIONARIES_CONFIG) private _translations: any, private _plataforma: InfoPlatformModel) {\r\n \r\n let lang = sessionStorage.getItem(this._key) || localStorage.getItem(this._key);\r\n if (lang == null)\r\n this._currentLang = 'pt-br';\r\n else this._currentLang = lang;\r\n }\r\n\r\n public set(lang: string): void {\r\n this._currentLang = lang;\r\n localStorage.setItem(this._key, lang);\r\n sessionStorage.setItem(this._key, lang);\r\n }\r\n\r\n public translate(key: string): string {\r\n let translation = key;\r\n\r\n if (this._translations[this.currentLang] && this._translations[this.currentLang].Values && this._translations[this.currentLang].Values[key]) {\r\n translation = (this._translations[this.currentLang].Values[this._plataforma.Config.dictionary] || {})[key] || this._translations[this.currentLang].Values[key];\r\n if (typeof translation != 'string')\r\n translation = key;\r\n }\r\n\r\n return translation;\r\n }\r\n\r\n public getCalendar(): any {\r\n if (this._translations[this.currentLang] && this._translations[this.currentLang].Calendar) {\r\n return this._translations[this.currentLang].Calendar;\r\n }\r\n }\r\n\r\n public instant(key: string) {\r\n return this.translate(key);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { InfoTranslateService } from '../service/translate.service';\r\n\r\n@Pipe({\r\n name: 'translate',\r\n pure: false\r\n})\r\nexport class InfoTranslatePipe implements PipeTransform {\r\n\r\n constructor(private _translate: InfoTranslateService) { }\r\n\r\n transform(value: string, args?: any): any {\r\n if (!value) \r\n return;\r\n\r\n if (args === false)\r\n return value;\r\n\r\n return this._translate.instant(value);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport emailMask from 'text-mask-addons/dist/emailMask';\r\nimport { conformToMask } from \"text-mask-core/dist/textMaskCore\";\r\n\r\n@Pipe({\r\n name: 'mask',\r\n pure: false\r\n})\r\nexport class InfoMaskPipe implements PipeTransform {\r\n\r\n constructor( ) { }\r\n\r\n transform(value: string, args?: any): any {\r\n if (!value) return;\r\n\r\n let mask = [];\r\n let upperCase = true;\r\n\r\n if (args == 'phone')\r\n mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]; \r\n else if (args == 'cel')\r\n mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n else if (args == 'cep')\r\n mask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/];\r\n else if (args == 'cpf')\r\n mask = [/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'-',/\\d/,/\\d/];\r\n else if (args == 'cnpj')\r\n mask = [/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'/',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'-',/\\d/,/\\d/];\r\n else {\r\n mask = Array.from(args).map(c => c == '0' ? /\\d/ : c);\r\n upperCase = false;\r\n }\r\n\r\n let maskedValue = conformToMask(value, mask, {guide: false}).conformedValue;\r\n \r\n return upperCase ? maskedValue.toUpperCase : maskedValue;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\n\r\n@Injectable()\r\nexport class Utilities {\r\n getGuid() : string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n const r = Math.random() * 16 | 0, v = c === 'x' ? r : ( r & 0x3 | 0x8 );\r\n return v.toString(16);\r\n });\r\n }\r\n \r\n getGuidEmpty() : string {\r\n return '00000000-0000-0000-0000-000000000000';\r\n }\r\n\r\n isGuid(value) : boolean {\r\n return (\"\" + value).match('^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$') !== null;\r\n }\r\n\r\n base64ToArrayBuffer(base64): any {\r\n var binaryString = window.atob(base64);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n }\r\n \r\n jsonToEncrypt(object): any {\r\n return this.criptografar(unescape(JSON.stringify(object)));\r\n }\r\n \r\n decryptToJson(value) {\r\n return JSON.parse(this.descriptografar(value));\r\n }\r\n\r\n openOrDownload(title, blob) {\r\n let fileURL = URL.createObjectURL(blob);\r\n \r\n if (title.indexOf(\"pdf\") > -1)\r\n window.open(fileURL, title);\r\n else {\r\n let elementA: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;\r\n elementA.href = fileURL;\r\n elementA.download = title;\r\n document.body.appendChild(elementA);\r\n elementA.click(); \r\n document.body.removeChild(elementA);\r\n }\r\n }\r\n\r\n removerAcentos(val: string) : string {\r\n if (val == null)\r\n return '';\r\n var normalizeFunction = String.prototype.normalize ? (str) => str.normalize('NFD') : (str) => str;\r\n return normalizeFunction(val).replace(/[\\u0300-\\u036f]/g, \"\")\r\n }\r\n\r\n getFormatos(): any[] {\r\n return [ { Id: \"EXCEL\", Nome: \"Excel\", MimeType: \"application/vnd.ms-excel\", Extensao: \"xls\" },\r\n { Id: \"PDF\", Nome: \"PDF\", MimeType: \"application/pdf\", Extensao: \"pdf\" } ];\r\n }\r\n\r\n getFormatosExcel(): any[] {\r\n return [ { Id: 'PP', Nome: 'Excel Português com Separador Decimal [.]' },\r\n { Id: 'PV', Nome: 'Excel Português com Separador Decimal [,]' },\r\n { Id: 'IP', Nome: 'Excel Inglês com Separador Decimal [.]' },\r\n { Id: 'IV', Nome: 'Excel Inglês com Separador Decimal [,]' } ];\r\n }\r\n\r\n getStatus(): any[] {\r\n return [ { Id: \"A\", Nome: \"Ativo\" },\r\n { Id: \"P\", Nome: \"Pendente\" } ];\r\n }\r\n\r\n getStatusCompleto(): any[] {\r\n return [ { Id: \"C\", Nome: \"Cadastrado\", Selecionado: true },\r\n { Id: \"F\", Nome: \"Feito\", Selecionado: false },\r\n { Id: \"O\", Nome: \"Conferido\", Selecionado: true },\r\n { Id: \"R\", Nome: \"Rejeitado\", Selecionado: false },\r\n { Id: \"I\", Nome: \"Inativo\", Selecionado: false } ];\r\n }\r\n\r\n getStatusProcessamento(): any[] {\r\n return [ { Id: \"A\", Nome: \"AguardandoProcessamento\" },\r\n { Id: \"E\", Nome: \"EmProcessamento\" },\r\n { Id: \"P\", Nome: \"Processado\" },\r\n { Id: \"I\", Nome: \"Inativo\" },\r\n { Id: \"Z\", Nome: \"Erro\" } ];\r\n }\r\n\r\n getFormatoIdiomas(): any[] {\r\n return [ { Id: \"en\", Nome: \"English\" },\r\n { Id: \"pt-BR\", Nome: \"Português\" } ];\r\n }\r\n\r\n getGeneros(): any[] {\r\n return [ { Id: 'M', Nome: 'Masculino' },\r\n { Id: 'F', Nome: 'Feminino' } ];\r\n }\r\n\r\n getTiposEvidencia(): any[] {\r\n return [ { Id: 1, Nome: 'Telefone'},\r\n { Id: 2, Nome: 'Email'},\r\n {Id: 3, Nome: 'Documento'} ];\r\n }\r\n\r\n getOrdens(): any[] {\r\n return [ {Id: \"nome-asc\", Nome: \"NomeCrescente\"},\r\n {Id: \"nome-desc\", Nome: \"NomeDecrescente\"},\r\n {Id: \"valor-asc\", Nome: \"ValorCrescente\"},\r\n {Id: \"valor-desc\", Nome: \"ValorDecrescente\"} ];\r\n }\r\n\r\n validarEmail(form, value, control) {\r\n if (!value)\r\n return;\r\n \r\n let pattern = /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/;\r\n let emails: string[] = value.split(';');\r\n let invalido = emails.some(email => email && !pattern.test(email.trim()));\r\n\r\n if (invalido)\r\n form.form.controls[control].setErrors( { 'invalid': true } );\r\n }\r\n\r\n setLocalStorage(key: string, value: any) {\r\n localStorage.setItem(key, this.criptografar(value));\r\n }\r\n\r\n getLocalStorage(key: string): any {\r\n var data = this.descriptografar(localStorage.getItem(key));\r\n if (data == null || data == '') return null;\r\n return data;\r\n }\r\n\r\n isIE() {\r\n var userAgent = navigator.userAgent;\r\n return userAgent.indexOf(\"MSIE \") > -1 || userAgent.indexOf(\"Trident/\") > -1;\r\n }\r\n\r\n retornaTexto(texto) {\r\n var div = document.createElement(\"div\")\r\n div.innerHTML = texto;\r\n return div.innerText || div.textContent;\r\n }\r\n \r\n private key = CryptoJS.enc.Utf8.parse(\"GKxLtQg2atgjkrer\");\r\n private iv = CryptoJS.enc.Utf8.parse(\"e0Wg6l5GNdg29dvc\");\r\n\r\n criptografar(texto) {\r\n try {\r\n return CryptoJS.AES.encrypt(texto, this.key, {\r\n iv: this.iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n }).toString();\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n \r\n descriptografar(texto) {\r\n try {\r\n return CryptoJS.AES.decrypt(texto, this.key, {\r\n iv: this.iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n }).toString(CryptoJS.enc.Utf8);\r\n } catch (e) {\r\n return null;\r\n }\r\n } \r\n}\r\n\r\nexport abstract class StaticUtils {\r\n \r\n static validarCnpj(cnpj: string): boolean {\r\n const cnpjOriginal = (cnpj || '');\r\n cnpj = cnpjOriginal.toUpperCase().slice(0, 12);\r\n cnpj = cnpj + this.getDigito(this.getSomaCnpj(cnpj));\r\n cnpj = cnpj + this.getDigito(this.getSomaCnpj(cnpj));\r\n \r\n return cnpjOriginal == cnpj;\r\n }\r\n\r\n static validarCpf(cpf: string) {\r\n const cpfOriginal = (cpf || '');\r\n cpf = cpfOriginal.toUpperCase().slice(0, 9);\r\n cpf = cpf + this.getDigito(this.getSomaCpf(cpf));\r\n cpf = cpf + this.getDigito(this.getSomaCpf(cpf));\r\n\r\n return cpfOriginal == cpf;\r\n }\r\n \r\n private static getDigito(soma: number) {\r\n return (soma % 11) <= 1 ? 0 : (11 - (soma % 11));\r\n }\r\n \r\n private static getSomaCnpj(cnpj: string) {\r\n const peso = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n if (cnpj.length == 12) peso.shift();\r\n \r\n return Array.from(cnpj)\r\n .map((c, i) => (isNaN(Number(c)) ? c.charCodeAt(0) - 48 : Number(c)) * peso[i])\r\n .reduce((a, b) => a + b, 0);\r\n }\r\n\r\n private static getSomaCpf(cpf: string) {\r\n const fator = cpf.length == 9 ? 10 : 11;\r\n return Array.from(cpf).map((c, i) => Number(c) * (fator - i)).reduce((a, b) => a + b, 0);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport { InfoDataAccessModel } from '../model/data-access.model';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { Observable, of, ObservableInput } from 'rxjs';\r\nimport { APICONTROLLER_CONFIG } from '../global-config';\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { Utilities } from '../utils/utilities';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoDataService {\r\n\r\n private token: string;\r\n\r\n constructor(@Inject(APICONTROLLER_CONFIG) private _apiController: any, \r\n private _http: HttpClient, \r\n private _router: Router, \r\n private _plataforma: InfoPlatformModel, \r\n private _utilities: Utilities) { }\r\n\r\n public getToken(): string {\r\n this.token = this._utilities.getLocalStorage(this._plataforma.TokenKey);\r\n \r\n if (this.token == null) {\r\n this._router.navigateByUrl('');\r\n return '';\r\n\r\n } else return 'Bearer ' + this.token;\r\n }\r\n\r\n public getHeaderDefault(): HttpHeaders {\r\n let headers = new HttpHeaders();\r\n if (this._plataforma.Config.headers != null)\r\n this._plataforma.Config.headers.forEach(item => headers = headers.set(item.key, item.value)); \r\n return headers;\r\n }\r\n\r\n public getHeaderToken(): HttpHeaders {\r\n return this.getHeaderDefault().set('Authorization', this.getToken());\r\n }\r\n\r\n public getAPIUrl(controller: any) {\r\n let api = '';\r\n\r\n\t\tif (typeof(controller) == 'number')\r\n\t\t\tapi = this._apiController[controller].toString();\r\n\r\n else api = controller == null ? '' : controller.toString();\r\n \r\n\t\treturn this._plataforma.Config.webapiUrl + (api.replace('_', '/') + '/').toLowerCase();\r\n }\r\n\r\n public getNoToken(controller: any): Observable<InfoDataAccessModel>;\r\n public getNoToken(controller: any, method?: string): Observable<InfoDataAccessModel>;\r\n public getNoToken(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel>;\r\n public getNoToken(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .get(this.getAPIUrl(controller) + this.getMethod(method || '') + (param == null ? '' : ('?' + encodeURIComponent(this._utilities.jsonToEncrypt(param.replace(/null/g, '').replace(/undefined/g, ''))))), { headers: this.getHeaderDefault(), responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public get(controller: any): Observable<InfoDataAccessModel>;\r\n public get(controller: any, method?: string): Observable<InfoDataAccessModel>;\r\n public get(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel>;\r\n public get(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel> {\r\n \r\n return this._http\r\n .get(this.getAPIUrl(controller) + this.getMethod(method || '') + (param == null ? '' : ('?' + encodeURIComponent(this._utilities.jsonToEncrypt(param.replace(/null/g, '').replace(/undefined/g, ''))))), { headers: this.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public getById(controller: any, id: number): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .get(this.getAPIUrl(controller) + id.toString(), { headers: this.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public postNoToken(controller: any, model: any): Observable<InfoDataAccessModel>;\r\n public postNoToken(controller: any, model: any, method?: string): Observable<InfoDataAccessModel>;\r\n public postNoToken(controller: any, model: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .post(this.getAPIUrl(controller) + this.getMethod(method || ''), this._utilities.jsonToEncrypt(model), { headers: this.getHeaderDefault(), responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public post(controller: any, model: any): Observable<InfoDataAccessModel>;\r\n public post(controller: any, model: any, method?: string): Observable<InfoDataAccessModel>;\r\n public post(controller: any, model: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .post(this.getAPIUrl(controller) + this.getMethod(method || ''), this._utilities.jsonToEncrypt(model), { headers: this.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e, false))\r\n );\r\n }\r\n\r\n public delete(controller: any, id: any): Observable<InfoDataAccessModel>\r\n public delete(controller: any, id: any, method?: string): Observable<InfoDataAccessModel>;\r\n public delete(controller: any, id: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n if (id == undefined || id == null)\r\n alert('Id não informado');\r\n\r\n return this._http\r\n .delete(this.getAPIUrl(controller) + this.getMethod(method || '') + \"?\" + encodeURIComponent(this._utilities.jsonToEncrypt(\"id=\" + id.toString())), { headers: this.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public deleteByModel(controller: any, model: any): Observable<InfoDataAccessModel>\r\n public deleteByModel(controller: any, model: any, method?: string): Observable<InfoDataAccessModel>;\r\n public deleteByModel(controller: any, model: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n let httpOptions = {\r\n headers: this.getHeaderToken(),\r\n body: this._utilities.jsonToEncrypt(model), \r\n }\r\n\r\n return this._http\r\n .delete(this.getAPIUrl(controller) + this.getMethod(method || ''), httpOptions)\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public request(controller: any, model: any[], method?: string): Observable<InfoDataAccessModel>\r\n public request(controller: any, model: any[], method?: string, param?: string): Observable<InfoDataAccessModel>;\r\n public request(controller: any, model: any[], method?: string, param?: string): Observable<InfoDataAccessModel> {\r\n\r\n let formData = new FormData();\r\n for (let index = 0; index < model.length; index++)\r\n formData.append(model[index].name, model[index]);\r\n\r\n return this._http\r\n .request('POST', this.getAPIUrl(controller) + this.getMethod(method || '') + (param == null ? '' : ('?' + encodeURIComponent(this._utilities.jsonToEncrypt(param)))), { headers: this.getHeaderToken(), body: formData, responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n private errorHandling(e: HttpErrorResponse, redirect: boolean = true): ObservableInput<InfoDataAccessModel> {\r\n if (e.status == 401) \r\n document.location.href = '/#/login';\r\n else if (redirect) \r\n document.location.href = '/#/500';\r\n\r\n let messages: string[] = new Array(e.message);\r\n return of(new InfoDataAccessModel(null, false, messages));\r\n }\r\n\r\n private getMethod(method: string): string {\r\n if (method == null || method.trim() == '' || method.indexOf('?') < 0) return method ?? '';\r\n \r\n return method.substring(0, method.indexOf('?')) + '?' + encodeURIComponent(this._utilities.jsonToEncrypt(method.substring(method.indexOf('?') + 1).replace(/null/g, '').replace(/undefined/g, '')));\r\n }\r\n}","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'info-alert',\r\n template: `\r\n <div *ngIf=\"messages != [] && messages.length > 0\">\r\n <div class=\"alert\" #alert >\r\n <h5>{{ 'Atencao' | translate }}</h5>\r\n <ng-content></ng-content>\r\n <ul>\r\n <li *ngFor=\"let m of messages\"><mat-icon>error</mat-icon><label [innerHTML]=\"m | translate\"></label></li>\r\n </ul>\r\n <a class=\"close\" (click)=\"onClose()\"><i class=\"material-icons\">clear</i></a>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['alert.component.scss']\r\n})\r\nexport class InfoAlertComponent {\r\n\r\n @Input() messages: string[] = [];\r\n\r\n onClose() {\r\n this.messages = [];\r\n }\r\n}","<h2 mat-dialog-title >\r\n <label [innerHTML]=\"modaltitle | translate\"></label>\r\n <mat-icon class=\"close-icon\" (click)=\"close()\" *ngIf=\"showcloseicon\" >close</mat-icon>\r\n\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n</h2>\r\n\r\n<mat-dialog-content class=\"info-modal-content\">\r\n <ng-content></ng-content>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <div *ngIf=\"(labelclose != '' && readonly) || (labelcancel != '' && !readonly) || (labelsubmit != '' && !readonly)\" class=\"ml-5\">\r\n <button mat-button *ngIf=\"labelclose != '' && readonly\" type=\"button\" (click)=\"close()\" [disabled]=\"loading\">{{ labelclose | translate }}</button>\r\n <button mat-button *ngIf=\"labelcancel != '' && !readonly\" type=\"button\" (click)=\"close()\" color=\"warn\" [disabled]=\"loading\">{{ labelcancel | translate }}</button>\r\n <button mat-button *ngIf=\"labelsubmit != '' && !readonly\" type=\"button\" [disabled]=\"loading || formInvalid\" (click)=\"submit()\" >{{ labelsubmit | translate }}</button>\r\n </div> \r\n</mat-dialog-actions>\r\n\r\n<div class=\"block\" *ngIf=\"loading && loadingblock\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>","import { Component, Input, Output, EventEmitter, forwardRef, Inject } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoFormPropModel } from '../../model/form-prop.model';\r\nimport { InfoModalAction } from '../../enum/modal-action.enum';\r\n\r\n@Component({\r\n selector: 'info-modal',\r\n templateUrl: './modal.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoModalComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoModalComponent implements ControlValueAccessor {\r\n\r\n @Input() modaltitle: string = '';\r\n @Input() showcloseicon: boolean = false;\r\n @Input() api: any = null;\r\n @Input() method: string = null;\r\n @Input() readonly: boolean = null;\r\n @Input() loading: boolean = false;\r\n @Input() loadingblock: boolean = true;\r\n @Input() form: any = null;\r\n @Input() labelclose: string = 'Fechar';\r\n @Input() labelcancel: string = 'Cancelar';\r\n @Input() labelsubmit: string = 'Salvar';\r\n @Input() messages: String[] = [];\r\n @Input() width: number = null;\r\n\r\n @Output() onsave = new EventEmitter();\r\n @Output() onsuccess = new EventEmitter();\r\n\r\n model: any;\r\n onChange: any;\r\n onTouched: any;\r\n\r\n constructor(private _dataAccessService: InfoDataService, @Inject(MAT_DIALOG_DATA) public prop: InfoFormPropModel, private _ref: MatDialogRef<any>) { }\r\n\r\n\r\n get formInvalid() {\r\n if (this.form != null) {\r\n if (Array.isArray(this.form))\r\n return this.form.some(f => f?.form?.invalid || false);\r\n else\r\n return this.form.form?.invalid || false;\r\n }\r\n return false;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n if (this.modaltitle == '' && this.prop != null && this.prop.title != null)\r\n this.modaltitle = this.prop.title;\r\n\r\n if (this.api == null && this.prop != null && this.prop.api != null)\r\n this.api = this.prop.api;\r\n\r\n if (this.width != null)\r\n this._ref.updateSize(this.width.toString().replace('px', '') + 'px');\r\n\r\n if (this.readonly == null && this.prop != null && this.prop.readonly != null)\r\n this.readonly = this.prop.readonly;\r\n\r\n this._ref.keydownEvents().subscribe((r) => {\r\n if (r.ctrlKey && r.key == \"Enter\" && !(this.loading || this.formInvalid) && this.labelsubmit != '' && !this.readonly)\r\n this.submit();\r\n });\r\n }\r\n\r\n submit() {\r\n if (this.onsave.observers.length > 0) {\r\n this.onsave.next();\r\n return;\r\n }\r\n\r\n this.messages = [];\r\n \r\n if (this.api == null || this.api.toString() == '')\r\n this.messages.push('API não informado');\r\n\r\n var dataInicial = this.model[\"DataInicial\"];\r\n var dataFinal = this.model[\"DataFinal\"];\r\n if (dataInicial != null && dataFinal != null && new Date(dataInicial) > new Date(dataFinal)) {\r\n this.messages.push('DataInicialMaiorFinal');\r\n return;\r\n }\r\n\r\n var dataInicio = this.model[\"DataInicio\"];\r\n var dataFim = this.model[\"DataFim\"];\r\n if (dataInicio != null && dataFim != null && new Date(dataInicio) > new Date(dataFim)) {\r\n this.messages.push('DataInicioMaiorFim');\r\n return;\r\n }\r\n\r\n if (this.messages.length > 0)\r\n return;\r\n\r\n this.loading = true;\r\n\r\n this._dataAccessService\r\n .post(this.api, this.model, this.method)\r\n .subscribe(r => {\r\n\r\n if (r.success) {\r\n this.prop.modalAction = InfoModalAction.Save;\r\n this.prop.data = this.model;\r\n this._ref.close(this.prop);\r\n\r\n if (this.onsuccess.observers.length > 0)\r\n this.onsuccess.next();\r\n }\r\n\r\n else this.messages = r.messages;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n close() {\r\n this.messages = [];\r\n this.loading = false;\r\n this._ref.close(this.prop);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n this.model = obj;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void { }\r\n}\r\n","import { Component, Injectable } from '@angular/core';\r\nimport { CanActivate, RouterStateSnapshot, ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, ObservableInput, of } from 'rxjs';\r\nimport { map, catchError, switchMap } from 'rxjs/operators';\r\nimport { InfoSessionModel } from '../model/session.model';\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { InfoLoginModel } from '../model/login.model';\r\nimport { InfoDataService } from '../service/data.service';\r\nimport { InfoFormPropModel } from '../model/form-prop.model';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { InfoModalAction } from '../enum';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { InfoTranslateService } from '../service/translate.service';\r\nimport { Utilities } from '../utils/utilities';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoAuthenticationService implements CanActivate {\r\n private _sessionTimeInterval;\r\n private _sessionActive: boolean = true;\r\n\r\n constructor(private _router: Router, \r\n private _http: HttpClient, \r\n private _sessao: InfoSessionModel, \r\n private _plataforma: InfoPlatformModel,\r\n private _dataService: InfoDataService,\r\n private _modal: MatDialog, \r\n private _utilities: Utilities, \r\n private _translate: InfoTranslateService, \r\n private _title: Title) { }\r\n\r\n getSessao(): InfoSessionModel{\r\n return this._sessao;\r\n }\r\n\r\n getPlatform(): InfoPlatformModel {\r\n return this._plataforma;\r\n }\r\n\r\n canActivate(activatedRouteSnapshot: ActivatedRouteSnapshot, routerStateSnapshot: RouterStateSnapshot): Observable<boolean> | boolean {\r\n\r\n if (!this.isLogged() || !this._sessionActive) {\r\n this.logout();\r\n return true;\r\n }\r\n\r\n const url = activatedRouteSnapshot.data['URL'] || routerStateSnapshot.url;\r\n\r\n setTimeout(() => {\r\n this.refreshSessionTime(); \r\n }, 1000);\r\n\r\n this.definePaginaAtiva(url);\r\n\r\n return this.getPermission(url, true)\r\n .pipe(\r\n map(() => {\r\n if (url == '/')\r\n return true;\r\n\r\n if (!this.hasPermission(url))\r\n this._router.navigateByUrl('permission');\r\n\r\n if (url.indexOf('novo') > -1 && !this.hasPermission(url, 'new'))\r\n this._router.navigateByUrl('permission');\r\n\r\n if (url.indexOf('visualizar') < -1 && activatedRouteSnapshot.paramMap.get('id') != null && !this.hasPermission(url, 'edit'))\r\n this._router.navigateByUrl('permission');\r\n\r\n return true;\r\n }, \r\n catchError(error => { \r\n if (error.status == 401) this.logout();\r\n return of(true);\r\n })\r\n )).pipe(\r\n switchMap(async res => {\r\n const permissao = activatedRouteSnapshot.data['Permissao'];\r\n\r\n if (!permissao)\r\n return true;\r\n\r\n var params = (permissao[2] || '').replace(RegExp(/\\{(.*?)\\}/, 'g'), (_, p) => activatedRouteSnapshot.params[p]);\r\n\r\n var r = await this._dataService.get(permissao[0], permissao[1], params).toPromise();\r\n if (!r.success || r.data != true)\r\n this._router.navigateByUrl('permission');\r\n\r\n return true;\r\n })\r\n );\r\n }\r\n\r\n isLogged(): boolean {\r\n return (this._utilities.getLocalStorage(this._plataforma.TokenKey) != null);\r\n }\r\n\r\n\trefreshSessionTime() {\r\n if (!this._sessionActive)\r\n return;\r\n\r\n clearInterval(this._sessionTimeInterval);\r\n\r\n if (this._sessao.TempoInatividade == null || this._sessao.TempoInatividade <= 0)\r\n return;\r\n \r\n let tempoSessao = this._sessao.TempoInatividade;\r\n localStorage.setItem('ms', new Date().valueOf().toString());\r\n \r\n this._sessionTimeInterval = setInterval(() => {\r\n\r\n if (tempoSessao > 0) {\r\n tempoSessao--;\r\n return;\r\n }\r\n \r\n let tempoRestante = Math.round(this._sessao.TempoInatividade - ((new Date().valueOf() - parseInt(localStorage.getItem('ms'))) / 1000));\r\n\r\n if (!isNaN(tempoRestante) && tempoRestante > 0){\r\n tempoSessao = tempoRestante;\r\n return;\r\n }\r\n \r\n clearInterval(this._sessionTimeInterval);\r\n this._sessionActive = false;\r\n\r\n if (isNaN(tempoRestante))\r\n this.logout();\r\n \r\n else this.showMessage();\r\n }, 1000);\r\n\t}\r\n\r\n showMessage(){\r\n let ref = this._modal.open(RefreshSessionTimeModalComponent, {\r\n data: null,\r\n disableClose: true,\r\n width: '500px'\r\n });\r\n\r\n ref.afterClosed().subscribe((r: InfoFormPropModel) => {\r\n\r\n if (r != null && (r.modalAction == InfoModalAction.Yes || (this._sessao.TempoInatividade - ((new Date().valueOf() - parseInt(localStorage.getItem('ms'))) / 1000)) > 0)){\r\n this._sessionActive = true;\r\n this.refreshSessionTime();\r\n }\r\n\r\n else this.logout();\r\n });\r\n }\r\n\r\n login(usuario: string, senha: string, reCaptchaToken: string = null, codigo2FA: string = null): Observable<any> {\r\n this.removeSessao();\r\n\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/autenticar', this._utilities.jsonToEncrypt({ Usuario: usuario, Senha: senha, ReCaptchaToken: reCaptchaToken, Codigo2FA: codigo2FA }), { headers: this._dataService.getHeaderDefault(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n if (r.Success && r.Data != null)\r\n this._utilities.setLocalStorage(this._plataforma.TokenKey, r.Data.Token);\r\n \r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n \r\n trocarEmpresa(usuario: string, empresaId: number): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/trocarempresa', this._utilities.jsonToEncrypt({ EmpresaId: empresaId }), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n if (r.Success && r.Data != null)\r\n this._utilities.setLocalStorage(this._plataforma.TokenKey, r.Data);\r\n\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n trocarUnidade(usuario: string, empresaId: number, unidadeId: number): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/trocarunidade', this._utilities.jsonToEncrypt({ EmpresaId: empresaId, UnidadeId: unidadeId }), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n if (r.Success && r.Data != null)\r\n this._utilities.setLocalStorage(this._plataforma.TokenKey, r.Data);\r\n\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n \r\n clonar(usuario: string): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/clonar', this._utilities.jsonToEncrypt({ Usuario: usuario }), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n if (r.Success && r.Data != null)\r\n this._utilities.setLocalStorage(this._plataforma.TokenKey, r.Data);\r\n\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n logout() {\r\n if (this.isLogged()) {\r\n this._http.post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/Logout', null, { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .subscribe(() => {\r\n this.removeSessao();\r\n this._router.navigateByUrl('login').then(r => { location.reload(); }); \r\n });\r\n }\r\n else {\r\n this.removeSessao();\r\n this._router.navigateByUrl('login').then(r => { location.reload(); }); \r\n }\r\n }\r\n\r\n getPermissions(url: string, logAtividade: boolean = false): Observable<any> {\r\n return this._http\r\n .get(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/getpermissao?' + encodeURIComponent(this._utilities.jsonToEncrypt('url=' + url + '&logatividade=' + logAtividade.toString())), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n setTrocaSenha(model: any): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/TrocarSenha', this._utilities.jsonToEncrypt(model), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n setRecuperarSenha(model: any): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/RecuperarSenha', this._utilities.jsonToEncrypt(model), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n setResetarSenha(model: any): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/ResetarSenha', this._utilities.jsonToEncrypt(model), { headers: this._dataService.getHeaderDefault(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n getLoginResources(): Observable<any> {\r\n return this._http\r\n .get(this._plataforma.Config.webapiUrl + 'centrocontrole/app/GetLoginResources', { headers: this._dataService.getHeaderDefault(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n hasPermission(url: string, keyFunction: string = 'view'): boolean {\r\n\r\n if (url == '/' && keyFunction == 'view')\r\n return true;\r\n\r\n let urlGenerica = this.getUrlGenerica(url);\r\n return this._sessao.Permissoes.some(s => s.URL == urlGenerica && s.ChaveFuncionalidade == keyFunction && s.Acesso);\r\n }\r\n\r\n getPermission(url: string, logAtividade: boolean = false): Observable<boolean> {\r\n\r\n let urlGenerica = this.getUrlGenerica(url);\r\n let contemUrl = this._sessao.Permissoes.some(s => s.URL == urlGenerica);\r\n if (contemUrl) {\r\n if (logAtividade) {\r\n return this.validaSessao(url).pipe(map(ret => {\r\n if (!ret.success)\r\n this.logout();\r\n \r\n return true;\r\n }),\r\n catchError(error => { \r\n if (error.status == 401) this.logout();\r\n return of(true);\r\n }));\r\n } else {\r\n return new Observable(function (observer) {\r\n observer.next(true);\r\n observer.complete();\r\n });\r\n }\r\n } else {\r\n return this.getPermissions(urlGenerica, logAtividade).pipe(map(ret => {\r\n if (ret.success) {\r\n if (ret.data == null) {\r\n this.logout();\r\n return true;\r\n }\r\n\r\n ret.data.forEach(item => {\r\n if (this._sessao.Permissoes.filter(s => s.URL == item.URL && s.ChaveFuncionalidade == item.ChaveFuncionalidade).length == 0)\r\n this._sessao.Permissoes.push(item);\r\n });\r\n\r\n ret.data.some(s => s.URL == urlGenerica);\r\n this._utilities.setLocalStorage(this._plataforma.SessionKey, JSON.stringify(this._sessao));\r\n }\r\n\r\n return true;\r\n }),\r\n catchError(error => { \r\n if (error.status == 401) this.logout();\r\n return of(true);\r\n }));\r\n }\r\n }\r\n\r\n validaSessao(url: string): Observable<any> {\r\n return this._http\r\n .get(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/validasessao?' + encodeURIComponent(this._utilities.jsonToEncrypt('url=' + url)), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n return new InfoLoginModel(r === true, '', r);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n removeSessao() {\r\n Object.keys(localStorage).forEach((key) => {\r\n if (!key.includes('Dashboard') && !key.includes('cols')) \r\n delete localStorage[key];\r\n });\r\n }\r\n\r\n definePaginaAtiva(url) {\r\n\r\n if (this._plataforma.Menu == null || url == null) {\r\n this._plataforma.PaginaAtiva = null;\r\n return;\r\n }\r\n\r\n let aux: string[] = url.substring(1).replace(/-/g, '').toLowerCase().split('/');\r\n let tituloMenu: string = aux.length > 0 ? aux[0].toString() : url;\r\n let parametrosUrl: string[] = url.split('/').slice(2);\r\n \r\n if (tituloMenu.indexOf('ashboard') > -1)\r\n this._plataforma.PaginaAtiva = { Icone: 'widgets', Titulo: 'Dashboard' }; \r\n\r\n else {\r\n let item: any = this._plataforma.Menu.filter(m => m.Title.toLowerCase().indexOf(tituloMenu) > -1);\r\n \r\n let subTitulo = \"\";\r\n for (var i = 0; i < parametrosUrl.length; i++) {\r\n if (!this.isGuid(parametrosUrl[i]) && isNaN(parseFloat(parametrosUrl[i])))\r\n subTitulo += \" - \" + this._translate.translate(this.toPascalCase(parametrosUrl[i]));\r\n }\r\n\r\n if (item != null && item.length > 0) {\r\n this._plataforma.PaginaAtiva = { Icone: item[0].Icon, Titulo: item[0].Title };\r\n this._title.setTitle(`${this._translate.translate(this._plataforma.Config.title || \"Plataforma\")} - ${this._translate.translate(item[0].Title)}`+ subTitulo);\r\n }\r\n\r\n else this._plataforma.PaginaAtiva = { Icone: 'security', Titulo: this._plataforma.Config.title || 'Plataforma' };\r\n }\r\n }\r\n\r\n getUrlGenerica(url: string): string {\r\n let retorno = \"\";\r\n let urlParts: string[] = url.split('/');\r\n for (var i = 0; i < urlParts.length; i++) {\r\n if (!isNaN(parseFloat(urlParts[i])) || this.isGuid(urlParts[i]) || urlParts[i].toLowerCase() == 'novo')\r\n break;\r\n else\r\n retorno += '/' + urlParts[i];\r\n }\r\n return retorno.substring(1);\r\n }\r\n\r\n private errorHandling(e: HttpErrorResponse): ObservableInput<InfoLoginModel> {\r\n if (e.status == 401) \r\n this.logout();\r\n\r\n else if (e.status == 500)\r\n this._router.navigateByUrl('500');\r\n\r\n else if (e.error != null && e.error.error_description != null)\r\n return of(new InfoLoginModel(false, e.error.error_description));\r\n\r\n else return of(new InfoLoginModel(false, 'Houve um problema e não foi possível conectar'));\r\n }\r\n\r\n private isGuid(value) : boolean {\r\n return (value || '').match('^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$') !== null;\r\n }\r\n\r\n private toPascalCase(value: string): string{\r\n return value.replace(/(^\\w|-\\w)/g, (w1, w2, i) => i == 0 ? w1.toUpperCase() : w1[1].toUpperCase());\r\n }\r\n}\r\n\r\n@Component({\r\n\ttemplate: `\r\n\t\t<info-modal modaltitle=\"Inatividade\" (onsave)=\"ativo(true)\" labelsubmit=\"Sim\" labelcancel=\"({{ time }}) {{ 'Nao' | translate }}\">\r\n <label style=\"font-size:130%\">{{ 'VoceAindaEstaUtilizandoPlataforma' | translate }}</label>\r\n\t\t</info-modal>\r\n\t`\r\n})\r\nexport class RefreshSessionTimeModalComponent {\r\n time = 15;\r\n interval;\r\n\r\n\tconstructor(private _ref: MatDialogRef<RefreshSessionTimeModalComponent>) { }\r\n\r\n ngOnInit() {\r\n clearInterval(this.interval);\r\n \r\n this.interval = setInterval(() => {\r\n if (this.time > 0)\r\n this.time--;\r\n else {\r\n this.ativo(false);\r\n clearInterval(this.interval);\r\n }\r\n }, 1000);\r\n }\r\n \r\n ativo(ativo: boolean) {\r\n this._ref.close({ modalAction: ativo ? InfoModalAction.Yes : InfoModalAction.No });\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { OverlayContainer } from \"@angular/cdk/overlay\";\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { InfoSessionModel } from '../model/session.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoThemeService {\r\n\r\n constructor(public _overlay: OverlayContainer, public _plataform: InfoPlatformModel, public _session: InfoSessionModel) { }\r\n\r\n public setTheme(theme) {\r\n if (this._plataform.Themes != null){\r\n let item = this._plataform.Themes.find(t => t.name == theme);\r\n this._plataform.UnificarTopbar = item == null ? false : item.unificarTopbar;\r\n }\r\n\r\n let _overlay = this._overlay.getContainerElement().classList;\r\n let themeClassesToRemove: any = Array.from(_overlay).filter((item: string) => item.includes('-theme'));\r\n \r\n if (themeClassesToRemove && themeClassesToRemove.length > 0)\r\n _overlay.remove(themeClassesToRemove);\r\n\r\n _overlay.remove('alternative-layout');\r\n\r\n document.body.removeAttribute('class');\r\n\r\n if(!this._plataform.ModoPrime){\r\n document.body.classList.add(theme);\r\n _overlay.add(theme);\r\n }\r\n\r\n if (this._plataform.UnificarTopbar)\r\n document.body.classList.add('alternative-layout');\r\n \r\n if (this._plataform.MenuMin)\r\n document.body.classList.add('menu-min');\r\n \r\n if (this._plataform.ModoPrime)\r\n this.setModePrime(true);\r\n\r\n document.body.classList.add('ux' + (this._plataform.Config.ux ? this._plataform.Config.ux : 2));\r\n\r\n sessionStorage.setItem('at', theme);\r\n localStorage.setItem('at', theme);\r\n }\r\n\r\n public setThemeByLoggedCompany() {\r\n this.setTheme(this._session.TemaId > 0 ? `_${this._session.TemaId}-theme` : 'default-theme');\r\n }\r\n\r\n public setMenuMin(value: boolean = null){\r\n this._plataform.MenuMin = value == null ? !this._plataform.MenuMin : value;\r\n\r\n document.body.classList.remove('menu-min');\r\n \r\n if (this._plataform.MenuMin)\r\n document.body.classList.add('menu-min');\r\n\r\n sessionStorage.setItem('mm', this._plataform.MenuMin.toString());\r\n localStorage.setItem('mm', this._plataform.MenuMin.toString());\r\n }\r\n\r\n public setModePrime(prime: boolean = null){\r\n this._plataform.ModoPrime = prime == null ? !this._plataform.ModoPrime : prime;\r\n let _overlay = this._overlay.getContainerElement().classList;\r\n let themesClassToRemove = Array.from(_overlay).filter(item => item.includes('-theme'));\r\n\r\n document.body.classList.remove('modo-prime');\r\n \r\n if (this._plataform.ModoPrime){\r\n document.body.classList.add('modo-prime');\r\n\r\n let themePrime = 'default-prime';\r\n if (this._session.TemaId > 0)\r\n themePrime = `_${this._session.TemaId}-prime`;\r\n else if (localStorage.getItem('at') != null)\r\n themePrime = localStorage.getItem('at').replace('-theme', '-prime');\r\n document.body.classList.add(themePrime);\r\n\r\n if (themesClassToRemove && themesClassToRemove.length > 0) {\r\n for (let themeToRemove of themesClassToRemove) {\r\n _overlay.remove(themeToRemove);\r\n document.body.classList.remove(themeToRemove);\r\n }\r\n }\r\n } else if (this._session.TemaId != null) {\r\n this.setThemeByLoggedCompany();\r\n }\r\n\r\n sessionStorage.setItem('mp', this._plataform.ModoPrime.toString());\r\n localStorage.setItem('mp', this._plataform.ModoPrime.toString());\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { InfoPlatformModel } from \"../model/platform.model\";\r\nimport { InfoAppConfigModel } from \"../model/app-config.model\";\r\nimport { InfoThemeService } from \"./theme.service\";\r\nimport { Utilities } from \"../utils/utilities\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoConfigurationService {\r\n\r\n constructor(private _http: HttpClient, private _plataforma: InfoPlatformModel, private _themeService: InfoThemeService, private _utilities: Utilities) { }\r\n\r\n initialize(): Promise<InfoAppConfigModel> {\r\n\r\n return new Promise((r, e) => {\r\n this._http\r\n .get<InfoAppConfigModel>('config.json')\r\n .subscribe(config => {\r\n let activeTheme = sessionStorage.getItem('at') || localStorage.getItem('at');\r\n let menuMin = sessionStorage.getItem('mm') || localStorage.getItem('mm');\r\n let prime = sessionStorage.getItem('mp') || localStorage.getItem('mp');\r\n\r\n this._plataforma.Config = config; \r\n this._plataforma.ConfigIsNull = false;\r\n\r\n if (this._plataforma.Config.ux == null || this._plataforma.Config.ux == undefined)\r\n this._plataforma.Config.ux = 2;\r\n\r\n if (this._plataforma.Config.ux == 2)\r\n menuMin = 'false';\r\n\r\n const urlEmbedded = '/assets/embedded/temas.css';\r\n const httpEmbedded = new XMLHttpRequest();\r\n httpEmbedded.open('GET', urlEmbedded, false);\r\n httpEmbedded.send();\r\n\r\n if (httpEmbedded.status >= 200 && httpEmbedded.status < 300) {\r\n const cssText = httpEmbedded.responseText || '';\r\n\r\n if (cssText && cssText.trim().length > 0) {\r\n const style = document.createElement('style');\r\n style.setAttribute('data-source', urlEmbedded);\r\n style.textContent = cssText;\r\n document.head.appendChild(style);\r\n } else {\r\n this.loadCSSAPI();\r\n }\r\n } else {\r\n this.loadCSSAPI();\r\n }\r\n \r\n if (this._plataforma.Config.style != null) {\r\n var cssClient = document.createElement('link');\r\n cssClient.href = '/assets/' + this._plataforma.Config.style + '/style.css';\r\n cssClient.type = 'text/css';\r\n cssClient.rel = 'stylesheet';\r\n document.head.appendChild(cssClient);\r\n }\r\n\r\n if (activeTheme == null || activeTheme == undefined)\r\n activeTheme = `_${this._plataforma.Config.theme}-theme`;\r\n\r\n this._themeService.setTheme(activeTheme || 'default-theme');\r\n this._themeService.setMenuMin(menuMin == 'true');\r\n this._themeService.setModePrime(prime == 'true');\r\n\r\n r(config);\r\n });\r\n });\r\n }\r\n\r\n loadCSSAPI() {\r\n const xmlhttp = new XMLHttpRequest();\r\n xmlhttp.open(\"GET\", this._plataforma.Config.webapiUrl.replace(/\\/api\\/$/ig, '') + '/layout/temas.css', false);\r\n if (this._plataforma.Config.headers != null)\r\n this._plataforma.Config.headers.forEach(header => xmlhttp.setRequestHeader(header.key, header.value));\r\n xmlhttp.send();\r\n var cssFile = document.createElement('style');\r\n cssFile.innerHTML = this._utilities.descriptografar(xmlhttp.responseText); \r\n document.head.appendChild(cssFile);\r\n }\r\n}","<mat-form-field>\r\n <input matInput type=\"text\" [(ngModel)]=\"selectedValue\" [placeholder]=\"placeholder | translate\" [formControl]=\"control\" [matAutocomplete]=\"auto\" \r\n [required]=\"required\" (blur)=\"onBlur($event.target.value)\" (focus)=\"onFocus($event.target.value)\" #inputAuto>\r\n\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of options\" [value]=\"option\" (onSelectionChange)=\"writeValue(option.Id)\" [innerHTML]=\"option.Nome\" >\r\n </mat-option>\r\n </mat-autocomplete>\r\n \r\n <mat-icon matSuffix style=\"color: #aaa\">spellcheck</mat-icon>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\"></mat-progress-bar>\r\n</section>","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { UntypedFormControl, ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { debounceTime, switchMap, distinctUntilChanged } from 'rxjs/operators';\r\nimport { InfoDataService } from \"../../service/data.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { InfoDataAccessModel } from '../../model';\r\n\r\n@Component({\r\n selector: 'info-autocomplete',\r\n templateUrl: 'autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoAutoCompleteComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoAutoCompleteComponent implements OnInit, ControlValueAccessor {\r\n control = new UntypedFormControl();\r\n \r\n @Input() placeholder = '';\r\n @Input() name = '';\r\n @Input() required = false;\r\n @Input() selectfirst = false;\r\n @Input() disablednoregisters = false;\r\n @Input() getdataonchange = false;\r\n @Input() getdataonchangetime = 500;\r\n @Input() api: any = null;\r\n @Input() method = 'getchavevalor';\r\n @Input() maxlist = 10;\r\n @Input() startwith = false;\r\n @Input() minchar = 1;\r\n @Input() notoken: boolean = false;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n options: any[];\r\n selectedValue: any = null;\r\n\r\n onChange: any;\r\n onTouched: any;\r\n \r\n initialized = false;\r\n\r\n _loading: boolean = false;\r\n @Input()\r\n get loading(){\r\n return this._loading;\r\n }\r\n\r\n set loading(value){\r\n this._loading = value;\r\n \r\n if (this._disabled == null)\r\n this._disabled = false;\r\n\r\n else if (this._disabled.toString() == '')\r\n this._disabled = true;\r\n\r\n if (this._disabled == false)\r\n this.setDisabledState(this.loading);\r\n }\r\n \r\n _params: string = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n\r\n if (this.initialized)\r\n this.getData().subscribe(a => { this.data = a.data; this.loading = false; });\r\n }\r\n \r\n _disabled: boolean = null;\r\n @Input()\r\n set disabled(value: boolean) { \r\n if (this._disabled == null)\r\n this._disabled = value;\r\n\r\n if (value)\r\n this.control.disable();\r\n else\r\n this.control.enable();\r\n }\r\n\r\n _data: any = [];\r\n @Input()\r\n get data(){\r\n return this._data;\r\n }\r\n\r\n set data(value){\r\n this._data = value;\r\n\r\n if (this.getdataonchange)\r\n return;\r\n\r\n setTimeout(() => {\r\n if (this.selectedValue != null)\r\n if ((this._data == null || (this._data != null && this._data.length == 0)) && !this.loading) {\r\n this.writeValue(null);\r\n this.selectedValue = null;\r\n } else\r\n this.writeValue(this.selectedValue.Id == null ? this.selectedValue : this.selectedValue.Id);\r\n \r\n else if (this.selectfirst && this.data != null && this.data.length > 0)\r\n this.writeValue(this.data[0].Id);\r\n\r\n if (this.disablednoregisters)\r\n this.setDisabledState((this.data == null || this.data.length == 0));\r\n }, 1000);\r\n }\r\n\r\n constructor(private _dataAcess: InfoDataService) { }\r\n\r\n ngOnInit() {\r\n if (this.minchar == null || this.minchar < 0) this.minchar = 1;\r\n this.name = this.placeholder.replace(/ /g, '') + Math.floor(Math.random() * 1000).toString();\r\n\r\n if (!this.getdataonchange) {\r\n this.getData().subscribe(a => { this.data = a.data; this.loading = false; });\r\n this.control.valueChanges.subscribe(value => { this.options = this.filter(value)});\r\n } else {\r\n this.control.valueChanges.pipe(\r\n debounceTime(this.getdataonchangetime), \r\n distinctUntilChanged(),\r\n switchMap(value => this.getData(value))\r\n ).subscribe(a => this.data = this.options = a.data);\r\n }\r\n }\r\n\r\n filter(value: any): any[] {\r\n if (value == null || value.length < this.minchar) return [];\r\n let filterValue = value.Nome == null ? value.toString().toLowerCase() : value.Nome;\r\n\r\n if (this.startwith)\r\n return this.data.filter(option => option.Nome.toLowerCase().indexOf(filterValue) === 0 || (option.Aux == null ? \"\" : option.Aux.toLowerCase() == filterValue)).slice(0, this.maxlist);\r\n else\r\n return this.data.filter(option => option.Nome.toLowerCase().indexOf(filterValue) > -1 || (option.Aux == null ? \"\" : option.Aux.toLowerCase().indexOf(filterValue) > -1)).slice(0, this.maxlist);\r\n }\r\n\r\n getData(value: any = null): Observable<any> {\r\n this.initialized = true;\r\n\r\n if (this.api == null || this.api == '')\r\n return new Observable<InfoDataAccessModel>();\r\n\r\n this.loading = !this.getdataonchange;\r\n this.data = [];\r\n let parameters = this.params || '';\r\n\r\n if (this.getdataonchange) {\r\n if (value == null || value == '')\r\n return new Observable<InfoDataAccessModel>();\r\n\r\n if (parameters != null && parameters != '')\r\n parameters += '&';\r\n\r\n parameters += `nome=${value.Nome == null ? value.toString().toLowerCase() : value.Nome}&take=${this.maxlist}`;\r\n\r\n let model = parameters.split(\"&\").map(c => ({ [c.split(\"=\")[0].charAt(0).toUpperCase() + c.split(\"=\")[0].substring(1)]: c.split(\"=\")[1] })).reduce((a,b) => ({...a, ...b}));\r\n return this.notoken ? this._dataAcess.postNoToken(this.api, model, this.method) : this._dataAcess.post(this.api, model, this.method);\r\n }\r\n\r\n return this.notoken ? this._dataAcess.getNoToken(this.api, this.method, parameters) : this._dataAcess.get(this.api, this.method, parameters);\r\n }\r\n\r\n onBlur(value) {\r\n setTimeout(() => {\r\n if (this.selectedValue != null && this.selectedValue.Id != null)\r\n return;\r\n\r\n if (!value && this.selectedValue != null && this.selectedValue.trim() == '')\r\n this.writeValue(null);\r\n else {\r\n let first = this.filter(value);\r\n if (first != null && first.length > 0)\r\n this.writeValue(first[0].Id);\r\n else\r\n this.writeValue(null);\r\n } \r\n }, 300);\r\n }\r\n\r\n onFocus(value) {\r\n if (this.minchar != null && this.minchar == 0 && (value == null || value == ''))\r\n setTimeout(() => { this.control.setValue(''); }, 200);\r\n }\r\n\r\n displayFn(model): string {\r\n if (model == null || model.Nome == null)\r\n return '';\r\n\r\n let indexSmall = model.Nome.indexOf('<small');\r\n return indexSmall > -1 ? model.Nome.substring(0, indexSmall).trim() : model.Nome;\r\n }\r\n\r\n writeValue(value: any): void {\r\n let obj = this.data.find(r => r.Id == value);\r\n this.control.setValue(obj);\r\n\r\n if (value != null && obj == null)\r\n this.selectedValue = value;\r\n\r\n if (this.onChange != null)\r\n this.onChange(value);\r\n\r\n if (this.onselecteditem != null)\r\n this.onselecteditem.emit(this.data == null ? null : this.data.find(r => r.Id == value));\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;\r\n }\r\n}","<mat-selection-list class=\"col-md-12 mb-3\">\r\n <mat-list-option class=\"silver\" (click)=\"selectAll()\" [selected]=\"getModel().length == 0\" [disabled]=\"readonly\" *ngIf=\"enabledcheckall\">\r\n <label>{{ labelselectall | translate }}</label>\r\n </mat-list-option>\r\n\r\n <mat-list-option *ngFor=\"let item of getModel(); let i = index\" [ngClass]=\"{ 'silver': i % 2 == 1 }\" [selected]=\"item.Selecionado\" (click)=\"item.Selecionado = !item.Selecionado\" [disabled]=\"readonly\">\r\n <div *ngIf=\"item.Descricao == null\" [innerHTML]=\"item.Nome\"></div>\r\n <div *ngIf=\"item.Descricao != null\" [innerHTML]=\"item.Descricao\"></div>\r\n </mat-list-option>\r\n</mat-selection-list>\r\n \r\n<ng-container *ngIf=\"existData()\" >\r\n <mat-form-field class=\"col-md-12 mb-4 input-search\">\r\n <input matInput placeholder=\"{{ message | translate}}\" [name]=\"name\" autocomplete=\"false\" [(ngModel)]=\"value\" autocomplete=\"off\" >\r\n <mat-icon matSuffix >search</mat-icon>\r\n <mat-hint class=\"mt-2\">{{ submessage | translate}}</mat-hint>\r\n </mat-form-field>\r\n \r\n <mat-list class=\"col-md-12\" >\r\n <mat-list-item *ngFor=\"let item of getFilteredData(); let i = index\" [ngClass]=\"{ 'silver': i % 2 == 0 }\" (click)=\"add(item)\">\r\n <div *ngIf=\"item.Descricao == null\" [innerHTML]=\"item.Nome\"></div>\r\n <div *ngIf=\"item.Descricao != null\" [innerHTML]=\"item.Descricao\"></div>\r\n <mat-icon>add_circle</mat-icon>\r\n </mat-list-item>\r\n </mat-list>\r\n</ng-container>\r\n\r\n<div class=\"col-md-12 none-data\" *ngIf=\"!existData()\" >\r\n <mat-icon>info</mat-icon> {{ 'NenhumItemEncontrado' | translate }}\r\n</div>","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\n\r\n@Component({\r\n selector: 'info-big-checkbox',\r\n templateUrl: 'big-checkbox.component.html',\r\n styleUrls: ['big-checkbox.component.scss']\r\n})\r\nexport class InfoBigCheckboxComponent implements OnInit {\r\n\r\n @Input() readonly: boolean = false;\r\n @Input() preload: boolean = true;\r\n @Input() enabledcheckall: boolean = true;\r\n @Input() labelselectall: string = 'Todos';\r\n @Input() labelsearch: string = 'Buscar';\r\n @Input() minchar: number = 0;\r\n @Input() max: number = 20;\r\n @Input() message: string;\r\n @Input() submessage: string = '';\r\n\r\n @Input() value: string = '';\r\n @Input() api: any = null;\r\n @Input() method: string = null;\r\n\r\n @Input() model: any = [];\r\n @Input() data: any[] = [];\r\n @Input() aux: string = null;\r\n\r\n private _params: any = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n this.getData();\r\n }\r\n\r\n private _paramsmodel: any = null;\r\n @Input()\r\n get paramsmodel(){\r\n return this._paramsmodel;\r\n }\r\n\r\n set paramsmodel(value){\r\n this._paramsmodel = value;\r\n this.getData();\r\n }\r\n\r\n loading: boolean = false;\r\n name: string = '';\r\n\r\n constructor(private _dataService: InfoDataService) { }\r\n\r\n ngOnInit(){\r\n this.submessage = 'Serão exibidos somente os ' + this.max + ' primeiros itens encontrados';\r\n this.name = 'input-search-' + Math.floor(Math.random() * 1000).toString();\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n if (this.preload) {\r\n if (this.params == null && this.paramsmodel != null)\r\n this.loadByParamModel(this.paramsmodel);\r\n\r\n else this.load(this.params);\r\n }\r\n }\r\n\r\n load(param: any = null) {\r\n\r\n if (this.api == null)\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n \r\n if (this.model == null)\r\n this.model = [];\r\n\r\n this._dataService\r\n .get(this.api, this.method, param).subscribe(r => {\r\n if (r.success)\r\n this.data = r.data;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n loadByParamModel(paramModel: any = null) {\r\n \r\n if (this.api == null)\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n \r\n if (this.model == null)\r\n this.model = [];\r\n\r\n this._dataService.post(this.api, paramModel, this.method).subscribe(r => {\r\n if (r.success)\r\n this.data = r.data;\r\n \r\n this.loading = false;\r\n });\r\n }\r\n\r\n getModel(): any[]{\r\n\r\n if (this.model == null || this.model.length == 0)\r\n return [];\r\n\r\n return this.model.filter(m => this.aux == null || m.Aux == this.aux);\r\n }\r\n\r\n getFilteredData(): any[]{\r\n\r\n if (this.data.length == 0 || this.value.length < this.minchar)\r\n return [];\r\n\r\n return this.data.filter(d => \r\n (this.aux == null || this.aux == d.Aux) &&\r\n this.model.filter(m => m.Id == d.Id).length == 0 && \r\n d.Nome.toLowerCase().indexOf(this.value.toLowerCase()) > -1\r\n\r\n ).slice(0, this.max);\r\n }\r\n\r\n existData(): boolean{\r\n return (this.data != null && \r\n this.data.length > 0 && \r\n this.data.filter(d => this.aux == null || this.aux == d.Aux).length > 0);\r\n }\r\n\r\n add(item: any){\r\n \r\n if (this.model == null)\r\n this.model = [];\r\n\r\n this.model.push({\r\n Id: item.Id,\r\n Nome: item.Nome,\r\n Aux: (this.aux == null ? item.Aux : this.aux),\r\n Descricao: item.Descricao == null ? item.Nome : item.Descricao,\r\n Selecionado: true\r\n });\r\n }\r\n\r\n selectAll(){\r\n\r\n let removeItems = new Array();\r\n\r\n if (this.aux != null) {\r\n for (var i = 0; i < this.model.length; i++){\r\n if (this.model[i].Aux == this.aux)\r\n removeItems.push(i);\r\n }\r\n }\r\n\r\n removeItems.forEach(index => {\r\n this.model.splice(index, 1);\r\n });\r\n }\r\n}","<mat-card (click)=\"onCardClick()\">\r\n <mat-card-content>\r\n <h4>{{ label | translate }}</h4>\r\n <p *ngIf=\"description\" [innerHTML]=\"description | translate\"></p>\r\n <mark *ngIf=\"mark\"><small>{{ mark }}</small></mark>\r\n </mat-card-content>\r\n <mat-card-footer>\r\n <mat-icon>{{icon}}</mat-icon>\r\n </mat-card-footer>\r\n</mat-card>","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'info-card',\r\n templateUrl: 'card.component.html',\r\n styleUrls: ['card.component.scss']\r\n})\r\n\r\nexport class InfoCardComponent {\r\n\r\n @Input() label: string;\r\n @Input() description: string;\r\n @Input() mark: string;\r\n @Input() url: string;\r\n @Input() icon: string;\r\n @Output() onclick = new EventEmitter();\r\n\r\n constructor(private _router: Router) { }\r\n\r\n onCardClick() {\r\n if (this.url == null || this.url == '')\r\n this.onclick.emit();\r\n \r\n else this._router.navigateByUrl(this.url);\r\n }\r\n}","<mat-card>\r\n <mat-card-content>\r\n <h6 *ngIf=\"label != null\" [innerHTML]=\"label | translate\" ></h6>\r\n <p *ngIf=\"description != null\">{{ description | translate }}</p>\r\n\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let row of menuRows\">\r\n <mat-nav-list [ngClass]=\"colClass\">\r\n <ng-container *ngFor=\"let item of row\">\r\n <mat-list-item *ngIf=\"item.permission\" href=\"#\" [routerLink]=\"item.url\" >\r\n <a title=\"no\" title=\"{{ item.title | translate }}\" md-line>{{ item.title | translate }}</a>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </ng-container>\r\n </div>\r\n </mat-card-content>\r\n <mat-card-footer *ngIf=\"icon == null\">\r\n <mat-icon>{{icon}}</mat-icon>\r\n </mat-card-footer>\r\n</mat-card>","import { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n/**\r\n * O atributo `menu` recebe uma lista responsável pela criação do menu:\r\n * ```\r\n * [{ title: string, url: string, permission: boolean }]\r\n * ```\r\n */\r\n@Component({\r\n selector: 'info-card-menu',\r\n templateUrl: 'card-menu.component.html',\r\n styleUrls: ['card-menu.component.scss']\r\n})\r\nexport class InfoMenuCardComponent implements OnInit {\r\n \r\n @Input() label: string = null;\r\n @Input() description: string = null;\r\n @Input() icon: string = null;\r\n @Input() menu: any[] = [];\r\n @Input() cols: number = 0;\r\n @Input() loadinit: boolean = true;\r\n\r\n menuRows: any[] = [];\r\n col: number = 12;\r\n colClass: string = 'col-md-';\r\n\r\n ngOnInit(){\r\n if (this.loadinit)\r\n this.load();\r\n }\r\n\r\n load() {\r\n this.menuRows = new Array();\r\n\r\n this.menu = this.menu == null ? null : this.menu.filter(i => i.permission == true);\r\n\r\n if (this.menu == null || this.menu.length == 0 || this.cols == null || this.cols == 0){\r\n this.menuRows.push(this.menu);\r\n this.colClass += this.col.toString();\r\n return;\r\n }\r\n\r\n let numberItensRow = Math.ceil(this.menu.length / this.cols);\r\n \r\n for (var i = 0; i < this.cols; i++)\r\n this.menuRows.push(this.menu.slice(i * numberItensRow, (i * numberItensRow) + numberItensRow));\r\n\r\n this.col = 12 / this.cols;\r\n this.colClass += this.col.toString();\r\n }\r\n}","import { Component, OnInit, Input, forwardRef } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'info-checkbox',\r\n templateUrl: 'checkbox.component.html',\r\n styles: ['.info-checkbox-content { padding-top: 20px; } .info-checkbox-min { padding-top: 0 !important; margin: 0 0 13px !important; } '],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoCheckboxComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoCheckboxComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder: string = '';\r\n @Input() type: string = null;\r\n @Input() min: boolean = false;\r\n\r\n value: boolean = false;\r\n disabled: boolean = false;\r\n checkboxValue: { true: any, false: any } = { true: true, false: false };\r\n initialized: boolean = false;\r\n\r\n onChange: any;\r\n onTouched: any;\r\n\r\n @Input()\r\n get checked(){\r\n return this.value;\r\n }\r\n\r\n set checked(value) {\r\n\r\n if (this.initialized){\r\n this.value = value;\r\n this.onChangeValue();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (this.type != null) {\r\n let customType = this.type.split(',');\r\n this.checkboxValue.true = isNaN(Number(customType[0])) ? customType[0] : Number(customType[0]);\r\n this.checkboxValue.false = isNaN(Number(customType[1])) ? customType[1] : Number(customType[1]);\r\n }\r\n\r\n this.value = true;\r\n }\r\n\r\n writeValue(modelValue: any): void {\r\n \r\n if (modelValue === undefined || modelValue == null)\r\n this.value = false;\r\n\r\n else this.value = modelValue === this.checkboxValue.true;\r\n\r\n this.onChangeValue();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.initialized = true;\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onChangeValue() {\r\n let result = this.value ? this.checkboxValue.true : this.checkboxValue.false;\r\n\r\n if (this.onChange != null)\r\n this.onChange(result);\r\n }\r\n}","<section class=\"info-checkbox-content mat-form-field-margin \" [ngClass]=\"{ 'info-checkbox-min': min }\">\r\n <mat-checkbox [(ngModel)]=\"value\" (change)=\"onChangeValue()\" [disabled]=\"disabled\"><div [innerHtml]=\"placeholder | translate\"></div></mat-checkbox>\r\n</section>","<mat-form-field *ngIf=\"!button\">\r\n <input matInput [placeholder]=\"placeholder | translate\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\" [max]=\"maxDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" (keypress)=\"onKeyPress($event)\" (blur)=\"onChangeValue()\" [matDatepicker]=\"datepicker\"\r\n [matDatepickerFilter]=\"datefilter\" #inputDate>\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\r\n <mat-datepicker [dateClass]=\"dateclass\" #datepicker></mat-datepicker>\r\n</mat-form-field>\r\n\r\n<ng-container *ngIf=\"button\">\r\n <input class=\"mat-button\" type=\"button\" (click)=\"datepicker.open()\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\" [max]=\"maxDate\"\r\n (dateChange)=\"onChangeValue()\" [matDatepicker]=\"datepicker\"\r\n [matDatepickerFilter]=\"datefilter\" #inputDate>\r\n\r\n <mat-datepicker #datepicker></mat-datepicker>\r\n</ng-container>","import { Component, forwardRef, Input, ViewChild } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from \"@angular/material-moment-adapter\";\r\nimport { createTextMaskInputElement } from \"text-mask-core/dist/textMaskCore\";\r\nimport { createAutoCorrectedDatePipe } from \"text-mask-addons\";\r\nimport moment from \"moment\";\r\n\r\nexport const PT_BR_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY',\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MMM Y',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM Y',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'info-date',\r\n templateUrl: './date.component.html',\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoDateComponent),\r\n multi: true\r\n },\r\n { provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: PT_BR_DATE_FORMATS },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }]\r\n})\r\nexport class InfoDateComponent implements ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() minDate: Date = new Date(1800, 0, 1);\r\n @Input() maxDate: Date = null;\r\n @Input() button: boolean = false;\r\n\r\n @Input() datefilter: any = null; //Metodo que recebe uma data(moment) e retorna boolean\r\n @Input() dateclass: any = null; //Metodo que recebe uma data(moment) e retorna string\r\n\r\n @ViewChild('inputDate', { static: false }) input;\r\n\r\n dateValue: any;\r\n dateMask: any;\r\n onChange;\r\n onTouched;\r\n\r\n ngAfterViewInit() {\r\n\r\n let config = {\r\n mask: [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/],\r\n guide: true,\r\n placeholderChar: '_',\r\n pipe: createAutoCorrectedDatePipe(PT_BR_DATE_FORMATS.parse.dateInput.toLowerCase()),\r\n modelClean: true,\r\n keepCharPositions: false,\r\n };\r\n\r\n this.dateMask = createTextMaskInputElement(\r\n Object.assign({ inputElement: this.input.nativeElement }, config)\r\n );\r\n }\r\n\r\n onInputDate(value) {\r\n this.dateMask.update(value);\r\n }\r\n\r\n onChangeValue() {\r\n if (this.dateValue != null) {\r\n if (moment(this.dateValue).isBefore(moment(this.minDate)))\r\n this.dateValue = this.minDate;\r\n \r\n if (this.maxDate != null && moment(this.dateValue).isAfter(moment(this.maxDate)))\r\n this.dateValue = this.maxDate;\r\n }\r\n\r\n if (this.onChange != null)\r\n this.onChange(this.dateValue);\r\n }\r\n\r\n writeValue(value: any): void {\r\n if (value != null) {\r\n value = new Date(value);\r\n value.setMinutes(value.getMinutes() + value.getTimezoneOffset());\r\n value = new Date(value.getFullYear(), value.getMonth(), value.getDate());\r\n }\r\n\r\n this.dateValue = value;\r\n this.onChangeValue();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onKeyPress(e){\r\n if (e.keyCode == 13)\r\n this.onChangeValue();\r\n }\r\n}","<mat-form-field *ngIf=\"!button\">\r\n <input matInput [placeholder]=\"placeholder | translate\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" (keypress)=\"onKeyPress($event)\" (blur)=\"onChangeValue()\" [matDatepicker]=\"datepicker\" #inputDate >\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\r\n <mat-datepicker #datepicker startView=\"multi-year\" (yearSelected)=\"chosenYearHandler($event)\" (monthSelected)=\"chosenMonthHandler($event, datepicker)\"></mat-datepicker>\r\n</mat-form-field>\r\n\r\n<ng-container *ngIf=\"button\">\r\n <input class=\"mat-button\" type=\"button\" (click)=\"datepicker.open()\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" [matDatepicker]=\"datepicker\" #inputDate>\r\n\r\n <mat-datepicker #datepicker startView=\"multi-year\" (yearSelected)=\"chosenYearHandler($event)\" (monthSelected)=\"chosenMonthHandler($event, datepicker)\"></mat-datepicker>\r\n</ng-container>","import { Component, forwardRef, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from \"@angular/material/core\";\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from \"@angular/material-moment-adapter\";\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { createTextMaskInputElement } from \"text-mask-core/dist/textMaskCore\";\r\nimport { createAutoCorrectedDatePipe } from \"text-mask-addons\";\r\nimport { Moment } from \"moment\";\r\nimport moment from \"moment\";\r\n\r\nexport const PT_BR_DATE_MONTH_FORMATS = {\r\n parse: {\r\n dateInput: 'MM/YYYY',\r\n },\r\n display: {\r\n dateInput: 'MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'info-date-month',\r\n templateUrl: './date-month.component.html',\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoDateMonthComponent),\r\n multi: true\r\n },\r\n { provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: PT_BR_DATE_MONTH_FORMATS },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }]\r\n})\r\nexport class InfoDateMonthComponent implements ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() changeonlyonmonth: boolean = false;\r\n @Input() minDate: Date = new Date(1800, 0, 1);\r\n @Input() button: boolean = false;\r\n\r\n @ViewChild('inputDate', { static: false }) input;\r\n\r\n dateValue: any;\r\n dateMask: any;\r\n onChange;\r\n onTouched;\r\n\r\n ngAfterViewInit() {\r\n\r\n let config = {\r\n mask: [/\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/],\r\n guide: true,\r\n placeholderChar: '_',\r\n pipe: createAutoCorrectedDatePipe(PT_BR_DATE_MONTH_FORMATS.parse.dateInput.toLowerCase()),\r\n modelClean: true,\r\n keepCharPositions: false,\r\n };\r\n\r\n this.dateMask = createTextMaskInputElement(\r\n Object.assign({ inputElement: this.input.nativeElement }, config)\r\n );\r\n }\r\n\r\n onInputDate(value) {\r\n this.dateMask.update(value);\r\n }\r\n\r\n onChangeValue() {\r\n if (this.onChange != null) {\r\n if (moment(this.dateValue).isBefore(moment(this.minDate)))\r\n this.dateValue = this.minDate;\r\n\r\n this.onChange(this.dateValue);\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n if (value == null || value == undefined)\r\n this.dateValue = null;\r\n else {\r\n value = new Date(value);\r\n value.setMinutes(value.getMinutes() + value.getTimezoneOffset());\r\n value = new Date(value.getFullYear(), value.getMonth(), 1);\r\n this.dateValue = value;\r\n }\r\n \r\n this.onChangeValue();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n chosenYearHandler(value: Moment) {\r\n if (this.changeonlyonmonth)\r\n return;\r\n let aux = new Date(value.year(), new Date(this.dateValue).getMonth(), 1);\r\n this.dateValue = aux;\r\n this.onChangeValue();\r\n }\r\n\r\n chosenMonthHandler(value: Moment, datepicker: MatDatepicker<Moment>) {\r\n let aux = new Date(value.year(), value.month(), 1);\r\n this.dateValue = aux;\r\n this.onChangeValue();\r\n datepicker.close();\r\n }\r\n \r\n onKeyPress(e){\r\n if (e.keyCode == 13)\r\n this.onChangeValue();\r\n }\r\n}","<div class=\"message\" [ngClass]=\"{\r\n 'success-message': color === 'success',\r\n 'info-message': color === 'info',\r\n 'warning-message': color === 'warning',\r\n 'danger-message': color === 'danger',\r\n 'with-close': close,\r\n 'min': min }\" #message>\r\n <ng-content></ng-content>\r\n <a href=\"#\" class=\"close\" *ngIf=\"close\" (click)=\"delete($event, message)\"><i class=\"material-icons\">clear</i></a>\r\n</div>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-message',\r\n templateUrl: 'message.component.html',\r\n styleUrls: ['message.component.scss']\r\n})\r\n\r\nexport class InfoMessageComponent {\r\n\r\n @Input() color: string = 'info';\r\n @Input() outline: boolean = true;\r\n @Input() close: boolean = false;\r\n @Input() min: boolean = false;\r\n\r\n delete(event: any, message: any) {\r\n event.preventDefault();\r\n message.remove();\r\n }\r\n}","<h1 mat-dialog-title *ngIf=\"model.title\" [innerHTML]=\"model.title | translate\" ></h1>\r\n\r\n<div mat-dialog-content class=\"mb-3\">\r\n <p *ngIf=\"!model.processingMode\" [innerHTML]=\"model.message | translate\"></p>\r\n <info-message *ngIf=\"model.processingMode\" color=\"danger\">{{ 'A plataforma está efetuando o processamento em segundo plano.<br /> Isto pode levar alguns minutos e assim que concluído, uma notificação será enviada.' | translate}}</info-message>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"buttons\">\r\n <button mat-button (click)=\"onclickAux()\" [color]=\"model.colorAux\" *ngIf=\"model.labelAux\" >{{ model.labelAux | translate }}</button>\r\n <button mat-button (click)=\"onclickOk()\" [color]=\"model.colorOk\" cdkFocusInitial>{{ model.labelOk | translate }}</button>\r\n <button mat-button (click)=\"onclickCancel()\" [color]=\"model.colorCancel\" *ngIf=\"model.labelCancel\" >{{ model.labelCancel | translate }}</button>\r\n</div> ","import { Component, OnInit, Inject, Injectable } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from \"@angular/material/dialog\";\r\nimport { InfoDialogModel } from \"../../model/dialog.model\";\r\nimport { InfoDialogResult } from \"../../model/dialog-result.model\";\r\nimport { InfoDialogButtons } from \"../../enum/dialog-buttons.enum\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class InfoDialogModal {\r\n\r\n refProcessing: MatDialogRef<InfoDialogComponent>;\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n alert(message: string): Observable<InfoDialogResult> {\r\n\r\n let model = new InfoDialogModel();\r\n model.message = message;\r\n model.labelCancel = null;\r\n model.processingMode = false;\r\n\r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n YesOrNo(message: string): Observable<InfoDialogResult> {\r\n let model = new InfoDialogModel();\r\n model.message = message;\r\n model.yesOrNo = true;\r\n model.colorOk = 'warn';\r\n model.processingMode = false;\r\n \r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n Confirm(message: string): Observable<InfoDialogResult> {\r\n let model = new InfoDialogModel(); \r\n model.message = message;\r\n model.processingMode = false;\r\n\r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n Custom(model: InfoDialogModel): Observable<InfoDialogResult> {\r\n model.processingMode = false;\r\n\r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n Processing() {\r\n let model = new InfoDialogModel();\r\n model.message = '';\r\n model.yesOrNo = false;\r\n model.labelCancel = null;\r\n model.colorOk = 'warn';\r\n model.processingMode = true;\r\n \r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: '500px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'info-dialog',\r\n templateUrl: './dialog.component.html'\r\n})\r\nexport class InfoDialogComponent implements OnInit {\r\n\r\n constructor(public ref: MatDialogRef<InfoDialogComponent>, @Inject(MAT_DIALOG_DATA) public model: InfoDialogModel) { }\r\n\r\n ngOnInit() {\r\n\r\n if (this.model.yesOrNo){\r\n this.model.labelOk = 'Sim';\r\n this.model.labelCancel = 'Nao';\r\n }\r\n }\r\n\r\n onclickCancel() {\r\n this.ref.close(new InfoDialogResult(this.model.yesOrNo ? InfoDialogButtons.No : InfoDialogButtons.Cancel));\r\n }\r\n\r\n onclickOk() {\r\n this.ref.close(new InfoDialogResult(this.model.yesOrNo ? InfoDialogButtons.Yes : InfoDialogButtons.Ok));\r\n }\r\n\r\n onclickAux() {\r\n this.ref.close(new InfoDialogResult(InfoDialogButtons.Aux));\r\n }\r\n}","<div class=\"info-paginator\" *ngIf=\"show\" >\r\n <div class=\"row\">\r\n <div class=\"col-md-2\" [ngClass]=\"{ 'descriptions-min': min == true, 'descriptions': min != true }\">\r\n <label class=\"total\" *ngIf=\"totalDescription != null\">{{totalDescription}}</label>\r\n </div>\r\n <div class=\"col-md align-right\" [ngClass]=\"{ 'pages-min': min == true, 'pages': min != true }\">\r\n <ul>\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"goto(0)\" [disabled]=\"index == 0\" [matTooltip]=\"'Primeira' | translate\" >\r\n <mat-icon>first_page</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"previous()\" [disabled]=\"index == 0\" [matTooltip]=\"'Anterior' | translate\" >\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li *ngFor=\"let page of pages\" >\r\n <button mat-button (click)=\"goto(page)\" [ngClass]=\"{\r\n 'active': page === indexActive\r\n }\" >{{page + 1}}</button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"next()\" [disabled]=\"index >= (numberPages - 1)\" [matTooltip]=\"'Proxima' | translate\" >\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"goto(numberPages - 1)\" [disabled]=\"index >= (numberPages - 1)\" [matTooltip]=\"'Ultima' | translate\" >\r\n <mat-icon>last_page</mat-icon>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-paginator',\r\n templateUrl: 'paginator.component.html',\r\n styleUrls: ['paginator.component.scss']\r\n})\r\n\r\nexport class InfoPaginatorComponent {\r\n\r\n @Input() size = 5;\r\n @Input() min = false;\r\n @Input() show = false;\r\n @Output() index = 0;\r\n @Output() change = new EventEmitter<number>();\r\n\r\n _total = 0;\r\n @Input()\r\n get total(){\r\n return this._total;\r\n }\r\n\r\n set total(value){\r\n this._total = value;\r\n this.initialize();\r\n }\r\n\r\n onChange: any;\r\n indexActive = 0;\r\n numberPages = 1;\r\n pages = [];\r\n totalDescription = '';\r\n\r\n refresh(total: number) {\r\n this.total = total;\r\n }\r\n\r\n initialize() {\r\n this.pages = [];\r\n this.indexActive = this.index;\r\n this.numberPages = Math.ceil(this.total / this.size);\r\n \r\n if (this.total > this.size) {\r\n let i = (this.index > 2) ? (this.index - 2) : 0;\r\n let x = this.numberPages;\r\n\r\n if ((this.index + 2) < this.numberPages){\r\n \r\n let aux = 3;\r\n if (this.index < 2)\r\n aux = (5 - this.index);\r\n\r\n x = (this.index + aux);\r\n }\r\n else if ((this.index - 2) > 0)\r\n i = this.index - (5 - (this.numberPages - this.index));\r\n \r\n if (i < 0)\r\n i = 0;\r\n\r\n if (x > this.numberPages)\r\n x = this.numberPages;\r\n \r\n for (i; i < x; i++)\r\n this.pages.push(i);\r\n\r\n } else {\r\n this.pages.push(0);\r\n }\r\n \r\n this.setDescription();\r\n this.show = true;\r\n }\r\n\r\n goto(index: number) {\r\n \r\n if (this.index == index)\r\n return;\r\n\r\n this.index = index;\r\n this.change.emit(this.index);\r\n }\r\n\r\n next() {\r\n this.goto(this.index + 1);\r\n }\r\n\r\n previous() {\r\n this.goto(this.index - 1);\r\n }\r\n\r\n setDescription(){\r\n let currentInit = (this.size * this.index) + 1;\r\n let currentEnd = this.size * (this.index + 1);\r\n\r\n if (currentEnd > this.total)\r\n currentEnd = this.total;\r\n\r\n if (currentInit == null || currentEnd == null) return;\r\n\r\n this.totalDescription = currentInit.toLocaleString('pt-BR') + ' - ' + currentEnd.toLocaleString('pt-BR') + ' de ' + this.total.toLocaleString('pt-BR');\r\n }\r\n}","import { Directive, ElementRef, Renderer2, Input, forwardRef, Inject, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms'\r\nimport { createTextMaskInputElement } from 'text-mask-core/dist/textMaskCore'\r\nimport { createAutoCorrectedDatePipe, emailMask } from 'text-mask-addons';\r\n\r\n@Directive({\r\n host: {\r\n '(input)': 'onInput($event.target.value)',\r\n '(blur)': '_onTouched()'\r\n },\r\n selector: '[setmask]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoMaskDirective),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoMaskDirective implements ControlValueAccessor, OnChanges {\r\n private maskInputElement: any\r\n private inputElement: HTMLInputElement\r\n\r\n private lastValue: any\r\n private mask: any\r\n\r\n @Input('setmask') maskType: any\r\n\r\n _onTouched = () => { }\r\n _onChange = (_: any) => { }\r\n\r\n constructor(@Inject(Renderer2) private renderer: Renderer2, @Inject(ElementRef) private element: ElementRef) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.setupMask(true);\r\n\r\n if (this.maskInputElement !== undefined)\r\n this.maskInputElement.update(this.inputElement.value)\r\n }\r\n\r\n writeValue(value: any) {\r\n this.setupMask()\r\n\r\n const normalizedValue = value == null ? '' : value\r\n this.renderer.setProperty(this.inputElement, 'value', normalizedValue)\r\n\r\n if (this.maskInputElement !== undefined) {\r\n this.maskInputElement.update(value)\r\n }\r\n }\r\n\r\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn }\r\n\r\n registerOnTouched(fn: () => any): void { this._onTouched = fn }\r\n\r\n setDisabledState(isDisabled: boolean) {\r\n this.renderer.setProperty(this.element.nativeElement, 'disabled', isDisabled)\r\n }\r\n\r\n onInput(value) {\r\n this.setupMask()\r\n\r\n if (this.maskInputElement !== undefined) {\r\n this.maskInputElement.update(value)\r\n\r\n value = this.inputElement.value\r\n\r\n if (this.lastValue !== value) {\r\n this.lastValue = value\r\n this._onChange(value)\r\n }\r\n }\r\n }\r\n\r\n private setupMask(create = false) {\r\n if (!this.inputElement) {\r\n if (this.element.nativeElement.tagName === 'INPUT')\r\n this.inputElement = this.element.nativeElement;\r\n\r\n else this.inputElement = this.element.nativeElement.getElementsByTagName('INPUT')[0];\r\n }\r\n\r\n if (this.inputElement && create) {\r\n\r\n let pipe = undefined;\r\n\r\n if (this.maskType == 'email')\r\n this.mask = emailMask;\r\n \r\n else if (this.maskType == 'phone')\r\n this.mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n \r\n else if (this.maskType == 'cel')\r\n this.mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\n else if (this.maskType == 'cep')\r\n this.mask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/];\r\n \r\n else if (this.maskType == 'date') {\r\n pipe = createAutoCorrectedDatePipe('dd/mm/yyyy');\r\n this.mask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n }\r\n else if (this.maskType == 'datemonth') {\r\n pipe = createAutoCorrectedDatePipe('mm/yyyy');\r\n this.mask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n }\r\n else if (this.maskType == 'time') {\r\n pipe = createAutoCorrectedDatePipe('HH:MM');\r\n this.mask = [/\\d/, /\\d/, ':', /\\d/, /\\d/];\r\n }\r\n else if (this.maskType == 'cpf')\r\n this.mask = [/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'-',/\\d/,/\\d/];\r\n\r\n else if (this.maskType == 'cnpj') {\r\n this.mask = [/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'/',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'-',/\\d/,/\\d/];\r\n pipe = (value) => value?.toUpperCase();\r\n }\r\n\r\n else this.mask = [];\r\n\r\n let maskConfig = {\r\n mask: this.mask,\r\n guide: true,\r\n placeholderChar: '_',\r\n pipe: pipe,\r\n modelClean: true,\r\n keepCharPositions: false,\r\n };\r\n\r\n this.maskInputElement = createTextMaskInputElement(\r\n Object.assign({ inputElement: this.inputElement }, maskConfig)\r\n )\r\n }\r\n\r\n }\r\n}","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[unmask]'\r\n})\r\nexport class InfoUnmaskDirective {\r\n\r\n @Input('unmask') maskType: string\r\n\r\n constructor(private elementRef: ElementRef, private model: NgControl) { }\r\n\r\n @HostListener('input') inputChange() {\r\n let regex = this.maskType == 'cnpj' ? /[^a-zA-Z0-9]/g : /\\D/g\r\n const newValue = this.elementRef.nativeElement.value.replace(regex, '')\r\n this.model.control.setValue(newValue);\r\n }\r\n}","<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" \r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [formControl]=\"formControl\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" [unmask]=\"customMask\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" (change)=\"writeValue(value)\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" \r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>","import { Component, forwardRef, Input, OnInit, Output, EventEmitter, Optional, Self, Injector, Directive, ViewChild } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor, NgControl, NG_VALIDATORS, FormControl, Validators, ValidatorFn, AbstractControl, ValidationErrors, Validator } from \"@angular/forms\";\r\nimport { StaticUtils, Utilities } from \"../../utils/utilities\";\r\n\r\n@Component({\r\n selector: 'info-input',\r\n styleUrls: [ 'input.component.scss' ],\r\n templateUrl: 'input.component.html',\r\n providers:[\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoInputComponent),\r\n multi: true\r\n },\r\n ]\r\n})\r\nexport class InfoInputComponent implements OnInit, ControlValueAccessor {\r\n\r\n private control: NgControl\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() readonly: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() maxlength: any;\r\n @Input() type: string = 'text';\r\n @Input() rows: number = 1;\r\n @Input() tabindex: number = 0;\r\n @Input() iconPrefix: string = '';\r\n @Input() iconSuffix: string = '';\r\n @Input() min: number = -99999999999999.999999999;\r\n @Input() max: number = 99999999999999.999999999;\r\n @Input() step: number = null;\r\n @Input() validate: boolean = false;\r\n @Input() bluronlychange: boolean = false;\r\n\r\n @Output() onblur = new EventEmitter();\r\n \r\n maskOptions: any = {\r\n align: 'right',\r\n allowNegative: true,\r\n decimal: ',',\r\n precision: 2,\r\n prefix: '',\r\n suffix: '',\r\n thousands: '.'\r\n };\r\n \r\n value: string = '';\r\n valueOnEnter: any = null;\r\n customMask: string = null;\r\n onChange: any;\r\n onTouched: any;\r\n passwordMode: boolean = false;\r\n errorMessage: string = null;\r\n formControl: AbstractControl = new FormControl();\r\n\r\n\r\n constructor(private injector: Injector) { }\r\n\r\n ngAfterViewInit() {\r\n this.control = this.injector.get(NgControl, null);\r\n if (this.control)\r\n this.formControl = this.control.control; \r\n }\r\n\r\n ngOnInit() { \r\n this.passwordMode = this.type.toLocaleLowerCase() == 'password';\r\n }\r\n\r\n private methodIsmask: string = null;\r\n @Input()\r\n get ismask(){\r\n return this.methodIsmask;\r\n }\r\n\r\n set ismask(value){\r\n this.methodIsmask = value;\r\n\r\n if (this.methodIsmask != null) {\r\n this.methodIsmask = this.methodIsmask.toLowerCase();\r\n \r\n if (this.methodIsmask == 'int')\r\n this.maskOptions.precision = 0;\r\n\r\n else if (this.methodIsmask[0] == 'n' && (this.methodIsmask.length == 2 || this.methodIsmask.length == 3))\r\n this.maskOptions.precision = parseInt(this.methodIsmask.replace('n', ''));\r\n\r\n else this.customMask = this.methodIsmask;\r\n }\r\n }\r\n\r\n validarCampo() {\r\n if (!this.validate)\r\n return;\r\n\r\n this.errorMessage = null;\r\n\r\n if (this.value && this.customMask == 'cnpj' && !StaticUtils.validarCnpj(this.value))\r\n this.errorMessage = 'CNPJInvalido';\r\n else if (this.value && this.customMask == 'cpf' && !StaticUtils.validarCpf(this.value))\r\n this.errorMessage = 'CPFInvalido';\r\n\r\n if (!!this.errorMessage && this.formControl) {\r\n this.formControl.setErrors({invalid: true});\r\n }\r\n }\r\n\r\n onBlur() {\r\n this.validarCampo();\r\n if (this.type == 'number' || (this.ismask != null && this.ismask.startsWith(\"n\"))) {\r\n if (this.min != null)\r\n this.value = this.min > Number(this.value) ? null : this.value;\r\n\r\n if (this.max != null)\r\n this.value = this.max < Number(this.value) ? null : this.value;\r\n\r\n this.onChangeValue();\r\n }\r\n\r\n if (this.onblur != null && (!this.bluronlychange || this.valueOnEnter != this.value))\r\n this.onblur.emit(this.value);\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.value);\r\n }\r\n\r\n writeValue(modelValue: any): void {\r\n this.value = modelValue;\r\n this.onChangeValue();\r\n }\r\n \r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n \r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n}","<div [ngStyle]=\"{ 'marginTop': margintop + 'px' }\" [ngClass]=\"{ 'transparent': transparent }\" >\r\n \r\n <ng-container *ngIf=\"_platform.Config.ux >= 3\" >\r\n <h2 [ngClass]=\"{ 'title-icon': icon }\">\r\n <mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\r\n <span [innerHTML]=\"pagetitle | translate\"></span>\r\n </h2>\r\n \r\n <div class=\"link-button\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl\" color=\"primary\" (click)=\"goBack()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{ 'Voltar' | translate}}</button>\r\n\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <dl *ngIf=\"(access || []).length > 0\" class=\"acesso-rapido\" (mouseenter)=\"exibirAcessos = true\" (mouseleave)=\"exibirAcessos = false\">\r\n <dt>\r\n <mat-icon class=\"fs-20\">share</mat-icon>\r\n </dt>\r\n <dd *ngIf=\"exibirAcessos\">\r\n <ul>\r\n <li *ngFor=\"let a of access\">\r\n <a target=\"_blank\" [routerLink]=\"a.Url\" ><mat-icon>chevron_right</mat-icon> {{ a.Label | translate }}</a>\r\n </li>\r\n </ul> \r\n </dd>\r\n </dl>\r\n </div>\r\n <hr>\r\n </ng-container>\r\n \r\n <div class=\"row\" *ngIf=\"_platform.Config.ux <= 2\" >\r\n <div class=\"col-md-6\">\r\n <h2>\r\n <label id=\"page-title\" *ngIf=\"_platform.PaginaAtiva\">\r\n <mat-icon>{{ _platform.PaginaAtiva.Icone }}</mat-icon>\r\n {{ _platform.PaginaAtiva.Titulo | translate }}\r\n\r\n <ng-container *ngIf=\"pagetitle != null && pagetitle != ''\"> / </ng-container>\r\n </label>\r\n <label [outerHTML]=\"pagetitle | translate\"></label>\r\n </h2>\r\n <button *ngIf=\"podeCriarAtalho\" type=\"button\" mat-icon-button class=\"shortcut-button\" [ngClass]=\"{ 'tem-atalho': !!atalhoId }\" (click)=\"toggleAtalho()\" [disabled]=\"loading\">\r\n <mat-icon inline>{{ atalhoId ? 'star' : 'star_border' }}</mat-icon>\r\n </button>\r\n \r\n <p class=\"pagebar-description\" [innerHTML]=\"description | translate\"></p>\r\n </div>\r\n\r\n <div class=\"col-md-6 align-right buttons\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl\" color=\"primary\" (click)=\"goBack()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{ 'Voltar' | translate}}\r\n </button>\r\n \r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <dl *ngIf=\"(access || []).length > 0\" class=\"acesso-rapido\" (mouseenter)=\"exibirAcessos = true\" (mouseleave)=\"exibirAcessos = false\">\r\n <dt>\r\n <mat-icon class=\"fs-20\">share</mat-icon>\r\n </dt>\r\n <dd *ngIf=\"exibirAcessos\">\r\n <ul>\r\n <li *ngFor=\"let a of access\">\r\n <a target=\"_blank\" [routerLink]=\"a.Url\" ><mat-icon>chevron_right</mat-icon> {{ a.Label | translate }}</a>\r\n </li>\r\n </ul> \r\n </dd>\r\n </dl>\r\n </div>\r\n </div>\r\n</div>\r\n<section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n</section>\r\n\r\n<ng-template #content><ng-content></ng-content></ng-template>","import { Component, Input, Inject, ElementRef, Renderer2 } from '@angular/core';\r\nimport { Router, NavigationStart, GuardsCheckStart, NavigationEnd } from '@angular/router';\r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoTranslateService } from '../../service/translate.service';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { InfoFormPropModel } from '../../model/form-prop.model';\r\nimport { InfoPageAction } from '../../enum/page-action.enum';\r\nimport { InfoModalAction } from '../../enum/modal-action.enum';\r\n\r\n@Component({\r\n\tselector: 'info-pagebar',\r\n\ttemplateUrl: './pagebar.component.html',\r\n\tstyleUrls: ['./pagebar.component.scss']\r\n})\r\nexport class InfoPagebarComponent {\r\n\r\n\t@Input() margintop = 0;\r\n\t@Input() icon: string = null;\r\n\t@Input() description: string;\r\n\t@Input() backurl: string = null;\r\n\t@Input() access: any = [];\r\n\t@Input() transparent: boolean = false;\r\n\r\n\tprivate _pageTitle: string;\r\n\tget pagetitle(){\r\n\t\treturn this._pageTitle;\r\n\t}\r\n\r\n\t@Input('pagetitle') set pagetitle(value: string){ \r\n\t\tthis._pageTitle = value.replace(/\\(/g, '<small>(').replace(/\\)/g, ')</small>');\r\n\t}\r\n\r\n\tloading = false;\r\n\tatalhoId: any = null;\r\n\tpodeCriarAtalho = false;\r\n\texibirAcessos = false;\r\n\r\n\tconstructor(private _router: Router,\r\n\t\t\t\tprivate _modal: MatDialog,\r\n\t\t\t\tprivate _dataService: InfoDataService,\r\n\t\t\t\tprivate _translate: InfoTranslateService,\r\n\t\t\t\tpublic _platform: InfoPlatformModel,\r\n\t\t\t\tprivate _renderer: Renderer2, private _element: ElementRef) { \r\n\t\t_router.events.subscribe(e => {\r\n if (e instanceof NavigationStart || e instanceof GuardsCheckStart)\r\n\t\t\t\tsetTimeout(() => this.loading = true, 0);\r\n\t\t\t\r\n\t\t\telse setTimeout(() => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (e instanceof NavigationEnd) {\r\n\t\t\t\t\tthis.podeCriarAtalho = !!this._platform.ShortcutApi && this._router.url != '/';\r\n\t\t\t\t\tthis.getAtalho();\r\n\t\t\t\t}\r\n\t\t\t}, 0);\r\n });\r\n\t}\r\n\r\n\tngOnInit(){\r\n\t\tthis._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n \r\n if (this._platform.Config.topMenu)\r\n this._renderer.addClass(this._element.nativeElement, 'topmenu');\r\n\t}\r\n\r\n\tgoBack(){\r\n\t\tthis._router.navigateByUrl(this.backurl);\r\n\t}\r\n\r\n\tgetAtalho() {\r\n\t\tif (!this.podeCriarAtalho)\r\n\t\t\treturn;\r\n\t\tthis.loading = true;\r\n\t\tthis._dataService.get(this._platform.ShortcutApi, 'GetByUrl', 'url='+this._router.url).subscribe(r => {\r\n\t\t\tthis.loading = false;\r\n\t\t\tif (r.success) this.atalhoId = (r.data || {}).Id;\r\n\t\t});\r\n\t}\r\n\r\n\ttoggleAtalho() {\r\n\t\tif (this.atalhoId) {\r\n\t\t\tthis.loading = true;\r\n\t\t\tthis._dataService.delete(this._platform.ShortcutApi, this.atalhoId).subscribe(r => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (r.success) this.atalhoId = null;\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.loading = true;\r\n\t\t\tthis.openModalAtalho().subscribe((r: InfoFormPropModel) => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (r && r.modalAction == InfoModalAction.Save) this.getAtalho();\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate openModalAtalho() {\r\n\t\tvar prop = new InfoFormPropModel();\r\n\t\tprop.api = this._platform.ShortcutApi;\r\n\t\tprop.set(InfoPageAction.New, { \r\n\t\t\tId: this.atalhoId,\r\n\t\t\tUrl: this._router.url,\r\n\t\t\tTitulo: `${this._translate.translate(this._platform.PaginaAtiva.Titulo)} / ${this._translate.translate(this.pagetitle)}`\r\n\t\t});\r\n\r\n\t\tlet ref = this._modal.open(AtalhoModalComponent, {\r\n data: prop,\r\n\t\t\tdisableClose: true,\r\n\t\t\twidth: '400px'\r\n\t\t});\r\n\t\t\r\n\t\tref.keydownEvents().subscribe((r) => {\r\n if (!this.loading && (r.key == \"Escape\" || r.key == \"Esc\" || r.key == \"27\"))\r\n ref.close();\r\n });\r\n\r\n return ref.afterClosed();\r\n\t}\r\n}\r\n@Component({\r\n\ttemplate: `\r\n\t\t<info-modal modaltitle=\"CriarAcessoRapido\" [form]=\"formModal\" [(ngModel)]=\"model\">\r\n\t\t\t<form autocomplete=\"off\" #formModal=\"ngForm\">\r\n\t\t\t\t<div class=\"row\"> \r\n\t\t\t\t\t<info-input class=\"col-md-12\" [(ngModel)]=\"model.Titulo\" placeholder=\"Titulo\" name=\"Titulo\" required></info-input>\r\n\t\t\t\t</div>\r\n\t\t\t</form>\r\n\t\t</info-modal>\r\n\t`\r\n})\r\nexport class AtalhoModalComponent {\r\n\tmodel: any = {};\r\n\tconstructor(@Inject(MAT_DIALOG_DATA) public prop: InfoFormPropModel) {\r\n\t\tthis.model = Object.assign({}, prop.data);\r\n\t\tthis.model.Id = this.model.Id || '00000000-0000-0000-0000-000000000000';\r\n\t}\r\n}","<info-pagebar *ngIf=\"showPagebar\" [pagetitle]=\"pagebarTitle\" [description]=\"description\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl != null && backurl != ''\" color=\"primary\" (click)=\"back()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{\"Voltar\" | translate}}\r\n </button>\r\n\r\n <ng-container *ngFor=\"let b of pagebarbuttons\">\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"b.modal == null ? navigateTo(b.url, false, null) : openCustomModal(b.modal, b.modalwidth, null)\">\r\n <mat-icon *ngIf=\"b.icon != 'chevron_right'\" class=\"fs-20\">{{ b.icon }}</mat-icon>\r\n {{ b.label | translate }}\r\n </button>\r\n </ng-container>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"searchmodel != null && !enabledSearch\" color=\"primary\" (click)=\"enabledSearch = !enabledSearch\">\r\n <mat-icon class=\"fs-20\">search</mat-icon> {{ \"Pesquisar\" | translate}}\r\n </button>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"searchmodel != null && enabledSearch\" color=\"primary\" (click)=\"enabledSearch = !enabledSearch\">\r\n <mat-icon class=\"fs-20\">search_off</mat-icon> {{ \"Ocultar\" | translate}}\r\n </button>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"enablednew && hasPermissionNew\" color=\"primary\" (click)=\"add()\">\r\n <mat-icon class=\"fs-20\">add</mat-icon> {{ newlabel | translate}}\r\n </button>\r\n</info-pagebar>\r\n\r\n<div [ngClass]=\"{ 'table-full': fullarea }\">\r\n <div class=\"table-responsive white\">\r\n <div class=\"table-title grid-search\" [ngStyle]=\"{ 'padding': (enabledSearch ? 10 : 0) + 'px 20px' }\">\r\n <form autocomplete=\"off\" #formSearch=\"ngForm\" (ngSubmit)=\"search()\">\r\n <div *ngIf=\"enabledSearch\" class=\"search-container row\">\r\n <div class=\"col-md-{{(searchbuttons || []).length == 0 ? '10' : '9' }}\">\r\n <div class=\"row\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"col-md-{{(searchbuttons || []).length == 0 ? '2' : '3' }} align-right\" *ngIf=\"searchmodel != null\">\r\n <div class=\"search-buttons \">\r\n <ng-container *ngIf=\"searchonlyonebutton\">\r\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\">\r\n {{ 'Buscar' | translate }}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!searchonlyonebutton\">\r\n <button mat-button type=\"button\" color=\"warn\" (click)=\"cancelSearch()\" *ngIf=\"enabledcancelsearch\">\r\n <mat-icon class=\"fs-20\">close</mat-icon>\r\n </button>\r\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\">\r\n <mat-icon class=\"fs-20\">search</mat-icon>\r\n </button>\r\n \r\n <ng-container *ngFor=\"let b of searchbuttons\">\r\n <button mat-button type=\"button\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\" (click)=\"b.method()\">\r\n <mat-icon *ngIf=\"b.icon\" class=\"fs-20\">{{b.icon | translate}}</mat-icon> {{b.label | translate}}\r\n </button>\r\n </ng-container>\r\n \r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <fieldset *ngIf=\"!showPagebar\"><legend [innerHTML]=\"pagebarTitle | translate\"></legend></fieldset>\r\n <section class=\"loading-bar\"><mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\"></mat-progress-bar></section>\r\n\r\n <!-- <div id=\"auto-refresh\" *ngIf=\"autorefresh > 0\">\r\n <i class=\"material-icons\" matTooltip=\"{{ 'AutoRefresh' | translate }} {{ autorefresh }} seg\" matTooltipPosition=\"left\">access_time</i>\r\n </div> -->\r\n\r\n <table class=\"table table-hover\" [ngStyle]=\"{ 'min-height.px': tableHeight }\" [ngClass]=\"{ 'loading': loading, 'clickaccess': enabledclickaccess }\" *ngIf=\"data != null\">\r\n <thead>\r\n <tr>\r\n <th style=\"width: 5%;\" *ngIf=\"enabledclassicons && data?.length > 0 && data[0]?.Icon != null\"></th>\r\n\r\n <ng-container *ngFor=\"let col of colunasHeaders; let i = index\">\r\n <th *ngIf=\"colunasWidth[i] == ''\" [class]=\"'col_' + col.toLowerCase()\" [ngClass]=\"{ 'text-center': colunasType[i] == 'check', 'align-right': colunasType[i].startsWith('n') }\">{{ col | translate }}</th>\r\n <th *ngIf=\"colunasWidth[i] != ''\" [ngStyle]=\"{ 'width': colunasWidth[i] }\" [ngClass]=\"{ 'text-center': colunasType[i] == 'check', 'align-right': colunasType[i].startsWith('n') }\">{{ col | translate }}</th>\r\n </ng-container>\r\n\r\n <th class=\"actions align-right buttons\" *ngIf=\"(templateurl != '') || (buttons != null && buttons.length > 0) || enableddetail || enabledview || enabledcols || ((disabledcol == '') && enablededit && hasPermissionEdit) || ((disabledcol == '') && enableddelete && hasPermissionDelete)\">\r\n <button mat-icon-button type=\"button\"[matTooltip]=\"newlabel | translate\" matTooltipPosition=\"left\" (click)=\"add()\" *ngIf=\"!showPagebar && enablednew && hasPermissionNew\">\r\n <mat-icon>add_circle</mat-icon>\r\n </button>\r\n <button mat-icon-button type=\"button\" class=\"managercols\" [matTooltip]=\"'CustomizarTabela' | translate\" matTooltipPosition=\"left\" (click)=\"customizeTable()\" *ngIf=\"enabledcols\">\r\n <mat-icon class=\"icon-out\">settings</mat-icon>\r\n </button>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"grid-content\">\r\n <tr *ngFor=\"let mod of data; let j = index\" [ngClass]=\"{ 'default-color': !enabledclassicons, 'clickable': (((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || enabledview) }\" [class]=\"mod.Class\" (click)=\"access(mod, $event)\">\r\n <td *ngIf=\"enabledclassicons && mod?.Icon != null\">\r\n <ng-container *ngFor=\"let icon of icons\">\r\n <i class=\"material-icons\" [matTooltip]=\"icon.Tooltip | translate\" *ngIf=\"icon.Name == mod.Icon\" [ngClass]=\"{ 'icone-secundario': icon.Principal == false }\">{{icon.Icon}}</i>\r\n </ng-container>\r\n </td>\r\n\r\n <ng-container *ngFor=\"let col of colunasItens; let i = index\">\r\n <td *ngIf=\"mod[col] == null || mod[col] == undefined\"></td>\r\n <ng-container [ngSwitch]=\"colunasType[i]\" *ngIf=\"mod[col] != null && mod[col] != undefined\">\r\n <ng-container *ngSwitchCase=\"'label'\">\r\n <td [ngClass]=\"{ 'td-expansivel': mod[col].length > limitcharacters && enabledexpand == true}\" *ngIf=\"mod[col] !== true && mod[col] !== false && mod[col] !== 0 && mod[col] !== '0'\">\r\n <label [ngClass]=\"{'label-expansivel': enabledexpand == true && mod[col].length > limitcharacters, 'label-expandida': (colunasItensExpandidos[j] || [])[i] }\" *ngIf=\"colunasHtml[i] === true\" [innerHTML]=\"(mod[col] | translate:colunasTranslate[i]) || '' \"></label>\r\n <label class=\"break-word\" [ngClass]=\"{'label-expansivel': enabledexpand == true && mod[col].length > limitcharacters, 'label-expandida': (colunasItensExpandidos[j] || [])[i] }\" *ngIf=\"colunasHtml[i] === false\">{{ (mod[col] | translate:colunasHtml[i]) || '' }}</label>\r\n <div *ngIf=\"enabledexpand == true && mod[col].length > limitcharacters\" [ngClass]=\"{'mostrar-mais-expandido': (colunasItensExpandidos[j] || [])[i] }\" class=\"mostrar-mais\" (click)=\"mostrarMais(j, i, $event)\">\r\n <mat-icon [ngClass]=\"{'icone-expandido': (colunasItensExpandidos[j] || [])[i] }\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n <p *ngIf=\"i == 0 && mod.Badge != null && mod.Badge != undefined\">{{ mod.Badge | translate:colunasTranslate[i] }}</p>\r\n </td>\r\n <td *ngIf=\"mod[col] === true\"><mat-icon>check_box</mat-icon></td>\r\n <td *ngIf=\"mod[col] === false\"><mat-icon>check_box_outline_blank</mat-icon></td>\r\n <td *ngIf=\"mod[col] === 0 || mod[col] === '0'\">0</td>\r\n </ng-container>\r\n\r\n <td nowrap *ngSwitchCase=\"'date'\" [innerHTML]=\"mod[col] | date:'shortDate'\"></td>\r\n <td nowrap *ngSwitchCase=\"'datetime'\">{{ mod[col] | date:'shortDate' }} {{ mod[col] | date:'mediumTime' }}</td>\r\n <td nowrap *ngSwitchCase=\"'monthyear'\" [innerHTML]=\"mod[col] | date:'MM/yyyy'\"></td>\r\n <td nowrap *ngSwitchCase=\"'n0'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.0-0' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n2'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.2-2' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n4'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.4-4' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n6'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.6-6' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n9'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.9-9' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n12'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.12-12' }}</td>\r\n \r\n <td *ngSwitchCase=\"'check'\" class=\"text-center\">\r\n <ng-container *ngIf=\"mod[col] != null && (mod[col] === true || mod[col] == 1 || mod[col].toLowerCase() == 's'); then checked; else unchecked\"></ng-container>\r\n <ng-template #checked><mat-icon>check_box</mat-icon></ng-template>\r\n <ng-template #unchecked><mat-icon>check_box_outline_blank</mat-icon></ng-template>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"enabledclickaccess\">\r\n <td class=\"td-actions clickaccess\">\r\n <button mat-icon-button type=\"button\" (click)=\"access(mod, $event)\" *ngIf=\"enabledview\">\r\n <mat-icon>{{accessicon || 'arrow_forward'}}</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!enabledclickaccess\">\r\n <td class=\"td-actions\" *ngIf=\"(templateurl != '') || (buttons != null && buttons.length > 0) || (mod.Download != null) || enableddetail || (mod?.Info != null) || enabledview || ((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || ((disabledcol == '' || mod[disabledcol] === true) && enableddelete && hasPermissionDelete)\">\r\n\r\n <a mat-icon-button href=\"{{ templateurl.replace('{id}', mod.Id) }}\" target=\"_blank\" [matTooltip]=\"'Abrir' | translate\" *ngIf=\"templateurl != ''\">\r\n <mat-icon>visibility</mat-icon>\r\n </a>\r\n\r\n <ng-container *ngFor=\"let b of buttons\">\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"b.label | translate\" (click)=\"$event.stopPropagation(); b.modalComponent != null ? openCustomModal(b.modalComponent, b.widthModalComponent, mod) : b.api != null ? eventButton(mod, b.api, b.method, b.confirm) : navigateTo(b.navigateTo, b.passId, mod.Id)\" *ngIf=\"b.showOnlyClass == null || b.showOnlyClass == mod.Class\" [disabled]=\"b.disabledField && mod[b.disabledField] === true\">\r\n <mat-icon>{{b.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Download' | translate\" (click)=\"$event.stopPropagation(); download(mod.Download)\" *ngIf=\"mod.Download != null\">\r\n <mat-icon>file_download</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Detalhe' | translate\" (click)=\"$event.stopPropagation(); detail(mod)\" *ngIf=\"enableddetail\">\r\n <mat-icon>list</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Informacao' | translate\" (click)=\"$event.stopPropagation(); info(mod?.Info)\" *ngIf=\"mod?.Info != null\" [disabled]=\"mod?.Info == ''\">\r\n <mat-icon>info</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Excluir' | translate\" (click)=\"delete(mod, $event)\" *ngIf=\"(disabledcol == '' || mod[disabledcol] === true) && enableddelete && hasPermissionDelete && !mod.HideDelete\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Acessar' | translate\" (click)=\"edit(mod, $event)\" *ngIf=\"((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || enabledview\">\r\n <mat-icon>arrow_forward</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <span class=\"blank-table\" *ngIf=\"data != null && data.length == 0\">{{\"NenhumItemEncontrado\" | translate}}</span>\r\n\r\n <info-paginator #paginator [hidden]=\"!paged || (data != null && data.length == 0)\" [size]=\"size\" (change)=\"changePage($event)\" ></info-paginator>\r\n </div>\r\n</div>\r\n\r\n<div class=\"block\" *ngIf=\"loading\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>","<info-modal (onsave)=\"save()\" modaltitle=\"CustomizarTabela\" >\r\n <info-message color=\"warning\" class=\"min\">\r\n <ul>\r\n <li><mat-icon class=\"icon-out\">info</mat-icon>{{ 'CustomizarTabelaDescricao1' | translate }}</li>\r\n <li><mat-icon class=\"icon-out\">dangerous</mat-icon>{{ 'CustomizarTabelaDescricao2' | translate }}</li>\r\n </ul>\r\n \r\n </info-message>\r\n \r\n <ul class=\"listagem\">\r\n <ng-container *ngFor=\"let item of colunas\" >\r\n <li *ngIf=\"item.GridAtual\" >\r\n <info-checkbox [(ngModel)]=\"item.Exibir\" [placeholder]=\"item.Nome\" [name]=\"'chkcoluna' + item.Nome\" ></info-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</info-modal>","import { Component, OnInit, Input, AfterViewInit, EventEmitter, Output, ViewChild, ChangeDetectorRef, ContentChildren, Renderer2, ElementRef, Inject } from \"@angular/core\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\nimport { InfoFormPropModel } from \"../../model/form-prop.model\";\r\nimport { InfoPaginatorComponent } from \"../paginator/paginator.component\";\r\nimport { InfoDialogModal } from \"../../layouts/dialog/dialog.component\";\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { InfoAuthenticationService } from \"../../service/authentication.service\";\r\nimport { InfoTranslateService } from \"../../service/translate.service\";\r\nimport { InfoDialogButtons } from \"../../enum/dialog-buttons.enum\";\r\nimport { InfoModalAction } from \"../../enum/modal-action.enum\";\r\nimport { InfoPageAction } from \"../../enum/page-action.enum\";\r\nimport { InfoPagebarButtonModel } from \"../../model/pagebar-buttons.model\";\r\nimport { InfoGridButtonModel } from \"../../model/grid-button.model\";\r\nimport { InfoLastSearchModel } from \"../../model/last-search.model\";\r\nimport { InfoMethodGridButtonModel } from \"../../model/method-grid-button.model\";\r\nimport { NgModel, NgForm } from '@angular/forms';\r\nimport { QueryList } from '@angular/core';\r\nimport { InfoPlatformModel } from \"../../model/platform.model\";\r\n\r\n@Component({\r\n selector: 'info-grid',\r\n templateUrl: 'grid.component.html',\r\n styleUrls: ['grid.component.scss'],\r\n providers: [InfoFormPropModel]\r\n})\r\nexport class InfoGridComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() pagetitle = '';\r\n @Input() prefixtitle = '';\r\n @Input() description = '';\r\n @Input() pagebarbuttons: InfoPagebarButtonModel[] = [];\r\n @Input() fullarea = false;\r\n\r\n @Input() api: any = null;\r\n @Input() method: string = null;\r\n @Input() form: any = null;\r\n @Input() width: number = 800;\r\n @Input() parent: any = null;\r\n @Input() apidownload: any = null;\r\n @Input() methoddownload: string = null;\r\n\r\n @Input() backurl = '';\r\n @Input() newurl = '';\r\n @Input() newlabel = 'Novo';\r\n @Input() editurl = '';\r\n @Input() viewurl = '';\r\n @Input() templateurl = '';\r\n\r\n @Input() paged = false;\r\n @Input() size = 15;\r\n @Input() autorefresh = 0;\r\n\r\n @Input() enabledcols = true;\r\n @Input() enablednew = true;\r\n @Input() enablededit = true;\r\n @Input() enableddelete = true;\r\n @Input() enabledview = true;\r\n @Input() enabledcancelsearch = true;\r\n @Input() enableddetail = false;\r\n @Input() enabledclassicons = true;\r\n @Input() enabledclickaccess = false;\r\n @Input() enabledclickevent = false;\r\n @Input() enabledexpand = false;\r\n\r\n @Input() searchopened = false;\r\n @Input() searchonlyonebutton = false;\r\n @Input() disablesearchlast = false;\r\n @Input() statictitle = false;\r\n @Input() disabledcol = '';\r\n @Input() accessicon = 'arrow_forward';\r\n\r\n @Input() loadoninit = true;\r\n @Input() data: any[];\r\n @Input() searchmodel: any = null;\r\n\r\n @Output() onbeforesearch = new EventEmitter();\r\n @Output() onloadcomplete = new EventEmitter();\r\n @Output() onclosemodal = new EventEmitter();\r\n @Output() onnew = new EventEmitter();\r\n @Output() onedit = new EventEmitter();\r\n @Output() onview = new EventEmitter();\r\n @Output() ondelete = new EventEmitter();\r\n @Output() customdelete = new EventEmitter();\r\n\r\n @Input() dynamiccols: string = null;\r\n @Input() buttons: InfoGridButtonModel[] = [];\r\n @Input() searchbuttons: InfoMethodGridButtonModel[] = [];\r\n\r\n @Input() showmessageerror = false;\r\n @Input() defaultnewobject: any = null;\r\n \r\n @ContentChildren(NgModel) formModel: QueryList<NgModel>;\r\n @ViewChild(NgForm, { static: false }) formSearch: NgForm;\r\n \r\n messages: String[] = [];\r\n resultTitle = '';\r\n enabledSearch = false;\r\n searchModelReset: any = null;\r\n\r\n showPagebar = false;\r\n hasPermissionNew = false;\r\n hasPermissionEdit = false;\r\n hasPermissionDelete = false;\r\n\r\n tableHeight = 0;\r\n loading = false;\r\n pagebarTitle = '';\r\n icons: any[] = [];\r\n colunasItens = [];\r\n colunasHeaders = [];\r\n colunasPadraoHeaders = [];\r\n colunasType = [];\r\n colunasWidth = [];\r\n colunasTranslate = [];\r\n colunasHtml = [];\r\n colunasItensExpandidos = [];\r\n currentUrl: string = null;\r\n url: string = null;\r\n chaveStorage: string = 'cols';\r\n identificador: string = null;\r\n limitcharacters: number = 250;\r\n callTimeout: any;\r\n\r\n @ViewChild('paginator', { static: false }) paginator: InfoPaginatorComponent;\r\n @Output() parentIdUrlChange = new EventEmitter();\r\n\r\n parentIdUrlValue: number = null;\r\n @Input()\r\n get parentIdUrl() {\r\n return this.parentIdUrlValue;\r\n }\r\n\r\n set parentIdUrl(value) {\r\n this.parentIdUrlValue = value;\r\n this.parentIdUrlChange.emit(this.parentIdUrlValue);\r\n }\r\n\r\n _cols: string = '';\r\n @Input()\r\n get cols() {\r\n return this._cols;\r\n }\r\n\r\n set cols(value) {\r\n this._cols = value;\r\n this.setColumns();\r\n }\r\n\r\n constructor(private _dialog: InfoDialogModal, \r\n public _platform: InfoPlatformModel,\r\n public modal: MatDialog, \r\n private _prop: InfoFormPropModel, \r\n private _dataAccessService: InfoDataService, \r\n private _router: Router,\r\n private _activatedRoute: ActivatedRoute,\r\n private _authenticationService: InfoAuthenticationService, \r\n private _changeDetectorRef: ChangeDetectorRef, \r\n private _translate: InfoTranslateService, \r\n private _lastSearch: InfoLastSearchModel,\r\n private _renderer: Renderer2, \r\n private _element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n clearTimeout(this.callTimeout);\r\n this.url = (this._activatedRoute.snapshot.data['URL'] || this._router.url).toLowerCase();\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n this.setPagebarTitle();\r\n\r\n if (this.searchmodel != null) {\r\n if (this.method == null)\r\n this.method = 'Search';\r\n\r\n this.searchModelReset = Object.assign({}, this.searchmodel);\r\n }\r\n\r\n else if (this.parent != null && (this.method == null || this.method == ''))\r\n this.method = 'GetByParentId';\r\n\r\n if (!this.disablesearchlast && this._authenticationService.getUrlGenerica(this._lastSearch.url) == this._authenticationService.getUrlGenerica(this.url)) {\r\n this.enabledSearch = this._lastSearch.enabledSearch;\r\n \r\n if (this.searchmodel != null && this._lastSearch.model != null)\r\n Object.assign(this.searchmodel, this._lastSearch.model);\r\n }\r\n\r\n if (this.searchopened)\r\n this.enabledSearch = true;\r\n\r\n if (this.autorefresh > 0)\r\n this.currentUrl = location.href;\r\n\r\n this._prop.api = this.api;\r\n this._prop.modalComponent = this.form;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.identificador = this.api + '_' + this.method;\r\n this.showPagebar = this.pagetitle != '' || this.prefixtitle != '';\r\n \r\n if (!this.fullarea && this._platform.Config.ux <= 2)\r\n this.fullarea = this.showPagebar;\r\n\r\n if (this.searchmodel && this.formModel.length > 0 && this.formSearch)\r\n this.formModel.toArray().forEach(model => this.formSearch.addControl(model));\r\n\r\n if (!this.disablesearchlast && this.paged && this._authenticationService.getUrlGenerica(this._lastSearch.url) == this._authenticationService.getUrlGenerica(this.url))\r\n this.paginator.index = this._lastSearch.index;\r\n\r\n if (this.dynamiccols == null) {\r\n this.setColumns();\r\n this.getPermission();\r\n\r\n if (this.loadoninit)\r\n this.getData();\r\n\r\n else this.hideLoad();\r\n }\r\n\r\n else this._dataAccessService\r\n .get(this.api, this.dynamiccols)\r\n .subscribe(r => {\r\n this.cols = r.data;\r\n this.setColumns();\r\n this.getPermission();\r\n\r\n if (this.loadoninit)\r\n this.getData();\r\n\r\n else this.hideLoad();\r\n });\r\n\r\n if (this.enabledclickevent)\r\n this.enabledclickaccess = true;\r\n\r\n \r\n }\r\n\r\n ngOnDestroy() {\r\n clearTimeout(this.callTimeout);\r\n }\r\n\r\n setColumns() {\r\n\r\n if (this.cols == '')\r\n alert('Nenhuma coluna informada');\r\n\r\n if (this.cols != '') {\r\n\r\n let colunasOcultas = [];\r\n if (localStorage.getItem(this.chaveStorage) != null){\r\n let dadosStorage = JSON.parse(localStorage.getItem(this.chaveStorage));\r\n\r\n if (dadosStorage.findIndex(c => c.Identificador == this.identificador) > -1){\r\n colunasOcultas = dadosStorage.find(c => c.Identificador == this.identificador).Colunas;\r\n\r\n if (colunasOcultas.length > 0)\r\n colunasOcultas = colunasOcultas.filter(c => !c.Exibir).map(c => c.Nome);\r\n }\r\n }\r\n\r\n this.colunasItens = [];\r\n this.colunasHeaders = [];\r\n this.colunasPadraoHeaders = [];\r\n this.colunasType = [];\r\n this.colunasWidth = [];\r\n this.colunasTranslate = [];\r\n this.colunasHtml = [];\r\n \r\n this.cols.split(',').forEach(registro => {\r\n\r\n let translate: boolean = registro.indexOf('#') == -1;\r\n let html: boolean = registro.indexOf('@') == -1;\r\n registro = registro.replace(/#/g, '').replace(/@/g, '');\r\n\r\n let column: string = registro;\r\n let header: string = registro;\r\n let type: string = '';\r\n let width: string = '';\r\n\r\n if (header.indexOf(':') > -1) {\r\n let dados = registro.split(':');\r\n column = dados[0];\r\n header = dados[1];\r\n }\r\n\r\n if (header.indexOf('=') > -1) {\r\n let parts = header.split('=');\r\n\r\n if (column == header)\r\n column = parts[0];\r\n\r\n header = parts[0];\r\n type = parts[1];\r\n }\r\n\r\n let aux = type == '' ? header : type;\r\n if (aux.indexOf('*') > -1) {\r\n let headerInfo = aux.split('*');\r\n\r\n if (type == '') {\r\n if (column == header)\r\n column = headerInfo[0];\r\n\r\n header = headerInfo[0];\r\n\r\n } else type = headerInfo[0];\r\n\r\n width = headerInfo[1];\r\n\r\n if (width.indexOf('%') < 0 && width.indexOf('px') < 0)\r\n width += 'px';\r\n }\r\n\r\n if (colunasOcultas.indexOf(header) < 0) {\r\n this.colunasItens.push(column);\r\n this.colunasHeaders.push(header);\r\n this.colunasType.push(type == '' ? 'label' : type);\r\n this.colunasWidth.push(width);\r\n this.colunasTranslate.push(translate);\r\n this.colunasHtml.push(html);\r\n }\r\n\r\n this.colunasPadraoHeaders.push(header);\r\n });\r\n\r\n if (this.colunasItens.length == 1 && this.colunasWidth.length == 1)\r\n this.colunasWidth[0] = '100%';\r\n }\r\n }\r\n\r\n setItensExpandidos() {\r\n this.colunasItensExpandidos = [];\r\n for (let i = 0; i < this.data?.length; i++) {\r\n let row = [];\r\n for (let j = 0; j < this.colunasItens?.length; j++) {\r\n row.push(false);\r\n }\r\n this.colunasItensExpandidos.push(row);\r\n }\r\n }\r\n\r\n setPagebarTitle() {\r\n let aux = '';\r\n\r\n if (this.prefixtitle != '')\r\n aux = this._translate.translate(this.prefixtitle);\r\n\r\n if (this.resultTitle != '')\r\n aux += (this.prefixtitle != '' ? ' / ' : '') + this._translate.translate(this.resultTitle);\r\n\r\n if (this.pagetitle != '')\r\n aux += (this.resultTitle != '' || this.prefixtitle != '' ? ' / ' : '') + this._translate.translate(this.pagetitle);\r\n\r\n this.pagebarTitle = aux;\r\n }\r\n\r\n navigateTo(url: string, passId: boolean, id?: string) {\r\n\r\n if (passId) {\r\n if (url.indexOf(\":id\") > -1)\r\n this._router.navigateByUrl(url.replace(':id', id));\r\n else this._router.navigate([url, id]);\r\n }\r\n\r\n else this._router.navigateByUrl(url);\r\n }\r\n\r\n openCustomModal(modalComponent: any, width: Number, model: any = null) {\r\n\r\n this._prop.set(InfoPageAction.None, model);\r\n this.openModal(modalComponent, width);\r\n }\r\n\r\n getData() {\r\n this.messages = [];\r\n\r\n if (this.api == null || this.api == '') {\r\n this.hideLoad();\r\n return;\r\n \r\n } else if (this.searchmodel != null)\r\n this.getSearch();\r\n\r\n else if (this.paged)\r\n this.getPaged();\r\n\r\n else if (this.parent == null)\r\n this.getAll();\r\n\r\n else this.getByParentId();\r\n }\r\n\r\n getAll(): any {\r\n\r\n if (this.searchmodel == null)\r\n this._dataAccessService\r\n .get(this.api, this.method)\r\n .subscribe(r => this.getDataReturn(r));\r\n\r\n else this._dataAccessService\r\n .post(this.api, this.searchmodel, this.method)\r\n .subscribe(r => this.getDataReturn(r));\r\n }\r\n\r\n getPaged(): any {\r\n\r\n let params = this.parent == null ? \"\" : \"id=\" + this.parent + \"&\";\r\n params += 'index=' + this.paginator.index + '&size=' + this.size;\r\n\r\n this._dataAccessService\r\n .get(this.api, this.method, params)\r\n .subscribe(r => this.getDataReturn(r, true));\r\n }\r\n\r\n getSearch(): any {\r\n this.onbeforesearch.emit();\r\n\r\n this.messages = [];\r\n if (this.paged) {\r\n this.searchmodel.Index = this.paginator.index;\r\n this.searchmodel.Size = this.size;\r\n }\r\n\r\n var dataInicial = this.searchmodel[\"DataInicial\"];\r\n var dataFinal = this.searchmodel[\"DataFinal\"];\r\n if (dataInicial != null && dataFinal != null && new Date(dataInicial) > new Date(dataFinal)) {\r\n this.messages.push('DataInicialMaiorFinal');\r\n this.hideLoad();\r\n return;\r\n }\r\n\r\n var dataInicio = this.searchmodel[\"DataInicio\"];\r\n var dataFim = this.searchmodel[\"DataFim\"];\r\n if (dataInicio != null && dataFim != null && new Date(dataInicio) > new Date(dataFim)) {\r\n this.messages.push('DataInicioMaiorFim');\r\n this.hideLoad();\r\n return;\r\n }\r\n\r\n this._dataAccessService\r\n .post(this.api, this.searchmodel, this.method)\r\n .subscribe(r => this.getDataReturn(r, this.paged));\r\n }\r\n\r\n getByParentId(): any {\r\n this._dataAccessService\r\n .get(this.api, this.method, 'id=' + this.parent)\r\n .subscribe(r => this.getDataReturn(r, false));\r\n }\r\n\r\n getDataReturn(result: any, refreshPaginator: boolean = false) {\r\n if (!this.disablesearchlast) {\r\n this._lastSearch.url = this._authenticationService.getUrlGenerica(this.url);\r\n this._lastSearch.enabledSearch = this.enabledSearch;\r\n this._lastSearch.model = Object.assign({}, this.searchmodel);\r\n\r\n if (this.paged)\r\n this._lastSearch.index = this.paginator.index;\r\n }\r\n\r\n if (result.success) {\r\n this.data = result.data;\r\n\r\n if (!this.statictitle && result.name != null)\r\n this.resultTitle = this._translate.translate(result.name);\r\n\r\n if (result.description != null)\r\n this.description = result.description;\r\n\r\n if (result.parentId != null)\r\n this.parentIdUrl = result.parentId;\r\n\r\n if (refreshPaginator)\r\n this.paginator.refresh(result.total);\r\n\r\n if (this.autorefresh > 0 && this.currentUrl == location.href) {\r\n clearTimeout(this.callTimeout);\r\n this.callTimeout = setTimeout(() => { this.getData(); }, this.autorefresh * 1000);\r\n }\r\n \r\n this.fillIcons();\r\n this.setItensExpandidos();\r\n\r\n } else {\r\n this.data = [];\r\n if(this.showmessageerror) this.messages = result.messages;\r\n } \r\n\r\n this.hideLoad();\r\n this.onloadcomplete.emit();\r\n }\r\n\r\n changePage(index: number) {\r\n this.loading = true;\r\n this.paginator.index = index;\r\n\r\n if (this.searchmodel != null)\r\n this.getSearch();\r\n\r\n else this.getPaged();\r\n }\r\n\r\n cancelSearch() {\r\n Object.assign(this.searchmodel, this.searchModelReset);\r\n\r\n if (!this.searchopened)\r\n this.enabledSearch = false;\r\n\r\n this.search();\r\n }\r\n\r\n search() {\r\n this.loading = true;\r\n \r\n if (this.paged)\r\n this.paginator.index = 0;\r\n\r\n this.getData();\r\n }\r\n\r\n add() {\r\n\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.New, this.defaultnewobject);\r\n this.openModal();\r\n\r\n } else {\r\n if (this.newurl == null || this.newurl == '')\r\n this.newurl = this.url;\r\n\r\n this.newurl += '/novo';\r\n this.newurl = this.newurl.replace('//', '/');\r\n\r\n this._router.navigateByUrl(this.newurl);\r\n }\r\n\r\n this.onnew.emit();\r\n }\r\n\r\n detail(model: any): void {\r\n this._prop.set(InfoPageAction.Search, model);\r\n this.openModal();\r\n }\r\n\r\n mostrarMais(linha, coluna, e: Event) {\r\n e.stopPropagation();\r\n this.colunasItensExpandidos[linha][coluna] = !this.colunasItensExpandidos[linha][coluna] \r\n }\r\n\r\n access(model: any, e: Event): void {\r\n e.stopPropagation();\r\n\r\n if (this.enabledclickaccess) {\r\n if (this.enabledclickevent)\r\n this.onview.emit(model);\r\n \r\n else this.edit(model, e);\r\n return;\r\n }\r\n\r\n if (((this.disabledcol == '' || model[this.disabledcol] === true) && this.enablededit && this.hasPermissionEdit) || this.enabledview)\r\n this.edit(model, e);\r\n }\r\n\r\n view(model: any, e: Event): void {\r\n e.stopPropagation();\r\n\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.View, model);\r\n this.openModal();\r\n\r\n } else {\r\n if (this.viewurl == null || this.viewurl == '')\r\n this.viewurl = this.url;\r\n \r\n this.viewurl += '/' + model.Id + (this.enabledclickaccess ? '' : '/visualizar');\r\n this.viewurl = this.viewurl.replace('//', '/');\r\n\r\n this._router.navigateByUrl(this.viewurl);\r\n }\r\n\r\n this.onview.emit(model);\r\n }\r\n\r\n edit(model: any, e: Event): void {\r\n e.stopPropagation();\r\n \r\n if (this.hasPermissionEdit) {\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.Edit, model);\r\n this.openModal();\r\n\r\n } else {\r\n if (this.editurl == null || this.editurl == '')\r\n this.editurl = this.url;\r\n\r\n this.editurl = this.editurl.replace('//', '/');\r\n\r\n this._router.navigate([this.editurl, model.Id]);\r\n }\r\n\r\n this.onedit.emit(model);\r\n } else {\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.View, model);\r\n this.openModal();\r\n \r\n } else {\r\n if (this.viewurl == null || this.viewurl == '')\r\n this.viewurl = this.url;\r\n \r\n this.viewurl += '/' + model.Id + (this.enabledclickaccess ? '' : '/visualizar');\r\n this.viewurl = this.viewurl.replace('//', '/');\r\n \r\n this._router.navigateByUrl(this.viewurl);\r\n }\r\n \r\n this.onview.emit(model);\r\n }\r\n }\r\n\r\n delete(model: any, e: Event) {\r\n e.stopPropagation();\r\n \r\n if(this.customdelete.observers.length > 0) {\r\n this.customdelete.emit(model);\r\n return;\r\n }\r\n\r\n this._dialog.YesOrNo('MensagemExcluir').subscribe(r => {\r\n if (r.button == InfoDialogButtons.Yes) {\r\n this.loading = true;\r\n\r\n this._dataAccessService.delete(this.api, model.Id).subscribe(d => {\r\n this.ondelete.emit(d);\r\n\r\n if (d.success)\r\n this.getData();\r\n else {\r\n this.hideLoad();\r\n if (this.showmessageerror) this.messages = d.messages;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n customizeTable(){\r\n this._prop.set(InfoPageAction.Edit, { \r\n Identificador: this.identificador, \r\n Colunas: this.colunasPadraoHeaders, \r\n Chave: this.chaveStorage \r\n });\r\n\r\n this._prop.modalAction = InfoModalAction.None;\r\n let ref = this.modal.open(InfoGridModalComponent, {\r\n data: this._prop,\r\n disableClose: true,\r\n width: '500px'\r\n });\r\n\r\n ref.afterClosed().subscribe((r: InfoFormPropModel) => {\r\n if (r == null)\r\n return;\r\n\r\n if (r.modalAction == InfoModalAction.Save){\r\n this.setColumns();\r\n this.getData();\r\n }\r\n });\r\n }\r\n\r\n fillIcons() {\r\n this.icons = [];\r\n\r\n if (this.data == null)\r\n return;\r\n\r\n this.data.forEach(ret => {\r\n\r\n let item = ret['Icon'];\r\n if (item == null)\r\n return;\r\n\r\n if (item.indexOf('|') > -1) {\r\n let retorno = item\r\n .split('|')\r\n .map(icone => {\r\n\r\n if (icone.indexOf(':') > -1) {\r\n let dados = icone.split(':');\r\n return { Name: item, Icon: dados[0], Tooltip: dados[1], Principal: true };\r\n\r\n } else return { Name: item, Icon: icone, Tooltip: '', Principal: true };\r\n\r\n }).filter(a => a.Icon != null && a.Icon != '');\r\n\r\n let index = 0;\r\n retorno.forEach(element => {\r\n if (this.icons.find(a => a.Name == element.Name && a.Icon == element.Icon) == null){\r\n element.Principal = index == 0;\r\n this.icons.push(element);\r\n }\r\n\r\n index++;\r\n });\r\n } else {\r\n let element: any = [];\r\n\r\n if (item.indexOf(':') > -1) {\r\n let dados = item.split(':');\r\n element = { Name: item, Icon: dados[0], Tooltip: dados[1], Principal: true };\r\n\r\n } else element = { Name: item, Icon: item, Tooltip: \"\", Principal: true };\r\n\r\n if (this.icons.find(a => a.Name == element.Name) == null)\r\n this.icons.push(element);\r\n }\r\n });\r\n }\r\n\r\n info(value) {\r\n this._dialog.alert(value);\r\n }\r\n\r\n back() {\r\n this.navigateTo(this.backurl + (this.parentIdUrl == null ? \"\" : \"/\" + this.parentIdUrl), false);\r\n }\r\n\r\n openModal(modalComponent: any = this.form, width: Number = this.width) {\r\n this._prop.modalAction = InfoModalAction.None;\r\n\r\n let ref = this.modal.open(modalComponent, {\r\n data: this._prop,\r\n disableClose: true,\r\n width: width + 'px'\r\n });\r\n\r\n ref.afterClosed().subscribe((r: InfoFormPropModel) => {\r\n if (r == null)\r\n return;\r\n\r\n if (r.modalAction == InfoModalAction.Save)\r\n this.getData();\r\n\r\n this.onclosemodal.emit(r);\r\n });\r\n\r\n ref.keydownEvents().subscribe((r) => {\r\n if (!this.loading && (r.key == \"Escape\" || r.key == \"Esc\" || r.key == \"27\"))\r\n ref.close();\r\n });\r\n }\r\n\r\n hideLoad() {\r\n this.setPagebarTitle();\r\n this.loading = false;\r\n }\r\n\r\n getPermission() {\r\n this.hasPermissionNew = this._authenticationService.hasPermission(this.url, 'new');\r\n this.hasPermissionEdit = this._authenticationService.hasPermission(this.url, 'edit');\r\n this.hasPermissionDelete = this._authenticationService.hasPermission(this.url, 'remove');\r\n this._changeDetectorRef.detectChanges();\r\n }\r\n\r\n download(arquivoId: any) {\r\n if (this.apidownload == null)\r\n alert('API Download está null');\r\n\r\n this.loading = true;\r\n this._dataAccessService.get(this.apidownload, (this.methoddownload != null ? this.methoddownload : 'Get'), \"id=\" + arquivoId).subscribe(r => {\r\n this.messages = r.messages;\r\n\r\n if (r.success && r.data != null) {\r\n var binaryString = window.atob(r.data.Conteudo);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n\r\n var blob = new Blob([bytes]);\r\n let fileURL = URL.createObjectURL(blob);\r\n let elementA: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;\r\n elementA.href = fileURL;\r\n elementA.download = r.data.Nome;\r\n document.body.appendChild(elementA);\r\n elementA.click();\r\n document.body.removeChild(elementA);\r\n \r\n }\r\n this.loading = false;\r\n });\r\n }\r\n\r\n eventButton(model: any, api: any, method: string, confirm: boolean = true) {\r\n if (confirm) {\r\n this._dialog\r\n .YesOrNo('MensagemConfirmar')\r\n .subscribe(ret => {\r\n if (ret.button == InfoDialogButtons.Yes) {\r\n this.loading = true;\r\n this._dataAccessService.post(api, model, method).subscribe(r => {\r\n if (r.success)\r\n this.getData();\r\n else if(this.showmessageerror)\r\n this.messages = r.messages;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n } else {\r\n this.loading = true;\r\n this._dataAccessService.post(api, model, method).subscribe(r => {\r\n if (r.success)\r\n this.getData();\r\n else if(this.showmessageerror)\r\n this.messages = r.messages;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n templateUrl: 'grid.modal.html',\r\n providers: [InfoFormPropModel]\r\n})\r\nexport class InfoGridModalComponent {\r\n\r\n identificador: string;\r\n chaveStorage: string;\r\n colunas: any = [];\r\n dadosStorage: any = null;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public _prop: InfoFormPropModel, private _ref: MatDialogRef<InfoGridModalComponent>, private _modal: MatDialog){\r\n }\r\n\r\n ngOnInit(){\r\n this.identificador = this._prop.data.Identificador;\r\n this.chaveStorage = this._prop.data.Chave;\r\n\r\n let colunasGrid = this._prop.data.Colunas.map(c => { return { Nome: c, Exibir: true, GridAtual: true }; });\r\n\r\n if (localStorage.getItem(this.chaveStorage) == null)\r\n localStorage.setItem(this.chaveStorage, JSON.stringify([]));\r\n\r\n this.dadosStorage = JSON.parse(localStorage.getItem(this.chaveStorage));\r\n\r\n if (this.dadosStorage.findIndex(c => c.Identificador == this.identificador) < 0)\r\n this.dadosStorage.push({ Identificador: this.identificador, Colunas: colunasGrid });\r\n\r\n let colunasGeral = this.dadosStorage.find(c => c.Identificador == this.identificador).Colunas;\r\n \r\n //Adiciona possíveis novas colunas\r\n colunasGrid.filter(g => colunasGeral.map(c => c.Nome).indexOf(g.Nome) < 0).forEach(novaColuna => {\r\n colunasGeral.push(novaColuna);\r\n });\r\n\r\n //Exibe apenas as colunas presentes no grid atual\r\n this.colunas = colunasGeral.map(c => ({ ...c, GridAtual: colunasGrid.findIndex(g => g.Nome == c.Nome) > -1 }));\r\n }\r\n\r\n save(){\r\n this.dadosStorage.find(c => c.Identificador == this.identificador).Colunas = this.colunas;\r\n localStorage.setItem(this.chaveStorage, JSON.stringify(this.dadosStorage));\r\n \r\n this._prop.modalAction = InfoModalAction.Save;\r\n this._ref.close(this._prop);\r\n }\r\n}","<div class=\"row\" *ngIf=\"!disabled\" >\r\n <info-input placeholder=\"{{ 'De' | translate}} {{ percent ? '%' : '' }}\" name=\"De\" [(ngModel)]=\"novoValor.De\" *ngIf=\"!hiddenDe\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <info-input placeholder=\"{{ 'Ate' | translate}} {{ percent ? '%' : '' }}\" name=\"Ate\" [(ngModel)]=\"novoValor.Ate\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <info-input placeholder=\"{{ 'Valor' | translate}} {{ percent ? '%' : '' }}\" name=\"Valor\" [(ngModel)]=\"novoValor.Valor\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <div class=\"col-md-3\">\r\n <button mat-button type=\"button\" color=\"primary\" (click)=\"add()\" class=\"mt-2\" ><mat-icon class=\"fs-20\">add_circle</mat-icon> {{ 'AddValor' | translate }}</button>\r\n </div>\r\n</div>\r\n\r\n<div class=\"col-md-12\" *ngIf=\"model == null || getModel().length == 0\" ><mat-icon style=\"top: 6px;\" class=\"mr-2\">info</mat-icon> {{ 'UtilizeCamposAcimaAdicionarItens' | translate }}</div>\r\n\r\n<ul *ngIf=\"model != null\" id=\"list-values\" >\r\n<li class=\"row header\" *ngIf=\"disabled\">\r\n <label class=\"col-md-3\" *ngIf=\"!hiddenDe\" >{{ 'De' | translate }}</label>\r\n <label class=\"col-md-3\" >{{ 'Ate' | translate }}</label>\r\n <label class=\"col-md-3\" >{{ 'Valor' | translate }}</label>\r\n</li>\r\n\r\n<li *ngFor=\"let item of getModel(); let i = index\" class=\"row\" [ngClass]=\"{ 'silver': i % 2 == 0 }\" >\r\n <div class=\"col-md-3\" *ngIf=\"!hiddenDe\" >\r\n <info-input name=\"ListaValorDe\" [ngModel]=\"item.De\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <info-input name=\"ListaValorAte\" [ngModel]=\"item.Ate\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <info-input name=\"ListaValorValor\" [ngModel]=\"item.Valor\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <ng-container *ngIf=\"!disabled\">\r\n <!-- <button type=\"button\" matTooltip=\"{{ 'OrdernarAcima' | translate }}\" mat-icon-button [disabled]=\"item.Indice <= 0\" (click)=\"alterarIndice(item, item.Indice - 1)\">\r\n <mat-icon>arrow_upward</mat-icon>\r\n </button>\r\n <button type=\"button\" matTooltip=\"{{ 'OrdernarAbaixo' | translate }}\" mat-icon-button [disabled]=\"item.Indice >= (model.length - 1)\" (click)=\"alterarIndice(item, item.Indice + 1)\">\r\n <mat-icon>arrow_downward</mat-icon>\r\n </button> -->\r\n <button type=\"button\" color=\"warn\" matTooltip=\"{{ 'Excluir' | translate }}\" mat-icon-button (click)=\"remover(item)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n</li>\r\n</ul>\r\n\r\n\r\n<info-alert [messages]=\"messages\"></info-alert>","import { Component, Input, OnChanges } from \"@angular/core\";\r\nimport { InfoDialogModal } from \"../../layouts/dialog/dialog.component\";\r\nimport { InfoDialogButtons } from \"../../enum/dialog-buttons.enum\";\r\n\r\n@Component({\r\n selector: 'info-input-list',\r\n templateUrl: 'input-list.component.html',\r\n styleUrls: ['input-list.component.scss']\r\n})\r\nexport class InfoInputListComponent implements OnChanges {\r\n \r\n @Input() model: any = []\r\n @Input() readonly: boolean = false\r\n @Input() percent: boolean = false\r\n @Input() hiddenDe: boolean = false\r\n @Input() disabled: boolean = false\r\n\r\n mask: string = \"n2\";\r\n @Input() \r\n get ismask() {\r\n return this.mask;\r\n }\r\n\r\n set ismask(value) {\r\n this.mask = (value == null ? this.mask : value);\r\n }\r\n\r\n messages: string[] = [];\r\n novoValor = { De: null, Ate: null, Valor: null, Excluir: false };\r\n\r\n constructor(private _dialog: InfoDialogModal) { }\r\n\r\n ngOnChanges() {\r\n if (this.model == null)\r\n this.model = [];\r\n\r\n for (var i = 0; i < this.model.length; i++)\r\n this.model[i].Excluir = false;\r\n }\r\n\r\n getModel(): any[]{\r\n if (!this.model || this.model == null)\r\n return [];\r\n\r\n return this.model.filter(m => !m.Excluir);\r\n }\r\n\r\n add() {\r\n this.messages = [];\r\n\r\n if (this.hiddenDe && this.novoValor.Ate == null)\r\n this.messages.push('InformeUmValorDe');\r\n\r\n if (!this.hiddenDe && this.novoValor.De == null && this.novoValor.Ate == null)\r\n this.messages.push('InformeUmValorDeOuAte');\r\n\r\n if (!this.hiddenDe && this.novoValor.Ate < this.novoValor.De)\r\n this.messages.push('ValorAteMenorQueDe');\r\n\r\n if (this.novoValor.Valor == null)\r\n this.messages.push('InformeValor');\r\n\r\n if (this.messages.length > 0){\r\n\r\n \r\n\r\n return;\r\n }\r\n\r\n this.model.push({ De: this.novoValor.De, Ate: this.novoValor.Ate, Valor: this.novoValor.Valor, Excluir: false });\r\n this.novoValor = { De: null, Ate: null, Valor: null, Excluir: false };\r\n\r\n this.ordernar();\r\n }\r\n\r\n remover(item: any){\r\n\r\n this._dialog.YesOrNo('MensagemExcluir').subscribe(r => {\r\n if (r.button == InfoDialogButtons.No)\r\n return;\r\n\r\n item.Excluir = true;\r\n this.model.splice(this.model.findIndex(m => m == item), 1);\r\n this.ordernar();\r\n });\r\n }\r\n\r\n ordernar(){\r\n\r\n this.model = this.model.sort((a, b) => { \r\n if (this.hiddenDe ? (a.Ate < b.Ate) : (a.De < b.De))\r\n return -1;\r\n\r\n else if (this.hiddenDe ? (a.Ate > b.Ate) : (a.De > b.De))\r\n return 1;\r\n\r\n else return 0;\r\n });\r\n }\r\n}","<div class=\"row\">\r\n <div [ngClass]=\"{'col-md-6': !onelist, 'col-md-12': onelist}\" class=\"pr-0\">\r\n <mat-form-field class=\"col-md-12\" >\r\n <input matInput placeholder=\"{{ filterlabel | translate}}\" name=\"FilterList\" [(ngModel)]=\"filterList\" >\r\n </mat-form-field>\r\n\r\n <div class=\"col-md-12\">\r\n <label class=\"description\" *ngIf=\"filterdescription != '' || selecteddescription != ''\"> {{ filterdescription | translate }}</label>\r\n <div class=\"actions\" *ngIf=\"!disabled\">\r\n <a (click)=\"marcarFiltrados(filterList, true)\">{{'MarcarFiltrados' | translate}}</a>\r\n <a (click)=\"marcarTodos(true)\">{{'MarcarTodos' | translate}}</a>\r\n <a (click)=\"marcarFiltrados(filterList, false)\">{{'DesmarcarFiltrados' | translate}}</a>\r\n <a (click)=\"marcarTodos(false)\">{{'DesmarcarTodos' | translate}}</a>\r\n </div>\r\n\r\n <ul class=\"checkbox-list\">\r\n <li *ngFor=\"let item of getModel(filterList)\" [(value)]=\"item.Id\">\r\n <mat-checkbox [(ngModel)]=\"item.Selecionado\" [disabled]=\"disabled\"><span [innerHTML]=\"item.Descricao\"></span></mat-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-md-12 align-right\"><small>{{message}}</small></div>\r\n </div>\r\n\r\n <div class=\"col-md-6 pr-0\" *ngIf=\"!onelist\">\r\n <mat-form-field class=\"col-md-12\">\r\n <input matInput placeholder=\"{{ selectedlabel | translate}}\" name=\"FilterSelected\" [(ngModel)]=\"filterSelected\" >\r\n </mat-form-field>\r\n\r\n <div class=\"col-md-12\">\r\n <label class=\"description\" *ngIf=\"filterdescription != '' || selecteddescription != ''\"> {{ selecteddescription | translate }}</label>\r\n <div class=\"actions\" *ngIf=\"!disabled\">\r\n <a (click)=\"marcarFiltrados(filterSelected, false, true)\">{{'DesmarcarFiltrados' | translate}}</a>\r\n <a (click)=\"marcarTodos(false)\">{{'DesmarcarTodos' | translate}}</a>\r\n </div>\r\n\r\n <ul class=\"checkbox-list\">\r\n <li *ngFor=\"let item of getModel(filterSelected, true)\" [(value)]=\"item.Id\" >\r\n <mat-checkbox [(ngModel)]=\"item.Selecionado\" [indeterminate]=\"true\" [disabled]=\"disabled\"><span [innerHTML]=\"item.Descricao\"></span></mat-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-md-12 align-right\"><small>{{message}}</small></div>\r\n </div>\r\n</div>","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { InfoTranslateService } from \"../../service/translate.service\";\r\n\r\n@Component({\r\n selector: 'info-list-checkbox',\r\n templateUrl: 'list-checkbox.component.html',\r\n styles: ['ul.checkbox-list { height: 270px; overflow-y: auto }']\r\n})\r\nexport class InfoListCheckboxComponent implements OnInit {\r\n\r\n @Input() filterlabel: string = 'Filtrar';\r\n @Input() filterdescription: string;\r\n\r\n @Input() selectedlabel: string = 'Filtrar';\r\n @Input() selecteddescription: string;\r\n\r\n @Input() model: any[] = [];\r\n @Input() max: number = 0;\r\n @Input() onelist: boolean = false;\r\n\r\n private disabledValue: any;\r\n @Input()\r\n get disabled() {\r\n return this.disabledValue;\r\n }\r\n\r\n set disabled(value) {\r\n this.disabledValue = value;\r\n }\r\n\r\n filterList: string = '';\r\n filterSelected: string = ''; \r\n message: string = \"\";\r\n\r\n constructor(private _translate: InfoTranslateService) { }\r\n\r\n ngOnInit() {\r\n if (this.max != null && this.max > 0)\r\n this.message = this._translate.translate('MensagemTopRegistro').replace('{0}', this.max.toString());\r\n }\r\n \r\n getModel(valor: string, selecionados: boolean = false, todos = false): any[] {\r\n if (todos || this.max == null || this.max == 0)\r\n return this.model.filter(r => (selecionados ? r.Selecionado : r.Selecionado == r.Selecionado) && r.Descricao.toLowerCase().indexOf(valor.toLowerCase()) > -1);\r\n else \r\n return this.model.filter(r => (selecionados ? r.Selecionado : r.Selecionado == r.Selecionado) && r.Descricao.toLowerCase().indexOf(valor.toLowerCase()) > -1).slice(0, this.max);\r\n }\r\n\r\n marcarFiltrados(valor: string, marcar: boolean, selecionados: boolean = false) {\r\n let ids: any[] = this.getModel(valor, selecionados, true).map(r => r.Id);\r\n\r\n this.model.forEach((item, index) => {\r\n if (ids.indexOf(item.Id) > -1)\r\n item.Selecionado = marcar; \r\n });\r\n }\r\n\r\n marcarTodos(marcar: boolean) {\r\n this.model.forEach(item => item.Selecionado = marcar);\r\n }\r\n}","<mat-form-field>\r\n <mat-select [placeholder]=\"placeholder | translate\" [(ngModel)]=\"selectedValue\" (selectionChange)=\"onChangeValue()\" [disabled]=\"disabled || loading\" [required]=\"required\">\r\n <mat-option *ngIf=\"blank\" [value]=\"blankItem.Id\">{{ blankItem.Nome | translate }}</mat-option>\r\n <mat-option *ngFor=\"let i of data\" [value]=\"i.Id\" [innerHTML]=\"i.Nome | translate:(notranslate===null)\"></mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\" >\r\n </mat-progress-bar>\r\n</section>","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\n\r\n@Component({\r\n selector: 'info-select',\r\n templateUrl: 'select.component.html',\r\n styleUrls: ['select.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoSelectComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoSelectComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder = '';\r\n @Input() name = '';\r\n @Input() required: any = false;\r\n @Input() selectfirst = false;\r\n @Input() disablednoregisters = false;\r\n @Input() api: any = null;\r\n @Input() method = 'getchavevalor';\r\n @Input() blank = false;\r\n @Input() blankItem: any = null;\r\n @Input() loading = false;\r\n @Input() disabled = false;\r\n @Input() notranslate: any = null;\r\n @Input() notoken: boolean = false;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n selectedValue: any = null;\r\n translatValue: boolean = true;\r\n onChange: any;\r\n onTouched: any;\r\n\r\n private initialized = false;\r\n \r\n _params: string = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n\r\n if (this.initialized)\r\n this.getData();\r\n }\r\n \r\n _data: any = [];\r\n @Input()\r\n get data(){\r\n return this._data;\r\n }\r\n\r\n set data(value){\r\n this._data = value;\r\n \r\n if (this.selectfirst && this.data != null && this.data.length > 0 && !this.data.some(d => d.Id == this.selectedValue))\r\n this.writeValue(this.data[0].Id);\r\n \r\n if (this.disablednoregisters)\r\n this.setDisabledState((this.data == null || this.data.length == 0));\r\n }\r\n\r\n constructor(private _dataAcessService: InfoDataService) { }\r\n\r\n ngOnInit() {\r\n this.name += this.placeholder.replace(/ /g, '');\r\n this.blank = (this.required !== '' && this.required !== 'true' && this.required !== true);\r\n\r\n if (this.blankItem == null)\r\n this.blankItem = { Id: null, Nome: '' };\r\n \r\n this.getData();\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.selectedValue = value;\r\n this.onChangeValue();\r\n }\r\n\r\n getData() {\r\n this.initialized = true;\r\n \r\n if (this.api == null || (this.params != null && this.params.toLowerCase().indexOf('undefined') > -1))\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n\r\n let observable = this.notoken ?\r\n this._dataAcessService.getNoToken(this.api, this.method, this.params) :\r\n this._dataAcessService.get(this.api, this.method, this.params);\r\n\r\n observable.subscribe(r => {\r\n if (r.success) {\r\n this.data = r.data;\r\n if (this.selectedValue) this.onChangeValue();\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.selectedValue);\r\n\r\n if (this.onselecteditem != null)\r\n this.onselecteditem.emit(this.data == null ? null : this.data.find(r => r.Id == this.selectedValue));\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;\r\n }\r\n}","<span class=\"line\"></span>\r\n\r\n<div class=\"timeline-box\">\r\n <div class=\"box-label\" *ngIf=\"label != ''\">\r\n <div class=\"label-text\">{{label}}</div>\r\n </div>\r\n\r\n <div class=\"box-items\">\r\n <div class=\"item\" *ngFor=\"let item of data\">\r\n <div class=\"item-point\" [ngStyle]=\"{ 'border-color': item.PointColor }\"></div>\r\n <div class=\"item-content\">\r\n <h2 *ngIf=\"item.Title\">{{item.Title}}</h2>\r\n <p [innerHTML]=\"item.Content | translate\"></p>\r\n <h3 *ngIf=\"item.Date\">{{ item.Date }} às {{ item.Hour }}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit, Input, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-timeline',\r\n templateUrl: './timeline.component.html',\r\n styleUrls: ['./timeline.component.scss'],\r\n host: {\r\n '[class.timeline]': 'true',\r\n '[class.show-date]': 'true'\r\n }\r\n})\r\nexport class InfoTimelineComponent implements OnInit {\r\n @Input() showdate: boolean = true;\r\n @Input() align: string = 'between';\r\n @Input() style: any = '';\r\n @Input() label: string = '';\r\n @Input() data: any[] = [];\r\n\r\n @HostBinding('class.align-left') alignLeft: boolean = false;\r\n @HostBinding('class.align-center') alignCenter: boolean = false;\r\n @HostBinding('class.align-right') alignRight: boolean = false;\r\n @HostBinding('class.align-between') alignBetween: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.alignLeft = (this.align === 'left');\r\n this.alignCenter = (this.align === 'center');\r\n this.alignRight = (this.align === 'right');\r\n this.alignBetween = (this.align === 'between');\r\n }\r\n}","import { Component, forwardRef, Input, SecurityContext, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { AngularEditorComponent, AngularEditorConfig, AngularEditorService } from '@kolkov/angular-editor';\r\n \r\n@Component({\r\n selector: 'info-editor',\r\n templateUrl: './editor.component.html',\r\n styleUrls: ['./editor.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoEditorComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoEditorComponent implements ControlValueAccessor {\r\n\r\n @ViewChild('editor') editor: AngularEditorComponent;\r\n\r\n @Input() required: boolean = false;\r\n @Input() enabledhtmlmode: boolean = false;\r\n @Input() sanitize: boolean = true;\r\n\r\n @Input()\r\n get disabled() { return !(this.editorConfig || {}).editable; }\r\n set disabled(value) { this.editorConfig.editable = !value; }\r\n\r\n @Input()\r\n get height() { return (this.editorConfig || {}).height; }\r\n set height(value) { this.editorConfig.height = value || 'auto'; }\r\n\r\n @Input()\r\n get minheight() { return (this.editorConfig || {}).minHeight; }\r\n set minheight(value) { this.editorConfig.minHeight = value || '0'; }\r\n\r\n @Input()\r\n get maxheight() { return (this.editorConfig || {}).maxHeight; }\r\n set maxheight(value) { this.editorConfig.maxHeight = value || 'auto'; }\r\n\r\n @Input()\r\n get width() { return (this.editorConfig || {}).width; }\r\n set width(value) { this.editorConfig.width = value || 'auto'; }\r\n\r\n @Input()\r\n get minwidth() { return (this.editorConfig || {}).minWidth; }\r\n set minwidth(value) { this.editorConfig.minWidth = value || '0'; }\r\n\r\n value: any = '';\r\n \r\n onChange: any;\r\n onTouched: any;\r\n focused = false;\r\n id = null;\r\n\r\n editorConfig: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: 'auto',\r\n minHeight: '0',\r\n maxHeight: 'auto',\r\n width: 'auto',\r\n minWidth: '0',\r\n translate: 'yes',\r\n enableToolbar: true,\r\n showToolbar: true,\r\n defaultParagraphSeparator: '',\r\n toolbarPosition: 'top',\r\n sanitize: false,\r\n fonts: [\r\n {class: 'arial', name: 'Arial'},\r\n {class: 'times-new-roman', name: 'Times New Roman'},\r\n {class: 'calibri', name: 'Calibri'},\r\n {class: 'comic-sans-ms', name: 'Comic Sans MS'}\r\n ],\r\n };\r\n\r\n constructor(private _sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit() {\r\n this.id = `editor-${this.getGuid()}`;\r\n }\r\n\r\n ngAfterViewInit() {\r\n var _this = this;\r\n document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('focus', () => _this.focused = true);\r\n document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('blur', () => _this.focused = false);\r\n document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('mouseout', () => _this.editor.editorToolbar['editorService'].saveSelection());\r\n }\r\n\r\n private getGuid() : string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n const r = Math.random() * 16 | 0, v = c === 'x' ? r : ( r & 0x3 | 0x8 );\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n onChangeValue() {\r\n if (this.sanitize)\r\n this.value = this._sanitizer.sanitize(SecurityContext.HTML, this.value);\r\n if (this.onChange != null)\r\n this.onChange(this.value);\r\n }\r\n\r\n writeValue(modelValue: any): void {\r\n this.value = this.sanitize ? this._sanitizer.sanitize(SecurityContext.HTML, modelValue) : modelValue;\r\n this.onChangeValue();\r\n }\r\n \r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n \r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n \r\n}","<angular-editor [attr.id]=\"id\" [attr.focused]=\"focused\" [attr.htmlmode]=\"enabledhtmlmode\" [(ngModel)]=\"value\" name=\"editor\" [config]=\"editorConfig\" (ngModelChange)=\"onChangeValue()\" [required]=\"required\" #editor></angular-editor>\r\n","<mat-form-field>\r\n <mat-label>{{placeholder | translate}}</mat-label>\r\n\r\n <mat-select [(ngModel)]=\"selectedValues\" (selectionChange)=\"onChangeValue()\" [disabled]=\"disabled || loading\" [required]=\"required\" multiple>\r\n <mat-option *ngFor=\"let i of data\" [value]=\"i.Id\">\r\n <span [innerHtml]=\"i.Nome | translate:(notranslate===null)\"></span>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\" >\r\n </mat-progress-bar>\r\n</section>","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\n\r\n@Component({\r\n selector: 'info-multi-select',\r\n templateUrl: 'multi-select.component.html',\r\n styleUrls: ['multi-select.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoMultiSelectComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoMultiSelectComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder = '';\r\n @Input() name = '';\r\n @Input() required: any = false;\r\n @Input() selectfirst = false;\r\n @Input() disablednoregisters = false;\r\n @Input() api: any = null;\r\n @Input() method = 'getchavevalor';\r\n @Input() loading = false;\r\n @Input() disabled = false;\r\n @Input() notranslate: any = null;\r\n @Input() notoken: boolean = false;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n selectedValues: any[] = [];\r\n onChange: any;\r\n onTouched: any;\r\n\r\n private initialized = false;\r\n \r\n _params: string = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n\r\n if (this.initialized)\r\n this.getData();\r\n }\r\n \r\n _data: any = [];\r\n @Input()\r\n get data(){\r\n return this._data;\r\n }\r\n\r\n set data(value){\r\n this._data = value;\r\n \r\n if (this.selectfirst && this.data != null && this.data.length > 0 && !this.data.some(d => this.selectedValues?.indexOf(d.Id) > -1))\r\n this.writeValue([this.data[0].Id]);\r\n \r\n if (this.disablednoregisters)\r\n this.setDisabledState((this.data == null || this.data.length == 0));\r\n }\r\n\r\n constructor(private _dataAcessService: InfoDataService) { }\r\n\r\n ngOnInit() {\r\n this.name += this.placeholder.replace(/ /g, '');\r\n this.getData();\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.selectedValues = value;\r\n this.onChangeValue();\r\n }\r\n\r\n getData() {\r\n this.initialized = true;\r\n \r\n if (this.api == null || (this.params != null && this.params.toLowerCase().indexOf('undefined') > -1))\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n\r\n let observable = this.notoken ?\r\n this._dataAcessService.getNoToken(this.api, this.method, this.params) :\r\n this._dataAcessService.get(this.api, this.method, this.params);\r\n \r\n observable.subscribe(r => {\r\n if (r.success) {\r\n this.data = r.data;\r\n if ((this.selectedValues || []).length > 0) this.onChangeValue();\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.selectedValues);\r\n\r\n if (this.onselecteditem != null)\r\n this.onselecteditem.emit(this.data == null ? null : this.data.filter(r => this.selectedValues?.indexOf(r.Id) > -1));\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;\r\n }\r\n}","<mat-form-field>\r\n <mat-chip-list #chipList>\r\n <mat-chip *ngFor=\"let item of values; let i = index\" [removable]=\"!disabled\" (removed)=\"remove(i)\">\r\n {{item}}\r\n <mat-icon matChipRemove *ngIf=\"!disabled\">cancel</mat-icon>\r\n </mat-chip>\r\n <input [placeholder]=\"placeholder | translate\"\r\n [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n (matChipInputTokenEnd)=\"add($event)\"\r\n [disabled]=\"disabled\"\r\n (blur)=\"onBlur()\">\r\n </mat-chip-list>\r\n </mat-form-field>","import { ENTER } from '@angular/cdk/keycodes';\r\nimport { Component, forwardRef, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'info-chips',\r\n templateUrl: 'chips.component.html',\r\n providers:[\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoChipsComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoChipsComponent implements ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() readonly: boolean = false;\r\n readonly separatorKeysCodes: number[] = [ENTER];\r\n\r\n @Output() onblur = new EventEmitter();\r\n \r\n values: string[] = [];\r\n onChange: any;\r\n onTouched: any;\r\n\r\n add(event): void {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n if ((value || '').trim()) this.values.push(value.trim());\r\n if (input) input.value = '';\r\n \r\n this.writeValue(this.values);\r\n }\r\n \r\n remove(index): void {\r\n if (index >= 0) this.values.splice(index, 1);\r\n this.writeValue(this.values);\r\n }\r\n \r\n\r\n onBlur() {\r\n this.onblur.emit(this.values);\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.values);\r\n }\r\n\r\n writeValue(modelValues: any): void {\r\n this.values = modelValues;\r\n this.onChangeValue();\r\n }\r\n \r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n \r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n}","<ng-container *ngIf=\"_platform.Config.ux >= 3\">\r\n <div class=\"site-sidebar\" [ngClass]=\"{ 'opened': openSubmenu }\" >\r\n <nav>\r\n <div class=\"main-menu\">\r\n <a id=\"menu-min-icon\" (click)=\"toggleSidebar()\">\r\n <mat-icon [ngClass]=\"{ 'min': _platform.MenuMin }\" [matTooltip]=\"_platform.MenuMin ? 'Exibir' : 'Ocultar' | translate\" matTooltipPosition=\"right\" >arrow_menu_close</mat-icon>\r\n </a>\r\n\r\n <ul *ngIf=\"menu\">\r\n \r\n <li class=\"menu-item\" *ngFor=\"let m of menu\" [ngClass]=\"{ 'active': menuAtivo == m.Title, 'disabled': !m.Enabled, 'opened': openSubmenu == m.Title }\">\r\n \r\n <a *ngIf=\"m.Sub == null\" [routerLink]=\"m.Routing\" class=\"item-link\" (click)=\"changeSidebar();access(m.Title);tooltip.hide();\" >\r\n <mat-icon #tooltip=\"matTooltip\" [matTooltip]=\"m.Title | translate\" [matTooltipDisabled]=\"!_platform.MenuMin\" matTooltipPosition=\"right\" [matTooltipShowDelay]=\"600\" matTooltipClass=\"mat-tooltip\">{{ m.Icon }}</mat-icon>\r\n <label class=\"title\">{{ m.Title | translate }}</label>\r\n </a>\r\n \r\n <ng-container *ngIf=\"m.Sub != null || m.SubGroup != null\">\r\n <a class=\"item-link\" (click)=\"toggleSubmenu(m.Title);tooltip.hide();\" >\r\n <mat-icon #tooltip=\"matTooltip\" [matTooltip]=\"m.Title | translate\" [matTooltipDisabled]=\"!_platform.MenuMin\" matTooltipPosition=\"right\" [matTooltipShowDelay]=\"600\" matTooltipClass=\"mat-tooltip\" >{{ m.Icon }}</mat-icon>\r\n <label class=\"title\">{{ m.Title | translate }}</label>\r\n </a>\r\n \r\n <div class=\"sub-menu\">\r\n <h4>{{ m.Title | translate }}</h4>\r\n \r\n <ul>\r\n <li *ngFor=\"let s of m.Sub\">\r\n <a [routerLink]=\"s.Routing\" class=\"item-link\" (click)=\"changeSidebar();access(m.Title);\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n\r\n <ng-container *ngIf=\"m.SubGroup != null\">\r\n <div class=\"group-menu\" *ngFor=\"let g of m.SubGroup\">\r\n <h5>{{ g.Title | translate }}</h5>\r\n \r\n <ul>\r\n <li *ngFor=\"let s of g.Sub\">\r\n <a [routerLink]=\"s.Routing\" class=\"item-link\" (click)=\"changeSidebar();access(m.Title);\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n </nav>\r\n <div class=\"sub-menu-overlay\" (click)=\"openSubmenu = ''\"></div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"_platform.Config.ux <= 2\">\r\n <div class=\"site-sidebar\">\r\n\r\n <div class=\"logo\">\r\n <a href=\"/\" >\r\n <i class=\"logo-img\"></i>\r\n </a>\r\n </div>\r\n\r\n <div class=\"info\">\r\n <span>{{ _session.Usuario }}</span>\r\n <small>{{ _session.Perfil }}</small>\r\n </div>\r\n\r\n <nav>\r\n <div class=\"main-menu\">\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n <ul *ngIf=\"menu\">\r\n <li class=\"menu-item\" *ngFor=\"let m of menu\" [ngClass]=\"{ 'has-sub': m.Sub != null, 'active': m.Active, 'menu-item-group': m.Group, 'disabled': !m.Enabled }\">\r\n \r\n <!-- Grupos -->\r\n <span class=\"group-title\" *ngIf=\"m.Group\">{{ m.Title }} </span>\r\n \r\n <!-- Itens -->\r\n <a href=\"#\" [routerLink]=\"m.Routing\" class=\"item-link\" *ngIf=\"!m.Group && m.Sub == null && m.Enabled\" (click)=\"toggle($event, m);resetLastSearch();\">\r\n <mat-icon>{{ m.Icon }}</mat-icon>{{ m.Title | translate }}\r\n </a>\r\n \r\n <a class=\"item-link\" *ngIf=\"!m.Group && m.Sub == null && !m.Enabled\">\r\n <mat-icon>{{ m.Icon }}</mat-icon>{{ m.Title | translate }} \r\n </a>\r\n \r\n <!-- Item com submenu -->\r\n <a href=\"#\" class=\"item-link\" *ngIf=\"!m.Group && m.Sub != null\" (click)=\"toggle($event, m)\">\r\n <mat-icon class=\"icon\">{{ m.Icon }}</mat-icon>{{ m.Title | translate }}\r\n <i class=\"caret fa fa-angle-right\" *ngIf=\"m.Sub\"></i>\r\n </a>\r\n \r\n <!-- Sub Menu -->\r\n <ul class=\"sub\" *ngIf=\"!m.Group && m.Sub != null\">\r\n <li class=\"menu-item\" *ngFor=\"let s of m.Sub\">\r\n <a [routerLink]=\"s.Routing\" (click)=\"resetLastSearch()\" class=\"item-link\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n </div>\r\n </nav>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"sidebar-overlay\"></div>","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2 } from '@angular/core';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoAuthenticationService } from '../../service/authentication.service';\r\nimport { InfoThemeService } from '../../service/theme.service';\r\nimport { InfoLastSearchModel } from '../../model/last-search.model';\r\nimport { InfoSessionModel } from '../../model/session.model';\r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { NavigationStart, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'info-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss']\r\n})\r\nexport class InfoSidebarComponent implements OnInit {\r\n\r\n @Input() api: any = null;\r\n @Input() method: string = 'GetMenu';\r\n @Input() activemenubyurl: boolean = false;\r\n @Output() onchangestate = new EventEmitter();\r\n\r\n loading: boolean = false;\r\n menu: any = [];\r\n openSubmenu: string = '';\r\n menuAtivo: string = 'Dashboard';\r\n\r\n constructor(private _dataAcessService: InfoDataService, private _authentication: InfoAuthenticationService, \r\n private _themeService: InfoThemeService, public _session: InfoSessionModel, public _platform: InfoPlatformModel,\r\n private _lastSearch: InfoLastSearchModel, private _router: Router, private _renderer: Renderer2, public _element: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this._authentication.isLogged() || this.api == null)\r\n return;\r\n\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n this.loading = true;\r\n\r\n this._dataAcessService\r\n .get(this.api, this.method)\r\n .subscribe(r => {\r\n if (r.success){\r\n this.menu = r.data;\r\n this._platform.Menu = r.data;\r\n this._authentication.definePaginaAtiva(this._router.url);\r\n\r\n this.monitorarUrl();\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n toggle(e: Event, menuItem: any) {\r\n\r\n e.preventDefault();\r\n\r\n if (!menuItem.Enabled)\r\n return;\r\n\r\n if (!menuItem.Active)\r\n for (let i = 0; i < this.menu.length; i++)\r\n this.menu[i].Active = false;\r\n\r\n menuItem.Active = !menuItem.Active;\r\n }\r\n\r\n access(menu: string){\r\n this.menuAtivo = menu;\r\n this.openSubmenu = '';\r\n \r\n this.resetLastSearch();\r\n }\r\n\r\n monitorarUrl(){\r\n if (this.activemenubyurl){\r\n this.ativarMenu(this._router.url);\r\n\r\n this._router.events.subscribe(e => {\r\n if (e instanceof NavigationStart)\r\n this.ativarMenu(e.url);\r\n });\r\n }\r\n }\r\n\r\n ativarMenu(url: string){\r\n let itemMenu = this.menu.find(m => m.Routing == url);\r\n\r\n if (itemMenu != null)\r\n this.menuAtivo = itemMenu.Title;\r\n }\r\n\r\n toggleSubmenu(menu) {\r\n this.openSubmenu = this.openSubmenu == menu ? '' : menu;\r\n }\r\n\r\n resetLastSearch(){\r\n this._lastSearch.model = null;\r\n this._lastSearch.url = '';\r\n }\r\n\r\n changeSidebar() {\r\n this.onchangestate.emit();\r\n }\r\n\r\n toggleSidebar(){\r\n this._themeService.setMenuMin();\r\n }\r\n}","<ng-container *ngIf=\"_platform.Config.ux >= 3\">\r\n <div class=\"site-navbar\">\r\n <a class=\"logo\" >\r\n <i class=\"logo-img\"></i>\r\n <i class=\"logo-img-resp\"></i>\r\n </a>\r\n \r\n <div class=\"nav-items\">\r\n <div class=\"nav-item usuario-logado\" [class.separador]=\"_session.Empresas.length > 1 || _session.Unidades\">\r\n <dl (click)=\"navigate(profileurl)\">\r\n <dt>{{ _session.Perfil }}</dt>\r\n <dd>{{ _session.Usuario }}</dd>\r\n </dl>\r\n </div>\r\n\r\n <div class=\"nav-item selecao-empresa\" *ngIf=\"_session.Empresas.length > 1\" [ngClass]=\"{ 'opened' : topMenu.empresa }\">\r\n <dl (click)=\"open('empresa')\">\r\n <dt>{{ 'Empresa' | translate }}</dt>\r\n <dd>{{ _session.Empresa }}</dd>\r\n </dl>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Empresas' | translate }}</h4>\r\n \r\n <ul class=\"empresas\">\r\n <li *ngFor=\"let company of _session.Empresas\" >\r\n <a (click)=\"setCompany(company); divModal.click();\">{{ company.Nome }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item selecao-empresa\" *ngIf=\"_session.Unidade && (_session.Unidades || []).length > 1\" [ngClass]=\"{ 'opened' : topMenu.unidade }\">\r\n <dl (click)=\"open('unidade')\">\r\n <dt>{{ 'Unidade' | translate }}</dt>\r\n <dd>{{ _session.Unidade }}</dd>\r\n </dl>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Unidades' | translate }}</h4>\r\n \r\n <ul class=\"empresas\">\r\n <li *ngFor=\"let unity of _session.Unidades\" >\r\n <a (click)=\"setUnity(unity); divModal.click();\">{{ unity.Nome }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item selecao-infoia\" [ngClass]=\"{ 'opened': topMenu.infoia }\" *ngIf=\"enabledia\">\r\n <button mat-icon-button (click)=\"open('infoia')\" [matTooltip]=\"'Info IA' | translate\">\r\n <label>{{ 'InfoIA' | translate }}</label>\r\n <mat-icon>diversity_2</mat-icon>\r\n </button>\r\n \r\n <div class=\"menu-lateral-direita infoia\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'InfoIA' | translate }}</h4>\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\" *ngIf=\"fastsearchform\">\r\n <button mat-icon-button (click)=\"openFastSearch()\" [matTooltip]=\"fastsearchtitle | translate\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n </div>\r\n \r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened' : topMenu.notificacao }\" *ngIf=\"notificationapi\">\r\n <button mat-icon-button (click)=\"setNotificationStatus(true, false, false);open('notificacao')\" [matTooltip]=\"'Notificacoes' | translate\"><mat-icon>notifications_none</mat-icon>\r\n <span class=\"badge\" *ngIf=\"notifications.Count > 0\">{{ notifications.Count }}</span>\r\n </button>\r\n \r\n <div class=\"menu-lateral-direita\" >\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Notificacoes' | translate }}</h4>\r\n \r\n <ul>\r\n <li *ngIf=\"notifications.Itens.length == 0\">\r\n <a style=\"cursor: default;\">\r\n <mat-icon>notifications</mat-icon>\r\n <div class=\"content\">\r\n <span>{{ 'TNotificacoesNenhuma' | translate }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n \r\n <ng-container *ngIf=\"notifications.Itens.length > 0\">\r\n <li *ngFor=\"let item of notifications.Itens\">\r\n <a (click)=\"navigate(item.Url);close()\">\r\n <dl>\r\n <dt>{{ 'Dia' | translate }} {{ item.Date }}</dt>\r\n <dd [innerHtml]=\"item.Description | translate\"></dd>\r\n </dl>\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <!-- <div class=\"nav-item\">\r\n <button mat-icon-button (click)=\"alternarModo()\" [matTooltip]=\"'AlternarModo' | translate\"><mat-icon>brightness_6</mat-icon></button>\r\n </div> -->\r\n \r\n <div class=\"nav-item selecao-tema\" [ngClass]=\"{ 'opened': topMenu.tema }\" *ngIf=\"!prodution && themes.length > 0\">\r\n <button mat-icon-button (click)=\"open('tema')\" [matTooltip]=\"'Tema' | translate\"><mat-icon>invert_colors</mat-icon></button>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Temas' | translate }}</h4>\r\n \r\n <ul class=\"temas\">\r\n <li *ngFor=\"let theme of themes\">\r\n <a (click)=\"setTheme(theme.name); divModal.click();\"> {{ theme.description | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\" *ngIf=\"_platform.Config.enabledPrime\">\r\n <button mat-icon-button [matTooltip]=\"(_platform.ModoPrime ? 'ModoPadrao' : 'Prime') | translate\" (click)=\"toggleMode()\"><mat-icon>brightness_6</mat-icon></button>\r\n </div>\r\n \r\n <div class=\"nav-item selecao-idioma\" [ngClass]=\"{ 'opened': topMenu.idioma }\" *ngIf=\"languages.length > 0\">\r\n <button mat-icon-button (click)=\"open('idioma')\" [matTooltip]=\"'Idioma' | translate\"><mat-icon>public</mat-icon></button>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Idiomas' | translate }}</h4>\r\n \r\n <ul class=\"idiomas\">\r\n <li *ngFor=\"let lang of languages\">\r\n <a (click)=\"setLanguage(lang.lang); divModal.click();\">{{ lang.name | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\">\r\n <button mat-icon-button [matTooltip]=\"'Sair' | translate\" (click)=\"logout()\"><mat-icon>power_settings_new</mat-icon></button>\r\n </div>\r\n \r\n <div class=\"items-overlay\" (click)=\"close()\" #divModal></div>\r\n </div>\r\n \r\n <div class=\"navbar-button\" [ngClass]=\"{ 'open' : opened }\" (click)=\"openSidebar()\">\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"_platform.Config.ux <= 2\">\r\n <div class=\"site-navbar\">\r\n <div class=\"sessao-clone text-lightgray\" *ngIf=\"_session.Clone\">\r\n <div><label>({{ 'ModoClone' | translate }})</label></div>\r\n </div>\r\n\r\n <div class=\"navbar-button\" [ngClass]=\"{ 'open' : opened }\" (click)=\"openSidebar()\">\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n </div>\r\n\r\n <h1 id=\"page-title\" class=\"page-title\" *ngIf=\"_platform.PaginaAtiva\">\r\n <mat-icon>{{ _platform.PaginaAtiva.Icone }}</mat-icon> {{ _platform.PaginaAtiva.Titulo | translate }}\r\n </h1>\r\n\r\n <div class=\"nav-items\">\r\n <div class=\"nav-item user-profile\" [ngClass]=\"{ 'opened' : topMenu.empresa }\">\r\n <button mat-button (click)=\"open('empresa')\">\r\n <mat-icon>fingerprint</mat-icon>\r\n <div class=\"name\">\r\n <label>{{ \"Empresa\" | translate }}</label>\r\n <span>{{ _session.Empresa }}</span>\r\n </div>\r\n </button>\r\n\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Empresa' | translate }}</h4>\r\n\r\n <ul class=\"company\">\r\n <li *ngFor=\"let company of _session.Empresas\" >\r\n <a (click)=\"setCompany(company); divModal.click();\">{{ company.Nome }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened' : topMenu.notificacao }\" *ngIf=\"notificationapi\">\r\n <button mat-icon-button (click)=\"setNotificationStatus(true, false, false);open('notificacao')\" [matTooltip]=\"'Notificacoes' | translate\"><mat-icon>notifications_none</mat-icon>\r\n <span class=\"badge\" *ngIf=\"notifications.Count > 0\">{{ notifications.Count }}</span>\r\n </button>\r\n\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Notificacoes' | translate }}</h4>\r\n\r\n <ul>\r\n <li *ngIf=\"notifications.Itens.length == 0\">\r\n <a style=\"cursor: default;\">\r\n <mat-icon>notifications_off</mat-icon>\r\n <div class=\"content\">\r\n <span>{{ 'TNotificacoesNenhuma' | translate }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n\r\n <ng-container *ngIf=\"notifications.Itens.length > 0\">\r\n <li *ngFor=\"let item of notifications.Itens\">\r\n <a (click)=\"navigate(item.Url);close()\">\r\n <mat-icon>{{ item.Icon }}</mat-icon>\r\n <div class=\"content\">\r\n <span class=\"desc\" [innerHtml]=\"item.Description | translate\"></span>\r\n <span class=\"date\">{{ item.Date }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened': topMenu.idioma }\" *ngIf=\"languages.length > 0\">\r\n <button mat-icon-button (click)=\"open('idioma')\" [matTooltip]=\"'Idioma' | translate\"><mat-icon>public</mat-icon></button>\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Idioma' | translate }}</h4>\r\n <ul class=\"languages\">\r\n <li *ngFor=\"let lang of languages\">\r\n <a (click)=\"setLanguage(lang.lang); divModal.click();\">{{ lang.name | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened': topMenu.tema }\" *ngIf=\"!prodution && themes.length > 0\">\r\n <button mat-icon-button (click)=\"open('tema')\" [matTooltip]=\"'Tema' | translate\"><mat-icon>invert_colors</mat-icon></button>\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Temas' | translate }}</h4>\r\n <ul class=\"themes\">\r\n <li *ngFor=\"let theme of themes\">\r\n <a (click)=\"setTheme(theme.name); divModal.click();\"> {{ theme.description | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\" *ngIf=\"fastsearchform\">\r\n <button mat-icon-button (click)=\"openFastSearch()\" [matTooltip]=\"fastsearchtitle | translate\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"nav-item\" *ngIf=\"profileurl != ''\">\r\n <button mat-icon-button [matTooltip]=\"'MeuPerfil' | translate\" [routerLink]=\"profileurl\"><mat-icon>person</mat-icon></button>\r\n </div>\r\n\r\n <div class=\"nav-item\">\r\n <button mat-icon-button [matTooltip]=\"'Sair' | translate\" (click)=\"logout()\"><mat-icon>power_settings_new</mat-icon></button>\r\n </div>\r\n\r\n <div class=\"items-overlay\" (click)=\"close()\" #divModal></div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<section class=\"loading-bar\" *ngIf=\"loading\"><mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar></section>\r\n<div class=\"block\" *ngIf=\"loading\"></div>","import { Component, OnInit, Input, Output, EventEmitter, Renderer2, ElementRef } from '@angular/core';\r\nimport { InfoDialogModal } from '../dialog/dialog.component';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { InfoDialogButtons } from '../../enum';\r\nimport { InfoTranslateService } from '../../service/translate.service';\r\nimport { InfoAuthenticationService } from '../../service/authentication.service';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoThemeService } from '../../service/theme.service';\r\nimport { InfoNotificationModel } from '../../model/notification.model';\r\nimport { InfoSessionModel } from '../../model/session.model'; \r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { Utilities } from '../../utils/utilities';\r\n\r\n@Component({\r\n selector: 'info-topbar',\r\n templateUrl: './topbar.component.html',\r\n styleUrls: ['./topbar.component.scss']\r\n})\r\nexport class InfoTopbarComponent implements OnInit {\r\n @Input() opened: boolean = false;\r\n @Input() languages: any = [];\r\n @Input() themes: any = [];\r\n @Input() notificationapi: any = null;\r\n @Input() notificationgetmethod: string = 'Get';\r\n @Input() notificationpostmethod: string = 'PostNotification';\r\n @Input() notificationverifymethod: string = 'Verify';\r\n @Input() notificationverifyenabled: boolean = true;\r\n @Input() fastsearchform: any = null;\r\n @Input() fastsearchformwidth: number = 1200;\r\n @Input() fastsearchtitle: string = 'PesquisaRapidaCarteira';\r\n @Input() profileurl: string = '';\r\n @Input() setthemeonchangecompany: boolean = false;\r\n @Input() enabledia: boolean = false;\r\n @Output() onchangestate = new EventEmitter();\r\n @Output() ongetnotification = new EventEmitter();\r\n @Output() onverifynotification = new EventEmitter();\r\n\r\n modalRef: any = null;\r\n loading: boolean = false;\r\n prodution: boolean = false;\r\n notifications: InfoNotificationModel = new InfoNotificationModel();\r\n\r\n topMenu: any = {\r\n empresa: false,\r\n unidade: false,\r\n infoia: false,\r\n tema: false,\r\n idioma: false,\r\n notificacao: false,\r\n calendario: false\r\n };\r\n\r\n constructor(private _translateService: InfoTranslateService, \r\n public _authenticationService: InfoAuthenticationService, \r\n private _dataService: InfoDataService, \r\n private _themeService: InfoThemeService, \r\n private _router: Router, private _dialog: InfoDialogModal, \r\n public _session: InfoSessionModel, \r\n public _platform: InfoPlatformModel, \r\n private _modal: MatDialog,\r\n private _renderer: Renderer2, \r\n public _element: ElementRef, \r\n private _utilities: Utilities) { }\r\n\r\n ngOnInit() {\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n \r\n if (this._platform.Config.topMenu)\r\n this._renderer.addClass(this._element.nativeElement, 'topmenu');\r\n \r\n this.prodution = this._platform.Config.production;\r\n this.getNotifications();\r\n }\r\n\r\n setCompany(company) {\r\n this._authenticationService.trocarEmpresa(this._session.Login, company.Id).subscribe(res => {\r\n if (res.success) {\r\n\r\n document.body.setAttribute('loading', 'true');\r\n \r\n this._session.Permissoes = [];\r\n this._session.EmpresaId = company.Id;\r\n this._session.Empresa = company.Nome;\r\n this._session.TemaId = ((company.Unidades || [])[0] || {}).TemaId || company.TemaId;\r\n this._session.Unidades = company.Unidades;\r\n this._session.UnidadeId = ((company.Unidades || []) || {}).Id;\r\n this._session.Unidade = ((company.Unidades || []) || {}).Nome;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n this._utilities.setLocalStorage(this._platform.SessionKey, JSON.stringify(this._session));\r\n \r\n if ((company.Unidades || []).length > 0) {\r\n this.setUnity(company.Unidades[0]);\r\n } else this._router.navigateByUrl('').then(r => location.reload());\r\n \r\n } else this._authenticationService.logout();\r\n }, err => this._authenticationService.logout());\r\n }\r\n\r\n setUnity(unity) {\r\n this._authenticationService.trocarUnidade(this._session.Login, this._session.EmpresaId, unity.Id).subscribe(res => {\r\n if (res.success) {\r\n\r\n document.body.setAttribute('loading', 'true');\r\n \r\n this._session.Permissoes = [];\r\n this._session.TemaId = unity.TemaId ?? this._session.TemaId;\r\n this._session.UnidadeId = unity.Id;\r\n this._session.Unidade = unity.Nome;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n this._utilities.setLocalStorage(this._platform.SessionKey, JSON.stringify(this._session));\r\n this._router.navigateByUrl('').then(r => location.reload());\r\n \r\n } else this._authenticationService.logout();\r\n }, err => this._authenticationService.logout());\r\n } \r\n\r\n setCompanyUnity(company, unity) {\r\n this._authenticationService.trocarUnidade(this._session.Login, company.Id, unity.Id).subscribe(res => {\r\n if (res.success) {\r\n\r\n document.body.setAttribute('loading', 'true');\r\n\r\n this._session.Permissoes = [];\r\n this._session.EmpresaId = company.Id;\r\n this._session.Empresa = company.Nome;\r\n this._session.Unidades = company.Unidades;\r\n this._session.TemaId = unity.TemaId ?? company.TemaId;\r\n this._session.UnidadeId = unity.Id;\r\n this._session.Unidade = unity.Nome;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n this._utilities.setLocalStorage(this._platform.SessionKey, JSON.stringify(this._session));\r\n this._router.navigateByUrl('').then(r => location.reload());\r\n \r\n } else this._authenticationService.logout();\r\n }, err => this._authenticationService.logout());\r\n }\r\n\r\n setLanguage(language: string) {\r\n this._translateService.set(language);\r\n }\r\n\r\n setTheme(theme) {\r\n this._themeService.setTheme(theme);\r\n }\r\n\r\n toggleMode(){\r\n this._themeService.setModePrime();\r\n }\r\n\r\n openFastSearch() {\r\n this.close();\r\n\r\n if (this.modalRef != null) \r\n return;\r\n\r\n this.modalRef = this._modal.open(this.fastsearchform, {\r\n disableClose: true,\r\n width: this.fastsearchformwidth + 'px'\r\n });\r\n\r\n this.modalRef.keydownEvents().subscribe(r => {\r\n if (!this.loading && (r.key == \"Escape\" || r.key == \"Esc\" || r.key == \"27\"))\r\n this.modalRef.close();\r\n });\r\n\r\n this.modalRef.afterClosed().subscribe(r => { this.modalRef = null });\r\n }\r\n\r\n open(achtiveMenu) {\r\n this.topMenu.empresa = achtiveMenu == 'empresa';\r\n this.topMenu.unidade = achtiveMenu == 'unidade';\r\n this.topMenu.infoia = achtiveMenu == 'infoia';\r\n this.topMenu.tema = achtiveMenu == 'tema';\r\n this.topMenu.idioma = achtiveMenu == 'idioma';\r\n this.topMenu.notificacao = achtiveMenu == 'notificacao';\r\n this.topMenu.calendario = achtiveMenu == 'calendario';\r\n }\r\n\r\n close() {\r\n this.topMenu.empresa = false;\r\n this.topMenu.unidade = false;\r\n this.topMenu.infoia = false;\r\n this.topMenu.tema = false;\r\n this.topMenu.idioma = false;\r\n this.topMenu.notificacao = false;\r\n this.topMenu.calendario = false;\r\n }\r\n\r\n openSidebar() {\r\n this.opened = !this.opened;\r\n this.onchangestate.emit();\r\n }\r\n\r\n getNotifications() {\r\n if (!this._authenticationService.isLogged() || this.notificationapi == null)\r\n return;\r\n\r\n this._dataService.get(this.notificationapi, this.notificationgetmethod, null).subscribe(r => {\r\n if (r.success) {\r\n this.notifications.Count = r.data.Count;\r\n this.notifications.Itens = r.data.Itens;\r\n\r\n if (this.notificationverifyenabled)\r\n this.verifyNotifications();\r\n\r\n this.ongetnotification.emit(this.notifications);\r\n }\r\n });\r\n }\r\n\r\n verifyNotifications() {\r\n if (!this._authenticationService.isLogged() || this.notificationapi == null)\r\n return;\r\n\r\n this._dataService.get(this.notificationapi, this.notificationverifymethod).subscribe(r => {\r\n if (r.data == -1)\r\n this.logout();\r\n\r\n else if (this.notifications.Count == r.data)\r\n setTimeout(() => { this.verifyNotifications(); }, 15000);\r\n\r\n else this.getNotifications();\r\n\r\n this.onverifynotification.emit({...this.notifications, VerifyCount: r.data});\r\n });\r\n }\r\n\r\n setNotificationStatus(read, access, remove) {\r\n if (this.notifications.Count == 0) return;\r\n\r\n this._dataService.post(this.notificationapi, { Id: '00000000-0000-0000-0000-000000000000', Acesso: access, Leitura: read, Exclusao: remove }, this.notificationpostmethod)\r\n .subscribe(r => this.notifications.Count = 0);\r\n }\r\n\r\n navigate(url: string) {\r\n this._router.navigate([url.replace('/#', '')]);\r\n }\r\n\r\n logout() {\r\n this._dialog.YesOrNo('DesejaRealmenteSair').subscribe(r => {\r\n if (r.button == InfoDialogButtons.Yes)\r\n this._authenticationService.logout();\r\n });\r\n }\r\n}","<nav>\r\n <ul *ngIf=\"menu\">\r\n <li *ngFor=\"let m of menu\" [ngClass]=\"{ 'active': menuAtivo == m.Title, 'disabled': !m.Enabled, 'opened': openSubmenu == m.Title }\">\r\n <a *ngIf=\"m.Sub == null\" [routerLink]=\"m.Routing\" (click)=\"access(m.Title)\" >{{ m.Title | translate }} </a>\r\n\r\n <ng-container *ngIf=\"m.Sub != null\">\r\n <a (click)=\"toggleSubmenu(m.Title)\" >{{ m.Title | translate }} </a>\r\n\r\n <div class=\"sub-menu\">\r\n <ul>\r\n <li *ngFor=\"let s of m.Sub\">\r\n <a [routerLink]=\"s.Routing\" (click)=\"changeSidebar();access(m.Title);\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n</nav>","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2 } from '@angular/core';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoAuthenticationService } from '../../service/authentication.service';\r\nimport { InfoLastSearchModel } from '../../model/last-search.model';\r\nimport { InfoSessionModel } from '../../model/session.model';\r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'info-topmenu',\r\n templateUrl: './topmenu.component.html',\r\n styleUrls: ['./topmenu.component.scss']\r\n})\r\nexport class InfoTopMenuComponent implements OnInit {\r\n \r\n @Input() api: any = null;\r\n @Input() method: string = 'GetMenu';\r\n @Output() onchangestate = new EventEmitter();\r\n\r\n loading: boolean = false;\r\n menu: any = [];\r\n openSubmenu: string = '';\r\n menuAtivo: string = 'Dashboard';\r\n\r\n constructor(private _dataAcessService: InfoDataService, private _authentication: InfoAuthenticationService, \r\n private _lastSearch: InfoLastSearchModel, private _router: Router, \r\n public _session: InfoSessionModel, public _platform: InfoPlatformModel,\r\n private _renderer: Renderer2, private _element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n if (!this._authentication.isLogged() || this.api == null)\r\n return;\r\n\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n this.loading = true;\r\n\r\n this._dataAcessService\r\n .get(this.api, this.method)\r\n .subscribe(r => {\r\n if (r.success){\r\n this.menu = r.data;\r\n this._platform.Menu = r.data;\r\n this._authentication.definePaginaAtiva(this._router.url);\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n toggle(e: Event, menuItem: any) {\r\n\r\n e.preventDefault();\r\n\r\n if (!menuItem.Enabled)\r\n return;\r\n\r\n if (!menuItem.Active)\r\n for (let i = 0; i < this.menu.length; i++)\r\n this.menu[i].Active = false;\r\n\r\n menuItem.Active = !menuItem.Active;\r\n }\r\n\r\n access(menu: string){\r\n this.menuAtivo = menu;\r\n this.openSubmenu = '';\r\n \r\n this.resetLastSearch();\r\n }\r\n\r\n toggleSubmenu(menu) {\r\n this.openSubmenu = this.openSubmenu == menu ? '' : menu;\r\n }\r\n\r\n resetLastSearch(){\r\n this._lastSearch.model = null;\r\n this._lastSearch.url = '';\r\n }\r\n\r\n changeSidebar() {\r\n this.onchangestate.emit();\r\n }\r\n}","<div class=\"site-container\" [ngClass]=\"{ 'open-sidebar': opened }\">\r\n \r\n <info-topbar #topbar\r\n [themes]=\"themes\" \r\n [languages]=\"languages\" \r\n [profileurl]=\"profileurl\"\r\n [notificationapi]=\"notificationapi\" \r\n [notificationgetmethod]=\"notificationgetmethod\" \r\n [notificationpostmethod]=\"notificationpostmethod\"\r\n [notificationverifymethod]=\"notificationverifymethod\"\r\n [notificationverifyenabled]=\"notificationverifyenabled\"\r\n [fastsearchform]=\"fastsearchform\"\r\n [fastsearchformwidth]=\"fastsearchformwidth\"\r\n [fastsearchtitle]=\"fastsearchtitle\"\r\n [setthemeonchangecompany]=\"setthemeonchangecompany\"\r\n (onchangestate)=\"onChangeTopBarState()\"\r\n (ongetnotification)=\"onGetNotificationsTopBar($event)\"\r\n (onverifynotification)=\"onVerifyNotificationsTopBar($event)\"\r\n [enabledia]=\"enabledia\">\r\n <ng-content select=\"[infoia]\"></ng-content>\r\n </info-topbar>\r\n \r\n <info-topmenu *ngIf=\"_platform.Config.topMenu\"\r\n [api]=\"menuapi\" \r\n [method]=\"menumethod\" \r\n (onchangestate)=\"onChangeSideBarState()\">\r\n </info-topmenu>\r\n\r\n <info-sidebar #sidebar *ngIf=\"!_platform.Config.topMenu\"\r\n [api]=\"menuapi\" \r\n [method]=\"menumethod\" \r\n [activemenubyurl]=\"activemenubyurl\"\r\n (onchangestate)=\"onChangeSideBarState()\">\r\n </info-sidebar>\r\n\r\n <main class=\"main-content\">\r\n <div class=\"main-content-wrap\">\r\n <ng-content select=\"[main]\" *ngIf=\"ready\"></ng-content>\r\n </div>\r\n\r\n <div class=\"footer row\">\r\n <div class=\"copyright col-9\">{{ 'Copyright' | translate}}</div>\r\n <div class=\"version col-3\" *ngIf=\"version\">{{ 'Versao' | translate}} {{ version }}</div>\r\n </div>\r\n \r\n <info-alert [messages]=\"messages\"></info-alert>\r\n </main>\r\n</div>","import { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, Renderer2, ViewChild } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\nimport { InfoPlatformModel } from \"../../model/platform.model\";\r\nimport { InfoSessionModel } from \"../../model/session.model\";\r\nimport { InfoThemeService } from '../../service/theme.service';\r\nimport { InfoTopbarComponent } from \"../topbar/topbar.component\";\r\nimport { InfoSidebarComponent } from \"../sidebar/sidebar.component\";\r\nimport { Utilities } from \"../../utils/utilities\";\r\n\r\n@Component({\r\n selector: 'info-main',\r\n templateUrl: 'main.component.html',\r\n styleUrls: ['main.component.scss']\r\n})\r\nexport class InfoMainComponent implements OnInit {\r\n\r\n @Input() opened: boolean = false;\r\n @Input() version: string = null;\r\n @Input() messages: any[] = [];\r\n @Input() enabledia: boolean = false;\r\n private _themes: any = [];\r\n\r\n protected ready: boolean = false;\r\n\r\n @Input() get themes() { return this._themes; }\r\n set themes(value) {\r\n this._themes = value;\r\n this._platform.Themes = this.themes;\r\n\r\n if (this._session.TemaId > 0 && this.setthemeonchangecompany)\r\n this._themeService.setThemeByLoggedCompany();\r\n }\r\n\r\n @Input() languages: any = [];\r\n @Input() profileurl: string = '';\r\n @Input() loginurl: string = 'login';\r\n\r\n @Input() menuapi: any = null;\r\n @Input() menumethod: string = 'GetMenu';\r\n @Input() activemenubyurl: boolean = false;\r\n\r\n @Input() loggeduserapi: any = null;\r\n @Input() loggedusermethod: string = 'GetLoggedUser';\r\n\r\n @Input() notificationapi: any = null;\r\n @Input() notificationgetmethod: string = 'Get';\r\n @Input() notificationpostmethod: string = 'PostNotification';\r\n @Input() notificationverifymethod: string = 'Verify';\r\n @Input() notificationverifyenabled: boolean = true;\r\n \r\n @Input() fastsearchform: any = null;\r\n @Input() fastsearchformwidth: number = 1200;\r\n @Input() fastsearchtitle: string = 'PesquisaRapidaCarteira';\r\n \r\n @Input() setthemeonchangecompany: boolean = false;\r\n\r\n @Input() shortcutapi: any = null;\r\n\r\n @Output() ongetnotification = new EventEmitter();\r\n @Output() onverifynotification = new EventEmitter();\r\n\r\n @ViewChild('topbar') topbar: InfoTopbarComponent;\r\n @ViewChild('sidebar') sidebar: InfoSidebarComponent;\r\n\r\n constructor(public _platform: InfoPlatformModel, \r\n private _session: InfoSessionModel, \r\n private _router: Router, \r\n private _dataAccessService: InfoDataService, \r\n private _themeService: InfoThemeService,\r\n private _renderer: Renderer2,\r\n private _element: ElementRef, \r\n private _utilities: Utilities) { }\r\n\r\n ngOnInit() {\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n \r\n if (this._platform.Config.topMenu)\r\n this._renderer.addClass(this._element.nativeElement, 'topmenu');\r\n\r\n this._platform.Themes = this.themes;\r\n this._platform.ShortcutApi = this.shortcutapi;\r\n\r\n if (this._utilities.getLocalStorage(this._platform.TokenKey) == null)\r\n this._router.navigateByUrl(this.loginurl);\r\n\r\n else this.getLoggedUser();\r\n\r\n if (document.body.classList.length > 0){\r\n let theme = document.body.classList[0];\r\n \r\n if (document.body.classList[0].indexOf('-theme') < 0 && this._platform.Config.theme != null)\r\n theme = '_' + this._platform.Config.theme + '-theme';\r\n \r\n this._themeService.setTheme(theme);\r\n }\r\n }\r\n\r\n onChangeTopBarState() {\r\n this.opened = !this.opened;\r\n }\r\n\r\n onChangeSideBarState(){\r\n this.topbar.openSidebar();\r\n }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n public onClick(targetElement) { \r\n if (this.opened &&\r\n !this.sidebar._element.nativeElement.contains(targetElement) &&\r\n !this.topbar._element.nativeElement.contains(targetElement))\r\n this.onChangeSideBarState();\r\n }\r\n\r\n getLoggedUser() {\r\n var cSession = this._utilities.getLocalStorage(this._platform.SessionKey);\r\n if (cSession != null)\r\n Object.assign(this._session, JSON.parse(cSession));\r\n\r\n if (this._session.UsuarioId != null || this.loggeduserapi == null) {\r\n this.ready = true;\r\n return;\r\n }\r\n\r\n this._dataAccessService.get(this.loggeduserapi, this.loggedusermethod).subscribe(r => {\r\n if (r.success) {\r\n if (r.data.UsuarioId == null) {\r\n this._router.navigateByUrl('permission');\r\n return;\r\n };\r\n\r\n this._session.UsuarioId = r.data.UsuarioId;\r\n this._session.Usuario = r.data.Usuario;\r\n this._session.Login = r.data.Login;\r\n this._session.Email = r.data.Email;\r\n this._session.Perfil = r.data.Perfil;\r\n this._session.EmpresaId = r.data.EmpresaId;\r\n this._session.UnidadeId = r.data.UnidadeId;\r\n this._session.TemaId = r.data.TemaId;\r\n this._session.TemaCorBase = r.data.TemaCorBase;\r\n this._session.Empresa = r.data.Empresa;\r\n this._session.Unidade = r.data.Unidade;\r\n this._session.UltimoAcesso = r.data.UltimoAcesso;\r\n this._session.Master = r.data.Master;\r\n this._session.Clone = r.data.Clone;\r\n this._session.DataMovimentacao = r.data.DataMovimentacao;\r\n this._session.OcultarNomeCliente = r.data.OcultarNomeCliente;\r\n this._session.Empresas = r.data.Empresas;\r\n this._session.Unidades = r.data.Unidades;\r\n this._session.Parametros = r.data.Parametros;\r\n this._session.MFA = r.data.MFA;\r\n this._session.TempoInatividade = r.data.TempoInatividade;\r\n this._session.Versao = r.data.Versao;\r\n this.version = r.data.Versao;\r\n\r\n if (this._session.Parametros.some(p => p.Chave == 'DisclaimerGeral'))\r\n this.messages.push(this._session.Parametros.find(p => p.Chave == 'DisclaimerGeral').Valor);\r\n\r\n if (this._session.TemaId != null)\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n this.ready = true;\r\n }\r\n });\r\n }\r\n\r\n onGetNotificationsTopBar(event) {\r\n this.ongetnotification.emit(event);\r\n }\r\n\r\n onVerifyNotificationsTopBar(event) {\r\n this.onverifynotification.emit(event);\r\n }\r\n}","<div class=\"search-buttons\" *ngIf=\"enabledAction\">\r\n <span>\r\n <ng-content select=\"[actions]\"></ng-content>\r\n </span>\r\n \r\n <span class=\"actions-aux\">\r\n <ng-content select=\"[actions-aux]\"></ng-content>\r\n <button mat-button type=\"button\" (click)=\"open()\" [disabled]=\"disabled\" *ngIf=\"buttonAction != ''\">\r\n <mat-icon>{{ buttonActionIcon }}</mat-icon>{{ buttonAction | translate }}\r\n </button>\r\n </span>\r\n</div>\r\n\r\n<div class=\"modal-filter\" [ngClass]=\"{ 'show': opened }\" >\r\n <section>\r\n <mat-icon class=\"close\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ title | translate }}</h4>\r\n \r\n <form autocomplete=\"off\" #formSearch=\"ngForm\" (ngSubmit)=\"search()\" [ngClass]=\"{ 'expand-area': !enabledButtons }\">\r\n <div class=\"row\">\r\n <ng-content select=\"[fields]\"></ng-content>\r\n </div>\r\n </form>\r\n \r\n <div class=\"buttons\" *ngIf=\"enabledButtons\">\r\n <button mat-button class=\"mat-warn\" type=\"button\" (click)=\"cancel()\" *ngIf=\"buttonCancel && buttonCancel != ''\" >\r\n <mat-icon>close</mat-icon>\r\n {{ buttonCancel | translate}}\r\n </button>\r\n \r\n <button mat-button type=\"button\" (click)=\"search()\" *ngIf=\"buttonFilter && buttonFilter != ''\" >\r\n <mat-icon>filter_alt</mat-icon>\r\n {{ buttonFilter | translate}}\r\n </button>\r\n </div>\r\n </section>\r\n\r\n <div class=\"overlay\" (click)=\"close()\"></div>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-filter',\r\n templateUrl: './filter.component.html',\r\n styleUrls: ['./filter.component.scss']\r\n})\r\nexport class InfoFilterComponent {\r\n \r\n @Input() disabled: boolean = false;\r\n @Input() opened: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() title: string = 'Filtrar';\r\n @Input() enabledAction: boolean = true;\r\n @Input() enabledButtons: boolean = true;\r\n \r\n @Input() buttonAction: string = 'Filtrar';\r\n @Input() buttonActionIcon: string = 'filter_alt';\r\n @Input() buttonCancel: string = 'Cancelar';\r\n @Input() buttonFilter: string = 'Filtrar';\r\n\r\n @Output() oncancel = new EventEmitter();\r\n @Output() onclose = new EventEmitter();\r\n @Output() onsearch = new EventEmitter();\r\n\r\n constructor(){ }\r\n\r\n search() {\r\n this.onsearch.emit(null);\r\n this.close();\r\n }\r\n\r\n cancel(){\r\n this.oncancel.emit(null);\r\n this.close();\r\n }\r\n\r\n open(){\r\n this.opened = true;\r\n }\r\n\r\n close(){\r\n this.opened = false;\r\n this.onclose.emit(null);\r\n }\r\n}","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'info-loading',\r\n template: `\r\n <section class=\"loading-bar\">\r\n <mat-progress-bar [color]=\"color\" [mode]=\"mode\" *ngIf=\"enabled\" >\r\n </mat-progress-bar>\r\n </section>\r\n `,\r\n styles: [`\r\n .loading-bar { height: 1px; }\r\n .loading-bar .mat-progress-bar { height: 1px; margin: 0; }\r\n `]\r\n})\r\nexport class InfoLoadingComponent{\r\n\r\n @Input() enabled: boolean = false;\r\n @Input() mode: string = 'indeterminate';\r\n @Input() color: string = 'primary';\r\n\r\n}","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\n\r\nimport { InfoTranslatePipe } from './pipe/translate.pipe';\r\nimport { InfoMaskPipe } from './pipe/mask.pipe';\r\nimport { InfoMaskDirective } from './directives/mask.directive';\r\nimport { InfoUnmaskDirective } from './directives/unmask.directive';\r\nimport { Utilities } from './utils/utilities';\r\n\r\n// Controls\r\nimport { InfoAlertComponent } from './controls/alert/alert.component';\r\nimport { InfoAutoCompleteComponent } from './controls/autocomplete/autocomplete.component';\r\nimport { InfoBigCheckboxComponent } from './controls/big-checkbox/big-checkbox.component';\r\nimport { InfoCardComponent } from './controls/card/card.component';\r\nimport { InfoMenuCardComponent } from './controls/card-menu/card-menu.component';\r\nimport { InfoCheckboxComponent } from './controls/checkbox/checkbox.component';\r\nimport { InfoDateComponent } from './controls/date/date.component';\r\nimport { InfoDateMonthComponent } from './controls/date-month/date-month.component';\r\nimport { InfoGridComponent, InfoGridModalComponent } from './controls/grid/grid.component';\r\nimport { InfoInputComponent } from './controls/input/input.component';\r\nimport { InfoInputListComponent } from './controls/input-list/input-list.component';\r\nimport { InfoListCheckboxComponent } from './controls/list-checkbox/list-checkbox.component';\r\nimport { InfoMessageComponent } from './controls/message/message.component';\r\nimport { InfoPaginatorComponent } from './controls/paginator/paginator.component';\r\nimport { InfoSelectComponent } from './controls/select/select.component';\r\nimport { InfoTimelineComponent } from './controls/timeline/timeline.component';\r\nimport { InfoEditorComponent } from './controls/editor/editor.component';\r\nimport { InfoMultiSelectComponent } from './controls/multi-select/multi-select.component';\r\nimport { InfoChipsComponent } from './controls/chips/chips.component';\r\n\r\n// Layouts\r\nimport { InfoDialogComponent } from './layouts/dialog/dialog.component';\r\nimport { InfoLoadingComponent } from './layouts/loading/loading.component';\r\nimport { InfoMainComponent } from './layouts/main/main.component';\r\nimport { InfoModalComponent } from './layouts/modal/modal.component';\r\nimport { InfoPagebarComponent, AtalhoModalComponent } from './layouts/pagebar/pagebar.component';\r\nimport { InfoSidebarComponent } from './layouts/sidebar/sidebar.component';\r\nimport { InfoTopbarComponent } from './layouts/topbar/topbar.component';\r\nimport { RefreshSessionTimeModalComponent } from './service/authentication.service';\r\nimport { InfoTopMenuComponent } from './layouts/topmenu/topmenu.component';\r\nimport { InfoFilterComponent } from './layouts/filter/filter.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatListModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatRadioModule,\r\n MatButtonModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n MatDialogModule,\r\n MatProgressBarModule,\r\n MatAutocompleteModule,\r\n MatTooltipModule,\r\n RouterModule,\r\n CurrencyMaskModule,\r\n AngularEditorModule,\r\n MatChipsModule,\r\n ],\r\n declarations: [\r\n InfoTranslatePipe,\r\n InfoMaskPipe,\r\n InfoMaskDirective,\r\n InfoUnmaskDirective,\r\n InfoAlertComponent,\r\n InfoAutoCompleteComponent,\r\n InfoBigCheckboxComponent,\r\n InfoCardComponent,\r\n InfoMenuCardComponent,\r\n InfoCheckboxComponent,\r\n InfoDateComponent,\r\n InfoDateMonthComponent,\r\n InfoGridComponent,\r\n\t\tInfoGridModalComponent,\r\n\t\tInfoInputComponent,\r\n InfoInputListComponent,\r\n InfoListCheckboxComponent,\r\n InfoMessageComponent,\r\n InfoPaginatorComponent,\r\n InfoSelectComponent,\r\n InfoTimelineComponent,\r\n InfoEditorComponent,\r\n InfoMultiSelectComponent,\r\n InfoChipsComponent,\r\n InfoDialogComponent,\r\n InfoFilterComponent,\r\n InfoLoadingComponent,\r\n InfoMainComponent,\r\n InfoModalComponent,\r\n InfoPagebarComponent,\r\n InfoSidebarComponent,\r\n InfoTopbarComponent,\r\n InfoTopMenuComponent,\r\n AtalhoModalComponent,\r\n RefreshSessionTimeModalComponent,\r\n ],\r\n exports: [\r\n InfoTranslatePipe,\r\n InfoMaskPipe,\r\n InfoAlertComponent,\r\n InfoAutoCompleteComponent,\r\n InfoBigCheckboxComponent,\r\n InfoCardComponent,\r\n InfoMenuCardComponent,\r\n InfoCheckboxComponent,\r\n InfoDateComponent,\r\n InfoDateMonthComponent,\r\n InfoGridComponent,\r\n\t\tInfoGridModalComponent,\r\n\t\tInfoInputComponent,\r\n InfoInputListComponent,\r\n InfoListCheckboxComponent,\r\n InfoMessageComponent,\r\n InfoPaginatorComponent,\r\n InfoSelectComponent,\r\n InfoTimelineComponent,\r\n InfoEditorComponent,\r\n InfoMultiSelectComponent,\r\n InfoChipsComponent,\r\n InfoDialogComponent,\r\n InfoFilterComponent,\r\n InfoLoadingComponent,\r\n InfoMainComponent,\r\n InfoModalComponent,\r\n InfoPagebarComponent,\r\n InfoSidebarComponent,\r\n InfoTopbarComponent,\r\n InfoTopMenuComponent,\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA\r\n\t],\r\n providers: [\r\n Utilities\r\n\t]\r\n})\r\nexport class InfoLibraryModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.InfoPlatformModel","i1.InfoTranslateService","i2","i3.InfoPlatformModel","i4.Utilities","_c1","_c0","i1","i3.InfoSessionModel","i4.InfoPlatformModel","i5.InfoDataService","i6","i7.Utilities","i8.InfoTranslateService","i2.InfoPlatformModel","i3.InfoThemeService","i1.InfoDataService","_c2","i3.InfoDataService","i4.InfoTranslateService","i5.InfoPlatformModel","_c5","_c3","_c4","i1.InfoDialogModal","i3","i4.InfoFormPropModel","i7.InfoAuthenticationService","i9.InfoLastSearchModel","i2.InfoAuthenticationService","i4.InfoSessionModel","i6.InfoLastSearchModel","i7","i4.InfoThemeService","i5","i6.InfoDialogModal","i7.InfoSessionModel","i8.InfoPlatformModel","i9","i10.Utilities","i3.InfoLastSearchModel","i4","i5.InfoSessionModel","i6.InfoPlatformModel","i2.InfoSessionModel","i4.InfoDataService","i5.InfoThemeService","i6.Utilities"],"mappings":"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"}
1
+ {"version":3,"file":"info-library.mjs","sources":["../../../projects/info-library/src/global-config.ts","../../../projects/info-library/src/model/app-config.model.ts","../../../projects/info-library/src/model/data-access.model.ts","../../../projects/info-library/src/model/dialog-result.model.ts","../../../projects/info-library/src/model/dialog.model.ts","../../../projects/info-library/src/enum/page-action.enum.ts","../../../projects/info-library/src/enum/modal-action.enum.ts","../../../projects/info-library/src/model/form-prop.model.ts","../../../projects/info-library/src/model/grid-button.model.ts","../../../projects/info-library/src/model/method-grid-button.model.ts","../../../projects/info-library/src/model/last-search.model.ts","../../../projects/info-library/src/model/login.model.ts","../../../projects/info-library/src/model/pagebar-buttons.model.ts","../../../projects/info-library/src/model/permission.model.ts","../../../projects/info-library/src/model/platform.model.ts","../../../projects/info-library/src/model/session.model.ts","../../../projects/info-library/src/model/notification.model.ts","../../../projects/info-library/src/enum/dialog-buttons.enum.ts","../../../projects/info-library/src/service/translate.service.ts","../../../projects/info-library/src/pipe/translate.pipe.ts","../../../projects/info-library/src/pipe/mask.pipe.ts","../../../projects/info-library/src/utils/utilities.ts","../../../projects/info-library/src/service/data.service.ts","../../../projects/info-library/src/controls/alert/alert.component.ts","../../../projects/info-library/src/layouts/modal/modal.component.html","../../../projects/info-library/src/layouts/modal/modal.component.ts","../../../projects/info-library/src/service/authentication.service.ts","../../../projects/info-library/src/service/theme.service.ts","../../../projects/info-library/src/service/configuration.service.ts","../../../projects/info-library/src/controls/autocomplete/autocomplete.component.html","../../../projects/info-library/src/controls/autocomplete/autocomplete.component.ts","../../../projects/info-library/src/controls/big-checkbox/big-checkbox.component.html","../../../projects/info-library/src/controls/big-checkbox/big-checkbox.component.ts","../../../projects/info-library/src/controls/card/card.component.html","../../../projects/info-library/src/controls/card/card.component.ts","../../../projects/info-library/src/controls/card-menu/card-menu.component.html","../../../projects/info-library/src/controls/card-menu/card-menu.component.ts","../../../projects/info-library/src/controls/checkbox/checkbox.component.ts","../../../projects/info-library/src/controls/checkbox/checkbox.component.html","../../../projects/info-library/src/controls/date/date.component.html","../../../projects/info-library/src/controls/date/date.component.ts","../../../projects/info-library/src/controls/date-month/date-month.component.html","../../../projects/info-library/src/controls/date-month/date-month.component.ts","../../../projects/info-library/src/controls/message/message.component.html","../../../projects/info-library/src/controls/message/message.component.ts","../../../projects/info-library/src/layouts/dialog/dialog.component.html","../../../projects/info-library/src/layouts/dialog/dialog.component.ts","../../../projects/info-library/src/controls/paginator/paginator.component.html","../../../projects/info-library/src/controls/paginator/paginator.component.ts","../../../projects/info-library/src/directives/mask.directive.ts","../../../projects/info-library/src/directives/unmask.directive.ts","../../../projects/info-library/src/controls/input/input.component.html","../../../projects/info-library/src/controls/input/input.component.ts","../../../projects/info-library/src/layouts/pagebar/pagebar.component.html","../../../projects/info-library/src/layouts/pagebar/pagebar.component.ts","../../../projects/info-library/src/controls/grid/grid.component.html","../../../projects/info-library/src/controls/grid/grid.modal.html","../../../projects/info-library/src/controls/grid/grid.component.ts","../../../projects/info-library/src/controls/input-list/input-list.component.html","../../../projects/info-library/src/controls/input-list/input-list.component.ts","../../../projects/info-library/src/controls/list-checkbox/list-checkbox.component.html","../../../projects/info-library/src/controls/list-checkbox/list-checkbox.component.ts","../../../projects/info-library/src/controls/select/select.component.html","../../../projects/info-library/src/controls/select/select.component.ts","../../../projects/info-library/src/controls/timeline/timeline.component.html","../../../projects/info-library/src/controls/timeline/timeline.component.ts","../../../projects/info-library/src/controls/editor/editor.component.ts","../../../projects/info-library/src/controls/editor/editor.component.html","../../../projects/info-library/src/controls/multi-select/multi-select.component.html","../../../projects/info-library/src/controls/multi-select/multi-select.component.ts","../../../projects/info-library/src/controls/chips/chips.component.html","../../../projects/info-library/src/controls/chips/chips.component.ts","../../../projects/info-library/src/layouts/sidebar/sidebar.component.html","../../../projects/info-library/src/layouts/sidebar/sidebar.component.ts","../../../projects/info-library/src/layouts/topbar/topbar.component.html","../../../projects/info-library/src/layouts/topbar/topbar.component.ts","../../../projects/info-library/src/layouts/topmenu/topmenu.component.html","../../../projects/info-library/src/layouts/topmenu/topmenu.component.ts","../../../projects/info-library/src/layouts/main/main.component.html","../../../projects/info-library/src/layouts/main/main.component.ts","../../../projects/info-library/src/layouts/filter/filter.component.html","../../../projects/info-library/src/layouts/filter/filter.component.ts","../../../projects/info-library/src/layouts/loading/loading.component.ts","../../../projects/info-library/src/info-library.module.ts","../../../projects/info-library/src/info-library.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\r\n\r\nexport const DICTIONARIES_CONFIG = new InjectionToken<any>('DICTIONARIES_CONFIG');\r\nexport const APICONTROLLER_CONFIG = new InjectionToken<any>('APICONTROLLER_CONFIG');","export class InfoAppConfigModel {\r\n production: boolean = false;\r\n webapiUrl: string = '';\r\n processingUrl: string = '';\r\n theme: string = '';\r\n dictionary: string = '';\r\n ux: Number = 2;\r\n style: string = '';\r\n topMenu: boolean = false;\r\n enabledPrime: boolean = false;\r\n title: string = '';\r\n headers: any = [];\r\n}","export class InfoDataAccessModel {\r\n \r\n success: boolean;\r\n messages: string[] = [];\r\n name: string = null;\r\n description: string = null;\r\n data: any;\r\n total: number = 0;\r\n parentId: number = null;\r\n referenceGuid: string = null;\r\n external = false;\r\n\r\n constructor(data: any, success?: boolean, messages?: string[]) {\r\n\r\n if (data != null) {\r\n if (data.Name != null && data.Name != \"\")\r\n this.name = data.Name\r\n\r\n if (data.Description != null && data.Description != \"\")\r\n this.description = data.Description;\r\n\r\n if (data.Total != null)\r\n this.total = data.Total;\r\n \r\n if (data.Success != null)\r\n success = data.Success;\r\n\r\n if (data.Messages)\r\n messages = data.Messages;\r\n\r\n if (data.ParentId != null)\r\n this.parentId = data.ParentId;\r\n\r\n if (data.ReferenceGuid != null)\r\n this.referenceGuid = data.ReferenceGuid;\r\n \r\n if (data.External != null)\r\n this.external = data.External;\r\n\r\n this.data = data.Data;\r\n }\r\n \r\n this.success = success == null ? true : success;\r\n this.messages = messages;\r\n\r\n if (this.messages == null || this.messages.length == 0)\r\n this.messages = new Array();\r\n }\r\n}","import { InfoDialogButtons } from \"../enum/dialog-buttons.enum\";\r\n\r\nexport class InfoDialogResult {\r\n data?: any = null;\r\n button: InfoDialogButtons;\r\n\r\n constructor(button: InfoDialogButtons);\r\n constructor(button: InfoDialogButtons, data?: any) {\r\n this.button = button;\r\n this.data = data;\r\n }\r\n}","export class InfoDialogModel {\r\n\r\n yesOrNo: boolean = false\r\n title: string\r\n message: string = ''\r\n width: number = 450;\r\n\r\n labelOk: string = 'Ok'\r\n labelCancel: string = 'Cancelar'\r\n labelAux: string = null\r\n\r\n colorOk: string = ''\r\n colorCancel: string = ''\r\n colorAux: string = ''\r\n\r\n processingMode: boolean = false;\r\n\r\n disableButtonCancel: boolean = false;\r\n}","export enum InfoPageAction {\r\n None = -1,\r\n\r\n View = 0,\r\n New = 1,\r\n Edit = 2,\r\n Delete = 3,\r\n Search = 4,\r\n}","export enum InfoModalAction {\r\n None,\r\n Ok,\r\n Yes,\r\n No,\r\n Cancel,\r\n Save,\r\n Special,\r\n Aux\r\n}","import { InfoPageAction } from \"../enum/page-action.enum\";\r\nimport { InfoModalAction } from \"../enum/modal-action.enum\";\r\n\r\nexport class InfoFormPropModel {\r\n\r\n title: string;\r\n readonly: boolean;\r\n data: any;\r\n pageAction: InfoPageAction;\r\n modalAction: InfoModalAction = InfoModalAction.None;\r\n modalComponent: any = null;\r\n api: any = null;\r\n\r\n set(pageAction: InfoPageAction, data: any) {\r\n\r\n this.data = data;\r\n this.readonly = pageAction == InfoPageAction.View;\r\n this.pageAction = pageAction;\r\n\r\n switch (pageAction) {\r\n\r\n case InfoPageAction.New:\r\n this.title = 'Novo';\r\n break;\r\n\r\n case InfoPageAction.Search:\r\n this.title = 'Pesquisar';\r\n break;\r\n\r\n case InfoPageAction.View:\r\n this.title = 'Visualizar';\r\n break;\r\n\r\n case InfoPageAction.Edit:\r\n this.title = 'Editar';\r\n break;\r\n\r\n case InfoPageAction.Delete:\r\n this.title = 'Remover';\r\n break;\r\n\r\n default:\r\n this.title = '';\r\n break;\r\n }\r\n }\r\n}","export class InfoGridButtonModel {\r\n \r\n label: string;\r\n passId: boolean;\r\n icon: string;\r\n navigateTo: string;\r\n modalComponent: any = null;\r\n widthModalComponent: Number = 500;\r\n api: any = null;\r\n method: string = null;\r\n showOnlyClass: string = null;\r\n disabledField: string = null;\r\n confirm: boolean;\r\n\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number, api: any, method: string);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number, api: any, method: string, disabledField: string);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number, api: any, method: string, disabledField: string, confirm: boolean);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function = null, widthModalComponent: Number = null, api: any = null, method: string = null, disabledField: string = null, confirm: boolean = true) {\r\n this.label = label;\r\n this.passId = passId;\r\n this.icon = icon;\r\n this.navigateTo = navigateTo;\r\n \r\n this.modalComponent = modalComponent;\r\n this.widthModalComponent = widthModalComponent;\r\n\r\n this.api = api;\r\n this.method = method;\r\n this.disabledField = disabledField;\r\n this.confirm = confirm;\r\n }\r\n}","export class InfoMethodGridButtonModel {\r\n \r\n label: string;\r\n icon: string;\r\n method: () => any = null;\r\n\r\n constructor(label: string, icon: string, method: () => any)\r\n {\r\n this.label = label;\r\n this.icon = icon;\r\n this.method = method;\r\n }\r\n}","export class InfoLastSearchModel {\r\n url: string = '';\r\n model: any = null;\r\n index: number = 0;\r\n enabledSearch: boolean = false;\r\n}","export class InfoLoginModel {\r\n\r\n success: boolean = false;\r\n messages: string;\r\n data: any;\r\n\r\n constructor(success: boolean, messages: string, data?: any) {\r\n this.success = success;\r\n this.messages = messages;\r\n this.data = data;\r\n }\r\n}","export class InfoPagebarButtonModel {\r\n label: string = '';\r\n url: string = '';\r\n icon: string = '';\r\n modal: any = null;\r\n modalwidth: number = 700;\r\n\r\n constructor(label: string, url: string);\r\n constructor(label: string, url: string, icon: string);\r\n constructor(label: string, url: string, icon: string, modal: any, modalwidth: number);\r\n constructor(label: string, url: string, icon: string = 'chevron_right', modal: any = null, modalwidth: number = 700){\r\n this.label = label;\r\n this.url = url;\r\n this.icon = icon;\r\n this.modal = modal;\r\n this.modalwidth = modalwidth;\r\n }\r\n}","export class InfoPermissionModel {\r\n Acesso: boolean;\r\n URL: string;\r\n ChaveFuncionalidade: string;\r\n}","import { InfoAppConfigModel } from \"./app-config.model\";\r\n\r\nexport class InfoPlatformModel {\r\n\r\n TokenKey: string = 'tk';\r\n SessionKey: string = 'ss';\r\n \r\n ConfigIsNull: boolean = true;\r\n Themes: any = [];\r\n Config: InfoAppConfigModel = new InfoAppConfigModel();\r\n\r\n PaginaAtiva: any;\r\n UnificarTopbar: boolean = true;\r\n MenuMin: boolean = false;\r\n ModoPrime: boolean = false;\r\n PaginaLimpa: boolean = false;\r\n\r\n Menu: any = [];\r\n\r\n ShortcutApi: any = null;\r\n\r\n public setConfig(config: InfoAppConfigModel) {\r\n this.Config = config;\r\n this.ConfigIsNull = false;\r\n }\r\n}","import { InfoPermissionModel } from \"./permission.model\";\r\n\r\nexport class InfoSessionModel {\r\n UsuarioId: number;\r\n Usuario: string;\r\n Login: string;\r\n Email: string;\r\n Perfil: string;\r\n EmpresaId: number;\r\n UnidadeId: number;\r\n TemaId: number;\r\n TemaCorBase: string;\r\n Empresa: string;\r\n Unidade: string;\r\n UltimoAcesso: Date;\r\n Master: boolean;\r\n Versao: string;\r\n Clone: boolean;\r\n DataMovimentacao: Date;\r\n OcultarNomeCliente: boolean;\r\n Permissoes: InfoPermissionModel[] = [];\r\n Empresas: any[] = [];\r\n Unidades: any[] = [];\r\n Parametros: any[] = null;\r\n MFA: boolean;\r\n TempoInatividade: number;\r\n}","export class InfoNotificationModel {\r\n Count: number = 0;\r\n Itens: InfoNotificationItemModel[] = [];\r\n}\r\n\r\nexport class InfoNotificationItemModel {\r\n Id: number;\r\n Icon: string;\r\n Description: string;\r\n Url: string;\r\n Date: string;\r\n Viewed: boolean;\r\n}","export enum InfoDialogButtons {\r\n Ok,\r\n Cancel,\r\n Yes,\r\n No,\r\n Aux\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { DICTIONARIES_CONFIG } from \"../global-config\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoTranslateService {\r\n private _currentLang: string;\r\n private _key: string = 'currentLang';\r\n\r\n public get currentLang() {\r\n return this._currentLang;\r\n }\r\n\r\n constructor(@Inject(DICTIONARIES_CONFIG) private _translations: any, private _plataforma: InfoPlatformModel) {\r\n \r\n let lang = sessionStorage.getItem(this._key) || localStorage.getItem(this._key);\r\n if (lang == null)\r\n this._currentLang = 'pt-br';\r\n else this._currentLang = lang;\r\n }\r\n\r\n public set(lang: string): void {\r\n this._currentLang = lang;\r\n localStorage.setItem(this._key, lang);\r\n sessionStorage.setItem(this._key, lang);\r\n }\r\n\r\n public translate(key: string): string {\r\n let translation = key;\r\n\r\n if (this._translations[this.currentLang] && this._translations[this.currentLang].Values && this._translations[this.currentLang].Values[key]) {\r\n translation = (this._translations[this.currentLang].Values[this._plataforma.Config.dictionary] || {})[key] || this._translations[this.currentLang].Values[key];\r\n if (typeof translation != 'string')\r\n translation = key;\r\n }\r\n\r\n return translation;\r\n }\r\n\r\n public getCalendar(): any {\r\n if (this._translations[this.currentLang] && this._translations[this.currentLang].Calendar) {\r\n return this._translations[this.currentLang].Calendar;\r\n }\r\n }\r\n\r\n public instant(key: string) {\r\n return this.translate(key);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { InfoTranslateService } from '../service/translate.service';\r\n\r\n@Pipe({\r\n name: 'translate',\r\n pure: false\r\n})\r\nexport class InfoTranslatePipe implements PipeTransform {\r\n\r\n constructor(private _translate: InfoTranslateService) { }\r\n\r\n transform(value: string, args?: any): any {\r\n if (!value) \r\n return;\r\n\r\n if (args === false)\r\n return value;\r\n\r\n return this._translate.instant(value);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport emailMask from 'text-mask-addons/dist/emailMask';\r\nimport { conformToMask } from \"text-mask-core/dist/textMaskCore\";\r\n\r\n@Pipe({\r\n name: 'mask',\r\n pure: false\r\n})\r\nexport class InfoMaskPipe implements PipeTransform {\r\n\r\n constructor( ) { }\r\n\r\n transform(value: string, args?: any): any {\r\n if (!value) return;\r\n\r\n let mask = [];\r\n let upperCase = true;\r\n\r\n if (args == 'phone')\r\n mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]; \r\n else if (args == 'cel')\r\n mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n else if (args == 'cep')\r\n mask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/];\r\n else if (args == 'cpf')\r\n mask = [/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'-',/\\d/,/\\d/];\r\n else if (args == 'cnpj')\r\n mask = [/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'/',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'-',/\\d/,/\\d/];\r\n else {\r\n mask = Array.from(args).map(c => c == '0' ? /\\d/ : c);\r\n upperCase = false;\r\n }\r\n\r\n let maskedValue = conformToMask(value, mask, {guide: false}).conformedValue;\r\n \r\n return upperCase ? maskedValue.toUpperCase : maskedValue;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\n\r\n@Injectable()\r\nexport class Utilities {\r\n getGuid() : string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n const r = Math.random() * 16 | 0, v = c === 'x' ? r : ( r & 0x3 | 0x8 );\r\n return v.toString(16);\r\n });\r\n }\r\n \r\n getGuidEmpty() : string {\r\n return '00000000-0000-0000-0000-000000000000';\r\n }\r\n\r\n isGuid(value) : boolean {\r\n return (\"\" + value).match('^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$') !== null;\r\n }\r\n\r\n base64ToArrayBuffer(base64): any {\r\n var binaryString = window.atob(base64);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n return bytes;\r\n }\r\n \r\n jsonToEncrypt(object): any {\r\n return this.criptografar(unescape(JSON.stringify(object)));\r\n }\r\n \r\n decryptToJson(value) {\r\n return JSON.parse(this.descriptografar(value));\r\n }\r\n\r\n openOrDownload(title, blob) {\r\n let fileURL = URL.createObjectURL(blob);\r\n \r\n if (title.indexOf(\"pdf\") > -1)\r\n window.open(fileURL, title);\r\n else {\r\n let elementA: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;\r\n elementA.href = fileURL;\r\n elementA.download = title;\r\n document.body.appendChild(elementA);\r\n elementA.click(); \r\n document.body.removeChild(elementA);\r\n }\r\n }\r\n\r\n removerAcentos(val: string) : string {\r\n if (val == null)\r\n return '';\r\n var normalizeFunction = String.prototype.normalize ? (str) => str.normalize('NFD') : (str) => str;\r\n return normalizeFunction(val).replace(/[\\u0300-\\u036f]/g, \"\")\r\n }\r\n\r\n getFormatos(): any[] {\r\n return [ { Id: \"EXCEL\", Nome: \"Excel\", MimeType: \"application/vnd.ms-excel\", Extensao: \"xls\" },\r\n { Id: \"PDF\", Nome: \"PDF\", MimeType: \"application/pdf\", Extensao: \"pdf\" } ];\r\n }\r\n\r\n getFormatosExcel(): any[] {\r\n return [ { Id: 'PP', Nome: 'Excel Português com Separador Decimal [.]' },\r\n { Id: 'PV', Nome: 'Excel Português com Separador Decimal [,]' },\r\n { Id: 'IP', Nome: 'Excel Inglês com Separador Decimal [.]' },\r\n { Id: 'IV', Nome: 'Excel Inglês com Separador Decimal [,]' } ];\r\n }\r\n\r\n getStatus(): any[] {\r\n return [ { Id: \"A\", Nome: \"Ativo\" },\r\n { Id: \"P\", Nome: \"Pendente\" } ];\r\n }\r\n\r\n getStatusCompleto(): any[] {\r\n return [ { Id: \"C\", Nome: \"Cadastrado\", Selecionado: true },\r\n { Id: \"F\", Nome: \"Feito\", Selecionado: false },\r\n { Id: \"O\", Nome: \"Conferido\", Selecionado: true },\r\n { Id: \"R\", Nome: \"Rejeitado\", Selecionado: false },\r\n { Id: \"I\", Nome: \"Inativo\", Selecionado: false } ];\r\n }\r\n\r\n getStatusProcessamento(): any[] {\r\n return [ { Id: \"A\", Nome: \"AguardandoProcessamento\" },\r\n { Id: \"E\", Nome: \"EmProcessamento\" },\r\n { Id: \"P\", Nome: \"Processado\" },\r\n { Id: \"I\", Nome: \"Inativo\" },\r\n { Id: \"Z\", Nome: \"Erro\" } ];\r\n }\r\n\r\n getFormatoIdiomas(): any[] {\r\n return [ { Id: \"en\", Nome: \"English\" },\r\n { Id: \"pt-BR\", Nome: \"Português\" } ];\r\n }\r\n\r\n getGeneros(): any[] {\r\n return [ { Id: 'M', Nome: 'Masculino' },\r\n { Id: 'F', Nome: 'Feminino' } ];\r\n }\r\n\r\n getTiposEvidencia(): any[] {\r\n return [ { Id: 1, Nome: 'Telefone'},\r\n { Id: 2, Nome: 'Email'},\r\n {Id: 3, Nome: 'Documento'} ];\r\n }\r\n\r\n getOrdens(): any[] {\r\n return [ {Id: \"nome-asc\", Nome: \"NomeCrescente\"},\r\n {Id: \"nome-desc\", Nome: \"NomeDecrescente\"},\r\n {Id: \"valor-asc\", Nome: \"ValorCrescente\"},\r\n {Id: \"valor-desc\", Nome: \"ValorDecrescente\"} ];\r\n }\r\n\r\n validarEmail(form, value, control) {\r\n if (!value)\r\n return;\r\n \r\n let pattern = /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/;\r\n let emails: string[] = value.split(';');\r\n let invalido = emails.some(email => email && !pattern.test(email.trim()));\r\n\r\n if (invalido)\r\n form.form.controls[control].setErrors( { 'invalid': true } );\r\n }\r\n\r\n setLocalStorage(key: string, value: any) {\r\n localStorage.setItem(key, this.criptografar(value));\r\n }\r\n\r\n getLocalStorage(key: string): any {\r\n var data = this.descriptografar(localStorage.getItem(key));\r\n if (data == null || data == '') return null;\r\n return data;\r\n }\r\n\r\n isIE() {\r\n var userAgent = navigator.userAgent;\r\n return userAgent.indexOf(\"MSIE \") > -1 || userAgent.indexOf(\"Trident/\") > -1;\r\n }\r\n\r\n retornaTexto(texto) {\r\n var div = document.createElement(\"div\")\r\n div.innerHTML = texto;\r\n return div.innerText || div.textContent;\r\n }\r\n \r\n private key = CryptoJS.enc.Utf8.parse(\"GKxLtQg2atgjkrer\");\r\n private iv = CryptoJS.enc.Utf8.parse(\"e0Wg6l5GNdg29dvc\");\r\n\r\n criptografar(texto) {\r\n try {\r\n return CryptoJS.AES.encrypt(texto, this.key, {\r\n iv: this.iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n }).toString();\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n \r\n descriptografar(texto) {\r\n try {\r\n return CryptoJS.AES.decrypt(texto, this.key, {\r\n iv: this.iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7\r\n }).toString(CryptoJS.enc.Utf8);\r\n } catch (e) {\r\n return null;\r\n }\r\n } \r\n}\r\n\r\nexport abstract class StaticUtils {\r\n \r\n static validarCnpj(cnpj: string): boolean {\r\n const cnpjOriginal = (cnpj || '');\r\n cnpj = cnpjOriginal.toUpperCase().slice(0, 12);\r\n cnpj = cnpj + this.getDigito(this.getSomaCnpj(cnpj));\r\n cnpj = cnpj + this.getDigito(this.getSomaCnpj(cnpj));\r\n \r\n return cnpjOriginal == cnpj;\r\n }\r\n\r\n static validarCpf(cpf: string) {\r\n const cpfOriginal = (cpf || '');\r\n cpf = cpfOriginal.toUpperCase().slice(0, 9);\r\n cpf = cpf + this.getDigito(this.getSomaCpf(cpf));\r\n cpf = cpf + this.getDigito(this.getSomaCpf(cpf));\r\n\r\n return cpfOriginal == cpf;\r\n }\r\n \r\n private static getDigito(soma: number) {\r\n return (soma % 11) <= 1 ? 0 : (11 - (soma % 11));\r\n }\r\n \r\n private static getSomaCnpj(cnpj: string) {\r\n const peso = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n if (cnpj.length == 12) peso.shift();\r\n \r\n return Array.from(cnpj)\r\n .map((c, i) => (isNaN(Number(c)) ? c.charCodeAt(0) - 48 : Number(c)) * peso[i])\r\n .reduce((a, b) => a + b, 0);\r\n }\r\n\r\n private static getSomaCpf(cpf: string) {\r\n const fator = cpf.length == 9 ? 10 : 11;\r\n return Array.from(cpf).map((c, i) => Number(c) * (fator - i)).reduce((a, b) => a + b, 0);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport { InfoDataAccessModel } from '../model/data-access.model';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { Observable, of, ObservableInput } from 'rxjs';\r\nimport { APICONTROLLER_CONFIG } from '../global-config';\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { Utilities } from '../utils/utilities';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoDataService {\r\n\r\n private token: string;\r\n\r\n constructor(@Inject(APICONTROLLER_CONFIG) private _apiController: any, \r\n private _http: HttpClient, \r\n private _router: Router, \r\n private _plataforma: InfoPlatformModel, \r\n private _utilities: Utilities) { }\r\n\r\n public getToken(): string {\r\n this.token = this._utilities.getLocalStorage(this._plataforma.TokenKey);\r\n \r\n if (this.token == null) {\r\n this._router.navigateByUrl('');\r\n return '';\r\n\r\n } else return 'Bearer ' + this.token;\r\n }\r\n\r\n public getHeaderDefault(): HttpHeaders {\r\n let headers = new HttpHeaders();\r\n if (this._plataforma.Config.headers != null)\r\n this._plataforma.Config.headers.forEach(item => headers = headers.set(item.key, item.value)); \r\n return headers;\r\n }\r\n\r\n public getHeaderToken(): HttpHeaders {\r\n return this.getHeaderDefault().set('Authorization', this.getToken());\r\n }\r\n\r\n public getAPIUrl(controller: any) {\r\n let api = '';\r\n\r\n\t\tif (typeof(controller) == 'number')\r\n\t\t\tapi = this._apiController[controller].toString();\r\n\r\n else api = controller == null ? '' : controller.toString();\r\n \r\n\t\treturn this._plataforma.Config.webapiUrl + (api.replace('_', '/') + '/').toLowerCase();\r\n }\r\n\r\n public getNoToken(controller: any): Observable<InfoDataAccessModel>;\r\n public getNoToken(controller: any, method?: string): Observable<InfoDataAccessModel>;\r\n public getNoToken(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel>;\r\n public getNoToken(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .get(this.getAPIUrl(controller) + this.getMethod(method || '') + (param == null ? '' : ('?' + encodeURIComponent(this._utilities.jsonToEncrypt(param.replace(/null/g, '').replace(/undefined/g, ''))))), { headers: this.getHeaderDefault(), responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public get(controller: any): Observable<InfoDataAccessModel>;\r\n public get(controller: any, method?: string): Observable<InfoDataAccessModel>;\r\n public get(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel>;\r\n public get(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel> {\r\n \r\n return this._http\r\n .get(this.getAPIUrl(controller) + this.getMethod(method || '') + (param == null ? '' : ('?' + encodeURIComponent(this._utilities.jsonToEncrypt(param.replace(/null/g, '').replace(/undefined/g, ''))))), { headers: this.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public getById(controller: any, id: number): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .get(this.getAPIUrl(controller) + id.toString(), { headers: this.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public postNoToken(controller: any, model: any): Observable<InfoDataAccessModel>;\r\n public postNoToken(controller: any, model: any, method?: string): Observable<InfoDataAccessModel>;\r\n public postNoToken(controller: any, model: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .post(this.getAPIUrl(controller) + this.getMethod(method || ''), this._utilities.jsonToEncrypt(model), { headers: this.getHeaderDefault(), responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public post(controller: any, model: any): Observable<InfoDataAccessModel>;\r\n public post(controller: any, model: any, method?: string): Observable<InfoDataAccessModel>;\r\n public post(controller: any, model: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .post(this.getAPIUrl(controller) + this.getMethod(method || ''), this._utilities.jsonToEncrypt(model), { headers: this.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e, false))\r\n );\r\n }\r\n\r\n public delete(controller: any, id: any): Observable<InfoDataAccessModel>\r\n public delete(controller: any, id: any, method?: string): Observable<InfoDataAccessModel>;\r\n public delete(controller: any, id: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n if (id == undefined || id == null)\r\n alert('Id não informado');\r\n\r\n return this._http\r\n .delete(this.getAPIUrl(controller) + this.getMethod(method || '') + \"?\" + encodeURIComponent(this._utilities.jsonToEncrypt(\"id=\" + id.toString())), { headers: this.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public deleteByModel(controller: any, model: any): Observable<InfoDataAccessModel>\r\n public deleteByModel(controller: any, model: any, method?: string): Observable<InfoDataAccessModel>;\r\n public deleteByModel(controller: any, model: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n let httpOptions = {\r\n headers: this.getHeaderToken(),\r\n body: this._utilities.jsonToEncrypt(model), \r\n }\r\n\r\n return this._http\r\n .delete(this.getAPIUrl(controller) + this.getMethod(method || ''), httpOptions)\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public request(controller: any, model: any[], method?: string): Observable<InfoDataAccessModel>\r\n public request(controller: any, model: any[], method?: string, param?: string): Observable<InfoDataAccessModel>;\r\n public request(controller: any, model: any[], method?: string, param?: string): Observable<InfoDataAccessModel> {\r\n\r\n let formData = new FormData();\r\n for (let index = 0; index < model.length; index++)\r\n formData.append(model[index].name, model[index]);\r\n\r\n return this._http\r\n .request('POST', this.getAPIUrl(controller) + this.getMethod(method || '') + (param == null ? '' : ('?' + encodeURIComponent(this._utilities.jsonToEncrypt(param)))), { headers: this.getHeaderToken(), body: formData, responseType: 'text' })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(this._utilities.decryptToJson(r))),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n private errorHandling(e: HttpErrorResponse, redirect: boolean = true): ObservableInput<InfoDataAccessModel> {\r\n if (e.status == 401) \r\n document.location.href = '/#/login';\r\n else if (redirect) \r\n document.location.href = '/#/500';\r\n\r\n let messages: string[] = new Array(e.message);\r\n return of(new InfoDataAccessModel(null, false, messages));\r\n }\r\n\r\n private getMethod(method: string): string {\r\n if (method == null || method.trim() == '' || method.indexOf('?') < 0) return method ?? '';\r\n \r\n return method.substring(0, method.indexOf('?')) + '?' + encodeURIComponent(this._utilities.jsonToEncrypt(method.substring(method.indexOf('?') + 1).replace(/null/g, '').replace(/undefined/g, '')));\r\n }\r\n}","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'info-alert',\r\n template: `\r\n <div *ngIf=\"messages != [] && messages.length > 0\">\r\n <div class=\"alert\" #alert >\r\n <h5>{{ 'Atencao' | translate }}</h5>\r\n <ng-content></ng-content>\r\n <ul>\r\n <li *ngFor=\"let m of messages\"><mat-icon>error</mat-icon><label [innerHTML]=\"m | translate\"></label></li>\r\n </ul>\r\n <a class=\"close\" (click)=\"onClose()\"><i class=\"material-icons\">clear</i></a>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['alert.component.scss']\r\n})\r\nexport class InfoAlertComponent {\r\n\r\n @Input() messages: string[] = [];\r\n\r\n onClose() {\r\n this.messages = [];\r\n }\r\n}","<h2 mat-dialog-title >\r\n <label [innerHTML]=\"modaltitle | translate\"></label>\r\n <mat-icon class=\"close-icon\" (click)=\"close()\" *ngIf=\"showcloseicon\" >close</mat-icon>\r\n\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n</h2>\r\n\r\n<mat-dialog-content class=\"info-modal-content\">\r\n <ng-content></ng-content>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <div *ngIf=\"(labelclose != '' && readonly) || (labelcancel != '' && !readonly) || (labelsubmit != '' && !readonly)\" class=\"ml-5\">\r\n <button mat-button *ngIf=\"labelclose != '' && readonly\" type=\"button\" (click)=\"close()\" [disabled]=\"loading\">{{ labelclose | translate }}</button>\r\n <button mat-button *ngIf=\"labelcancel != '' && !readonly\" type=\"button\" (click)=\"close()\" color=\"warn\" [disabled]=\"loading\">{{ labelcancel | translate }}</button>\r\n <button mat-button *ngIf=\"labelsubmit != '' && !readonly\" type=\"button\" [disabled]=\"loading || formInvalid\" (click)=\"submit()\" >{{ labelsubmit | translate }}</button>\r\n </div> \r\n</mat-dialog-actions>\r\n\r\n<div class=\"block\" *ngIf=\"loading && loadingblock\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>","import { Component, Input, Output, EventEmitter, forwardRef, Inject } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoFormPropModel } from '../../model/form-prop.model';\r\nimport { InfoModalAction } from '../../enum/modal-action.enum';\r\n\r\n@Component({\r\n selector: 'info-modal',\r\n templateUrl: './modal.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoModalComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoModalComponent implements ControlValueAccessor {\r\n\r\n @Input() modaltitle: string = '';\r\n @Input() showcloseicon: boolean = false;\r\n @Input() api: any = null;\r\n @Input() method: string = null;\r\n @Input() readonly: boolean = null;\r\n @Input() loading: boolean = false;\r\n @Input() loadingblock: boolean = true;\r\n @Input() form: any = null;\r\n @Input() labelclose: string = 'Fechar';\r\n @Input() labelcancel: string = 'Cancelar';\r\n @Input() labelsubmit: string = 'Salvar';\r\n @Input() messages: String[] = [];\r\n @Input() width: number = null;\r\n\r\n @Output() onsave = new EventEmitter();\r\n @Output() onsuccess = new EventEmitter();\r\n\r\n model: any;\r\n onChange: any;\r\n onTouched: any;\r\n\r\n constructor(private _dataAccessService: InfoDataService, @Inject(MAT_DIALOG_DATA) public prop: InfoFormPropModel, private _ref: MatDialogRef<any>) { }\r\n\r\n\r\n get formInvalid() {\r\n if (this.form != null) {\r\n if (Array.isArray(this.form))\r\n return this.form.some(f => f?.form?.invalid || false);\r\n else\r\n return this.form.form?.invalid || false;\r\n }\r\n return false;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n if (this.modaltitle == '' && this.prop != null && this.prop.title != null)\r\n this.modaltitle = this.prop.title;\r\n\r\n if (this.api == null && this.prop != null && this.prop.api != null)\r\n this.api = this.prop.api;\r\n\r\n if (this.width != null)\r\n this._ref.updateSize(this.width.toString().replace('px', '') + 'px');\r\n\r\n if (this.readonly == null && this.prop != null && this.prop.readonly != null)\r\n this.readonly = this.prop.readonly;\r\n\r\n this._ref.keydownEvents().subscribe((r) => {\r\n if (r.ctrlKey && r.key == \"Enter\" && !(this.loading || this.formInvalid) && this.labelsubmit != '' && !this.readonly)\r\n this.submit();\r\n });\r\n }\r\n\r\n submit() {\r\n if (this.onsave.observers.length > 0) {\r\n this.onsave.next();\r\n return;\r\n }\r\n\r\n this.messages = [];\r\n \r\n if (this.api == null || this.api.toString() == '')\r\n this.messages.push('API não informado');\r\n\r\n var dataInicial = this.model[\"DataInicial\"];\r\n var dataFinal = this.model[\"DataFinal\"];\r\n if (dataInicial != null && dataFinal != null && new Date(dataInicial) > new Date(dataFinal)) {\r\n this.messages.push('DataInicialMaiorFinal');\r\n return;\r\n }\r\n\r\n var dataInicio = this.model[\"DataInicio\"];\r\n var dataFim = this.model[\"DataFim\"];\r\n if (dataInicio != null && dataFim != null && new Date(dataInicio) > new Date(dataFim)) {\r\n this.messages.push('DataInicioMaiorFim');\r\n return;\r\n }\r\n\r\n if (this.messages.length > 0)\r\n return;\r\n\r\n this.loading = true;\r\n\r\n this._dataAccessService\r\n .post(this.api, this.model, this.method)\r\n .subscribe(r => {\r\n\r\n if (r.success) {\r\n this.prop.modalAction = InfoModalAction.Save;\r\n this.prop.data = this.model;\r\n this._ref.close(this.prop);\r\n\r\n if (this.onsuccess.observers.length > 0)\r\n this.onsuccess.next();\r\n }\r\n\r\n else this.messages = r.messages;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n close() {\r\n this.messages = [];\r\n this.loading = false;\r\n this._ref.close(this.prop);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n this.model = obj;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void { }\r\n}\r\n","import { Component, Injectable } from '@angular/core';\r\nimport { CanActivate, RouterStateSnapshot, ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, ObservableInput, of } from 'rxjs';\r\nimport { map, catchError, switchMap } from 'rxjs/operators';\r\nimport { InfoSessionModel } from '../model/session.model';\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { InfoLoginModel } from '../model/login.model';\r\nimport { InfoDataService } from '../service/data.service';\r\nimport { InfoFormPropModel } from '../model/form-prop.model';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { InfoModalAction } from '../enum';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { InfoTranslateService } from '../service/translate.service';\r\nimport { Utilities } from '../utils/utilities';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoAuthenticationService implements CanActivate {\r\n private _sessionTimeInterval;\r\n private _sessionActive: boolean = true;\r\n\r\n constructor(private _router: Router, \r\n private _http: HttpClient, \r\n private _sessao: InfoSessionModel, \r\n private _plataforma: InfoPlatformModel,\r\n private _dataService: InfoDataService,\r\n private _modal: MatDialog, \r\n private _utilities: Utilities, \r\n private _translate: InfoTranslateService, \r\n private _title: Title) { }\r\n\r\n getSessao(): InfoSessionModel{\r\n return this._sessao;\r\n }\r\n\r\n getPlatform(): InfoPlatformModel {\r\n return this._plataforma;\r\n }\r\n\r\n canActivate(activatedRouteSnapshot: ActivatedRouteSnapshot, routerStateSnapshot: RouterStateSnapshot): Observable<boolean> | boolean {\r\n\r\n if (!this.isLogged() || !this._sessionActive) {\r\n this.logout();\r\n return true;\r\n }\r\n\r\n const url = activatedRouteSnapshot.data['URL'] || routerStateSnapshot.url;\r\n\r\n setTimeout(() => {\r\n this.refreshSessionTime(); \r\n }, 1000);\r\n\r\n this.definePaginaAtiva(url);\r\n\r\n return this.getPermission(url, true)\r\n .pipe(\r\n map(() => {\r\n if (url == '/')\r\n return true;\r\n\r\n if (!this.hasPermission(url))\r\n this._router.navigateByUrl('permission');\r\n\r\n if (url.indexOf('novo') > -1 && !this.hasPermission(url, 'new'))\r\n this._router.navigateByUrl('permission');\r\n\r\n if (url.indexOf('visualizar') < -1 && activatedRouteSnapshot.paramMap.get('id') != null && !this.hasPermission(url, 'edit'))\r\n this._router.navigateByUrl('permission');\r\n\r\n return true;\r\n }, \r\n catchError(error => { \r\n if (error.status == 401) this.logout();\r\n return of(true);\r\n })\r\n )).pipe(\r\n switchMap(async res => {\r\n const permissao = activatedRouteSnapshot.data['Permissao'];\r\n\r\n if (!permissao)\r\n return true;\r\n\r\n var params = (permissao[2] || '').replace(RegExp(/\\{(.*?)\\}/, 'g'), (_, p) => activatedRouteSnapshot.params[p]);\r\n\r\n var r = await this._dataService.get(permissao[0], permissao[1], params).toPromise();\r\n if (!r.success || r.data != true)\r\n this._router.navigateByUrl('permission');\r\n\r\n return true;\r\n })\r\n );\r\n }\r\n\r\n isLogged(): boolean {\r\n return (this._utilities.getLocalStorage(this._plataforma.TokenKey) != null);\r\n }\r\n\r\n\trefreshSessionTime() {\r\n if (!this._sessionActive)\r\n return;\r\n\r\n clearInterval(this._sessionTimeInterval);\r\n\r\n if (this._sessao.TempoInatividade == null || this._sessao.TempoInatividade <= 0)\r\n return;\r\n \r\n let tempoSessao = this._sessao.TempoInatividade;\r\n this._utilities.setLocalStorage('ms', new Date().valueOf().toString());\r\n \r\n this._sessionTimeInterval = setInterval(() => {\r\n\r\n if (tempoSessao > 0) {\r\n tempoSessao--;\r\n return;\r\n }\r\n \r\n let tempoRestante = Math.round(this._sessao.TempoInatividade - ((new Date().valueOf() - parseInt(this._utilities.getLocalStorage('ms'))) / 1000));\r\n\r\n if (!isNaN(tempoRestante) && tempoRestante > 0){\r\n tempoSessao = tempoRestante;\r\n return;\r\n }\r\n \r\n clearInterval(this._sessionTimeInterval);\r\n this._sessionActive = false;\r\n\r\n if (isNaN(tempoRestante))\r\n this.logout();\r\n \r\n else this.showMessage();\r\n }, 1000);\r\n\t}\r\n\r\n showMessage(){\r\n let ref = this._modal.open(RefreshSessionTimeModalComponent, {\r\n data: null,\r\n disableClose: true,\r\n width: '500px'\r\n });\r\n\r\n ref.afterClosed().subscribe((r: InfoFormPropModel) => {\r\n\r\n if (r != null && (r.modalAction == InfoModalAction.Yes || (this._sessao.TempoInatividade - ((new Date().valueOf() - parseInt(this._utilities.getLocalStorage('ms'))) / 1000)) > 0)){\r\n this._sessionActive = true;\r\n this.refreshSessionTime();\r\n }\r\n\r\n else this.logout();\r\n });\r\n }\r\n\r\n login(usuario: string, senha: string, reCaptchaToken: string = null, codigo2FA: string = null): Observable<any> {\r\n this.removeSessao();\r\n\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/autenticar', this._utilities.jsonToEncrypt({ Usuario: usuario, Senha: senha, ReCaptchaToken: reCaptchaToken, Codigo2FA: codigo2FA }), { headers: this._dataService.getHeaderDefault(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n if (r.Success && r.Data != null)\r\n this._utilities.setLocalStorage(this._plataforma.TokenKey, r.Data.Token);\r\n \r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n \r\n trocarEmpresa(usuario: string, empresaId: number): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/trocarempresa', this._utilities.jsonToEncrypt({ EmpresaId: empresaId }), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n if (r.Success && r.Data != null)\r\n this._utilities.setLocalStorage(this._plataforma.TokenKey, r.Data);\r\n\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n trocarUnidade(usuario: string, empresaId: number, unidadeId: number): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/trocarunidade', this._utilities.jsonToEncrypt({ EmpresaId: empresaId, UnidadeId: unidadeId }), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n if (r.Success && r.Data != null)\r\n this._utilities.setLocalStorage(this._plataforma.TokenKey, r.Data);\r\n\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n \r\n clonar(usuario: string): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/clonar', this._utilities.jsonToEncrypt({ Usuario: usuario }), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n if (r.Success && r.Data != null)\r\n this._utilities.setLocalStorage(this._plataforma.TokenKey, r.Data);\r\n\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n logout() {\r\n if (this.isLogged()) {\r\n this._http.post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/Logout', null, { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .subscribe(() => {\r\n this.removeSessao();\r\n this._router.navigateByUrl('login').then(r => { location.reload(); }); \r\n });\r\n }\r\n else {\r\n this.removeSessao();\r\n this._router.navigateByUrl('login').then(r => { location.reload(); }); \r\n }\r\n }\r\n\r\n getPermissions(url: string, logAtividade: boolean = false): Observable<any> {\r\n return this._http\r\n .get(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/getpermissao?' + encodeURIComponent(this._utilities.jsonToEncrypt('url=' + url + '&logatividade=' + logAtividade.toString())), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n setTrocaSenha(model: any): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/TrocarSenha', this._utilities.jsonToEncrypt(model), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n setRecuperarSenha(model: any): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/RecuperarSenha', this._utilities.jsonToEncrypt(model), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n setResetarSenha(model: any): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/ResetarSenha', this._utilities.jsonToEncrypt(model), { headers: this._dataService.getHeaderDefault(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n getLoginResources(): Observable<any> {\r\n return this._http\r\n .get(this._plataforma.Config.webapiUrl + 'centrocontrole/app/GetLoginResources', { headers: this._dataService.getHeaderDefault(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n hasPermission(url: string, keyFunction: string = 'view'): boolean {\r\n\r\n if (url == '/' && keyFunction == 'view')\r\n return true;\r\n\r\n let urlGenerica = this.getUrlGenerica(url);\r\n return this._sessao.Permissoes.some(s => s.URL == urlGenerica && s.ChaveFuncionalidade == keyFunction && s.Acesso);\r\n }\r\n\r\n getPermission(url: string, logAtividade: boolean = false): Observable<boolean> {\r\n\r\n let urlGenerica = this.getUrlGenerica(url);\r\n let contemUrl = this._sessao.Permissoes.some(s => s.URL == urlGenerica);\r\n if (contemUrl) {\r\n if (logAtividade) {\r\n return this.validaSessao(url).pipe(map(ret => {\r\n if (!ret.success)\r\n this.logout();\r\n \r\n return true;\r\n }),\r\n catchError(error => { \r\n if (error.status == 401) this.logout();\r\n return of(true);\r\n }));\r\n } else {\r\n return new Observable(function (observer) {\r\n observer.next(true);\r\n observer.complete();\r\n });\r\n }\r\n } else {\r\n return this.getPermissions(urlGenerica, logAtividade).pipe(map(ret => {\r\n if (ret.success) {\r\n if (ret.data == null) {\r\n this.logout();\r\n return true;\r\n }\r\n\r\n ret.data.forEach(item => {\r\n if (this._sessao.Permissoes.filter(s => s.URL == item.URL && s.ChaveFuncionalidade == item.ChaveFuncionalidade).length == 0)\r\n this._sessao.Permissoes.push(item);\r\n });\r\n\r\n ret.data.some(s => s.URL == urlGenerica);\r\n this._utilities.setLocalStorage(this._plataforma.SessionKey, JSON.stringify(this._sessao));\r\n }\r\n\r\n return true;\r\n }),\r\n catchError(error => { \r\n if (error.status == 401) this.logout();\r\n return of(true);\r\n }));\r\n }\r\n }\r\n\r\n validaSessao(url: string): Observable<any> {\r\n return this._http\r\n .get(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/validasessao?' + encodeURIComponent(this._utilities.jsonToEncrypt('url=' + url)), { headers: this._dataService.getHeaderToken(), responseType: 'text' })\r\n .pipe(\r\n map((rs: any) => {\r\n var r : any = this._utilities.decryptToJson(rs);\r\n return new InfoLoginModel(r === true, '', r);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n removeSessao() {\r\n Object.keys(localStorage).forEach((key) => {\r\n if (!key.includes('Dashboard') && !key.includes('cols') && !key.includes('_')) \r\n localStorage.removeItem(key);\r\n });\r\n }\r\n\r\n definePaginaAtiva(url) {\r\n\r\n if (this._plataforma.Menu == null || url == null) {\r\n this._plataforma.PaginaAtiva = null;\r\n return;\r\n }\r\n\r\n let aux: string[] = url.substring(1).replace(/-/g, '').toLowerCase().split('/');\r\n let tituloMenu: string = aux.length > 0 ? aux[0].toString() : url;\r\n let parametrosUrl: string[] = url.split('/').slice(2);\r\n \r\n if (tituloMenu.indexOf('nicio') > -1)\r\n this._plataforma.PaginaAtiva = { Icone: 'widgets', Titulo: 'Inicio' }; \r\n\r\n else {\r\n let item: any = this._plataforma.Menu.filter(m => m.Title.toLowerCase().indexOf(tituloMenu) > -1);\r\n \r\n let subTitulo = \"\";\r\n for (var i = 0; i < parametrosUrl.length; i++) {\r\n if (!this.isGuid(parametrosUrl[i]) && isNaN(parseFloat(parametrosUrl[i])))\r\n subTitulo += \" - \" + this._translate.translate(this.toPascalCase(parametrosUrl[i]));\r\n }\r\n\r\n if (item != null && item.length > 0) {\r\n this._plataforma.PaginaAtiva = { Icone: item[0].Icon, Titulo: item[0].Title };\r\n this._title.setTitle(`${this._translate.translate(this._plataforma.Config.title || \"Plataforma\")} - ${this._translate.translate(item[0].Title)}`+ subTitulo);\r\n }\r\n\r\n else this._plataforma.PaginaAtiva = { Icone: 'security', Titulo: this._plataforma.Config.title || 'Plataforma' };\r\n }\r\n }\r\n\r\n getUrlGenerica(url: string): string {\r\n let retorno = \"\";\r\n let urlParts: string[] = url.split('/');\r\n for (var i = 0; i < urlParts.length; i++) {\r\n if (!isNaN(parseFloat(urlParts[i])) || this.isGuid(urlParts[i]) || urlParts[i].toLowerCase() == 'novo')\r\n break;\r\n else\r\n retorno += '/' + urlParts[i];\r\n }\r\n return retorno.substring(1);\r\n }\r\n\r\n private errorHandling(e: HttpErrorResponse): ObservableInput<InfoLoginModel> {\r\n if (e.status == 401) \r\n this.logout();\r\n\r\n else if (e.status == 500)\r\n this._router.navigateByUrl('500');\r\n\r\n else if (e.error != null && e.error.error_description != null)\r\n return of(new InfoLoginModel(false, e.error.error_description));\r\n\r\n else return of(new InfoLoginModel(false, 'Houve um problema e não foi possível conectar'));\r\n }\r\n\r\n private isGuid(value) : boolean {\r\n return (value || '').match('^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$') !== null;\r\n }\r\n\r\n private toPascalCase(value: string): string{\r\n return value.replace(/(^\\w|-\\w)/g, (w1, w2, i) => i == 0 ? w1.toUpperCase() : w1[1].toUpperCase());\r\n }\r\n}\r\n\r\n@Component({\r\n\ttemplate: `\r\n\t\t<info-modal modaltitle=\"Inatividade\" (onsave)=\"ativo(true)\" labelsubmit=\"Sim\" labelcancel=\"({{ time }}) {{ 'Nao' | translate }}\">\r\n <label style=\"font-size:130%\">{{ 'VoceAindaEstaUtilizandoPlataforma' | translate }}</label>\r\n\t\t</info-modal>\r\n\t`\r\n})\r\nexport class RefreshSessionTimeModalComponent {\r\n time = 15;\r\n interval;\r\n\r\n\tconstructor(private _ref: MatDialogRef<RefreshSessionTimeModalComponent>) { }\r\n\r\n ngOnInit() {\r\n clearInterval(this.interval);\r\n \r\n this.interval = setInterval(() => {\r\n if (this.time > 0)\r\n this.time--;\r\n else {\r\n this.ativo(false);\r\n clearInterval(this.interval);\r\n }\r\n }, 1000);\r\n }\r\n \r\n ativo(ativo: boolean) {\r\n this._ref.close({ modalAction: ativo ? InfoModalAction.Yes : InfoModalAction.No });\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { OverlayContainer } from \"@angular/cdk/overlay\";\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { InfoSessionModel } from '../model/session.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoThemeService {\r\n\r\n constructor(public _overlay: OverlayContainer, public _plataform: InfoPlatformModel, public _session: InfoSessionModel) { }\r\n\r\n public setTheme(theme) {\r\n if (this._plataform.Themes != null){\r\n let item = this._plataform.Themes.find(t => t.name == theme);\r\n this._plataform.UnificarTopbar = item == null ? false : item.unificarTopbar;\r\n }\r\n\r\n let _overlay = this._overlay.getContainerElement().classList;\r\n let themeClassesToRemove: any = Array.from(_overlay).filter((item: string) => item.includes('-theme'));\r\n \r\n if (themeClassesToRemove && themeClassesToRemove.length > 0)\r\n _overlay.remove(themeClassesToRemove);\r\n\r\n _overlay.remove('alternative-layout');\r\n\r\n document.body.removeAttribute('class');\r\n\r\n if(!this._plataform.ModoPrime){\r\n document.body.classList.add(theme);\r\n _overlay.add(theme);\r\n }\r\n\r\n if (this._plataform.UnificarTopbar)\r\n document.body.classList.add('alternative-layout');\r\n \r\n if (this._plataform.MenuMin)\r\n document.body.classList.add('menu-min');\r\n \r\n if (this._plataform.ModoPrime)\r\n this.setModePrime(true);\r\n\r\n document.body.classList.add('ux' + (this._plataform.Config.ux ? this._plataform.Config.ux : 2));\r\n\r\n sessionStorage.setItem('at', theme);\r\n localStorage.setItem('at', theme);\r\n }\r\n\r\n public setThemeByLoggedCompany() {\r\n this.setTheme(this._session.TemaId > 0 ? `_${this._session.TemaId}-theme` : 'default-theme');\r\n }\r\n\r\n public setMenuMin(value: boolean = null){\r\n this._plataform.MenuMin = value == null ? !this._plataform.MenuMin : value;\r\n\r\n document.body.classList.remove('menu-min');\r\n \r\n if (this._plataform.MenuMin)\r\n document.body.classList.add('menu-min');\r\n\r\n sessionStorage.setItem('mm', this._plataform.MenuMin.toString());\r\n localStorage.setItem('mm', this._plataform.MenuMin.toString());\r\n }\r\n\r\n public setModePrime(prime: boolean = null){\r\n this._plataform.ModoPrime = prime == null ? !this._plataform.ModoPrime : prime;\r\n let _overlay = this._overlay.getContainerElement().classList;\r\n let themesClassToRemove = Array.from(_overlay).filter(item => item.includes('-theme'));\r\n\r\n document.body.classList.remove('modo-prime');\r\n \r\n if (this._plataform.ModoPrime){\r\n document.body.classList.add('modo-prime');\r\n\r\n let themePrime = 'default-prime';\r\n if (this._session.TemaId > 0)\r\n themePrime = `_${this._session.TemaId}-prime`;\r\n else if (localStorage.getItem('at') != null)\r\n themePrime = localStorage.getItem('at').replace('-theme', '-prime');\r\n document.body.classList.add(themePrime);\r\n\r\n if (themesClassToRemove && themesClassToRemove.length > 0) {\r\n for (let themeToRemove of themesClassToRemove) {\r\n _overlay.remove(themeToRemove);\r\n document.body.classList.remove(themeToRemove);\r\n }\r\n }\r\n } else if (this._session.TemaId != null) {\r\n this.setThemeByLoggedCompany();\r\n }\r\n\r\n sessionStorage.setItem('mp', this._plataform.ModoPrime.toString());\r\n localStorage.setItem('mp', this._plataform.ModoPrime.toString());\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { InfoPlatformModel } from \"../model/platform.model\";\r\nimport { InfoAppConfigModel } from \"../model/app-config.model\";\r\nimport { InfoThemeService } from \"./theme.service\";\r\nimport { Utilities } from \"../utils/utilities\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoConfigurationService {\r\n\r\n constructor(private _http: HttpClient, private _plataforma: InfoPlatformModel, private _themeService: InfoThemeService, private _utilities: Utilities) { }\r\n\r\n initialize(): Promise<InfoAppConfigModel> {\r\n\r\n return new Promise((r, e) => {\r\n this._http\r\n .get<InfoAppConfigModel>('config.json')\r\n .subscribe(config => {\r\n let activeTheme = sessionStorage.getItem('at') || localStorage.getItem('at');\r\n let menuMin = sessionStorage.getItem('mm') || localStorage.getItem('mm');\r\n let prime = sessionStorage.getItem('mp') || localStorage.getItem('mp');\r\n\r\n this._plataforma.Config = config; \r\n this._plataforma.ConfigIsNull = false;\r\n\r\n if (this._plataforma.Config.ux == null || this._plataforma.Config.ux == undefined)\r\n this._plataforma.Config.ux = 2;\r\n\r\n if (this._plataforma.Config.ux == 2)\r\n menuMin = 'false';\r\n\r\n const urlEmbedded = '/assets/embedded/temas.css';\r\n const httpEmbedded = new XMLHttpRequest();\r\n httpEmbedded.open('GET', urlEmbedded, false);\r\n httpEmbedded.send();\r\n\r\n if (httpEmbedded.status >= 200 && httpEmbedded.status < 300) {\r\n const cssText = httpEmbedded.responseText || '';\r\n\r\n if (cssText && cssText.trim().length > 0) {\r\n const style = document.createElement('style');\r\n style.setAttribute('data-source', urlEmbedded);\r\n style.textContent = cssText;\r\n document.head.appendChild(style);\r\n } else {\r\n this.loadCSSAPI();\r\n }\r\n } else {\r\n this.loadCSSAPI();\r\n }\r\n \r\n if (this._plataforma.Config.style != null) {\r\n var cssClient = document.createElement('link');\r\n cssClient.href = '/assets/' + this._plataforma.Config.style + '/style.css';\r\n cssClient.type = 'text/css';\r\n cssClient.rel = 'stylesheet';\r\n document.head.appendChild(cssClient);\r\n }\r\n\r\n if (activeTheme == null || activeTheme == undefined)\r\n activeTheme = `_${this._plataforma.Config.theme}-theme`;\r\n\r\n this._themeService.setTheme(activeTheme || 'default-theme');\r\n this._themeService.setMenuMin(menuMin == 'true');\r\n this._themeService.setModePrime(prime == 'true');\r\n\r\n r(config);\r\n });\r\n });\r\n }\r\n\r\n loadCSSAPI() {\r\n const xmlhttp = new XMLHttpRequest();\r\n xmlhttp.open(\"GET\", this._plataforma.Config.webapiUrl.replace(/\\/api\\/$/ig, '') + '/layout/temas.css', false);\r\n if (this._plataforma.Config.headers != null)\r\n this._plataforma.Config.headers.forEach(header => xmlhttp.setRequestHeader(header.key, header.value));\r\n xmlhttp.send();\r\n var cssFile = document.createElement('style');\r\n cssFile.innerHTML = this._utilities.descriptografar(xmlhttp.responseText); \r\n document.head.appendChild(cssFile);\r\n }\r\n}","<mat-form-field>\r\n <input matInput type=\"text\" [(ngModel)]=\"selectedValue\" [placeholder]=\"placeholder | translate\" [formControl]=\"control\" [matAutocomplete]=\"auto\" \r\n [required]=\"required\" (blur)=\"onBlur($event.target.value)\" (focus)=\"onFocus($event.target.value)\" #inputAuto>\r\n\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of options\" [value]=\"option\" (onSelectionChange)=\"writeValue(option.Id)\" [innerHTML]=\"option.Nome\" >\r\n </mat-option>\r\n </mat-autocomplete>\r\n \r\n <mat-icon matSuffix style=\"color: #aaa\">spellcheck</mat-icon>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\"></mat-progress-bar>\r\n</section>","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { UntypedFormControl, ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { debounceTime, switchMap, distinctUntilChanged } from 'rxjs/operators';\r\nimport { InfoDataService } from \"../../service/data.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { InfoDataAccessModel } from '../../model';\r\n\r\n@Component({\r\n selector: 'info-autocomplete',\r\n templateUrl: 'autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoAutoCompleteComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoAutoCompleteComponent implements OnInit, ControlValueAccessor {\r\n control = new UntypedFormControl();\r\n \r\n @Input() placeholder = '';\r\n @Input() name = '';\r\n @Input() required = false;\r\n @Input() selectfirst = false;\r\n @Input() disablednoregisters = false;\r\n @Input() getdataonchange = false;\r\n @Input() getdataonchangetime = 500;\r\n @Input() api: any = null;\r\n @Input() method = 'getchavevalor';\r\n @Input() maxlist = 10;\r\n @Input() startwith = false;\r\n @Input() minchar = 1;\r\n @Input() notoken: boolean = false;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n options: any[];\r\n selectedValue: any = null;\r\n\r\n onChange: any;\r\n onTouched: any;\r\n \r\n initialized = false;\r\n\r\n _loading: boolean = false;\r\n @Input()\r\n get loading(){\r\n return this._loading;\r\n }\r\n\r\n set loading(value){\r\n this._loading = value;\r\n \r\n if (this._disabled == null)\r\n this._disabled = false;\r\n\r\n else if (this._disabled.toString() == '')\r\n this._disabled = true;\r\n\r\n if (this._disabled == false)\r\n this.setDisabledState(this.loading);\r\n }\r\n \r\n _params: string = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n\r\n if (this.initialized)\r\n this.getData().subscribe(a => { this.data = a.data; this.loading = false; });\r\n }\r\n \r\n _disabled: boolean = null;\r\n @Input()\r\n set disabled(value: boolean) { \r\n if (this._disabled == null)\r\n this._disabled = value;\r\n\r\n if (value)\r\n this.control.disable();\r\n else\r\n this.control.enable();\r\n }\r\n\r\n _data: any = [];\r\n @Input()\r\n get data(){\r\n return this._data;\r\n }\r\n\r\n set data(value){\r\n this._data = value;\r\n\r\n if (this.getdataonchange)\r\n return;\r\n\r\n setTimeout(() => {\r\n if (this.selectedValue != null)\r\n if ((this._data == null || (this._data != null && this._data.length == 0)) && !this.loading) {\r\n this.writeValue(null);\r\n this.selectedValue = null;\r\n } else\r\n this.writeValue(this.selectedValue.Id == null ? this.selectedValue : this.selectedValue.Id);\r\n \r\n else if (this.selectfirst && this.data != null && this.data.length > 0)\r\n this.writeValue(this.data[0].Id);\r\n\r\n if (this.disablednoregisters)\r\n this.setDisabledState((this.data == null || this.data.length == 0));\r\n }, 1000);\r\n }\r\n\r\n constructor(private _dataAcess: InfoDataService) { }\r\n\r\n ngOnInit() {\r\n if (this.minchar == null || this.minchar < 0) this.minchar = 1;\r\n this.name = this.placeholder.replace(/ /g, '') + Math.floor(Math.random() * 1000).toString();\r\n\r\n if (!this.getdataonchange) {\r\n this.getData().subscribe(a => { this.data = a.data; this.loading = false; });\r\n this.control.valueChanges.subscribe(value => { this.options = this.filter(value)});\r\n } else {\r\n this.control.valueChanges.pipe(\r\n debounceTime(this.getdataonchangetime), \r\n distinctUntilChanged(),\r\n switchMap(value => this.getData(value))\r\n ).subscribe(a => this.data = this.options = a.data);\r\n }\r\n }\r\n\r\n filter(value: any): any[] {\r\n if (value == null || value.length < this.minchar) return [];\r\n let filterValue = value.Nome == null ? value.toString().toLowerCase() : value.Nome;\r\n\r\n if (this.startwith)\r\n return this.data.filter(option => option.Nome.toLowerCase().indexOf(filterValue) === 0 || (option.Aux == null ? \"\" : option.Aux.toLowerCase() == filterValue)).slice(0, this.maxlist);\r\n else\r\n return this.data.filter(option => option.Nome.toLowerCase().indexOf(filterValue) > -1 || (option.Aux == null ? \"\" : option.Aux.toLowerCase().indexOf(filterValue) > -1)).slice(0, this.maxlist);\r\n }\r\n\r\n getData(value: any = null): Observable<any> {\r\n this.initialized = true;\r\n\r\n if (this.api == null || this.api == '')\r\n return new Observable<InfoDataAccessModel>();\r\n\r\n this.loading = !this.getdataonchange;\r\n this.data = [];\r\n let parameters = this.params || '';\r\n\r\n if (this.getdataonchange) {\r\n if (value == null || value == '')\r\n return new Observable<InfoDataAccessModel>();\r\n\r\n if (parameters != null && parameters != '')\r\n parameters += '&';\r\n\r\n parameters += `nome=${value.Nome == null ? value.toString().toLowerCase() : value.Nome}&take=${this.maxlist}`;\r\n\r\n let model = parameters.split(\"&\").map(c => ({ [c.split(\"=\")[0].charAt(0).toUpperCase() + c.split(\"=\")[0].substring(1)]: c.split(\"=\")[1] })).reduce((a,b) => ({...a, ...b}));\r\n return this.notoken ? this._dataAcess.postNoToken(this.api, model, this.method) : this._dataAcess.post(this.api, model, this.method);\r\n }\r\n\r\n return this.notoken ? this._dataAcess.getNoToken(this.api, this.method, parameters) : this._dataAcess.get(this.api, this.method, parameters);\r\n }\r\n\r\n onBlur(value) {\r\n setTimeout(() => {\r\n if (this.selectedValue != null && this.selectedValue.Id != null)\r\n return;\r\n\r\n if (!value && this.selectedValue != null && this.selectedValue.trim() == '')\r\n this.writeValue(null);\r\n else {\r\n let first = this.filter(value);\r\n if (first != null && first.length > 0)\r\n this.writeValue(first[0].Id);\r\n else\r\n this.writeValue(null);\r\n } \r\n }, 300);\r\n }\r\n\r\n onFocus(value) {\r\n if (this.minchar != null && this.minchar == 0 && (value == null || value == ''))\r\n setTimeout(() => { this.control.setValue(''); }, 200);\r\n }\r\n\r\n displayFn(model): string {\r\n if (model == null || model.Nome == null)\r\n return '';\r\n\r\n let indexSmall = model.Nome.indexOf('<small');\r\n return indexSmall > -1 ? model.Nome.substring(0, indexSmall).trim() : model.Nome;\r\n }\r\n\r\n writeValue(value: any): void {\r\n let obj = this.data.find(r => r.Id == value);\r\n this.control.setValue(obj);\r\n\r\n if (value != null && obj == null)\r\n this.selectedValue = value;\r\n\r\n if (this.onChange != null)\r\n this.onChange(value);\r\n\r\n if (this.onselecteditem != null)\r\n this.onselecteditem.emit(this.data == null ? null : this.data.find(r => r.Id == value));\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;\r\n }\r\n}","<mat-selection-list class=\"col-md-12 mb-3\">\r\n <mat-list-option class=\"silver\" (click)=\"selectAll()\" [selected]=\"getModel().length == 0\" [disabled]=\"readonly\" *ngIf=\"enabledcheckall\">\r\n <label>{{ labelselectall | translate }}</label>\r\n </mat-list-option>\r\n\r\n <mat-list-option *ngFor=\"let item of getModel(); let i = index\" [ngClass]=\"{ 'silver': i % 2 == 1 }\" [selected]=\"item.Selecionado\" (click)=\"item.Selecionado = !item.Selecionado\" [disabled]=\"readonly\">\r\n <div *ngIf=\"item.Descricao == null\" [innerHTML]=\"item.Nome\"></div>\r\n <div *ngIf=\"item.Descricao != null\" [innerHTML]=\"item.Descricao\"></div>\r\n </mat-list-option>\r\n</mat-selection-list>\r\n \r\n<ng-container *ngIf=\"existData()\" >\r\n <mat-form-field class=\"col-md-12 mb-4 input-search\">\r\n <input matInput placeholder=\"{{ message | translate}}\" [name]=\"name\" autocomplete=\"false\" [(ngModel)]=\"value\" autocomplete=\"off\" >\r\n <mat-icon matSuffix >search</mat-icon>\r\n <mat-hint class=\"mt-2\">{{ submessage | translate}}</mat-hint>\r\n </mat-form-field>\r\n \r\n <mat-list class=\"col-md-12\" >\r\n <mat-list-item *ngFor=\"let item of getFilteredData(); let i = index\" [ngClass]=\"{ 'silver': i % 2 == 0 }\" (click)=\"add(item)\">\r\n <div *ngIf=\"item.Descricao == null\" [innerHTML]=\"item.Nome\"></div>\r\n <div *ngIf=\"item.Descricao != null\" [innerHTML]=\"item.Descricao\"></div>\r\n <mat-icon>add_circle</mat-icon>\r\n </mat-list-item>\r\n </mat-list>\r\n</ng-container>\r\n\r\n<div class=\"col-md-12 none-data\" *ngIf=\"!existData()\" >\r\n <mat-icon>info</mat-icon> {{ 'NenhumItemEncontrado' | translate }}\r\n</div>","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\n\r\n@Component({\r\n selector: 'info-big-checkbox',\r\n templateUrl: 'big-checkbox.component.html',\r\n styleUrls: ['big-checkbox.component.scss']\r\n})\r\nexport class InfoBigCheckboxComponent implements OnInit {\r\n\r\n @Input() readonly: boolean = false;\r\n @Input() preload: boolean = true;\r\n @Input() enabledcheckall: boolean = true;\r\n @Input() labelselectall: string = 'Todos';\r\n @Input() labelsearch: string = 'Buscar';\r\n @Input() minchar: number = 0;\r\n @Input() max: number = 20;\r\n @Input() message: string;\r\n @Input() submessage: string = '';\r\n\r\n @Input() value: string = '';\r\n @Input() api: any = null;\r\n @Input() method: string = null;\r\n\r\n @Input() model: any = [];\r\n @Input() data: any[] = [];\r\n @Input() aux: string = null;\r\n\r\n private _params: any = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n this.getData();\r\n }\r\n\r\n private _paramsmodel: any = null;\r\n @Input()\r\n get paramsmodel(){\r\n return this._paramsmodel;\r\n }\r\n\r\n set paramsmodel(value){\r\n this._paramsmodel = value;\r\n this.getData();\r\n }\r\n\r\n loading: boolean = false;\r\n name: string = '';\r\n\r\n constructor(private _dataService: InfoDataService) { }\r\n\r\n ngOnInit(){\r\n this.submessage = 'Serão exibidos somente os ' + this.max + ' primeiros itens encontrados';\r\n this.name = 'input-search-' + Math.floor(Math.random() * 1000).toString();\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n if (this.preload) {\r\n if (this.params == null && this.paramsmodel != null)\r\n this.loadByParamModel(this.paramsmodel);\r\n\r\n else this.load(this.params);\r\n }\r\n }\r\n\r\n load(param: any = null) {\r\n\r\n if (this.api == null)\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n \r\n if (this.model == null)\r\n this.model = [];\r\n\r\n this._dataService\r\n .get(this.api, this.method, param).subscribe(r => {\r\n if (r.success)\r\n this.data = r.data;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n loadByParamModel(paramModel: any = null) {\r\n \r\n if (this.api == null)\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n \r\n if (this.model == null)\r\n this.model = [];\r\n\r\n this._dataService.post(this.api, paramModel, this.method).subscribe(r => {\r\n if (r.success)\r\n this.data = r.data;\r\n \r\n this.loading = false;\r\n });\r\n }\r\n\r\n getModel(): any[]{\r\n\r\n if (this.model == null || this.model.length == 0)\r\n return [];\r\n\r\n return this.model.filter(m => this.aux == null || m.Aux == this.aux);\r\n }\r\n\r\n getFilteredData(): any[]{\r\n\r\n if (this.data.length == 0 || this.value.length < this.minchar)\r\n return [];\r\n\r\n return this.data.filter(d => \r\n (this.aux == null || this.aux == d.Aux) &&\r\n this.model.filter(m => m.Id == d.Id).length == 0 && \r\n d.Nome.toLowerCase().indexOf(this.value.toLowerCase()) > -1\r\n\r\n ).slice(0, this.max);\r\n }\r\n\r\n existData(): boolean{\r\n return (this.data != null && \r\n this.data.length > 0 && \r\n this.data.filter(d => this.aux == null || this.aux == d.Aux).length > 0);\r\n }\r\n\r\n add(item: any){\r\n \r\n if (this.model == null)\r\n this.model = [];\r\n\r\n this.model.push({\r\n Id: item.Id,\r\n Nome: item.Nome,\r\n Aux: (this.aux == null ? item.Aux : this.aux),\r\n Descricao: item.Descricao == null ? item.Nome : item.Descricao,\r\n Selecionado: true\r\n });\r\n }\r\n\r\n selectAll(){\r\n\r\n let removeItems = new Array();\r\n\r\n if (this.aux != null) {\r\n for (var i = 0; i < this.model.length; i++){\r\n if (this.model[i].Aux == this.aux)\r\n removeItems.push(i);\r\n }\r\n }\r\n\r\n removeItems.forEach(index => {\r\n this.model.splice(index, 1);\r\n });\r\n }\r\n}","<mat-card (click)=\"onCardClick()\">\r\n <mat-card-content>\r\n <h4>{{ label | translate }}</h4>\r\n <p *ngIf=\"description\" [innerHTML]=\"description | translate\"></p>\r\n <mark *ngIf=\"mark\"><small>{{ mark }}</small></mark>\r\n </mat-card-content>\r\n <mat-card-footer>\r\n <mat-icon>{{icon}}</mat-icon>\r\n </mat-card-footer>\r\n</mat-card>","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'info-card',\r\n templateUrl: 'card.component.html',\r\n styleUrls: ['card.component.scss']\r\n})\r\n\r\nexport class InfoCardComponent {\r\n\r\n @Input() label: string;\r\n @Input() description: string;\r\n @Input() mark: string;\r\n @Input() url: string;\r\n @Input() icon: string;\r\n @Output() onclick = new EventEmitter();\r\n\r\n constructor(private _router: Router) { }\r\n\r\n onCardClick() {\r\n if (this.url == null || this.url == '')\r\n this.onclick.emit();\r\n \r\n else this._router.navigateByUrl(this.url);\r\n }\r\n}","<mat-card>\r\n <mat-card-content>\r\n <h6 *ngIf=\"label != null\" [innerHTML]=\"label | translate\" ></h6>\r\n <p *ngIf=\"description != null\">{{ description | translate }}</p>\r\n\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let row of menuRows\">\r\n <mat-nav-list [ngClass]=\"colClass\">\r\n <ng-container *ngFor=\"let item of row\">\r\n <mat-list-item *ngIf=\"item.permission\" href=\"#\" [routerLink]=\"item.url\" >\r\n <a title=\"no\" title=\"{{ item.title | translate }}\" md-line>{{ item.title | translate }}</a>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </ng-container>\r\n </div>\r\n </mat-card-content>\r\n <mat-card-footer *ngIf=\"icon == null\">\r\n <mat-icon>{{icon}}</mat-icon>\r\n </mat-card-footer>\r\n</mat-card>","import { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n/**\r\n * O atributo `menu` recebe uma lista responsável pela criação do menu:\r\n * ```\r\n * [{ title: string, url: string, permission: boolean }]\r\n * ```\r\n */\r\n@Component({\r\n selector: 'info-card-menu',\r\n templateUrl: 'card-menu.component.html',\r\n styleUrls: ['card-menu.component.scss']\r\n})\r\nexport class InfoMenuCardComponent implements OnInit {\r\n \r\n @Input() label: string = null;\r\n @Input() description: string = null;\r\n @Input() icon: string = null;\r\n @Input() menu: any[] = [];\r\n @Input() cols: number = 0;\r\n @Input() loadinit: boolean = true;\r\n\r\n menuRows: any[] = [];\r\n col: number = 12;\r\n colClass: string = 'col-md-';\r\n\r\n ngOnInit(){\r\n if (this.loadinit)\r\n this.load();\r\n }\r\n\r\n load() {\r\n this.menuRows = new Array();\r\n\r\n this.menu = this.menu == null ? null : this.menu.filter(i => i.permission == true);\r\n\r\n if (this.menu == null || this.menu.length == 0 || this.cols == null || this.cols == 0){\r\n this.menuRows.push(this.menu);\r\n this.colClass += this.col.toString();\r\n return;\r\n }\r\n\r\n let numberItensRow = Math.ceil(this.menu.length / this.cols);\r\n \r\n for (var i = 0; i < this.cols; i++)\r\n this.menuRows.push(this.menu.slice(i * numberItensRow, (i * numberItensRow) + numberItensRow));\r\n\r\n this.col = 12 / this.cols;\r\n this.colClass += this.col.toString();\r\n }\r\n}","import { Component, OnInit, Input, forwardRef } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'info-checkbox',\r\n templateUrl: 'checkbox.component.html',\r\n styles: ['.info-checkbox-content { padding-top: 20px; } .info-checkbox-min { padding-top: 0 !important; margin: 0 0 13px !important; } '],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoCheckboxComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoCheckboxComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder: string = '';\r\n @Input() type: string = null;\r\n @Input() min: boolean = false;\r\n\r\n value: boolean = false;\r\n disabled: boolean = false;\r\n checkboxValue: { true: any, false: any } = { true: true, false: false };\r\n initialized: boolean = false;\r\n\r\n onChange: any;\r\n onTouched: any;\r\n\r\n @Input()\r\n get checked(){\r\n return this.value;\r\n }\r\n\r\n set checked(value) {\r\n\r\n if (this.initialized){\r\n this.value = value;\r\n this.onChangeValue();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (this.type != null) {\r\n let customType = this.type.split(',');\r\n this.checkboxValue.true = isNaN(Number(customType[0])) ? customType[0] : Number(customType[0]);\r\n this.checkboxValue.false = isNaN(Number(customType[1])) ? customType[1] : Number(customType[1]);\r\n }\r\n\r\n this.value = true;\r\n }\r\n\r\n writeValue(modelValue: any): void {\r\n \r\n if (modelValue === undefined || modelValue == null)\r\n this.value = false;\r\n\r\n else this.value = modelValue === this.checkboxValue.true;\r\n\r\n this.onChangeValue();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.initialized = true;\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onChangeValue() {\r\n let result = this.value ? this.checkboxValue.true : this.checkboxValue.false;\r\n\r\n if (this.onChange != null)\r\n this.onChange(result);\r\n }\r\n}","<section class=\"info-checkbox-content mat-form-field-margin \" [ngClass]=\"{ 'info-checkbox-min': min }\">\r\n <mat-checkbox [(ngModel)]=\"value\" (change)=\"onChangeValue()\" [disabled]=\"disabled\"><div [innerHtml]=\"placeholder | translate\"></div></mat-checkbox>\r\n</section>","<mat-form-field *ngIf=\"!button\">\r\n <input matInput [placeholder]=\"placeholder | translate\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\" [max]=\"maxDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" (keypress)=\"onKeyPress($event)\" (blur)=\"onChangeValue()\" [matDatepicker]=\"datepicker\"\r\n [matDatepickerFilter]=\"datefilter\" #inputDate>\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\r\n <mat-datepicker [dateClass]=\"dateclass\" #datepicker></mat-datepicker>\r\n</mat-form-field>\r\n\r\n<ng-container *ngIf=\"button\">\r\n <input class=\"mat-button\" type=\"button\" (click)=\"datepicker.open()\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\" [max]=\"maxDate\"\r\n (dateChange)=\"onChangeValue()\" [matDatepicker]=\"datepicker\"\r\n [matDatepickerFilter]=\"datefilter\" #inputDate>\r\n\r\n <mat-datepicker #datepicker></mat-datepicker>\r\n</ng-container>","import { Component, forwardRef, Input, ViewChild } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from \"@angular/material-moment-adapter\";\r\nimport { createTextMaskInputElement } from \"text-mask-core/dist/textMaskCore\";\r\nimport { createAutoCorrectedDatePipe } from \"text-mask-addons\";\r\nimport moment from \"moment\";\r\n\r\nexport const PT_BR_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY',\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MMM Y',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM Y',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'info-date',\r\n templateUrl: './date.component.html',\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoDateComponent),\r\n multi: true\r\n },\r\n { provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: PT_BR_DATE_FORMATS },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }]\r\n})\r\nexport class InfoDateComponent implements ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() minDate: Date = new Date(1800, 0, 1);\r\n @Input() maxDate: Date = null;\r\n @Input() button: boolean = false;\r\n\r\n @Input() datefilter: any = null; //Metodo que recebe uma data(moment) e retorna boolean\r\n @Input() dateclass: any = null; //Metodo que recebe uma data(moment) e retorna string\r\n\r\n @ViewChild('inputDate', { static: false }) input;\r\n\r\n dateValue: any;\r\n dateMask: any;\r\n onChange;\r\n onTouched;\r\n\r\n ngAfterViewInit() {\r\n\r\n let config = {\r\n mask: [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/],\r\n guide: true,\r\n placeholderChar: '_',\r\n pipe: createAutoCorrectedDatePipe(PT_BR_DATE_FORMATS.parse.dateInput.toLowerCase()),\r\n modelClean: true,\r\n keepCharPositions: false,\r\n };\r\n\r\n this.dateMask = createTextMaskInputElement(\r\n Object.assign({ inputElement: this.input.nativeElement }, config)\r\n );\r\n }\r\n\r\n onInputDate(value) {\r\n this.dateMask.update(value);\r\n }\r\n\r\n onChangeValue() {\r\n if (this.dateValue != null) {\r\n if (moment(this.dateValue).isBefore(moment(this.minDate)))\r\n this.dateValue = this.minDate;\r\n \r\n if (this.maxDate != null && moment(this.dateValue).isAfter(moment(this.maxDate)))\r\n this.dateValue = this.maxDate;\r\n }\r\n\r\n if (this.onChange != null)\r\n this.onChange(this.dateValue);\r\n }\r\n\r\n writeValue(value: any): void {\r\n if (value != null) {\r\n value = new Date(value);\r\n value.setMinutes(value.getMinutes() + value.getTimezoneOffset());\r\n value = new Date(value.getFullYear(), value.getMonth(), value.getDate());\r\n }\r\n\r\n this.dateValue = value;\r\n this.onChangeValue();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onKeyPress(e){\r\n if (e.keyCode == 13)\r\n this.onChangeValue();\r\n }\r\n}","<mat-form-field *ngIf=\"!button\">\r\n <input matInput [placeholder]=\"placeholder | translate\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" (keypress)=\"onKeyPress($event)\" (blur)=\"onChangeValue()\" [matDatepicker]=\"datepicker\" #inputDate >\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\r\n <mat-datepicker #datepicker startView=\"multi-year\" (yearSelected)=\"chosenYearHandler($event)\" (monthSelected)=\"chosenMonthHandler($event, datepicker)\"></mat-datepicker>\r\n</mat-form-field>\r\n\r\n<ng-container *ngIf=\"button\">\r\n <input class=\"mat-button\" type=\"button\" (click)=\"datepicker.open()\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" [matDatepicker]=\"datepicker\" #inputDate>\r\n\r\n <mat-datepicker #datepicker startView=\"multi-year\" (yearSelected)=\"chosenYearHandler($event)\" (monthSelected)=\"chosenMonthHandler($event, datepicker)\"></mat-datepicker>\r\n</ng-container>","import { Component, forwardRef, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from \"@angular/material/core\";\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from \"@angular/material-moment-adapter\";\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { createTextMaskInputElement } from \"text-mask-core/dist/textMaskCore\";\r\nimport { createAutoCorrectedDatePipe } from \"text-mask-addons\";\r\nimport { Moment } from \"moment\";\r\nimport moment from \"moment\";\r\n\r\nexport const PT_BR_DATE_MONTH_FORMATS = {\r\n parse: {\r\n dateInput: 'MM/YYYY',\r\n },\r\n display: {\r\n dateInput: 'MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'info-date-month',\r\n templateUrl: './date-month.component.html',\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoDateMonthComponent),\r\n multi: true\r\n },\r\n { provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: PT_BR_DATE_MONTH_FORMATS },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }]\r\n})\r\nexport class InfoDateMonthComponent implements ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() changeonlyonmonth: boolean = false;\r\n @Input() minDate: Date = new Date(1800, 0, 1);\r\n @Input() button: boolean = false;\r\n\r\n @ViewChild('inputDate', { static: false }) input;\r\n\r\n dateValue: any;\r\n dateMask: any;\r\n onChange;\r\n onTouched;\r\n\r\n ngAfterViewInit() {\r\n\r\n let config = {\r\n mask: [/\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/],\r\n guide: true,\r\n placeholderChar: '_',\r\n pipe: createAutoCorrectedDatePipe(PT_BR_DATE_MONTH_FORMATS.parse.dateInput.toLowerCase()),\r\n modelClean: true,\r\n keepCharPositions: false,\r\n };\r\n\r\n this.dateMask = createTextMaskInputElement(\r\n Object.assign({ inputElement: this.input.nativeElement }, config)\r\n );\r\n }\r\n\r\n onInputDate(value) {\r\n this.dateMask.update(value);\r\n }\r\n\r\n onChangeValue() {\r\n if (this.onChange != null) {\r\n if (moment(this.dateValue).isBefore(moment(this.minDate)))\r\n this.dateValue = this.minDate;\r\n\r\n this.onChange(this.dateValue);\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n if (value == null || value == undefined)\r\n this.dateValue = null;\r\n else {\r\n value = new Date(value);\r\n value.setMinutes(value.getMinutes() + value.getTimezoneOffset());\r\n value = new Date(value.getFullYear(), value.getMonth(), 1);\r\n this.dateValue = value;\r\n }\r\n \r\n this.onChangeValue();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n chosenYearHandler(value: Moment) {\r\n if (this.changeonlyonmonth)\r\n return;\r\n let aux = new Date(value.year(), new Date(this.dateValue).getMonth(), 1);\r\n this.dateValue = aux;\r\n this.onChangeValue();\r\n }\r\n\r\n chosenMonthHandler(value: Moment, datepicker: MatDatepicker<Moment>) {\r\n let aux = new Date(value.year(), value.month(), 1);\r\n this.dateValue = aux;\r\n this.onChangeValue();\r\n datepicker.close();\r\n }\r\n \r\n onKeyPress(e){\r\n if (e.keyCode == 13)\r\n this.onChangeValue();\r\n }\r\n}","<div class=\"message\" [ngClass]=\"{\r\n 'success-message': color === 'success',\r\n 'info-message': color === 'info',\r\n 'warning-message': color === 'warning',\r\n 'danger-message': color === 'danger',\r\n 'with-close': close,\r\n 'min': min }\" #message>\r\n <ng-content></ng-content>\r\n <a href=\"#\" class=\"close\" *ngIf=\"close\" (click)=\"delete($event, message)\"><i class=\"material-icons\">clear</i></a>\r\n</div>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-message',\r\n templateUrl: 'message.component.html',\r\n styleUrls: ['message.component.scss']\r\n})\r\n\r\nexport class InfoMessageComponent {\r\n\r\n @Input() color: string = 'info';\r\n @Input() outline: boolean = true;\r\n @Input() close: boolean = false;\r\n @Input() min: boolean = false;\r\n\r\n delete(event: any, message: any) {\r\n event.preventDefault();\r\n message.remove();\r\n }\r\n}","<h1 mat-dialog-title *ngIf=\"model.title\" [innerHTML]=\"model.title | translate\" ></h1>\r\n\r\n<div mat-dialog-content class=\"mb-3\">\r\n <p *ngIf=\"!model.processingMode\" [innerHTML]=\"model.message | translate\"></p>\r\n <info-message *ngIf=\"model.processingMode\" color=\"danger\">{{ 'A plataforma está efetuando o processamento em segundo plano.<br /> Isto pode levar alguns minutos e assim que concluído, uma notificação será enviada.' | translate}}</info-message>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"buttons\">\r\n <button mat-button (click)=\"onclickAux()\" [color]=\"model.colorAux\" *ngIf=\"model.labelAux\" >{{ model.labelAux | translate }}</button>\r\n <button mat-button (click)=\"onclickOk()\" [color]=\"model.colorOk\" cdkFocusInitial>{{ model.labelOk | translate }}</button>\r\n <button mat-button (click)=\"onclickCancel()\" [color]=\"model.colorCancel\" *ngIf=\"model.labelCancel\" >{{ model.labelCancel | translate }}</button>\r\n</div> ","import { Component, OnInit, Inject, Injectable } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from \"@angular/material/dialog\";\r\nimport { InfoDialogModel } from \"../../model/dialog.model\";\r\nimport { InfoDialogResult } from \"../../model/dialog-result.model\";\r\nimport { InfoDialogButtons } from \"../../enum/dialog-buttons.enum\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class InfoDialogModal {\r\n\r\n refProcessing: MatDialogRef<InfoDialogComponent>;\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n alert(message: string): Observable<InfoDialogResult> {\r\n\r\n let model = new InfoDialogModel();\r\n model.message = message;\r\n model.labelCancel = null;\r\n model.processingMode = false;\r\n\r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n YesOrNo(message: string): Observable<InfoDialogResult> {\r\n let model = new InfoDialogModel();\r\n model.message = message;\r\n model.yesOrNo = true;\r\n model.colorOk = 'warn';\r\n model.processingMode = false;\r\n \r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n Confirm(message: string): Observable<InfoDialogResult> {\r\n let model = new InfoDialogModel(); \r\n model.message = message;\r\n model.processingMode = false;\r\n\r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n Custom(model: InfoDialogModel): Observable<InfoDialogResult> {\r\n model.processingMode = false;\r\n\r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n Processing() {\r\n let model = new InfoDialogModel();\r\n model.message = '';\r\n model.yesOrNo = false;\r\n model.labelCancel = null;\r\n model.colorOk = 'warn';\r\n model.processingMode = true;\r\n \r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: '500px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'info-dialog',\r\n templateUrl: './dialog.component.html'\r\n})\r\nexport class InfoDialogComponent implements OnInit {\r\n\r\n constructor(public ref: MatDialogRef<InfoDialogComponent>, @Inject(MAT_DIALOG_DATA) public model: InfoDialogModel) { }\r\n\r\n ngOnInit() {\r\n\r\n if (this.model.yesOrNo){\r\n this.model.labelOk = 'Sim';\r\n this.model.labelCancel = 'Nao';\r\n }\r\n }\r\n\r\n onclickCancel() {\r\n this.ref.close(new InfoDialogResult(this.model.yesOrNo ? InfoDialogButtons.No : InfoDialogButtons.Cancel));\r\n }\r\n\r\n onclickOk() {\r\n this.ref.close(new InfoDialogResult(this.model.yesOrNo ? InfoDialogButtons.Yes : InfoDialogButtons.Ok));\r\n }\r\n\r\n onclickAux() {\r\n this.ref.close(new InfoDialogResult(InfoDialogButtons.Aux));\r\n }\r\n}","<div class=\"info-paginator\" *ngIf=\"show\" >\r\n <div class=\"row\">\r\n <div class=\"col-md-2\" [ngClass]=\"{ 'descriptions-min': min == true, 'descriptions': min != true }\">\r\n <label class=\"total\" *ngIf=\"totalDescription != null\">{{totalDescription}}</label>\r\n </div>\r\n <div class=\"col-md align-right\" [ngClass]=\"{ 'pages-min': min == true, 'pages': min != true }\">\r\n <ul>\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"goto(0)\" [disabled]=\"index == 0\" [matTooltip]=\"'Primeira' | translate\" >\r\n <mat-icon>first_page</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"previous()\" [disabled]=\"index == 0\" [matTooltip]=\"'Anterior' | translate\" >\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li *ngFor=\"let page of pages\" >\r\n <button mat-button (click)=\"goto(page)\" [ngClass]=\"{\r\n 'active': page === indexActive\r\n }\" >{{page + 1}}</button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"next()\" [disabled]=\"index >= (numberPages - 1)\" [matTooltip]=\"'Proxima' | translate\" >\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"goto(numberPages - 1)\" [disabled]=\"index >= (numberPages - 1)\" [matTooltip]=\"'Ultima' | translate\" >\r\n <mat-icon>last_page</mat-icon>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-paginator',\r\n templateUrl: 'paginator.component.html',\r\n styleUrls: ['paginator.component.scss']\r\n})\r\n\r\nexport class InfoPaginatorComponent {\r\n\r\n @Input() size = 5;\r\n @Input() min = false;\r\n @Input() show = false;\r\n @Output() index = 0;\r\n @Output() change = new EventEmitter<number>();\r\n\r\n _total = 0;\r\n @Input()\r\n get total(){\r\n return this._total;\r\n }\r\n\r\n set total(value){\r\n this._total = value;\r\n this.initialize();\r\n }\r\n\r\n onChange: any;\r\n indexActive = 0;\r\n numberPages = 1;\r\n pages = [];\r\n totalDescription = '';\r\n\r\n refresh(total: number) {\r\n this.total = total;\r\n }\r\n\r\n initialize() {\r\n this.pages = [];\r\n this.indexActive = this.index;\r\n this.numberPages = Math.ceil(this.total / this.size);\r\n \r\n if (this.total > this.size) {\r\n let i = (this.index > 2) ? (this.index - 2) : 0;\r\n let x = this.numberPages;\r\n\r\n if ((this.index + 2) < this.numberPages){\r\n \r\n let aux = 3;\r\n if (this.index < 2)\r\n aux = (5 - this.index);\r\n\r\n x = (this.index + aux);\r\n }\r\n else if ((this.index - 2) > 0)\r\n i = this.index - (5 - (this.numberPages - this.index));\r\n \r\n if (i < 0)\r\n i = 0;\r\n\r\n if (x > this.numberPages)\r\n x = this.numberPages;\r\n \r\n for (i; i < x; i++)\r\n this.pages.push(i);\r\n\r\n } else {\r\n this.pages.push(0);\r\n }\r\n \r\n this.setDescription();\r\n this.show = true;\r\n }\r\n\r\n goto(index: number) {\r\n \r\n if (this.index == index)\r\n return;\r\n\r\n this.index = index;\r\n this.change.emit(this.index);\r\n }\r\n\r\n next() {\r\n this.goto(this.index + 1);\r\n }\r\n\r\n previous() {\r\n this.goto(this.index - 1);\r\n }\r\n\r\n setDescription(){\r\n let currentInit = (this.size * this.index) + 1;\r\n let currentEnd = this.size * (this.index + 1);\r\n\r\n if (currentEnd > this.total)\r\n currentEnd = this.total;\r\n\r\n if (currentInit == null || currentEnd == null) return;\r\n\r\n this.totalDescription = currentInit.toLocaleString('pt-BR') + ' - ' + currentEnd.toLocaleString('pt-BR') + ' de ' + this.total.toLocaleString('pt-BR');\r\n }\r\n}","import { Directive, ElementRef, Renderer2, Input, forwardRef, Inject, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms'\r\nimport { createTextMaskInputElement } from 'text-mask-core/dist/textMaskCore'\r\nimport { createAutoCorrectedDatePipe, emailMask } from 'text-mask-addons';\r\n\r\n@Directive({\r\n host: {\r\n '(input)': 'onInput($event.target.value)',\r\n '(blur)': '_onTouched()'\r\n },\r\n selector: '[setmask]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoMaskDirective),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoMaskDirective implements ControlValueAccessor, OnChanges {\r\n private maskInputElement: any\r\n private inputElement: HTMLInputElement\r\n\r\n private lastValue: any\r\n private mask: any\r\n\r\n @Input('setmask') maskType: any\r\n\r\n _onTouched = () => { }\r\n _onChange = (_: any) => { }\r\n\r\n constructor(@Inject(Renderer2) private renderer: Renderer2, @Inject(ElementRef) private element: ElementRef) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.setupMask(true);\r\n\r\n if (this.maskInputElement !== undefined)\r\n this.maskInputElement.update(this.inputElement.value)\r\n }\r\n\r\n writeValue(value: any) {\r\n this.setupMask()\r\n\r\n const normalizedValue = value == null ? '' : value\r\n this.renderer.setProperty(this.inputElement, 'value', normalizedValue)\r\n\r\n if (this.maskInputElement !== undefined) {\r\n this.maskInputElement.update(value)\r\n }\r\n }\r\n\r\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn }\r\n\r\n registerOnTouched(fn: () => any): void { this._onTouched = fn }\r\n\r\n setDisabledState(isDisabled: boolean) {\r\n this.renderer.setProperty(this.element.nativeElement, 'disabled', isDisabled)\r\n }\r\n\r\n onInput(value) {\r\n this.setupMask()\r\n\r\n if (this.maskInputElement !== undefined) {\r\n this.maskInputElement.update(value)\r\n\r\n value = this.inputElement.value\r\n\r\n if (this.lastValue !== value) {\r\n this.lastValue = value\r\n this._onChange(value)\r\n }\r\n }\r\n }\r\n\r\n private setupMask(create = false) {\r\n if (!this.inputElement) {\r\n if (this.element.nativeElement.tagName === 'INPUT')\r\n this.inputElement = this.element.nativeElement;\r\n\r\n else this.inputElement = this.element.nativeElement.getElementsByTagName('INPUT')[0];\r\n }\r\n\r\n if (this.inputElement && create) {\r\n\r\n let pipe = undefined;\r\n\r\n if (this.maskType == 'email')\r\n this.mask = emailMask;\r\n \r\n else if (this.maskType == 'phone')\r\n this.mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n \r\n else if (this.maskType == 'cel')\r\n this.mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\n else if (this.maskType == 'cep')\r\n this.mask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/];\r\n \r\n else if (this.maskType == 'date') {\r\n pipe = createAutoCorrectedDatePipe('dd/mm/yyyy');\r\n this.mask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n }\r\n else if (this.maskType == 'datemonth') {\r\n pipe = createAutoCorrectedDatePipe('mm/yyyy');\r\n this.mask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n }\r\n else if (this.maskType == 'time') {\r\n pipe = createAutoCorrectedDatePipe('HH:MM');\r\n this.mask = [/\\d/, /\\d/, ':', /\\d/, /\\d/];\r\n }\r\n else if (this.maskType == 'cpf')\r\n this.mask = [/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'-',/\\d/,/\\d/];\r\n\r\n else if (this.maskType == 'cnpj') {\r\n this.mask = [/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'/',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'-',/\\d/,/\\d/];\r\n pipe = (value) => value?.toUpperCase();\r\n }\r\n\r\n else this.mask = [];\r\n\r\n let maskConfig = {\r\n mask: this.mask,\r\n guide: true,\r\n placeholderChar: '_',\r\n pipe: pipe,\r\n modelClean: true,\r\n keepCharPositions: false,\r\n };\r\n\r\n this.maskInputElement = createTextMaskInputElement(\r\n Object.assign({ inputElement: this.inputElement }, maskConfig)\r\n )\r\n }\r\n\r\n }\r\n}","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[unmask]'\r\n})\r\nexport class InfoUnmaskDirective {\r\n\r\n @Input('unmask') maskType: string\r\n\r\n constructor(private elementRef: ElementRef, private model: NgControl) { }\r\n\r\n @HostListener('input') inputChange() {\r\n let regex = this.maskType == 'cnpj' ? /[^a-zA-Z0-9]/g : /\\D/g\r\n const newValue = this.elementRef.nativeElement.value.replace(regex, '')\r\n this.model.control.setValue(newValue);\r\n }\r\n}","<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" \r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [formControl]=\"formControl\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" [unmask]=\"customMask\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" (change)=\"writeValue(value)\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" (focusin)=\"valueOnEnter = value\" \r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>","import { Component, forwardRef, Input, OnInit, Output, EventEmitter, Optional, Self, Injector, Directive, ViewChild } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor, NgControl, NG_VALIDATORS, FormControl, Validators, ValidatorFn, AbstractControl, ValidationErrors, Validator } from \"@angular/forms\";\r\nimport { StaticUtils, Utilities } from \"../../utils/utilities\";\r\n\r\n@Component({\r\n selector: 'info-input',\r\n styleUrls: [ 'input.component.scss' ],\r\n templateUrl: 'input.component.html',\r\n providers:[\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoInputComponent),\r\n multi: true\r\n },\r\n ]\r\n})\r\nexport class InfoInputComponent implements OnInit, ControlValueAccessor {\r\n\r\n private control: NgControl\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() readonly: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() maxlength: any;\r\n @Input() type: string = 'text';\r\n @Input() rows: number = 1;\r\n @Input() tabindex: number = 0;\r\n @Input() iconPrefix: string = '';\r\n @Input() iconSuffix: string = '';\r\n @Input() min: number = -99999999999999.999999999;\r\n @Input() max: number = 99999999999999.999999999;\r\n @Input() step: number = null;\r\n @Input() validate: boolean = false;\r\n @Input() bluronlychange: boolean = false;\r\n\r\n @Output() onblur = new EventEmitter();\r\n \r\n maskOptions: any = {\r\n align: 'right',\r\n allowNegative: true,\r\n decimal: ',',\r\n precision: 2,\r\n prefix: '',\r\n suffix: '',\r\n thousands: '.'\r\n };\r\n \r\n value: string = '';\r\n valueOnEnter: any = null;\r\n customMask: string = null;\r\n onChange: any;\r\n onTouched: any;\r\n passwordMode: boolean = false;\r\n errorMessage: string = null;\r\n formControl: AbstractControl = new FormControl();\r\n\r\n\r\n constructor(private injector: Injector) { }\r\n\r\n ngAfterViewInit() {\r\n this.control = this.injector.get(NgControl, null);\r\n if (this.control)\r\n this.formControl = this.control.control; \r\n }\r\n\r\n ngOnInit() { \r\n this.passwordMode = this.type.toLocaleLowerCase() == 'password';\r\n }\r\n\r\n private methodIsmask: string = null;\r\n @Input()\r\n get ismask(){\r\n return this.methodIsmask;\r\n }\r\n\r\n set ismask(value){\r\n this.methodIsmask = value;\r\n\r\n if (this.methodIsmask != null) {\r\n this.methodIsmask = this.methodIsmask.toLowerCase();\r\n \r\n if (this.methodIsmask == 'int')\r\n this.maskOptions.precision = 0;\r\n\r\n else if (this.methodIsmask[0] == 'n' && (this.methodIsmask.length == 2 || this.methodIsmask.length == 3))\r\n this.maskOptions.precision = parseInt(this.methodIsmask.replace('n', ''));\r\n\r\n else this.customMask = this.methodIsmask;\r\n }\r\n }\r\n\r\n validarCampo() {\r\n if (!this.validate)\r\n return;\r\n\r\n this.errorMessage = null;\r\n\r\n if (this.value && this.customMask == 'cnpj' && !StaticUtils.validarCnpj(this.value))\r\n this.errorMessage = 'CNPJInvalido';\r\n else if (this.value && this.customMask == 'cpf' && !StaticUtils.validarCpf(this.value))\r\n this.errorMessage = 'CPFInvalido';\r\n\r\n if (!!this.errorMessage && this.formControl) {\r\n this.formControl.setErrors({invalid: true});\r\n }\r\n }\r\n\r\n onBlur() {\r\n this.validarCampo();\r\n if (this.type == 'number' || (this.ismask != null && this.ismask.startsWith(\"n\"))) {\r\n if (this.min != null)\r\n this.value = this.min > Number(this.value) ? null : this.value;\r\n\r\n if (this.max != null)\r\n this.value = this.max < Number(this.value) ? null : this.value;\r\n\r\n this.onChangeValue();\r\n }\r\n\r\n if (this.onblur != null && (!this.bluronlychange || this.valueOnEnter != this.value))\r\n this.onblur.emit(this.value);\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.value);\r\n }\r\n\r\n writeValue(modelValue: any): void {\r\n this.value = modelValue;\r\n this.onChangeValue();\r\n }\r\n \r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n \r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n}","<div [ngStyle]=\"{ 'marginTop': margintop + 'px' }\" [ngClass]=\"{ 'transparent': transparent }\" >\r\n \r\n <ng-container *ngIf=\"_platform.Config.ux >= 3\" >\r\n <h2 [ngClass]=\"{ 'title-icon': icon }\">\r\n <mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\r\n <span [innerHTML]=\"pagetitle | translate\"></span>\r\n </h2>\r\n \r\n <div class=\"link-button\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl\" color=\"primary\" (click)=\"goBack()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{ 'Voltar' | translate}}</button>\r\n\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <dl *ngIf=\"(access || []).length > 0\" class=\"acesso-rapido\" (mouseenter)=\"exibirAcessos = true\" (mouseleave)=\"exibirAcessos = false\">\r\n <dt>\r\n <mat-icon class=\"fs-20\">share</mat-icon>\r\n </dt>\r\n <dd *ngIf=\"exibirAcessos\">\r\n <ul>\r\n <li *ngFor=\"let a of access\">\r\n <a target=\"_blank\" [routerLink]=\"a.Url\" ><mat-icon>chevron_right</mat-icon> {{ a.Label | translate }}</a>\r\n </li>\r\n </ul> \r\n </dd>\r\n </dl>\r\n </div>\r\n <hr>\r\n </ng-container>\r\n \r\n <div class=\"row\" *ngIf=\"_platform.Config.ux <= 2\" >\r\n <div class=\"col-md-6\">\r\n <h2>\r\n <label id=\"page-title\" *ngIf=\"_platform.PaginaAtiva\">\r\n <mat-icon>{{ _platform.PaginaAtiva.Icone }}</mat-icon>\r\n {{ _platform.PaginaAtiva.Titulo | translate }}\r\n\r\n <ng-container *ngIf=\"pagetitle != null && pagetitle != ''\"> / </ng-container>\r\n </label>\r\n <label [outerHTML]=\"pagetitle | translate\"></label>\r\n </h2>\r\n <button *ngIf=\"podeCriarAtalho\" type=\"button\" mat-icon-button class=\"shortcut-button\" [ngClass]=\"{ 'tem-atalho': !!atalhoId }\" (click)=\"toggleAtalho()\" [disabled]=\"loading\">\r\n <mat-icon inline>{{ atalhoId ? 'star' : 'star_border' }}</mat-icon>\r\n </button>\r\n \r\n <p class=\"pagebar-description\" [innerHTML]=\"description | translate\"></p>\r\n </div>\r\n\r\n <div class=\"col-md-6 align-right buttons\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl\" color=\"primary\" (click)=\"goBack()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{ 'Voltar' | translate}}\r\n </button>\r\n \r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <dl *ngIf=\"(access || []).length > 0\" class=\"acesso-rapido\" (mouseenter)=\"exibirAcessos = true\" (mouseleave)=\"exibirAcessos = false\">\r\n <dt>\r\n <mat-icon class=\"fs-20\">share</mat-icon>\r\n </dt>\r\n <dd *ngIf=\"exibirAcessos\">\r\n <ul>\r\n <li *ngFor=\"let a of access\">\r\n <a target=\"_blank\" [routerLink]=\"a.Url\" ><mat-icon>chevron_right</mat-icon> {{ a.Label | translate }}</a>\r\n </li>\r\n </ul> \r\n </dd>\r\n </dl>\r\n </div>\r\n </div>\r\n</div>\r\n<section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n</section>\r\n\r\n<ng-template #content><ng-content></ng-content></ng-template>","import { Component, Input, Inject, ElementRef, Renderer2 } from '@angular/core';\r\nimport { Router, NavigationStart, GuardsCheckStart, NavigationEnd } from '@angular/router';\r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoTranslateService } from '../../service/translate.service';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { InfoFormPropModel } from '../../model/form-prop.model';\r\nimport { InfoPageAction } from '../../enum/page-action.enum';\r\nimport { InfoModalAction } from '../../enum/modal-action.enum';\r\n\r\n@Component({\r\n\tselector: 'info-pagebar',\r\n\ttemplateUrl: './pagebar.component.html',\r\n\tstyleUrls: ['./pagebar.component.scss']\r\n})\r\nexport class InfoPagebarComponent {\r\n\r\n\t@Input() margintop = 0;\r\n\t@Input() icon: string = null;\r\n\t@Input() description: string;\r\n\t@Input() backurl: string = null;\r\n\t@Input() access: any = [];\r\n\t@Input() transparent: boolean = false;\r\n\r\n\tprivate _pageTitle: string;\r\n\tget pagetitle(){\r\n\t\treturn this._pageTitle;\r\n\t}\r\n\r\n\t@Input('pagetitle') set pagetitle(value: string){ \r\n\t\tthis._pageTitle = value.replace(/\\(/g, '<small>(').replace(/\\)/g, ')</small>');\r\n\t}\r\n\r\n\tloading = false;\r\n\tatalhoId: any = null;\r\n\tpodeCriarAtalho = false;\r\n\texibirAcessos = false;\r\n\r\n\tconstructor(private _router: Router,\r\n\t\t\t\tprivate _modal: MatDialog,\r\n\t\t\t\tprivate _dataService: InfoDataService,\r\n\t\t\t\tprivate _translate: InfoTranslateService,\r\n\t\t\t\tpublic _platform: InfoPlatformModel,\r\n\t\t\t\tprivate _renderer: Renderer2, private _element: ElementRef) { \r\n\t\t_router.events.subscribe(e => {\r\n if (e instanceof NavigationStart || e instanceof GuardsCheckStart)\r\n\t\t\t\tsetTimeout(() => this.loading = true, 0);\r\n\t\t\t\r\n\t\t\telse setTimeout(() => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (e instanceof NavigationEnd) {\r\n\t\t\t\t\tthis.podeCriarAtalho = !!this._platform.ShortcutApi && this._router.url != '/';\r\n\t\t\t\t\tthis.getAtalho();\r\n\t\t\t\t}\r\n\t\t\t}, 0);\r\n });\r\n\t}\r\n\r\n\tngOnInit(){\r\n\t\tthis._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n \r\n if (this._platform.Config.topMenu)\r\n this._renderer.addClass(this._element.nativeElement, 'topmenu');\r\n\t}\r\n\r\n\tgoBack(){\r\n\t\tthis._router.navigateByUrl(this.backurl);\r\n\t}\r\n\r\n\tgetAtalho() {\r\n\t\tif (!this.podeCriarAtalho)\r\n\t\t\treturn;\r\n\t\tthis.loading = true;\r\n\t\tthis._dataService.get(this._platform.ShortcutApi, 'GetByUrl', 'url='+this._router.url).subscribe(r => {\r\n\t\t\tthis.loading = false;\r\n\t\t\tif (r.success) this.atalhoId = (r.data || {}).Id;\r\n\t\t});\r\n\t}\r\n\r\n\ttoggleAtalho() {\r\n\t\tif (this.atalhoId) {\r\n\t\t\tthis.loading = true;\r\n\t\t\tthis._dataService.delete(this._platform.ShortcutApi, this.atalhoId).subscribe(r => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (r.success) this.atalhoId = null;\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.loading = true;\r\n\t\t\tthis.openModalAtalho().subscribe((r: InfoFormPropModel) => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (r && r.modalAction == InfoModalAction.Save) this.getAtalho();\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate openModalAtalho() {\r\n\t\tvar prop = new InfoFormPropModel();\r\n\t\tprop.api = this._platform.ShortcutApi;\r\n\t\tprop.set(InfoPageAction.New, { \r\n\t\t\tId: this.atalhoId,\r\n\t\t\tUrl: this._router.url,\r\n\t\t\tTitulo: `${this._translate.translate(this._platform.PaginaAtiva.Titulo)} / ${this._translate.translate(this.pagetitle)}`\r\n\t\t});\r\n\r\n\t\tlet ref = this._modal.open(AtalhoModalComponent, {\r\n data: prop,\r\n\t\t\tdisableClose: true,\r\n\t\t\twidth: '400px'\r\n\t\t});\r\n\t\t\r\n\t\tref.keydownEvents().subscribe((r) => {\r\n if (!this.loading && (r.key == \"Escape\" || r.key == \"Esc\" || r.key == \"27\"))\r\n ref.close();\r\n });\r\n\r\n return ref.afterClosed();\r\n\t}\r\n}\r\n@Component({\r\n\ttemplate: `\r\n\t\t<info-modal modaltitle=\"CriarAcessoRapido\" [form]=\"formModal\" [(ngModel)]=\"model\">\r\n\t\t\t<form autocomplete=\"off\" #formModal=\"ngForm\">\r\n\t\t\t\t<div class=\"row\"> \r\n\t\t\t\t\t<info-input class=\"col-md-12\" [(ngModel)]=\"model.Titulo\" placeholder=\"Titulo\" name=\"Titulo\" required></info-input>\r\n\t\t\t\t</div>\r\n\t\t\t</form>\r\n\t\t</info-modal>\r\n\t`\r\n})\r\nexport class AtalhoModalComponent {\r\n\tmodel: any = {};\r\n\tconstructor(@Inject(MAT_DIALOG_DATA) public prop: InfoFormPropModel) {\r\n\t\tthis.model = Object.assign({}, prop.data);\r\n\t\tthis.model.Id = this.model.Id || '00000000-0000-0000-0000-000000000000';\r\n\t}\r\n}","<info-pagebar *ngIf=\"showPagebar\" [pagetitle]=\"pagebarTitle\" [description]=\"description\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl != null && backurl != ''\" color=\"primary\" (click)=\"back()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{\"Voltar\" | translate}}\r\n </button>\r\n\r\n <ng-container *ngFor=\"let b of pagebarbuttons\">\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"b.modal == null ? navigateTo(b.url, false, null) : openCustomModal(b.modal, b.modalwidth, null)\">\r\n <mat-icon *ngIf=\"b.icon != 'chevron_right'\" class=\"fs-20\">{{ b.icon }}</mat-icon>\r\n {{ b.label | translate }}\r\n </button>\r\n </ng-container>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"searchmodel != null && !enabledSearch\" color=\"primary\" (click)=\"enabledSearch = !enabledSearch\">\r\n <mat-icon class=\"fs-20\">search</mat-icon> {{ \"Pesquisar\" | translate}}\r\n </button>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"searchmodel != null && enabledSearch\" color=\"primary\" (click)=\"enabledSearch = !enabledSearch\">\r\n <mat-icon class=\"fs-20\">search_off</mat-icon> {{ \"Ocultar\" | translate}}\r\n </button>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"enablednew && hasPermissionNew\" color=\"primary\" (click)=\"add()\">\r\n <mat-icon class=\"fs-20\">add</mat-icon> {{ newlabel | translate}}\r\n </button>\r\n</info-pagebar>\r\n\r\n<div [ngClass]=\"{ 'table-full': fullarea }\">\r\n <div class=\"table-responsive white\">\r\n <div class=\"table-title grid-search\" [ngStyle]=\"{ 'padding': (enabledSearch ? 10 : 0) + 'px 20px' }\">\r\n <form autocomplete=\"off\" #formSearch=\"ngForm\" (ngSubmit)=\"search()\">\r\n <div *ngIf=\"enabledSearch\" class=\"search-container row\">\r\n <div class=\"col-md-{{(searchbuttons || []).length == 0 ? '10' : '9' }}\">\r\n <div class=\"row\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"col-md-{{(searchbuttons || []).length == 0 ? '2' : '3' }} align-right\" *ngIf=\"searchmodel != null\">\r\n <div class=\"search-buttons \">\r\n <ng-container *ngIf=\"searchonlyonebutton\">\r\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\">\r\n {{ 'Buscar' | translate }}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!searchonlyonebutton\">\r\n <button mat-button type=\"button\" color=\"warn\" (click)=\"cancelSearch()\" *ngIf=\"enabledcancelsearch\">\r\n <mat-icon class=\"fs-20\">close</mat-icon>\r\n </button>\r\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\">\r\n <mat-icon class=\"fs-20\">search</mat-icon>\r\n </button>\r\n \r\n <ng-container *ngFor=\"let b of searchbuttons\">\r\n <button mat-button type=\"button\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\" (click)=\"b.method()\">\r\n <mat-icon *ngIf=\"b.icon\" class=\"fs-20\">{{b.icon | translate}}</mat-icon> {{b.label | translate}}\r\n </button>\r\n </ng-container>\r\n \r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <fieldset *ngIf=\"!showPagebar\"><legend [innerHTML]=\"pagebarTitle | translate\"></legend></fieldset>\r\n <section class=\"loading-bar\"><mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\"></mat-progress-bar></section>\r\n\r\n <!-- <div id=\"auto-refresh\" *ngIf=\"autorefresh > 0\">\r\n <i class=\"material-icons\" matTooltip=\"{{ 'AutoRefresh' | translate }} {{ autorefresh }} seg\" matTooltipPosition=\"left\">access_time</i>\r\n </div> -->\r\n\r\n <table class=\"table table-hover\" [ngStyle]=\"{ 'min-height.px': tableHeight }\" [ngClass]=\"{ 'loading': loading, 'clickaccess': enabledclickaccess }\" *ngIf=\"data != null\">\r\n <thead>\r\n <tr>\r\n <th style=\"width: 5%;\" *ngIf=\"enabledclassicons && data?.length > 0 && data[0]?.Icon != null\"></th>\r\n\r\n <ng-container *ngFor=\"let col of colunasHeaders; let i = index\">\r\n <th *ngIf=\"colunasWidth[i] == ''\" [class]=\"'col_' + col.toLowerCase()\" [ngClass]=\"{ 'text-center': colunasType[i] == 'check', 'align-right': colunasType[i].startsWith('n') }\">{{ col | translate }}</th>\r\n <th *ngIf=\"colunasWidth[i] != ''\" [ngStyle]=\"{ 'width': colunasWidth[i] }\" [ngClass]=\"{ 'text-center': colunasType[i] == 'check', 'align-right': colunasType[i].startsWith('n') }\">{{ col | translate }}</th>\r\n </ng-container>\r\n\r\n <th class=\"actions align-right buttons\" *ngIf=\"(templateurl != '') || (buttons != null && buttons.length > 0) || enableddetail || enabledview || enabledcols || ((disabledcol == '') && enablededit && hasPermissionEdit) || ((disabledcol == '') && enableddelete && hasPermissionDelete)\">\r\n <button mat-icon-button type=\"button\"[matTooltip]=\"newlabel | translate\" matTooltipPosition=\"left\" (click)=\"add()\" *ngIf=\"!showPagebar && enablednew && hasPermissionNew\">\r\n <mat-icon>add_circle</mat-icon>\r\n </button>\r\n <button mat-icon-button type=\"button\" class=\"managercols\" [matTooltip]=\"'CustomizarTabela' | translate\" matTooltipPosition=\"left\" (click)=\"customizeTable()\" *ngIf=\"enabledcols\">\r\n <mat-icon class=\"icon-out\">settings</mat-icon>\r\n </button>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"grid-content\">\r\n <tr *ngFor=\"let mod of data; let j = index\" [ngClass]=\"{ 'default-color': !enabledclassicons, 'clickable': (((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || enabledview) }\" [class]=\"mod.Class\" (click)=\"access(mod, $event)\">\r\n <td *ngIf=\"enabledclassicons && mod?.Icon != null\">\r\n <ng-container *ngFor=\"let icon of icons\">\r\n <i class=\"material-icons\" [matTooltip]=\"icon.Tooltip | translate\" *ngIf=\"icon.Name == mod.Icon\" [ngClass]=\"{ 'icone-secundario': icon.Principal == false }\">{{icon.Icon}}</i>\r\n </ng-container>\r\n </td>\r\n\r\n <ng-container *ngFor=\"let col of colunasItens; let i = index\">\r\n <td *ngIf=\"mod[col] == null || mod[col] == undefined\"></td>\r\n <ng-container [ngSwitch]=\"colunasType[i]\" *ngIf=\"mod[col] != null && mod[col] != undefined\">\r\n <ng-container *ngSwitchCase=\"'label'\">\r\n <td [ngClass]=\"{ 'td-expansivel': mod[col].length > limitcharacters && enabledexpand == true}\" *ngIf=\"mod[col] !== true && mod[col] !== false && mod[col] !== 0 && mod[col] !== '0'\">\r\n <label [ngClass]=\"{'label-expansivel': enabledexpand == true && mod[col].length > limitcharacters, 'label-expandida': (colunasItensExpandidos[j] || [])[i] }\" *ngIf=\"colunasHtml[i] === true\" [innerHTML]=\"(mod[col] | translate:colunasTranslate[i]) || '' \"></label>\r\n <label class=\"break-word\" [ngClass]=\"{'label-expansivel': enabledexpand == true && mod[col].length > limitcharacters, 'label-expandida': (colunasItensExpandidos[j] || [])[i] }\" *ngIf=\"colunasHtml[i] === false\">{{ (mod[col] | translate:colunasHtml[i]) || '' }}</label>\r\n <div *ngIf=\"enabledexpand == true && mod[col].length > limitcharacters\" [ngClass]=\"{'mostrar-mais-expandido': (colunasItensExpandidos[j] || [])[i] }\" class=\"mostrar-mais\" (click)=\"mostrarMais(j, i, $event)\">\r\n <mat-icon [ngClass]=\"{'icone-expandido': (colunasItensExpandidos[j] || [])[i] }\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n <p *ngIf=\"i == 0 && mod.Badge != null && mod.Badge != undefined\">{{ mod.Badge | translate:colunasTranslate[i] }}</p>\r\n </td>\r\n <td *ngIf=\"mod[col] === true\"><mat-icon>check_box</mat-icon></td>\r\n <td *ngIf=\"mod[col] === false\"><mat-icon>check_box_outline_blank</mat-icon></td>\r\n <td *ngIf=\"mod[col] === 0 || mod[col] === '0'\">0</td>\r\n </ng-container>\r\n\r\n <td nowrap *ngSwitchCase=\"'date'\" [innerHTML]=\"mod[col] | date:'shortDate'\"></td>\r\n <td nowrap *ngSwitchCase=\"'datetime'\">{{ mod[col] | date:'shortDate' }} {{ mod[col] | date:'mediumTime' }}</td>\r\n <td nowrap *ngSwitchCase=\"'monthyear'\" [innerHTML]=\"mod[col] | date:'MM/yyyy'\"></td>\r\n <td nowrap *ngSwitchCase=\"'n0'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.0-0' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n2'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.2-2' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n4'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.4-4' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n6'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.6-6' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n9'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.9-9' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n12'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.12-12' }}</td>\r\n \r\n <td *ngSwitchCase=\"'check'\" class=\"text-center\">\r\n <ng-container *ngIf=\"mod[col] != null && (mod[col] === true || mod[col] == 1 || mod[col].toLowerCase() == 's'); then checked; else unchecked\"></ng-container>\r\n <ng-template #checked><mat-icon>check_box</mat-icon></ng-template>\r\n <ng-template #unchecked><mat-icon>check_box_outline_blank</mat-icon></ng-template>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"enabledclickaccess\">\r\n <td class=\"td-actions clickaccess\">\r\n <button mat-icon-button type=\"button\" (click)=\"access(mod, $event)\" *ngIf=\"enabledview\">\r\n <mat-icon>{{accessicon || 'arrow_forward'}}</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!enabledclickaccess\">\r\n <td class=\"td-actions\" *ngIf=\"(templateurl != '') || (buttons != null && buttons.length > 0) || (mod.Download != null) || enableddetail || (mod?.Info != null) || enabledview || ((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || ((disabledcol == '' || mod[disabledcol] === true) && enableddelete && hasPermissionDelete)\">\r\n\r\n <a mat-icon-button href=\"{{ templateurl.replace('{id}', mod.Id) }}\" target=\"_blank\" [matTooltip]=\"'Abrir' | translate\" *ngIf=\"templateurl != ''\">\r\n <mat-icon>visibility</mat-icon>\r\n </a>\r\n\r\n <ng-container *ngFor=\"let b of buttons\">\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"b.label | translate\" (click)=\"$event.stopPropagation(); b.modalComponent != null ? openCustomModal(b.modalComponent, b.widthModalComponent, mod) : b.api != null ? eventButton(mod, b.api, b.method, b.confirm) : navigateTo(b.navigateTo, b.passId, mod.Id)\" *ngIf=\"b.showOnlyClass == null || b.showOnlyClass == mod.Class\" [disabled]=\"b.disabledField && mod[b.disabledField] === true\">\r\n <mat-icon>{{b.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Download' | translate\" (click)=\"$event.stopPropagation(); download(mod.Download)\" *ngIf=\"mod.Download != null\">\r\n <mat-icon>file_download</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Detalhe' | translate\" (click)=\"$event.stopPropagation(); detail(mod)\" *ngIf=\"enableddetail\">\r\n <mat-icon>list</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Informacao' | translate\" (click)=\"$event.stopPropagation(); info(mod?.Info)\" *ngIf=\"mod?.Info != null\" [disabled]=\"mod?.Info == ''\">\r\n <mat-icon>info</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Excluir' | translate\" (click)=\"delete(mod, $event)\" *ngIf=\"(disabledcol == '' || mod[disabledcol] === true) && enableddelete && hasPermissionDelete && !mod.HideDelete\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Acessar' | translate\" (click)=\"edit(mod, $event)\" *ngIf=\"((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || enabledview\">\r\n <mat-icon>arrow_forward</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <span class=\"blank-table\" *ngIf=\"data != null && data.length == 0\">{{\"NenhumItemEncontrado\" | translate}}</span>\r\n\r\n <info-paginator #paginator [hidden]=\"!paged || (data != null && data.length == 0)\" [size]=\"size\" (change)=\"changePage($event)\" ></info-paginator>\r\n </div>\r\n</div>\r\n\r\n<div class=\"block\" *ngIf=\"loading\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>","<info-modal (onsave)=\"save()\" modaltitle=\"CustomizarTabela\" >\r\n <info-message color=\"warning\" class=\"min\">\r\n <ul>\r\n <li><mat-icon class=\"icon-out\">info</mat-icon>{{ 'CustomizarTabelaDescricao1' | translate }}</li>\r\n <li><mat-icon class=\"icon-out\">dangerous</mat-icon>{{ 'CustomizarTabelaDescricao2' | translate }}</li>\r\n </ul>\r\n \r\n </info-message>\r\n \r\n <ul class=\"listagem\">\r\n <ng-container *ngFor=\"let item of colunas\" >\r\n <li *ngIf=\"item.GridAtual\" >\r\n <info-checkbox [(ngModel)]=\"item.Exibir\" [placeholder]=\"item.Nome\" [name]=\"'chkcoluna' + item.Nome\" ></info-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</info-modal>","import { Component, OnInit, Input, AfterViewInit, EventEmitter, Output, ViewChild, ChangeDetectorRef, ContentChildren, Renderer2, ElementRef, Inject } from \"@angular/core\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\nimport { InfoFormPropModel } from \"../../model/form-prop.model\";\r\nimport { InfoPaginatorComponent } from \"../paginator/paginator.component\";\r\nimport { InfoDialogModal } from \"../../layouts/dialog/dialog.component\";\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { InfoAuthenticationService } from \"../../service/authentication.service\";\r\nimport { InfoTranslateService } from \"../../service/translate.service\";\r\nimport { InfoDialogButtons } from \"../../enum/dialog-buttons.enum\";\r\nimport { InfoModalAction } from \"../../enum/modal-action.enum\";\r\nimport { InfoPageAction } from \"../../enum/page-action.enum\";\r\nimport { InfoPagebarButtonModel } from \"../../model/pagebar-buttons.model\";\r\nimport { InfoGridButtonModel } from \"../../model/grid-button.model\";\r\nimport { InfoLastSearchModel } from \"../../model/last-search.model\";\r\nimport { InfoMethodGridButtonModel } from \"../../model/method-grid-button.model\";\r\nimport { NgModel, NgForm } from '@angular/forms';\r\nimport { QueryList } from '@angular/core';\r\nimport { InfoPlatformModel } from \"../../model/platform.model\";\r\n\r\n@Component({\r\n selector: 'info-grid',\r\n templateUrl: 'grid.component.html',\r\n styleUrls: ['grid.component.scss'],\r\n providers: [InfoFormPropModel]\r\n})\r\nexport class InfoGridComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() pagetitle = '';\r\n @Input() prefixtitle = '';\r\n @Input() description = '';\r\n @Input() pagebarbuttons: InfoPagebarButtonModel[] = [];\r\n @Input() fullarea = false;\r\n\r\n @Input() api: any = null;\r\n @Input() method: string = null;\r\n @Input() form: any = null;\r\n @Input() width: number = 800;\r\n @Input() parent: any = null;\r\n @Input() apidownload: any = null;\r\n @Input() methoddownload: string = null;\r\n\r\n @Input() backurl = '';\r\n @Input() newurl = '';\r\n @Input() newlabel = 'Novo';\r\n @Input() editurl = '';\r\n @Input() viewurl = '';\r\n @Input() templateurl = '';\r\n\r\n @Input() paged = false;\r\n @Input() size = 15;\r\n @Input() autorefresh = 0;\r\n\r\n @Input() enabledcols = true;\r\n @Input() enablednew = true;\r\n @Input() enablededit = true;\r\n @Input() enableddelete = true;\r\n @Input() enabledview = true;\r\n @Input() enabledcancelsearch = true;\r\n @Input() enableddetail = false;\r\n @Input() enabledclassicons = true;\r\n @Input() enabledclickaccess = false;\r\n @Input() enabledclickevent = false;\r\n @Input() enabledexpand = false;\r\n\r\n @Input() searchopened = false;\r\n @Input() searchonlyonebutton = false;\r\n @Input() disablesearchlast = false;\r\n @Input() statictitle = false;\r\n @Input() disabledcol = '';\r\n @Input() accessicon = 'arrow_forward';\r\n\r\n @Input() loadoninit = true;\r\n @Input() data: any[];\r\n @Input() searchmodel: any = null;\r\n\r\n @Output() onbeforesearch = new EventEmitter();\r\n @Output() onloadcomplete = new EventEmitter();\r\n @Output() onclosemodal = new EventEmitter();\r\n @Output() onnew = new EventEmitter();\r\n @Output() onedit = new EventEmitter();\r\n @Output() onview = new EventEmitter();\r\n @Output() ondelete = new EventEmitter();\r\n @Output() customdelete = new EventEmitter();\r\n\r\n @Input() dynamiccols: string = null;\r\n @Input() buttons: InfoGridButtonModel[] = [];\r\n @Input() searchbuttons: InfoMethodGridButtonModel[] = [];\r\n\r\n @Input() showmessageerror = false;\r\n @Input() defaultnewobject: any = null;\r\n \r\n @ContentChildren(NgModel) formModel: QueryList<NgModel>;\r\n @ViewChild(NgForm, { static: false }) formSearch: NgForm;\r\n \r\n messages: String[] = [];\r\n resultTitle = '';\r\n enabledSearch = false;\r\n searchModelReset: any = null;\r\n\r\n showPagebar = false;\r\n hasPermissionNew = false;\r\n hasPermissionEdit = false;\r\n hasPermissionDelete = false;\r\n\r\n tableHeight = 0;\r\n loading = false;\r\n pagebarTitle = '';\r\n icons: any[] = [];\r\n colunasItens = [];\r\n colunasHeaders = [];\r\n colunasPadraoHeaders = [];\r\n colunasType = [];\r\n colunasWidth = [];\r\n colunasTranslate = [];\r\n colunasHtml = [];\r\n colunasItensExpandidos = [];\r\n currentUrl: string = null;\r\n url: string = null;\r\n chaveStorage: string = 'cols';\r\n identificador: string = null;\r\n limitcharacters: number = 250;\r\n callTimeout: any;\r\n\r\n @ViewChild('paginator', { static: false }) paginator: InfoPaginatorComponent;\r\n @Output() parentIdUrlChange = new EventEmitter();\r\n\r\n parentIdUrlValue: number = null;\r\n @Input()\r\n get parentIdUrl() {\r\n return this.parentIdUrlValue;\r\n }\r\n\r\n set parentIdUrl(value) {\r\n this.parentIdUrlValue = value;\r\n this.parentIdUrlChange.emit(this.parentIdUrlValue);\r\n }\r\n\r\n _cols: string = '';\r\n @Input()\r\n get cols() {\r\n return this._cols;\r\n }\r\n\r\n set cols(value) {\r\n this._cols = value;\r\n this.setColumns();\r\n }\r\n\r\n constructor(private _dialog: InfoDialogModal, \r\n public _platform: InfoPlatformModel,\r\n public modal: MatDialog, \r\n private _prop: InfoFormPropModel, \r\n private _dataAccessService: InfoDataService, \r\n private _router: Router,\r\n private _activatedRoute: ActivatedRoute,\r\n private _authenticationService: InfoAuthenticationService, \r\n private _changeDetectorRef: ChangeDetectorRef, \r\n private _translate: InfoTranslateService, \r\n private _lastSearch: InfoLastSearchModel,\r\n private _renderer: Renderer2, \r\n private _element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n clearTimeout(this.callTimeout);\r\n this.url = (this._activatedRoute.snapshot.data['URL'] || this._router.url).toLowerCase();\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n this.setPagebarTitle();\r\n\r\n if (this.searchmodel != null) {\r\n if (this.method == null)\r\n this.method = 'Search';\r\n\r\n this.searchModelReset = Object.assign({}, this.searchmodel);\r\n }\r\n\r\n else if (this.parent != null && (this.method == null || this.method == ''))\r\n this.method = 'GetByParentId';\r\n\r\n if (!this.disablesearchlast && this._authenticationService.getUrlGenerica(this._lastSearch.url) == this._authenticationService.getUrlGenerica(this.url)) {\r\n this.enabledSearch = this._lastSearch.enabledSearch;\r\n \r\n if (this.searchmodel != null && this._lastSearch.model != null)\r\n Object.assign(this.searchmodel, this._lastSearch.model);\r\n }\r\n\r\n if (this.searchopened)\r\n this.enabledSearch = true;\r\n\r\n if (this.autorefresh > 0)\r\n this.currentUrl = location.href;\r\n\r\n this._prop.api = this.api;\r\n this._prop.modalComponent = this.form;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.identificador = this.api + '_' + this.method;\r\n this.showPagebar = this.pagetitle != '' || this.prefixtitle != '';\r\n \r\n if (!this.fullarea && this._platform.Config.ux <= 2)\r\n this.fullarea = this.showPagebar;\r\n\r\n if (this.searchmodel && this.formModel.length > 0 && this.formSearch)\r\n this.formModel.toArray().forEach(model => this.formSearch.addControl(model));\r\n\r\n if (!this.disablesearchlast && this.paged && this._authenticationService.getUrlGenerica(this._lastSearch.url) == this._authenticationService.getUrlGenerica(this.url))\r\n this.paginator.index = this._lastSearch.index;\r\n\r\n if (this.dynamiccols == null) {\r\n this.setColumns();\r\n this.getPermission();\r\n\r\n if (this.loadoninit)\r\n this.getData();\r\n\r\n else this.hideLoad();\r\n }\r\n\r\n else this._dataAccessService\r\n .get(this.api, this.dynamiccols)\r\n .subscribe(r => {\r\n this.cols = r.data;\r\n this.setColumns();\r\n this.getPermission();\r\n\r\n if (this.loadoninit)\r\n this.getData();\r\n\r\n else this.hideLoad();\r\n });\r\n\r\n if (this.enabledclickevent)\r\n this.enabledclickaccess = true;\r\n\r\n \r\n }\r\n\r\n ngOnDestroy() {\r\n clearTimeout(this.callTimeout);\r\n }\r\n\r\n setColumns() {\r\n\r\n if (this.cols == '')\r\n alert('Nenhuma coluna informada');\r\n\r\n if (this.cols != '') {\r\n\r\n let colunasOcultas = [];\r\n if (localStorage.getItem(this.chaveStorage) != null){\r\n let dadosStorage = JSON.parse(localStorage.getItem(this.chaveStorage));\r\n\r\n if (dadosStorage.findIndex(c => c.Identificador == this.identificador) > -1){\r\n colunasOcultas = dadosStorage.find(c => c.Identificador == this.identificador).Colunas;\r\n\r\n if (colunasOcultas.length > 0)\r\n colunasOcultas = colunasOcultas.filter(c => !c.Exibir).map(c => c.Nome);\r\n }\r\n }\r\n\r\n this.colunasItens = [];\r\n this.colunasHeaders = [];\r\n this.colunasPadraoHeaders = [];\r\n this.colunasType = [];\r\n this.colunasWidth = [];\r\n this.colunasTranslate = [];\r\n this.colunasHtml = [];\r\n \r\n this.cols.split(',').forEach(registro => {\r\n\r\n let translate: boolean = registro.indexOf('#') == -1;\r\n let html: boolean = registro.indexOf('@') == -1;\r\n registro = registro.replace(/#/g, '').replace(/@/g, '');\r\n\r\n let column: string = registro;\r\n let header: string = registro;\r\n let type: string = '';\r\n let width: string = '';\r\n\r\n if (header.indexOf(':') > -1) {\r\n let dados = registro.split(':');\r\n column = dados[0];\r\n header = dados[1];\r\n }\r\n\r\n if (header.indexOf('=') > -1) {\r\n let parts = header.split('=');\r\n\r\n if (column == header)\r\n column = parts[0];\r\n\r\n header = parts[0];\r\n type = parts[1];\r\n }\r\n\r\n let aux = type == '' ? header : type;\r\n if (aux.indexOf('*') > -1) {\r\n let headerInfo = aux.split('*');\r\n\r\n if (type == '') {\r\n if (column == header)\r\n column = headerInfo[0];\r\n\r\n header = headerInfo[0];\r\n\r\n } else type = headerInfo[0];\r\n\r\n width = headerInfo[1];\r\n\r\n if (width.indexOf('%') < 0 && width.indexOf('px') < 0)\r\n width += 'px';\r\n }\r\n\r\n if (colunasOcultas.indexOf(header) < 0) {\r\n this.colunasItens.push(column);\r\n this.colunasHeaders.push(header);\r\n this.colunasType.push(type == '' ? 'label' : type);\r\n this.colunasWidth.push(width);\r\n this.colunasTranslate.push(translate);\r\n this.colunasHtml.push(html);\r\n }\r\n\r\n this.colunasPadraoHeaders.push(header);\r\n });\r\n\r\n if (this.colunasItens.length == 1 && this.colunasWidth.length == 1)\r\n this.colunasWidth[0] = '100%';\r\n }\r\n }\r\n\r\n setItensExpandidos() {\r\n this.colunasItensExpandidos = [];\r\n for (let i = 0; i < this.data?.length; i++) {\r\n let row = [];\r\n for (let j = 0; j < this.colunasItens?.length; j++) {\r\n row.push(false);\r\n }\r\n this.colunasItensExpandidos.push(row);\r\n }\r\n }\r\n\r\n setPagebarTitle() {\r\n let aux = '';\r\n\r\n if (this.prefixtitle != '')\r\n aux = this._translate.translate(this.prefixtitle);\r\n\r\n if (this.resultTitle != '')\r\n aux += (this.prefixtitle != '' ? ' / ' : '') + this._translate.translate(this.resultTitle);\r\n\r\n if (this.pagetitle != '')\r\n aux += (this.resultTitle != '' || this.prefixtitle != '' ? ' / ' : '') + this._translate.translate(this.pagetitle);\r\n\r\n this.pagebarTitle = aux;\r\n }\r\n\r\n navigateTo(url: string, passId: boolean, id?: string) {\r\n\r\n if (passId) {\r\n if (url.indexOf(\":id\") > -1)\r\n this._router.navigateByUrl(url.replace(':id', id));\r\n else this._router.navigate([url, id]);\r\n }\r\n\r\n else this._router.navigateByUrl(url);\r\n }\r\n\r\n openCustomModal(modalComponent: any, width: Number, model: any = null) {\r\n\r\n this._prop.set(InfoPageAction.None, model);\r\n this.openModal(modalComponent, width);\r\n }\r\n\r\n getData() {\r\n this.messages = [];\r\n\r\n if (this.api == null || this.api == '') {\r\n this.hideLoad();\r\n return;\r\n \r\n } else if (this.searchmodel != null)\r\n this.getSearch();\r\n\r\n else if (this.paged)\r\n this.getPaged();\r\n\r\n else if (this.parent == null)\r\n this.getAll();\r\n\r\n else this.getByParentId();\r\n }\r\n\r\n getAll(): any {\r\n\r\n if (this.searchmodel == null)\r\n this._dataAccessService\r\n .get(this.api, this.method)\r\n .subscribe(r => this.getDataReturn(r));\r\n\r\n else this._dataAccessService\r\n .post(this.api, this.searchmodel, this.method)\r\n .subscribe(r => this.getDataReturn(r));\r\n }\r\n\r\n getPaged(): any {\r\n\r\n let params = this.parent == null ? \"\" : \"id=\" + this.parent + \"&\";\r\n params += 'index=' + this.paginator.index + '&size=' + this.size;\r\n\r\n this._dataAccessService\r\n .get(this.api, this.method, params)\r\n .subscribe(r => this.getDataReturn(r, true));\r\n }\r\n\r\n getSearch(): any {\r\n this.onbeforesearch.emit();\r\n\r\n this.messages = [];\r\n if (this.paged) {\r\n this.searchmodel.Index = this.paginator.index;\r\n this.searchmodel.Size = this.size;\r\n }\r\n\r\n var dataInicial = this.searchmodel[\"DataInicial\"];\r\n var dataFinal = this.searchmodel[\"DataFinal\"];\r\n if (dataInicial != null && dataFinal != null && new Date(dataInicial) > new Date(dataFinal)) {\r\n this.messages.push('DataInicialMaiorFinal');\r\n this.hideLoad();\r\n return;\r\n }\r\n\r\n var dataInicio = this.searchmodel[\"DataInicio\"];\r\n var dataFim = this.searchmodel[\"DataFim\"];\r\n if (dataInicio != null && dataFim != null && new Date(dataInicio) > new Date(dataFim)) {\r\n this.messages.push('DataInicioMaiorFim');\r\n this.hideLoad();\r\n return;\r\n }\r\n\r\n this._dataAccessService\r\n .post(this.api, this.searchmodel, this.method)\r\n .subscribe(r => this.getDataReturn(r, this.paged));\r\n }\r\n\r\n getByParentId(): any {\r\n this._dataAccessService\r\n .get(this.api, this.method, 'id=' + this.parent)\r\n .subscribe(r => this.getDataReturn(r, false));\r\n }\r\n\r\n getDataReturn(result: any, refreshPaginator: boolean = false) {\r\n if (!this.disablesearchlast) {\r\n this._lastSearch.url = this._authenticationService.getUrlGenerica(this.url);\r\n this._lastSearch.enabledSearch = this.enabledSearch;\r\n this._lastSearch.model = Object.assign({}, this.searchmodel);\r\n\r\n if (this.paged)\r\n this._lastSearch.index = this.paginator.index;\r\n }\r\n\r\n if (result.success) {\r\n this.data = result.data;\r\n\r\n if (!this.statictitle && result.name != null)\r\n this.resultTitle = this._translate.translate(result.name);\r\n\r\n if (result.description != null)\r\n this.description = result.description;\r\n\r\n if (result.parentId != null)\r\n this.parentIdUrl = result.parentId;\r\n\r\n if (refreshPaginator)\r\n this.paginator.refresh(result.total);\r\n\r\n if (this.autorefresh > 0 && this.currentUrl == location.href) {\r\n clearTimeout(this.callTimeout);\r\n this.callTimeout = setTimeout(() => { this.getData(); }, this.autorefresh * 1000);\r\n }\r\n \r\n this.fillIcons();\r\n this.setItensExpandidos();\r\n\r\n } else {\r\n this.data = [];\r\n if(this.showmessageerror) this.messages = result.messages;\r\n } \r\n\r\n this.hideLoad();\r\n this.onloadcomplete.emit();\r\n }\r\n\r\n changePage(index: number) {\r\n this.loading = true;\r\n this.paginator.index = index;\r\n\r\n if (this.searchmodel != null)\r\n this.getSearch();\r\n\r\n else this.getPaged();\r\n }\r\n\r\n cancelSearch() {\r\n Object.assign(this.searchmodel, this.searchModelReset);\r\n\r\n if (!this.searchopened)\r\n this.enabledSearch = false;\r\n\r\n this.search();\r\n }\r\n\r\n search() {\r\n this.loading = true;\r\n \r\n if (this.paged)\r\n this.paginator.index = 0;\r\n\r\n this.getData();\r\n }\r\n\r\n add() {\r\n\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.New, this.defaultnewobject);\r\n this.openModal();\r\n\r\n } else {\r\n if (this.newurl == null || this.newurl == '')\r\n this.newurl = this.url;\r\n\r\n this.newurl += '/novo';\r\n this.newurl = this.newurl.replace('//', '/');\r\n\r\n this._router.navigateByUrl(this.newurl);\r\n }\r\n\r\n this.onnew.emit();\r\n }\r\n\r\n detail(model: any): void {\r\n this._prop.set(InfoPageAction.Search, model);\r\n this.openModal();\r\n }\r\n\r\n mostrarMais(linha, coluna, e: Event) {\r\n e.stopPropagation();\r\n this.colunasItensExpandidos[linha][coluna] = !this.colunasItensExpandidos[linha][coluna] \r\n }\r\n\r\n access(model: any, e: Event): void {\r\n e.stopPropagation();\r\n\r\n if (this.enabledclickaccess) {\r\n if (this.enabledclickevent)\r\n this.onview.emit(model);\r\n \r\n else this.edit(model, e);\r\n return;\r\n }\r\n\r\n if (((this.disabledcol == '' || model[this.disabledcol] === true) && this.enablededit && this.hasPermissionEdit) || this.enabledview)\r\n this.edit(model, e);\r\n }\r\n\r\n view(model: any, e: Event): void {\r\n e.stopPropagation();\r\n\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.View, model);\r\n this.openModal();\r\n\r\n } else {\r\n if (this.viewurl == null || this.viewurl == '')\r\n this.viewurl = this.url;\r\n \r\n this.viewurl += '/' + model.Id + (this.enabledclickaccess ? '' : '/visualizar');\r\n this.viewurl = this.viewurl.replace('//', '/');\r\n\r\n this._router.navigateByUrl(this.viewurl);\r\n }\r\n\r\n this.onview.emit(model);\r\n }\r\n\r\n edit(model: any, e: Event): void {\r\n e.stopPropagation();\r\n \r\n if (this.hasPermissionEdit) {\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.Edit, model);\r\n this.openModal();\r\n\r\n } else {\r\n if (this.editurl == null || this.editurl == '')\r\n this.editurl = this.url;\r\n\r\n this.editurl = this.editurl.replace('//', '/');\r\n\r\n this._router.navigate([this.editurl, model.Id]);\r\n }\r\n\r\n this.onedit.emit(model);\r\n } else {\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.View, model);\r\n this.openModal();\r\n \r\n } else {\r\n if (this.viewurl == null || this.viewurl == '')\r\n this.viewurl = this.url;\r\n \r\n this.viewurl += '/' + model.Id + (this.enabledclickaccess ? '' : '/visualizar');\r\n this.viewurl = this.viewurl.replace('//', '/');\r\n \r\n this._router.navigateByUrl(this.viewurl);\r\n }\r\n \r\n this.onview.emit(model);\r\n }\r\n }\r\n\r\n delete(model: any, e: Event) {\r\n e.stopPropagation();\r\n \r\n if(this.customdelete.observers.length > 0) {\r\n this.customdelete.emit(model);\r\n return;\r\n }\r\n\r\n this._dialog.YesOrNo('MensagemExcluir').subscribe(r => {\r\n if (r.button == InfoDialogButtons.Yes) {\r\n this.loading = true;\r\n\r\n this._dataAccessService.delete(this.api, model.Id).subscribe(d => {\r\n this.ondelete.emit(d);\r\n\r\n if (d.success)\r\n this.getData();\r\n else {\r\n this.hideLoad();\r\n if (this.showmessageerror) this.messages = d.messages;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n customizeTable(){\r\n this._prop.set(InfoPageAction.Edit, { \r\n Identificador: this.identificador, \r\n Colunas: this.colunasPadraoHeaders, \r\n Chave: this.chaveStorage \r\n });\r\n\r\n this._prop.modalAction = InfoModalAction.None;\r\n let ref = this.modal.open(InfoGridModalComponent, {\r\n data: this._prop,\r\n disableClose: true,\r\n width: '500px'\r\n });\r\n\r\n ref.afterClosed().subscribe((r: InfoFormPropModel) => {\r\n if (r == null)\r\n return;\r\n\r\n if (r.modalAction == InfoModalAction.Save){\r\n this.setColumns();\r\n this.getData();\r\n }\r\n });\r\n }\r\n\r\n fillIcons() {\r\n this.icons = [];\r\n\r\n if (this.data == null)\r\n return;\r\n\r\n this.data.forEach(ret => {\r\n\r\n let item = ret['Icon'];\r\n if (item == null)\r\n return;\r\n\r\n if (item.indexOf('|') > -1) {\r\n let retorno = item\r\n .split('|')\r\n .map(icone => {\r\n\r\n if (icone.indexOf(':') > -1) {\r\n let dados = icone.split(':');\r\n return { Name: item, Icon: dados[0], Tooltip: dados[1], Principal: true };\r\n\r\n } else return { Name: item, Icon: icone, Tooltip: '', Principal: true };\r\n\r\n }).filter(a => a.Icon != null && a.Icon != '');\r\n\r\n let index = 0;\r\n retorno.forEach(element => {\r\n if (this.icons.find(a => a.Name == element.Name && a.Icon == element.Icon) == null){\r\n element.Principal = index == 0;\r\n this.icons.push(element);\r\n }\r\n\r\n index++;\r\n });\r\n } else {\r\n let element: any = [];\r\n\r\n if (item.indexOf(':') > -1) {\r\n let dados = item.split(':');\r\n element = { Name: item, Icon: dados[0], Tooltip: dados[1], Principal: true };\r\n\r\n } else element = { Name: item, Icon: item, Tooltip: \"\", Principal: true };\r\n\r\n if (this.icons.find(a => a.Name == element.Name) == null)\r\n this.icons.push(element);\r\n }\r\n });\r\n }\r\n\r\n info(value) {\r\n this._dialog.alert(value);\r\n }\r\n\r\n back() {\r\n this.navigateTo(this.backurl + (this.parentIdUrl == null ? \"\" : \"/\" + this.parentIdUrl), false);\r\n }\r\n\r\n openModal(modalComponent: any = this.form, width: Number = this.width) {\r\n this._prop.modalAction = InfoModalAction.None;\r\n\r\n let ref = this.modal.open(modalComponent, {\r\n data: this._prop,\r\n disableClose: true,\r\n width: width + 'px'\r\n });\r\n\r\n ref.afterClosed().subscribe((r: InfoFormPropModel) => {\r\n if (r == null)\r\n return;\r\n\r\n if (r.modalAction == InfoModalAction.Save)\r\n this.getData();\r\n\r\n this.onclosemodal.emit(r);\r\n });\r\n\r\n ref.keydownEvents().subscribe((r) => {\r\n if (!this.loading && (r.key == \"Escape\" || r.key == \"Esc\" || r.key == \"27\"))\r\n ref.close();\r\n });\r\n }\r\n\r\n hideLoad() {\r\n this.setPagebarTitle();\r\n this.loading = false;\r\n }\r\n\r\n getPermission() {\r\n this.hasPermissionNew = this._authenticationService.hasPermission(this.url, 'new');\r\n this.hasPermissionEdit = this._authenticationService.hasPermission(this.url, 'edit');\r\n this.hasPermissionDelete = this._authenticationService.hasPermission(this.url, 'remove');\r\n this._changeDetectorRef.detectChanges();\r\n }\r\n\r\n download(arquivoId: any) {\r\n if (this.apidownload == null)\r\n alert('API Download está null');\r\n\r\n this.loading = true;\r\n this._dataAccessService.get(this.apidownload, (this.methoddownload != null ? this.methoddownload : 'Get'), \"id=\" + arquivoId).subscribe(r => {\r\n this.messages = r.messages;\r\n\r\n if (r.success && r.data != null) {\r\n var binaryString = window.atob(r.data.Conteudo);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n\r\n var blob = new Blob([bytes]);\r\n let fileURL = URL.createObjectURL(blob);\r\n let elementA: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;\r\n elementA.href = fileURL;\r\n elementA.download = r.data.Nome;\r\n document.body.appendChild(elementA);\r\n elementA.click();\r\n document.body.removeChild(elementA);\r\n \r\n }\r\n this.loading = false;\r\n });\r\n }\r\n\r\n eventButton(model: any, api: any, method: string, confirm: boolean = true) {\r\n if (confirm) {\r\n this._dialog\r\n .YesOrNo('MensagemConfirmar')\r\n .subscribe(ret => {\r\n if (ret.button == InfoDialogButtons.Yes) {\r\n this.loading = true;\r\n this._dataAccessService.post(api, model, method).subscribe(r => {\r\n if (r.success)\r\n this.getData();\r\n else if(this.showmessageerror)\r\n this.messages = r.messages;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n } else {\r\n this.loading = true;\r\n this._dataAccessService.post(api, model, method).subscribe(r => {\r\n if (r.success)\r\n this.getData();\r\n else if(this.showmessageerror)\r\n this.messages = r.messages;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n}\r\n\r\n@Component({\r\n templateUrl: 'grid.modal.html',\r\n providers: [InfoFormPropModel]\r\n})\r\nexport class InfoGridModalComponent {\r\n\r\n identificador: string;\r\n chaveStorage: string;\r\n colunas: any = [];\r\n dadosStorage: any = null;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public _prop: InfoFormPropModel, private _ref: MatDialogRef<InfoGridModalComponent>, private _modal: MatDialog){\r\n }\r\n\r\n ngOnInit(){\r\n this.identificador = this._prop.data.Identificador;\r\n this.chaveStorage = this._prop.data.Chave;\r\n\r\n let colunasGrid = this._prop.data.Colunas.map(c => { return { Nome: c, Exibir: true, GridAtual: true }; });\r\n\r\n if (localStorage.getItem(this.chaveStorage) == null)\r\n localStorage.setItem(this.chaveStorage, JSON.stringify([]));\r\n\r\n this.dadosStorage = JSON.parse(localStorage.getItem(this.chaveStorage));\r\n\r\n if (this.dadosStorage.findIndex(c => c.Identificador == this.identificador) < 0)\r\n this.dadosStorage.push({ Identificador: this.identificador, Colunas: colunasGrid });\r\n\r\n let colunasGeral = this.dadosStorage.find(c => c.Identificador == this.identificador).Colunas;\r\n \r\n //Adiciona possíveis novas colunas\r\n colunasGrid.filter(g => colunasGeral.map(c => c.Nome).indexOf(g.Nome) < 0).forEach(novaColuna => {\r\n colunasGeral.push(novaColuna);\r\n });\r\n\r\n //Exibe apenas as colunas presentes no grid atual\r\n this.colunas = colunasGeral.map(c => ({ ...c, GridAtual: colunasGrid.findIndex(g => g.Nome == c.Nome) > -1 }));\r\n }\r\n\r\n save(){\r\n this.dadosStorage.find(c => c.Identificador == this.identificador).Colunas = this.colunas;\r\n localStorage.setItem(this.chaveStorage, JSON.stringify(this.dadosStorage));\r\n \r\n this._prop.modalAction = InfoModalAction.Save;\r\n this._ref.close(this._prop);\r\n }\r\n}","<div class=\"row\" *ngIf=\"!disabled\" >\r\n <info-input placeholder=\"{{ 'De' | translate}} {{ percent ? '%' : '' }}\" name=\"De\" [(ngModel)]=\"novoValor.De\" *ngIf=\"!hiddenDe\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <info-input placeholder=\"{{ 'Ate' | translate}} {{ percent ? '%' : '' }}\" name=\"Ate\" [(ngModel)]=\"novoValor.Ate\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <info-input placeholder=\"{{ 'Valor' | translate}} {{ percent ? '%' : '' }}\" name=\"Valor\" [(ngModel)]=\"novoValor.Valor\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <div class=\"col-md-3\">\r\n <button mat-button type=\"button\" color=\"primary\" (click)=\"add()\" class=\"mt-2\" ><mat-icon class=\"fs-20\">add_circle</mat-icon> {{ 'AddValor' | translate }}</button>\r\n </div>\r\n</div>\r\n\r\n<div class=\"col-md-12\" *ngIf=\"model == null || getModel().length == 0\" ><mat-icon style=\"top: 6px;\" class=\"mr-2\">info</mat-icon> {{ 'UtilizeCamposAcimaAdicionarItens' | translate }}</div>\r\n\r\n<ul *ngIf=\"model != null\" id=\"list-values\" >\r\n<li class=\"row header\" *ngIf=\"disabled\">\r\n <label class=\"col-md-3\" *ngIf=\"!hiddenDe\" >{{ 'De' | translate }}</label>\r\n <label class=\"col-md-3\" >{{ 'Ate' | translate }}</label>\r\n <label class=\"col-md-3\" >{{ 'Valor' | translate }}</label>\r\n</li>\r\n\r\n<li *ngFor=\"let item of getModel(); let i = index\" class=\"row\" [ngClass]=\"{ 'silver': i % 2 == 0 }\" >\r\n <div class=\"col-md-3\" *ngIf=\"!hiddenDe\" >\r\n <info-input name=\"ListaValorDe\" [ngModel]=\"item.De\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <info-input name=\"ListaValorAte\" [ngModel]=\"item.Ate\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <info-input name=\"ListaValorValor\" [ngModel]=\"item.Valor\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <ng-container *ngIf=\"!disabled\">\r\n <!-- <button type=\"button\" matTooltip=\"{{ 'OrdernarAcima' | translate }}\" mat-icon-button [disabled]=\"item.Indice <= 0\" (click)=\"alterarIndice(item, item.Indice - 1)\">\r\n <mat-icon>arrow_upward</mat-icon>\r\n </button>\r\n <button type=\"button\" matTooltip=\"{{ 'OrdernarAbaixo' | translate }}\" mat-icon-button [disabled]=\"item.Indice >= (model.length - 1)\" (click)=\"alterarIndice(item, item.Indice + 1)\">\r\n <mat-icon>arrow_downward</mat-icon>\r\n </button> -->\r\n <button type=\"button\" color=\"warn\" matTooltip=\"{{ 'Excluir' | translate }}\" mat-icon-button (click)=\"remover(item)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n</li>\r\n</ul>\r\n\r\n\r\n<info-alert [messages]=\"messages\"></info-alert>","import { Component, Input, OnChanges } from \"@angular/core\";\r\nimport { InfoDialogModal } from \"../../layouts/dialog/dialog.component\";\r\nimport { InfoDialogButtons } from \"../../enum/dialog-buttons.enum\";\r\n\r\n@Component({\r\n selector: 'info-input-list',\r\n templateUrl: 'input-list.component.html',\r\n styleUrls: ['input-list.component.scss']\r\n})\r\nexport class InfoInputListComponent implements OnChanges {\r\n \r\n @Input() model: any = []\r\n @Input() readonly: boolean = false\r\n @Input() percent: boolean = false\r\n @Input() hiddenDe: boolean = false\r\n @Input() disabled: boolean = false\r\n\r\n mask: string = \"n2\";\r\n @Input() \r\n get ismask() {\r\n return this.mask;\r\n }\r\n\r\n set ismask(value) {\r\n this.mask = (value == null ? this.mask : value);\r\n }\r\n\r\n messages: string[] = [];\r\n novoValor = { De: null, Ate: null, Valor: null, Excluir: false };\r\n\r\n constructor(private _dialog: InfoDialogModal) { }\r\n\r\n ngOnChanges() {\r\n if (this.model == null)\r\n this.model = [];\r\n\r\n for (var i = 0; i < this.model.length; i++)\r\n this.model[i].Excluir = false;\r\n }\r\n\r\n getModel(): any[]{\r\n if (!this.model || this.model == null)\r\n return [];\r\n\r\n return this.model.filter(m => !m.Excluir);\r\n }\r\n\r\n add() {\r\n this.messages = [];\r\n\r\n if (this.hiddenDe && this.novoValor.Ate == null)\r\n this.messages.push('InformeUmValorDe');\r\n\r\n if (!this.hiddenDe && this.novoValor.De == null && this.novoValor.Ate == null)\r\n this.messages.push('InformeUmValorDeOuAte');\r\n\r\n if (!this.hiddenDe && this.novoValor.Ate < this.novoValor.De)\r\n this.messages.push('ValorAteMenorQueDe');\r\n\r\n if (this.novoValor.Valor == null)\r\n this.messages.push('InformeValor');\r\n\r\n if (this.messages.length > 0){\r\n\r\n \r\n\r\n return;\r\n }\r\n\r\n this.model.push({ De: this.novoValor.De, Ate: this.novoValor.Ate, Valor: this.novoValor.Valor, Excluir: false });\r\n this.novoValor = { De: null, Ate: null, Valor: null, Excluir: false };\r\n\r\n this.ordernar();\r\n }\r\n\r\n remover(item: any){\r\n\r\n this._dialog.YesOrNo('MensagemExcluir').subscribe(r => {\r\n if (r.button == InfoDialogButtons.No)\r\n return;\r\n\r\n item.Excluir = true;\r\n this.model.splice(this.model.findIndex(m => m == item), 1);\r\n this.ordernar();\r\n });\r\n }\r\n\r\n ordernar(){\r\n\r\n this.model = this.model.sort((a, b) => { \r\n if (this.hiddenDe ? (a.Ate < b.Ate) : (a.De < b.De))\r\n return -1;\r\n\r\n else if (this.hiddenDe ? (a.Ate > b.Ate) : (a.De > b.De))\r\n return 1;\r\n\r\n else return 0;\r\n });\r\n }\r\n}","<div class=\"row\">\r\n <div [ngClass]=\"{'col-md-6': !onelist, 'col-md-12': onelist}\" class=\"pr-0\">\r\n <mat-form-field class=\"col-md-12\" >\r\n <input matInput placeholder=\"{{ filterlabel | translate}}\" name=\"FilterList\" [(ngModel)]=\"filterList\" >\r\n </mat-form-field>\r\n\r\n <div class=\"col-md-12\">\r\n <label class=\"description\" *ngIf=\"filterdescription != '' || selecteddescription != ''\"> {{ filterdescription | translate }}</label>\r\n <div class=\"actions\" *ngIf=\"!disabled\">\r\n <a (click)=\"marcarFiltrados(filterList, true)\">{{'MarcarFiltrados' | translate}}</a>\r\n <a (click)=\"marcarTodos(true)\">{{'MarcarTodos' | translate}}</a>\r\n <a (click)=\"marcarFiltrados(filterList, false)\">{{'DesmarcarFiltrados' | translate}}</a>\r\n <a (click)=\"marcarTodos(false)\">{{'DesmarcarTodos' | translate}}</a>\r\n </div>\r\n\r\n <ul class=\"checkbox-list\">\r\n <li *ngFor=\"let item of getModel(filterList)\" [(value)]=\"item.Id\">\r\n <mat-checkbox [(ngModel)]=\"item.Selecionado\" [disabled]=\"disabled\"><span [innerHTML]=\"item.Descricao\"></span></mat-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-md-12 align-right\"><small>{{message}}</small></div>\r\n </div>\r\n\r\n <div class=\"col-md-6 pr-0\" *ngIf=\"!onelist\">\r\n <mat-form-field class=\"col-md-12\">\r\n <input matInput placeholder=\"{{ selectedlabel | translate}}\" name=\"FilterSelected\" [(ngModel)]=\"filterSelected\" >\r\n </mat-form-field>\r\n\r\n <div class=\"col-md-12\">\r\n <label class=\"description\" *ngIf=\"filterdescription != '' || selecteddescription != ''\"> {{ selecteddescription | translate }}</label>\r\n <div class=\"actions\" *ngIf=\"!disabled\">\r\n <a (click)=\"marcarFiltrados(filterSelected, false, true)\">{{'DesmarcarFiltrados' | translate}}</a>\r\n <a (click)=\"marcarTodos(false)\">{{'DesmarcarTodos' | translate}}</a>\r\n </div>\r\n\r\n <ul class=\"checkbox-list\">\r\n <li *ngFor=\"let item of getModel(filterSelected, true)\" [(value)]=\"item.Id\" >\r\n <mat-checkbox [(ngModel)]=\"item.Selecionado\" [indeterminate]=\"true\" [disabled]=\"disabled\"><span [innerHTML]=\"item.Descricao\"></span></mat-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-md-12 align-right\"><small>{{message}}</small></div>\r\n </div>\r\n</div>","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { InfoTranslateService } from \"../../service/translate.service\";\r\n\r\n@Component({\r\n selector: 'info-list-checkbox',\r\n templateUrl: 'list-checkbox.component.html',\r\n styles: ['ul.checkbox-list { height: 270px; overflow-y: auto }']\r\n})\r\nexport class InfoListCheckboxComponent implements OnInit {\r\n\r\n @Input() filterlabel: string = 'Filtrar';\r\n @Input() filterdescription: string;\r\n\r\n @Input() selectedlabel: string = 'Filtrar';\r\n @Input() selecteddescription: string;\r\n\r\n @Input() model: any[] = [];\r\n @Input() max: number = 0;\r\n @Input() onelist: boolean = false;\r\n\r\n private disabledValue: any;\r\n @Input()\r\n get disabled() {\r\n return this.disabledValue;\r\n }\r\n\r\n set disabled(value) {\r\n this.disabledValue = value;\r\n }\r\n\r\n filterList: string = '';\r\n filterSelected: string = ''; \r\n message: string = \"\";\r\n\r\n constructor(private _translate: InfoTranslateService) { }\r\n\r\n ngOnInit() {\r\n if (this.max != null && this.max > 0)\r\n this.message = this._translate.translate('MensagemTopRegistro').replace('{0}', this.max.toString());\r\n }\r\n \r\n getModel(valor: string, selecionados: boolean = false, todos = false): any[] {\r\n if (todos || this.max == null || this.max == 0)\r\n return this.model.filter(r => (selecionados ? r.Selecionado : r.Selecionado == r.Selecionado) && r.Descricao.toLowerCase().indexOf(valor.toLowerCase()) > -1);\r\n else \r\n return this.model.filter(r => (selecionados ? r.Selecionado : r.Selecionado == r.Selecionado) && r.Descricao.toLowerCase().indexOf(valor.toLowerCase()) > -1).slice(0, this.max);\r\n }\r\n\r\n marcarFiltrados(valor: string, marcar: boolean, selecionados: boolean = false) {\r\n let ids: any[] = this.getModel(valor, selecionados, true).map(r => r.Id);\r\n\r\n this.model.forEach((item, index) => {\r\n if (ids.indexOf(item.Id) > -1)\r\n item.Selecionado = marcar; \r\n });\r\n }\r\n\r\n marcarTodos(marcar: boolean) {\r\n this.model.forEach(item => item.Selecionado = marcar);\r\n }\r\n}","<mat-form-field>\r\n <mat-select [placeholder]=\"placeholder | translate\" [(ngModel)]=\"selectedValue\" (selectionChange)=\"onChangeValue()\" [disabled]=\"disabled || loading\" [required]=\"required\">\r\n <mat-option *ngIf=\"blank\" [value]=\"blankItem.Id\">{{ blankItem.Nome | translate }}</mat-option>\r\n <mat-option *ngFor=\"let i of data\" [value]=\"i.Id\" [innerHTML]=\"i.Nome | translate:(notranslate===null)\"></mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\" >\r\n </mat-progress-bar>\r\n</section>","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\n\r\n@Component({\r\n selector: 'info-select',\r\n templateUrl: 'select.component.html',\r\n styleUrls: ['select.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoSelectComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoSelectComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder = '';\r\n @Input() name = '';\r\n @Input() required: any = false;\r\n @Input() selectfirst = false;\r\n @Input() disablednoregisters = false;\r\n @Input() api: any = null;\r\n @Input() method = 'getchavevalor';\r\n @Input() blank = false;\r\n @Input() blankItem: any = null;\r\n @Input() loading = false;\r\n @Input() disabled = false;\r\n @Input() notranslate: any = null;\r\n @Input() notoken: boolean = false;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n selectedValue: any = null;\r\n translatValue: boolean = true;\r\n onChange: any;\r\n onTouched: any;\r\n\r\n private initialized = false;\r\n \r\n _params: string = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n\r\n if (this.initialized)\r\n this.getData();\r\n }\r\n \r\n _data: any = [];\r\n @Input()\r\n get data(){\r\n return this._data;\r\n }\r\n\r\n set data(value){\r\n this._data = value;\r\n \r\n if (this.selectfirst && this.data != null && this.data.length > 0 && !this.data.some(d => d.Id == this.selectedValue))\r\n this.writeValue(this.data[0].Id);\r\n \r\n if (this.disablednoregisters)\r\n this.setDisabledState((this.data == null || this.data.length == 0));\r\n }\r\n\r\n constructor(private _dataAcessService: InfoDataService) { }\r\n\r\n ngOnInit() {\r\n this.name += this.placeholder.replace(/ /g, '');\r\n this.blank = (this.required !== '' && this.required !== 'true' && this.required !== true);\r\n\r\n if (this.blankItem == null)\r\n this.blankItem = { Id: null, Nome: '' };\r\n \r\n this.getData();\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.selectedValue = value;\r\n this.onChangeValue();\r\n }\r\n\r\n getData() {\r\n this.initialized = true;\r\n \r\n if (this.api == null || (this.params != null && this.params.toLowerCase().indexOf('undefined') > -1))\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n\r\n let observable = this.notoken ?\r\n this._dataAcessService.getNoToken(this.api, this.method, this.params) :\r\n this._dataAcessService.get(this.api, this.method, this.params);\r\n\r\n observable.subscribe(r => {\r\n if (r.success) {\r\n this.data = r.data;\r\n if (this.selectedValue) this.onChangeValue();\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.selectedValue);\r\n\r\n if (this.onselecteditem != null)\r\n this.onselecteditem.emit(this.data == null ? null : this.data.find(r => r.Id == this.selectedValue));\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;\r\n }\r\n}","<span class=\"line\"></span>\r\n\r\n<div class=\"timeline-box\">\r\n <div class=\"box-label\" *ngIf=\"label != ''\">\r\n <div class=\"label-text\">{{label}}</div>\r\n </div>\r\n\r\n <div class=\"box-items\">\r\n <div class=\"item\" *ngFor=\"let item of data\">\r\n <div class=\"item-point\" [ngStyle]=\"{ 'border-color': item.PointColor }\"></div>\r\n <div class=\"item-content\">\r\n <h2 *ngIf=\"item.Title\">{{item.Title}}</h2>\r\n <p [innerHTML]=\"item.Content | translate\"></p>\r\n <h3 *ngIf=\"item.Date\">{{ item.Date }} às {{ item.Hour }}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","import { Component, OnInit, Input, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-timeline',\r\n templateUrl: './timeline.component.html',\r\n styleUrls: ['./timeline.component.scss'],\r\n host: {\r\n '[class.timeline]': 'true',\r\n '[class.show-date]': 'true'\r\n }\r\n})\r\nexport class InfoTimelineComponent implements OnInit {\r\n @Input() showdate: boolean = true;\r\n @Input() align: string = 'between';\r\n @Input() style: any = '';\r\n @Input() label: string = '';\r\n @Input() data: any[] = [];\r\n\r\n @HostBinding('class.align-left') alignLeft: boolean = false;\r\n @HostBinding('class.align-center') alignCenter: boolean = false;\r\n @HostBinding('class.align-right') alignRight: boolean = false;\r\n @HostBinding('class.align-between') alignBetween: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.alignLeft = (this.align === 'left');\r\n this.alignCenter = (this.align === 'center');\r\n this.alignRight = (this.align === 'right');\r\n this.alignBetween = (this.align === 'between');\r\n }\r\n}","import { Component, forwardRef, Input, SecurityContext, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { AngularEditorComponent, AngularEditorConfig, AngularEditorService } from '@kolkov/angular-editor';\r\n \r\n@Component({\r\n selector: 'info-editor',\r\n templateUrl: './editor.component.html',\r\n styleUrls: ['./editor.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoEditorComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoEditorComponent implements ControlValueAccessor {\r\n\r\n @ViewChild('editor') editor: AngularEditorComponent;\r\n\r\n @Input() required: boolean = false;\r\n @Input() enabledhtmlmode: boolean = false;\r\n @Input() sanitize: boolean = true;\r\n\r\n @Input()\r\n get disabled() { return !(this.editorConfig || {}).editable; }\r\n set disabled(value) { this.editorConfig.editable = !value; }\r\n\r\n @Input()\r\n get height() { return (this.editorConfig || {}).height; }\r\n set height(value) { this.editorConfig.height = value || 'auto'; }\r\n\r\n @Input()\r\n get minheight() { return (this.editorConfig || {}).minHeight; }\r\n set minheight(value) { this.editorConfig.minHeight = value || '0'; }\r\n\r\n @Input()\r\n get maxheight() { return (this.editorConfig || {}).maxHeight; }\r\n set maxheight(value) { this.editorConfig.maxHeight = value || 'auto'; }\r\n\r\n @Input()\r\n get width() { return (this.editorConfig || {}).width; }\r\n set width(value) { this.editorConfig.width = value || 'auto'; }\r\n\r\n @Input()\r\n get minwidth() { return (this.editorConfig || {}).minWidth; }\r\n set minwidth(value) { this.editorConfig.minWidth = value || '0'; }\r\n\r\n value: any = '';\r\n \r\n onChange: any;\r\n onTouched: any;\r\n focused = false;\r\n id = null;\r\n\r\n editorConfig: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: 'auto',\r\n minHeight: '0',\r\n maxHeight: 'auto',\r\n width: 'auto',\r\n minWidth: '0',\r\n translate: 'yes',\r\n enableToolbar: true,\r\n showToolbar: true,\r\n defaultParagraphSeparator: '',\r\n toolbarPosition: 'top',\r\n sanitize: false,\r\n fonts: [\r\n {class: 'arial', name: 'Arial'},\r\n {class: 'times-new-roman', name: 'Times New Roman'},\r\n {class: 'calibri', name: 'Calibri'},\r\n {class: 'comic-sans-ms', name: 'Comic Sans MS'}\r\n ],\r\n };\r\n\r\n constructor(private _sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit() {\r\n this.id = `editor-${this.getGuid()}`;\r\n }\r\n\r\n ngAfterViewInit() {\r\n var _this = this;\r\n document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('focus', () => _this.focused = true);\r\n document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('blur', () => _this.focused = false);\r\n document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('mouseout', () => _this.editor.editorToolbar['editorService'].saveSelection());\r\n }\r\n\r\n private getGuid() : string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n const r = Math.random() * 16 | 0, v = c === 'x' ? r : ( r & 0x3 | 0x8 );\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n onChangeValue() {\r\n if (this.sanitize)\r\n this.value = this._sanitizer.sanitize(SecurityContext.HTML, this.value);\r\n if (this.onChange != null)\r\n this.onChange(this.value);\r\n }\r\n\r\n writeValue(modelValue: any): void {\r\n this.value = this.sanitize ? this._sanitizer.sanitize(SecurityContext.HTML, modelValue) : modelValue;\r\n this.onChangeValue();\r\n }\r\n \r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n \r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n \r\n}","<angular-editor [attr.id]=\"id\" [attr.focused]=\"focused\" [attr.htmlmode]=\"enabledhtmlmode\" [(ngModel)]=\"value\" name=\"editor\" [config]=\"editorConfig\" (ngModelChange)=\"onChangeValue()\" [required]=\"required\" #editor></angular-editor>\r\n","<mat-form-field>\r\n <mat-label>{{placeholder | translate}}</mat-label>\r\n\r\n <mat-select [(ngModel)]=\"selectedValues\" (selectionChange)=\"onChangeValue()\" [disabled]=\"disabled || loading\" [required]=\"required\" multiple>\r\n <mat-option *ngFor=\"let i of data\" [value]=\"i.Id\">\r\n <span [innerHtml]=\"i.Nome | translate:(notranslate===null)\"></span>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\" >\r\n </mat-progress-bar>\r\n</section>","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\n\r\n@Component({\r\n selector: 'info-multi-select',\r\n templateUrl: 'multi-select.component.html',\r\n styleUrls: ['multi-select.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoMultiSelectComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoMultiSelectComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder = '';\r\n @Input() name = '';\r\n @Input() required: any = false;\r\n @Input() selectfirst = false;\r\n @Input() disablednoregisters = false;\r\n @Input() api: any = null;\r\n @Input() method = 'getchavevalor';\r\n @Input() loading = false;\r\n @Input() disabled = false;\r\n @Input() notranslate: any = null;\r\n @Input() notoken: boolean = false;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n selectedValues: any[] = [];\r\n onChange: any;\r\n onTouched: any;\r\n\r\n private initialized = false;\r\n \r\n _params: string = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n\r\n if (this.initialized)\r\n this.getData();\r\n }\r\n \r\n _data: any = [];\r\n @Input()\r\n get data(){\r\n return this._data;\r\n }\r\n\r\n set data(value){\r\n this._data = value;\r\n \r\n if (this.selectfirst && this.data != null && this.data.length > 0 && !this.data.some(d => this.selectedValues?.indexOf(d.Id) > -1))\r\n this.writeValue([this.data[0].Id]);\r\n \r\n if (this.disablednoregisters)\r\n this.setDisabledState((this.data == null || this.data.length == 0));\r\n }\r\n\r\n constructor(private _dataAcessService: InfoDataService) { }\r\n\r\n ngOnInit() {\r\n this.name += this.placeholder.replace(/ /g, '');\r\n this.getData();\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.selectedValues = value;\r\n this.onChangeValue();\r\n }\r\n\r\n getData() {\r\n this.initialized = true;\r\n \r\n if (this.api == null || (this.params != null && this.params.toLowerCase().indexOf('undefined') > -1))\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n\r\n let observable = this.notoken ?\r\n this._dataAcessService.getNoToken(this.api, this.method, this.params) :\r\n this._dataAcessService.get(this.api, this.method, this.params);\r\n \r\n observable.subscribe(r => {\r\n if (r.success) {\r\n this.data = r.data;\r\n if ((this.selectedValues || []).length > 0) this.onChangeValue();\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.selectedValues);\r\n\r\n if (this.onselecteditem != null)\r\n this.onselecteditem.emit(this.data == null ? null : this.data.filter(r => this.selectedValues?.indexOf(r.Id) > -1));\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;\r\n }\r\n}","<mat-form-field>\r\n <mat-chip-list #chipList>\r\n <mat-chip *ngFor=\"let item of values; let i = index\" [removable]=\"!disabled\" (removed)=\"remove(i)\">\r\n {{item}}\r\n <mat-icon matChipRemove *ngIf=\"!disabled\">cancel</mat-icon>\r\n </mat-chip>\r\n <input [placeholder]=\"placeholder | translate\"\r\n [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n (matChipInputTokenEnd)=\"add($event)\"\r\n [disabled]=\"disabled\"\r\n (blur)=\"onBlur()\">\r\n </mat-chip-list>\r\n </mat-form-field>","import { ENTER } from '@angular/cdk/keycodes';\r\nimport { Component, forwardRef, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'info-chips',\r\n templateUrl: 'chips.component.html',\r\n providers:[\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoChipsComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoChipsComponent implements ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() readonly: boolean = false;\r\n readonly separatorKeysCodes: number[] = [ENTER];\r\n\r\n @Output() onblur = new EventEmitter();\r\n \r\n values: string[] = [];\r\n onChange: any;\r\n onTouched: any;\r\n\r\n add(event): void {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n if ((value || '').trim()) this.values.push(value.trim());\r\n if (input) input.value = '';\r\n \r\n this.writeValue(this.values);\r\n }\r\n \r\n remove(index): void {\r\n if (index >= 0) this.values.splice(index, 1);\r\n this.writeValue(this.values);\r\n }\r\n \r\n\r\n onBlur() {\r\n this.onblur.emit(this.values);\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.values);\r\n }\r\n\r\n writeValue(modelValues: any): void {\r\n this.values = modelValues;\r\n this.onChangeValue();\r\n }\r\n \r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n \r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n}","<ng-container *ngIf=\"_platform.Config.ux >= 3\">\r\n <div class=\"site-sidebar\" [ngClass]=\"{ 'opened': openSubmenu }\" >\r\n <nav>\r\n <div class=\"main-menu\">\r\n <a id=\"menu-min-icon\" (click)=\"toggleSidebar()\">\r\n <mat-icon [ngClass]=\"{ 'min': _platform.MenuMin }\" [matTooltip]=\"_platform.MenuMin ? 'Exibir' : 'Ocultar' | translate\" matTooltipPosition=\"right\" >arrow_menu_close</mat-icon>\r\n </a>\r\n\r\n <ul *ngIf=\"menu\">\r\n \r\n <li class=\"menu-item\" *ngFor=\"let m of menu\" [ngClass]=\"{ 'active': menuAtivo == m.Title, 'disabled': !m.Enabled, 'opened': openSubmenu == m.Title }\">\r\n \r\n <a *ngIf=\"m.Sub == null\" [routerLink]=\"m.Routing\" class=\"item-link\" (click)=\"changeSidebar();access(m.Title);tooltip.hide();\" >\r\n <mat-icon #tooltip=\"matTooltip\" [matTooltip]=\"m.Title | translate\" [matTooltipDisabled]=\"!_platform.MenuMin\" matTooltipPosition=\"right\" [matTooltipShowDelay]=\"600\" matTooltipClass=\"mat-tooltip\">{{ m.Icon }}</mat-icon>\r\n <label class=\"title\">{{ m.Title | translate }}</label>\r\n </a>\r\n \r\n <ng-container *ngIf=\"m.Sub != null || m.SubGroup != null\">\r\n <a class=\"item-link\" (click)=\"toggleSubmenu(m.Title);tooltip.hide();\" >\r\n <mat-icon #tooltip=\"matTooltip\" [matTooltip]=\"m.Title | translate\" [matTooltipDisabled]=\"!_platform.MenuMin\" matTooltipPosition=\"right\" [matTooltipShowDelay]=\"600\" matTooltipClass=\"mat-tooltip\" >{{ m.Icon }}</mat-icon>\r\n <label class=\"title\">{{ m.Title | translate }}</label>\r\n </a>\r\n \r\n <div class=\"sub-menu\">\r\n <h4>{{ m.Title | translate }}</h4>\r\n \r\n <ul>\r\n <li *ngFor=\"let s of m.Sub\">\r\n <a [routerLink]=\"s.Routing\" class=\"item-link\" (click)=\"changeSidebar();access(m.Title);\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n\r\n <ng-container *ngIf=\"m.SubGroup != null\">\r\n <div class=\"group-menu\" *ngFor=\"let g of m.SubGroup\">\r\n <h5>{{ g.Title | translate }}</h5>\r\n \r\n <ul>\r\n <li *ngFor=\"let s of g.Sub\">\r\n <a [routerLink]=\"s.Routing\" class=\"item-link\" (click)=\"changeSidebar();access(m.Title);\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n </nav>\r\n <div class=\"sub-menu-overlay\" (click)=\"openSubmenu = ''\"></div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"_platform.Config.ux <= 2\">\r\n <div class=\"site-sidebar\">\r\n\r\n <div class=\"logo\">\r\n <a href=\"/\" >\r\n <i class=\"logo-img\"></i>\r\n </a>\r\n </div>\r\n\r\n <div class=\"info\">\r\n <span>{{ _session.Usuario }}</span>\r\n <small>{{ _session.Perfil }}</small>\r\n </div>\r\n\r\n <nav>\r\n <div class=\"main-menu\">\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n <ul *ngIf=\"menu\">\r\n <li class=\"menu-item\" *ngFor=\"let m of menu\" [ngClass]=\"{ 'has-sub': m.Sub != null, 'active': m.Active, 'menu-item-group': m.Group, 'disabled': !m.Enabled }\">\r\n \r\n <!-- Grupos -->\r\n <span class=\"group-title\" *ngIf=\"m.Group\">{{ m.Title }} </span>\r\n \r\n <!-- Itens -->\r\n <a href=\"#\" [routerLink]=\"m.Routing\" class=\"item-link\" *ngIf=\"!m.Group && m.Sub == null && m.Enabled\" (click)=\"toggle($event, m);resetLastSearch();\">\r\n <mat-icon>{{ m.Icon }}</mat-icon>{{ m.Title | translate }}\r\n </a>\r\n \r\n <a class=\"item-link\" *ngIf=\"!m.Group && m.Sub == null && !m.Enabled\">\r\n <mat-icon>{{ m.Icon }}</mat-icon>{{ m.Title | translate }} \r\n </a>\r\n \r\n <!-- Item com submenu -->\r\n <a href=\"#\" class=\"item-link\" *ngIf=\"!m.Group && m.Sub != null\" (click)=\"toggle($event, m)\">\r\n <mat-icon class=\"icon\">{{ m.Icon }}</mat-icon>{{ m.Title | translate }}\r\n <i class=\"caret fa fa-angle-right\" *ngIf=\"m.Sub\"></i>\r\n </a>\r\n \r\n <!-- Sub Menu -->\r\n <ul class=\"sub\" *ngIf=\"!m.Group && m.Sub != null\">\r\n <li class=\"menu-item\" *ngFor=\"let s of m.Sub\">\r\n <a [routerLink]=\"s.Routing\" (click)=\"resetLastSearch()\" class=\"item-link\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n </div>\r\n </nav>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"sidebar-overlay\"></div>","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2 } from '@angular/core';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoAuthenticationService } from '../../service/authentication.service';\r\nimport { InfoThemeService } from '../../service/theme.service';\r\nimport { InfoLastSearchModel } from '../../model/last-search.model';\r\nimport { InfoSessionModel } from '../../model/session.model';\r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { NavigationStart, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'info-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss']\r\n})\r\nexport class InfoSidebarComponent implements OnInit {\r\n\r\n @Input() api: any = null;\r\n @Input() method: string = 'GetMenu';\r\n @Input() activemenubyurl: boolean = false;\r\n @Output() onchangestate = new EventEmitter();\r\n\r\n loading: boolean = false;\r\n menu: any = [];\r\n openSubmenu: string = '';\r\n menuAtivo: string = 'Dashboard';\r\n\r\n constructor(private _dataAcessService: InfoDataService, private _authentication: InfoAuthenticationService, \r\n private _themeService: InfoThemeService, public _session: InfoSessionModel, public _platform: InfoPlatformModel,\r\n private _lastSearch: InfoLastSearchModel, private _router: Router, private _renderer: Renderer2, public _element: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this._authentication.isLogged() || this.api == null)\r\n return;\r\n\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n this.loading = true;\r\n\r\n this._dataAcessService\r\n .get(this.api, this.method)\r\n .subscribe(r => {\r\n if (r.success){\r\n this.menu = r.data;\r\n this._platform.Menu = r.data;\r\n this._authentication.definePaginaAtiva(this._router.url);\r\n\r\n this.monitorarUrl();\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n toggle(e: Event, menuItem: any) {\r\n\r\n e.preventDefault();\r\n\r\n if (!menuItem.Enabled)\r\n return;\r\n\r\n if (!menuItem.Active)\r\n for (let i = 0; i < this.menu.length; i++)\r\n this.menu[i].Active = false;\r\n\r\n menuItem.Active = !menuItem.Active;\r\n }\r\n\r\n access(menu: string){\r\n this.menuAtivo = menu;\r\n this.openSubmenu = '';\r\n \r\n this.resetLastSearch();\r\n }\r\n\r\n monitorarUrl(){\r\n if (this.activemenubyurl){\r\n this.ativarMenu(this._router.url);\r\n\r\n this._router.events.subscribe(e => {\r\n if (e instanceof NavigationStart)\r\n this.ativarMenu(e.url);\r\n });\r\n }\r\n }\r\n\r\n ativarMenu(url: string){\r\n let itemMenu = this.menu.find(m => m.Routing == url);\r\n\r\n if (itemMenu != null)\r\n this.menuAtivo = itemMenu.Title;\r\n }\r\n\r\n toggleSubmenu(menu) {\r\n this.openSubmenu = this.openSubmenu == menu ? '' : menu;\r\n }\r\n\r\n resetLastSearch(){\r\n this._lastSearch.model = null;\r\n this._lastSearch.url = '';\r\n }\r\n\r\n changeSidebar() {\r\n this.onchangestate.emit();\r\n }\r\n\r\n toggleSidebar(){\r\n this._themeService.setMenuMin();\r\n }\r\n}","<ng-container *ngIf=\"_platform.Config.ux >= 3\">\r\n <div class=\"site-navbar\">\r\n <a class=\"logo\" >\r\n <i class=\"logo-img\"></i>\r\n <i class=\"logo-img-resp\"></i>\r\n </a>\r\n \r\n <div class=\"nav-items\">\r\n <div class=\"nav-item usuario-logado\" [class.separador]=\"_session.Empresas.length > 1 || _session.Unidades\">\r\n <dl (click)=\"navigate(profileurl)\">\r\n <dt>{{ _session.Perfil }}</dt>\r\n <dd>{{ _session.Usuario }}</dd>\r\n </dl>\r\n </div>\r\n\r\n <div class=\"nav-item selecao-empresa\" *ngIf=\"_session.Empresas.length > 1\" [ngClass]=\"{ 'opened' : topMenu.empresa }\">\r\n <dl (click)=\"open('empresa')\">\r\n <dt>{{ 'Empresa' | translate }}</dt>\r\n <dd>{{ _session.Empresa }}</dd>\r\n </dl>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Empresas' | translate }}</h4>\r\n \r\n <ul class=\"empresas\">\r\n <li *ngFor=\"let company of _session.Empresas\" >\r\n <a (click)=\"setCompany(company); divModal.click();\">{{ company.Nome }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item selecao-empresa\" *ngIf=\"_session.Unidade && (_session.Unidades || []).length > 1\" [ngClass]=\"{ 'opened' : topMenu.unidade }\">\r\n <dl (click)=\"open('unidade')\">\r\n <dt>{{ 'Unidade' | translate }}</dt>\r\n <dd>{{ _session.Unidade }}</dd>\r\n </dl>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Unidades' | translate }}</h4>\r\n \r\n <ul class=\"empresas\">\r\n <li *ngFor=\"let unity of _session.Unidades\" >\r\n <a (click)=\"setUnity(unity); divModal.click();\">{{ unity.Nome }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item selecao-infoia\" [ngClass]=\"{ 'opened': topMenu.infoia }\" *ngIf=\"enabledia\">\r\n <button mat-icon-button (click)=\"open('infoia')\" [matTooltip]=\"'Info IA' | translate\">\r\n <label>{{ 'InfoIA' | translate }}</label>\r\n <mat-icon>diversity_2</mat-icon>\r\n </button>\r\n \r\n <div class=\"menu-lateral-direita infoia\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'InfoIA' | translate }}</h4>\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\" *ngIf=\"fastsearchform\">\r\n <button mat-icon-button (click)=\"openFastSearch()\" [matTooltip]=\"fastsearchtitle | translate\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n </div>\r\n \r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened' : topMenu.notificacao }\" *ngIf=\"notificationapi\">\r\n <button mat-icon-button (click)=\"setNotificationStatus(true, false, false);open('notificacao')\" [matTooltip]=\"'Notificacoes' | translate\"><mat-icon>notifications_none</mat-icon>\r\n <span class=\"badge\" *ngIf=\"notifications.Count > 0\">{{ notifications.Count }}</span>\r\n </button>\r\n \r\n <div class=\"menu-lateral-direita\" >\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Notificacoes' | translate }}</h4>\r\n \r\n <ul>\r\n <li *ngIf=\"notifications.Itens.length == 0\">\r\n <a style=\"cursor: default;\">\r\n <mat-icon>notifications</mat-icon>\r\n <div class=\"content\">\r\n <span>{{ 'TNotificacoesNenhuma' | translate }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n \r\n <ng-container *ngIf=\"notifications.Itens.length > 0\">\r\n <li *ngFor=\"let item of notifications.Itens\">\r\n <a (click)=\"navigate(item.Url);close()\">\r\n <dl>\r\n <dt>{{ 'Dia' | translate }} {{ item.Date }}</dt>\r\n <dd [innerHtml]=\"item.Description | translate\"></dd>\r\n </dl>\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <!-- <div class=\"nav-item\">\r\n <button mat-icon-button (click)=\"alternarModo()\" [matTooltip]=\"'AlternarModo' | translate\"><mat-icon>brightness_6</mat-icon></button>\r\n </div> -->\r\n \r\n <div class=\"nav-item selecao-tema\" [ngClass]=\"{ 'opened': topMenu.tema }\" *ngIf=\"!prodution && themes.length > 0\">\r\n <button mat-icon-button (click)=\"open('tema')\" [matTooltip]=\"'Tema' | translate\"><mat-icon>invert_colors</mat-icon></button>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Temas' | translate }}</h4>\r\n \r\n <ul class=\"temas\">\r\n <li *ngFor=\"let theme of themes\">\r\n <a (click)=\"setTheme(theme.name); divModal.click();\"> {{ theme.description | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\" *ngIf=\"_platform.Config.enabledPrime\">\r\n <button mat-icon-button [matTooltip]=\"(_platform.ModoPrime ? 'ModoPadrao' : 'Prime') | translate\" (click)=\"toggleMode()\"><mat-icon>brightness_6</mat-icon></button>\r\n </div>\r\n \r\n <div class=\"nav-item selecao-idioma\" [ngClass]=\"{ 'opened': topMenu.idioma }\" *ngIf=\"languages.length > 0\">\r\n <button mat-icon-button (click)=\"open('idioma')\" [matTooltip]=\"'Idioma' | translate\"><mat-icon>public</mat-icon></button>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Idiomas' | translate }}</h4>\r\n \r\n <ul class=\"idiomas\">\r\n <li *ngFor=\"let lang of languages\">\r\n <a (click)=\"setLanguage(lang.lang); divModal.click();\">{{ lang.name | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\">\r\n <button mat-icon-button [matTooltip]=\"'Sair' | translate\" (click)=\"logout()\"><mat-icon>power_settings_new</mat-icon></button>\r\n </div>\r\n \r\n <div class=\"items-overlay\" (click)=\"close()\" #divModal></div>\r\n </div>\r\n \r\n <div class=\"navbar-button\" [ngClass]=\"{ 'open' : opened }\" (click)=\"openSidebar()\">\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"_platform.Config.ux <= 2\">\r\n <div class=\"site-navbar\">\r\n <div class=\"sessao-clone text-lightgray\" *ngIf=\"_session.Clone\">\r\n <div><label>({{ 'ModoClone' | translate }})</label></div>\r\n </div>\r\n\r\n <div class=\"navbar-button\" [ngClass]=\"{ 'open' : opened }\" (click)=\"openSidebar()\">\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n </div>\r\n\r\n <h1 id=\"page-title\" class=\"page-title\" *ngIf=\"_platform.PaginaAtiva\">\r\n <mat-icon>{{ _platform.PaginaAtiva.Icone }}</mat-icon> {{ _platform.PaginaAtiva.Titulo | translate }}\r\n </h1>\r\n\r\n <div class=\"nav-items\">\r\n <div class=\"nav-item user-profile\" [ngClass]=\"{ 'opened' : topMenu.empresa }\">\r\n <button mat-button (click)=\"open('empresa')\">\r\n <mat-icon>fingerprint</mat-icon>\r\n <div class=\"name\">\r\n <label>{{ \"Empresa\" | translate }}</label>\r\n <span>{{ _session.Empresa }}</span>\r\n </div>\r\n </button>\r\n\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Empresa' | translate }}</h4>\r\n\r\n <ul class=\"company\">\r\n <li *ngFor=\"let company of _session.Empresas\" >\r\n <a (click)=\"setCompany(company); divModal.click();\">{{ company.Nome }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened' : topMenu.notificacao }\" *ngIf=\"notificationapi\">\r\n <button mat-icon-button (click)=\"setNotificationStatus(true, false, false);open('notificacao')\" [matTooltip]=\"'Notificacoes' | translate\"><mat-icon>notifications_none</mat-icon>\r\n <span class=\"badge\" *ngIf=\"notifications.Count > 0\">{{ notifications.Count }}</span>\r\n </button>\r\n\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Notificacoes' | translate }}</h4>\r\n\r\n <ul>\r\n <li *ngIf=\"notifications.Itens.length == 0\">\r\n <a style=\"cursor: default;\">\r\n <mat-icon>notifications_off</mat-icon>\r\n <div class=\"content\">\r\n <span>{{ 'TNotificacoesNenhuma' | translate }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n\r\n <ng-container *ngIf=\"notifications.Itens.length > 0\">\r\n <li *ngFor=\"let item of notifications.Itens\">\r\n <a (click)=\"navigate(item.Url);close()\">\r\n <mat-icon>{{ item.Icon }}</mat-icon>\r\n <div class=\"content\">\r\n <span class=\"desc\" [innerHtml]=\"item.Description | translate\"></span>\r\n <span class=\"date\">{{ item.Date }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened': topMenu.idioma }\" *ngIf=\"languages.length > 0\">\r\n <button mat-icon-button (click)=\"open('idioma')\" [matTooltip]=\"'Idioma' | translate\"><mat-icon>public</mat-icon></button>\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Idioma' | translate }}</h4>\r\n <ul class=\"languages\">\r\n <li *ngFor=\"let lang of languages\">\r\n <a (click)=\"setLanguage(lang.lang); divModal.click();\">{{ lang.name | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened': topMenu.tema }\" *ngIf=\"!prodution && themes.length > 0\">\r\n <button mat-icon-button (click)=\"open('tema')\" [matTooltip]=\"'Tema' | translate\"><mat-icon>invert_colors</mat-icon></button>\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Temas' | translate }}</h4>\r\n <ul class=\"themes\">\r\n <li *ngFor=\"let theme of themes\">\r\n <a (click)=\"setTheme(theme.name); divModal.click();\"> {{ theme.description | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\" *ngIf=\"fastsearchform\">\r\n <button mat-icon-button (click)=\"openFastSearch()\" [matTooltip]=\"fastsearchtitle | translate\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"nav-item\" *ngIf=\"profileurl != ''\">\r\n <button mat-icon-button [matTooltip]=\"'MeuPerfil' | translate\" [routerLink]=\"profileurl\"><mat-icon>person</mat-icon></button>\r\n </div>\r\n\r\n <div class=\"nav-item\">\r\n <button mat-icon-button [matTooltip]=\"'Sair' | translate\" (click)=\"logout()\"><mat-icon>power_settings_new</mat-icon></button>\r\n </div>\r\n\r\n <div class=\"items-overlay\" (click)=\"close()\" #divModal></div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<section class=\"loading-bar\" *ngIf=\"loading\"><mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar></section>\r\n<div class=\"block\" *ngIf=\"loading\"></div>","import { Component, OnInit, Input, Output, EventEmitter, Renderer2, ElementRef } from '@angular/core';\r\nimport { InfoDialogModal } from '../dialog/dialog.component';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { InfoDialogButtons } from '../../enum';\r\nimport { InfoTranslateService } from '../../service/translate.service';\r\nimport { InfoAuthenticationService } from '../../service/authentication.service';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoThemeService } from '../../service/theme.service';\r\nimport { InfoNotificationModel } from '../../model/notification.model';\r\nimport { InfoSessionModel } from '../../model/session.model'; \r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { Utilities } from '../../utils/utilities';\r\n\r\n@Component({\r\n selector: 'info-topbar',\r\n templateUrl: './topbar.component.html',\r\n styleUrls: ['./topbar.component.scss']\r\n})\r\nexport class InfoTopbarComponent implements OnInit {\r\n @Input() opened: boolean = false;\r\n @Input() languages: any = [];\r\n @Input() themes: any = [];\r\n @Input() notificationapi: any = null;\r\n @Input() notificationgetmethod: string = 'Get';\r\n @Input() notificationpostmethod: string = 'PostNotification';\r\n @Input() notificationverifymethod: string = 'Verify';\r\n @Input() notificationverifyenabled: boolean = true;\r\n @Input() fastsearchform: any = null;\r\n @Input() fastsearchformwidth: number = 1200;\r\n @Input() fastsearchtitle: string = 'PesquisaRapidaCarteira';\r\n @Input() profileurl: string = '';\r\n @Input() setthemeonchangecompany: boolean = false;\r\n @Input() enabledia: boolean = false;\r\n @Output() onchangestate = new EventEmitter();\r\n @Output() ongetnotification = new EventEmitter();\r\n @Output() onverifynotification = new EventEmitter();\r\n\r\n modalRef: any = null;\r\n loading: boolean = false;\r\n prodution: boolean = false;\r\n notifications: InfoNotificationModel = new InfoNotificationModel();\r\n\r\n topMenu: any = {\r\n empresa: false,\r\n unidade: false,\r\n infoia: false,\r\n tema: false,\r\n idioma: false,\r\n notificacao: false,\r\n calendario: false\r\n };\r\n\r\n constructor(private _translateService: InfoTranslateService, \r\n public _authenticationService: InfoAuthenticationService, \r\n private _dataService: InfoDataService, \r\n private _themeService: InfoThemeService, \r\n private _router: Router, private _dialog: InfoDialogModal, \r\n public _session: InfoSessionModel, \r\n public _platform: InfoPlatformModel, \r\n private _modal: MatDialog,\r\n private _renderer: Renderer2, \r\n public _element: ElementRef, \r\n private _utilities: Utilities) { }\r\n\r\n ngOnInit() {\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n \r\n if (this._platform.Config.topMenu)\r\n this._renderer.addClass(this._element.nativeElement, 'topmenu');\r\n \r\n this.prodution = this._platform.Config.production;\r\n this.getNotifications();\r\n }\r\n\r\n setCompany(company) {\r\n this._authenticationService.trocarEmpresa(this._session.Login, company.Id).subscribe(res => {\r\n if (res.success) {\r\n\r\n document.body.setAttribute('loading', 'true');\r\n \r\n this._session.Permissoes = [];\r\n this._session.EmpresaId = company.Id;\r\n this._session.Empresa = company.Nome;\r\n this._session.TemaId = ((company.Unidades || [])[0] || {}).TemaId || company.TemaId;\r\n this._session.Unidades = company.Unidades;\r\n this._session.UnidadeId = ((company.Unidades || []) || {}).Id;\r\n this._session.Unidade = ((company.Unidades || []) || {}).Nome;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n this._utilities.setLocalStorage(this._platform.SessionKey, JSON.stringify(this._session));\r\n \r\n if ((company.Unidades || []).length > 0) {\r\n this.setUnity(company.Unidades[0]);\r\n } else this._router.navigateByUrl('').then(r => location.reload());\r\n \r\n } else this._authenticationService.logout();\r\n }, err => this._authenticationService.logout());\r\n }\r\n\r\n setUnity(unity) {\r\n this._authenticationService.trocarUnidade(this._session.Login, this._session.EmpresaId, unity.Id).subscribe(res => {\r\n if (res.success) {\r\n\r\n document.body.setAttribute('loading', 'true');\r\n \r\n this._session.Permissoes = [];\r\n this._session.TemaId = unity.TemaId ?? this._session.TemaId;\r\n this._session.UnidadeId = unity.Id;\r\n this._session.Unidade = unity.Nome;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n this._utilities.setLocalStorage(this._platform.SessionKey, JSON.stringify(this._session));\r\n this._router.navigateByUrl('').then(r => location.reload());\r\n \r\n } else this._authenticationService.logout();\r\n }, err => this._authenticationService.logout());\r\n } \r\n\r\n setCompanyUnity(company, unity) {\r\n this._authenticationService.trocarUnidade(this._session.Login, company.Id, unity.Id).subscribe(res => {\r\n if (res.success) {\r\n\r\n document.body.setAttribute('loading', 'true');\r\n\r\n this._session.Permissoes = [];\r\n this._session.EmpresaId = company.Id;\r\n this._session.Empresa = company.Nome;\r\n this._session.Unidades = company.Unidades;\r\n this._session.TemaId = unity.TemaId ?? company.TemaId;\r\n this._session.UnidadeId = unity.Id;\r\n this._session.Unidade = unity.Nome;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n this._utilities.setLocalStorage(this._platform.SessionKey, JSON.stringify(this._session));\r\n this._router.navigateByUrl('').then(r => location.reload());\r\n \r\n } else this._authenticationService.logout();\r\n }, err => this._authenticationService.logout());\r\n }\r\n\r\n setLanguage(language: string) {\r\n this._translateService.set(language);\r\n }\r\n\r\n setTheme(theme) {\r\n this._themeService.setTheme(theme);\r\n }\r\n\r\n toggleMode(){\r\n this._themeService.setModePrime();\r\n }\r\n\r\n openFastSearch() {\r\n this.close();\r\n\r\n if (this.modalRef != null) \r\n return;\r\n\r\n this.modalRef = this._modal.open(this.fastsearchform, {\r\n disableClose: true,\r\n width: this.fastsearchformwidth + 'px'\r\n });\r\n\r\n this.modalRef.keydownEvents().subscribe(r => {\r\n if (!this.loading && (r.key == \"Escape\" || r.key == \"Esc\" || r.key == \"27\"))\r\n this.modalRef.close();\r\n });\r\n\r\n this.modalRef.afterClosed().subscribe(r => { this.modalRef = null });\r\n }\r\n\r\n open(achtiveMenu) {\r\n this.topMenu.empresa = achtiveMenu == 'empresa';\r\n this.topMenu.unidade = achtiveMenu == 'unidade';\r\n this.topMenu.infoia = achtiveMenu == 'infoia';\r\n this.topMenu.tema = achtiveMenu == 'tema';\r\n this.topMenu.idioma = achtiveMenu == 'idioma';\r\n this.topMenu.notificacao = achtiveMenu == 'notificacao';\r\n this.topMenu.calendario = achtiveMenu == 'calendario';\r\n }\r\n\r\n close() {\r\n this.topMenu.empresa = false;\r\n this.topMenu.unidade = false;\r\n this.topMenu.infoia = false;\r\n this.topMenu.tema = false;\r\n this.topMenu.idioma = false;\r\n this.topMenu.notificacao = false;\r\n this.topMenu.calendario = false;\r\n }\r\n\r\n openSidebar() {\r\n this.opened = !this.opened;\r\n this.onchangestate.emit();\r\n }\r\n\r\n getNotifications() {\r\n if (!this._authenticationService.isLogged() || this.notificationapi == null)\r\n return;\r\n\r\n this._dataService.get(this.notificationapi, this.notificationgetmethod, null).subscribe(r => {\r\n if (r.success) {\r\n this.notifications.Count = r.data.Count;\r\n this.notifications.Itens = r.data.Itens;\r\n\r\n if (this.notificationverifyenabled)\r\n this.verifyNotifications();\r\n\r\n this.ongetnotification.emit(this.notifications);\r\n }\r\n });\r\n }\r\n\r\n verifyNotifications() {\r\n if (!this._authenticationService.isLogged() || this.notificationapi == null)\r\n return;\r\n\r\n this._dataService.get(this.notificationapi, this.notificationverifymethod).subscribe(r => {\r\n if (r.data == -1)\r\n this.logout();\r\n\r\n else if (this.notifications.Count == r.data)\r\n setTimeout(() => { this.verifyNotifications(); }, 15000);\r\n\r\n else this.getNotifications();\r\n\r\n this.onverifynotification.emit({...this.notifications, VerifyCount: r.data});\r\n });\r\n }\r\n\r\n setNotificationStatus(read, access, remove) {\r\n if (this.notifications.Count == 0) return;\r\n\r\n this._dataService.post(this.notificationapi, { Id: '00000000-0000-0000-0000-000000000000', Acesso: access, Leitura: read, Exclusao: remove }, this.notificationpostmethod)\r\n .subscribe(r => this.notifications.Count = 0);\r\n }\r\n\r\n navigate(url: string) {\r\n this._router.navigate([url.replace('/#', '')]);\r\n }\r\n\r\n logout() {\r\n this._dialog.YesOrNo('DesejaRealmenteSair').subscribe(r => {\r\n if (r.button == InfoDialogButtons.Yes)\r\n this._authenticationService.logout();\r\n });\r\n }\r\n}","<nav>\r\n <ul *ngIf=\"menu\">\r\n <li *ngFor=\"let m of menu\" [ngClass]=\"{ 'active': menuAtivo == m.Title, 'disabled': !m.Enabled, 'opened': openSubmenu == m.Title }\">\r\n <a *ngIf=\"m.Sub == null\" [routerLink]=\"m.Routing\" (click)=\"access(m.Title)\" >{{ m.Title | translate }} </a>\r\n\r\n <ng-container *ngIf=\"m.Sub != null\">\r\n <a (click)=\"toggleSubmenu(m.Title)\" >{{ m.Title | translate }} </a>\r\n\r\n <div class=\"sub-menu\">\r\n <ul>\r\n <li *ngFor=\"let s of m.Sub\">\r\n <a [routerLink]=\"s.Routing\" (click)=\"changeSidebar();access(m.Title);\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n</nav>","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2 } from '@angular/core';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoAuthenticationService } from '../../service/authentication.service';\r\nimport { InfoLastSearchModel } from '../../model/last-search.model';\r\nimport { InfoSessionModel } from '../../model/session.model';\r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'info-topmenu',\r\n templateUrl: './topmenu.component.html',\r\n styleUrls: ['./topmenu.component.scss']\r\n})\r\nexport class InfoTopMenuComponent implements OnInit {\r\n \r\n @Input() api: any = null;\r\n @Input() method: string = 'GetMenu';\r\n @Output() onchangestate = new EventEmitter();\r\n\r\n loading: boolean = false;\r\n menu: any = [];\r\n openSubmenu: string = '';\r\n menuAtivo: string = 'Inicio';\r\n\r\n constructor(private _dataAcessService: InfoDataService, private _authentication: InfoAuthenticationService, \r\n private _lastSearch: InfoLastSearchModel, private _router: Router, \r\n public _session: InfoSessionModel, public _platform: InfoPlatformModel,\r\n private _renderer: Renderer2, private _element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n if (!this._authentication.isLogged() || this.api == null)\r\n return;\r\n\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n this.loading = true;\r\n\r\n this._dataAcessService\r\n .get(this.api, this.method)\r\n .subscribe(r => {\r\n if (r.success){\r\n this.menu = r.data;\r\n this._platform.Menu = r.data;\r\n this._authentication.definePaginaAtiva(this._router.url);\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n toggle(e: Event, menuItem: any) {\r\n\r\n e.preventDefault();\r\n\r\n if (!menuItem.Enabled)\r\n return;\r\n\r\n if (!menuItem.Active)\r\n for (let i = 0; i < this.menu.length; i++)\r\n this.menu[i].Active = false;\r\n\r\n menuItem.Active = !menuItem.Active;\r\n }\r\n\r\n access(menu: string){\r\n this.menuAtivo = menu;\r\n this.openSubmenu = '';\r\n \r\n this.resetLastSearch();\r\n }\r\n\r\n toggleSubmenu(menu) {\r\n this.openSubmenu = this.openSubmenu == menu ? '' : menu;\r\n }\r\n\r\n resetLastSearch(){\r\n this._lastSearch.model = null;\r\n this._lastSearch.url = '';\r\n }\r\n\r\n changeSidebar() {\r\n this.onchangestate.emit();\r\n }\r\n}","<div class=\"site-container\" [ngClass]=\"{ 'open-sidebar': opened }\">\r\n \r\n <info-topbar #topbar\r\n [themes]=\"themes\" \r\n [languages]=\"languages\" \r\n [profileurl]=\"profileurl\"\r\n [notificationapi]=\"notificationapi\" \r\n [notificationgetmethod]=\"notificationgetmethod\" \r\n [notificationpostmethod]=\"notificationpostmethod\"\r\n [notificationverifymethod]=\"notificationverifymethod\"\r\n [notificationverifyenabled]=\"notificationverifyenabled\"\r\n [fastsearchform]=\"fastsearchform\"\r\n [fastsearchformwidth]=\"fastsearchformwidth\"\r\n [fastsearchtitle]=\"fastsearchtitle\"\r\n [setthemeonchangecompany]=\"setthemeonchangecompany\"\r\n (onchangestate)=\"onChangeTopBarState()\"\r\n (ongetnotification)=\"onGetNotificationsTopBar($event)\"\r\n (onverifynotification)=\"onVerifyNotificationsTopBar($event)\"\r\n [enabledia]=\"enabledia\">\r\n <ng-content select=\"[infoia]\"></ng-content>\r\n </info-topbar>\r\n \r\n <info-topmenu *ngIf=\"_platform.Config.topMenu\"\r\n [api]=\"menuapi\" \r\n [method]=\"menumethod\" \r\n (onchangestate)=\"onChangeSideBarState()\">\r\n </info-topmenu>\r\n\r\n <info-sidebar #sidebar *ngIf=\"!_platform.Config.topMenu\"\r\n [api]=\"menuapi\" \r\n [method]=\"menumethod\" \r\n [activemenubyurl]=\"activemenubyurl\"\r\n (onchangestate)=\"onChangeSideBarState()\">\r\n </info-sidebar>\r\n\r\n <main class=\"main-content\">\r\n <div class=\"main-content-wrap\">\r\n <ng-content select=\"[main]\" *ngIf=\"ready\"></ng-content>\r\n </div>\r\n\r\n <div class=\"footer row\">\r\n <div class=\"copyright col-9\">{{ 'Copyright' | translate}}</div>\r\n <div class=\"version col-3\" *ngIf=\"version\">{{ 'Versao' | translate}} {{ version }}</div>\r\n </div>\r\n \r\n <info-alert [messages]=\"messages\"></info-alert>\r\n </main>\r\n</div>","import { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, Renderer2, ViewChild } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\nimport { InfoPlatformModel } from \"../../model/platform.model\";\r\nimport { InfoSessionModel } from \"../../model/session.model\";\r\nimport { InfoThemeService } from '../../service/theme.service';\r\nimport { InfoTopbarComponent } from \"../topbar/topbar.component\";\r\nimport { InfoSidebarComponent } from \"../sidebar/sidebar.component\";\r\nimport { Utilities } from \"../../utils/utilities\";\r\n\r\n@Component({\r\n selector: 'info-main',\r\n templateUrl: 'main.component.html',\r\n styleUrls: ['main.component.scss']\r\n})\r\nexport class InfoMainComponent implements OnInit {\r\n\r\n @Input() opened: boolean = false;\r\n @Input() version: string = null;\r\n @Input() messages: any[] = [];\r\n @Input() enabledia: boolean = false;\r\n private _themes: any = [];\r\n\r\n protected ready: boolean = false;\r\n\r\n @Input() get themes() { return this._themes; }\r\n set themes(value) {\r\n this._themes = value;\r\n this._platform.Themes = this.themes;\r\n\r\n if (this._session.TemaId > 0 && this.setthemeonchangecompany)\r\n this._themeService.setThemeByLoggedCompany();\r\n }\r\n\r\n @Input() languages: any = [];\r\n @Input() profileurl: string = '';\r\n @Input() loginurl: string = 'login';\r\n\r\n @Input() menuapi: any = null;\r\n @Input() menumethod: string = 'GetMenu';\r\n @Input() activemenubyurl: boolean = false;\r\n\r\n @Input() loggeduserapi: any = null;\r\n @Input() loggedusermethod: string = 'GetLoggedUser';\r\n\r\n @Input() notificationapi: any = null;\r\n @Input() notificationgetmethod: string = 'Get';\r\n @Input() notificationpostmethod: string = 'PostNotification';\r\n @Input() notificationverifymethod: string = 'Verify';\r\n @Input() notificationverifyenabled: boolean = true;\r\n \r\n @Input() fastsearchform: any = null;\r\n @Input() fastsearchformwidth: number = 1200;\r\n @Input() fastsearchtitle: string = 'PesquisaRapidaCarteira';\r\n \r\n @Input() setthemeonchangecompany: boolean = false;\r\n\r\n @Input() shortcutapi: any = null;\r\n\r\n @Output() ongetnotification = new EventEmitter();\r\n @Output() onverifynotification = new EventEmitter();\r\n\r\n @ViewChild('topbar') topbar: InfoTopbarComponent;\r\n @ViewChild('sidebar') sidebar: InfoSidebarComponent;\r\n\r\n constructor(public _platform: InfoPlatformModel, \r\n private _session: InfoSessionModel, \r\n private _router: Router, \r\n private _dataAccessService: InfoDataService, \r\n private _themeService: InfoThemeService,\r\n private _renderer: Renderer2,\r\n private _element: ElementRef, \r\n private _utilities: Utilities) { }\r\n\r\n ngOnInit() {\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n \r\n if (this._platform.Config.topMenu)\r\n this._renderer.addClass(this._element.nativeElement, 'topmenu');\r\n\r\n this._platform.Themes = this.themes;\r\n this._platform.ShortcutApi = this.shortcutapi;\r\n\r\n if (this._utilities.getLocalStorage(this._platform.TokenKey) == null)\r\n this._router.navigateByUrl(this.loginurl);\r\n\r\n else this.getLoggedUser();\r\n\r\n if (document.body.classList.length > 0){\r\n let theme = document.body.classList[0];\r\n \r\n if (document.body.classList[0].indexOf('-theme') < 0 && this._platform.Config.theme != null)\r\n theme = '_' + this._platform.Config.theme + '-theme';\r\n \r\n this._themeService.setTheme(theme);\r\n }\r\n }\r\n\r\n onChangeTopBarState() {\r\n this.opened = !this.opened;\r\n }\r\n\r\n onChangeSideBarState(){\r\n this.topbar.openSidebar();\r\n }\r\n\r\n @HostListener('document:click', ['$event.target'])\r\n public onClick(targetElement) { \r\n if (this.opened &&\r\n !this.sidebar._element.nativeElement.contains(targetElement) &&\r\n !this.topbar._element.nativeElement.contains(targetElement))\r\n this.onChangeSideBarState();\r\n }\r\n\r\n getLoggedUser() {\r\n var cSession = this._utilities.getLocalStorage(this._platform.SessionKey);\r\n if (cSession != null)\r\n Object.assign(this._session, JSON.parse(cSession));\r\n\r\n if (this._session.UsuarioId != null || this.loggeduserapi == null) {\r\n this.ready = true;\r\n return;\r\n }\r\n\r\n this._dataAccessService.get(this.loggeduserapi, this.loggedusermethod).subscribe(r => {\r\n if (r.success) {\r\n if (r.data.UsuarioId == null) {\r\n this._router.navigateByUrl('permission');\r\n return;\r\n };\r\n\r\n this._session.UsuarioId = r.data.UsuarioId;\r\n this._session.Usuario = r.data.Usuario;\r\n this._session.Login = r.data.Login;\r\n this._session.Email = r.data.Email;\r\n this._session.Perfil = r.data.Perfil;\r\n this._session.EmpresaId = r.data.EmpresaId;\r\n this._session.UnidadeId = r.data.UnidadeId;\r\n this._session.TemaId = r.data.TemaId;\r\n this._session.TemaCorBase = r.data.TemaCorBase;\r\n this._session.Empresa = r.data.Empresa;\r\n this._session.Unidade = r.data.Unidade;\r\n this._session.UltimoAcesso = r.data.UltimoAcesso;\r\n this._session.Master = r.data.Master;\r\n this._session.Clone = r.data.Clone;\r\n this._session.DataMovimentacao = r.data.DataMovimentacao;\r\n this._session.OcultarNomeCliente = r.data.OcultarNomeCliente;\r\n this._session.Empresas = r.data.Empresas;\r\n this._session.Unidades = r.data.Unidades;\r\n this._session.Parametros = r.data.Parametros;\r\n this._session.MFA = r.data.MFA;\r\n this._session.TempoInatividade = r.data.TempoInatividade;\r\n this._session.Versao = r.data.Versao;\r\n this.version = r.data.Versao;\r\n\r\n if (this._session.Parametros.some(p => p.Chave == 'DisclaimerGeral'))\r\n this.messages.push(this._session.Parametros.find(p => p.Chave == 'DisclaimerGeral').Valor);\r\n\r\n if (this._session.TemaId != null)\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n this.ready = true;\r\n }\r\n });\r\n }\r\n\r\n onGetNotificationsTopBar(event) {\r\n this.ongetnotification.emit(event);\r\n }\r\n\r\n onVerifyNotificationsTopBar(event) {\r\n this.onverifynotification.emit(event);\r\n }\r\n}","<div class=\"search-buttons\" *ngIf=\"enabledAction\">\r\n <span>\r\n <ng-content select=\"[actions]\"></ng-content>\r\n </span>\r\n \r\n <span class=\"actions-aux\">\r\n <ng-content select=\"[actions-aux]\"></ng-content>\r\n <button mat-button type=\"button\" (click)=\"open()\" [disabled]=\"disabled\" *ngIf=\"buttonAction != ''\">\r\n <mat-icon>{{ buttonActionIcon }}</mat-icon>{{ buttonAction | translate }}\r\n </button>\r\n </span>\r\n</div>\r\n\r\n<div class=\"modal-filter\" [ngClass]=\"{ 'show': opened }\" >\r\n <section>\r\n <mat-icon class=\"close\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ title | translate }}</h4>\r\n \r\n <form autocomplete=\"off\" #formSearch=\"ngForm\" (ngSubmit)=\"search()\" [ngClass]=\"{ 'expand-area': !enabledButtons }\">\r\n <div class=\"row\">\r\n <ng-content select=\"[fields]\"></ng-content>\r\n </div>\r\n </form>\r\n \r\n <div class=\"buttons\" *ngIf=\"enabledButtons\">\r\n <button mat-button class=\"mat-warn\" type=\"button\" (click)=\"cancel()\" *ngIf=\"buttonCancel && buttonCancel != ''\" >\r\n <mat-icon>close</mat-icon>\r\n {{ buttonCancel | translate}}\r\n </button>\r\n \r\n <button mat-button type=\"button\" (click)=\"search()\" *ngIf=\"buttonFilter && buttonFilter != ''\" >\r\n <mat-icon>filter_alt</mat-icon>\r\n {{ buttonFilter | translate}}\r\n </button>\r\n </div>\r\n </section>\r\n\r\n <div class=\"overlay\" (click)=\"close()\"></div>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-filter',\r\n templateUrl: './filter.component.html',\r\n styleUrls: ['./filter.component.scss']\r\n})\r\nexport class InfoFilterComponent {\r\n \r\n @Input() disabled: boolean = false;\r\n @Input() opened: boolean = false;\r\n @Input() loading: boolean = false;\r\n @Input() title: string = 'Filtrar';\r\n @Input() enabledAction: boolean = true;\r\n @Input() enabledButtons: boolean = true;\r\n \r\n @Input() buttonAction: string = 'Filtrar';\r\n @Input() buttonActionIcon: string = 'filter_alt';\r\n @Input() buttonCancel: string = 'Cancelar';\r\n @Input() buttonFilter: string = 'Filtrar';\r\n\r\n @Output() oncancel = new EventEmitter();\r\n @Output() onclose = new EventEmitter();\r\n @Output() onsearch = new EventEmitter();\r\n\r\n constructor(){ }\r\n\r\n search() {\r\n this.onsearch.emit(null);\r\n this.close();\r\n }\r\n\r\n cancel(){\r\n this.oncancel.emit(null);\r\n this.close();\r\n }\r\n\r\n open(){\r\n this.opened = true;\r\n }\r\n\r\n close(){\r\n this.opened = false;\r\n this.onclose.emit(null);\r\n }\r\n}","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'info-loading',\r\n template: `\r\n <section class=\"loading-bar\">\r\n <mat-progress-bar [color]=\"color\" [mode]=\"mode\" *ngIf=\"enabled\" >\r\n </mat-progress-bar>\r\n </section>\r\n `,\r\n styles: [`\r\n .loading-bar { height: 1px; }\r\n .loading-bar .mat-progress-bar { height: 1px; margin: 0; }\r\n `]\r\n})\r\nexport class InfoLoadingComponent{\r\n\r\n @Input() enabled: boolean = false;\r\n @Input() mode: string = 'indeterminate';\r\n @Input() color: string = 'primary';\r\n\r\n}","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\n\r\nimport { InfoTranslatePipe } from './pipe/translate.pipe';\r\nimport { InfoMaskPipe } from './pipe/mask.pipe';\r\nimport { InfoMaskDirective } from './directives/mask.directive';\r\nimport { InfoUnmaskDirective } from './directives/unmask.directive';\r\nimport { Utilities } from './utils/utilities';\r\n\r\n// Controls\r\nimport { InfoAlertComponent } from './controls/alert/alert.component';\r\nimport { InfoAutoCompleteComponent } from './controls/autocomplete/autocomplete.component';\r\nimport { InfoBigCheckboxComponent } from './controls/big-checkbox/big-checkbox.component';\r\nimport { InfoCardComponent } from './controls/card/card.component';\r\nimport { InfoMenuCardComponent } from './controls/card-menu/card-menu.component';\r\nimport { InfoCheckboxComponent } from './controls/checkbox/checkbox.component';\r\nimport { InfoDateComponent } from './controls/date/date.component';\r\nimport { InfoDateMonthComponent } from './controls/date-month/date-month.component';\r\nimport { InfoGridComponent, InfoGridModalComponent } from './controls/grid/grid.component';\r\nimport { InfoInputComponent } from './controls/input/input.component';\r\nimport { InfoInputListComponent } from './controls/input-list/input-list.component';\r\nimport { InfoListCheckboxComponent } from './controls/list-checkbox/list-checkbox.component';\r\nimport { InfoMessageComponent } from './controls/message/message.component';\r\nimport { InfoPaginatorComponent } from './controls/paginator/paginator.component';\r\nimport { InfoSelectComponent } from './controls/select/select.component';\r\nimport { InfoTimelineComponent } from './controls/timeline/timeline.component';\r\nimport { InfoEditorComponent } from './controls/editor/editor.component';\r\nimport { InfoMultiSelectComponent } from './controls/multi-select/multi-select.component';\r\nimport { InfoChipsComponent } from './controls/chips/chips.component';\r\n\r\n// Layouts\r\nimport { InfoDialogComponent } from './layouts/dialog/dialog.component';\r\nimport { InfoLoadingComponent } from './layouts/loading/loading.component';\r\nimport { InfoMainComponent } from './layouts/main/main.component';\r\nimport { InfoModalComponent } from './layouts/modal/modal.component';\r\nimport { InfoPagebarComponent, AtalhoModalComponent } from './layouts/pagebar/pagebar.component';\r\nimport { InfoSidebarComponent } from './layouts/sidebar/sidebar.component';\r\nimport { InfoTopbarComponent } from './layouts/topbar/topbar.component';\r\nimport { RefreshSessionTimeModalComponent } from './service/authentication.service';\r\nimport { InfoTopMenuComponent } from './layouts/topmenu/topmenu.component';\r\nimport { InfoFilterComponent } from './layouts/filter/filter.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatListModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatRadioModule,\r\n MatButtonModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n MatDialogModule,\r\n MatProgressBarModule,\r\n MatAutocompleteModule,\r\n MatTooltipModule,\r\n RouterModule,\r\n CurrencyMaskModule,\r\n AngularEditorModule,\r\n MatChipsModule,\r\n ],\r\n declarations: [\r\n InfoTranslatePipe,\r\n InfoMaskPipe,\r\n InfoMaskDirective,\r\n InfoUnmaskDirective,\r\n InfoAlertComponent,\r\n InfoAutoCompleteComponent,\r\n InfoBigCheckboxComponent,\r\n InfoCardComponent,\r\n InfoMenuCardComponent,\r\n InfoCheckboxComponent,\r\n InfoDateComponent,\r\n InfoDateMonthComponent,\r\n InfoGridComponent,\r\n\t\tInfoGridModalComponent,\r\n\t\tInfoInputComponent,\r\n InfoInputListComponent,\r\n InfoListCheckboxComponent,\r\n InfoMessageComponent,\r\n InfoPaginatorComponent,\r\n InfoSelectComponent,\r\n InfoTimelineComponent,\r\n InfoEditorComponent,\r\n InfoMultiSelectComponent,\r\n InfoChipsComponent,\r\n InfoDialogComponent,\r\n InfoFilterComponent,\r\n InfoLoadingComponent,\r\n InfoMainComponent,\r\n InfoModalComponent,\r\n InfoPagebarComponent,\r\n InfoSidebarComponent,\r\n InfoTopbarComponent,\r\n InfoTopMenuComponent,\r\n AtalhoModalComponent,\r\n RefreshSessionTimeModalComponent,\r\n ],\r\n exports: [\r\n InfoTranslatePipe,\r\n InfoMaskPipe,\r\n InfoAlertComponent,\r\n InfoAutoCompleteComponent,\r\n InfoBigCheckboxComponent,\r\n InfoCardComponent,\r\n InfoMenuCardComponent,\r\n InfoCheckboxComponent,\r\n InfoDateComponent,\r\n InfoDateMonthComponent,\r\n InfoGridComponent,\r\n\t\tInfoGridModalComponent,\r\n\t\tInfoInputComponent,\r\n InfoInputListComponent,\r\n InfoListCheckboxComponent,\r\n InfoMessageComponent,\r\n InfoPaginatorComponent,\r\n InfoSelectComponent,\r\n InfoTimelineComponent,\r\n InfoEditorComponent,\r\n InfoMultiSelectComponent,\r\n InfoChipsComponent,\r\n InfoDialogComponent,\r\n InfoFilterComponent,\r\n InfoLoadingComponent,\r\n InfoMainComponent,\r\n InfoModalComponent,\r\n InfoPagebarComponent,\r\n InfoSidebarComponent,\r\n InfoTopbarComponent,\r\n InfoTopMenuComponent,\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA\r\n\t],\r\n providers: [\r\n Utilities\r\n\t]\r\n})\r\nexport class InfoLibraryModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.InfoPlatformModel","i1.InfoTranslateService","i2","i3.InfoPlatformModel","i4.Utilities","_c1","_c0","i1","i3.InfoSessionModel","i4.InfoPlatformModel","i5.InfoDataService","i6","i7.Utilities","i8.InfoTranslateService","i2.InfoPlatformModel","i3.InfoThemeService","i1.InfoDataService","_c2","i3.InfoDataService","i4.InfoTranslateService","i5.InfoPlatformModel","_c5","_c3","_c4","i1.InfoDialogModal","i3","i4.InfoFormPropModel","i7.InfoAuthenticationService","i9.InfoLastSearchModel","i2.InfoAuthenticationService","i4.InfoSessionModel","i6.InfoLastSearchModel","i7","i4.InfoThemeService","i5","i6.InfoDialogModal","i7.InfoSessionModel","i8.InfoPlatformModel","i9","i10.Utilities","i3.InfoLastSearchModel","i4","i5.InfoSessionModel","i6.InfoPlatformModel","i2.InfoSessionModel","i4.InfoDataService","i5.InfoThemeService","i6.Utilities"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEa,mBAAmB,GAAG,IAAI,cAAc,CAAM,qBAAqB,EAAE;MACrE,oBAAoB,GAAG,IAAI,cAAc,CAAM,sBAAsB;;MCHrE,kBAAkB,CAAA;AAA/B,IAAA,WAAA,GAAA;AACI,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;AAC5B,QAAA,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AACvB,QAAA,IAAa,CAAA,aAAA,GAAW,EAAE,CAAC;AAC3B,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;AACxB,QAAA,IAAE,CAAA,EAAA,GAAW,CAAC,CAAC;AACf,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAC9B,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAO,CAAA,OAAA,GAAQ,EAAE,CAAC;KACrB;AAAA;;MCZY,mBAAmB,CAAA;AAY5B,IAAA,WAAA,CAAY,IAAS,EAAE,OAAiB,EAAE,QAAmB,EAAA;AAT7D,QAAA,IAAQ,CAAA,QAAA,GAAa,EAAE,CAAC;AACxB,QAAA,IAAI,CAAA,IAAA,GAAW,IAAI,CAAC;AACpB,QAAA,IAAW,CAAA,WAAA,GAAW,IAAI,CAAC;AAE3B,QAAA,IAAK,CAAA,KAAA,GAAW,CAAC,CAAC;AAClB,QAAA,IAAQ,CAAA,QAAA,GAAW,IAAI,CAAC;AACxB,QAAA,IAAa,CAAA,aAAA,GAAW,IAAI,CAAC;AAC7B,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAIb,IAAI,IAAI,IAAI,IAAI,EAAE;YACd,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;AACpC,gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YAEzB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE;AAClD,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAExC,YAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;AAClB,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAE5B,YAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;AACpB,gBAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAE3B,IAAI,IAAI,CAAC,QAAQ;AACb,gBAAA,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAE7B,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;AACrB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAElC,YAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;AAC1B,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AAE5C,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;AACrB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AAElC,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACzB,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;AAChD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAEzB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;AAClD,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC;KACnC;AACJ;;MC9CY,gBAAgB,CAAA;IAKzB,WAAY,CAAA,MAAyB,EAAE,IAAU,EAAA;AAJjD,QAAA,IAAI,CAAA,IAAA,GAAS,IAAI,CAAC;AAKd,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;AACJ;;MCXY,eAAe,CAAA;AAA5B,IAAA,WAAA,GAAA;AAEI,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAA;AAExB,QAAA,IAAO,CAAA,OAAA,GAAW,EAAE,CAAA;AACpB,QAAA,IAAK,CAAA,KAAA,GAAW,GAAG,CAAC;AAEpB,QAAA,IAAO,CAAA,OAAA,GAAW,IAAI,CAAA;AACtB,QAAA,IAAW,CAAA,WAAA,GAAW,UAAU,CAAA;AAChC,QAAA,IAAQ,CAAA,QAAA,GAAW,IAAI,CAAA;AAEvB,QAAA,IAAO,CAAA,OAAA,GAAW,EAAE,CAAA;AACpB,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAA;AACxB,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAA;AAErB,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK,CAAC;AAEhC,QAAA,IAAmB,CAAA,mBAAA,GAAY,KAAK,CAAC;KACxC;AAAA;;AClBW,IAAA,eAQX;AARD,CAAA,UAAY,cAAc,EAAA;IACtB,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,MAAS,CAAA;IAET,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;IACR,cAAA,CAAA,cAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;IACP,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;IACR,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;IACV,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;AACd,CAAC,EARW,cAAc,KAAd,cAAc,GAQzB,EAAA,CAAA,CAAA;;ACRW,IAAA,gBASX;AATD,CAAA,UAAY,eAAe,EAAA;IACvB,eAAA,CAAA,eAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;IACJ,eAAA,CAAA,eAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAE,CAAA;IACF,eAAA,CAAA,eAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;IACH,eAAA,CAAA,eAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAE,CAAA;IACF,eAAA,CAAA,eAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;IACN,eAAA,CAAA,eAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;IACJ,eAAA,CAAA,eAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO,CAAA;IACP,eAAA,CAAA,eAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACP,CAAC,EATW,eAAe,KAAf,eAAe,GAS1B,EAAA,CAAA,CAAA;;MCNY,iBAAiB,CAAA;AAA9B,IAAA,WAAA,GAAA;AAMI,QAAA,IAAA,CAAA,WAAW,GAAoB,eAAe,CAAC,IAAI,CAAC;AACpD,QAAA,IAAc,CAAA,cAAA,GAAQ,IAAI,CAAC;AAC3B,QAAA,IAAG,CAAA,GAAA,GAAQ,IAAI,CAAC;KAmCnB;IAjCG,GAAG,CAAC,UAA0B,EAAE,IAAS,EAAA;AAErC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,UAAU,IAAI,cAAc,CAAC,IAAI,CAAC;AAClD,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAE7B,QAAA,QAAQ,UAAU;YAEd,KAAK,cAAc,CAAC,GAAG;AACnB,gBAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpB,MAAM;YAEV,KAAK,cAAc,CAAC,MAAM;AACtB,gBAAA,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;gBACzB,MAAM;YAEV,KAAK,cAAc,CAAC,IAAI;AACpB,gBAAA,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;gBAC1B,MAAM;YAEV,KAAK,cAAc,CAAC,IAAI;AACpB,gBAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACtB,MAAM;YAEV,KAAK,cAAc,CAAC,MAAM;AACtB,gBAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACvB,MAAM;AAEV,YAAA;AACI,gBAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChB,MAAM;AACb,SAAA;KACJ;AACJ;;MC9CY,mBAAmB,CAAA;AAmB5B,IAAA,WAAA,CAAY,KAAa,EAAE,MAAe,EAAE,IAAY,EAAE,UAAkB,EAAE,cAA2B,GAAA,IAAI,EAAE,mBAAA,GAA8B,IAAI,EAAE,GAAA,GAAW,IAAI,EAAE,MAAiB,GAAA,IAAI,EAAE,aAAwB,GAAA,IAAI,EAAE,OAAA,GAAmB,IAAI,EAAA;AAbhP,QAAA,IAAc,CAAA,cAAA,GAAQ,IAAI,CAAC;AAC3B,QAAA,IAAmB,CAAA,mBAAA,GAAW,GAAG,CAAC;AAClC,QAAA,IAAG,CAAA,GAAA,GAAQ,IAAI,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAW,IAAI,CAAC;AACtB,QAAA,IAAa,CAAA,aAAA,GAAW,IAAI,CAAC;AAC7B,QAAA,IAAa,CAAA,aAAA,GAAW,IAAI,CAAC;AASzB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAE7B,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;AACrC,QAAA,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;AAE/C,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AACnC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;KAC1B;AACJ;;MCjCY,yBAAyB,CAAA;AAMlC,IAAA,WAAA,CAAY,KAAa,EAAE,IAAY,EAAE,MAAiB,EAAA;AAF1D,QAAA,IAAM,CAAA,MAAA,GAAc,IAAI,CAAC;AAIrB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACxB;AACJ;;MCZY,mBAAmB,CAAA;AAAhC,IAAA,WAAA,GAAA;AACI,QAAA,IAAG,CAAA,GAAA,GAAW,EAAE,CAAC;AACjB,QAAA,IAAK,CAAA,KAAA,GAAQ,IAAI,CAAC;AAClB,QAAA,IAAK,CAAA,KAAA,GAAW,CAAC,CAAC;AAClB,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;KAClC;AAAA;;MCLY,cAAc,CAAA;AAMvB,IAAA,WAAA,CAAY,OAAgB,EAAE,QAAgB,EAAE,IAAU,EAAA;AAJ1D,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAKrB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;AACJ;;MCXY,sBAAsB,CAAA;AAU/B,IAAA,WAAA,CAAY,KAAa,EAAE,GAAW,EAAE,IAAA,GAAe,eAAe,EAAE,KAAa,GAAA,IAAI,EAAE,UAAA,GAAqB,GAAG,EAAA;AATnH,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAG,CAAA,GAAA,GAAW,EAAE,CAAC;AACjB,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;AAClB,QAAA,IAAK,CAAA,KAAA,GAAQ,IAAI,CAAC;AAClB,QAAA,IAAU,CAAA,UAAA,GAAW,GAAG,CAAC;AAMrB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;KAChC;AACJ;;MCjBY,mBAAmB,CAAA;AAI/B;;MCFY,iBAAiB,CAAA;AAA9B,IAAA,WAAA,GAAA;AAEI,QAAA,IAAQ,CAAA,QAAA,GAAW,IAAI,CAAC;AACxB,QAAA,IAAU,CAAA,UAAA,GAAW,IAAI,CAAC;AAE1B,QAAA,IAAY,CAAA,YAAA,GAAY,IAAI,CAAC;AAC7B,QAAA,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;AACjB,QAAA,IAAA,CAAA,MAAM,GAAuB,IAAI,kBAAkB,EAAE,CAAC;AAGtD,QAAA,IAAc,CAAA,cAAA,GAAY,IAAI,CAAC;AAC/B,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAC3B,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAE7B,QAAA,IAAI,CAAA,IAAA,GAAQ,EAAE,CAAC;AAEf,QAAA,IAAW,CAAA,WAAA,GAAQ,IAAI,CAAC;KAM3B;AAJU,IAAA,SAAS,CAAC,MAA0B,EAAA;AACvC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC7B;AACJ;;MCvBY,gBAAgB,CAAA;AAA7B,IAAA,WAAA,GAAA;AAkBI,QAAA,IAAU,CAAA,UAAA,GAA0B,EAAE,CAAC;AACvC,QAAA,IAAQ,CAAA,QAAA,GAAU,EAAE,CAAC;AACrB,QAAA,IAAQ,CAAA,QAAA,GAAU,EAAE,CAAC;AACrB,QAAA,IAAU,CAAA,UAAA,GAAU,IAAI,CAAC;KAG5B;AAAA;;MC1BY,qBAAqB,CAAA;AAAlC,IAAA,WAAA,GAAA;AACI,QAAA,IAAK,CAAA,KAAA,GAAW,CAAC,CAAC;AAClB,QAAA,IAAK,CAAA,KAAA,GAAgC,EAAE,CAAC;KAC3C;AAAA,CAAA;MAEY,yBAAyB,CAAA;AAOrC;;ACZW,IAAA,kBAMX;AAND,CAAA,UAAY,iBAAiB,EAAA;IACzB,iBAAA,CAAA,iBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAE,CAAA;IACF,iBAAA,CAAA,iBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM,CAAA;IACN,iBAAA,CAAA,iBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;IACH,iBAAA,CAAA,iBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAE,CAAA;IACF,iBAAA,CAAA,iBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG,CAAA;AACP,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,GAM5B,EAAA,CAAA,CAAA;;MCCY,oBAAoB,CAAA;IAQ7B,WAAiD,CAAA,aAAkB,EAAU,WAA8B,EAAA;AAA1D,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAK;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAmB;AANnG,QAAA,IAAI,CAAA,IAAA,GAAW,aAAa,CAAC;AAQjC,QAAA,IAAI,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,IAAI,IAAI,IAAI;AACZ,YAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;;AAC3B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KACjC;AAVD,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;AAUM,IAAA,GAAG,CAAC,IAAY,EAAA;AACnB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC3C;AAEM,IAAA,SAAS,CAAC,GAAW,EAAA;QACxB,IAAI,WAAW,GAAG,GAAG,CAAC;AAEtB,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;AACzI,YAAA,WAAW,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/J,IAAI,OAAO,WAAW,IAAI,QAAQ;gBAC9B,WAAW,GAAG,GAAG,CAAC;AACzB,SAAA;AAED,QAAA,OAAO,WAAW,CAAC;KACtB;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;YACvF,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC;AACxD,SAAA;KACJ;AAEM,IAAA,OAAO,CAAC,GAAW,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC9B;;AA1CQ,mBAAA,oBAAA,CAAA,IAAA,GAAA,SAAA,4BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,oBAAoB,cAQT,mBAAmB,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAA,iBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;yGAR9B,oBAAoB,EAAA,OAAA,EAApB,oBAAoB,CAAA,IAAA,EAAA,UAAA,EAFjB,MAAM,EAAA,CAAA,CAAA;;4EAET,oBAAoB,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;8BASgB,MAAM;+BAAC,mBAAmB,CAAA;;;;;MCR9B,iBAAiB,CAAA;AAE1B,IAAA,WAAA,CAAoB,UAAgC,EAAA;AAAhC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAsB;KAAK;IAEzD,SAAS,CAAC,KAAa,EAAE,IAAU,EAAA;AAC/B,QAAA,IAAI,CAAC,KAAK;YACN,OAAO;QAEX,IAAI,IAAI,KAAK,KAAK;AACd,YAAA,OAAO,KAAK,CAAC;QAEjB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACzC;;qGAZQ,iBAAiB,EAAA,EAAA,CAAA,iBAAA,CAAAC,oBAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA;kHAAjB,iBAAiB,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;4EAAjB,iBAAiB,EAAA,CAAA;kBAJ7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,IAAI,EAAE,KAAK;iBACd,CAAA;;;;MCEY,YAAY,CAAA;AAErB,IAAA,WAAA,GAAA,GAAkB;IAElB,SAAS,CAAC,KAAa,EAAE,IAAU,EAAA;AAC/B,QAAA,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,IAAI,IAAI,IAAI,OAAO;AACf,YAAA,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aACvF,IAAI,IAAI,IAAI,KAAK;AAClB,YAAA,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aAC7F,IAAI,IAAI,IAAI,KAAK;YAClB,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aAC5D,IAAI,IAAI,IAAI,KAAK;AAClB,YAAA,IAAI,GAAG,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,CAAC,CAAC;aAC3E,IAAI,IAAI,IAAI,MAAM;AACnB,YAAA,IAAI,GAAG,CAAC,aAAa,EAAC,aAAa,EAAC,GAAG,EAAC,aAAa,EAAC,aAAa,EAAC,aAAa,EAAC,GAAG,EAAC,aAAa,EAAC,aAAa,EAAC,aAAa,EAAC,GAAG,EAAC,aAAa,EAAC,aAAa,EAAC,aAAa,EAAC,aAAa,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,CAAC,CAAC;AACzM,aAAA;YACF,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;YACtD,SAAS,GAAG,KAAK,CAAC;AACrB,SAAA;AAED,QAAA,IAAI,WAAW,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,cAAc,CAAC;QAE5E,OAAO,SAAS,GAAG,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;KAC5D;;2FA5BQ,YAAY,GAAA,CAAA,EAAA,CAAA;wGAAZ,YAAY,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;4EAAZ,YAAY,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,IAAI,EAAE,KAAK;iBACd,CAAA;;;;MCHY,SAAS,CAAA;AADtB,IAAA,WAAA,GAAA;AAmJY,QAAA,IAAG,CAAA,GAAA,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAClD,QAAA,IAAE,CAAA,EAAA,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;KAyB5D;IA3KG,OAAO,GAAA;AACH,QAAA,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAS,CAAC,EAAA;AACrE,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,IAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAE,CAAC;AACxE,YAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC1B,SAAC,CAAC,CAAC;KACN;IAED,YAAY,GAAA;AACR,QAAA,OAAO,sCAAsC,CAAC;KACjD;AAED,IAAA,MAAM,CAAC,KAAK,EAAA;AACR,QAAA,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,+EAA+E,CAAC,KAAK,IAAI,CAAC;KACvH;AAED,IAAA,mBAAmB,CAAC,MAAM,EAAA;QACtB,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,QAAA,IAAI,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC;AACpC,QAAA,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACvC,YAAA,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACnB,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KAChB;AAED,IAAA,aAAa,CAAC,MAAM,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC9D;AAED,IAAA,aAAa,CAAC,KAAK,EAAA;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;KAClD;IAED,cAAc,CAAC,KAAK,EAAE,IAAI,EAAA;QACtB,IAAI,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzB,YAAA,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC3B,aAAA;YACD,IAAI,QAAQ,GAAsB,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAsB,CAAC;AACnF,YAAA,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC;AACxB,YAAA,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;AAC1B,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACjB,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACvC,SAAA;KACJ;AAED,IAAA,cAAc,CAAC,GAAW,EAAA;QACtB,IAAI,GAAG,IAAI,IAAI;AACX,YAAA,OAAO,EAAE,CAAC;AACd,QAAA,IAAI,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC;QAClG,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;KAChE;IAED,WAAW,GAAA;AACP,QAAA,OAAO,CAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,0BAA0B,EAAE,QAAQ,EAAE,KAAK,EAAE;AACrF,YAAA,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAE,CAAC;KACvF;IAED,gBAAgB,GAAA;QACZ,OAAO,CAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,2CAA2C,EAAE;AAC/D,YAAA,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,2CAA2C,EAAE;AAC/D,YAAA,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,wCAAwC,EAAE;YAC5D,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,wCAAwC,EAAE,CAAE,CAAC;KAC3E;IAED,SAAS,GAAA;QACL,OAAO,CAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1B,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAE,CAAC;KAC5C;IAED,iBAAiB,GAAA;AACb,QAAA,OAAO,CAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE;YAClD,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE;YAC9C,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE;YACjD,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE;AAClD,YAAA,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAE,CAAC;KAC/D;IAED,sBAAsB,GAAA;QAClB,OAAO,CAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,yBAAyB,EAAE;AAC5C,YAAA,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE;AACpC,YAAA,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE;AAC/B,YAAA,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5B,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAE,CAAC;KACxC;IAED,iBAAiB,GAAA;QACb,OAAO,CAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7B,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAE,CAAC;KACjD;IAED,UAAU,GAAA;QACN,OAAO,CAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE;YAC9B,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAE,CAAC;KAC5C;IAED,iBAAiB,GAAA;QACb,OAAO,CAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAC;AAC1B,YAAA,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAC;YACvB,EAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAC,CAAE,CAAC;KACzC;IAED,SAAS,GAAA;QACL,OAAO,CAAE,EAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAC;AACvC,YAAA,EAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAC;AAC1C,YAAA,EAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAC;YACzC,EAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAC,CAAE,CAAC;KAC3D;AAED,IAAA,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK;YACN,OAAO;QAEX,IAAI,OAAO,GAAG,4DAA4D,CAAC;QAC3E,IAAI,MAAM,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAE1E,QAAA,IAAI,QAAQ;AACR,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAE,CAAC;KACpE;IAED,eAAe,CAAC,GAAW,EAAE,KAAU,EAAA;AACnC,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;KACvD;AAED,IAAA,eAAe,CAAC,GAAW,EAAA;AACvB,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,QAAA,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;AAAE,YAAA,OAAO,IAAI,CAAC;AAC5C,QAAA,OAAO,IAAI,CAAC;KACf;IAED,IAAI,GAAA;AACA,QAAA,IAAI,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;AACpC,QAAA,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;KAChF;AAED,IAAA,YAAY,CAAC,KAAK,EAAA;QACd,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACvC,QAAA,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;AACtB,QAAA,OAAO,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,WAAW,CAAC;KAC3C;AAKD,IAAA,YAAY,CAAC,KAAK,EAAA;QACd,IAAI;YACA,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;gBACzC,EAAE,EAAE,IAAI,CAAC,EAAE;AACX,gBAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;AACvB,gBAAA,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK;aAC9B,CAAC,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AACR,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;KACJ;AAED,IAAA,eAAe,CAAC,KAAK,EAAA;QACjB,IAAI;YACA,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;gBACzC,EAAE,EAAE,IAAI,CAAC,EAAE;AACX,gBAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG;AACvB,gBAAA,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK;aAC9B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClC,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AACR,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;KACJ;;qFA3KQ,SAAS,GAAA,CAAA,EAAA,CAAA;AAAT,mBAAA,SAAA,CAAA,KAAA,6BAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,SAAS,WAAT,SAAS,CAAA,IAAA,EAAA,CAAA,CAAA;;4EAAT,SAAS,EAAA,CAAA;kBADrB,UAAU;;;MA+KW,WAAW,CAAA;IAE7B,OAAO,WAAW,CAAC,IAAY,EAAA;AAC3B,QAAA,MAAM,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;AAClC,QAAA,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/C,QAAA,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,QAAA,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAErD,OAAO,YAAY,IAAI,IAAI,CAAC;KAC/B;IAED,OAAO,UAAU,CAAC,GAAW,EAAA;AACzB,QAAA,MAAM,WAAW,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC;AAChC,QAAA,GAAG,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,QAAA,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,QAAA,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjD,OAAO,WAAW,IAAI,GAAG,CAAC;KAC7B;IAEO,OAAO,SAAS,CAAC,IAAY,EAAA;QACjC,OAAO,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;KACpD;IAEO,OAAO,WAAW,CAAC,IAAY,EAAA;AACnC,QAAA,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACrD,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAEpC,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AAClB,aAAA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9E,aAAA,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;KACnC;IAEO,OAAO,UAAU,CAAC,GAAW,EAAA;AACjC,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AACxC,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;KAC5F;AACJ;;MC1MY,eAAe,CAAA;IAIxB,WAAkD,CAAA,cAAmB,EACjD,KAAiB,EACjB,OAAe,EACf,WAA8B,EAC9B,UAAqB,EAAA;AAJS,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAK;AACjD,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;AACjB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AACf,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAmB;AAC9B,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAW;KAAK;IAEvC,QAAQ,GAAA;AACX,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAExE,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;AACpB,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAC/B,YAAA,OAAO,EAAE,CAAC;AAEb,SAAA;;AAAM,YAAA,OAAO,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;KACxC;IAEM,gBAAgB,GAAA;AACnB,QAAA,IAAI,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI;AACvC,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACjG,QAAA,OAAO,OAAO,CAAC;KAClB;IAEM,cAAc,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;KACxE;AAEM,IAAA,SAAS,CAAC,UAAe,EAAA;QAC5B,IAAI,GAAG,GAAG,EAAE,CAAC;AAEnB,QAAA,IAAI,QAAO,UAAU,CAAC,IAAI,QAAQ;YACjC,GAAG,GAAI,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;;AAExC,YAAA,GAAG,GAAG,UAAU,IAAI,IAAI,GAAG,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,WAAW,EAAE,CAAC;KACpF;AAKM,IAAA,UAAU,CAAC,UAAe,EAAE,MAAe,EAAE,KAAc,EAAA;QAE9D,OAAO,IAAI,CAAC,KAAK;AACZ,aAAA,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AACnQ,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EACnE,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KACT;AAKM,IAAA,GAAG,CAAC,UAAe,EAAE,MAAe,EAAE,KAAc,EAAA;QAEvD,OAAO,IAAI,CAAC,KAAK;AACZ,aAAA,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AACjQ,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EACnE,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KACT;IAEM,OAAO,CAAC,UAAe,EAAE,EAAU,EAAA;QAEtC,OAAO,IAAI,CAAC,KAAK;aACZ,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AACzG,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EACnE,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KACT;AAIM,IAAA,WAAW,CAAC,UAAe,EAAE,KAAU,EAAE,MAAe,EAAA;QAE3D,OAAO,IAAI,CAAC,KAAK;AACZ,aAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AACjK,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EACnE,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KACT;AAIM,IAAA,IAAI,CAAC,UAAe,EAAE,KAAU,EAAE,MAAe,EAAA;QAEpD,OAAO,IAAI,CAAC,KAAK;AACZ,aAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAC/J,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EACnE,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CACrE,CAAC;KACT;AAIM,IAAA,MAAM,CAAC,UAAe,EAAE,EAAO,EAAE,MAAe,EAAA;AAEnD,QAAA,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,IAAI,IAAI;YAC7B,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC,KAAK;aACZ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAC5M,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EACnE,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KACT;AAIM,IAAA,aAAa,CAAC,UAAe,EAAE,KAAU,EAAE,MAAe,EAAA;AAE7D,QAAA,IAAI,WAAW,GAAG;AACd,YAAA,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE;YAC9B,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;SAC7C,CAAA;QAED,OAAO,IAAI,CAAC,KAAK;AACZ,aAAA,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC;AAC9E,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EACnE,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KACT;AAIM,IAAA,OAAO,CAAC,UAAe,EAAE,KAAY,EAAE,MAAe,EAAE,KAAc,EAAA;AAEzE,QAAA,IAAI,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAC9B,QAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE;AAC7C,YAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC,KAAK;AACZ,aAAA,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAC9O,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EACnE,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KACT;AAEO,IAAA,aAAa,CAAC,CAAoB,EAAE,QAAA,GAAoB,IAAI,EAAA;AAChE,QAAA,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG;AACf,YAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;AACnC,aAAA,IAAI,QAAQ;AACb,YAAA,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QAEtC,IAAI,QAAQ,GAAa,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC9C,QAAA,OAAO,EAAE,CAAC,IAAI,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;KAC7D;AAEO,IAAA,SAAS,CAAC,MAAc,EAAA;AAC5B,QAAA,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,MAAM,KAAN,IAAA,IAAA,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QAE1F,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;KACvM;;AApKQ,mBAAA,eAAA,CAAA,IAAA,GAAA,SAAA,uBAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,eAAe,cAIJ,oBAAoB,CAAA,EAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAC,IAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAC,iBAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,EAAA,CAAA;oGAJ/B,eAAe,EAAA,OAAA,EAAf,eAAe,CAAA,IAAA,EAAA,UAAA,EAFZ,MAAM,EAAA,CAAA,CAAA;;4EAET,eAAe,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;8BAKgB,MAAM;+BAAC,oBAAoB,CAAA;;;;;;;ACPxB,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA+B,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAU,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;QAAA,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAzC,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA3B,EAA2B,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,IAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;;QALvG,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,CAAmD,gBAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAEvC,QAAA,EAA2B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;AACpC,QAAA,EAAyB,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA;AACzB,QAAA,EAAI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AACA,QAAA,EAAyG,CAAA,UAAA,CAAA,CAAA,EAAA,sCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QAC7G,EAAK,CAAA,YAAA,EAAA,CAAA;QACL,EAAqC,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAApB,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oDAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAS,CAAA,OAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAAC,EAA0B,CAAA,cAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAK,CAAA,MAAA,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA;AAAA,QAAA,EAAI,CAAA,YAAA,EAAA,EAAA,EAAA,EAAA,CAAA;;;;AALpE,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAA2B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAGT,QAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAX,EAAW,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA;;;;;MAQpC,kBAAkB,CAAA;AAhB/B,IAAA,WAAA,GAAA;AAkBa,QAAA,IAAQ,CAAA,QAAA,GAAa,EAAE,CAAC;KAKpC;IAHG,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;;uGANQ,kBAAkB,GAAA,CAAA,EAAA,CAAA;oGAAlB,kBAAkB,EAAA,SAAA,EAAA,CAAA,CAAA,YAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAAC,KAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,OAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,2BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;AAbvB,YAAA,EASM,CAAA,UAAA,CAAA,CAAA,EAAA,iCAAA,EAAA,EAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;YATA,EAA2C,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,QAAA,IAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAC,KAAA,CAAA,IAAA,GAAA,CAAA,QAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;;;;4EAa5C,kBAAkB,EAAA,CAAA;kBAhB9B,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACZ,QAAA,EAAA,CAAA;;;;;;;;;;;AAWT,IAAA,CAAA,EAAA,MAAA,EAAA,CAAA,wzCAAA,CAAA,EAAA,CAAA;oBAKQ,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;;;;;QClBN,EAAsE,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAAzC,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,gEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAO,CAAA,KAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAwB,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;;QAEtF,EAA6C,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,CAAA,CAAA;QACzC,EAA0E,CAAA,SAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,EAAA,CAAA,CAAA;QAC9E,EAAU,CAAA,YAAA,EAAA,CAAA;;;;;;QAUN,EAA6G,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAvC,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAO,CAAA,KAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAsB,QAAA,EAA4B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;;QAA1D,EAAoB,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AAAC,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5B,QAAA,EAA4B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA,CAAA;;;;;;QACzI,EAA4H,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAApD,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAO,CAAA,KAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAmC,QAAA,EAA6B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;;QAA3D,EAAoB,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AAAC,QAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,QAAA,EAA6B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,CAAA,CAAA;;;;;;QACzJ,EAAgI,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAApB,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAQ,CAAA,MAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAE,QAAA,EAA6B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;;AAA9F,QAAA,EAAmC,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,OAAA,IAAA,MAAA,CAAA,WAAA,CAAA,CAAA;AAAqB,QAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,QAAA,EAA6B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,CAAA,CAAA;;;;;QAHjK,EAAiI,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAC7H,QAAA,EAAkJ,CAAA,UAAA,CAAA,CAAA,EAAA,0CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAClJ,QAAA,EAAkK,CAAA,UAAA,CAAA,CAAA,EAAA,0CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAClK,QAAA,EAAsK,CAAA,UAAA,CAAA,CAAA,EAAA,0CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QAC1K,EAAM,CAAA,YAAA,EAAA,CAAA;;;;AAHkB,QAAA,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,QAAA,EAAkC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,UAAA,IAAA,EAAA,IAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAClC,QAAA,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApC,QAAA,EAAoC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,WAAA,IAAA,EAAA,IAAA,CAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AACpC,QAAA,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApC,QAAA,EAAoC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,WAAA,IAAA,EAAA,IAAA,CAAA,MAAA,CAAA,QAAA,CAAA,CAAA;;;;;QAIhE,EAAyD,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;;;;;MCJ5C,kBAAkB,CAAA;AAuB3B,IAAA,WAAA,CAAoB,kBAAmC,EAAkC,IAAuB,EAAU,IAAuB,EAAA;AAA7H,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAiB;AAAkC,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AAAU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AArBxI,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;AACxB,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;AAC/B,QAAA,IAAG,CAAA,GAAA,GAAQ,IAAI,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAW,IAAI,CAAC;AACtB,QAAA,IAAQ,CAAA,QAAA,GAAY,IAAI,CAAC;AACzB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAY,CAAA,YAAA,GAAY,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAA,IAAA,GAAQ,IAAI,CAAC;AACjB,QAAA,IAAU,CAAA,UAAA,GAAW,QAAQ,CAAC;AAC9B,QAAA,IAAW,CAAA,WAAA,GAAW,UAAU,CAAC;AACjC,QAAA,IAAW,CAAA,WAAA,GAAW,QAAQ,CAAC;AAC/B,QAAA,IAAQ,CAAA,QAAA,GAAa,EAAE,CAAC;AACxB,QAAA,IAAK,CAAA,KAAA,GAAW,IAAI,CAAC;AAEpB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AAC5B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;KAM6G;AAGtJ,IAAA,IAAI,WAAW,GAAA;;AACX,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;AACnB,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAA,IAAA,EAAA,CAAA,CAAA,OAAA,CAAA,CAAA,EAAA,GAAA,CAAC,KAAA,IAAA,IAAD,CAAC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAD,CAAC,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,KAAI,KAAK,CAAA,EAAA,CAAC,CAAC;;gBAEtD,OAAO,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,KAAI,KAAK,CAAC;AAC/C,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KAChB;IAED,QAAQ,GAAA;AAEJ,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI;YACrE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAEtC,QAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI;YAC9D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAE7B,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;YAClB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;AAEzE,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI;YACxE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEvC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AACtC,YAAA,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAChH,IAAI,CAAC,MAAM,EAAE,CAAC;AACtB,SAAC,CAAC,CAAC;KACN;IAED,MAAM,GAAA;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AAEnB,QAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE;AAC7C,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE5C,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AACxC,QAAA,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;AACzF,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC5C,OAAO;AACV,SAAA;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACpC,QAAA,IAAI,UAAU,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;AACnF,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACzC,OAAO;AACV,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACxB,OAAO;AAEX,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAEpB,QAAA,IAAI,CAAC,kBAAkB;AAClB,aAAA,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;aACvC,SAAS,CAAC,CAAC,IAAG;YAEX,IAAI,CAAC,CAAC,OAAO,EAAE;gBACX,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE3B,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;AACnC,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC7B,aAAA;;AAEI,gBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;AAEhC,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACzB,SAAC,CAAC,CAAC;KACV;IAED,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;AAED,IAAA,UAAU,CAAC,GAAQ,EAAA;AACf,QAAA,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;KACpB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;IAED,gBAAgB,CAAE,UAAmB,EAAA,GAAW;;AA3HvC,mBAAA,kBAAA,CAAA,IAAA,GAAA,SAAA,0BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,kBAAkB,8DAuBsC,eAAe,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAJ,IAAA,CAAA,YAAA,CAAA,CAAA,CAAA,EAAA,CAAA;AAvBvE,mBAAA,kBAAA,CAAA,IAAA,6BAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,IAAA,EAAA,kBAAkB,EARhB,SAAA,EAAA,CAAA,CAAA,YAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,MAAM,kBAAkB,EAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;SACJ,CAAA,CAAA,EAAA,kBAAA,EAAAG,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,EAAA,UAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,2BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;YDhBL,EAAsB,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAClB,EAAoD,CAAA,SAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;;AACpD,YAAA,EAAsF,CAAA,UAAA,CAAA,CAAA,EAAA,sCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAEtF,YAAA,EAEU,CAAA,UAAA,CAAA,CAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,CAAA,CAAA;YACd,EAAK,CAAA,YAAA,EAAA,CAAA;YAEL,EAA+C,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;AAC3C,YAAA,EAAyB,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA;YAC7B,EAAqB,CAAA,YAAA,EAAA,CAAA;AAErB,YAAA,EAAoB,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,CAAA;AAChB,YAAA,EAA4C,CAAA,YAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAC5C,YAAA,EAIM,CAAA,UAAA,CAAA,CAAA,EAAA,iCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YACV,EAAqB,CAAA,YAAA,EAAA,CAAA;AAErB,YAAA,EAAyD,CAAA,UAAA,CAAA,EAAA,EAAA,kCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YACzD,EAA+C,CAAA,SAAA,CAAA,EAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;;;AAtBpC,YAAA,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAApC,EAAoC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;AACK,YAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAnB,EAAmB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,aAAA,CAAA,CAAA;AAErC,YAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;AAWrC,YAAA,EAA4G,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5G,YAAA,EAA4G,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,UAAA,IAAA,EAAA,IAAA,GAAA,CAAA,QAAA,IAAA,GAAA,CAAA,WAAA,IAAA,EAAA,IAAA,CAAA,GAAA,CAAA,QAAA,IAAA,GAAA,CAAA,WAAA,IAAA,EAAA,IAAA,CAAA,GAAA,CAAA,QAAA,CAAA,CAAA;AAOlG,YAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,YAAA,EAA6B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,IAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AACrC,YAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAArB,EAAqB,CAAA,UAAA,CAAA,UAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;;;;4ECLpB,kBAAkB,EAAA,CAAA;kBAX9B,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAEX,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,wBAAwB,EAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,23CAAA,EAAA,CAAA;;;8BAyByD,MAAM;+BAAC,eAAe,CAAA;;SArBvE,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEI,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;;MChBE,yBAAyB,CAAA;AAIlC,IAAA,WAAA,CAAoB,OAAe,EACf,KAAiB,EACjB,OAAyB,EACzB,WAA8B,EAC9B,YAA6B,EAC7B,MAAiB,EACjB,UAAqB,EACrB,UAAgC,EAChC,MAAa,EAAA;AARb,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AACf,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;AACjB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;AACzB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAmB;AAC9B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAiB;AAC7B,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;AACjB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAW;AACrB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAsB;AAChC,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAO;AAVzB,QAAA,IAAc,CAAA,cAAA,GAAY,IAAI,CAAC;KAUD;IAEtC,SAAS,GAAA;QACL,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;IAED,WAAW,GAAA;QACP,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;IAED,WAAW,CAAC,sBAA8C,EAAE,mBAAwC,EAAA;QAEhG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;AACd,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAED,QAAA,MAAM,GAAG,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC;QAE1E,UAAU,CAAC,MAAK;YACZ,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B,EAAE,IAAI,CAAC,CAAC;AAET,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAE5B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC;AACvB,aAAA,IAAI,CACD,GAAG,CAAC,MAAK;YACL,IAAI,GAAG,IAAI,GAAG;AACV,gBAAA,OAAO,IAAI,CAAC;AAEhB,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;AACxB,gBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AAE7C,YAAA,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC;AAC3D,gBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AAE7C,YAAA,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC;AACvH,gBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AAE7C,YAAA,OAAO,IAAI,CAAC;AAChB,SAAC,EACD,UAAU,CAAC,KAAK,IAAG;AACf,YAAA,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;gBAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AACvC,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;SACnB,CAAC,CACL,CAAC,CAAC,IAAI,CACH,SAAS,CAAC,CAAM,GAAG,KAAG,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;YAClB,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAE3D,YAAA,IAAI,CAAC,SAAS;AACV,gBAAA,OAAO,IAAI,CAAC;AAEhB,YAAA,IAAI,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhH,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;YACpF,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI;AAC5B,gBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AAE7C,YAAA,OAAO,IAAI,CAAC;SACf,CAAA,CAAC,CACL,CAAC;KACjB;IAED,QAAQ,GAAA;AACJ,QAAA,QAAQ,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;KAC/E;IAEJ,kBAAkB,GAAA;QACX,IAAI,CAAC,IAAI,CAAC,cAAc;YACpB,OAAO;AAEX,QAAA,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAEzC,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC;YAC3E,OAAO;AAEX,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;AAChD,QAAA,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEvE,QAAA,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,MAAK;YAEzC,IAAI,WAAW,GAAG,CAAC,EAAG;AAClB,gBAAA,WAAW,EAAE,CAAC;gBACd,OAAO;AACV,aAAA;AAED,YAAA,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAElJ,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,EAAC;gBAC3C,WAAW,GAAG,aAAa,CAAC;gBAC5B,OAAO;AACV,aAAA;AAED,YAAA,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACzC,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE5B,IAAI,KAAK,CAAC,aAAa,CAAC;gBACpB,IAAI,CAAC,MAAM,EAAE,CAAC;;gBAEb,IAAI,CAAC,WAAW,EAAE,CAAC;SAC3B,EAAE,IAAI,CAAC,CAAC;KACf;IAEE,WAAW,GAAA;QACP,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;AACzD,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,OAAO;AACjB,SAAA,CAAC,CAAC;QAEH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAoB,KAAI;YAEjD,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC;AAC/K,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC7B,aAAA;;gBAEI,IAAI,CAAC,MAAM,EAAE,CAAC;AACvB,SAAC,CAAC,CAAC;KACN;IAED,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,cAAyB,GAAA,IAAI,EAAE,SAAA,GAAoB,IAAI,EAAA;QACzF,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,OAAO,IAAI,CAAC,KAAK;aACL,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,GAAG,mCAAmC,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAC/Q,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,EAAO,KAAI;YACX,IAAI,CAAC,GAAS,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI;AAC3B,gBAAA,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAE7E,YAAA,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KAChB;IAED,aAAa,CAAC,OAAe,EAAE,SAAiB,EAAA;QAC5C,OAAO,IAAI,CAAC,KAAK;AACL,aAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,GAAG,sCAAsC,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAChN,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,EAAO,KAAI;YACX,IAAI,CAAC,GAAS,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI;AAC1B,gBAAA,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAExE,YAAA,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KAChB;AAED,IAAA,aAAa,CAAC,OAAe,EAAE,SAAiB,EAAE,SAAiB,EAAA;QAC/D,OAAO,IAAI,CAAC,KAAK;AACL,aAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,GAAG,sCAAsC,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AACtO,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,EAAO,KAAI;YACX,IAAI,CAAC,GAAS,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI;AAC1B,gBAAA,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAExE,YAAA,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KAChB;AAED,IAAA,MAAM,CAAC,OAAe,EAAA;QAClB,OAAO,IAAI,CAAC,KAAK;AACL,aAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,GAAG,+BAA+B,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AACrM,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,EAAO,KAAI;YACX,IAAI,CAAC,GAAS,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI;AAC1B,gBAAA,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAExE,YAAA,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KAChB;IAED,MAAM,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,GAAG,+BAA+B,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;iBACtJ,SAAS,CAAC,MAAK;gBACZ,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAG,EAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1E,aAAC,CAAC,CAAC;AAChB,SAAA;AACI,aAAA;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAG,EAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AACzE,SAAA;KACJ;AAED,IAAA,cAAc,CAAC,GAAW,EAAE,YAAA,GAAwB,KAAK,EAAA;QACrD,OAAO,IAAI,CAAC,KAAK;aACL,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,GAAG,sCAAsC,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,GAAG,gBAAgB,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AACrQ,aAAA,IAAI,CACA,GAAG,CAAC,CAAC,EAAO,KAAI;YACZ,IAAI,CAAC,GAAS,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAChD,YAAA,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,SAAC,CAAC,EACH,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KAChB;AAED,IAAA,aAAa,CAAC,KAAU,EAAA;QACpB,OAAO,IAAI,CAAC,KAAK;AACL,aAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,GAAG,oCAAoC,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAC3L,aAAA,IAAI,CACA,GAAG,CAAC,CAAC,EAAO,KAAI;YACZ,IAAI,CAAC,GAAS,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAChD,YAAA,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,SAAC,CAAC,EACH,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KAChB;AAED,IAAA,iBAAiB,CAAC,KAAU,EAAA;QACxB,OAAO,IAAI,CAAC,KAAK;AACL,aAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,GAAG,uCAAuC,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAC9L,aAAA,IAAI,CACA,GAAG,CAAC,CAAC,EAAO,KAAI;YACZ,IAAI,CAAC,GAAS,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAChD,YAAA,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,SAAC,CAAC,EACH,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KAChB;AAED,IAAA,eAAe,CAAC,KAAU,EAAA;QACtB,OAAO,IAAI,CAAC,KAAK;AACL,aAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,GAAG,qCAAqC,EAAE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAC9L,aAAA,IAAI,CACA,GAAG,CAAC,CAAC,EAAO,KAAI;YACZ,IAAI,CAAC,GAAS,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAChD,YAAA,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,SAAC,CAAC,EACH,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KAChB;IAED,iBAAiB,GAAA;QACb,OAAO,IAAI,CAAC,KAAK;aACL,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,GAAG,sCAAsC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AACxJ,aAAA,IAAI,CACA,GAAG,CAAC,CAAC,EAAO,KAAI;YACZ,IAAI,CAAC,GAAS,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAChD,YAAA,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,SAAC,CAAC,EACH,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KAChB;AAED,IAAA,aAAa,CAAC,GAAW,EAAE,WAAA,GAAsB,MAAM,EAAA;AAEnD,QAAA,IAAI,GAAG,IAAI,GAAG,IAAI,WAAW,IAAI,MAAM;AACnC,YAAA,OAAO,IAAI,CAAC;QAEhB,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AAC3C,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,WAAW,IAAI,CAAC,CAAC,mBAAmB,IAAI,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;KACtH;AAED,IAAA,aAAa,CAAC,GAAW,EAAE,YAAA,GAAwB,KAAK,EAAA;QAEpD,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC;AACxE,QAAA,IAAI,SAAS,EAAE;AACX,YAAA,IAAI,YAAY,EAAE;AACd,gBAAA,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAG;oBACzC,IAAI,CAAC,GAAG,CAAC,OAAO;wBACZ,IAAI,CAAC,MAAM,EAAE,CAAC;AAElB,oBAAA,OAAO,IAAI,CAAC;AAChB,iBAAC,CAAC,EACF,UAAU,CAAC,KAAK,IAAG;AACf,oBAAA,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;wBAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AACvC,oBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;iBACnB,CAAC,CAAC,CAAC;AACP,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,IAAI,UAAU,CAAC,UAAU,QAAQ,EAAA;AACpC,oBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACxB,iBAAC,CAAC,CAAC;AACN,aAAA;AACJ,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAG;gBACjE,IAAI,GAAG,CAAC,OAAO,EAAE;AACb,oBAAA,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;wBAClB,IAAI,CAAC,MAAM,EAAE,CAAC;AACd,wBAAA,OAAO,IAAI,CAAC;AACf,qBAAA;AAED,oBAAA,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAG;AACpB,wBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,IAAI,CAAC;4BACvH,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,qBAAC,CAAC,CAAC;AAEH,oBAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC;oBACzC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9F,iBAAA;AAED,gBAAA,OAAO,IAAI,CAAC;AAChB,aAAC,CAAC,EACF,UAAU,CAAC,KAAK,IAAG;AACf,gBAAA,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;oBAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AACvC,gBAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;aACnB,CAAC,CAAC,CAAC;AACP,SAAA;KACJ;AAED,IAAA,YAAY,CAAC,GAAW,EAAA;QACpB,OAAO,IAAI,CAAC,KAAK;AACZ,aAAA,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,GAAG,sCAAsC,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AACxN,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,EAAO,KAAI;YACZ,IAAI,CAAC,GAAS,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAChD,OAAO,IAAI,cAAc,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACjD,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,CAAoB,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;KACT;IAED,YAAY,GAAA;QACR,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YACtC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzE,gBAAA,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACrC,SAAC,CAAC,CAAC;KACN;AAED,IAAA,iBAAiB,CAAC,GAAG,EAAA;QAEjB,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE;AAC9C,YAAA,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC;YACpC,OAAO;AACV,SAAA;QAED,IAAI,GAAG,GAAa,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChF,IAAI,UAAU,GAAW,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;AAClE,QAAA,IAAI,aAAa,GAAa,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtD,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAErE,aAAA;AACD,YAAA,IAAI,IAAI,GAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAElG,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,oBAAA,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3F,aAAA;YAED,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAC9E,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAE,SAAS,CAAC,CAAC;AAChK,aAAA;;gBAEI,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,EAAE,CAAC;AACpH,SAAA;KACJ;AAED,IAAA,cAAc,CAAC,GAAW,EAAA;QACtB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,QAAQ,GAAa,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACxC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,YAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM;gBAClG,MAAM;;AAEN,gBAAA,OAAO,IAAI,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpC,SAAA;AACD,QAAA,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAC/B;AAEO,IAAA,aAAa,CAAC,CAAoB,EAAA;AACtC,QAAA,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG;YACf,IAAI,CAAC,MAAM,EAAE,CAAC;AAEb,aAAA,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG;AACpB,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAEjC,aAAA,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,iBAAiB,IAAI,IAAI;AACzD,YAAA,OAAO,EAAE,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;;YAE/D,OAAO,EAAE,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,+CAA+C,CAAC,CAAC,CAAC;KAC9F;AAEO,IAAA,MAAM,CAAC,KAAK,EAAA;AAChB,QAAA,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,+EAA+E,CAAC,KAAK,IAAI,CAAC;KACxH;AAEO,IAAA,YAAY,CAAC,KAAa,EAAA;AAC9B,QAAA,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;KACtG;;qHAzZQ,yBAAyB,EAAA,EAAA,CAAA,QAAA,CAAAE,IAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAL,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAM,gBAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAC,iBAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAC,eAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAC,IAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAC,SAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAC,oBAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAA,CAAA;8GAAzB,yBAAyB,EAAA,OAAA,EAAzB,yBAAyB,CAAA,IAAA,EAAA,UAAA,EAFtB,MAAM,EAAA,CAAA,CAAA;;4EAET,yBAAyB,EAAA,CAAA;kBAHrC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;MAoaY,gCAAgC,CAAA;AAI5C,IAAA,WAAA,CAAoB,IAAoD,EAAA;AAApD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAgD;AAHrE,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;KAGgE;IAE1E,QAAQ,GAAA;AACJ,QAAA,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAE7B,QAAA,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAK;AAC7B,YAAA,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;gBACb,IAAI,CAAC,IAAI,EAAE,CAAC;AACX,iBAAA;AACD,gBAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClB,gBAAA,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChC,aAAA;SACJ,EAAE,IAAI,CAAC,CAAC;KACZ;AAED,IAAA,KAAK,CAAC,KAAc,EAAA;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,GAAG,eAAe,CAAC,GAAG,GAAG,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC;KACtF;;mIArBQ,gCAAgC,EAAA,EAAA,CAAA,iBAAA,CAAAF,IAAA,CAAA,YAAA,CAAA,CAAA,CAAA,EAAA,CAAA;kHAAhC,gCAAgC,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,YAAA,EAAA,aAAA,EAAA,aAAA,EAAA,KAAA,EAAA,CAAA,EAAA,aAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,MAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,yCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YAL3C,EAAiI,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;AAA5F,YAAA,EAAU,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,sEAAA,GAAA,EAAA,OAAA,GAAA,CAAA,KAAA,CAAM,IAAI,CAAC,CAAC,EAAA,CAAA,CAAA;;YACjD,EAA8B,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAAA,YAAA,EAAqD,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,YAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,CAAA;;;YADvB,EAAkD,CAAA,sBAAA,CAAA,aAAA,EAAA,GAAA,EAAA,GAAA,CAAA,IAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,EAAA,EAAA,CAAA,CAAA;AACxF,YAAA,EAAqD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArD,YAAA,EAAqD,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,mCAAA,CAAA,CAAA,CAAA;;;;4EAIlF,gCAAgC,EAAA,CAAA;kBAP5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,CAAA,CAAA;iBACD,CAAA;;;;MC7aY,gBAAgB,CAAA;AAEzB,IAAA,WAAA,CAAmB,QAA0B,EAAS,UAA6B,EAAS,QAA0B,EAAA;AAAnG,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;AAAS,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAmB;AAAS,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;KAAK;AAEpH,IAAA,QAAQ,CAAC,KAAK,EAAA;AACjB,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,EAAC;YAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;AAC7D,YAAA,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;AAC/E,SAAA;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC;QAC7D,IAAI,oBAAoB,GAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAY,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvG,QAAA,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC;AACvD,YAAA,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAE1C,QAAA,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAEtC,QAAA,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAEvC,QAAA,IAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACnC,YAAA,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc;YAC9B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAEtD,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO;YACvB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAE5C,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS;AACzB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAE5B,QAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAEhG,QAAA,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,QAAA,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACrC;IAEM,uBAAuB,GAAA;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAI,CAAA,EAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAQ,MAAA,CAAA,GAAG,eAAe,CAAC,CAAC;KAChG;IAEM,UAAU,CAAC,QAAiB,IAAI,EAAA;QACnC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAE3E,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAE3C,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO;YACvB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAE5C,QAAA,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjE,QAAA,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAClE;IAEM,YAAY,CAAC,QAAiB,IAAI,EAAA;QACrC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC;QAC/E,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC;QAC7D,IAAI,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEvF,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAE7C,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAE1C,IAAI,UAAU,GAAG,eAAe,CAAC;AACjC,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACxB,UAAU,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC;AAC7C,iBAAA,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI;AACvC,gBAAA,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAExC,YAAA,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;AACvD,gBAAA,KAAK,IAAI,aAAa,IAAI,mBAAmB,EAAE;AAC3C,oBAAA,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBAC/B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AACjD,iBAAA;AACJ,aAAA;AACJ,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE;YACrC,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAClC,SAAA;AAED,QAAA,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnE,QAAA,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;KACpE;;mGArFQ,gBAAgB,EAAA,EAAA,CAAA,QAAA,CAAAJ,IAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAO,iBAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAN,gBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;qGAAhB,gBAAgB,EAAA,OAAA,EAAhB,gBAAgB,CAAA,IAAA,EAAA,UAAA,EAFb,MAAM,EAAA,CAAA,CAAA;;4EAET,gBAAgB,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;;MCGY,wBAAwB,CAAA;AAEjC,IAAA,WAAA,CAAoB,KAAiB,EAAU,WAA8B,EAAU,aAA+B,EAAU,UAAqB,EAAA;AAAjI,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;AAAU,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAmB;AAAU,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;AAAU,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAW;KAAK;IAE1J,UAAU,GAAA;QAEN,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACxB,YAAA,IAAI,CAAC,KAAK;iBACL,GAAG,CAAqB,aAAa,CAAC;iBACtC,SAAS,CAAC,MAAM,IAAG;AAChB,gBAAA,IAAI,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7E,gBAAA,IAAI,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzE,gBAAA,IAAI,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvE,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC;AACjC,gBAAA,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;AAEtC,gBAAA,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,SAAS;oBAC7E,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBAEnC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;oBAC/B,OAAO,GAAG,OAAO,CAAC;gBAEtB,MAAM,WAAW,GAAG,4BAA4B,CAAC;AACjD,gBAAA,MAAM,YAAY,GAAG,IAAI,cAAc,EAAE,CAAC;gBAC1C,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;gBAC7C,YAAY,CAAC,IAAI,EAAE,CAAC;gBAEpB,IAAI,YAAY,CAAC,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE;AACzD,oBAAA,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,IAAI,EAAE,CAAC;oBAEhD,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;wBACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,wBAAA,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AAC/C,wBAAA,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAC5B,wBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACpC,qBAAA;AAAM,yBAAA;wBACH,IAAI,CAAC,UAAU,EAAE,CAAC;AACrB,qBAAA;AACJ,iBAAA;AAAM,qBAAA;oBACH,IAAI,CAAC,UAAU,EAAE,CAAC;AACrB,iBAAA;gBAED,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE;oBACvC,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/C,oBAAA,SAAS,CAAC,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC;AAC3E,oBAAA,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC;AAC5B,oBAAA,SAAS,CAAC,GAAG,GAAG,YAAY,CAAC;AAC7B,oBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACxC,iBAAA;AAED,gBAAA,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,IAAI,SAAS;oBAC/C,WAAW,GAAG,CAAI,CAAA,EAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAA,MAAA,CAAQ,CAAC;gBAE5D,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,IAAI,eAAe,CAAC,CAAC;gBAC5D,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC;gBACjD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;gBAEjD,CAAC,CAAC,MAAM,CAAC,CAAC;AACd,aAAC,CAAC,CAAC;AACX,SAAC,CAAC,CAAC;KACN;IAED,UAAU,GAAA;AACN,QAAA,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAC9G,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI;YACvC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1G,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,QAAA,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAC1E,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KACtC;;mHAxEQ,wBAAwB,EAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAM,iBAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAC,gBAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAX,SAAA,CAAA,CAAA,CAAA,EAAA,CAAA;6GAAxB,wBAAwB,EAAA,OAAA,EAAxB,wBAAwB,CAAA,IAAA,EAAA,UAAA,EAFrB,MAAM,EAAA,CAAA,CAAA;;4EAET,wBAAwB,EAAA,CAAA;kBAHpC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;;;;;QCJO,EAAmI,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;QAAvE,EAAqB,CAAA,UAAA,CAAA,mBAAA,EAAA,SAAA,uFAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,SAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAqB,CAAA,UAAA,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QACvG,EAAa,CAAA,YAAA,EAAA,CAAA;;;;AAD8B,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,CAAgB,CAAA,WAAA,EAAA,SAAA,CAAA,IAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;QAQ/D,EAA0F,CAAA,SAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;;;MCIjF,yBAAyB,CAAA;AAmGlC,IAAA,WAAA,CAAoB,UAA2B,EAAA;AAA3B,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAiB;AAlG/C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAE1B,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AACV,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AACpB,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;AAC5B,QAAA,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;AACxB,QAAA,IAAmB,CAAA,mBAAA,GAAG,GAAG,CAAC;AAC1B,QAAA,IAAG,CAAA,GAAA,GAAQ,IAAI,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAG,eAAe,CAAC;AACzB,QAAA,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AACb,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAClB,QAAA,IAAO,CAAA,OAAA,GAAG,CAAC,CAAC;AACZ,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAExB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AAG9C,QAAA,IAAa,CAAA,aAAA,GAAQ,IAAI,CAAC;AAK1B,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAEpB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAmB1B,QAAA,IAAO,CAAA,OAAA,GAAW,IAAI,CAAC;AAavB,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;AAY1B,QAAA,IAAK,CAAA,KAAA,GAAQ,EAAE,CAAC;KA4BoC;AAvEpD,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;IAED,IAAI,OAAO,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAEtB,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;AACtB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAEtB,aAAA,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE;AACpC,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAE1B,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK;AACvB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC3C;AAGD,IAAA,IACI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;IAED,IAAI,MAAM,CAAC,KAAK,EAAA;AACZ,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,IAAI,CAAC,WAAW;AAChB,YAAA,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,IAAG,EAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;KACpF;IAGD,IACI,QAAQ,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;AACtB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAE3B,QAAA,IAAI,KAAK;AACL,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;;AAEvB,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;KAC7B;AAGD,IAAA,IACI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;IAED,IAAI,IAAI,CAAC,KAAK,EAAA;AACV,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,IAAI,CAAC,eAAe;YACpB,OAAO;QAEX,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;AAC1B,gBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE;AACzF,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACtB,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC7B,iBAAA;;oBACG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAE/F,iBAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AAClE,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAErC,IAAI,IAAI,CAAC,mBAAmB;AACxB,gBAAA,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;SAC3E,EAAE,IAAI,CAAC,CAAC;KACZ;IAID,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC;AAAE,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAC/D,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AAE7F,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACvB,YAAA,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,IAAG,EAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,IAAM,EAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,EAAC,CAAC,CAAC;AACtF,SAAA;AAAM,aAAA;YACH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAC1B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,EACtC,oBAAoB,EAAE,EACtB,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC1C,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AACvD,SAAA;KACJ;AAED,IAAA,MAAM,CAAC,KAAU,EAAA;QACb,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,EAAE,CAAC;QAC5D,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;QAEnF,IAAI,IAAI,CAAC,SAAS;YACd,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;;AAEtL,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACvM;IAED,OAAO,CAAC,QAAa,IAAI,EAAA;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE;YAClC,OAAO,IAAI,UAAU,EAAuB,CAAC;AAEjD,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;AACrC,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACf,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;gBAC5B,OAAO,IAAI,UAAU,EAAuB,CAAC;AAEjD,YAAA,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,IAAI,EAAE;gBACtC,UAAU,IAAI,GAAG,CAAC;AAEtB,YAAA,UAAU,IAAI,CAAA,KAAA,EAAQ,KAAK,CAAC,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAA,MAAA,EAAS,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC;AAE9G,YAAA,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,MAAU,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAC,GAAK,CAAC,CAAA,CAAE,CAAC,CAAC;AAC5K,YAAA,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACxI,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;KAChJ;AAED,IAAA,MAAM,CAAC,KAAK,EAAA;QACR,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,IAAI;gBAC3D,OAAO;AAEX,YAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE;AACvE,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACrB,iBAAA;gBACD,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBACjC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;;AAE7B,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC7B,aAAA;SACJ,EAAE,GAAG,CAAC,CAAC;KACX;AAED,IAAA,OAAO,CAAC,KAAK,EAAA;QACT,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;AAC3E,YAAA,UAAU,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;KAC7D;AAED,IAAA,SAAS,CAAC,KAAK,EAAA;QACX,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI;AACnC,YAAA,OAAO,EAAE,CAAC;QAEd,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;KACpF;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAE3B,QAAA,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI;AAC5B,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAE/B,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEzB,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI;AAC3B,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC;KAC/F;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAED,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC;KAChH;;qHA/MQ,yBAAyB,EAAA,EAAA,CAAA,iBAAA,CAAAY,eAAA,CAAA,CAAA,CAAA,EAAA,CAAA;AAAzB,mBAAA,yBAAA,CAAA,IAAA,6BAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,IAAA,EAAA,yBAAyB,shBANvB,CAAC;AACR,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,MAAM,yBAAyB,EAAC;AACxD,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA,CAAC,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CAAA,UAAA,EAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,WAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,kCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADfN,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,CAAgB,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACgB,YAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,iEAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,aAAA,GAAA,MAAA,CAAA,EAAA,CAA2B,CAClB,MAAA,EAAA,SAAA,wDAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,KAAA,CAA2B,CADT,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,yDAAA,CAAA,MAAA,EAAA,EAAA,OACoB,gCAA4B,CADhD,EAAA,CAAA,CAAA;;YAAvD,EACoH,CAAA,YAAA,EAAA,CAAA;YAEpH,EAAoE,CAAA,cAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAChE,YAAA,EACa,CAAA,UAAA,CAAA,CAAA,EAAA,+CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;YACjB,EAAmB,CAAA,YAAA,EAAA,CAAA;YAEnB,EAAwC,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAAA,YAAA,EAAU,CAAA,MAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,YAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;YAGjE,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,CAAA,CAAA;AAC5B,YAAA,EAA0F,CAAA,UAAA,CAAA,EAAA,EAAA,sDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;YAC9F,EAAU,CAAA,YAAA,EAAA,CAAA;;;;AAbsB,YAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAA3B,EAA2B,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,aAAA,CAAA,CAAA,aAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,CAAA,CAAA,aAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA,iBAAA,EAAA,GAAA,CAAA,CAAA,UAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;AAGb,YAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAzB,EAAyB,CAAA,UAAA,CAAA,aAAA,EAAA,GAAA,CAAA,SAAA,CAAA,CAAA;AAChC,YAAA,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAV,EAAU,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;AAQW,YAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;;;;4ECI5D,yBAAyB,EAAA,CAAA;kBAVrC,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,aAGlB,CAAC;AACR,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,+BAA+B,EAAC;AACxD,4BAAA,KAAK,EAAE,IAAI;yBACd,CAAC,EAAA,QAAA,EAAA,01BAAA,EAAA,MAAA,EAAA,CAAA,oMAAA,CAAA,EAAA,CAAA;mEAKO,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEI,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBAYH,OAAO,EAAA,CAAA;sBADV,KAAK;gBAoBF,MAAM,EAAA,CAAA;sBADT,KAAK;gBAcF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAaF,IAAI,EAAA,CAAA;sBADP,KAAK;;;;;;;QCxFN,EAAwI,CAAA,cAAA,CAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,CAAA,CAAA;AAAxG,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAW,CAAA,SAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AACjD,QAAA,EAAO,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AAAA,QAAA,EAAgC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,CAAA;;;;QADG,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,EAAA,CAAA,MAAA,IAAA,CAAA,CAAmC,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAC9E,QAAA,EAAgC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAhC,QAAA,EAAgC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,CAAA;;;;;QAIvC,EAAkE,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;;AAA9B,QAAA,EAAuB,CAAA,UAAA,CAAA,WAAA,EAAA,OAAA,CAAA,IAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;QAC3D,EAAuE,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;;AAAnC,QAAA,EAA4B,CAAA,UAAA,CAAA,WAAA,EAAA,OAAA,CAAA,SAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;;;QAFpE,EAAwM,CAAA,cAAA,CAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,CAAA,CAAA;QAArE,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oFAAA,KAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,OAAS,0DAAoC,CAAC,EAAA,CAAA,CAAA;AAC7K,QAAA,EAAkE,CAAA,UAAA,CAAA,CAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAClE,QAAA,EAAuE,CAAA,UAAA,CAAA,CAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QAC3E,EAAkB,CAAA,YAAA,EAAA,CAAA;;;;;;AAH8C,QAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAV,KAAA,EAAA,IAAA,GAAA,CAAA,IAAA,CAAA,CAAA,CAAoC,iCAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAC1F,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA5B,EAA4B,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,SAAA,IAAA,IAAA,CAAA,CAAA;AAC5B,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA5B,EAA4B,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,SAAA,IAAA,IAAA,CAAA,CAAA;;;;;QAa9B,EAAkE,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;;AAA9B,QAAA,EAAuB,CAAA,UAAA,CAAA,WAAA,EAAA,QAAA,CAAA,IAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;QAC3D,EAAuE,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;;AAAnC,QAAA,EAA4B,CAAA,UAAA,CAAA,WAAA,EAAA,QAAA,CAAA,SAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;;QAFpE,EAA8H,CAAA,cAAA,CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,CAAA;QAApB,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,gGAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAS,CAAA,GAAA,CAAA,QAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AACzH,QAAA,EAAkE,CAAA,UAAA,CAAA,CAAA,EAAA,uEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAClE,QAAA,EAAuE,CAAA,UAAA,CAAA,CAAA,EAAA,uEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACvE,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAU,CAAA,MAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;;;QAHkC,EAAoC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,EAAA,KAAA,GAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAC/F,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA5B,EAA4B,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,SAAA,IAAA,IAAA,CAAA,CAAA;AAC5B,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA5B,EAA4B,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,SAAA,IAAA,IAAA,CAAA,CAAA;;;;;;AAV9C,QAAA,EAAmC,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAC/B,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAoD,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAC0C,QAAA,EAAmB,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,+EAAA,CAAA,MAAA,IAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;QAA7G,EAAkI,CAAA,YAAA,EAAA,CAAA;QAClI,EAAqB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;QACtC,EAAuB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAA2B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;QAGjE,EAA6B,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AACzB,QAAA,EAIgB,CAAA,UAAA,CAAA,EAAA,EAAA,iEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,CAAA;QACpB,EAAW,CAAA,YAAA,EAAA,CAAA;QACf,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAZS,QAAA,EAAsC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtC,QAAA,EAAsC,CAAA,qBAAA,CAAA,aAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAAC,QAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,IAAA,CAAa,CAAA,SAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAE7C,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAA2B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAIlB,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtB,EAAsB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,eAAA,EAAA,CAAA,CAAA;;;;;AAQ9D,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAuD,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AACzC,QAAA,EAAI,CAAA,MAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAC,QAAA,EAC9B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAM,CAAA,YAAA,EAAA,CAAA;;;AADwB,QAAA,EAC9B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAD8B,QAAA,EAC9B,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,sBAAA,CAAA,EAAA,IAAA,CAAA,CAAA;;;MCrBa,wBAAwB,CAAA;AA6CjC,IAAA,WAAA,CAAoB,YAA6B,EAAA;AAA7B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAiB;AA3CxC,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;AACxB,QAAA,IAAe,CAAA,eAAA,GAAY,IAAI,CAAC;AAChC,QAAA,IAAc,CAAA,cAAA,GAAW,OAAO,CAAC;AACjC,QAAA,IAAW,CAAA,WAAA,GAAW,QAAQ,CAAC;AAC/B,QAAA,IAAO,CAAA,OAAA,GAAW,CAAC,CAAC;AACpB,QAAA,IAAG,CAAA,GAAA,GAAW,EAAE,CAAC;AAEjB,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;AAExB,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAG,CAAA,GAAA,GAAQ,IAAI,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAW,IAAI,CAAC;AAEtB,QAAA,IAAK,CAAA,KAAA,GAAQ,EAAE,CAAC;AAChB,QAAA,IAAI,CAAA,IAAA,GAAU,EAAE,CAAC;AACjB,QAAA,IAAG,CAAA,GAAA,GAAW,IAAI,CAAC;AAEpB,QAAA,IAAO,CAAA,OAAA,GAAQ,IAAI,CAAC;AAWpB,QAAA,IAAY,CAAA,YAAA,GAAQ,IAAI,CAAC;AAWjC,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;KAEoC;AAxBtD,IAAA,IACI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;IAED,IAAI,MAAM,CAAC,KAAK,EAAA;AACZ,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;AAGD,IAAA,IACI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;IAED,IAAI,WAAW,CAAC,KAAK,EAAA;AACjB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;IAOD,QAAQ,GAAA;QACJ,IAAI,CAAC,UAAU,GAAG,4BAA4B,GAAG,IAAI,CAAC,GAAG,GAAG,8BAA8B,CAAC;AAC3F,QAAA,IAAI,CAAC,IAAI,GAAG,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;IAED,OAAO,GAAA;QACH,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;AAC/C,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;AAEvC,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,SAAA;KACJ;IAED,IAAI,CAAC,QAAa,IAAI,EAAA;AAElB,QAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;YAChB,OAAO;AAEX,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AAEf,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;AAClB,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAEpB,QAAA,IAAI,CAAC,YAAY;AACZ,aAAA,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;YACjD,IAAI,CAAC,CAAC,OAAO;AACT,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;AAEvB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACzB,SAAC,CAAC,CAAC;KACN;IAED,gBAAgB,CAAC,aAAkB,IAAI,EAAA;AAEnC,QAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;YAChB,OAAO;AAEX,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AAEf,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;AAClB,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAEpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;YACpE,IAAI,CAAC,CAAC,OAAO;AACT,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;AAEvB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACzB,SAAC,CAAC,CAAC;KACN;IAED,QAAQ,GAAA;AAEJ,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;AAC5C,YAAA,OAAO,EAAE,CAAC;QAEd,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;KACxE;IAED,eAAe,GAAA;AAEX,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO;AACzD,YAAA,OAAO,EAAE,CAAC;QAEd,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IACrB,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG;YACtC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;AAChD,YAAA,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAE9D,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;KACxB;IAED,SAAS,GAAA;AACL,QAAA,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;AACpB,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;KACpF;AAED,IAAA,GAAG,CAAC,IAAS,EAAA;AAET,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;AAClB,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAEpB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,YAAA,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AAC7C,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS;AAC9D,YAAA,WAAW,EAAE,IAAI;AACpB,SAAA,CAAC,CAAC;KACN;IAED,SAAS,GAAA;AAEL,QAAA,IAAI,WAAW,GAAG,IAAI,KAAK,EAAE,CAAC;AAE9B,QAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE;AAClB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;gBACvC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG;AAC7B,oBAAA,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3B,aAAA;AACJ,SAAA;AAED,QAAA,WAAW,CAAC,OAAO,CAAC,KAAK,IAAG;YACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAChC,SAAC,CAAC,CAAC;KACN;;mHA5JQ,wBAAwB,EAAA,EAAA,CAAA,iBAAA,CAAAU,eAAA,CAAA,CAAA,CAAA,EAAA,CAAA;0GAAxB,wBAAwB,EAAA,SAAA,EAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,GAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,cAAA,EAAA,OAAA,EAAA,cAAA,EAAA,KAAA,EAAA,CAAA,EAAA,aAAA,EAAA,MAAA,EAAA,SAAA,EAAA,eAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,WAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,iCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YDRrC,EAA2C,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;AACvC,YAAA,EAEkB,CAAA,UAAA,CAAA,CAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,CAAA,CAAA;AAElB,YAAA,EAGkB,CAAA,UAAA,CAAA,CAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,CAAA,CAAA;YACtB,EAAqB,CAAA,YAAA,EAAA,CAAA;AAErB,YAAA,EAce,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,EAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAEf,YAAA,EAEM,CAAA,UAAA,CAAA,CAAA,EAAA,uCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;AA5B+G,YAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAArB,EAAqB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,eAAA,CAAA,CAAA;AAIpG,YAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAf,EAAe,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAMtC,YAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAjB,EAAiB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAgBE,YAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAlB,EAAkB,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,SAAA,EAAA,CAAA,CAAA;;;;4ECnBvC,wBAAwB,EAAA,CAAA;kBALpC,SAAS;+BACI,mBAAmB,EAAA,QAAA,EAAA,6uDAAA,EAAA,MAAA,EAAA,CAAA,mtBAAA,CAAA,EAAA,CAAA;mEAMpB,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAIF,MAAM,EAAA,CAAA;sBADT,KAAK;gBAYF,WAAW,EAAA,CAAA;sBADd,KAAK;;;;;;QCrCF,EAAiE,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAA1C,EAAqC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;AAC5D,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,CAAmB,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AAAO,QAAA,EAAU,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,CAAA;;;;AAAlB,QAAA,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAV,QAAA,EAAU,CAAA,iBAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;;MCK/B,iBAAiB,CAAA;AAS1B,IAAA,WAAA,CAAoB,OAAe,EAAA;AAAf,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AAFzB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;KAEC;IAExC,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE;AAClC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;;YAEnB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC7C;;qGAhBQ,iBAAiB,EAAA,EAAA,CAAA,iBAAA,CAAAT,IAAA,CAAA,MAAA,CAAA,CAAA,CAAA,EAAA,CAAA;mGAAjB,iBAAiB,EAAA,SAAA,EAAA,CAAA,CAAA,WAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,0BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YDT9B,EAAkC,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAAxB,YAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oDAAA,GAAA,EAAA,OAAS,iBAAa,CAAC,EAAA,CAAA,CAAA;AAC7B,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,kBAAA,CAAkB,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AACV,YAAA,EAAuB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;YAAA,EAAK,CAAA,YAAA,EAAA,CAAA;AAChC,YAAA,EAAiE,CAAA,UAAA,CAAA,CAAA,EAAA,8BAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACjE,YAAA,EAAmD,CAAA,UAAA,CAAA,CAAA,EAAA,iCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;YACvD,EAAmB,CAAA,YAAA,EAAA,CAAA;AACnB,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,iBAAA,CAAiB,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AACH,YAAA,EAAQ,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,YAAA,EAAA,CAAA,YAAA,EAAW,EAAA,EAAA,CAAA;;;AALzB,YAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvB,YAAA,EAAuB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACvB,YAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAjB,EAAiB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,WAAA,CAAA,CAAA;AACd,YAAA,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAV,EAAU,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,CAAA,CAAA;AAGP,YAAA,EAAQ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAR,YAAA,EAAQ,CAAA,iBAAA,CAAA,GAAA,CAAA,IAAA,CAAA,CAAA;;;;4ECEb,iBAAiB,EAAA,CAAA;kBAN7B,SAAS;+BACI,WAAW,EAAA,QAAA,EAAA,oYAAA,EAAA,MAAA,EAAA,CAAA,qjBAAA,CAAA,EAAA,CAAA;+DAOZ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACI,OAAO,EAAA,CAAA;sBAAhB,MAAM;;;;;;QCdH,EAAgE,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAAtC,EAA+B,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,KAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;AACzD,QAAA,EAA+B,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA;AAAA,QAAA,EAA6B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAI,CAAA,YAAA,EAAA,CAAA;;;;AAAjC,QAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,QAAA,EAA6B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,CAAA,CAAA;;;;;AAM5C,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,eAAA,EAAA,CAAA,CAAyE,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;;AACV,QAAA,EAA4B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;QAD/C,EAAuB,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,CAAA,GAAA,CAAA,CAAA;AACrD,QAAA,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApC,QAAA,EAAoC,CAAA,qBAAA,CAAA,OAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAS,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5B,QAAA,EAA4B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,KAAA,CAAA,CAAA,CAAA;;;;;AAF/F,QAAA,EAAuC,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AACnC,QAAA,EAEgB,CAAA,UAAA,CAAA,CAAA,EAAA,4EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,CAAA,CAAA;QACpB,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAHK,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArB,EAAqB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,UAAA,CAAA,CAAA;;;;;AAHjD,QAAA,EAA2C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QACvC,EAAmC,CAAA,cAAA,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAC/B,QAAA,EAIe,CAAA,UAAA,CAAA,CAAA,EAAA,4DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;QACnB,EAAe,CAAA,YAAA,EAAA,CAAA;QACnB,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAPG,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AACC,QAAA,EAAM,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAN,QAAA,EAAM,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,CAAA;;;;;AASrD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,iBAAA,CAAsC,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AACxB,QAAA,EAAQ,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;;AAAnB,QAAA,EAAQ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAR,QAAA,EAAQ,CAAA,iBAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;;AChB1B;;;;;AAKG;MAMU,qBAAqB,CAAA;AALlC,IAAA,WAAA,GAAA;AAOa,QAAA,IAAK,CAAA,KAAA,GAAW,IAAI,CAAC;AACrB,QAAA,IAAW,CAAA,WAAA,GAAW,IAAI,CAAC;AAC3B,QAAA,IAAI,CAAA,IAAA,GAAW,IAAI,CAAC;AACpB,QAAA,IAAI,CAAA,IAAA,GAAU,EAAE,CAAC;AACjB,QAAA,IAAI,CAAA,IAAA,GAAW,CAAC,CAAC;AACjB,QAAA,IAAQ,CAAA,QAAA,GAAY,IAAI,CAAC;AAElC,QAAA,IAAQ,CAAA,QAAA,GAAU,EAAE,CAAC;AACrB,QAAA,IAAG,CAAA,GAAA,GAAW,EAAE,CAAC;AACjB,QAAA,IAAQ,CAAA,QAAA,GAAW,SAAS,CAAC;KA0BhC;IAxBG,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,IAAI,EAAE,CAAC;KACnB;IAED,IAAI,GAAA;AACA,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC;AAE5B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QAEnF,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,EAAC;YAClF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACrC,OAAO;AACV,SAAA;AAED,QAAA,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AAE7D,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC,CAAC,GAAG,cAAc,IAAI,cAAc,CAAC,CAAC,CAAC;QAEnG,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;KACxC;;6GApCQ,qBAAqB,GAAA,CAAA,EAAA,CAAA;uGAArB,qBAAqB,EAAA,SAAA,EAAA,CAAA,CAAA,gBAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,8BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADblC,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAU,CAAA,CAAA,EAAA,kBAAA,CAAA,CAAA;AAEF,YAAA,EAAgE,CAAA,UAAA,CAAA,CAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAChE,YAAA,EAAgE,CAAA,UAAA,CAAA,CAAA,EAAA,kCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;YAEhE,EAAiB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACb,YAAA,EAQe,CAAA,UAAA,CAAA,CAAA,EAAA,6CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AACnB,YAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;AAEV,YAAA,EAEkB,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,CAAA,CAAA;YACtB,EAAW,CAAA,YAAA,EAAA,CAAA;;;AAlBE,YAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAnB,EAAmB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,KAAA,IAAA,IAAA,CAAA,CAAA;AACpB,YAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAzB,EAAyB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,WAAA,IAAA,IAAA,CAAA,CAAA;AAGK,YAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAX,EAAW,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;AAW/B,YAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAlB,EAAkB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,IAAA,IAAA,CAAA,CAAA;;;;4ECJ3B,qBAAqB,EAAA,CAAA;kBALjC,SAAS;+BACI,gBAAgB,EAAA,QAAA,EAAA,48BAAA,EAAA,MAAA,EAAA,CAAA,8rBAAA,CAAA,EAAA,CAAA;oBAMjB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;;;MCPG,qBAAqB,CAAA;AAVlC,IAAA,WAAA,GAAA;AAYa,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AACzB,QAAA,IAAI,CAAA,IAAA,GAAW,IAAI,CAAC;AACpB,QAAA,IAAG,CAAA,GAAA,GAAY,KAAK,CAAC;AAE9B,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;AACvB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAa,CAAA,aAAA,GAA8B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACxE,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;KAyDhC;AApDG,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;IAED,IAAI,OAAO,CAAC,KAAK,EAAA;QAEb,IAAI,IAAI,CAAC,WAAW,EAAC;AACjB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,aAAa,EAAE,CAAC;AACxB,SAAA;KACJ;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACnB,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtC,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/F,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACnG,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACrB;AAED,IAAA,UAAU,CAAC,UAAe,EAAA;AAEtB,QAAA,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI;AAC9C,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;;YAElB,IAAI,CAAC,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAEzD,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAED,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC9B;IAED,aAAa,GAAA;QACT,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AAE7E,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KAC7B;;6GAjEQ,qBAAqB,GAAA,CAAA,EAAA,CAAA;AAArB,mBAAA,qBAAA,CAAA,IAAA,6BAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,IAAA,EAAA,qBAAqB,yJANnB,CAAC;AACR,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,MAAM,qBAAqB,EAAC;AACpD,gBAAA,KAAK,EAAE,IAAI;aACd,CAAC,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,8BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ACXN,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,CAAuG,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AACrF,YAAA,EAAmB,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,oEAAA,CAAA,MAAA,IAAA,OAAA,GAAA,CAAA,KAAA,GAAA,MAAA,CAAA,EAAA,CAAA,CAAA,QAAA,EAAA,SAAA,6DAAA,GAAA,EAAA,OAAW,mBAAe,CAA1B,EAAA,CAAA,CAAA;YAAkD,EAAiD,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;AAAA,YAAA,EAAA,CAAA,YAAA,EAAe,EAAA,CAAA;;;AADzF,YAAA,EAAwC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAD,KAAA,EAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AACpF,YAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAnB,YAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAmB,CAAA,UAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;AAAuD,YAAA,EAAqC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAArC,EAAqC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;4EDYpH,qBAAqB,EAAA,CAAA;kBAVjC,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,aAGd,CAAC;AACR,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,2BAA2B,EAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;yBACd,CAAC,EAAA,QAAA,EAAA,8RAAA,EAAA,MAAA,EAAA,CAAA,iHAAA,CAAA,EAAA,CAAA;oBAIO,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAWF,OAAO,EAAA,CAAA;sBADV,KAAK;;;;;;;;AE3BV,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,CAAgC,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QAC4B,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,0EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,SAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAuB,qKAC1D,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,aAAA,EAAe,CAAA,CAD2C,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,kEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAChC,eAAA,MAAgC,CAAA,WAAA,CAAA,MAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA,IADA,CACc,UAAA,EAAA,SAAA,qEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,yBAAkB,CAAA,CAAA,EAAA,CADhC,yJAC0C,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,aAAA,EAAe,CAAA,CADzD,EAAA,CAAA,CAAA;;QAA/E,EAEqD,CAAA,YAAA,EAAA,CAAA;AAErD,QAAA,EAAA,CAAA,SAAA,CAAA,CAAA,EAAA,uBAAA,EAAA,CAAA,CAA4E,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QAEhF,EAAiB,CAAA,YAAA,EAAA,CAAA;;;;;AANG,QAAA,EAAuC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvC,QAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,WAAA,CAAA,CAAuC,6BAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,sBAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;AAItB,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlB,QAAA,EAAkB,CAAA,UAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;AACnC,QAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvB,EAAuB,CAAA,UAAA,CAAA,WAAA,EAAA,MAAA,CAAA,SAAA,CAAA,CAAA;;;;;;AAG3C,QAAA,EAA6B,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QACzB,EAEqD,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QAFb,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,gEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,WAAiB,CAAA,CAAA,EAAA,CAAC,+NAAA,CAC9C,YAAA,EAAA,SAAA,qEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAe,CAAA,aAAA,EAAA,CAAA,CAD+B,EAAA,CAAA,CAAA;QAAnE,EAEqD,CAAA,YAAA,EAAA,CAAA;QAErD,EAA6C,CAAA,SAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QACjD,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AALyD,QAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvB,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,SAAA,CAAuB,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,uBAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;;;ACFxF,MAAM,kBAAkB,GAAG;AAC9B,IAAA,KAAK,EAAE;AACH,QAAA,SAAS,EAAE,YAAY;AAC1B,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,cAAc,EAAE,OAAO;AACvB,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,kBAAkB,EAAE,QAAQ;AAC/B,KAAA;CACJ,CAAC;MAeW,iBAAiB,CAAA;AAb9B,IAAA,WAAA,GAAA;AAgBa,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAO,CAAA,OAAA,GAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACrC,QAAA,IAAO,CAAA,OAAA,GAAS,IAAI,CAAC;AACrB,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AAExB,QAAA,IAAA,CAAA,UAAU,GAAQ,IAAI,CAAC;AACvB,QAAA,IAAA,CAAA,SAAS,GAAQ,IAAI,CAAC;KAqElC;IA5DG,eAAe,GAAA;AAEX,QAAA,IAAI,MAAM,GAAG;YACT,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAChE,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,eAAe,EAAE,GAAG;YACpB,IAAI,EAAE,2BAA2B,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;AACnF,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,iBAAiB,EAAE,KAAK;SAC3B,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CACtC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CACpE,CAAC;KACL;AAED,IAAA,WAAW,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC/B;IAED,aAAa,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;AACxB,YAAA,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtD,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;YAEjC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5E,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;AACrC,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACrC;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;QACjB,IAAI,KAAK,IAAI,IAAI,EAAE;AACf,YAAA,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,YAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACjE,YAAA,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5E,SAAA;AAED,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAED,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC9B;AAED,IAAA,UAAU,CAAC,CAAC,EAAA;AACR,QAAA,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE;YACf,IAAI,CAAC,aAAa,EAAE,CAAC;KAC5B;;qGA9EQ,iBAAiB,GAAA,CAAA,EAAA,CAAA;mGAAjB,iBAAiB,EAAA,SAAA,EAAA,CAAA,CAAA,WAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,uBAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;wOAVf,CAAC;AACR,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,MAAM,iBAAiB,EAAC;AAChD,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACD,YAAA,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC/C,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE;AAC9E,YAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;AAC3D,YAAA,EAAE,OAAO,EAAE,+BAA+B,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,KAAA,EAAA,KAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,KAAA,EAAA,KAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,eAAA,EAAA,YAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,0BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AD/B7E,YAAA,EAOiB,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAEjB,YAAA,EAMe,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;;;YAfE,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,MAAA,CAAA,CAAA;AASf,YAAA,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAZ,EAAY,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,CAAA;;;;4ECwBd,iBAAiB,EAAA,CAAA;kBAb7B,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,aAEV,CAAC;AACR,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,uBAAuB,EAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC/C,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE;AAC9E,wBAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,EAAE;AAC3D,wBAAA,EAAE,OAAO,EAAE,+BAA+B,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAA,QAAA,EAAA,ukCAAA,EAAA,CAAA;oBAIhE,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEqC,KAAK,EAAA,CAAA;sBAA/C,SAAS;gBAAC,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;;;;;;;;AC7C7C,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,CAAgC,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QAC4B,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,+EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,SAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAuB,0KAC1D,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,aAAA,EAAe,CAAA,CAD2C,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,uEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAChC,eAAA,MAAgC,CAAA,WAAA,CAAA,MAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA,IADA,CACc,UAAA,EAAA,SAAA,0EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,yBAAkB,CAAA,CAAA,EAAA,CADhC,8JAC0C,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,aAAA,EAAe,CAAA,CADzD,EAAA,CAAA,CAAA;;QAA/E,EACmL,CAAA,YAAA,EAAA,CAAA;QAEnL,EAA4E,CAAA,SAAA,CAAA,CAAA,EAAA,uBAAA,EAAA,CAAA,CAAA,CAAA;QAC5E,EAAuJ,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QAApG,EAAgB,CAAA,UAAA,CAAA,cAAA,EAAA,SAAA,uFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,iCAAyB,CAAA,CAAA,EAAA,CAAC,+NAAkB,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,GAAA,CAAsC,CAAA,CAAxD,EAAA,CAAA,CAAA;AAA0D,QAAA,EAAA,CAAA,YAAA,EAAiB,EAAA,CAAA;;;;;AAJxJ,QAAA,EAAuC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvC,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,CAAuC,CAAA,SAAA,EAAA,MAAA,CAAA,SAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA,eAAA,EAAA,GAAA,CAAA,CAAA;AAGtB,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlB,QAAA,EAAkB,CAAA,UAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;;;;;;AAIvD,QAAA,EAA6B,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QACzB,EACyH,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AADjF,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,qEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,IAAA,CAAA,IAAA,EAAiB,CAAA,CAAA,EAAA,CAAC,oOAAA,CAC9C,YAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAe,CAAA,aAAA,EAAA,CAAA,CAD+B,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,qEAAA,CAAA,MAAA,IAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OACpB,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,WAAA,CAAA,MAAA,CAAA,MAAA,CAAA,KAAA,CAAgC,CAAA,CADZ,EAAA,CAAA,CAAA;QAAnE,EACyH,CAAA,YAAA,EAAA,CAAA;QAEzH,EAAuJ,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QAApG,EAAgB,CAAA,UAAA,CAAA,cAAA,EAAA,SAAA,qFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,iCAAyB,CAAA,CAAA,EAAA,CAAC,+NAAkB,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,MAAA,EAAA,IAAA,CAAsC,CAAA,CAAxD,EAAA,CAAA,CAAA;QAA0D,EAAiB,CAAA,YAAA,EAAA,CAAA;QAC5K,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAJyD,QAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvB,QAAA,EAAuB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,SAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA,eAAA,EAAA,IAAA,CAAA,CAAA;;;ACCxF,MAAM,wBAAwB,GAAG;AACpC,IAAA,KAAK,EAAE;AACH,QAAA,SAAS,EAAE,SAAS;AACvB,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,SAAS,EAAE,SAAS;AACpB,QAAA,cAAc,EAAE,UAAU;AAC1B,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,kBAAkB,EAAE,WAAW;AAClC,KAAA;CACJ,CAAC;MAeW,sBAAsB,CAAA;AAbnC,IAAA,WAAA,GAAA;AAgBa,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAiB,CAAA,iBAAA,GAAY,KAAK,CAAC;AACnC,QAAA,IAAO,CAAA,OAAA,GAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACrC,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;KAkFpC;IAzEG,eAAe,GAAA;AAEX,QAAA,IAAI,MAAM,GAAG;AACT,YAAA,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAC/C,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,eAAe,EAAE,GAAG;YACpB,IAAI,EAAE,2BAA2B,CAAC,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;AACzF,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,iBAAiB,EAAE,KAAK;SAC3B,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,0BAA0B,CACtC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CACpE,CAAC;KACL;AAED,IAAA,WAAW,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC/B;IAED,aAAa,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;AACvB,YAAA,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtD,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;AAEjC,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACjC,SAAA;KACJ;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS;AACnC,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACrB,aAAA;AACD,YAAA,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AACxB,YAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACjE,YAAA,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAC1B,SAAA;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAED,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC9B;AAED,IAAA,iBAAiB,CAAC,KAAa,EAAA;QAC3B,IAAI,IAAI,CAAC,iBAAiB;YACtB,OAAO;QACX,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAED,kBAAkB,CAAC,KAAa,EAAE,UAAiC,EAAA;AAC/D,QAAA,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,UAAU,CAAC,KAAK,EAAE,CAAC;KACtB;AAED,IAAA,UAAU,CAAC,CAAC,EAAA;AACR,QAAA,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE;YACf,IAAI,CAAC,aAAa,EAAE,CAAC;KAC5B;;+GAxFQ,sBAAsB,GAAA,CAAA,EAAA,CAAA;wGAAtB,sBAAsB,EAAA,SAAA,EAAA,CAAA,CAAA,iBAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,4BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;0MAVpB,CAAC;AACR,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,MAAM,sBAAsB,EAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACD,YAAA,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC/C,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE;AAC9E,YAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,wBAAwB,EAAE;AACjE,YAAA,EAAE,OAAO,EAAE,+BAA+B,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,KAAA,EAAA,eAAA,EAAA,eAAA,EAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,WAAA,EAAA,YAAA,EAAA,CAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,KAAA,EAAA,eAAA,EAAA,OAAA,EAAA,eAAA,EAAA,YAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,+BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADjC7E,YAAA,EAMiB,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAEjB,YAAA,EAKe,CAAA,UAAA,CAAA,CAAA,EAAA,8CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;;;YAbE,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,MAAA,CAAA,CAAA;AAQf,YAAA,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAZ,EAAY,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,CAAA;;;;4EC2Bd,sBAAsB,EAAA,CAAA;kBAblC,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,aAEhB,CAAC;AACR,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,4BAA4B,EAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC/C,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE;AAC9E,wBAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,wBAAwB,EAAE;AACjE,wBAAA,EAAE,OAAO,EAAE,+BAA+B,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAA,QAAA,EAAA,mtCAAA,EAAA,CAAA;oBAIhE,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEqC,KAAK,EAAA,CAAA;sBAA/C,SAAS;gBAAC,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;;;;;;;QCpCzC,EAA0E,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;QAAlC,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oDAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,MAAA,GAAA,GAAA,EAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAuB,CAAA,MAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAAC,EAA0B,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;;MCApG,oBAAoB,CAAA;AANjC,IAAA,WAAA,GAAA;AAQa,QAAA,IAAK,CAAA,KAAA,GAAW,MAAM,CAAC;AACvB,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;AACxB,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;AACvB,QAAA,IAAG,CAAA,GAAA,GAAY,KAAK,CAAC;KAMjC;IAJG,MAAM,CAAC,KAAU,EAAE,OAAY,EAAA;QAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,EAAE,CAAC;KACpB;;2GAVQ,oBAAoB,GAAA,CAAA,EAAA,CAAA;sGAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,kBAAA,EAAAD,KAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,OAAA,EAAA,OAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,6BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;YDRjC,EAM2B,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACvB,YAAA,EAAyB,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA;AACzB,YAAA,EAAiH,CAAA,UAAA,CAAA,CAAA,EAAA,iCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;YACrH,EAAM,CAAA,YAAA,EAAA,CAAA;;;YATe,EAMJ,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAC,KAAA,EAAA,GAAA,CAAA,KAAA,KAAA,SAAA,EAAA,GAAA,CAAA,KAAA,KAAA,MAAA,EAAA,GAAA,CAAA,KAAA,KAAA,SAAA,EAAA,GAAA,CAAA,KAAA,KAAA,QAAA,EAAA,GAAA,CAAA,KAAA,EAAA,GAAA,CAAA,GAAA,CAAA,CAAA,CAAA;AAEc,YAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAX,EAAW,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA;;;;4ECA7B,oBAAoB,EAAA,CAAA;kBANhC,SAAS;+BACI,cAAc,EAAA,QAAA,EAAA,ocAAA,EAAA,MAAA,EAAA,CAAA,wtDAAA,CAAA,EAAA,CAAA;oBAOf,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;;;;;;QCbV,EAAqF,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAA5C,EAAqC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,KAAA,CAAA,KAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;QAG1E,EAA6E,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAA5C,EAAuC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,KAAA,CAAA,OAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;QACxE,EAA0D,CAAA,cAAA,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAiE,CAAA,MAAA,CAAA,CAAA,EAAA,wEAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAC,QAAA,EAAkG,CAAA,MAAA,CAAA,CAAA,EAAA,yHAAA,CAAA,CAAA;QAAA,EAAe,CAAA,YAAA,EAAA,CAAA;;;;;;QAInP,EAA2F,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAxE,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAY,CAAA,UAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAkD,QAAA,EAAgC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;;QAA1F,EAAwB,CAAA,UAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA;AAAyB,QAAA,EAAgC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAhC,QAAA,EAAgC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA,CAAA;;;;;;QAE3H,EAAoG,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAjF,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAe,CAAA,aAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAwD,QAAA,EAAmC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;;QAAnG,EAA2B,CAAA,UAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,WAAA,CAAA,CAAA;AAA4B,QAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAnC,QAAA,EAAmC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA;;;MCF9H,eAAe,CAAA;AAIxB,IAAA,WAAA,CAAmB,MAAiB,EAAA;AAAjB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;KAAK;AAEzC,IAAA,KAAK,CAAC,OAAe,EAAA;AAEjB,QAAA,IAAI,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;AAClC,QAAA,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,QAAA,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;AACzB,QAAA,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;QAE7B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC5C,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI;AAC5B,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;KAC5B;AAED,IAAA,OAAO,CAAC,OAAe,EAAA;AACnB,QAAA,IAAI,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;AAClC,QAAA,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,QAAA,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;AACrB,QAAA,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AACvB,QAAA,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;QAE7B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC5C,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI;AAC5B,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;KAC5B;AAED,IAAA,OAAO,CAAC,OAAe,EAAA;AACnB,QAAA,IAAI,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;AAClC,QAAA,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,QAAA,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;QAE7B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC5C,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI;AAC5B,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;KAC5B;AAED,IAAA,MAAM,CAAC,KAAsB,EAAA;AACzB,QAAA,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;QAE7B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC5C,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,IAAI;AAC5B,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;KAC5B;IAED,UAAU,GAAA;AACN,QAAA,IAAI,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;AAClC,QAAA,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;AACnB,QAAA,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;AACtB,QAAA,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;AACzB,QAAA,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AACvB,QAAA,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAE5B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC5C,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,OAAO;AACjB,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;KAC5B;;iGA/EQ,eAAe,EAAA,EAAA,CAAA,QAAA,CAAAC,IAAA,CAAA,SAAA,CAAA,CAAA,CAAA,EAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,KAAA,6BAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,eAAe,WAAf,eAAe,CAAA,IAAA,EAAA,CAAA,CAAA;;4EAAf,eAAe,EAAA,CAAA;kBAD3B,UAAU;;;MAuFE,mBAAmB,CAAA;IAE5B,WAAmB,CAAA,GAAsC,EAAkC,KAAsB,EAAA;AAA9F,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmC;AAAkC,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAiB;KAAK;IAEtH,QAAQ,GAAA;AAEJ,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAC;AACnB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;AAC3B,YAAA,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;AAClC,SAAA;KACJ;IAED,aAAa,GAAA;QACT,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,iBAAiB,CAAC,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;KAC9G;IAED,SAAS,GAAA;QACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,iBAAiB,CAAC,GAAG,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;KAC3G;IAED,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;KAC/D;;AAtBQ,mBAAA,mBAAA,CAAA,IAAA,GAAA,SAAA,2BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,mBAAmB,gEAEuC,eAAe,CAAA,CAAA,CAAA,EAAA,CAAA;qGAFzE,mBAAmB,EAAA,SAAA,EAAA,CAAA,CAAA,aAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,4BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AD9FhC,YAAA,EAAqF,CAAA,UAAA,CAAA,CAAA,EAAA,iCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAErF,EAAqC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACjC,YAAA,EAA6E,CAAA,UAAA,CAAA,CAAA,EAAA,gCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAC7E,YAAA,EAAmP,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;YACvP,EAAM,CAAA,YAAA,EAAA,CAAA;YAEN,EAAwC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACpC,YAAA,EAAoI,CAAA,UAAA,CAAA,CAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;YACpI,EAAiF,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AAA9D,YAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oDAAA,GAAA,EAAA,OAAS,eAAW,CAAC,EAAA,CAAA,CAAA;AAAyC,YAAA,EAA+B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;YAAA,EAAS,CAAA,YAAA,EAAA,CAAA;AACzH,YAAA,EAAgJ,CAAA,UAAA,CAAA,CAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;YACpJ,EAAM,CAAA,YAAA,EAAA,CAAA;;;YAXgB,EAAiB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AAG/B,YAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,YAAA,EAA2B,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,KAAA,CAAA,cAAA,CAAA,CAAA;AAChB,YAAA,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAA1B,EAA0B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,KAAA,CAAA,cAAA,CAAA,CAAA;AAI2B,YAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAApB,EAAoB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,KAAA,CAAA,QAAA,CAAA,CAAA;AAC/C,YAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAvB,EAAuB,CAAA,UAAA,CAAA,OAAA,EAAA,GAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AAAiB,YAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,YAAA,EAA+B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AACtC,YAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAvB,EAAuB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,KAAA,CAAA,WAAA,CAAA,CAAA;;;;4ECoFxF,mBAAmB,EAAA,CAAA;kBAJ/B,SAAS;+BACI,aAAa,EAAA,QAAA,EAAA,w/BAAA,EAAA,CAAA;;;8BAKqC,MAAM;+BAAC,eAAe,CAAA;;;;;;;QC7F1E,EAAsD,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAoB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;;;;AAA5B,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApB,QAAA,EAAoB,CAAA,iBAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,CAAA;;;;;;;AAgBtE,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAgC,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QACT,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,mEAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAU,CAAA,IAAA,CAAA,OAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAEnC,QAAA,EAAY,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAS,EAAA,CAAA;;;;;AAFe,QAAA,EAEtC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAFsC,EAEtC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAD,KAAA,EAAA,OAAA,KAAA,MAAA,CAAA,WAAA,CAAA,CAAA,CAAA;AAAE,QAAA,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAZ,QAAA,EAAY,CAAA,iBAAA,CAAA,OAAA,GAAA,CAAA,CAAA,CAAA;;;;;;;;QAtBpC,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAA0C,aAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAG9B,QAAA,EAAkF,CAAA,UAAA,CAAA,CAAA,EAAA,6CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;QACtF,EAAM,CAAA,YAAA,EAAA,CAAA;AACN,QAAA,EAA+F,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,IAAA,CAAA,YAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AAGhE,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,IAAA,CAAK,CAAC,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;;AAChC,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAU,CAAA,MAAA,CAAA,EAAA,EAAA,YAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,EAAA,CAAA;AAIvC,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,EAAA,CAAA,CAAiB,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AACM,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAU,CAAA,QAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;AACnC,QAAA,EAAU,CAAA,cAAA,CAAA,EAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAY,CAAA,MAAA,CAAA,EAAA,EAAA,cAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,EAAA,CAAA;AAIzC,QAAA,EAIK,CAAA,UAAA,CAAA,EAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAEL,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,EAAA,CAAA,CAAiB,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AACM,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAM,CAAA,IAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;AAC/B,QAAA,EAAU,CAAA,cAAA,CAAA,EAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAa,CAAA,MAAA,CAAA,EAAA,EAAA,eAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,EAAA,CAAA;AAI1C,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,EAAA,CAAA,CAAiB,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;QACM,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8DAAA,KAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,IAAA,CAAA,OAAA,CAAA,WAAA,GAAmB,CAAC,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;;AAC9C,QAAA,EAAU,CAAA,cAAA,CAAA,EAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAS,CAAA,MAAA,CAAA,EAAA,EAAA,WAAA,CAAA,CAAA;QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;;;;AA/BxB,QAAA,EAA4E,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA5E,EAA4E,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAD,KAAA,EAAA,MAAA,CAAA,GAAA,IAAA,IAAA,EAAA,MAAA,CAAA,GAAA,IAAA,IAAA,CAAA,CAAA,CAAA;AACxE,QAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA9B,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,gBAAA,IAAA,IAAA,CAAA,CAAA;AAExB,QAAA,EAA8D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA9D,EAA8D,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAY,KAAA,EAAA,MAAA,CAAA,GAAA,IAAA,IAAA,EAAA,MAAA,CAAA,GAAA,IAAA,IAAA,CAAA,CAAA,CAAA;AAG7C,QAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvB,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,KAAA,IAAA,CAAA,CAAuB,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,CAAA,CAAA;AAMpB,QAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvB,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,KAAA,IAAA,CAAA,CAAuB,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,UAAA,CAAA,CAAA,CAAA;AAK9C,QAAA,EAAQ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAR,EAAQ,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAOW,QAAA,EAAuC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvC,QAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,WAAA,GAAA,CAAA,CAAuC,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAMxB,QAAA,EAAuC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvC,QAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,WAAA,GAAA,CAAA,CAAuC,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,QAAA,CAAA,CAAA,CAAA;;;MCxBjG,sBAAsB,CAAA;AANnC,IAAA,WAAA,GAAA;AAQa,QAAA,IAAI,CAAA,IAAA,GAAG,CAAC,CAAC;AACT,QAAA,IAAG,CAAA,GAAA,GAAG,KAAK,CAAC;AACZ,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;AACZ,QAAA,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC;AACV,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AAE9C,QAAA,IAAM,CAAA,MAAA,GAAG,CAAC,CAAC;AAYX,QAAA,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;AAChB,QAAA,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;AAChB,QAAA,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;AACX,QAAA,IAAgB,CAAA,gBAAA,GAAG,EAAE,CAAC;KAuEzB;AArFG,IAAA,IACI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;IAED,IAAI,KAAK,CAAC,KAAK,EAAA;AACX,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB;AAQD,IAAA,OAAO,CAAC,KAAa,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;IAED,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AAErD,QAAA,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE;YACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;AAChD,YAAA,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;YAEzB,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAC;gBAEpC,IAAI,GAAG,GAAG,CAAC,CAAC;AACZ,gBAAA,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;oBACd,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE3B,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AAC1B,aAAA;iBACI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;AACzB,gBAAA,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAE3D,IAAI,CAAC,GAAG,CAAC;gBACL,CAAC,GAAG,CAAC,CAAC;AAEV,YAAA,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW;AACpB,gBAAA,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;AAEzB,YAAA,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AACd,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAE1B,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,SAAA;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;AAED,IAAA,IAAI,CAAC,KAAa,EAAA;AAEd,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK;YACnB,OAAO;AAEX,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;IAED,IAAI,GAAA;QACA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;KAC7B;IAED,QAAQ,GAAA;QACJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;KAC7B;IAED,cAAc,GAAA;AACV,QAAA,IAAI,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AAC/C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAE9C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK;AACvB,YAAA,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;AAE5B,QAAA,IAAI,WAAW,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI;YAAE,OAAO;AAEtD,QAAA,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;KAC1J;;+GA7FQ,sBAAsB,GAAA,CAAA,EAAA,CAAA;wGAAtB,sBAAsB,EAAA,SAAA,EAAA,CAAA,CAAA,gBAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,aAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,CAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,CAAA,EAAA,SAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,+BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADRnC,YAAA,EAuCM,CAAA,UAAA,CAAA,CAAA,EAAA,qCAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;YAvCuB,EAAU,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,CAAA,CAAA;;;;4ECQ1B,sBAAsB,EAAA,CAAA;kBANlC,SAAS;+BACI,gBAAgB,EAAA,QAAA,EAAA,27DAAA,EAAA,MAAA,EAAA,CAAA,gpBAAA,CAAA,EAAA,CAAA;oBAOjB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACI,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAIH,KAAK,EAAA,CAAA;sBADR,KAAK;;;;MCEG,iBAAiB,CAAA;IAY1B,WAAuC,CAAA,QAAmB,EAA8B,OAAmB,EAAA;AAApE,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAA8B,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;AAH3G,QAAA,IAAA,CAAA,UAAU,GAAG,MAAK,GAAI,CAAA;QACtB,IAAA,CAAA,SAAS,GAAG,CAAC,CAAM,KAAO,GAAC,CAAA;KAEqF;AAEhH,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAErB,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;YACnC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;KAC5D;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;QACjB,IAAI,CAAC,SAAS,EAAE,CAAA;AAEhB,QAAA,MAAM,eAAe,GAAG,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,KAAK,CAAA;AAClD,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,eAAe,CAAC,CAAA;AAEtE,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;AACrC,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACtC,SAAA;KACJ;IAED,gBAAgB,CAAC,EAAuB,EAAA,EAAU,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA,EAAE;IAEvE,iBAAiB,CAAC,EAAa,EAAA,EAAU,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA,EAAE;AAE/D,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;KAChF;AAED,IAAA,OAAO,CAAC,KAAK,EAAA;QACT,IAAI,CAAC,SAAS,EAAE,CAAA;AAEhB,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;AACrC,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAEnC,YAAA,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAA;AAE/B,YAAA,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;AAC1B,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;AACtB,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AACxB,aAAA;AACJ,SAAA;KACJ;IAEO,SAAS,CAAC,MAAM,GAAG,KAAK,EAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,KAAK,OAAO;gBAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;;AAE9C,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,MAAM,EAAE;YAE7B,IAAI,IAAI,GAAG,SAAS,CAAC;AAErB,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO;AACxB,gBAAA,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;AAErB,iBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO;AAC7B,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE5F,iBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK;AAC3B,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAElG,iBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK;gBAC3B,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEjE,iBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;AAC9B,gBAAA,IAAI,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;gBACjD,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1E,aAAA;AACI,iBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;AACnC,gBAAA,IAAI,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;AAC9C,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACzD,aAAA;AACI,iBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;AAC9B,gBAAA,IAAI,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAC5C,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7C,aAAA;AACI,iBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK;AAC3B,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,CAAC,CAAC;AAEhF,iBAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;AAC9B,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,aAAa,EAAC,aAAa,EAAC,GAAG,EAAC,aAAa,EAAC,aAAa,EAAC,aAAa,EAAC,GAAG,EAAC,aAAa,EAAC,aAAa,EAAC,aAAa,EAAC,GAAG,EAAC,aAAa,EAAC,aAAa,EAAC,aAAa,EAAC,aAAa,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,CAAC,CAAC;AAChN,gBAAA,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,WAAW,EAAE,CAAC;AAC1C,aAAA;;AAEI,gBAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AAEpB,YAAA,IAAI,UAAU,GAAG;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,eAAe,EAAE,GAAG;AACpB,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,iBAAiB,EAAE,KAAK;aAC3B,CAAC;YAEF,IAAI,CAAC,gBAAgB,GAAG,0BAA0B,CAC9C,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,CAAC,CACjE,CAAA;AACJ,SAAA;KAEJ;;qGAnHQ,iBAAiB,EAAA,EAAA,CAAA,iBAAA,CAYN,SAAS,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAuC,UAAU,CAAA,CAAA,CAAA,EAAA,CAAA;mGAZrE,iBAAiB,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,SAAA,8BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AAAjB,YAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0CAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,OAAA,CAAA,MAAA,CAAA,MAAA,CAAA,KAAA,CAA4B,2EAA5B,GAAY,CAAA,UAAA,EAAA,CAAA,EAAA,CAAA,CAAA;AARV,SAAA;AAAA,KAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,SAAA,EAAA,UAAA,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,MAAM,iBAAiB,EAAC;AAChD,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACJ,SAAA,CAAA,EAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,CAAA;;4EAEQ,iBAAiB,EAAA,CAAA;kBAd7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,8BAA8B;AACzC,wBAAA,QAAQ,EAAE,cAAc;AAC3B,qBAAA;AACD,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,uBAAuB,EAAC;AAChD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA;iBACJ,CAAA;;;8BAagB,MAAM;+BAAC,SAAS,CAAA;;8BAAgC,MAAM;+BAAC,UAAU,CAAA;;SAL5D,QAAQ,EAAA,CAAA;sBAAzB,KAAK;uBAAC,SAAS,CAAA;;;;MCpBP,mBAAmB,CAAA;IAI5B,WAAoB,CAAA,UAAsB,EAAU,KAAgB,EAAA;AAAhD,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAAU,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAW;KAAK;IAElD,WAAW,GAAA;AAC9B,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,GAAG,eAAe,GAAG,KAAK,CAAA;AAC7D,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KACzC;;yGAVQ,mBAAmB,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAV,EAAA,CAAA,SAAA,CAAA,CAAA,CAAA,EAAA,CAAA;qGAAnB,mBAAmB,EAAA,SAAA,EAAA,CAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,SAAA,gCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;oGAAnB,GAAa,CAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;;;4EAAb,mBAAmB,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;iBACvB,CAAA;yFAGoB,QAAQ,EAAA,CAAA;sBAAxB,KAAK;uBAAC,QAAQ,CAAA;gBAIQ,WAAW,EAAA,CAAA;sBAAjC,YAAY;uBAAC,OAAO,CAAA;;;;;;QCXrB,EAA2D,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAc,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;AAAzB,QAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAd,QAAA,EAAc,CAAA,iBAAA,CAAA,MAAA,CAAA,UAAA,CAAA,CAAA;;;;;QAKzE,EAA2D,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAc,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;AAAzB,QAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAd,QAAA,EAAc,CAAA,iBAAA,CAAA,MAAA,CAAA,UAAA,CAAA,CAAA;;;;;;QACzE,EAA4H,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;QAAvE,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,iFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,IAAA,GAAA,MAAA,CAAA,IAAA,IAAyB,UAAU,GAAI,MAAM,GAAG,UAAU,CAAC,CAAA,EAAA,CAAA,CAAA;AAAY,QAAA,EAAgD,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;AAA3D,QAAA,EAAgD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhD,EAAgD,CAAA,kBAAA,CAAA,YAAA,EAAA,MAAA,CAAA,IAAA,IAAA,UAAA,GAAA,EAAA,GAAA,MAAA,EAAA,EAAA,CAAA,CAAA;;;;;AAC5K,QAAA,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA;AAAA,QAAA,EAA4B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAY,CAAA,YAAA,EAAA,CAAA;;;;AAAxC,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5B,QAAA,EAA4B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA,CAAA;;;;;;AARhE,QAAA,EAAiF,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,CAAA;AAC7E,QAAA,EAAoF,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;QAEpF,EAC8F,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AADoC,QAAA,EAAmB,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,2EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,mEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAU,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,aAAA,EAAe,CAAA,CAAA,EAAA,CAAzB,4JAAmC,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,MAAA,EAAQ,CAAA,CAAA,EAAA,CAA3C,CAAA,SAAA,EAAA,SAAA,qEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,YAAA,GAAA,OAAA,CAAA,KAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;QAArJ,EAC8F,CAAA,YAAA,EAAA,CAAA;AAE9F,QAAA,EAAoF,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AACpF,QAAA,EAAuL,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AACvL,QAAA,EAAwE,CAAA,UAAA,CAAA,CAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,CAAA,CAAA;QAC5E,EAAiB,CAAA,YAAA,EAAA,CAAA;;;;AARF,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;AAEX,QAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAb,QAAA,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA,MAAA,EAAA,MAAA,CAAA,IAAA,CAAA,mBAAA,CAAA,KAAA,EAAA,MAAA,CAAA,GAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,0DAAA,CAAA,SAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,WAAA,EAAA,MAAA,CAAA,SAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAGlB,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;AACM,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAlB,EAAkB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA;AACvC,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAlB,EAAkB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA;;;;;QAI9B,EAA2D,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAc,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;AAAzB,QAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAd,QAAA,EAAc,CAAA,iBAAA,CAAA,OAAA,CAAA,UAAA,CAAA,CAAA;;;;;;QAEzE,EAC2G,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAD7B,QAAA,EAAmB,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,mFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA,eAAA,EAAA,SAAA,mFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAkB,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,aAAA,EAAe,CAAA,CAAA,EAAA,CAAjC,qKAA2C,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,MAAA,EAAQ,CAAA,CAAA,EAAA,CAAnD,CAAA,SAAA,EAAA,SAAA,6EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,YAAA,GAAA,OAAA,CAAA,KAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;QAAjG,EAC2G,CAAA,YAAA,EAAA,CAAA;;;;AAD3F,QAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,OAAA,CAAA,QAAA,CAAqB,CAAA,aAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,WAAA,CAAA,CAAA,CAAA,SAAA,EAAA,OAAA,CAAA,KAAA,CAAA,CAAA,UAAA,EAAA,OAAA,CAAA,QAAA,CAAA,CAAA,UAAA,EAAA,OAAA,CAAA,QAAA,CAAA,8BAAA,CAAA,SAAA,EAAA,OAAA,CAAA,WAAA,CAAA,CAAA;;;;;;QAGrC,EACmH,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AADT,QAAA,EAAmB,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,mFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA,eAAA,EAAA,SAAA,mFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAkB,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,aAAA,EAAe,CAAA,CAAA,EAAA,CAAjC,qKAA2C,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,MAAA,EAAQ,CAAA,CAAA,EAAA,CAAnD,CAAA,SAAA,EAAA,SAAA,6EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,YAAA,GAAA,OAAA,CAAA,KAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;QAA7H,EACmH,CAAA,YAAA,EAAA,CAAA;;;;AADnG,QAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,OAAA,CAAA,WAAA,CAA2B,8BAAA,CAAA,aAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,WAAA,CAAA,CAAA,CAAA,SAAA,EAAA,OAAA,CAAA,KAAA,CAAA,8BAAA,CAAA,UAAA,EAAA,OAAA,CAAA,QAAA,CAAA,CAAA,UAAA,EAAA,OAAA,CAAA,QAAA,CAAA,+BAAA,CAAA,QAAA,EAAA,OAAA,CAAA,UAAA,CAAA,CAAA;;;;;QAG3C,EAA2D,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAc,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;AAAzB,QAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAd,QAAA,EAAc,CAAA,iBAAA,CAAA,OAAA,CAAA,UAAA,CAAA,CAAA;;;;;AACzE,QAAA,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA;AAAA,QAAA,EAA4B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAY,CAAA,YAAA,EAAA,CAAA;;;;AAAxC,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5B,QAAA,EAA4B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,YAAA,CAAA,CAAA,CAAA;;;;;AAVhE,QAAA,EAAgF,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,CAAA;AAC5E,QAAA,EAAoF,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAEpF,QAAA,EAC2G,CAAA,UAAA,CAAA,CAAA,EAAA,oDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAE3G,QAAA,EACmH,CAAA,UAAA,CAAA,CAAA,EAAA,oDAAA,EAAA,CAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAEnH,QAAA,EAAoF,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AACpF,QAAA,EAAwE,CAAA,UAAA,CAAA,CAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,CAAA,CAAA;QAC5E,EAAiB,CAAA,YAAA,EAAA,CAAA;;;;AAVF,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;AAE6J,QAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxB,EAAwB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,UAAA,IAAA,IAAA,CAAA,CAAA;AAGI,QAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxB,EAAwB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,UAAA,IAAA,IAAA,CAAA,CAAA;AAGjO,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;AACf,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAlB,EAAkB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA;;;;;QAI9B,EAA2D,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAc,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;AAAzB,QAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAd,QAAA,EAAc,CAAA,iBAAA,CAAA,OAAA,CAAA,UAAA,CAAA,CAAA;;;;;AAKzE,QAAA,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA;AAAA,QAAA,EAA4B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAY,CAAA,YAAA,EAAA,CAAA;;;;AAAxC,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5B,QAAA,EAA4B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,YAAA,CAAA,CAAA,CAAA;;;;;;AANhE,QAAA,EAA2C,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,CAAA;AACvC,QAAA,EAAoF,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;QAEpF,EAC8F,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AADb,QAAA,EAAmB,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,8EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,sEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAU,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,aAAA,EAAe,CAAA,CAAA,EAAA,CAAzB,+JAAmC,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,MAAA,EAAQ,CAAA,CAAA,EAAA,CAA3C,CAAA,SAAA,EAAA,SAAA,wEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,YAAA,GAAA,OAAA,CAAA,KAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;QACN,EAAW,CAAA,YAAA,EAAA,CAAA;AAEzG,QAAA,EAAwE,CAAA,UAAA,CAAA,CAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,CAAA,CAAA;QAC5E,EAAiB,CAAA,YAAA,EAAA,CAAA;;;;AANF,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;AAER,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArB,QAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAqB,0DAAA,CAAA,SAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,MAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA,WAAA,EAAA,MAAA,CAAA,SAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,6BAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAG5B,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAlB,EAAkB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA;;;;;QAY1B,EAA2D,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAc,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;AAAzB,QAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAd,QAAA,EAAc,CAAA,iBAAA,CAAA,OAAA,CAAA,UAAA,CAAA,CAAA;;;;;;QATjF,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,EAAA,CAA4D,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAGmB,QAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,2EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAmB,CAAW,QAAA,EAAA,SAAA,oEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAiB,CAAA,UAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,CAA5B,EAAA,CAAA,CAAA;QAA1F,EAAoK,CAAA,YAAA,EAAA,CAAA;QACpK,EAAwF,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAA7B,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,iEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,IAAkB,CAAA,KAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAAC,EAAM,CAAA,YAAA,EAAA,CAAA;QAE9F,EAC0F,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AADA,QAAA,EAAmB,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,2EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,mEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAU,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,aAAA,EAAe,CAAA,CAAA,EAAA,CAAzB,4JAAmC,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,MAAA,EAAQ,CAAA,CAAA,EAAA,CAA3C,CAAA,SAAA,EAAA,SAAA,qEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,YAAA,GAAA,OAAA,CAAA,KAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;QAA7G,EAC0F,CAAA,YAAA,EAAA,CAAA;AAE1F,QAAA,EAAoF,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AACxF,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;;;AAPqE,QAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnB,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,KAAA,CAAmB,6BAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAChE,QAAA,EAAgC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhC,EAAgC,CAAA,WAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA;AAE9B,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArB,QAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAqB,CAAA,aAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,WAAA,CAAA,CAAA,CAAA,SAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,WAAA,EAAA,MAAA,CAAA,SAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,6BAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAGtC,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;;;MC1BtB,kBAAkB,CAAA;AA0C3B,IAAA,WAAA,CAAoB,QAAkB,EAAA;AAAlB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AArC7B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAE1B,QAAA,IAAI,CAAA,IAAA,GAAW,MAAM,CAAC;AACtB,QAAA,IAAI,CAAA,IAAA,GAAW,CAAC,CAAC;AACjB,QAAA,IAAQ,CAAA,QAAA,GAAW,CAAC,CAAC;AACrB,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;AACxB,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;AACxB,QAAA,IAAG,CAAA,GAAA,GAAW,CAAC,wBAAwB,CAAC;AACxC,QAAA,IAAG,CAAA,GAAA,GAAW,wBAAwB,CAAC;AACvC,QAAA,IAAI,CAAA,IAAA,GAAW,IAAI,CAAC;AACpB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK,CAAC;AAE/B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAEtC,IAAA,CAAA,WAAW,GAAQ;AACf,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,SAAS,EAAE,GAAG;SACjB,CAAC;AAEF,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAY,CAAA,YAAA,GAAQ,IAAI,CAAC;AACzB,QAAA,IAAU,CAAA,UAAA,GAAW,IAAI,CAAC;AAG1B,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAC9B,QAAA,IAAY,CAAA,YAAA,GAAW,IAAI,CAAC;AAC5B,QAAA,IAAA,CAAA,WAAW,GAAoB,IAAI,WAAW,EAAE,CAAC;AAezC,QAAA,IAAY,CAAA,YAAA,GAAW,IAAI,CAAC;KAZO;IAE3C,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;KAC/C;IAED,QAAQ,GAAA;QACJ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,UAAU,CAAC;KACnE;AAGD,IAAA,IACI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;IAED,IAAI,MAAM,CAAC,KAAK,EAAA;AACZ,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAE1B,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AAEpD,YAAA,IAAI,IAAI,CAAC,YAAY,IAAI,KAAK;AAC1B,gBAAA,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC;iBAE9B,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC;AACpG,gBAAA,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;;AAEzE,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;AAC5C,SAAA;KACJ;IAED,YAAY,GAAA;QACR,IAAI,CAAC,IAAI,CAAC,QAAQ;YACd,OAAO;AAEX,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAEzB,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/E,YAAA,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;AAClC,aAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AAClF,YAAA,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;QAEtC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE;YACzC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;AAC/C,SAAA;KACJ;IAED,MAAM,GAAA;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;AAC/E,YAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;gBAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AAEnE,YAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;gBAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YAEnE,IAAI,CAAC,aAAa,EAAE,CAAC;AACxB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpC;IAED,aAAa,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;AAED,IAAA,UAAU,CAAC,UAAe,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAED,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC9B;;uGAhIQ,kBAAkB,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,QAAA,CAAA,CAAA,CAAA,EAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,IAAA,6BAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,IAAA,EAAA,kBAAkB,EARjB,SAAA,EAAA,CAAA,CAAA,YAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA;AACN,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,MAAM,kBAAkB,EAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;SACJ,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,KAAA,EAAA,UAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,eAAA,EAAA,WAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,EAAA,CAAA,EAAA,UAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,eAAA,EAAA,MAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,EAAA,CAAA,EAAA,UAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,eAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,UAAA,EAAA,aAAA,EAAA,SAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,CAAA,EAAA,OAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,CAAA,EAAA,UAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,MAAA,EAAA,SAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,2BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADdL,YAAA,EASiB,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAEjB,YAAA,EAWiB,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAEjB,YAAA,EAOiB,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAEjB,YAAA,EAWiB,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;;;YA5CA,EAA6D,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,IAAA,OAAA,IAAA,GAAA,CAAA,IAAA,IAAA,UAAA,IAAA,GAAA,CAAA,MAAA,IAAA,IAAA,CAAA,CAAA;AAW7D,YAAA,EAA6D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAA7D,EAA6D,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,IAAA,OAAA,IAAA,GAAA,CAAA,IAAA,IAAA,UAAA,IAAA,GAAA,CAAA,MAAA,IAAA,IAAA,CAAA,CAAA;AAa7D,YAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAxB,EAAwB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,IAAA,UAAA,CAAA,CAAA;AASJ,YAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAArB,EAAqB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,IAAA,OAAA,CAAA,CAAA;;;;4ECjB7C,kBAAkB,EAAA,CAAA;kBAZ9B,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGZ,SAAA,EAAA;AACN,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,wBAAwB,EAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;qBACJ,EAAA,QAAA,EAAA,ohHAAA,EAAA,MAAA,EAAA,CAAA,qrBAAA,CAAA,EAAA,CAAA;+DAMQ,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEI,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAoCH,MAAM,EAAA,CAAA;sBADT,KAAK;;;;;;ACnEE,QAAA,EAAuB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAU,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;AAArB,QAAA,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAV,QAAA,EAAU,CAAA,iBAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;;;;;QAKjC,EAAoF,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAnB,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAQ,CAAA,MAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAC/E,EAAwB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAY,CAAA,MAAA,CAAA,CAAA,EAAA,cAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAA,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;AAAlC,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,CAAA,CAAA;;;;;AAE5E,QAAA,EAAyD,CAAA,kBAAA,CAAA,CAAA,CAAA,CAAA;;;;;AAQ7C,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA6B,YAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAC0B,QAAA,EAAa,CAAA,MAAA,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAC,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAAtF,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,YAAA,EAAA,KAAA,CAAA,GAAA,CAAA,CAAA;AAAqC,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAzB,EAAyB,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;AAHjH,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA0B,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAElB,QAAA,EAEK,CAAA,UAAA,CAAA,CAAA,EAAA,2DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,CAAA;;;;AAHiB,QAAA,EAAS,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAT,EAAS,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,MAAA,CAAA,CAAA;;;;;;QANvC,EAAqI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAzE,QAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,aAAA,GAA8B,IAAI,CAAA,CAAA,EAAA,CAAC,CAA+B,YAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,aAAA,GAAA,KAAK,CAApC,CAAA,EAAA,CAAA,CAAA;AAC3F,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAI,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AACwB,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;AAE5C,QAAA,EAMK,CAAA,UAAA,CAAA,CAAA,EAAA,sDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QACT,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAPI,QAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnB,EAAmB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,aAAA,CAAA,CAAA;;;;;;;AAhBpC,QAAA,EAAgD,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QAC5C,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACnC,QAAA,EAA4C,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;QAC5C,EAAiD,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;;QACrD,EAAK,CAAA,YAAA,EAAA,CAAA;QAEL,EAAyB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACrB,QAAA,EACqF,CAAA,UAAA,CAAA,CAAA,EAAA,qDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AAErF,QAAA,EAAyD,CAAA,UAAA,CAAA,CAAA,EAAA,2DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAEzD,QAAA,EAWK,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QACT,EAAM,CAAA,YAAA,EAAA,CAAA;AACN,QAAA,EAAI,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;QACR,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAzBP,QAAA,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,QAAA,EAAkC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAD,KAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACvB,QAAA,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAV,EAAU,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA;AACf,QAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnC,EAAmC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;AAIP,QAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AAGhC,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,CAAA;AAEnC,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA/B,EAA+B,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,MAAA,IAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAD,KAAA,CAAA,EAAA,MAAA,GAAA,CAAA,CAAA,CAAA;;;;;AAuB5B,QAAA,EAA2D,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAAC,QAAA,EAAE,CAAA,MAAA,CAAA,CAAA,EAAA,KAAA,CAAA,CAAA;QAAA,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAJjF,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAqD,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AACvC,QAAA,EAAiC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AACtD,QAAA,EAEA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAA6E,CAAA,UAAA,CAAA,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;QACjF,EAAQ,CAAA,YAAA,EAAA,CAAA;;;;AAJM,QAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjC,EAAiC,CAAA,iBAAA,CAAA,OAAA,CAAA,SAAA,CAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AAC3C,QAAA,EAEA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAFA,EAEA,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,SAAA,CAAA,WAAA,CAAA,MAAA,CAAA,EAAA,GAAA,CAAA,CAAA;AAAe,QAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1C,QAAA,EAA0C,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,SAAA,IAAA,IAAA,IAAA,OAAA,CAAA,SAAA,IAAA,EAAA,CAAA,CAAA;;;;;;;QAIjE,EAA6K,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAA9C,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAc,CAAA,YAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QACnJ,EAAiB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAuC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;;QADe,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAY,KAAA,EAAA,CAAA,CAAA,OAAA,CAAA,QAAA,CAAA,CAAwC,CAAA,UAAA,EAAA,OAAA,CAAA,OAAA,CAAA,CAAA;AACzG,QAAA,EAAuC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvC,QAAA,EAAuC,CAAA,iBAAA,CAAA,OAAA,CAAA,QAAA,GAAA,MAAA,GAAA,aAAA,CAAA,CAAA;;;;;;QAO5D,EAAoF,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAnB,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,qEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAQ,CAAA,MAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAC/E,EAAwB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAY,CAAA,MAAA,CAAA,CAAA,EAAA,cAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAA,QAAA,EACnD,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;AAD0C,QAAA,EACnD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AADmD,QAAA,EACnD,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;AAEA,QAAA,EAAyD,CAAA,kBAAA,CAAA,CAAA,CAAA,CAAA;;;;;AAQ7C,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA6B,YAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAC0B,QAAA,EAAa,CAAA,MAAA,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAC,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAAtF,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,YAAA,EAAA,KAAA,CAAA,GAAA,CAAA,CAAA;AAAqC,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAzB,EAAyB,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;AAHjH,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA0B,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAElB,QAAA,EAEK,CAAA,UAAA,CAAA,CAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,CAAA;;;;AAHiB,QAAA,EAAS,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAT,EAAS,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,MAAA,CAAA,CAAA;;;;;;QANvC,EAAqI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAzE,QAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,aAAA,GAA8B,IAAI,CAAA,CAAA,EAAA,CAAC,CAA+B,YAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,aAAA,GAAA,KAAK,CAApC,CAAA,EAAA,CAAA,CAAA;AAC3F,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAI,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AACwB,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;AAE5C,QAAA,EAMK,CAAA,UAAA,CAAA,CAAA,EAAA,8CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QACT,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAPI,QAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnB,EAAmB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,aAAA,CAAA,CAAA;;;;;QA7BpC,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAmD,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAGvC,QAAA,EAKQ,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;QACR,EAAmD,CAAA,SAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;;QACvD,EAAK,CAAA,YAAA,EAAA,CAAA;AACL,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QAET,EAAyE,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;;QAC7E,EAAM,CAAA,YAAA,EAAA,CAAA;QAEN,EAA0C,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AACtC,QAAA,EAES,CAAA,UAAA,CAAA,EAAA,EAAA,6CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AAET,QAAA,EAAyD,CAAA,UAAA,CAAA,EAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAEzD,QAAA,EAWK,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;;;;AAlC0B,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA3B,EAA2B,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,SAAA,CAAA,WAAA,CAAA,CAAA;AAM5C,QAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnC,EAAmC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;AAErC,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArB,EAAqB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,eAAA,CAAA,CAAA;AAIC,QAAA,EAAqC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArC,EAAqC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;AAIlC,QAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AAIhC,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,CAAA;AAEnC,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA/B,EAA+B,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,MAAA,IAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAZ,KAAA,CAAA,EAAA,MAAA,GAAA,CAAA,CAAA,CAAA;;;;;QAehD,EAA6C,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,CAAA;QACzC,EAA0E,CAAA,SAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,EAAA,CAAA,CAAA;QAC9E,EAAU,CAAA,YAAA,EAAA,CAAA;;;;;AAEY,QAAA,EAAyB,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA;;;;;;MC3DlC,oBAAoB,CAAA;AAuBhC,IAAA,WAAA,CAAoB,OAAe,EACxB,MAAiB,EACjB,YAA6B,EAC7B,UAAgC,EACjC,SAA4B,EAC3B,SAAoB,EAAU,QAAoB,EAAA;AALzC,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AACxB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;AACjB,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAiB;AAC7B,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAsB;AACjC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;AAC3B,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AAAU,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAY;AA1BpD,QAAA,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;AACd,QAAA,IAAI,CAAA,IAAA,GAAW,IAAI,CAAC;AAEpB,QAAA,IAAO,CAAA,OAAA,GAAW,IAAI,CAAC;AACvB,QAAA,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;AACjB,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAWtC,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAQ,CAAA,QAAA,GAAQ,IAAI,CAAC;AACrB,QAAA,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;AACxB,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AAQrB,QAAA,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAG;AACnB,YAAA,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,YAAY,gBAAgB;AACzE,gBAAA,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;;gBAErC,UAAU,CAAC,MAAK;AACpB,oBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,IAAI,CAAC,YAAY,aAAa,EAAE;AAC/B,wBAAA,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC;wBAC/E,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,qBAAA;iBACD,EAAE,CAAC,CAAC,CAAC;AACD,SAAC,CAAC,CAAC;KACT;AA/BD,IAAA,IAAI,SAAS,GAAA;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;KACvB;IAED,IAAwB,SAAS,CAAC,KAAa,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;KAC/E;IA2BD,QAAQ,GAAA;QACP,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEjF,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO;AAC7B,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;KAC1E;IAED,MAAM,GAAA;QACL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACzC;IAED,SAAS,GAAA;QACR,IAAI,CAAC,IAAI,CAAC,eAAe;YACxB,OAAO;AACR,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,GAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;AACpG,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,CAAC,OAAO;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;AAClD,SAAC,CAAC,CAAC;KACH;IAED,YAAY,GAAA;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;AACjF,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,CAAC,OAAO;AAAE,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrC,aAAC,CAAC,CAAC;AACH,SAAA;AAAM,aAAA;AACN,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,CAAoB,KAAI;AACzD,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC,IAAI;oBAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AAClE,aAAC,CAAC,CAAC;AACH,SAAA;KACD;IAEO,eAAe,GAAA;AACtB,QAAA,IAAI,IAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;AACtC,QAAA,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE;YAC5B,EAAE,EAAE,IAAI,CAAC,QAAQ;AACjB,YAAA,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;YACrB,MAAM,EAAE,CAAG,EAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAE,CAAA;AACxH,SAAA,CAAC,CAAC;QAEH,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;AACvC,YAAA,IAAI,EAAE,IAAI;AACnB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,OAAO;AACd,SAAA,CAAC,CAAC;QAEH,GAAG,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;YAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;gBACvE,GAAG,CAAC,KAAK,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;KAC/B;;2GArGW,oBAAoB,EAAA,EAAA,CAAA,iBAAA,CAAAE,IAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAL,IAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAgB,eAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,oBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA;sGAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,kBAAA,EAAAC,KAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,KAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,OAAA,EAAA,eAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,CAAA,IAAA,EAAA,YAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,QAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,6BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;YDfjC,EAA+F,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAE3F,YAAA,EA0Be,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAEf,YAAA,EAsCM,CAAA,UAAA,CAAA,CAAA,EAAA,mCAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YACV,EAAM,CAAA,YAAA,EAAA,CAAA;AACN,YAAA,EAEU,CAAA,UAAA,CAAA,CAAA,EAAA,uCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,CAAA,CAAA;YAEV,EAA6D,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;;AA1ExD,YAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAC,KAAA,EAAA,GAAA,CAAA,SAAA,GAAA,IAAA,CAAA,CAA6C,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAC,KAAA,EAAA,GAAA,CAAA,WAAA,CAAA,CAAA,CAAA;AAE/B,YAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9B,YAAA,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,SAAA,CAAA,MAAA,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AA4B3B,YAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9B,YAAA,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,SAAA,CAAA,MAAA,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAwCtB,YAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;;;;4ECvD9B,oBAAoB,EAAA,CAAA;kBALhC,SAAS;+BACC,cAAc,EAAA,QAAA,EAAA,yqHAAA,EAAA,MAAA,EAAA,CAAA,uoEAAA,CAAA,EAAA,CAAA;kOAMf,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAOkB,SAAS,EAAA,CAAA;sBAAhC,KAAK;uBAAC,WAAW,CAAA;;;MAoGN,oBAAoB,CAAA;AAEhC,IAAA,WAAA,CAA4C,IAAuB,EAAA;AAAvB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AADnE,QAAA,IAAK,CAAA,KAAA,GAAQ,EAAE,CAAC;AAEf,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,sCAAsC,CAAC;KACxE;;AALW,mBAAA,oBAAA,CAAA,IAAA,GAAA,SAAA,4BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,oBAAoB,uBAEZ,eAAe,CAAA,CAAA,CAAA,EAAA,CAAA;sGAFvB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,YAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,SAAA,EAAA,eAAA,CAAA,EAAA,CAAA,cAAA,EAAA,KAAA,CAAA,EAAA,CAAA,WAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,SAAA,EAAA,eAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,6BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YAT/B,EAAkF,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;YAApB,EAAmB,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,iEAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,KAAA,GAAA,MAAA,CAAA,EAAA,CAAA,CAAA;YAChF,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAA6C,aAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;YAEb,EAA0B,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,iEAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,KAAA,CAAA,MAAA,GAAA,MAAA,CAAA,EAAA,CAAA,CAAA;AAA6C,YAAA,EAAa,CAAA,YAAA,EAAA,EAAA,EAAA,EAAA,CAAA;;;;AAH1E,YAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAkB,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA;AAG5B,YAAA,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAA1B,EAA0B,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA;;;;4EAMhD,oBAAoB,EAAA,CAAA;kBAXhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;AAQT,CAAA,CAAA;iBACD,CAAA;;;8BAGa,MAAM;+BAAC,eAAe,CAAA;;;;;;;;;QClIhC,EAA2G,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAjB,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAM,CAAA,IAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QACtG,EAAwB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAY,CAAA,MAAA,CAAA,CAAA,EAAA,cAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAA,QAAA,EACnD,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;AAD0C,QAAA,EACnD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AADmD,QAAA,EACnD,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QAIQ,EAA0D,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAY,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;AAAvB,QAAA,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAZ,QAAA,EAAY,CAAA,iBAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA;;;;;;AAF9E,QAAA,EAA+C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QAC3C,EAA2J,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAA1G,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,gFAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,KAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAS,EAAW,CAAA,WAAA,CAAA,KAAA,CAAA,KAAA,IAAA,IAAI,GAAG,OAAA,CAAA,UAAA,CAAA,KAAA,CAAA,GAAA,EAAkB,KAAK,EAAE,IAAI,CAAC,GAAG,OAAA,CAAA,eAAA,CAAA,KAAA,CAAA,KAAA,EAAA,KAAA,CAAA,UAAA,EAAuC,IAAI,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;AACtJ,QAAA,EAAiF,CAAA,UAAA,CAAA,CAAA,EAAA,mEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AACjF,QAAA,EACJ,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;QACb,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAHI,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA/B,EAA+B,CAAA,UAAA,CAAA,MAAA,EAAA,KAAA,CAAA,IAAA,IAAA,eAAA,CAAA,CAAA;AAC1C,QAAA,EACJ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADI,EACJ,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;;QAGJ,EAAwI,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QAAzC,EAAwC,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,KAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,aAAA,GAAA,CAAA,OAAA,CAAA,aAAA,CAAA,CAAA,EAAA,CAAA,CAAA;QACnI,EAAwB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAC,QAAA,EAC9C,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;AADqC,QAAA,EAC9C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAD8C,QAAA,EAC9C,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;;QAEA,EAAuI,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QAAzC,EAAwC,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,KAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,aAAA,GAAA,CAAA,OAAA,CAAA,aAAA,CAAA,CAAA,EAAA,CAAA,CAAA;QAClI,EAAwB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAU,CAAA,MAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAC,QAAA,EAClD,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;AADyC,QAAA,EAClD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AADkD,QAAA,EAClD,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;;QAEA,EAAwG,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAhB,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAK,CAAA,GAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QACnG,EAAwB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAG,CAAA,MAAA,CAAA,CAAA,EAAA,KAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAC,QAAA,EAC3C,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;;AADkC,QAAA,EAC3C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAD2C,EAC3C,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,QAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QAtBJ,EAAyF,CAAA,cAAA,CAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AACrF,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAET,QAAA,EAKe,CAAA,UAAA,CAAA,CAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEf,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAET,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAET,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QACb,EAAe,CAAA,YAAA,EAAA,CAAA;;;;AAvBmB,QAAA,EAAA,CAAA,UAAA,CAAA,WAAA,EAAA,MAAA,CAAA,YAAA,CAA0B,CAAA,aAAA,EAAA,MAAA,CAAA,WAAA,CAAA,CAAA;AACtB,QAAA,EAAsC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtC,QAAA,EAAsC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,OAAA,IAAA,IAAA,IAAA,MAAA,CAAA,OAAA,IAAA,EAAA,CAAA,CAAA;AAI5C,QAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjB,EAAiB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA;AAOX,QAAA,EAA2C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3C,QAAA,EAA2C,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,WAAA,IAAA,IAAA,IAAA,CAAA,MAAA,CAAA,aAAA,CAAA,CAAA;AAI3C,QAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1C,QAAA,EAA0C,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,WAAA,IAAA,IAAA,IAAA,MAAA,CAAA,aAAA,CAAA,CAAA;AAI1C,QAAA,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApC,QAAA,EAAoC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,UAAA,IAAA,MAAA,CAAA,gBAAA,CAAA,CAAA;;;;;AAiB9C,QAAA,EAA0C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QACtC,EAA4F,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACxF,QAAA,EACJ,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;QACb,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAHsC,QAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1C,QAAA,EAA0C,CAAA,UAAA,CAAA,UAAA,EAAA,GAAA,CAAA,OAAA,IAAA,OAAA,CAAA,OAAA,CAAA,CAAA;AACvF,QAAA,EACJ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AADI,QAAA,EACJ,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;;QAIA,EAAmG,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAArD,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,sFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAc,CAAA,YAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAClE,EAAwB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;;;QAQpC,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAsB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;AAAjC,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtB,QAAA,EAAsB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA,CAAA;;;;;;AAFrE,QAAA,EAA8C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QAC1C,EAAiH,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAArB,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,4FAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,KAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,KAAU,CAAA,MAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAC5G,QAAA,EAAwE,CAAA,UAAA,CAAA,CAAA,EAAA,+EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAC,QAAA,EAC7E,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;QACb,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;;AAHsC,QAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1C,QAAA,EAA0C,CAAA,UAAA,CAAA,UAAA,EAAA,GAAA,CAAA,OAAA,IAAA,OAAA,CAAA,OAAA,CAAA,CAAA;AAC5E,QAAA,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAZ,EAAY,CAAA,UAAA,CAAA,MAAA,EAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AAAkD,QAAA,EAC7E,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAD6E,EAC7E,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;AAXR,QAAA,EAA2C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AACvC,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,8DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAA4F,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAChE,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;AAG7C,QAAA,EAIe,CAAA,UAAA,CAAA,CAAA,EAAA,oEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;QAEnB,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAb6D,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAzB,EAAyB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,mBAAA,CAAA,CAAA;AAGhD,QAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1C,QAAA,EAA0C,CAAA,UAAA,CAAA,UAAA,EAAA,GAAA,CAAA,OAAA,IAAA,OAAA,CAAA,OAAA,CAAA,CAAA;AAI/D,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhB,EAAgB,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,aAAA,CAAA,CAAA;;;;;;AAhBxD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,CAA+G,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEvG,QAAA,EAIe,CAAA,UAAA,CAAA,CAAA,EAAA,qDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAEf,QAAA,EAce,CAAA,UAAA,CAAA,CAAA,EAAA,qDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AACnB,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;;;AAvBL,QAAA,EAA6E,CAAA,sBAAA,CAAA,SAAA,EAAA,CAAA,OAAA,CAAA,aAAA,IAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAlB,KAAA,CAAA,EAAA,MAAA,IAAA,CAAA,GAAA,GAAA,GAAA,GAAA,EAAA,cAAA,CAAA,CAAA;AAE3D,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAzB,EAAyB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,mBAAA,CAAA,CAAA;AAMzB,QAAA,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1B,EAA0B,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,mBAAA,CAAA,CAAA;;;;;QAdrD,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAwD,UAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAG5C,QAAA,EAAyB,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA;AAC7B,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;AAEV,QAAA,EAwBM,CAAA,UAAA,CAAA,CAAA,EAAA,sCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;QACV,EAAM,CAAA,YAAA,EAAA,CAAA;;;;AA9BG,QAAA,EAAkE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlE,QAAA,EAAkE,CAAA,sBAAA,CAAA,SAAA,EAAA,CAAA,MAAA,CAAA,aAAA,IAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,CAAA,EAAA,MAAA,IAAA,CAAA,GAAA,IAAA,GAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAKa,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAzB,EAAyB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,WAAA,IAAA,IAAA,CAAA,CAAA;;;;;AA6BzH,QAAA,EAA+B,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;QAAA,EAAwD,CAAA,SAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;AAA3D,QAAA,EAAsC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtC,EAAsC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,YAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;QAChD,EAA0F,CAAA,SAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAS3G,EAAmG,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;;QAG/F,EAA+K,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAqB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;;;QAAvK,EAAoC,CAAA,UAAA,CAAA,MAAA,GAAA,OAAA,CAAA,WAAA,EAAA,CAAA,CAAA;AAAC,QAAA,EAAuG,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAY,KAAA,EAAA,OAAA,CAAA,WAAA,CAAA,KAAA,CAAA,IAAA,OAAA,EAAA,OAAA,CAAA,WAAA,CAAA,KAAA,CAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAC,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArB,QAAA,EAAqB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;;;;;;QACpM,EAAmL,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAqB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;;;QAA3K,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAK,KAAA,EAAA,OAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA,CAAwC,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAL,KAAA,EAAA,OAAA,CAAA,WAAA,CAAA,KAAA,CAAA,IAAA,OAAA,EAAA,OAAA,CAAA,WAAA,CAAA,KAAA,CAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAyG,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArB,QAAA,EAAqB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;;;;;AAF5M,QAAA,EAAgE,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAC5D,QAAA,EAAyM,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACzM,QAAA,EAA6M,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QACjN,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAFN,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAA2B,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,YAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAC3B,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAA2B,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,YAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;;;;;QAIhC,EAA0K,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAvE,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,yEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAK,CAAA,GAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;AAC9G,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAU,CAAA,MAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;;AADE,QAAA,EAAmC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,QAAA,CAAA,CAAA,CAAA;;;;;;QAGxE,EAAiL,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAA/C,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,yEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAgB,CAAA,cAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;QACxJ,EAA2B,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAQ,CAAA,MAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;AADQ,QAAA,EAA6C,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,kBAAA,CAAA,CAAA,CAAA;;;;;QAJ3G,EAA4R,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACxR,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QACb,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AANmH,QAAA,EAAoD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApD,QAAA,EAAoD,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,WAAA,IAAA,OAAA,CAAA,UAAA,IAAA,OAAA,CAAA,gBAAA,CAAA,CAAA;AAGV,QAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjB,EAAiB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,WAAA,CAAA,CAAA;;;;;;QAU3K,EAA4J,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;;AAAA,QAAA,EAAa,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAI,CAAA,YAAA,EAAA,CAAA;;;;AAAnJ,QAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,OAAA,CAAA,CAAuC,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAM,KAAA,EAAA,QAAA,CAAA,SAAA,IAAA,KAAA,CAAA,CAAA,CAAA;AAA2F,QAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAb,QAAA,EAAa,CAAA,iBAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAA;;;;;AAD7K,QAAA,EAAyC,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AACrC,QAAA,EAA6K,CAAA,UAAA,CAAA,CAAA,EAAA,gEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;QACjL,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AADwD,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAA2B,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,IAAA,IAAA,OAAA,CAAA,IAAA,CAAA,CAAA;;;;;AAFtG,QAAA,EAAmD,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAC/C,QAAA,EAEe,CAAA,UAAA,CAAA,CAAA,EAAA,4DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;QACnB,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAH8B,QAAA,EAAQ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAR,EAAQ,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,KAAA,CAAA,CAAA;;;;;AAMvC,QAAA,EAA2D,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;;;;;;QAI/C,EAAsQ,CAAA,SAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;;;;AAA/P,QAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,OAAA,CAAA,aAAA,IAAA,IAAA,IAAA,OAAA,CAAA,OAAA,CAAA,CAAA,MAAA,GAAA,OAAA,CAAA,eAAA,EAAA,CAAA,OAAA,CAAA,sBAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAlB,KAAA,CAAA,EAAA,KAAA,CAAA,CAAA,CAAsJ,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,OAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,CAAA,IAAA,EAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;QAC7J,EAAkN,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAiD,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;;;;;;;;;;QAAjP,EAAsJ,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,OAAA,CAAA,aAAA,IAAA,IAAA,IAAA,OAAA,CAAA,OAAA,CAAA,CAAA,MAAA,GAAA,OAAA,CAAA,eAAA,EAAA,CAAA,OAAA,CAAA,sBAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAkC,QAAA,EAAiD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjD,EAAiD,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,OAAA,CAAA,WAAA,CAAA,KAAA,CAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;;;;;;;QACnQ,EAA+M,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAApC,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,qHAAA,CAAA,MAAA,IAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,KAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,MAAA,KAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,KAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAyB,CAAA,WAAA,CAAA,KAAA,EAAA,KAAA,EAAA,MAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAC1M,EAAiF,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAmB,CAAA,MAAA,CAAA,CAAA,EAAA,qBAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;;;;AAD3C,QAAA,EAA6E,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,OAAA,CAAA,sBAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AACvI,QAAA,EAAsE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtE,QAAA,EAAsE,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,OAAA,CAAA,sBAAA,CAAA,KAAA,CAAA,IAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA;;;;;AAEpF,QAAA,EAAiE,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA;AAAA,QAAA,EAA+C,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAI,CAAA,YAAA,EAAA,CAAA;;;;;;AAAnD,QAAA,EAA+C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA/C,EAA+C,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,KAAA,EAAA,OAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA;;;;;;QANpH,EAAqL,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACjL,QAAA,EAAsQ,CAAA,UAAA,CAAA,CAAA,EAAA,kGAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AACtQ,QAAA,EAA2Q,CAAA,UAAA,CAAA,CAAA,EAAA,kGAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAC3Q,QAAA,EAEM,CAAA,UAAA,CAAA,CAAA,EAAA,gGAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AACN,QAAA,EAAoH,CAAA,UAAA,CAAA,CAAA,EAAA,8FAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;QACxH,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;;;;AAPD,QAAA,EAA0F,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,OAAA,CAAA,OAAA,CAAA,CAAA,MAAA,GAAA,OAAA,CAAA,eAAA,IAAA,OAAA,CAAA,aAAA,IAAA,IAAA,CAAA,CAAA,CAAA;AACqE,QAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,QAAA,EAA6B,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,WAAA,CAAA,KAAA,CAAA,KAAA,IAAA,CAAA,CAAA;AACV,QAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9B,QAAA,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,WAAA,CAAA,KAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAC1M,QAAA,EAAgE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhE,EAAgE,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,aAAA,IAAA,IAAA,IAAA,OAAA,CAAA,OAAA,CAAA,CAAA,MAAA,GAAA,OAAA,CAAA,eAAA,CAAA,CAAA;AAGlE,QAAA,EAA2D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA3D,EAA2D,CAAA,UAAA,CAAA,MAAA,EAAA,KAAA,IAAA,CAAA,IAAA,OAAA,CAAA,KAAA,IAAA,IAAA,IAAA,OAAA,CAAA,KAAA,IAAA,SAAA,CAAA,CAAA;;;;;AAEnE,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA8B,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAU,QAAA,EAAS,CAAA,MAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;;;AAC5D,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA+B,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAU,QAAA,EAAuB,CAAA,MAAA,CAAA,CAAA,EAAA,yBAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;;;AAC3E,QAAA,EAA+C,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAAC,CAAA,MAAA,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;AAXzD,QAAA,EAAsC,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAClC,QAAA,EAOK,CAAA,UAAA,CAAA,CAAA,EAAA,0FAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAAiE,CAAA,UAAA,CAAA,CAAA,EAAA,0FAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACjE,QAAA,EAAgF,CAAA,UAAA,CAAA,CAAA,EAAA,0FAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAChF,QAAA,EAAqD,CAAA,UAAA,CAAA,CAAA,EAAA,0FAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QACzD,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAXqF,QAAA,EAAmF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAnF,QAAA,EAAmF,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,OAAA,CAAA,KAAA,IAAA,IAAA,OAAA,CAAA,OAAA,CAAA,KAAA,KAAA,IAAA,OAAA,CAAA,OAAA,CAAA,KAAA,CAAA,IAAA,OAAA,CAAA,OAAA,CAAA,KAAA,GAAA,CAAA,CAAA;AAQ9K,QAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvB,QAAA,EAAuB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,OAAA,CAAA,KAAA,IAAA,CAAA,CAAA;AACvB,QAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAxB,QAAA,EAAwB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,OAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AACxB,QAAA,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAxC,QAAA,EAAwC,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,OAAA,CAAA,KAAA,CAAA,IAAA,OAAA,CAAA,OAAA,CAAA,KAAA,GAAA,CAAA,CAAA;;;;;QAGjD,EAAiF,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;;QAA/C,EAAyC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,WAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;QAC3E,EAAsC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAoE,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;AAAzE,QAAA,EAAoE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApE,QAAA,EAAoE,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,WAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,YAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAC1G,EAAoF,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;;QAA7C,EAAuC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,SAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;QAC9E,EAA4F,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAA+B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QAAhG,EAA2D,CAAA,UAAA,CAAA,cAAA,IAAA,OAAA,CAAA,OAAA,CAAA,GAAA,CAAA,GAAA,UAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAAC,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,QAAA,EAA+B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;;;;;QAC3H,EAA4F,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAA+B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QAAhG,EAA2D,CAAA,UAAA,CAAA,cAAA,IAAA,OAAA,CAAA,OAAA,CAAA,GAAA,CAAA,GAAA,UAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAAC,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,QAAA,EAA+B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;;;;;QAC3H,EAA4F,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAA+B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QAAhG,EAA2D,CAAA,UAAA,CAAA,cAAA,IAAA,OAAA,CAAA,OAAA,CAAA,GAAA,CAAA,GAAA,UAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAAC,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,QAAA,EAA+B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;;;;;QAC3H,EAA4F,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAA+B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QAAhG,EAA2D,CAAA,UAAA,CAAA,cAAA,IAAA,OAAA,CAAA,OAAA,CAAA,GAAA,CAAA,GAAA,UAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAAC,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,QAAA,EAA+B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;;;;;QAC3H,EAA4F,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAA+B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QAAhG,EAA2D,CAAA,UAAA,CAAA,cAAA,IAAA,OAAA,CAAA,OAAA,CAAA,GAAA,CAAA,GAAA,UAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAAC,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,QAAA,EAA+B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;;;;;QAC3H,EAA6F,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAiC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QAAlG,EAA2D,CAAA,UAAA,CAAA,cAAA,IAAA,OAAA,CAAA,OAAA,CAAA,GAAA,CAAA,GAAA,UAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAAC,QAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjC,QAAA,EAAiC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;;;;;AAG1H,QAAA,EAA6J,CAAA,kBAAA,CAAA,CAAA,CAAA,CAAA;;;;;AACvI,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAS,CAAA,MAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;;AAC5B,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAuB,CAAA,MAAA,CAAA,CAAA,EAAA,yBAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;;QAHxE,EAAgD,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAC5C,QAAA,EAA6J,CAAA,UAAA,CAAA,CAAA,EAAA,2FAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;QAC7J,EAAkE,CAAA,UAAA,CAAA,CAAA,EAAA,0FAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;QAClE,EAAkF,CAAA,UAAA,CAAA,CAAA,EAAA,0FAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;QACtF,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;;;AAHc,QAAA,EAAiG,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjG,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,OAAA,CAAA,IAAA,IAAA,KAAA,OAAA,CAAA,OAAA,CAAA,KAAA,IAAA,IAAA,OAAA,CAAA,OAAA,CAAA,IAAA,CAAA,IAAA,OAAA,CAAA,OAAA,CAAA,CAAA,WAAA,EAAA,IAAA,GAAA,CAAA,CAAiG,mBAAA,CAAA,UAAA,EAAA,KAAA,CAAA,CAAA;;;;;AA1BxH,QAAA,EAA4F,CAAA,uBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;AACxF,QAAA,EAYe,CAAA,UAAA,CAAA,CAAA,EAAA,qFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEf,QAAA,EAAiF,CAAA,UAAA,CAAA,CAAA,EAAA,2EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACjF,QAAA,EAA+G,CAAA,UAAA,CAAA,CAAA,EAAA,2EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAC/G,QAAA,EAAoF,CAAA,UAAA,CAAA,CAAA,EAAA,2EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACpF,QAAA,EAAgI,CAAA,UAAA,CAAA,CAAA,EAAA,2EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAChI,QAAA,EAAgI,CAAA,UAAA,CAAA,CAAA,EAAA,2EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAChI,QAAA,EAAgI,CAAA,UAAA,CAAA,CAAA,EAAA,2EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAChI,QAAA,EAAgI,CAAA,UAAA,CAAA,CAAA,EAAA,2EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAChI,QAAA,EAAgI,CAAA,UAAA,CAAA,CAAA,EAAA,2EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAChI,QAAA,EAAmI,CAAA,UAAA,CAAA,EAAA,EAAA,4EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAEnI,QAAA,EAIK,CAAA,UAAA,CAAA,EAAA,EAAA,4EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QACT,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AA9BD,QAAA,EAA2B,CAAA,UAAA,CAAA,UAAA,EAAA,OAAA,CAAA,WAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACtB,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArB,QAAA,EAAqB,CAAA,UAAA,CAAA,cAAA,EAAA,OAAA,CAAA,CAAA;AAcxB,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApB,QAAA,EAAoB,CAAA,UAAA,CAAA,cAAA,EAAA,MAAA,CAAA,CAAA;AACpB,QAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAxB,QAAA,EAAwB,CAAA,UAAA,CAAA,cAAA,EAAA,UAAA,CAAA,CAAA;AACxB,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,UAAA,CAAA,cAAA,EAAA,WAAA,CAAA,CAAA;AACzB,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlB,QAAA,EAAkB,CAAA,UAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA;AAClB,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlB,QAAA,EAAkB,CAAA,UAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA;AAClB,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlB,QAAA,EAAkB,CAAA,UAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA;AAClB,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlB,QAAA,EAAkB,CAAA,UAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA;AAClB,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlB,QAAA,EAAkB,CAAA,UAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA;AAClB,QAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAnB,QAAA,EAAmB,CAAA,UAAA,CAAA,cAAA,EAAA,KAAA,CAAA,CAAA;AAE1B,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArB,QAAA,EAAqB,CAAA,UAAA,CAAA,cAAA,EAAA,OAAA,CAAA,CAAA;;;;;AA3BlC,QAAA,EAA8D,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAC1D,QAAA,EAA2D,CAAA,UAAA,CAAA,CAAA,EAAA,4DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAC3D,QAAA,EA8Be,CAAA,UAAA,CAAA,CAAA,EAAA,sEAAA,EAAA,EAAA,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;QACnB,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAhCN,QAAA,EAA+C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/C,QAAA,EAA+C,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,OAAA,CAAA,IAAA,IAAA,IAAA,OAAA,CAAA,OAAA,CAAA,IAAA,SAAA,CAAA,CAAA;AACT,QAAA,EAA+C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/C,QAAA,EAA+C,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,OAAA,CAAA,IAAA,IAAA,IAAA,OAAA,CAAA,OAAA,CAAA,IAAA,SAAA,CAAA,CAAA;;;;;;QAmCtF,EAAwF,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAlD,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,wFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,QAAmB,CAAA,MAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAC/D,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAiC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;;AAA5C,QAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjC,EAAiC,CAAA,iBAAA,CAAA,QAAA,CAAA,UAAA,IAAA,eAAA,CAAA,CAAA;;;;;AAHvD,QAAA,EAAyC,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QACrC,EAAmC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAC/B,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,gEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QACb,EAAK,CAAA,YAAA,EAAA,CAAA;QACT,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAJ8D,QAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjB,EAAiB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,WAAA,CAAA,CAAA;;;;;QAStF,EAAiJ,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;;AAC7I,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAU,CAAA,MAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;;;QADhB,EAAgD,CAAA,qBAAA,CAAA,MAAA,EAAA,QAAA,CAAA,WAAA,CAAA,OAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA;AAAiB,QAAA,EAAkC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;;;;;;QAKlH,EAAgb,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAvW,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,4GAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,MAAwB,CAAA,eAAA,EAAA,CAAA,CAAA,OAAE,EAAoB,CAAA,WAAA,CAAA,MAAA,CAAA,cAAA,IAAA,IAAI,GAAG,QAAA,CAAA,eAAA,CAAA,MAAA,CAAA,cAAA,EAAA,MAAA,CAAA,mBAAA,EAAA,OAAA,CAA6D,GAAY,MAAA,CAAA,GAAA,IAAA,IAAI,GAAG,QAAA,CAAA,WAAA,CAAA,OAAA,EAAA,MAAA,CAAA,GAAA,EAAA,MAAA,CAAA,MAAA,EAAA,MAAA,CAAA,OAAA,CAA4C,GAAG,QAAA,CAAA,UAAA,CAAA,MAAA,CAAA,UAAA,EAAA,MAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAA0C,CAAA,CAAC,EAAA,CAAA,CAAA;;AAC7S,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAU,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;;;AADG,QAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAkC,CAAA,UAAA,EAAA,MAAA,CAAA,aAAA,IAAA,OAAA,CAAA,MAAA,CAAA,aAAA,CAAA,KAAA,IAAA,CAAA,CAAA;AAC1D,QAAA,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAV,QAAA,EAAU,CAAA,iBAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;;;;AAF5B,QAAA,EAAwC,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AACpC,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,oFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QACb,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAHwS,QAAA,EAA6D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7D,QAAA,EAA6D,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,aAAA,IAAA,IAAA,IAAA,MAAA,CAAA,aAAA,IAAA,OAAA,CAAA,KAAA,CAAA,CAAA;;;;;;QAKpX,EAAoK,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAxF,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6FAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,MAAwB,CAAA,eAAA,EAAA,CAAA,CAAA,OAAE,EAAA,CAAA,WAAA,CAAA,QAAA,CAAA,QAAA,CAAA,OAAA,CAAA,QAAA,CAAsB,CAAA,CAAC,EAAA,CAAA,CAAA;;AAClI,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAa,CAAA,MAAA,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;AADA,QAAA,EAAqC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,UAAA,CAAA,CAAA,CAAA;;;;;;QAI3E,EAAiJ,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAtE,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6FAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,MAAwB,CAAA,eAAA,EAAA,CAAA,CAAA,OAAE,EAAA,CAAA,WAAA,CAAA,QAAA,CAAA,MAAA,CAAA,OAAA,CAAW,CAAA,CAAC,EAAA,CAAA,CAAA;;AACtH,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAI,CAAA,MAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;AADS,QAAA,EAAoC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;;;;;;QAI1E,EAAyL,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAA3G,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6FAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,MAAwB,CAAA,eAAA,EAAA,CAAA,CAAA,OAAE,EAAA,CAAA,WAAA,CAAA,QAAA,CAAA,IAAA,CAAA,OAAA,IAAA,IAAA,GAAA,IAAA,GAAA,OAAA,CAAA,IAAA,CAAe,CAAA,CAAC,EAAA,CAAA,CAAA;;AAC7H,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAI,CAAA,MAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;;AADS,QAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,YAAA,CAAA,CAAuC,CAAA,UAAA,EAAA,CAAA,OAAA,IAAA,IAAA,GAAA,IAAA,GAAA,OAAA,CAAA,IAAA,KAAA,EAAA,CAAA,CAAA;;;;;;QAI7E,EAA6N,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAlJ,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6FAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,QAAmB,CAAA,MAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;AACpG,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;AADO,QAAA,EAAoC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;;;;;;QAI1E,EAAqN,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAA1I,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6FAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,QAAiB,CAAA,IAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;AAClG,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAa,CAAA,MAAA,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;;;AADA,QAAA,EAAoC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;;;;;QA5B9E,EAAuW,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAEnW,QAAA,EAEI,CAAA,UAAA,CAAA,CAAA,EAAA,gEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAEJ,QAAA,EAIe,CAAA,UAAA,CAAA,CAAA,EAAA,2EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEf,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,qEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAET,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,qEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAET,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,qEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAET,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,qEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAET,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,qEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QACb,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;AA7BuH,QAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvB,EAAuB,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,WAAA,IAAA,EAAA,CAAA,CAAA;AAInH,QAAA,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAV,EAAU,CAAA,UAAA,CAAA,SAAA,EAAA,QAAA,CAAA,OAAA,CAAA,CAAA;AAMkG,QAAA,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1B,EAA0B,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,QAAA,IAAA,IAAA,CAAA,CAAA;AAItC,QAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnB,EAAmB,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,aAAA,CAAA,CAAA;AAIZ,QAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvB,EAAuB,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,IAAA,IAAA,GAAA,IAAA,GAAA,OAAA,CAAA,IAAA,KAAA,IAAA,CAAA,CAAA;AAIhD,QAAA,EAAiH,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjH,QAAA,EAAiH,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,QAAA,CAAA,WAAA,IAAA,EAAA,IAAA,OAAA,CAAA,QAAA,CAAA,WAAA,CAAA,KAAA,IAAA,KAAA,QAAA,CAAA,aAAA,IAAA,QAAA,CAAA,mBAAA,IAAA,CAAA,OAAA,CAAA,UAAA,CAAA,CAAA;AAInH,QAAA,EAA2G,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3G,QAAA,EAA2G,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,QAAA,CAAA,WAAA,IAAA,EAAA,IAAA,OAAA,CAAA,QAAA,CAAA,WAAA,CAAA,KAAA,IAAA,KAAA,QAAA,CAAA,WAAA,IAAA,QAAA,CAAA,iBAAA,IAAA,QAAA,CAAA,WAAA,CAAA,CAAA;;;;;AA7B3N,QAAA,EAA0C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AACtC,QAAA,EA+BK,CAAA,UAAA,CAAA,CAAA,EAAA,4DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QACT,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAhCa,QAAA,EAA6U,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA7U,EAA6U,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,WAAA,IAAA,EAAA,IAAA,OAAA,CAAA,OAAA,IAAA,IAAA,IAAA,OAAA,CAAA,OAAA,CAAA,MAAA,GAAA,CAAA,IAAA,OAAA,CAAA,QAAA,IAAA,IAAA,IAAA,OAAA,CAAA,aAAA,IAAA,CAAA,OAAA,IAAA,IAAA,GAAA,IAAA,GAAA,OAAA,CAAA,IAAA,KAAA,IAAA,IAAA,OAAA,CAAA,WAAA,IAAA,CAAA,OAAA,CAAA,WAAA,IAAA,EAAA,IAAA,OAAA,CAAA,OAAA,CAAA,WAAA,CAAA,KAAA,IAAA,KAAA,OAAA,CAAA,WAAA,IAAA,OAAA,CAAA,iBAAA,IAAA,CAAA,OAAA,CAAA,WAAA,IAAA,EAAA,IAAA,OAAA,CAAA,OAAA,CAAA,WAAA,CAAA,KAAA,IAAA,KAAA,OAAA,CAAA,aAAA,IAAA,OAAA,CAAA,mBAAA,CAAA,CAAA;;;;;;;QAnD7W,EAAwQ,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QAA9B,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,4DAAA,CAAA,MAAA,EAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,QAAmB,CAAA,MAAA,CAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AACnQ,QAAA,EAIK,CAAA,UAAA,CAAA,CAAA,EAAA,6CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAEL,QAAA,EAiCe,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEf,QAAA,EAMe,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAEf,QAAA,EAiCe,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;QACnB,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;AApFiN,QAAA,EAAmB,CAAA,UAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA;QAA7L,EAAyK,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,OAAA,CAAA,iBAAA,EAAA,CAAA,OAAA,CAAA,WAAA,IAAA,EAAA,IAAA,OAAA,CAAA,OAAA,CAAA,WAAA,CAAA,KAAA,IAAA,KAAA,OAAA,CAAA,WAAA,IAAA,OAAA,CAAA,iBAAA,IAAA,OAAA,CAAA,WAAA,CAAA,CAAA,CAAA;AAC5M,QAAA,EAA4C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA5C,EAA4C,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,iBAAA,IAAA,CAAA,OAAA,IAAA,IAAA,GAAA,IAAA,GAAA,OAAA,CAAA,IAAA,KAAA,IAAA,CAAA,CAAA;AAMnB,QAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjB,EAAiB,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,YAAA,CAAA,CAAA;AAmChC,QAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxB,EAAwB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,kBAAA,CAAA,CAAA;AAQxB,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAzB,EAAyB,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,CAAA;;;;;;;AAvEpD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAyK,YAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAG7J,QAAA,EAAmG,CAAA,UAAA,CAAA,CAAA,EAAA,wCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAEnG,QAAA,EAGe,CAAA,UAAA,CAAA,CAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAEf,QAAA,EAOK,CAAA,UAAA,CAAA,CAAA,EAAA,wCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,CAAA;QAET,EAA4B,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AACxB,QAAA,EAoFK,CAAA,UAAA,CAAA,CAAA,EAAA,wCAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,CAAA;;;;AA1GqB,QAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,MAAA,CAAA,WAAA,CAAA,CAA4C,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,IAAA,EAAA,MAAA,CAAA,OAAA,EAAA,MAAA,CAAA,kBAAA,CAAA,CAAA,CAAA;AAGzC,QAAA,EAAoE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApE,EAAoE,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,iBAAA,IAAA,CAAA,MAAA,CAAA,IAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,IAAA,CAAA,MAAA,IAAA,CAAA,IAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAA,IAAA,IAAA,GAAA,IAAA,GAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,IAAA,KAAA,IAAA,CAAA,CAAA;AAE9D,QAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnB,EAAmB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA;AAKR,QAAA,EAAiP,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjP,QAAA,EAAiP,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,WAAA,IAAA,EAAA,IAAA,MAAA,CAAA,OAAA,IAAA,IAAA,IAAA,MAAA,CAAA,OAAA,CAAA,MAAA,GAAA,CAAA,IAAA,MAAA,CAAA,aAAA,IAAA,MAAA,CAAA,WAAA,IAAA,MAAA,CAAA,WAAA,IAAA,MAAA,CAAA,WAAA,IAAA,EAAA,IAAA,MAAA,CAAA,WAAA,IAAA,MAAA,CAAA,iBAAA,IAAA,MAAA,CAAA,WAAA,IAAA,EAAA,IAAA,MAAA,CAAA,aAAA,IAAA,MAAA,CAAA,mBAAA,CAAA,CAAA;AAW1Q,QAAA,EAAS,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAT,EAAS,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;;;;QAuFrC,EAAmE,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAsC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;AAA7C,QAAA,EAAsC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtC,QAAA,EAAsC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,sBAAA,CAAA,CAAA,CAAA;;;;;QAMjH,EAAyC,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;;;AC9K7B,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA4B,CAAA,CAAA,EAAA,eAAA,EAAA,CAAA,CAAA,CAAA;QACT,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,2FAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,OAAa,uCAAmB,CAAP,EAAA,CAAA,CAAA;AAA6D,QAAA,EAAA,CAAA,YAAA,EAAgB,EAAA,CAAA;;;;AAAtG,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAzB,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,MAAA,CAAyB,6BAAA,CAAA,MAAA,EAAA,WAAA,GAAA,OAAA,CAAA,IAAA,CAAA,CAAA;;;;;AAFhD,QAAA,EAA4C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AACxC,QAAA,EAEK,CAAA,UAAA,CAAA,CAAA,EAAA,oDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QACT,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAHN,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,SAAA,CAAA,CAAA;;;MCexB,iBAAiB,CAAA;IA2H1B,WAAoB,CAAA,OAAwB,EACzB,SAA4B,EAC5B,KAAgB,EACf,KAAwB,EACxB,kBAAmC,EACnC,OAAe,EACf,eAA+B,EAC/B,sBAAiD,EACjD,kBAAqC,EACrC,UAAgC,EAChC,WAAgC,EAChC,SAAoB,EACpB,QAAoB,EAAA;AAZpB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;AACzB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;AAC5B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAW;AACf,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AACxB,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAiB;AACnC,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AACf,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAgB;AAC/B,QAAA,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAA2B;AACjD,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;AACrC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAsB;AAChC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAqB;AAChC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACpB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAY;AArI/B,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AACf,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAc,CAAA,cAAA,GAA6B,EAAE,CAAC;AAC9C,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAEjB,QAAA,IAAG,CAAA,GAAA,GAAQ,IAAI,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAW,IAAI,CAAC;AACtB,QAAA,IAAI,CAAA,IAAA,GAAQ,IAAI,CAAC;AACjB,QAAA,IAAK,CAAA,KAAA,GAAW,GAAG,CAAC;AACpB,QAAA,IAAM,CAAA,MAAA,GAAQ,IAAI,CAAC;AACnB,QAAA,IAAW,CAAA,WAAA,GAAQ,IAAI,CAAC;AACxB,QAAA,IAAc,CAAA,cAAA,GAAW,IAAI,CAAC;AAE9B,QAAA,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AACb,QAAA,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;AACZ,QAAA,IAAQ,CAAA,QAAA,GAAG,MAAM,CAAC;AAClB,QAAA,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AACb,QAAA,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AACb,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AAEjB,QAAA,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;AACd,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AACV,QAAA,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;AAEhB,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AACnB,QAAA,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;AAClB,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AACnB,QAAA,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;AACrB,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AACnB,QAAA,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;AAC3B,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AACtB,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;AACzB,QAAA,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;AAC3B,QAAA,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AAEtB,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AACrB,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;AAC5B,QAAA,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AACpB,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAU,CAAA,UAAA,GAAG,eAAe,CAAC;AAE7B,QAAA,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;AAElB,QAAA,IAAW,CAAA,WAAA,GAAQ,IAAI,CAAC;AAEvB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AACpC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AACpC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAClC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AAC3B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AAC5B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AAC5B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;AAC9B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAEnC,QAAA,IAAW,CAAA,WAAA,GAAW,IAAI,CAAC;AAC3B,QAAA,IAAO,CAAA,OAAA,GAA0B,EAAE,CAAC;AACpC,QAAA,IAAa,CAAA,aAAA,GAAgC,EAAE,CAAC;AAEhD,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AACzB,QAAA,IAAgB,CAAA,gBAAA,GAAQ,IAAI,CAAC;AAKtC,QAAA,IAAQ,CAAA,QAAA,GAAa,EAAE,CAAC;AACxB,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AACtB,QAAA,IAAgB,CAAA,gBAAA,GAAQ,IAAI,CAAC;AAE7B,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AACpB,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AACzB,QAAA,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;AAE5B,QAAA,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;AAChB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;AAClB,QAAA,IAAK,CAAA,KAAA,GAAU,EAAE,CAAC;AAClB,QAAA,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;AAClB,QAAA,IAAc,CAAA,cAAA,GAAG,EAAE,CAAC;AACpB,QAAA,IAAoB,CAAA,oBAAA,GAAG,EAAE,CAAC;AAC1B,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAY,CAAA,YAAA,GAAG,EAAE,CAAC;AAClB,QAAA,IAAgB,CAAA,gBAAA,GAAG,EAAE,CAAC;AACtB,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAsB,CAAA,sBAAA,GAAG,EAAE,CAAC;AAC5B,QAAA,IAAU,CAAA,UAAA,GAAW,IAAI,CAAC;AAC1B,QAAA,IAAG,CAAA,GAAA,GAAW,IAAI,CAAC;AACnB,QAAA,IAAY,CAAA,YAAA,GAAW,MAAM,CAAC;AAC9B,QAAA,IAAa,CAAA,aAAA,GAAW,IAAI,CAAC;AAC7B,QAAA,IAAe,CAAA,eAAA,GAAW,GAAG,CAAC;AAIpB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAC;AAEjD,QAAA,IAAgB,CAAA,gBAAA,GAAW,IAAI,CAAC;AAWhC,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;KAuB0B;AAjC7C,IAAA,IACI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAChC;IAED,IAAI,WAAW,CAAC,KAAK,EAAA;AACjB,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACtD;AAGD,IAAA,IACI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;IAED,IAAI,IAAI,CAAC,KAAK,EAAA;AACV,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB;IAgBD,QAAQ,GAAA;AACJ,QAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,eAAe,EAAE,CAAC;AAEvB,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;AAC1B,YAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;AACnB,gBAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;AAE3B,YAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/D,SAAA;AAEI,aAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;AACtE,YAAA,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC;AAElC,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACrJ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;AAEpD,YAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI;AAC1D,gBAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC/D,SAAA;QAED,IAAI,IAAI,CAAC,YAAY;AACjB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAE9B,QAAA,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC;AACpB,YAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;QAEpC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC;KACzC;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAClD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;AAElE,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;AAC/C,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;AAErC,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU;YAChE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAEjF,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC;YACjK,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AAElD,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,IAAI,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,OAAO,EAAE,CAAC;;gBAEd,IAAI,CAAC,QAAQ,EAAE,CAAC;AACxB,SAAA;;AAEI,YAAA,IAAI,CAAC,kBAAkB;iBACvB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC;iBAC/B,SAAS,CAAC,CAAC,IAAG;AACX,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,aAAa,EAAE,CAAC;gBAErB,IAAI,IAAI,CAAC,UAAU;oBACf,IAAI,CAAC,OAAO,EAAE,CAAC;;oBAEd,IAAI,CAAC,QAAQ,EAAE,CAAC;AACzB,aAAC,CAAC,CAAC;QAEP,IAAI,IAAI,CAAC,iBAAiB;AACtB,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;KAGtC;IAED,WAAW,GAAA;AACP,QAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAClC;IAED,UAAU,GAAA;AAEN,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;YACf,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAEtC,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;YAEjB,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAC;AAChD,gBAAA,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAEvE,gBAAA,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAC;AACxE,oBAAA,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;AAEvF,oBAAA,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;wBACzB,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/E,iBAAA;AACJ,aAAA;AAED,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AACzB,YAAA,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;AAC/B,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACtB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AAEtB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAG;gBAEpC,IAAI,SAAS,GAAY,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrD,IAAI,IAAI,GAAY,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,gBAAA,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAExD,IAAI,MAAM,GAAW,QAAQ,CAAC;gBAC9B,IAAI,MAAM,GAAW,QAAQ,CAAC;gBAC9B,IAAI,IAAI,GAAW,EAAE,CAAC;gBACtB,IAAI,KAAK,GAAW,EAAE,CAAC;gBAEvB,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC1B,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAChC,oBAAA,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,oBAAA,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACrB,iBAAA;gBAED,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC1B,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAE9B,IAAI,MAAM,IAAI,MAAM;AAChB,wBAAA,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAEtB,oBAAA,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,oBAAA,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACnB,iBAAA;AAED,gBAAA,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC;gBACrC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;oBACvB,IAAI,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAEhC,IAAI,IAAI,IAAI,EAAE,EAAE;wBACZ,IAAI,MAAM,IAAI,MAAM;AAChB,4BAAA,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAE3B,wBAAA,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAE1B,qBAAA;;AAAM,wBAAA,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAE5B,oBAAA,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAEtB,oBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;wBACjD,KAAK,IAAI,IAAI,CAAC;AACrB,iBAAA;gBAED,IAAI,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;AACpC,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,oBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjC,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;AACnD,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,oBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtC,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,iBAAA;AAED,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3C,aAAC,CAAC,CAAC;AAEH,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC;AAC9D,gBAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AACrC,SAAA;KACJ;IAED,kBAAkB,GAAA;;AACd,QAAA,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;AACjC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAG,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAA,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,GAAG,GAAG,EAAE,CAAC;AACb,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAG,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAA,EAAE,CAAC,EAAE,EAAE;AAChD,gBAAA,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnB,aAAA;AACD,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,SAAA;KACJ;IAED,eAAe,GAAA;QACX,IAAI,GAAG,GAAG,EAAE,CAAC;AAEb,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE;YACtB,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAEtD,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE;YACtB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAE/F,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE;AACpB,YAAA,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAEvH,QAAA,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;KAC3B;AAED,IAAA,UAAU,CAAC,GAAW,EAAE,MAAe,EAAE,EAAW,EAAA;AAEhD,QAAA,IAAI,MAAM,EAAE;YACR,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvB,gBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;;gBAClD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AACzC,SAAA;;AAEI,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;KACxC;AAED,IAAA,eAAe,CAAC,cAAmB,EAAE,KAAa,EAAE,QAAa,IAAI,EAAA;QAEjE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;KACzC;IAED,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE;YACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO;AAEV,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;YAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;aAEhB,IAAI,IAAI,CAAC,KAAK;YACf,IAAI,CAAC,QAAQ,EAAE,CAAC;AAEf,aAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;;YAEb,IAAI,CAAC,aAAa,EAAE,CAAC;KAC7B;IAED,MAAM,GAAA;AAEF,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;AACxB,YAAA,IAAI,CAAC,kBAAkB;iBAClB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;AAC1B,iBAAA,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;;AAE1C,YAAA,IAAI,CAAC,kBAAkB;AACvB,iBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;AAC7C,iBAAA,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9C;IAED,QAAQ,GAAA;QAEJ,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;AAClE,QAAA,MAAM,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;AAEjE,QAAA,IAAI,CAAC,kBAAkB;aAClB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;AAClC,aAAA,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;KACpD;IAED,SAAS,GAAA;AACL,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAE3B,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AACrC,SAAA;QAED,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAC9C,QAAA,IAAI,WAAW,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;AACzF,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO;AACV,SAAA;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC1C,QAAA,IAAI,UAAU,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;AACnF,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,kBAAkB;AAClB,aAAA,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;AAC7C,aAAA,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAC1D;IAED,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,kBAAkB;AAClB,aAAA,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AAC/C,aAAA,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;KACrD;AAED,IAAA,aAAa,CAAC,MAAW,EAAE,gBAAA,GAA4B,KAAK,EAAA;AACxD,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AACzB,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5E,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACpD,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAE7D,IAAI,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AACrD,SAAA;QAED,IAAI,MAAM,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YAExB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI;AACxC,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAE9D,YAAA,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI;AAC1B,gBAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AAE1C,YAAA,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI;AACvB,gBAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;AAEvC,YAAA,IAAI,gBAAgB;gBAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEzC,YAAA,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,EAAE;AAC1D,gBAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,MAAQ,EAAA,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;AACrF,aAAA;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAE7B,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,IAAG,IAAI,CAAC,gBAAgB;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC7D,SAAA;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;KAC9B;AAED,IAAA,UAAU,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AAE7B,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;YACxB,IAAI,CAAC,SAAS,EAAE,CAAC;;YAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;KACxB;IAED,YAAY,GAAA;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEvD,IAAI,CAAC,IAAI,CAAC,YAAY;AAClB,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE/B,IAAI,CAAC,MAAM,EAAE,CAAC;KACjB;IAED,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,IAAI,CAAC,KAAK;AACV,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;QAE7B,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;IAED,GAAG,GAAA;AAEC,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;AACnB,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;AAEpB,SAAA;AAAM,aAAA;YACH,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;AACxC,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;AAE3B,YAAA,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;AACvB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAE7C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3C,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACrB;AAED,IAAA,MAAM,CAAC,KAAU,EAAA;QACb,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;KACpB;AAED,IAAA,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,CAAQ,EAAA;QAC/B,CAAC,CAAC,eAAe,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAA;KAC3F;IAED,MAAM,CAAC,KAAU,EAAE,CAAQ,EAAA;QACvB,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,IAAI,CAAC,iBAAiB;AACtB,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;AAEvB,gBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzB,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,WAAW;AAChI,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KAC3B;IAED,IAAI,CAAC,KAAU,EAAE,CAAQ,EAAA;QACrB,CAAC,CAAC,eAAe,EAAE,CAAC;AAEpB,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;AAEpB,SAAA;AAAM,aAAA;YACH,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE;AAC1C,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;YAE5B,IAAI,CAAC,OAAO,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,kBAAkB,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC;AAChF,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAE/C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;IAED,IAAI,CAAC,KAAU,EAAE,CAAQ,EAAA;QACrB,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;AAEpB,aAAA;AAAM,iBAAA;gBACH,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE;AAC1C,oBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;AAE5B,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAE/C,gBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACnD,aAAA;AAED,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;gBACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;AAEpB,aAAA;AAAM,iBAAA;gBACH,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE;AAC1C,oBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;gBAE5B,IAAI,CAAC,OAAO,IAAI,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,kBAAkB,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC;AAChF,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAE/C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5C,aAAA;AAED,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,SAAA;KACJ;IAED,MAAM,CAAC,KAAU,EAAE,CAAQ,EAAA;QACvB,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpB,IAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACvC,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;AAClD,YAAA,IAAI,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE;AACnC,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAEpB,gBAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;AAC7D,oBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAEtB,IAAI,CAAC,CAAC,OAAO;wBACT,IAAI,CAAC,OAAO,EAAE,CAAC;AACd,yBAAA;wBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,IAAI,IAAI,CAAC,gBAAgB;AAAE,4BAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;AACzD,qBAAA;AACL,iBAAC,CAAC,CAAC;AACN,aAAA;AACL,SAAC,CAAC,CAAC;KACN;IAED,cAAc,GAAA;QACV,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE;YAChC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI,CAAC,oBAAoB;YAClC,KAAK,EAAE,IAAI,CAAC,YAAY;AAC3B,SAAA,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC;QAC9C,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAC9C,IAAI,EAAE,IAAI,CAAC,KAAK;AAChB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,OAAO;AACjB,SAAA,CAAC,CAAC;QAEH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAoB,KAAI;YACjD,IAAI,CAAC,IAAI,IAAI;gBACT,OAAO;AAEX,YAAA,IAAI,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC,IAAI,EAAC;gBACtC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,EAAE,CAAC;AAClB,aAAA;AACL,SAAC,CAAC,CAAC;KACN;IAED,SAAS,GAAA;AACL,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAEhB,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;YACjB,OAAO;AAEX,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAG;AAEpB,YAAA,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YACvB,IAAI,IAAI,IAAI,IAAI;gBACZ,OAAO;YAEX,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBACxB,IAAI,OAAO,GAAG,IAAI;qBACb,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,KAAK,IAAG;oBAET,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;wBACzB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC7B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAE7E,qBAAA;;AAAM,wBAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;iBAE3E,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAEnD,IAAI,KAAK,GAAG,CAAC,CAAC;AACd,gBAAA,OAAO,CAAC,OAAO,CAAC,OAAO,IAAG;AACtB,oBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAC;AAC/E,wBAAA,OAAO,CAAC,SAAS,GAAG,KAAK,IAAI,CAAC,CAAC;AAC/B,wBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5B,qBAAA;AAED,oBAAA,KAAK,EAAE,CAAC;AACZ,iBAAC,CAAC,CAAC;AACN,aAAA;AAAM,iBAAA;gBACH,IAAI,OAAO,GAAQ,EAAE,CAAC;gBAEtB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;oBACxB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC5B,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAEhF,iBAAA;;AAAM,oBAAA,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAE1E,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI;AACpD,oBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChC,aAAA;AACL,SAAC,CAAC,CAAC;KACN;AAED,IAAA,IAAI,CAAC,KAAK,EAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC7B;IAED,IAAI,GAAA;AACA,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;KACnG;IAED,SAAS,CAAC,iBAAsB,IAAI,CAAC,IAAI,EAAE,KAAA,GAAgB,IAAI,CAAC,KAAK,EAAA;QACjE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC;QAE9C,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE;YACtC,IAAI,EAAE,IAAI,CAAC,KAAK;AAChB,YAAA,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK,GAAG,IAAI;AACtB,SAAA,CAAC,CAAC;QAEH,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAoB,KAAI;YACjD,IAAI,CAAC,IAAI,IAAI;gBACT,OAAO;AAEX,YAAA,IAAI,CAAC,CAAC,WAAW,IAAI,eAAe,CAAC,IAAI;gBACrC,IAAI,CAAC,OAAO,EAAE,CAAC;AAEnB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9B,SAAC,CAAC,CAAC;QAEH,GAAG,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;gBACvE,GAAG,CAAC,KAAK,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;KACN;IAED,QAAQ,GAAA;QACJ,IAAI,CAAC,eAAe,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACxB;IAED,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrF,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACzF,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;KAC3C;AAED,IAAA,QAAQ,CAAC,SAAc,EAAA;AACnB,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;YACxB,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAEpC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;AACxI,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YAE3B,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE;AAC7B,gBAAA,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChD,gBAAA,IAAI,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC;AACpC,gBAAA,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;gBACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;oBACjC,IAAI,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACvC,oBAAA,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACnB,iBAAA;gBAED,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7B,IAAI,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,QAAQ,GAAsB,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAsB,CAAC;AACnF,gBAAA,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC;gBACxB,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAChC,gBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACpC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACjB,gBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAEvC,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACzB,SAAC,CAAC,CAAC;KACN;IAED,WAAW,CAAC,KAAU,EAAE,GAAQ,EAAE,MAAc,EAAE,UAAmB,IAAI,EAAA;AACrE,QAAA,IAAI,OAAO,EAAE;AACT,YAAA,IAAI,CAAC,OAAO;iBACP,OAAO,CAAC,mBAAmB,CAAC;iBAC5B,SAAS,CAAC,GAAG,IAAG;AACb,gBAAA,IAAI,GAAG,CAAC,MAAM,IAAI,iBAAiB,CAAC,GAAG,EAAE;AACrC,oBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,oBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;wBAC3D,IAAI,CAAC,CAAC,OAAO;4BACT,IAAI,CAAC,OAAO,EAAE,CAAC;6BACd,IAAG,IAAI,CAAC,gBAAgB;AACzB,4BAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;AAE/B,wBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACzB,qBAAC,CAAC,CAAC;AACN,iBAAA;AACL,aAAC,CAAC,CAAC;AACV,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;gBAC3D,IAAI,CAAC,CAAC,OAAO;oBACT,IAAI,CAAC,OAAO,EAAE,CAAC;qBACd,IAAG,IAAI,CAAC,gBAAgB;AACzB,oBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;AAE/B,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACzB,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;;qGAhyBQ,iBAAiB,EAAA,EAAA,CAAA,iBAAA,CAAAmB,eAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAV,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAW,IAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAhB,eAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,IAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAA,IAAA,CAAA,cAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAgB,yBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAd,oBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAe,mBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA;mGAAjB,iBAAiB,EAAA,SAAA,EAAA,CAAA,CAAA,WAAA,CAAA,CAAA,EAAA,cAAA,EAAA,SAAA,gCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,QAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;wCAkET,OAAO,EAAA,CAAA,CAAA,CAAA;;;;;;;;2BACb,MAAM,EAAA,CAAA,CAAA,CAAA;;;;;;;AArEN,SAAA;AAAA,KAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA,CAAC,iBAAiB,CAAC,CAAA,CAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,EAAA,aAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,cAAA,EAAA,KAAA,EAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,YAAA,EAAA,QAAA,CAAA,EAAA,CAAA,OAAA,EAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,6BAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,OAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,IAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,QAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,YAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,0BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;AFxBlC,YAAA,EAuBe,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAEf,YAAA,EAA4C,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,aAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAGc,YAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,SAAA,mDAAA,GAAA,EAAA,OAAY,YAAQ,CAAC,EAAA,CAAA,CAAA;AAC/D,YAAA,EA+BM,CAAA,UAAA,CAAA,CAAA,EAAA,gCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACV,YAAA,EAAA,CAAA,YAAA,EAAO,EAAA,CAAA;AAGX,YAAA,EAAkG,CAAA,UAAA,CAAA,CAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;YAClG,EAA6B,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,CAAA,CAAA;AAAA,YAAA,EAA0F,CAAA,UAAA,CAAA,CAAA,EAAA,6CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;YAAA,EAAU,CAAA,YAAA,EAAA,CAAA;AAMjI,YAAA,EA2GQ,CAAA,UAAA,CAAA,EAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AACR,YAAA,EAAgH,CAAA,UAAA,CAAA,EAAA,EAAA,kCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;YAEhH,EAAgI,CAAA,cAAA,CAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;YAA/B,EAAA,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,4DAAA,CAAA,MAAA,EAAA,EAAA,OAAU,sBAAkB,CAAC,EAAA,CAAA,CAAA;AAAE,YAAA,EAAA,CAAA,YAAA,EAAiB,EAAA,EAAA,CAAA;AAIzJ,YAAA,EAAyC,CAAA,UAAA,CAAA,EAAA,EAAA,iCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;YACzC,EAA+C,CAAA,SAAA,CAAA,EAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA;;;YA1LhC,EAAiB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,WAAA,CAAA,CAAA;AAyB3B,YAAA,EAAsC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtC,YAAA,EAAsC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA,CAAA;AAEE,YAAA,EAA+D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/D,YAAA,EAA+D,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,IAAA,EAAA,CAAA,GAAA,CAAA,aAAA,GAAA,EAAA,GAAA,CAAA,IAAA,SAAA,CAAA,CAAA,CAAA;AAEtF,YAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAnB,EAAmB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,aAAA,CAAA,CAAA;AAmCtB,YAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAlB,EAAkB,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,WAAA,CAAA,CAAA;AACwD,YAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;AAMmD,YAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAlB,EAAkB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,IAAA,IAAA,CAAA,CAAA;AA4G5I,YAAA,EAAsC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtC,YAAA,EAAsC,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,IAAA,IAAA,IAAA,GAAA,CAAA,IAAA,CAAA,MAAA,IAAA,CAAA,CAAA,CAAA;AAEtC,YAAA,EAAuD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvD,YAAA,EAAA,CAAA,UAAA,CAAA,QAAA,EAAA,CAAA,GAAA,CAAA,KAAA,IAAA,GAAA,CAAA,IAAA,IAAA,IAAA,IAAA,GAAA,CAAA,IAAA,CAAA,MAAA,IAAA,CAAA,CAAuD,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,CAAA,CAAA;AAItE,YAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;AACrB,YAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAArB,EAAqB,CAAA,UAAA,CAAA,UAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;;;;4EEhKpB,iBAAiB,EAAA,CAAA;kBAN7B,SAAS;+BACI,WAAW,EAAA,SAAA,EAGV,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,4gfAAA,EAAA,MAAA,EAAA,CAAA,ywJAAA,CAAA,EAAA,CAAA;6ZAIrB,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEI,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBACG,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBAEE,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAEG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAEoB,SAAS,EAAA,CAAA;sBAAlC,eAAe;uBAAC,OAAO,CAAA;gBACc,UAAU,EAAA,CAAA;sBAA/C,SAAS;gBAAC,IAAA,EAAA,CAAA,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBA+BO,SAAS,EAAA,CAAA;sBAAnD,SAAS;gBAAC,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAC/B,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBAIH,WAAW,EAAA,CAAA;sBADd,KAAK;gBAYF,IAAI,EAAA,CAAA;sBADP,KAAK;;;MAsrBG,sBAAsB,CAAA;AAO/B,IAAA,WAAA,CAA4C,KAAwB,EAAU,IAA0C,EAAU,MAAiB,EAAA;AAAvG,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AAAU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAsC;AAAU,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;AAHnJ,QAAA,IAAO,CAAA,OAAA,GAAQ,EAAE,CAAC;AAClB,QAAA,IAAY,CAAA,YAAA,GAAQ,IAAI,CAAC;KAGxB;IAED,QAAQ,GAAA;QACJ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AAE1C,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAM,EAAA,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAE3G,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI;AAC/C,YAAA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhE,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAExE,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;AAC3E,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAExF,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;;AAG9F,QAAA,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAG;AAC5F,YAAA,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC;;AAGH,QAAA,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAU,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAC,CAAE,EAAA,EAAA,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAA,CAAA,CAAG,CAAC,CAAC;KAClH;IAED,IAAI,GAAA;QACA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC1F,QAAA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAE3E,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;;AAzCQ,mBAAA,sBAAA,CAAA,IAAA,GAAA,SAAA,8BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,sBAAsB,uBAOX,eAAe,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAH,IAAA,CAAA,YAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAA,IAAA,CAAA,SAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wGAP1B,sBAAsB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAFpB,CAAC,iBAAiB,CAAC,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,YAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,QAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,MAAA,EAAA,eAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,+BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YD/zBlC,EAA6D,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;AAAjD,YAAA,EAAA,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,4DAAA,GAAA,EAAA,OAAU,UAAM,CAAC,EAAA,CAAA,CAAA;YACzB,EAA0C,CAAA,cAAA,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,IAAA,CAAA,SAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAEH,YAAA,EAAI,CAAA,MAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;YAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAA,YAAA,EAA8C,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;YAAA,EAAK,CAAA,YAAA,EAAA,CAAA;AACjG,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAI,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAA2B,YAAA,EAAS,CAAA,MAAA,CAAA,EAAA,EAAA,WAAA,CAAA,CAAA;YAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAA,YAAA,EAA8C,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,YAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;YAK9G,EAAqB,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACjB,YAAA,EAIe,CAAA,UAAA,CAAA,EAAA,EAAA,+CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AACnB,YAAA,EAAA,CAAA,YAAA,EAAK,EAAA,CAAA;;;AAZiD,YAAA,EAA8C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9C,YAAA,EAA8C,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,4BAAA,CAAA,CAAA,CAAA;AACzC,YAAA,EAA8C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9C,YAAA,EAA8C,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,EAAA,4BAAA,CAAA,CAAA,CAAA;AAMtE,YAAA,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAV,EAAU,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;;;;4ECuzBpC,sBAAsB,EAAA,CAAA;kBAJlC,SAAS;AAEK,YAAA,IAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAC,iBAAiB,CAAC,EAAA,QAAA,EAAA,oxBAAA,EAAA,CAAA;;;8BASjB,MAAM;+BAAC,eAAe,CAAA;;;;;;;;QCv0BnC,EAAiK,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA;QAA9E,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,sFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAa,4CAAoB,CAAP,EAAA,CAAA,CAAA;;QAAoD,EAAa,CAAA,YAAA,EAAA,CAAA;;;;AAAlK,QAAA,EAA4D,CAAA,sBAAA,CAAA,aAAA,EAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,IAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,OAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAAW,QAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,SAAA,CAAA,EAAA,CAA0B,CAAA,QAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;;;;;QADjH,EAAoC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAChC,QAAA,EAA8K,CAAA,UAAA,CAAA,CAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;QAC9K,EAAkJ,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;QAA7D,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,yEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAa,6CAAqB,CAAP,EAAA,CAAA,CAAA;;QAAkC,EAAa,CAAA,YAAA,EAAA,CAAA;QAC/J,EAAwJ,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;QAA/D,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,yEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAa,+CAAuB,CAAP,EAAA,CAAA,CAAA;;QAAkC,EAAa,CAAA,YAAA,EAAA,CAAA;AACrK,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAsB,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AAC+B,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAK,CAAA,GAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAAe,EAAwB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAU,CAAA,MAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAC,QAAA,EAA4B,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAS,EAAA,EAAA,CAAA;;;;AAJvD,QAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAf,EAAe,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAClH,QAAA,EAA6D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7D,QAAA,EAA6D,CAAA,sBAAA,CAAA,aAAA,EAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,EAAA,EAAA,KAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,OAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAAY,QAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,SAAA,CAAA,GAAA,CAA2B,CAAA,QAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA;AACpG,QAAA,EAA+D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/D,QAAA,EAA+D,CAAA,sBAAA,CAAA,aAAA,EAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,OAAA,GAAA,GAAA,GAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAAc,QAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,SAAA,CAAA,KAAA,CAA6B,CAAA,QAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA;AAEW,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5B,QAAA,EAA4B,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;AAIjK,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAwE,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAyC,QAAA,EAAI,CAAA,MAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAC,QAAA,EAAoD,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAM,CAAA,YAAA,EAAA,CAAA;;;AAA1D,QAAA,EAAoD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApD,QAAA,EAAoD,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,kCAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAIjL,EAA2C,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAsB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;;;AAA9B,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtB,QAAA,EAAsB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;;;;;QADrE,EAAwC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACpC,QAAA,EAAyE,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;QACzE,EAAyB,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAuB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;QACxD,EAAyB,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,CAAA;;;;AAFjC,QAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAf,EAAe,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,QAAA,CAAA,CAAA;AACf,QAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvB,QAAA,EAAuB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACvB,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;;;;;QAIlD,EAAyC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QACrC,EAA2I,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA;QAC/I,EAAM,CAAA,YAAA,EAAA,CAAA;;;;;AAD8B,QAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAnB,QAAA,EAAmB,CAAA,UAAA,CAAA,SAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,UAAA,EAAA,IAAA,CAAA,8CAAA,CAAA,QAAA,EAAA,OAAA,CAAA,IAAA,CAAA,CAAA;;;;;;AAYnD,QAAA,EAAgC,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QAO5B,EAAoH,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QAAxB,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,gFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAa,CAAA,OAAA,CAAA,QAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;AAC/G,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;QAElC,EAAe,CAAA,qBAAA,EAAA,CAAA;;;AAHwB,QAAA,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAxC,QAAA,EAAwC,CAAA,qBAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;;;;;;QArBvF,EAAqG,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACjG,QAAA,EAEM,CAAA,UAAA,CAAA,CAAA,EAAA,+CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;QAEN,EAAsB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QAClB,EAA6I,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA;QACjJ,EAAM,CAAA,YAAA,EAAA,CAAA;QAEN,EAAsB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QAClB,EAAiJ,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA;QACrJ,EAAM,CAAA,YAAA,EAAA,CAAA;QAEN,EAAsB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAClB,QAAA,EAUe,CAAA,UAAA,CAAA,CAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AACnB,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;;;;;QAzBqD,EAAoC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAnB,KAAA,EAAA,KAAA,GAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AACxE,QAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAf,EAAe,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,QAAA,CAAA,CAAA;AAKD,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApB,QAAA,EAAoB,CAAA,UAAA,CAAA,SAAA,EAAA,QAAA,CAAA,GAAA,CAAA,CAAA,UAAA,EAAA,IAAA,CAAA,8CAAA,CAAA,QAAA,EAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AAIlB,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtB,QAAA,EAAsB,CAAA,UAAA,CAAA,SAAA,EAAA,QAAA,CAAA,KAAA,CAAA,CAAA,UAAA,EAAA,IAAA,CAAA,8CAAA,CAAA,QAAA,EAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AAI1C,QAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAf,EAAe,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,OAAA,CAAA,QAAA,CAAA,CAAA;;;;;QArBtC,EAA4C,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAC5C,QAAA,EAIK,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAEL,QAAA,EA0BK,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QACL,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAjCmB,QAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAd,EAAc,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAMjB,QAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAf,EAAe,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,QAAA,EAAA,CAAA,CAAA;;;MCTvB,sBAAsB,CAAA;AAqB/B,IAAA,WAAA,CAAoB,OAAwB,EAAA;AAAxB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;AAnBnC,QAAA,IAAK,CAAA,KAAA,GAAQ,EAAE,CAAA;AACf,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAA;AACzB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAA;AACxB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAA;AACzB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAA;AAElC,QAAA,IAAI,CAAA,IAAA,GAAW,IAAI,CAAC;AAUpB,QAAA,IAAQ,CAAA,QAAA,GAAa,EAAE,CAAC;QACxB,IAAA,CAAA,SAAS,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;KAEhB;AAZjD,IAAA,IACI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;KACpB;IAED,IAAI,MAAM,CAAC,KAAK,EAAA;AACZ,QAAA,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;KACnD;IAOD,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;AAClB,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAEpB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;YACtC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC;KACrC;IAED,QAAQ,GAAA;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI;AACjC,YAAA,OAAO,EAAE,CAAC;AAEd,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;KAC7C;IAED,GAAG,GAAA;AACC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI;AAC3C,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAE3C,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI;AACzE,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAEhD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE;AACxD,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAE7C,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI;AAC5B,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAEvC,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAC;YAIzB,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACjH,IAAI,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAEtE,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB;AAED,IAAA,OAAO,CAAC,IAAS,EAAA;AAEb,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;AAClD,YAAA,IAAI,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC,EAAE;gBAChC,OAAO;AAEX,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;KACN;IAED,QAAQ,GAAA;AAEJ,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;YAClC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,CAAC,CAAC;iBAET,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;AACpD,gBAAA,OAAO,CAAC,CAAC;;AAER,gBAAA,OAAO,CAAC,CAAC;AAClB,SAAC,CAAC,CAAC;KACN;;+GAzFQ,sBAAsB,EAAA,EAAA,CAAA,iBAAA,CAAAkB,eAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wGAAtB,sBAAsB,EAAA,SAAA,EAAA,CAAA,CAAA,iBAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,OAAA,EAAA,KAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,OAAA,EAAA,UAAA,EAAA,CAAA,EAAA,aAAA,EAAA,SAAA,EAAA,QAAA,EAAA,eAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,aAAA,EAAA,SAAA,EAAA,QAAA,EAAA,eAAA,CAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,aAAA,EAAA,SAAA,EAAA,QAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,aAAA,EAAA,SAAA,EAAA,QAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,KAAA,EAAA,KAAA,CAAA,EAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,KAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,QAAA,CAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,MAAA,EAAA,eAAA,EAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,CAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,CAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,+BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADTnC,YAAA,EAOM,CAAA,UAAA,CAAA,CAAA,EAAA,qCAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAEN,YAAA,EAA2L,CAAA,UAAA,CAAA,CAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAE3L,YAAA,EAkCK,CAAA,UAAA,CAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAGL,EAA+C,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;;;YAhD7B,EAAe,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,QAAA,CAAA,CAAA;AAST,YAAA,EAA6C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAA7C,EAA6C,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,KAAA,IAAA,IAAA,IAAA,GAAA,CAAA,QAAA,EAAA,CAAA,MAAA,IAAA,CAAA,CAAA,CAAA;AAEhE,YAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAnB,EAAmB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,KAAA,IAAA,IAAA,CAAA,CAAA;AAqCZ,YAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAArB,EAAqB,CAAA,UAAA,CAAA,UAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;;;;4ECvCpB,sBAAsB,EAAA,CAAA;kBALlC,SAAS;+BACI,iBAAiB,EAAA,QAAA,EAAA,0iGAAA,EAAA,MAAA,EAAA,CAAA,gcAAA,CAAA,EAAA,CAAA;mEAMlB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAIF,MAAM,EAAA,CAAA;sBADT,KAAK;;;;;;QCXE,EAAwF,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAAC,QAAA,EAAmC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;;;;AAA3C,QAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnC,EAAmC,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;;AAC5H,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAuC,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;QAChC,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,2DAAA,KAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,eAAA,CAAA,MAAA,CAAA,UAAA,EAA4B,IAAI,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,QAAA,EAAkC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAI,CAAA,YAAA,EAAA,CAAA;QACrF,EAA+B,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAA5B,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,2DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,WAAA,CAAY,IAAI,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,QAAA,EAA8B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAI,CAAA,YAAA,EAAA,CAAA;QACjE,EAAgD,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;QAA7C,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,2DAAA,KAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,eAAA,CAAA,MAAA,CAAA,UAAA,EAA4B,KAAK,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,QAAA,EAAqC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAI,CAAA,YAAA,EAAA,CAAA;QACzF,EAAgC,CAAA,cAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAA7B,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,4DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,WAAA,CAAY,KAAK,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,QAAA,EAAiC,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;AAHtB,QAAA,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,QAAA,EAAkC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,CAAA,CAAA,CAAA;AAClD,QAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9B,QAAA,EAA8B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,aAAA,CAAA,CAAA,CAAA;AACb,QAAA,EAAqC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArC,QAAA,EAAqC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,CAAA,CAAA,CAAA;AACrD,QAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjC,QAAA,EAAiC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,CAAA,CAAA;;;;;;QAIjE,EAAkE,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QAApB,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,iEAAA,CAAA,MAAA,EAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,OAAW,mCACrE,CAD6E,EAAA,CAAA,CAAA;QAC7D,EAAmE,CAAA,cAAA,CAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;QAArD,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,6EAAA,CAAA,MAAA,EAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,OAAa,4CAAwB,CAAP,EAAA,CAAA,CAAA;QAAuB,EAA0C,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAe,EAAA,CAAA;;;;;QADlF,EAAmB,CAAA,UAAA,CAAA,OAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA;AAC/C,QAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9B,QAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,WAAA,CAA8B,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAA6B,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5B,QAAA,EAA4B,CAAA,UAAA,CAAA,WAAA,EAAA,OAAA,CAAA,SAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;QAa7G,EAAwF,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAAC,QAAA,EAAqC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;;;;AAA7C,QAAA,EAAqC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArC,EAAqC,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;;AAC9H,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAuC,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;QAChC,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAS,eAAA,OAAgC,CAAA,eAAA,CAAA,OAAA,CAAA,cAAA,EAAA,KAAK,EAAE,IAAI,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,QAAA,EAAqC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAI,CAAA,YAAA,EAAA,CAAA;QACnG,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAA7B,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,WAAA,CAAY,KAAK,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,QAAA,EAAiC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;AADX,QAAA,EAAqC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArC,QAAA,EAAqC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,CAAA,CAAA,CAAA;AAC/D,QAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjC,QAAA,EAAiC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,CAAA,CAAA,CAAA;;;;;;QAIjE,EAA6E,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QAArB,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,wEAAA,CAAA,MAAA,EAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,OAAW,oCAChF,CADwF,EAAA,CAAA,CAAA;QACvE,EAA0F,CAAA,cAAA,CAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;QAA5E,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,oFAAA,CAAA,MAAA,EAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,OAAa,6CAAwB,CAAP,EAAA,CAAA,CAAA;QAA8C,EAA0C,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAe,EAAA,CAAA;;;;;QAD/F,EAAmB,CAAA,UAAA,CAAA,OAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA;AACzD,QAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA9B,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,QAAA,CAAA,WAAA,CAA8B,uBAAA,CAAA,UAAA,EAAA,OAAA,CAAA,QAAA,CAAA,CAAA;AAAoD,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5B,QAAA,EAA4B,CAAA,UAAA,CAAA,WAAA,EAAA,QAAA,CAAA,SAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;;QAd5I,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA4C,wBAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAE+C,QAAA,EAA4B,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,wEAAA,CAAA,MAAA,IAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,cAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;AAA/G,QAAA,EAAA,CAAA,YAAA,EAAiH,EAAA,CAAA;QAGrH,EAAuB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACnB,QAAA,EAAsI,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AACtI,QAAA,EAGM,CAAA,UAAA,CAAA,CAAA,EAAA,+CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QAEN,EAA0B,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACtB,QAAA,EAEK,CAAA,UAAA,CAAA,CAAA,EAAA,8CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,CAAA;AAET,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAmC,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA;AAAO,QAAA,EAAW,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,EAAA,CAAA;;;;AAhBzC,QAAA,EAA4C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5C,QAAA,EAA4C,CAAA,qBAAA,CAAA,aAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,aAAA,CAAA,CAAA,CAAA;QAAuB,EAA4B,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA;AAInF,QAAA,EAA0D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1D,QAAA,EAA0D,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,iBAAA,IAAA,EAAA,IAAA,MAAA,CAAA,mBAAA,IAAA,EAAA,CAAA,CAAA;AAChE,QAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAf,EAAe,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAMZ,QAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjC,QAAA,EAAiC,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,QAAA,CAAA,MAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAKpB,QAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAX,QAAA,EAAW,CAAA,iBAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA;;;;MClChD,yBAAyB,CAAA;AA0BlC,IAAA,WAAA,CAAoB,UAAgC,EAAA;AAAhC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAsB;AAxB3C,QAAA,IAAW,CAAA,WAAA,GAAW,SAAS,CAAC;AAGhC,QAAA,IAAa,CAAA,aAAA,GAAW,SAAS,CAAC;AAGlC,QAAA,IAAK,CAAA,KAAA,GAAU,EAAE,CAAC;AAClB,QAAA,IAAG,CAAA,GAAA,GAAW,CAAC,CAAC;AAChB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAYlC,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;AACxB,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE,CAAC;AAC5B,QAAA,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;KAEoC;AAbzD,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;IAED,IAAI,QAAQ,CAAC,KAAK,EAAA;AACd,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC9B;IAQD,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC3G;IAED,QAAQ,CAAC,KAAa,EAAE,YAAA,GAAwB,KAAK,EAAE,KAAK,GAAG,KAAK,EAAA;AAChE,QAAA,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;YAE9J,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;KACxL;AAED,IAAA,eAAe,CAAC,KAAa,EAAE,MAAe,EAAE,eAAwB,KAAK,EAAA;QACzE,IAAI,GAAG,GAAU,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAEzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;YAC/B,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACzB,gBAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;AAClC,SAAC,CAAC,CAAC;KACN;AAED,IAAA,WAAW,CAAC,MAAe,EAAA;AACvB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;KACzD;;qHAnDQ,yBAAyB,EAAA,EAAA,CAAA,iBAAA,CAAAvB,oBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;2GAAzB,yBAAyB,EAAA,SAAA,EAAA,CAAA,CAAA,oBAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,MAAA,EAAA,YAAA,EAAA,CAAA,EAAA,aAAA,EAAA,SAAA,EAAA,eAAA,CAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,CAAA,OAAA,EAAA,eAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,aAAA,EAAA,SAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,kCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADRtC,YAAA,EAAiB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,wBAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;YAGwE,EAAwB,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,iEAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,UAAA,GAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;AAArG,YAAA,EAAA,CAAA,YAAA,EAAuG,EAAA,CAAA;YAG3G,EAAuB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACnB,YAAA,EAAoI,CAAA,UAAA,CAAA,CAAA,EAAA,0CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AACpI,YAAA,EAKM,CAAA,UAAA,CAAA,CAAA,EAAA,wCAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YAEN,EAA0B,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACtB,YAAA,EAEK,CAAA,UAAA,CAAA,CAAA,EAAA,uCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACT,YAAA,EAAA,CAAA,YAAA,EAAK,EAAA,CAAA;AAET,YAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAmC,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA;AAAO,YAAA,EAAW,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;AAAA,YAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,EAAA,CAAA;AAGjE,YAAA,EAmBM,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,EAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YACV,EAAM,CAAA,YAAA,EAAA,CAAA;;;AA3CG,YAAA,EAAwD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAxD,EAAwD,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAK,KAAA,EAAA,CAAA,GAAA,CAAA,OAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAErC,YAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1C,YAAA,EAA0C,CAAA,qBAAA,CAAA,aAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,CAAA,CAAA;YAAmB,EAAwB,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,UAAA,CAAA,CAAA;AAIzE,YAAA,EAA0D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1D,YAAA,EAA0D,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,iBAAA,IAAA,EAAA,IAAA,GAAA,CAAA,mBAAA,IAAA,EAAA,CAAA,CAAA;AAChE,YAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAf,EAAe,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,QAAA,CAAA,CAAA;AAQZ,YAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvB,YAAA,EAAuB,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,QAAA,CAAA,GAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAKV,YAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAX,YAAA,EAAW,CAAA,iBAAA,CAAA,GAAA,CAAA,OAAA,CAAA,CAAA;AAG7B,YAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAd,EAAc,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,OAAA,CAAA,CAAA;;;;4EChBjC,yBAAyB,EAAA,CAAA;kBALrC,SAAS;+BACI,oBAAoB,EAAA,QAAA,EAAA,ioFAAA,EAAA,MAAA,EAAA,CAAA,kDAAA,CAAA,EAAA,CAAA;wEAMrB,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAEG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAIF,QAAQ,EAAA,CAAA;sBADX,KAAK;;;;;;QCnBF,EAAiD,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAgC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAa,CAAA,YAAA,EAAA,CAAA;;;;QAApE,EAAsB,CAAA,UAAA,CAAA,OAAA,EAAA,MAAA,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA;AAAC,QAAA,EAAgC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAhC,QAAA,EAAgC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,SAAA,CAAA,IAAA,CAAA,CAAA,CAAA;;;;;QACjF,EAAqH,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;;;;;;AAAlF,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,CAAc,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,IAAA,CAAA,IAAA,EAAA,MAAA,CAAA,WAAA,KAAA,IAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;QAKrD,EACmB,CAAA,SAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;;;MCKV,mBAAmB,CAAA;AAsD5B,IAAA,WAAA,CAAoB,iBAAkC,EAAA;AAAlC,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAiB;AApD7C,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AACV,QAAA,IAAQ,CAAA,QAAA,GAAQ,KAAK,CAAC;AACtB,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AACpB,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;AAC5B,QAAA,IAAG,CAAA,GAAA,GAAQ,IAAI,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAG,eAAe,CAAC;AACzB,QAAA,IAAK,CAAA,KAAA,GAAG,KAAK,CAAC;AACd,QAAA,IAAS,CAAA,SAAA,GAAQ,IAAI,CAAC;AACtB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAW,CAAA,WAAA,GAAQ,IAAI,CAAC;AACxB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAExB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AAE9C,QAAA,IAAa,CAAA,aAAA,GAAQ,IAAI,CAAC;AAC1B,QAAA,IAAa,CAAA,aAAA,GAAY,IAAI,CAAC;AAItB,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAE5B,QAAA,IAAO,CAAA,OAAA,GAAW,IAAI,CAAC;AAavB,QAAA,IAAK,CAAA,KAAA,GAAQ,EAAE,CAAC;KAgB4C;AA5B5D,IAAA,IACI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;IAED,IAAI,MAAM,CAAC,KAAK,EAAA;AACZ,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,OAAO,EAAE,CAAC;KACtB;AAGD,IAAA,IACI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;IAED,IAAI,IAAI,CAAC,KAAK,EAAA;AACV,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAEnB,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC;AACjH,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,mBAAmB;AACxB,YAAA,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;KAC3E;IAID,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;AAE1F,QAAA,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;AACtB,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAE5C,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAED,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAChG,OAAO;AAEX,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AAEf,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO;AACzB,YAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;AACrE,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAEnE,QAAA,UAAU,CAAC,SAAS,CAAC,CAAC,IAAG;YACrB,IAAI,CAAC,CAAC,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,IAAI,IAAI,CAAC,aAAa;oBAAE,IAAI,CAAC,aAAa,EAAE,CAAC;AAChD,aAAA;AAED,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACzB,SAAC,CAAC,CAAC;KACN;IAED,aAAa,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAEtC,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI;AAC3B,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;KAC5G;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAED,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC;KAChH;;yGAhHQ,mBAAmB,EAAA,EAAA,CAAA,iBAAA,CAAAU,eAAA,CAAA,CAAA,CAAA,EAAA,CAAA;AAAnB,mBAAA,mBAAA,CAAA,IAAA,6BAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,IAAA,EAAA,mBAAmB,ocANjB,CAAC;AACR,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,MAAM,mBAAmB,EAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;aACd,CAAC,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,WAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,4BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADZN,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,CAAgB,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;AACwC,YAAA,EAA2B,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,gEAAA,CAAA,MAAA,IAAA,OAAA,GAAA,CAAA,aAAA,GAAA,MAAA,CAAA,EAAA,CAAA,CAAA,iBAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,OAAoB,mBAAe,CAAnC,EAAA,CAAA,CAAA;;AAC3E,YAAA,EAA8F,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;AAC9F,YAAA,EAAqH,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;AACzH,YAAA,EAAA,CAAA,YAAA,EAAa,EAAA,CAAA;YAGjB,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,CAAA,CAAA;AAC5B,YAAA,EACmB,CAAA,UAAA,CAAA,CAAA,EAAA,+CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;YACvB,EAAU,CAAA,YAAA,EAAA,CAAA;;;AATM,YAAA,EAAuC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvC,YAAA,EAAuC,CAAA,UAAA,CAAA,aAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,CAAA,CAAA,SAAA,EAAA,GAAA,CAAA,aAAA,CAAA,yCAAA,CAAA,UAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;AAClC,YAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAX,EAAW,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA;AACE,YAAA,EAAO,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAP,EAAO,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,IAAA,CAAA,CAAA;AAKmB,YAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;;;;4ECM5D,mBAAmB,EAAA,CAAA;kBAV/B,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,aAGZ,CAAC;AACR,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,yBAAyB,EAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;yBACd,CAAC,EAAA,QAAA,EAAA,upBAAA,EAAA,MAAA,EAAA,CAAA,uVAAA,CAAA,EAAA,CAAA;mEAIO,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEI,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBAWH,MAAM,EAAA,CAAA;sBADT,KAAK;gBAcF,IAAI,EAAA,CAAA;sBADP,KAAK;;;;;;AClDN,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAA2C,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACf,QAAA,EAAS,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;;;AAAf,QAAA,EAAS,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAT,QAAA,EAAS,CAAA,iBAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;;;;;AAOzB,QAAA,EAAuB,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAAc,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAnB,QAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAd,QAAA,EAAc,CAAA,iBAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA;;;;;AAErC,QAAA,EAAsB,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAAkC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAvC,QAAA,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,QAAA,EAAkC,CAAA,kBAAA,CAAA,EAAA,EAAA,OAAA,CAAA,IAAA,EAAA,WAAA,EAAA,OAAA,CAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;;QALhE,EAA4C,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QACxC,EAA8E,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QAC9E,EAA0B,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACtB,QAAA,EAA0C,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QAC1C,EAA8C,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;;AAC9C,QAAA,EAA6D,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACjE,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;;;AALkB,QAAA,EAA+C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/C,QAAA,EAA+C,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAV,KAAA,EAAA,OAAA,CAAA,UAAA,CAAA,CAAA,CAAA;AAE9D,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhB,EAAgB,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AAClB,QAAA,EAAsC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtC,EAAsC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,OAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;AACpC,QAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAf,EAAe,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,IAAA,CAAA,CAAA;;;MCFvB,qBAAqB,CAAA;AAY9B,IAAA,WAAA,GAAA;AAXS,QAAA,IAAQ,CAAA,QAAA,GAAY,IAAI,CAAC;AACzB,QAAA,IAAK,CAAA,KAAA,GAAW,SAAS,CAAC;AAC1B,QAAA,IAAK,CAAA,KAAA,GAAQ,EAAE,CAAC;AAChB,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;AACnB,QAAA,IAAI,CAAA,IAAA,GAAU,EAAE,CAAC;AAEO,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAC9B,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;KAEjD;IAEjB,QAAQ,GAAA;QACJ,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;KAClD;;6GAnBQ,qBAAqB,GAAA,CAAA,EAAA,CAAA;uGAArB,qBAAqB,EAAA,SAAA,EAAA,CAAA,CAAA,eAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,kCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;YDXlC,EAA0B,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;YAE1B,EAA0B,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACtB,YAAA,EAEM,CAAA,UAAA,CAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YAEN,EAAuB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACnB,YAAA,EAOM,CAAA,UAAA,CAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACV,YAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;;AAbkB,YAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAjB,EAAiB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,KAAA,IAAA,EAAA,CAAA,CAAA;AAKF,YAAA,EAAO,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAP,EAAO,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,IAAA,CAAA,CAAA;;;;4ECGrC,qBAAqB,EAAA,CAAA;kBATjC,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGnB,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,mBAAmB,EAAE,MAAM;qBAC9B,EAAA,QAAA,EAAA,usBAAA,EAAA,MAAA,EAAA,CAAA,0lKAAA,CAAA,EAAA,CAAA;0CAGQ,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAE2B,SAAS,EAAA,CAAA;sBAAzC,WAAW;uBAAC,kBAAkB,CAAA;gBACI,WAAW,EAAA,CAAA;sBAA7C,WAAW;uBAAC,oBAAoB,CAAA;gBACC,UAAU,EAAA,CAAA;sBAA3C,WAAW;uBAAC,mBAAmB,CAAA;gBACI,YAAY,EAAA,CAAA;sBAA/C,WAAW;uBAAC,qBAAqB,CAAA;;;;;MCNzB,mBAAmB,CAAA;AA6D9B,IAAA,WAAA,CAAoB,UAAwB,EAAA;AAAxB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAc;AAzDnC,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;AACjC,QAAA,IAAQ,CAAA,QAAA,GAAY,IAAI,CAAC;AA0BlC,QAAA,IAAK,CAAA,KAAA,GAAQ,EAAE,CAAC;AAIhB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAE,CAAA,EAAA,GAAG,IAAI,CAAC;QAEV,IAAA,CAAA,YAAY,GAAwB;AAClC,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,yBAAyB,EAAE,EAAE;AAC7B,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,KAAK,EAAE;AACL,gBAAA,EAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC;AAC/B,gBAAA,EAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAC;AACnD,gBAAA,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAC;AACnC,gBAAA,EAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAC;AAChD,aAAA;SACF,CAAC;KAE8C;AArDhD,IAAA,IACI,QAAQ,GAAA,EAAK,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC9D,IAAA,IAAI,QAAQ,CAAC,KAAK,EAAA,EAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,EAAE;AAE5D,IAAA,IACI,MAAM,GAAA,EAAK,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,MAAM,CAAC,EAAE;AACzD,IAAA,IAAI,MAAM,CAAC,KAAK,EAAA,EAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC,EAAE;AAEjE,IAAA,IACI,SAAS,GAAA,EAAK,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE;AAC/D,IAAA,IAAI,SAAS,CAAC,KAAK,EAAA,EAAI,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE;AAEpE,IAAA,IACI,SAAS,GAAA,EAAK,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE;AAC/D,IAAA,IAAI,SAAS,CAAC,KAAK,EAAA,EAAI,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,KAAK,IAAI,MAAM,CAAC,EAAE;AAEvE,IAAA,IACI,KAAK,GAAA,EAAK,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE;AACvD,IAAA,IAAI,KAAK,CAAC,KAAK,EAAA,EAAI,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,EAAE;AAE/D,IAAA,IACI,QAAQ,GAAA,EAAK,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE;AAC7D,IAAA,IAAI,QAAQ,CAAC,KAAK,EAAA,EAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,KAAK,IAAI,GAAG,CAAC,EAAE;IAiClE,QAAQ,GAAA;QACN,IAAI,CAAC,EAAE,GAAG,CAAA,OAAA,EAAU,IAAI,CAAC,OAAO,EAAE,CAAA,CAAE,CAAC;KACtC;IAED,eAAe,GAAA;QACb,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,QAAQ,CAAC,aAAa,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,EAAE,CAA2B,yBAAA,CAAA,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACrH,QAAQ,CAAC,aAAa,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,EAAE,CAA2B,yBAAA,CAAA,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;AACrH,QAAA,QAAQ,CAAC,aAAa,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,EAAE,CAAA,yBAAA,CAA2B,CAAC,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;KAChK;IAEO,OAAO,GAAA;AACb,QAAA,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAS,CAAC,EAAA;AACrE,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,IAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAE,CAAC;AACxE,YAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC1B,SAAC,CAAC,CAAC;KACJ;IAED,aAAa,GAAA;QACX,IAAI,IAAI,CAAC,QAAQ;AACf,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1E,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;AAED,IAAA,UAAU,CAAC,UAAe,EAAA;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC;QACrG,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;;yGAvGU,mBAAmB,EAAA,EAAA,CAAA,iBAAA,CAAAC,EAAA,CAAA,YAAA,CAAA,CAAA,CAAA,EAAA,CAAA;qGAAnB,mBAAmB,EAAA,SAAA,EAAA,CAAA,CAAA,aAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,yBAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;kQANnB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,MAAM,mBAAmB,EAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,CAAA,QAAA,EAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,4BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YCbJ,EAAoN,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAA1H,YAAA,EAAmB,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,oEAAA,CAAA,MAAA,IAAA,OAAA,GAAA,CAAA,KAAA,GAAA,MAAA,CAAA,EAAA,CAAA,CAAA,eAAA,EAAA,SAAA,oEAAA,GAAA,EAAA,OAAwD,mBAAe,CAAvE,EAAA,CAAA,CAAA;YAAuG,EAAiB,CAAA,YAAA,EAAA,CAAA;;;YAA3I,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAmB,4BAAA,CAAA,UAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;YAA7F,EAAA,CAAA,WAAA,CAAA,IAAA,EAAA,GAAA,CAAA,EAAA,CAAc,wBAAA,CAAA,UAAA,EAAA,GAAA,CAAA,eAAA,CAAA,CAAA;;;;4EDejB,mBAAmB,EAAA,CAAA;kBAV/B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,aAGZ,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,yBAAyB,EAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,2PAAA,EAAA,MAAA,EAAA,CAAA,koCAAA,CAAA,EAAA,CAAA;mEAImB,MAAM,EAAA,CAAA;sBAA1B,SAAS;uBAAC,QAAQ,CAAA;gBAEV,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAGF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAKF,MAAM,EAAA,CAAA;sBADT,KAAK;gBAKF,SAAS,EAAA,CAAA;sBADZ,KAAK;gBAKF,SAAS,EAAA,CAAA;sBADZ,KAAK;gBAKF,KAAK,EAAA,CAAA;sBADR,KAAK;gBAKF,QAAQ,EAAA,CAAA;sBADX,KAAK;;;;;;QEvCA,EAAkD,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;QAC9C,EAAmE,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;;QACvE,EAAa,CAAA,YAAA,EAAA,CAAA;;;;;QAFsB,EAAc,CAAA,UAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AACvC,QAAA,EAAqD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArD,QAAA,EAAqD,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,IAAA,CAAA,IAAA,EAAA,MAAA,CAAA,WAAA,KAAA,IAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;QAMnE,EACmB,CAAA,SAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;;;MCEV,wBAAwB,CAAA;AAmDjC,IAAA,WAAA,CAAoB,iBAAkC,EAAA;AAAlC,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAiB;AAjD7C,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAI,CAAA,IAAA,GAAG,EAAE,CAAC;AACV,QAAA,IAAQ,CAAA,QAAA,GAAQ,KAAK,CAAC;AACtB,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AACpB,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;AAC5B,QAAA,IAAG,CAAA,GAAA,GAAQ,IAAI,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAG,eAAe,CAAC;AACzB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAChB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAW,CAAA,WAAA,GAAQ,IAAI,CAAC;AACxB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAExB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;AAE9C,QAAA,IAAc,CAAA,cAAA,GAAU,EAAE,CAAC;AAInB,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAE5B,QAAA,IAAO,CAAA,OAAA,GAAW,IAAI,CAAC;AAavB,QAAA,IAAK,CAAA,KAAA,GAAQ,EAAE,CAAC;KAgB4C;AA5B5D,IAAA,IACI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;KACvB;IAED,IAAI,MAAM,CAAC,KAAK,EAAA;AACZ,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,OAAO,EAAE,CAAC;KACtB;AAGD,IAAA,IACI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;IAED,IAAI,IAAI,CAAC,KAAK,EAAA;AACV,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAG,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAG,CAAC,CAAC,CAAA,EAAA,CAAC;AAC9H,YAAA,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,mBAAmB;AACxB,YAAA,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;KAC3E;IAID,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAED,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAChG,OAAO;AAEX,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AAEf,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO;AACzB,YAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;AACrE,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAE/D,QAAA,UAAU,CAAC,SAAS,CAAC,CAAC,IAAG;YACzB,IAAI,CAAC,CAAC,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC;oBAAE,IAAI,CAAC,aAAa,EAAE,CAAC;AACpE,aAAA;AAED,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACzB,SAAC,CAAC,CAAC;KACN;IAED,aAAa,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAEvC,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI;YAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,cAAI,OAAA,CAAA,MAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAG,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC,CAAC;KAC3H;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAED,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC;KAChH;;mHAxGQ,wBAAwB,EAAA,EAAA,CAAA,iBAAA,CAAAS,eAAA,CAAA,CAAA,CAAA,EAAA,CAAA;AAAxB,mBAAA,wBAAA,CAAA,IAAA,6BAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,IAAA,EAAA,wBAAwB,kaANtB,CAAC;AACR,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,MAAM,wBAAwB,EAAC;AACvD,gBAAA,KAAK,EAAE,IAAI;aACd,CAAC,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,iCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADZN,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,CAAgB,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA;AACD,YAAA,EAA2B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;YAAA,EAAY,CAAA,YAAA,EAAA,CAAA;YAElD,EAA6I,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;AAAjI,YAAA,EAA4B,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,qEAAA,CAAA,MAAA,IAAA,OAAA,GAAA,CAAA,cAAA,GAAA,MAAA,CAAA,EAAA,CAAA,CAAA,iBAAA,EAAA,SAAA,uEAAA,GAAA,EAAA,OAAoB,mBAAe,CAAnC,EAAA,CAAA,CAAA;AACpC,YAAA,EAEa,CAAA,UAAA,CAAA,CAAA,EAAA,8CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;AAClB,YAAA,EAAA,CAAA,YAAA,EAAa,EAAA,CAAA;YAGhB,EAAgC,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,CAAA,CAAA;AAC5B,YAAA,EACmB,CAAA,UAAA,CAAA,CAAA,EAAA,oDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;YACvB,EAAU,CAAA,YAAA,EAAA,CAAA;;;AAZK,YAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,YAAA,EAA2B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,CAAA,CAAA;AAE1B,YAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAA5B,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,cAAA,CAA4B,yCAAA,CAAA,UAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;AACV,YAAA,EAAO,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAP,EAAO,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,IAAA,CAAA,CAAA;AAOmB,YAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;;;;4ECG5D,wBAAwB,EAAA,CAAA;kBAVpC,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,aAGlB,CAAC;AACR,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,8BAA8B,EAAC;AACvD,4BAAA,KAAK,EAAE,IAAI;yBACd,CAAC,EAAA,QAAA,EAAA,+mBAAA,EAAA,MAAA,EAAA,CAAA,qSAAA,CAAA,EAAA,CAAA;mEAIO,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEI,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBAUH,MAAM,EAAA,CAAA;sBADT,KAAK;gBAcF,IAAI,EAAA,CAAA;sBADP,KAAK;;;;;;QC9CE,EAA0C,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;;;;;;QAFjE,EAAmG,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;QAAtB,EAAW,CAAA,UAAA,CAAA,SAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,WAAA,CAAA,KAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAS,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAC5F,QAAA,EACA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAA2D,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;QACjE,EAAW,CAAA,YAAA,EAAA,CAAA;;;;;QAH0C,EAAuB,CAAA,UAAA,CAAA,WAAA,EAAA,CAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AACtE,QAAA,EACA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADA,EACA,CAAA,kBAAA,CAAA,GAAA,EAAA,OAAA,EAAA,GAAA,CAAA,CAAA;AAAyB,QAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAf,EAAe,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,QAAA,CAAA,CAAA;;;MCWvC,kBAAkB,CAAA;AAX/B,IAAA,WAAA,GAAA;AAca,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAA,CAAA,kBAAkB,GAAa,CAAC,KAAK,CAAC,CAAC;AAEtC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AAEtC,QAAA,IAAM,CAAA,MAAA,GAAa,EAAE,CAAC;KA6CzB;AAzCG,IAAA,GAAG,CAAC,KAAK,EAAA;AACL,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AAC1B,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AAE1B,QAAA,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACzD,QAAA,IAAI,KAAK;AAAE,YAAA,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;AAE5B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAChC;AAED,IAAA,MAAM,CAAC,KAAK,EAAA;QACR,IAAI,KAAK,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAChC;IAGD,MAAM,GAAA;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACjC;IAED,aAAa,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClC;AAED,IAAA,UAAU,CAAC,WAAgB,EAAA;AACvB,QAAA,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACvB;AAED,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC9B;;uGArDQ,kBAAkB,GAAA,CAAA,EAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,IAAA,6BAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,IAAA,EAAA,kBAAkB,EARjB,SAAA,EAAA,CAAA,CAAA,YAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA;AACN,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;gBAC1B,WAAW,EAAE,UAAU,EAAC,MAAM,kBAAkB,EAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACJ,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,UAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,+BAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,eAAA,EAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,2BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADbL,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,CAAgB,CAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAEV,YAAA,EAGW,CAAA,UAAA,CAAA,CAAA,EAAA,sCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;YACX,EAKyB,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAFlB,YAAA,EAAA,CAAA,UAAA,CAAA,sBAAA,EAAA,SAAA,iEAAA,CAAA,MAAA,EAAA,EAAA,OAAwB,GAAW,CAAA,GAAA,CAAA,MAAA,CAAA,CAAA,EAAA,CAAC,CAE5B,MAAA,EAAA,SAAA,iDAAA,GAAA,EAAA,OAAA,GAAA,CAAA,MAAA,EAAQ,CAFoB,EAAA,CAAA,CAAA;;AAH3C,YAAA,EAAA,CAAA,YAAA,EAKyB,EAAA,EAAA,CAAA;;;;AATE,YAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAX,EAAW,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,MAAA,CAAA,CAAA;AAI/B,YAAA,EAAuC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvC,YAAA,EAAuC,CAAA,UAAA,CAAA,aAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,CAAA,CAAA,iBAAA,EAAA,GAAA,CAAA,yDAAA,CAAA,UAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;;;;4ECSvC,kBAAkB,EAAA,CAAA;kBAX9B,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAEZ,SAAA,EAAA;AACN,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;4BAC1B,WAAW,EAAE,UAAU,EAAC,wBAAwB,EAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,moBAAA,EAAA,CAAA;oBAIQ,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAGI,MAAM,EAAA,CAAA;sBAAf,MAAM;;;;;;;QCVa,EAA+H,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAA3D,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,GAAA,GAAA,EAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,sBAAe,CAAC,CAAA,MAAA,CAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAe,SAAC,EAAA,CAAA,WAAA,CAAA,GAAA,CAAA,IAAA,EAAc,CAAA,CAAE,EAAA,CAAA,CAAA;QACzH,EAAkM,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;AAAA,QAAA,EAAY,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;QACzN,EAAqB,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,CAAA;;;;;QAFjC,EAAwB,CAAA,UAAA,CAAA,YAAA,EAAA,IAAA,CAAA,OAAA,CAAA,CAAA;AACb,QAAA,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,QAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAkC,iDAAA,CAAA,qBAAA,EAAA,GAAA,CAAA,CAAA;AAAgI,QAAA,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAZ,QAAA,EAAY,CAAA,iBAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACzL,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;;;;;;AAatC,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA4B,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AACsB,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8FAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAe,CAAA,aAAA,EAAA,CAAA,CAAA,OAAC,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAe,CAAA,CAAE,EAAA,CAAA,CAAA;AAAE,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAApH,QAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxB,EAAwB,CAAA,UAAA,CAAA,YAAA,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AAA+D,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA;;;;;;AAS/G,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA4B,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AACsB,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,mHAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAe,CAAA,aAAA,EAAA,CAAA,CAAA,OAAC,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAe,CAAA,CAAE,EAAA,CAAA,CAAA;AAAE,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAApH,QAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxB,EAAwB,CAAA,UAAA,CAAA,YAAA,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AAA+D,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA;;;;;AAL/H,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAqD,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAC7C,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;AAElC,QAAA,EAAI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AACA,QAAA,EAEK,CAAA,UAAA,CAAA,CAAA,EAAA,gGAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,CAAA;;;;AAND,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAGP,QAAA,EAAQ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAR,EAAQ,CAAA,UAAA,CAAA,SAAA,EAAA,KAAA,CAAA,GAAA,CAAA,CAAA;;;;;AALtC,QAAA,EAAyC,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AACrC,QAAA,EAQM,CAAA,UAAA,CAAA,CAAA,EAAA,2FAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;QACV,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAT2B,QAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAb,EAAa,CAAA,UAAA,CAAA,SAAA,EAAA,IAAA,CAAA,QAAA,CAAA,CAAA;;;;;;AAhB/D,QAAA,EAA0D,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QACtD,EAAuE,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAAlD,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,wFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAsB,CAAA,aAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA,OAAC,EAAA,CAAA,WAAA,CAAA,IAAA,CAAA,IAAA,EAAc,CAAA,CAAE,EAAA,CAAA,CAAA;QACjE,EAAmM,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;AAAA,QAAA,EAAY,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;QAC1N,EAAqB,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,CAAA;AAG1D,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAsB,CAAA,EAAA,EAAA,IAAA,CAAA,CAAA;AACd,QAAA,EAAyB,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;AAElC,QAAA,EAAI,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAA,CAAA;AACA,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,2EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QACT,EAAK,CAAA,YAAA,EAAA,CAAA;AAEL,QAAA,EAUe,CAAA,UAAA,CAAA,EAAA,EAAA,qFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;QACnB,EAAM,CAAA,YAAA,EAAA,CAAA;QACV,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;;AAzByB,QAAA,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,QAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAkC,iDAAA,CAAA,qBAAA,EAAA,GAAA,CAAA,CAAA;AAAiI,QAAA,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAZ,QAAA,EAAY,CAAA,iBAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AAC1L,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,EAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAI1C,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAGP,QAAA,EAAQ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAR,EAAQ,CAAA,UAAA,CAAA,SAAA,EAAA,IAAA,CAAA,GAAA,CAAA,CAAA;AAKf,QAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxB,EAAwB,CAAA,UAAA,CAAA,MAAA,EAAA,IAAA,CAAA,QAAA,IAAA,IAAA,CAAA,CAAA;;;;;;QAtBnD,EAAsJ,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAElJ,QAAA,EAGI,CAAA,UAAA,CAAA,CAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,EAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAEJ,QAAA,EA2Be,CAAA,UAAA,CAAA,CAAA,EAAA,qEAAA,EAAA,EAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;QACnB,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;AAnCwC,QAAA,EAAwG,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAV,KAAA,EAAA,MAAA,CAAA,SAAA,IAAA,IAAA,CAAA,KAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAA,MAAA,CAAA,WAAA,IAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAE7I,QAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnB,EAAmB,CAAA,UAAA,CAAA,MAAA,EAAA,IAAA,CAAA,GAAA,IAAA,IAAA,CAAA,CAAA;AAKR,QAAA,EAAyC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzC,QAAA,EAAyC,CAAA,UAAA,CAAA,MAAA,EAAA,IAAA,CAAA,GAAA,IAAA,IAAA,IAAA,IAAA,CAAA,QAAA,IAAA,IAAA,CAAA,CAAA;;;;;AAThE,QAAA,EAAiB,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAEb,QAAA,EAmCK,CAAA,UAAA,CAAA,CAAA,EAAA,sDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QACT,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AApCmC,QAAA,EAAO,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAP,EAAO,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;;;;;;;AAV/D,QAAA,EAA+C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAC3C,QAAA,EAAiE,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,KAAA,CAAA,aAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAG/B,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,+DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAe,CAAA,aAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAC3C,EAAmJ,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAgB,CAAA,MAAA,CAAA,CAAA,EAAA,kBAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;AAGlL,QAAA,EAsCK,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;QAEV,EAAyD,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,iEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,WAAA,GAAuB,EAAE,CAAC,CAAA,EAAA,CAAA,CAAA;AAAC,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;QAEvE,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAlDe,QAAA,EAAqC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArC,QAAA,EAAqC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAD,KAAA,EAAA,MAAA,CAAA,WAAA,CAAA,CAAA,CAAA;AAIrC,QAAA,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxC,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAY,KAAA,EAAA,MAAA,CAAA,SAAA,CAAA,OAAA,CAAA,CAAwC,CAAA,YAAA,EAAA,MAAA,CAAA,SAAA,CAAA,OAAA,GAAA,QAAA,GAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAGjD,QAAA,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAV,EAAU,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;;;;QA6Df,EAA6C,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,CAAA;QACzC,EAA0E,CAAA,SAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,EAAA,CAAA,CAAA;QAC9E,EAAU,CAAA,YAAA,EAAA,CAAA;;;;;QAKF,EAA0C,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAc,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;;AAArB,QAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAd,EAAc,CAAA,kBAAA,CAAA,EAAA,EAAA,KAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;;;;;;QAGxD,EAAqJ,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAA/C,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,KAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAiB,CAAA,MAAA,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA,OAAC,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,eAAA,EAAiB,CAAA,CAAE,EAAA,CAAA,CAAA;AAChJ,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAY,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAA,QAAA,EACrC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAI,CAAA,YAAA,EAAA,CAAA;;;;QAFQ,EAAwB,CAAA,UAAA,CAAA,YAAA,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AACtB,QAAA,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAZ,QAAA,EAAY,CAAA,iBAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AAAW,QAAA,EACrC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADqC,EACrC,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;AAEA,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAqE,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AACvD,QAAA,EAAY,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAA,QAAA,EACrC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAI,CAAA,YAAA,EAAA,CAAA;;;;AADU,QAAA,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAZ,QAAA,EAAY,CAAA,iBAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AAAW,QAAA,EACrC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADqC,EACrC,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QAKI,EAAqD,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;;;;;;QAFzD,EAA4F,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;QAA5B,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,KAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAiB,CAAA,MAAA,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QACvF,EAAuB,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAY,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAA,QAAA,EAC9C,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAqD,CAAA,UAAA,CAAA,CAAA,EAAA,+DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;QACzD,EAAI,CAAA,YAAA,EAAA,CAAA;;;;AAFuB,QAAA,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAZ,QAAA,EAAY,CAAA,iBAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AAAW,QAAA,EAC9C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAD8C,EAC9C,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,EAAA,GAAA,CAAA,CAAA;AAAoC,QAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAX,EAAW,CAAA,UAAA,CAAA,MAAA,EAAA,KAAA,CAAA,GAAA,CAAA,CAAA;;;;;;AAK/C,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAA8C,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AACd,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAiB,CAAA,eAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAoB,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAArG,QAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxB,EAAwB,CAAA,UAAA,CAAA,YAAA,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AAAgD,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA;;;;;QAF5G,EAAkD,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAC9C,QAAA,EAEK,CAAA,UAAA,CAAA,CAAA,EAAA,iEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QACT,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAHmC,QAAA,EAAQ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAR,EAAQ,CAAA,UAAA,CAAA,SAAA,EAAA,KAAA,CAAA,GAAA,CAAA,CAAA;;;;;;QAtBpD,EAA8J,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAG1J,QAAA,EAA+D,CAAA,UAAA,CAAA,CAAA,EAAA,8DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;AAG/D,QAAA,EAEI,CAAA,UAAA,CAAA,CAAA,EAAA,2DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAEJ,QAAA,EAEI,CAAA,UAAA,CAAA,CAAA,EAAA,2DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAGJ,QAAA,EAGI,CAAA,UAAA,CAAA,CAAA,EAAA,2DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAGJ,QAAA,EAIK,CAAA,UAAA,CAAA,CAAA,EAAA,4DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QACT,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AA1BwC,QAAA,EAAgH,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAK,KAAA,EAAA,KAAA,CAAA,GAAA,IAAA,IAAA,EAAA,KAAA,CAAA,MAAA,EAAA,KAAA,CAAA,KAAA,EAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAG9H,QAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AAGgB,QAAA,EAA4C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA5C,EAA4C,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,KAAA,CAAA,KAAA,IAAA,KAAA,CAAA,GAAA,IAAA,IAAA,IAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AAI9E,QAAA,EAA6C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA7C,EAA6C,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,KAAA,CAAA,KAAA,IAAA,KAAA,CAAA,GAAA,IAAA,IAAA,IAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AAKpC,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,QAAA,EAA+B,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,KAAA,CAAA,KAAA,IAAA,KAAA,CAAA,GAAA,IAAA,IAAA,CAAA,CAAA;AAM7C,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,QAAA,EAA+B,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,KAAA,CAAA,KAAA,IAAA,KAAA,CAAA,GAAA,IAAA,IAAA,CAAA,CAAA;;;;;AAtBxD,QAAA,EAAiB,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AACb,QAAA,EA0BK,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QACT,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AA3BmC,QAAA,EAAO,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAP,EAAO,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,IAAA,CAAA,CAAA;;;;;AApB/D,QAAA,EAA+C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QAC3C,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA0B,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;QAId,EAAwB,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAC5B,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;AAGR,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAkB,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;AACR,QAAA,EAAsB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAO,CAAA,YAAA,EAAA,CAAA;AACnC,QAAA,EAAO,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AAAA,QAAA,EAAqB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,CAAA;AAGxC,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAK,CAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAEG,QAAA,EAEU,CAAA,UAAA,CAAA,EAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,CAAA;AACV,QAAA,EA4BK,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,EAAA,CAAA;QAGlB,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAzCG,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtB,EAAsB,CAAA,iBAAA,CAAA,MAAA,CAAA,QAAA,CAAA,OAAA,CAAA,CAAA;AACrB,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArB,EAAqB,CAAA,iBAAA,CAAA,MAAA,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA;AAKM,QAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AAGtC,QAAA,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAV,EAAU,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;;MC1DlB,oBAAoB,CAAA;AAY7B,IAAA,WAAA,CAAoB,iBAAkC,EAAU,eAA0C,EACtF,aAA+B,EAAS,QAA0B,EAAS,SAA4B,EACvG,WAAgC,EAAU,OAAe,EAAU,SAAoB,EAAS,QAAoB,EAAA;AAFpH,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAiB;AAAU,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAA2B;AACtF,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;AAAS,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;AAAS,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;AACvG,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAqB;AAAU,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AAAU,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AAAS,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAY;AAZ/H,QAAA,IAAG,CAAA,GAAA,GAAQ,IAAI,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAW,SAAS,CAAC;AAC3B,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;AAChC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;AAE7C,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAI,CAAA,IAAA,GAAQ,EAAE,CAAC;AACf,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AACzB,QAAA,IAAS,CAAA,SAAA,GAAW,WAAW,CAAC;KAK/B;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;YACpD,OAAO;QAEX,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACvF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAEpB,QAAA,IAAI,CAAC,iBAAiB;aACjB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;aAC1B,SAAS,CAAC,CAAC,IAAG;YACX,IAAI,CAAC,CAAC,OAAO,EAAC;AACV,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC7B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAEzD,IAAI,CAAC,YAAY,EAAE,CAAC;AACvB,aAAA;AAED,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACzB,SAAC,CAAC,CAAC;KACV;IAED,MAAM,CAAC,CAAQ,EAAE,QAAa,EAAA;QAE1B,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,CAAC,QAAQ,CAAC,OAAO;YACjB,OAAO;QAEX,IAAI,CAAC,QAAQ,CAAC,MAAM;AAChB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;gBACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;AAEpC,QAAA,QAAQ,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;KACtC;AAED,IAAA,MAAM,CAAC,IAAY,EAAA;AACf,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IAED,YAAY,GAAA;QACR,IAAI,IAAI,CAAC,eAAe,EAAC;YACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAG;gBAC9B,IAAI,CAAC,YAAY,eAAe;AAC5B,oBAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/B,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;AAED,IAAA,UAAU,CAAC,GAAW,EAAA;AAClB,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;QAErD,IAAI,QAAQ,IAAI,IAAI;AAChB,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;KACvC;AAED,IAAA,aAAa,CAAC,IAAI,EAAA;AACd,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC;KAC3D;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,EAAE,CAAC;KAC7B;IAED,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC7B;IAED,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;KACnC;;2GA7FQ,oBAAoB,EAAA,EAAA,CAAA,iBAAA,CAAAN,eAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAa,yBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAd,gBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAe,gBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAV,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAW,mBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,IAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA;sGAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,IAAA,EAAA,eAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,CAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,OAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,OAAA,EAAA,WAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,KAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,IAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,6BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADdjC,YAAA,EAmDe,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAEf,YAAA,EAmDe,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;YAEf,EAAmC,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;AA1GpB,YAAA,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,SAAA,CAAA,MAAA,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAqD9B,YAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9B,YAAA,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,SAAA,CAAA,MAAA,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;;;;4ECvChC,oBAAoB,EAAA,CAAA;kBALhC,SAAS;+BACI,cAAc,EAAA,QAAA,EAAA,4hMAAA,EAAA,MAAA,EAAA,CAAA,yxQAAA,CAAA,EAAA,CAAA;oSAMf,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACI,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;;;;;ACOa,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA+C,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACxC,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,2EAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,WAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAS,OAAmB,CAAA,UAAA,CAAA,WAAA,CAAA,CAAA,CAAA,OAAE,EAAA,CAAA,WAAA,CAAA,IAAA,CAAA,KAAA,EAAgB,CAAA,CAAE,EAAA,CAAA,CAAA;AAAC,QAAA,EAAkB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAAtB,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlB,QAAA,EAAkB,CAAA,iBAAA,CAAA,WAAA,CAAA,IAAA,CAAA,CAAA;;;;;;;AAZtF,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAsH,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAC9G,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,sEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,IAAA,CAAK,SAAS,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;AACzB,QAAA,EAAI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAA2B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;AACpC,QAAA,EAAI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAAsB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,CAAA;AAGnC,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAkC,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,4EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAO,CAAA,KAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAC3D,QAAA,EAAI,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAA4B,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;QAErC,EAAqB,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACjB,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;;;;QAd8D,EAA0C,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA1B,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAEzG,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAA2B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAC3B,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtB,EAAsB,CAAA,iBAAA,CAAA,MAAA,CAAA,QAAA,CAAA,OAAA,CAAA,CAAA;AAKtB,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5B,QAAA,EAA4B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,EAAA,UAAA,CAAA,CAAA,CAAA;AAGJ,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,QAAA,CAAA,QAAA,CAAA,CAAA;;;;;;AAkB5C,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA6C,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACtC,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,2EAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,SAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAS,OAAe,CAAA,QAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAE,EAAA,CAAA,WAAA,CAAA,IAAA,CAAA,KAAA,EAAgB,CAAA,CAAE,EAAA,CAAA,CAAA;AAAC,QAAA,EAAgB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAApB,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAhB,QAAA,EAAgB,CAAA,iBAAA,CAAA,SAAA,CAAA,IAAA,CAAA,CAAA;;;;;;AAZhF,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAkJ,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAC1I,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,sEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,IAAA,CAAK,SAAS,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;AACzB,QAAA,EAAI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAA2B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;AACpC,QAAA,EAAI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAAsB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,CAAA;AAGnC,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAkC,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,4EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAO,CAAA,KAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAC3D,QAAA,EAAI,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAA4B,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;QAErC,EAAqB,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACjB,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;;;;QAd0F,EAA0C,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAErI,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAA2B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAC3B,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtB,EAAsB,CAAA,iBAAA,CAAA,MAAA,CAAA,QAAA,CAAA,OAAA,CAAA,CAAA;AAKtB,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5B,QAAA,EAA4B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,EAAA,UAAA,CAAA,CAAA,CAAA;AAGN,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,QAAA,CAAA,QAAA,CAAA,CAAA;;;;;;AAOtD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAgG,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACpE,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,IAAA,CAAK,QAAQ,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;;AAC5C,QAAA,EAAO,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AAAA,QAAA,EAA0B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;AACzC,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAW,CAAA,MAAA,CAAA,CAAA,EAAA,aAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;AAGpC,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAyC,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AACZ,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,4EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAO,CAAA,KAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,QAAA,EAAK,CAAA,MAAA,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAC3D,QAAA,EAAI,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAA0B,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;AACnC,QAAA,EAAK,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAA,CAAA;AACD,QAAA,EAAyB,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;AAC7B,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,EAAA,CAAA;;;;QAXuB,EAAwC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AACxB,QAAA,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApC,QAAA,EAAoC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAC1E,QAAA,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1B,QAAA,EAA0B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,CAAA,CAAA;AAM7B,QAAA,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1B,QAAA,EAA0B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,EAAA,QAAA,CAAA,CAAA,CAAA;;;;;;AAOtC,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA6C,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACjB,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAgB,CAAA,cAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;AAC9C,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,EAAA,CAAA;;;;AADoB,QAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1C,QAAA,EAA0C,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,eAAA,CAAA,CAAA,CAAA;;;;;QAOzF,EAAoD,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;;AAAhC,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAzB,EAAyB,CAAA,iBAAA,CAAA,OAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA;;;;;AAQzE,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA4C,YAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAE1B,QAAA,EAAa,CAAA,MAAA,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAClC,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAqB,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;AACX,QAAA,EAAwC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAO,CAAA,YAAA,EAAA,EAAA,EAAA,EAAA,CAAA;;;AAA/C,QAAA,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAxC,QAAA,EAAwC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,sBAAA,CAAA,CAAA,CAAA;;;;;;AAMtD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA6C,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACtC,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0FAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAkB,CAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,CAAA,OAAC,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,EAAO,CAAA,CAAC,EAAA,CAAA,CAAA;AACnC,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAI,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AACI,QAAA,EAAuC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;QAChD,EAAoD,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;AACxD,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;;;;AAFG,QAAA,EAAuC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvC,EAAuC,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,EAAA,GAAA,EAAA,QAAA,CAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACvC,QAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1C,EAA0C,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;;;;;AAL9D,QAAA,EAAqD,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AACjD,QAAA,EAOK,CAAA,UAAA,CAAA,CAAA,EAAA,uEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QACT,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AARU,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtB,EAAsB,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA;;;;;;AApB3D,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA6F,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QACjE,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAsB,CAAA,qBAAA,CAAA,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA,CAAA,OAAC,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,IAAA,CAAK,aAAa,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;;AAA2C,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAkB,CAAA,MAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAC7K,QAAA,EAAoF,CAAA,UAAA,CAAA,CAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;QACxF,EAAS,CAAA,YAAA,EAAA,CAAA;AAET,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAmC,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AACN,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,4EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAO,CAAA,KAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAC3D,QAAA,EAAI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAAgC,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;AAEzC,QAAA,EAAI,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAA,CAAA;AACA,QAAA,EAOK,CAAA,UAAA,CAAA,EAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAEL,QAAA,EASe,CAAA,UAAA,CAAA,EAAA,EAAA,kEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AACnB,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;;;;QA7BS,EAA8C,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,WAAA,CAAA,CAAA,CAAA;AACgC,QAAA,EAAyC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzC,QAAA,EAAyC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AAChH,QAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,QAAA,EAA6B,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,aAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA;AAK9C,QAAA,EAAgC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAhC,QAAA,EAAgC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AAG3B,QAAA,EAAqC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArC,QAAA,EAAqC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,aAAA,CAAA,KAAA,CAAA,MAAA,IAAA,CAAA,CAAA,CAAA;AAS3B,QAAA,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApC,QAAA,EAAoC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,aAAA,CAAA,KAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;;;;;;AA0BnD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAiC,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAC1B,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,2EAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,SAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAS,OAAoB,CAAA,QAAA,CAAA,SAAA,CAAA,IAAA,CAAA,CAAA,CAAA,OAAE,EAAA,CAAA,WAAA,CAAA,IAAA,CAAA,KAAA,EAAgB,CAAA,CAAE,EAAA,CAAA,CAAA;AAAE,QAAA,EAAmC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAAvC,QAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnC,EAAmC,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,SAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;;AATzG,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAkH,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACtF,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,IAAA,CAAK,MAAM,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;;AAAmC,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAa,CAAA,MAAA,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;AAEnH,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAkC,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,4EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAO,CAAA,KAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAC3D,QAAA,EAAI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;QAElC,EAAkB,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACd,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;;;;QAXsB,EAAsC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACtB,QAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjC,QAAA,EAAiC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA;AAIxE,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAGH,QAAA,EAAS,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAT,EAAS,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,MAAA,CAAA,CAAA;;;;;;AAO3C,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA4D,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAC0C,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAY,CAAA,UAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;AAAC,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAY,CAAA,MAAA,CAAA,CAAA,EAAA,cAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,EAAA,CAAA;;;;AAAlI,QAAA,EAAyE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzE,QAAA,EAAyE,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,SAAA,CAAA,SAAA,GAAA,YAAA,GAAA,OAAA,CAAA,CAAA,CAAA;;;;;;AAWzF,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAmC,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAC5B,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,2EAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAS,OAAsB,CAAA,WAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAA,CAAA,OAAE,EAAA,CAAA,WAAA,CAAA,IAAA,CAAA,KAAA,EAAgB,CAAA,CAAE,EAAA,CAAA,CAAA;AAAC,QAAA,EAA2B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAA/B,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAA2B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,IAAA,CAAA,CAAA,CAAA;;;;;;AATlG,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA2G,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAC/E,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,IAAA,CAAK,QAAQ,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;;AAAqC,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;AAEhH,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAkC,CAAA,CAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,4EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAO,CAAA,KAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAC3D,QAAA,EAAI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAA2B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;QAEpC,EAAoB,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAChB,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;;;;QAXwB,EAAwC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,EAAA,OAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AACxB,QAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAnC,QAAA,EAAmC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,CAAA,CAAA;AAI5E,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAA2B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAGN,QAAA,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAZ,EAAY,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,SAAA,CAAA,CAAA;;;;;;;;AAxIzD,QAAA,EAA+C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AAC3C,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAyB,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAEjB,QAAA,EAAA,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAwB,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;QAE5B,EAAI,CAAA,YAAA,EAAA,CAAA;QAEJ,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAuB,aAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAEX,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,+DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAoB,CAAA,QAAA,CAAA,OAAA,CAAA,UAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAC9B,QAAA,EAAI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAAqB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;AAC9B,QAAA,EAAI,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAA,CAAA;AAAA,QAAA,EAAsB,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;AAIvC,QAAA,EAgBM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEN,QAAA,EAgBM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEN,QAAA,EAaM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEN,QAAA,EAIM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEN,QAAA,EA+BM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAMN,QAAA,EAaM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEN,QAAA,EAEM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEN,QAAA,EAaM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEN,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAsB,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACwC,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAQ,CAAA,MAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;AAAC,QAAA,EAAU,CAAA,cAAA,CAAA,EAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAkB,CAAA,MAAA,CAAA,EAAA,EAAA,oBAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,EAAA,CAAA;QAGxH,EAAuD,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAA5B,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,iEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAO,CAAA,KAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAW,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;QAGjE,EAAmF,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAAxB,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,iEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAa,CAAA,WAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAC9E,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,MAAA,CAAa,CAAA,EAAA,EAAA,MAAA,CAAA,CAAA,EAAA,EAAA,MAAA,CAAA,CAAA,EAAA,EAAA,MAAA,CAAA,CAAA,EAAA,EAAA,MAAA,CAAA,CAAA,EAAA,EAAA,MAAA,CAAA,CAAA;AAMjB,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;QAEd,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAvJkC,QAAA,EAAqE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArE,EAAqE,CAAA,WAAA,CAAA,WAAA,EAAA,MAAA,CAAA,QAAA,CAAA,QAAA,CAAA,MAAA,GAAA,CAAA,IAAA,MAAA,CAAA,QAAA,CAAA,QAAA,CAAA,CAAA;AAE9F,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArB,EAAqB,CAAA,iBAAA,CAAA,MAAA,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA;AACrB,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtB,EAAsB,CAAA,iBAAA,CAAA,MAAA,CAAA,QAAA,CAAA,OAAA,CAAA,CAAA;AAIK,QAAA,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,QAAA,EAAkC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,QAAA,CAAA,QAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAkBlC,QAAA,EAA8D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9D,QAAA,EAA8D,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,QAAA,CAAA,OAAA,IAAA,CAAA,MAAA,CAAA,QAAA,CAAA,QAAA,IAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAD,KAAA,CAAA,EAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAkBtB,QAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAf,EAAe,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,SAAA,CAAA,CAAA;AAevE,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA;AAM2B,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArB,EAAqB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,eAAA,CAAA,CAAA;AAqChB,QAAA,EAAqC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArC,QAAA,EAAqC,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,SAAA,IAAA,MAAA,CAAA,MAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAezF,QAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAnC,QAAA,EAAmC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,SAAA,CAAA,MAAA,CAAA,YAAA,CAAA,CAAA;AAIqB,QAAA,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1B,QAAA,EAA0B,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,SAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAgB7E,QAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjC,QAAA,EAAiC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,MAAA,CAAA,CAAA,CAAA;AAMtC,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,QAAA,EAA+B,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAY,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,CAAA,CAAA;;;;;AAa1D,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAgE,UAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;AAChD,QAAA,EAA+B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,EAAA,CAAA;;;AAAvC,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,QAAA,EAA+B,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;AAY/C,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAqE,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AACvD,QAAA,EAAiC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAC,QAAA,EAC3D,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADS,QAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjC,EAAiC,CAAA,iBAAA,CAAA,OAAA,CAAA,SAAA,CAAA,WAAA,CAAA,KAAA,CAAA,CAAA;AAAY,QAAA,EAC3D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAD2D,EAC3D,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,SAAA,CAAA,WAAA,CAAA,MAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;;AAgBgB,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA+C,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACxC,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oEAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,WAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAS,OAAmB,CAAA,UAAA,CAAA,WAAA,CAAA,CAAA,CAAA,OAAE,EAAA,CAAA,WAAA,CAAA,IAAA,CAAA,KAAA,EAAgB,CAAA,CAAE,EAAA,CAAA,CAAA;AAAC,QAAA,EAAkB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAAtB,QAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlB,QAAA,EAAkB,CAAA,iBAAA,CAAA,WAAA,CAAA,IAAA,CAAA,CAAA;;;;;QAQ9E,EAAoD,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;;AAAhC,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAzB,EAAyB,CAAA,iBAAA,CAAA,OAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA;;;;;AAOzE,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA4C,YAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAE1B,QAAA,EAAiB,CAAA,MAAA,CAAA,CAAA,EAAA,mBAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AACtC,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAqB,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;AACX,QAAA,EAAwC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAO,CAAA,YAAA,EAAA,EAAA,EAAA,EAAA,CAAA;;;AAA/C,QAAA,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAxC,QAAA,EAAwC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,sBAAA,CAAA,CAAA,CAAA;;;;;;AAMtD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA6C,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACtC,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0FAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAkB,CAAA,QAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,CAAA,OAAC,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,EAAO,CAAA,CAAC,EAAA,CAAA,CAAA;AACnC,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAe,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;QACpC,EAAqB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;QACjB,EAAqE,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;;QACrE,EAAmB,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAe,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAO,CAAA,YAAA,EAAA,EAAA,EAAA,EAAA,CAAA;;;;AAHnC,QAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAf,QAAA,EAAe,CAAA,iBAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAA;AAEF,QAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1C,EAA0C,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,cAAA,CAAA,CAAA;AAC1C,QAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAf,QAAA,EAAe,CAAA,iBAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAA;;;;;AANlD,QAAA,EAAqD,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;AACjD,QAAA,EAQK,CAAA,UAAA,CAAA,CAAA,EAAA,uEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QACT,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AATU,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtB,EAAsB,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,aAAA,CAAA,KAAA,CAAA,CAAA;;;;;;AAnB3D,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA6F,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QACjE,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAsB,CAAA,qBAAA,CAAA,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA,CAAA,OAAC,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,IAAA,CAAK,aAAa,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;;AAA2C,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAkB,CAAA,MAAA,CAAA,CAAA,EAAA,oBAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAC7K,QAAA,EAAoF,CAAA,UAAA,CAAA,CAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;QACxF,EAAS,CAAA,YAAA,EAAA,CAAA;AAET,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA2B,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACA,QAAA,EAAgC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;AAE5D,QAAA,EAAI,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAA,CAAA;AACA,QAAA,EAOK,CAAA,UAAA,CAAA,EAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAEL,QAAA,EAUe,CAAA,UAAA,CAAA,EAAA,EAAA,kEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AACnB,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;;;;QA7BS,EAA8C,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAX,KAAA,EAAA,OAAA,CAAA,OAAA,CAAA,WAAA,CAAA,CAAA,CAAA;AACgC,QAAA,EAAyC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzC,QAAA,EAAyC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AAChH,QAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,QAAA,EAA6B,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,aAAA,CAAA,KAAA,GAAA,CAAA,CAAA,CAAA;AAI3B,QAAA,EAAgC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAhC,QAAA,EAAgC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AAG9C,QAAA,EAAqC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArC,QAAA,EAAqC,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,aAAA,CAAA,KAAA,CAAA,MAAA,IAAA,CAAA,CAAA,CAAA;AAS3B,QAAA,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApC,QAAA,EAAoC,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,aAAA,CAAA,KAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;;;;;;AAoBnD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAmC,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAC5B,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,2EAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAS,OAAsB,CAAA,WAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAA,CAAA,OAAE,EAAA,CAAA,WAAA,CAAA,IAAA,CAAA,KAAA,EAAgB,CAAA,CAAE,EAAA,CAAA,CAAA;AAAC,QAAA,EAA2B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAA/B,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAA2B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,IAAA,CAAA,CAAA,CAAA;;;;;;AANlG,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA4F,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAChE,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,IAAA,CAAK,QAAQ,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;;AAAqC,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;AAChH,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA2B,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACA,QAAA,EAA0B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;QACtD,EAAsB,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAClB,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;;;;QARS,EAAwC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,EAAA,OAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AACT,QAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAnC,QAAA,EAAmC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,CAAA,CAAA;AAEzD,QAAA,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1B,QAAA,EAA0B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,CAAA,CAAA;AAExB,QAAA,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAZ,EAAY,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,SAAA,CAAA,CAAA;;;;;;AAYjC,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAiC,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAC1B,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,2EAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,SAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAS,OAAoB,CAAA,QAAA,CAAA,SAAA,CAAA,IAAA,CAAA,CAAA,CAAA,OAAE,EAAA,CAAA,WAAA,CAAA,IAAA,CAAA,KAAA,EAAgB,CAAA,CAAE,EAAA,CAAA,CAAA;AAAE,QAAA,EAAmC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAAvC,QAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnC,EAAmC,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,SAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,CAAA;;;;;;AANzG,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAqG,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACzE,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,IAAA,CAAK,MAAM,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;;AAAmC,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAa,CAAA,MAAA,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;AACnH,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA2B,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACA,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;QACrD,EAAmB,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACf,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;;;;QARS,EAAsC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,EAAA,OAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AACT,QAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjC,QAAA,EAAiC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA;AAErD,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAEtB,QAAA,EAAS,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAT,EAAS,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,MAAA,CAAA,CAAA;;;;;;AAO3C,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA6C,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACjB,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAgB,CAAA,cAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;AAC9C,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,EAAA,CAAA;;;;AADoB,QAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1C,QAAA,EAA0C,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,OAAA,CAAA,eAAA,CAAA,CAAA,CAAA;;;;;AAKjG,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAA+C,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;;AAC8C,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,EAAA,CAAA;;;;AAA5F,QAAA,EAAsC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtC,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,CAAsC,CAAA,YAAA,EAAA,OAAA,CAAA,UAAA,CAAA,CAAA;;;;;;AAxG9E,QAAA,EAA+C,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QAC3C,EAAyB,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACrB,QAAA,EAEM,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;QAEN,EAAmF,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAAxB,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,gEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAa,CAAA,WAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAC9E,QAAA,EAAA,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,CAAa,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;QAMjB,EAAM,CAAA,YAAA,EAAA,CAAA;AAEN,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QAEL,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAuB,eAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAEI,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAS,EAAA,CAAA,WAAA,CAAA,QAAA,CAAA,IAAA,CAAK,SAAS,CAAC,CAAA,CAAC,EAAA,CAAA,CAAA;AACxC,QAAA,EAAU,CAAA,cAAA,CAAA,EAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAW,CAAA,MAAA,CAAA,EAAA,EAAA,aAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAChC,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAkB,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA;AACP,QAAA,EAA2B,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;QAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;AAC1C,QAAA,EAAM,CAAA,cAAA,CAAA,EAAA,EAAA,MAAA,CAAA,CAAA;AAAA,QAAA,EAAsB,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAO,EAAA,EAAA,CAAA;AAI3C,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAA2B,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACA,QAAA,EAA2B,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;QAEvD,EAAoB,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAChB,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;AAIb,QAAA,EA+BM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEN,QAAA,EAUM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEN,QAAA,EAUM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEN,QAAA,EAIM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEN,QAAA,EAEM,CAAA,UAAA,CAAA,EAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAEN,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAsB,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACwC,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,QAAQ,CAAA,MAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;AAAC,QAAA,EAAU,CAAA,cAAA,CAAA,EAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAkB,CAAA,MAAA,CAAA,EAAA,EAAA,oBAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAW,EAAA,EAAA,CAAA;QAGxH,EAAuD,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAA5B,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,iEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,QAAO,CAAA,KAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAW,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,EAAA,CAAA;QAGzE,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAhHmC,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAInC,QAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,QAAA,EAA+B,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAW,KAAA,EAAA,MAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AASlB,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA3B,EAA2B,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,SAAA,CAAA,WAAA,CAAA,CAAA;AAK5B,QAAA,EAA0C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1C,EAA0C,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAX,KAAA,EAAA,MAAA,CAAA,OAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AAI1D,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAA2B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAC5B,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtB,EAAsB,CAAA,iBAAA,CAAA,MAAA,CAAA,QAAA,CAAA,OAAA,CAAA,CAAA;AAKT,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA3B,QAAA,EAA2B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAGtB,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,QAAA,CAAA,QAAA,CAAA,CAAA;AAOc,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArB,EAAqB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,eAAA,CAAA,CAAA;AAiC3B,QAAA,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA1B,QAAA,EAA0B,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,SAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAY5B,QAAA,EAAqC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArC,QAAA,EAAqC,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,SAAA,IAAA,MAAA,CAAA,MAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAY5E,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA;AAMpB,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtB,EAAsB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,UAAA,IAAA,EAAA,CAAA,CAAA;AAKjB,QAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjC,QAAA,EAAiC,CAAA,UAAA,CAAA,YAAA,EAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,MAAA,CAAA,CAAA,CAAA;;;;;QAQzE,EAA6C,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,CAAA;QAAA,EAA0E,CAAA,SAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,EAAA,CAAA,CAAA;QAAA,EAAU,CAAA,YAAA,EAAA,CAAA;;;;;QACjI,EAAyC,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;;;;MCnQ5B,mBAAmB,CAAA;IAkC5B,WAAoB,CAAA,iBAAuC,EACxC,sBAAiD,EAChD,YAA6B,EAC7B,aAA+B,EAC/B,OAAe,EAAU,OAAwB,EAClD,QAA0B,EAC1B,SAA4B,EAC3B,MAAiB,EACjB,SAAoB,EACrB,QAAoB,EACnB,UAAqB,EAAA;AAVrB,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAsB;AACxC,QAAA,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAA2B;AAChD,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAiB;AAC7B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;AAC/B,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AAAU,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;AAClD,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;AAC1B,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;AAC3B,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;AACjB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACrB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAY;AACnB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAW;AA3ChC,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AACxB,QAAA,IAAS,CAAA,SAAA,GAAQ,EAAE,CAAC;AACpB,QAAA,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;AACjB,QAAA,IAAe,CAAA,eAAA,GAAQ,IAAI,CAAC;AAC5B,QAAA,IAAqB,CAAA,qBAAA,GAAW,KAAK,CAAC;AACtC,QAAA,IAAsB,CAAA,sBAAA,GAAW,kBAAkB,CAAC;AACpD,QAAA,IAAwB,CAAA,wBAAA,GAAW,QAAQ,CAAC;AAC5C,QAAA,IAAyB,CAAA,yBAAA,GAAY,IAAI,CAAC;AAC1C,QAAA,IAAc,CAAA,cAAA,GAAQ,IAAI,CAAC;AAC3B,QAAA,IAAmB,CAAA,mBAAA,GAAW,IAAI,CAAC;AACnC,QAAA,IAAe,CAAA,eAAA,GAAW,wBAAwB,CAAC;AACnD,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;AACxB,QAAA,IAAuB,CAAA,uBAAA,GAAY,KAAK,CAAC;AACzC,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;AACnC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAC;AACvC,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAE,CAAC;AAEpD,QAAA,IAAQ,CAAA,QAAA,GAAQ,IAAI,CAAC;AACrB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAC3B,QAAA,IAAA,CAAA,aAAa,GAA0B,IAAI,qBAAqB,EAAE,CAAC;QAEnE,IAAA,CAAA,OAAO,GAAQ;AACX,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,UAAU,EAAE,KAAK;SACpB,CAAC;KAY4C;IAE9C,QAAQ,GAAA;QACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEvF,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO;AAC7B,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAEpE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;QAClD,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC3B;AAED,IAAA,UAAU,CAAC,OAAO,EAAA;QACd,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,IAAG;YACvF,IAAI,GAAG,CAAC,OAAO,EAAE;gBAEb,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAE9C,gBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC9B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;gBACpF,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC1C,gBAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAC9D,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC;AAC9D,gBAAA,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC;AAE7C,gBAAA,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAE1F,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE;oBACrC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,iBAAA;;AAAM,oBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAEtE,aAAA;;AAAM,gBAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;AAChD,SAAC,EAAE,GAAG,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;KACnD;AAED,IAAA,QAAQ,CAAC,KAAK,EAAA;QACV,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,IAAG;;YAC9G,IAAI,GAAG,CAAC,OAAO,EAAE;gBAEb,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAE9C,gBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;AAC9B,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,KAAK,CAAC,MAAM,mCAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;AACnC,gBAAA,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC;AAE7C,gBAAA,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1F,gBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAE/D,aAAA;;AAAM,gBAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;AAChD,SAAC,EAAE,GAAG,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;KACnD;IAED,eAAe,CAAC,OAAO,EAAE,KAAK,EAAA;QAC1B,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,IAAG;;YACjG,IAAI,GAAG,CAAC,OAAO,EAAE;gBAEb,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAE9C,gBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;gBAC9B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC1C,gBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,KAAK,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,OAAO,CAAC,MAAM,CAAC;gBACtD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;AACnC,gBAAA,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC;AAE7C,gBAAA,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACrC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1F,gBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAE/D,aAAA;;AAAM,gBAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;AAChD,SAAC,EAAE,GAAG,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;KACnD;AAED,IAAA,WAAW,CAAC,QAAgB,EAAA;AACxB,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACxC;AAED,IAAA,QAAQ,CAAC,KAAK,EAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACtC;IAED,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KACrC;IAED,cAAc,GAAA;QACV,IAAI,CAAC,KAAK,EAAE,CAAC;AAEb,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YACrB,OAAO;AAEX,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AAClD,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI;AACzC,SAAA,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,IAAG;YACxC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,IAAI,QAAQ,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC;AACvE,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AAC9B,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,IAAM,EAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA,EAAE,CAAC,CAAC;KACxE;AAED,IAAA,IAAI,CAAC,WAAW,EAAA;QACZ,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,WAAW,IAAI,SAAS,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,WAAW,IAAI,SAAS,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,IAAI,QAAQ,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW,IAAI,MAAM,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,IAAI,QAAQ,CAAC;QAC9C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,IAAI,aAAa,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,WAAW,IAAI,YAAY,CAAC;KACzD;IAED,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;KACnC;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC7B;IAED,gBAAgB,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI;YACvE,OAAO;QAEX,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;YACxF,IAAI,CAAC,CAAC,OAAO,EAAE;gBACX,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACxC,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBAExC,IAAI,IAAI,CAAC,yBAAyB;oBAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAE/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnD,aAAA;AACL,SAAC,CAAC,CAAC;KACN;IAED,mBAAmB,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI;YACvE,OAAO;AAEX,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;AACrF,YAAA,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBACZ,IAAI,CAAC,MAAM,EAAE,CAAC;iBAEb,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI;AACvC,gBAAA,UAAU,CAAC,MAAK,EAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;;gBAExD,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAE7B,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,iCAAK,IAAI,CAAC,aAAa,CAAA,EAAA,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,IAAE,CAAC;AACjF,SAAC,CAAC,CAAC;KACN;AAED,IAAA,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAA;AACtC,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;YAAE,OAAO;AAE1C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,sBAAsB,CAAC;AACxJ,aAAA,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;KAClE;AAED,IAAA,QAAQ,CAAC,GAAW,EAAA;AAChB,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;KAClD;IAED,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;AACtD,YAAA,IAAI,CAAC,CAAC,MAAM,IAAI,iBAAiB,CAAC,GAAG;AACjC,gBAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;AAC7C,SAAC,CAAC,CAAC;KACN;;yGAvOQ,mBAAmB,EAAA,EAAA,CAAA,iBAAA,CAAAL,oBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA4B,yBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAX,eAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAe,gBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,IAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,eAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,gBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,IAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,EAAA,CAAA;qGAAnB,mBAAmB,EAAA,SAAA,EAAA,CAAA,CAAA,aAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,kBAAA,EAAAjB,KAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,OAAA,EAAA,0BAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,yBAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,yBAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,sBAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,6BAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,IAAA,EAAA,YAAA,EAAA,OAAA,EAAA,YAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,QAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,4BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;ADnBhC,YAAA,EA+Je,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAEf,YAAA,EAkHe,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAEf,YAAA,EAAiI,CAAA,UAAA,CAAA,CAAA,EAAA,sCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,CAAA,CAAA;AACjI,YAAA,EAAyC,CAAA,UAAA,CAAA,CAAA,EAAA,kCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;AAtR1B,YAAA,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,SAAA,CAAA,MAAA,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAiK9B,YAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9B,YAAA,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,SAAA,CAAA,MAAA,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAoHf,YAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;AACvB,YAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;;;;4ECnQpB,mBAAmB,EAAA,CAAA;kBAL/B,SAAS;+BACI,aAAa,EAAA,QAAA,EAAA,gzcAAA,EAAA,MAAA,EAAA,CAAA,0ulBAAA,CAAA,EAAA,CAAA;+WAKd,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACG,sBAAsB,EAAA,CAAA;sBAA9B,KAAK;gBACG,wBAAwB,EAAA,CAAA;sBAAhC,KAAK;gBACG,yBAAyB,EAAA,CAAA;sBAAjC,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,uBAAuB,EAAA,CAAA;sBAA/B,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACI,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBACG,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBACG,oBAAoB,EAAA,CAAA;sBAA7B,MAAM;;;;;;;QCjCC,EAA6E,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;QAA3B,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAe,CAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAE,QAAA,EAA0B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAI,CAAA,YAAA,EAAA,CAAA;;;;QAAlF,EAAwB,CAAA,UAAA,CAAA,YAAA,EAAA,IAAA,CAAA,OAAA,CAAA,CAAA;AAA4B,QAAA,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1B,EAA0B,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,IAAA,CAAA,KAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;;AAO3F,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAA4B,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACI,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,8EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAS,OAAe,CAAA,aAAA,EAAA,CAAA,CAAA,OAAC,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,MAAA,CAAA,IAAA,CAAA,KAAA,CAAe,CAAA,CAAE,EAAA,CAAA,CAAA;AAAE,QAAA,EAAyB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;AAAA,QAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;;AAAlG,QAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxB,EAAwB,CAAA,UAAA,CAAA,YAAA,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AAA6C,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzB,QAAA,EAAyB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA,CAAA,CAAA;;;;;;AANjH,QAAA,EAAoC,CAAA,uBAAA,CAAA,CAAA,CAAA,CAAA;QAChC,EAAqC,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;QAAlC,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,yEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAsB,CAAA,aAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAE,QAAA,EAA0B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAI,CAAA,YAAA,EAAA,CAAA;AAEnE,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAsB,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAEd,QAAA,EAEK,CAAA,UAAA,CAAA,CAAA,EAAA,2DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACT,QAAA,EAAA,CAAA,YAAA,EAAK,EAAA,CAAA;QAEb,EAAe,CAAA,qBAAA,EAAA,CAAA;;;;AAT0B,QAAA,EAA0B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1B,EAA0B,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,IAAA,CAAA,KAAA,CAAA,EAAA,GAAA,CAAA,CAAA;AAIrC,QAAA,EAAQ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAR,EAAQ,CAAA,UAAA,CAAA,SAAA,EAAA,IAAA,CAAA,GAAA,CAAA,CAAA;;;;;;QAR1C,EAAoI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAChI,QAAA,EAA2G,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAE3G,QAAA,EAUe,CAAA,UAAA,CAAA,CAAA,EAAA,sDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;QACnB,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;AAdsB,QAAA,EAAwG,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAhB,KAAA,EAAA,MAAA,CAAA,SAAA,IAAA,IAAA,CAAA,KAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAA,MAAA,CAAA,WAAA,IAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAC3H,QAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnB,EAAmB,CAAA,UAAA,CAAA,MAAA,EAAA,IAAA,CAAA,GAAA,IAAA,IAAA,CAAA,CAAA;AAER,QAAA,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnB,EAAmB,CAAA,UAAA,CAAA,MAAA,EAAA,IAAA,CAAA,GAAA,IAAA,IAAA,CAAA,CAAA;;;;;AAJ1C,QAAA,EAAiB,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AACb,QAAA,EAcK,CAAA,UAAA,CAAA,CAAA,EAAA,uCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;QACT,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAfiB,QAAA,EAAO,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAP,EAAO,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;;MCWpB,oBAAoB,CAAA;AAW7B,IAAA,WAAA,CAAoB,iBAAkC,EAAU,eAA0C,EAC9F,WAAgC,EAAU,OAAe,EAC1D,QAA0B,EAAS,SAA4B,EAC9D,SAAoB,EAAU,QAAoB,EAAA;AAH1C,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAiB;AAAU,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAA2B;AAC9F,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAqB;AAAU,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AAC1D,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;AAAS,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;AAC9D,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AAAU,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAY;AAZrD,QAAA,IAAG,CAAA,GAAA,GAAQ,IAAI,CAAC;AAChB,QAAA,IAAM,CAAA,MAAA,GAAW,SAAS,CAAC;AAC1B,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;AAE7C,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAI,CAAA,IAAA,GAAQ,EAAE,CAAC;AACf,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AACzB,QAAA,IAAS,CAAA,SAAA,GAAW,QAAQ,CAAC;KAKsC;IAEnE,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI;YACpD,OAAO;QAEX,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACvF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAEpB,QAAA,IAAI,CAAC,iBAAiB;aACjB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;aAC1B,SAAS,CAAC,CAAC,IAAG;YACX,IAAI,CAAC,CAAC,OAAO,EAAC;AACV,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC7B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC5D,aAAA;AAED,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACzB,SAAC,CAAC,CAAC;KACV;IAED,MAAM,CAAC,CAAQ,EAAE,QAAa,EAAA;QAE1B,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,CAAC,QAAQ,CAAC,OAAO;YACjB,OAAO;QAEX,IAAI,CAAC,QAAQ,CAAC,MAAM;AAChB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;gBACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;AAEpC,QAAA,QAAQ,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;KACtC;AAED,IAAA,MAAM,CAAC,IAAY,EAAA;AACf,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;AAED,IAAA,aAAa,CAAC,IAAI,EAAA;AACd,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC;KAC3D;IAED,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,EAAE,CAAC;KAC7B;IAED,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC7B;;2GApEQ,oBAAoB,EAAA,EAAA,CAAA,iBAAA,CAAAU,eAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAa,yBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAW,mBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,IAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,gBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA;sGAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,6BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;ADbjC,YAAA,EAAK,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,CAAA,CAAA;AACD,YAAA,EAgBK,CAAA,UAAA,CAAA,CAAA,EAAA,kCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YACT,EAAM,CAAA,YAAA,EAAA,CAAA;;;AAjBG,YAAA,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAV,EAAU,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,IAAA,CAAA,CAAA;;;;4ECYN,oBAAoB,EAAA,CAAA;kBALhC,SAAS;+BACI,cAAc,EAAA,QAAA,EAAA,w3BAAA,EAAA,MAAA,EAAA,CAAA,2/CAAA,CAAA,EAAA,CAAA;wQAMf,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACI,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;;;;;;;QCKP,EAG6C,CAAA,cAAA,CAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAAzC,QAAA,EAAiB,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,+EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAsB,CAAA,oBAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAC5C,EAAe,CAAA,YAAA,EAAA,CAAA;;;;AAHX,QAAA,EAAA,CAAA,UAAA,CAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAe,CAAA,QAAA,EAAA,MAAA,CAAA,UAAA,CAAA,CAAA;;;;;;QAKnB,EAI6C,CAAA,cAAA,CAAA,CAAA,EAAA,cAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAAzC,QAAA,EAAiB,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,+EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAsB,CAAA,oBAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAC5C,EAAe,CAAA,YAAA,EAAA,CAAA;;;;QAJX,EAAA,CAAA,UAAA,CAAA,KAAA,EAAA,MAAA,CAAA,OAAA,CAAe,6BAAA,CAAA,iBAAA,EAAA,MAAA,CAAA,eAAA,CAAA,CAAA;;;;;AAQX,QAAA,EAAuD,CAAA,YAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,OAAA,CAAA,CAAA,CAAA;;;;;QAKvD,EAA2C,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAuC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAM,CAAA,YAAA,EAAA,CAAA;;;;AAA7C,QAAA,EAAuC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvC,EAAuC,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,QAAA,CAAA,EAAA,GAAA,EAAA,MAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA;;;;;;MC3BjF,iBAAiB,CAAA;AAkD1B,IAAA,WAAA,CAAmB,SAA4B,EAC3B,QAA0B,EAC1B,OAAe,EACf,kBAAmC,EACnC,aAA+B,EAC/B,SAAoB,EACpB,QAAoB,EACpB,UAAqB,EAAA;AAPtB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;AAC3B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;AAC1B,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AACf,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAiB;AACnC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAkB;AAC/B,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACpB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAY;AACpB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAW;AAvDhC,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AACxB,QAAA,IAAO,CAAA,OAAA,GAAW,IAAI,CAAC;AACvB,QAAA,IAAQ,CAAA,QAAA,GAAU,EAAE,CAAC;AACrB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AAC5B,QAAA,IAAO,CAAA,OAAA,GAAQ,EAAE,CAAC;AAEhB,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;AAWxB,QAAA,IAAS,CAAA,SAAA,GAAQ,EAAE,CAAC;AACpB,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;AACxB,QAAA,IAAQ,CAAA,QAAA,GAAW,OAAO,CAAC;AAE3B,QAAA,IAAO,CAAA,OAAA,GAAQ,IAAI,CAAC;AACpB,QAAA,IAAU,CAAA,UAAA,GAAW,SAAS,CAAC;AAC/B,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;AAEjC,QAAA,IAAa,CAAA,aAAA,GAAQ,IAAI,CAAC;AAC1B,QAAA,IAAgB,CAAA,gBAAA,GAAW,eAAe,CAAC;AAE3C,QAAA,IAAe,CAAA,eAAA,GAAQ,IAAI,CAAC;AAC5B,QAAA,IAAqB,CAAA,qBAAA,GAAW,KAAK,CAAC;AACtC,QAAA,IAAsB,CAAA,sBAAA,GAAW,kBAAkB,CAAC;AACpD,QAAA,IAAwB,CAAA,wBAAA,GAAW,QAAQ,CAAC;AAC5C,QAAA,IAAyB,CAAA,yBAAA,GAAY,IAAI,CAAC;AAE1C,QAAA,IAAc,CAAA,cAAA,GAAQ,IAAI,CAAC;AAC3B,QAAA,IAAmB,CAAA,mBAAA,GAAW,IAAI,CAAC;AACnC,QAAA,IAAe,CAAA,eAAA,GAAW,wBAAwB,CAAC;AAEnD,QAAA,IAAuB,CAAA,uBAAA,GAAY,KAAK,CAAC;AAEzC,QAAA,IAAW,CAAA,WAAA,GAAQ,IAAI,CAAC;AAEvB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAC;AACvC,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAE,CAAC;KAYN;IA/C9C,IAAa,MAAM,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;IAC9C,IAAI,MAAM,CAAC,KAAK,EAAA;AACZ,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAEpC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,uBAAuB;AACxD,YAAA,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC;KACpD;IA0CD,QAAQ,GAAA;QACJ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEvF,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO;AAC7B,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAEpE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAE9C,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI;YAChE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;YAEzC,IAAI,CAAC,aAAa,EAAE,CAAC;QAE1B,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAC;YACnC,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAEvC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI;AACvF,gBAAA,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;AAEzD,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtC,SAAA;KACJ;IAED,mBAAmB,GAAA;AACf,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;KAC9B;IAED,oBAAoB,GAAA;AAChB,QAAA,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;KAC7B;AAGM,IAAA,OAAO,CAAC,aAAa,EAAA;QACxB,IAAI,IAAI,CAAC,MAAM;YACX,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC5D,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC3D,IAAI,CAAC,oBAAoB,EAAE,CAAC;KACnC;IAED,aAAa,GAAA;AACT,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,QAAQ,IAAI,IAAI;AAChB,YAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvD,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;AAC/D,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAC,IAAG;YACjF,IAAI,CAAC,CAAC,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;AAC1B,oBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;oBACzC,OAAO;AACV,iBAAA;gBAAA,CAAC;gBAEF,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;gBACjD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBACzD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBACzD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBACrC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AAE7B,gBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,iBAAiB,CAAC;oBAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC;AAE/F,gBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI;AAC5B,oBAAA,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,CAAC;AAEjD,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACrB,aAAA;AACL,SAAC,CAAC,CAAC;KACN;AAED,IAAA,wBAAwB,CAAC,KAAK,EAAA;AAC1B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACtC;AAED,IAAA,2BAA2B,CAAC,KAAK,EAAA;AAC7B,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzC;;qGA7JQ,iBAAiB,EAAA,EAAA,CAAA,iBAAA,CAAA3C,iBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA4C,gBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAnB,IAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAoB,eAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,gBAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,EAAA,CAAA;mGAAjB,iBAAiB,EAAA,SAAA,EAAA,CAAA,CAAA,WAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,uBAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;;;wGAAjB,GAAsB,CAAA,OAAA,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,CAAA;;;;;ADfnC,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAmE,CAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;YAe3D,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,+DAAA,GAAA,EAAA,OAAiB,yBAAqB,CAAC,EAAA,CAAA,CAAA,mBAAA,EAAA,SAAA,mEAAA,CAAA,MAAA,EAAA,EAAA,OAClB,oCAAgC,CADd,EAAA,CAAA,CAAA,sBAAA,EAAA,SAAA,sEAAA,CAAA,MAAA,EAAA,EAAA,OAEf,uCAAmC,CAFpB,EAAA,CAAA,CAAA;AAIvC,YAAA,EAA2C,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA;YAC/C,EAAc,CAAA,YAAA,EAAA,CAAA;AAEd,YAAA,EAIe,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAEf,YAAA,EAKe,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;AAEf,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAA2B,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAEnB,YAAA,EAAuD,CAAA,UAAA,CAAA,CAAA,EAAA,uCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;YAC3D,EAAM,CAAA,YAAA,EAAA,CAAA;AAEN,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAwB,CAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACS,YAAA,EAA4B,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;YAAA,EAAM,CAAA,YAAA,EAAA,CAAA;AAC/D,YAAA,EAAwF,CAAA,UAAA,CAAA,EAAA,EAAA,iCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;YAC5F,EAAM,CAAA,YAAA,EAAA,CAAA;YAEN,EAA+C,CAAA,SAAA,CAAA,EAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA;AACnD,YAAA,EAAA,CAAA,YAAA,EAAO,EAAA,CAAA;;;AA9CiB,YAAA,EAAsC,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAzB,KAAA,EAAA,GAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAG1D,YAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAjB,EAAiB,CAAA,UAAA,CAAA,QAAA,EAAA,GAAA,CAAA,MAAA,CAAA,CAAA,WAAA,EAAA,GAAA,CAAA,SAAA,CAAA,CAAA,YAAA,EAAA,GAAA,CAAA,UAAA,CAAA,CAAA,iBAAA,EAAA,GAAA,CAAA,eAAA,CAAA,CAAA,uBAAA,EAAA,GAAA,CAAA,qBAAA,CAAA,CAAA,wBAAA,EAAA,GAAA,CAAA,sBAAA,CAAA,CAAA,0BAAA,EAAA,GAAA,CAAA,wBAAA,CAAA,CAAA,2BAAA,EAAA,GAAA,CAAA,yBAAA,CAAA,CAAA,gBAAA,EAAA,GAAA,CAAA,cAAA,CAAA,CAAA,qBAAA,EAAA,GAAA,CAAA,mBAAA,CAAA,CAAA,iBAAA,EAAA,GAAA,CAAA,eAAA,CAAA,CAAA,yBAAA,EAAA,GAAA,CAAA,uBAAA,CAAA,CAAA,WAAA,EAAA,GAAA,CAAA,SAAA,CAAA,CAAA;AAmBN,YAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9B,YAAA,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,SAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AAMrB,YAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,YAAA,EAA+B,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,SAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AASlB,YAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAX,EAAW,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA;AAIX,YAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA5B,YAAA,EAA4B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,WAAA,CAAA,CAAA,CAAA;AAC7B,YAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;AAGjC,YAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAArB,EAAqB,CAAA,UAAA,CAAA,UAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;;;;4EC9B5B,iBAAiB,EAAA,CAAA;kBAL7B,SAAS;+BACI,WAAW,EAAA,QAAA,EAAA,4gEAAA,EAAA,MAAA,EAAA,CAAA,61EAAA,CAAA,EAAA,CAAA;qPAMZ,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBASG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAEG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACG,sBAAsB,EAAA,CAAA;sBAA9B,KAAK;gBACG,wBAAwB,EAAA,CAAA;sBAAhC,KAAK;gBACG,yBAAyB,EAAA,CAAA;sBAAjC,KAAK;gBAEG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAEG,uBAAuB,EAAA,CAAA;sBAA/B,KAAK;gBAEG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEI,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBACG,oBAAoB,EAAA,CAAA;sBAA7B,MAAM;gBAEc,MAAM,EAAA,CAAA;sBAA1B,SAAS;uBAAC,QAAQ,CAAA;gBACG,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;gBA4Cb,OAAO,EAAA,CAAA;sBADb,YAAY;uBAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC,CAAA;;;;;;;QCnG7C,EAAmG,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAAlE,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,mEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAM,CAAA,IAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAC7C,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAsB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAAA,QAAA,EAC/C,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;;QAFyC,EAAqB,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AACzD,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtB,QAAA,EAAsB,CAAA,iBAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,CAAA;AAAW,QAAA,EAC/C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAD+C,EAC/C,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,YAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;AATR,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAkD,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;AAE1C,QAAA,EAA4C,CAAA,YAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QAChD,EAAO,CAAA,YAAA,EAAA,CAAA;QAEP,EAA0B,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;AACtB,QAAA,EAAgD,CAAA,YAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAChD,QAAA,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACb,QAAA,EAAA,CAAA,YAAA,EAAO,EAAA,CAAA;;;;AAHsE,QAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxB,EAAwB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,YAAA,IAAA,EAAA,CAAA,CAAA;;;;;;QAkB7F,EAAiH,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAA/D,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAQ,CAAA,MAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAChE,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAC1B,QAAA,EACJ,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;;AADL,QAAA,EACJ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADI,EACJ,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,YAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;;QAEA,EAAgG,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAA/D,QAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAQ,CAAA,MAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAC/C,QAAA,EAAU,CAAA,cAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAAA,QAAA,EAAU,CAAA,MAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAC/B,QAAA,EACJ,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;;AADL,QAAA,EACJ,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADI,EACJ,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,YAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QATJ,EAA4C,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;AACxC,QAAA,EAGS,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAET,QAAA,EAGS,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;QACb,EAAM,CAAA,YAAA,EAAA,CAAA;;;;AAToE,QAAA,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAxC,QAAA,EAAwC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,YAAA,IAAA,MAAA,CAAA,YAAA,IAAA,EAAA,CAAA,CAAA;AAKzD,QAAA,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAxC,QAAA,EAAwC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,YAAA,IAAA,MAAA,CAAA,YAAA,IAAA,EAAA,CAAA,CAAA;;;;;;;MCvB5F,mBAAmB,CAAA;AAkB5B,IAAA,WAAA,GAAA;AAhBS,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAC1B,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AACxB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAK,CAAA,KAAA,GAAW,SAAS,CAAC;AAC1B,QAAA,IAAa,CAAA,aAAA,GAAY,IAAI,CAAC;AAC9B,QAAA,IAAc,CAAA,cAAA,GAAY,IAAI,CAAC;AAE/B,QAAA,IAAY,CAAA,YAAA,GAAW,SAAS,CAAC;AACjC,QAAA,IAAgB,CAAA,gBAAA,GAAW,YAAY,CAAC;AACxC,QAAA,IAAY,CAAA,YAAA,GAAW,UAAU,CAAC;AAClC,QAAA,IAAY,CAAA,YAAA,GAAW,SAAS,CAAC;AAEhC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;AAC9B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAC7B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;KAExB;IAEhB,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;KAChB;IAED,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;KAChB;IAED,IAAI,GAAA;AACA,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACtB;IAED,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;;yGArCQ,mBAAmB,GAAA,CAAA,EAAA,CAAA;qGAAnB,mBAAmB,EAAA,SAAA,EAAA,CAAA,CAAA,aAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,cAAA,EAAA,KAAA,EAAA,CAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,CAAA,YAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,4BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;ADPhC,YAAA,EAWM,CAAA,UAAA,CAAA,CAAA,EAAA,kCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YAEN,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAA0D,cAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAE1B,YAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,sDAAA,GAAA,EAAA,OAAS,WAAO,CAAC,EAAA,CAAA,CAAA;AAAC,YAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;YAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAC1D,YAAA,EAAI,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;AAAA,YAAA,EAAuB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;YAAA,EAAK,CAAA,YAAA,EAAA,CAAA;YAEhC,EAAmH,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAArE,YAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,SAAA,qDAAA,GAAA,EAAA,OAAY,YAAQ,CAAC,EAAA,CAAA,CAAA;YAC/D,EAAiB,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACb,YAAA,EAA2C,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;AAC/C,YAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;AAGV,YAAA,EAUM,CAAA,UAAA,CAAA,EAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YACV,EAAU,CAAA,YAAA,EAAA,CAAA;YAEV,EAAuC,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAAlB,YAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,kDAAA,GAAA,EAAA,OAAS,WAAO,CAAC,EAAA,CAAA,CAAA;AAAC,YAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;;YArCpB,EAAmB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,aAAA,CAAA,CAAA;AAatB,YAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9B,YAAA,EAA8B,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,GAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAG5C,YAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvB,YAAA,EAAuB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAEyC,YAAA,EAA8C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9C,YAAA,EAA8C,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,GAAA,CAAA,cAAA,CAAA,CAAA,CAAA;AAM5F,YAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAApB,EAAoB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,cAAA,CAAA,CAAA;;;;4ECjBrC,mBAAmB,EAAA,CAAA;kBAL/B,SAAS;+BACI,aAAa,EAAA,QAAA,EAAA,mpDAAA,EAAA,MAAA,EAAA,CAAA,22DAAA,CAAA,EAAA,CAAA;0CAMd,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;;;;;;QCjBC,EACmB,CAAA,SAAA,CAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;;;;AADD,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAe,CAAA,MAAA,EAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;;MAShC,oBAAoB,CAAA;AAbjC,IAAA,WAAA,GAAA;AAea,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAI,CAAA,IAAA,GAAW,eAAe,CAAC;AAC/B,QAAA,IAAK,CAAA,KAAA,GAAW,SAAS,CAAC;KAEtC;;2GANY,oBAAoB,GAAA,CAAA,EAAA,CAAA;sGAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,MAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,6BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YAVzB,EAA6B,CAAA,cAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,CAAA,CAAA;AACzB,YAAA,EACmB,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,CAAA,CAAA;YACvB,EAAU,CAAA,YAAA,EAAA,CAAA;;;AAF2C,YAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;;;;4EAS7D,oBAAoB,EAAA,CAAA;kBAbhC,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EACd,QAAA,EAAA,CAAA;;;;;AAKT,IAAA,CAAA,EAAA,MAAA,EAAA,CAAA,+EAAA,CAAA,EAAA,CAAA;oBAQQ,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;;MCoJG,iBAAiB,CAAA;;qGAAjB,iBAAiB,GAAA,CAAA,EAAA,CAAA;kGAAjB,iBAAiB,EAAA,CAAA,CAAA;AAJf,mBAAA,iBAAA,CAAA,IAAA,6BAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,SAAA,EAAA;QACP,SAAS;KACf,EAAA,OAAA,EAAA,CAnGM,YAAY;QACZ,gBAAgB;QAChB,WAAW;QACX,mBAAmB;QACnB,aAAa;QACb,aAAa;QACb,cAAc;QACd,kBAAkB;QAClB,aAAa;QACb,eAAe;QACf,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,mBAAmB;QACnB,mBAAmB;QACnB,eAAe;QACf,oBAAoB;QACpB,qBAAqB;QACrB,gBAAgB;QAChB,YAAY;QACZ,kBAAkB;QAClB,mBAAmB;QACnB,cAAc,CAAA,EAAA,CAAA,CAAA;;4EA+ET,iBAAiB,EAAA,CAAA;kBAvG7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,gBAAgB;wBAChB,WAAW;wBACX,mBAAmB;wBACnB,aAAa;wBACb,aAAa;wBACb,cAAc;wBACd,kBAAkB;wBAClB,aAAa;wBACb,eAAe;wBACf,iBAAiB;wBACjB,cAAc;wBACd,eAAe;wBACf,mBAAmB;wBACnB,mBAAmB;wBACnB,eAAe;wBACf,oBAAoB;wBACpB,qBAAqB;wBACrB,gBAAgB;wBAChB,YAAY;wBACZ,kBAAkB;wBAClB,mBAAmB;wBACnB,cAAc;AACjB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,iBAAiB;wBACjB,YAAY;wBACZ,iBAAiB;wBACjB,mBAAmB;wBACnB,kBAAkB;wBAClB,yBAAyB;wBACzB,wBAAwB;wBACxB,iBAAiB;wBACjB,qBAAqB;wBACrB,qBAAqB;wBACrB,iBAAiB;wBACjB,sBAAsB;wBACtB,iBAAiB;wBACvB,sBAAsB;wBACtB,kBAAkB;wBACZ,sBAAsB;wBACtB,yBAAyB;wBACzB,oBAAoB;wBACpB,sBAAsB;wBACtB,mBAAmB;wBACnB,qBAAqB;wBACrB,mBAAmB;wBACnB,wBAAwB;wBACxB,kBAAkB;wBAClB,mBAAmB;wBACnB,mBAAmB;wBACnB,oBAAoB;wBACpB,iBAAiB;wBACjB,kBAAkB;wBAClB,oBAAoB;wBACpB,oBAAoB;wBACpB,mBAAmB;wBACnB,oBAAoB;wBACpB,oBAAoB;wBACpB,gCAAgC;AACnC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,iBAAiB;wBACjB,YAAY;wBACZ,kBAAkB;wBAClB,yBAAyB;wBACzB,wBAAwB;wBACxB,iBAAiB;wBACjB,qBAAqB;wBACrB,qBAAqB;wBACrB,iBAAiB;wBACjB,sBAAsB;wBACtB,iBAAiB;wBACvB,sBAAsB;wBACtB,kBAAkB;wBACZ,sBAAsB;wBACtB,yBAAyB;wBACzB,oBAAoB;wBACpB,sBAAsB;wBACtB,mBAAmB;wBACnB,qBAAqB;wBACrB,mBAAmB;wBACnB,wBAAwB;wBACxB,kBAAkB;wBAClB,mBAAmB;wBACnB,mBAAmB;wBACnB,oBAAoB;wBACpB,iBAAiB;wBACjB,kBAAkB;wBAClB,oBAAoB;wBACpB,oBAAoB;wBACpB,mBAAmB;wBACnB,oBAAoB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,sBAAsB;AAC5B,qBAAA;AACE,oBAAA,SAAS,EAAE;wBACP,SAAS;AACf,qBAAA;iBACD,CAAA;;;AACY,CAAA,YAAA;AAAA,IAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,iBAAiB,mBA5EtB,iBAAiB;YACjB,YAAY;YACZ,iBAAiB;YACjB,mBAAmB;YACnB,kBAAkB;YAClB,yBAAyB;YACzB,wBAAwB;YACxB,iBAAiB;YACjB,qBAAqB;YACrB,qBAAqB;YACrB,iBAAiB;YACjB,sBAAsB;YACtB,iBAAiB;YACvB,sBAAsB;YACtB,kBAAkB;YACZ,sBAAsB;YACtB,yBAAyB;YACzB,oBAAoB;YACpB,sBAAsB;YACtB,mBAAmB;YACnB,qBAAqB;YACrB,mBAAmB;YACnB,wBAAwB;YACxB,kBAAkB;YAClB,mBAAmB;YACnB,mBAAmB;YACnB,oBAAoB;YACpB,iBAAiB;YACjB,kBAAkB;YAClB,oBAAoB;YACpB,oBAAoB;YACpB,mBAAmB;YACnB,oBAAoB;YACpB,oBAAoB;AACpB,YAAA,gCAAgC,aA3DhC,YAAY;YACZ,gBAAgB;YAChB,WAAW;YACX,mBAAmB;YACnB,aAAa;YACb,aAAa;YACb,cAAc;YACd,kBAAkB;YAClB,aAAa;YACb,eAAe;YACf,iBAAiB;YACjB,cAAc;YACd,eAAe;YACf,mBAAmB;YACnB,mBAAmB;YACnB,eAAe;YACf,oBAAoB;YACpB,qBAAqB;YACrB,gBAAgB;YAChB,YAAY;YACZ,kBAAkB;YAClB,mBAAmB;AACnB,YAAA,cAAc,aAwCd,iBAAiB;YACjB,YAAY;YACZ,kBAAkB;YAClB,yBAAyB;YACzB,wBAAwB;YACxB,iBAAiB;YACjB,qBAAqB;YACrB,qBAAqB;YACrB,iBAAiB;YACjB,sBAAsB;YACtB,iBAAiB;YACvB,sBAAsB;YACtB,kBAAkB;YACZ,sBAAsB;YACtB,yBAAyB;YACzB,oBAAoB;YACpB,sBAAsB;YACtB,mBAAmB;YACnB,qBAAqB;YACrB,mBAAmB;YACnB,wBAAwB;YACxB,kBAAkB;YAClB,mBAAmB;YACnB,mBAAmB;YACnB,oBAAoB;YACpB,iBAAiB;YACjB,kBAAkB;YAClB,oBAAoB;YACpB,oBAAoB;YACpB,mBAAmB;YACnB,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,GAAA;;AC9J5B;;AAEG;;;;"}