{"version":3,"file":"vts-voffice-ng-vts-select.mjs","sources":["../../components/select/option-group.component.ts","../../components/select/option-item.component.ts","../../components/select/option-item-group.component.ts","../../components/select/option-container.component.ts","../../components/select/option.component.ts","../../components/select/select-search.component.ts","../../components/select/select-item.component.ts","../../components/select/select-placeholder.component.ts","../../components/select/select-top-control.component.ts","../../components/select/select-clear.component.ts","../../components/select/select-arrow.component.ts","../../components/select/select-multiple-count.component.ts","../../components/select/select.component.ts","../../components/select/select.module.ts","../../components/select/select.types.ts","../../components/select/public-api.ts","../../components/select/vts-voffice-ng-vts-select.ts"],"sourcesContent":["/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  Input,\r\n  OnChanges,\r\n  TemplateRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'vts-option-group',\r\n  exportAs: 'vtsOptionGroup',\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  template: `\r\n    <ng-content></ng-content>\r\n  `\r\n})\r\nexport class VtsOptionGroupComponent implements OnChanges {\r\n  @Input() vtsLabel: string | TemplateRef<VtsSafeAny> | null = null;\r\n  changes = new Subject<void>();\r\n  ngOnChanges(): void {\r\n    this.changes.next();\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  Output,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\nimport { VtsSelectModeType } from './select.types';\r\n\r\n@Component({\r\n  selector: 'vts-option-item',\r\n  template: `\r\n    <div class=\"vts-select-item-option-content\">\r\n      <ng-container *ngIf=\"!customContent && mode === 'default'\">\r\n        {{ label }}\r\n      </ng-container>\r\n      <ng-container *ngIf=\"!customContent && mode !== 'default'\">\r\n        <label\r\n          [ngModel]=\"selected\"\r\n          (vtsCheckedChange)=\"innerCheckboxClick($event)\"\r\n          (click)=\"$event.stopPropagation()\"\r\n          vts-checkbox\r\n        >\r\n          {{ label }}\r\n        </label>\r\n      </ng-container>\r\n      <ng-container *ngIf=\"customContent\">\r\n        <ng-template [ngTemplateOutlet]=\"template\"></ng-template>\r\n      </ng-container>\r\n    </div>\r\n    <div\r\n      *ngIf=\"showState && selected\"\r\n      class=\"vts-select-item-option-state\"\r\n      style=\"user-select: none\"\r\n      unselectable=\"on\"\r\n    >\r\n      <i\r\n        vts-icon\r\n        vtsType=\"CheckOutline\"\r\n        class=\"vts-select-selected-icon\"\r\n        *ngIf=\"!icon; else icon\"\r\n      ></i>\r\n    </div>\r\n  `,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  host: {\r\n    '[attr.title]': 'label',\r\n    '[class.vts-select-item-option-grouped]': 'grouped',\r\n    '[class.vts-select-item-option-selected]': 'selected && !disabled',\r\n    '[class.vts-select-item-option-disabled]': 'disabled',\r\n    '[class.vts-select-item-option-active]': 'activated && !disabled',\r\n    '(mouseenter)': 'onHostMouseEnter()',\r\n    '(click)': 'onHostClick()'\r\n  }\r\n})\r\nexport class VtsOptionItemComponent implements OnChanges {\r\n  selected = false;\r\n  activated = false;\r\n  @Input() grouped = false;\r\n  @Input() customContent = false;\r\n  @Input() template: TemplateRef<VtsSafeAny> | null = null;\r\n  @Input() disabled = false;\r\n  @Input() showState = false;\r\n  @Input() label: string | null = null;\r\n  @Input() value: VtsSafeAny | null = null;\r\n  @Input() activatedValue: VtsSafeAny | null = null;\r\n  @Input() listOfSelectedValue: VtsSafeAny[] = [];\r\n  @Input() icon: TemplateRef<VtsSafeAny> | null = null;\r\n  @Input() mode: VtsSelectModeType = 'default';\r\n  @Input() vtsCustomCompareFn!: (o1: VtsSafeAny, o2: VtsSafeAny) => boolean;\r\n  @Output() readonly itemClick = new EventEmitter<VtsSafeAny>();\r\n  @Output() readonly itemHover = new EventEmitter<VtsSafeAny>();\r\n\r\n  constructor(private elementRef: ElementRef) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-select-item', 'vts-select-item-option');\r\n  }\r\n\r\n  onHostMouseEnter(): void {\r\n    if (!this.disabled) {\r\n      this.itemHover.next(this.value);\r\n    }\r\n  }\r\n  onHostClick(): void {\r\n    if (!this.disabled) {\r\n      this.itemClick.next(this.value);\r\n    }\r\n  }\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    const { value, activatedValue, listOfSelectedValue } = changes;\r\n    if (value || listOfSelectedValue) {\r\n      this.selected = this.listOfSelectedValue.some(v => this.vtsCustomCompareFn(v, this.value));\r\n    }\r\n    if (value || activatedValue) {\r\n      this.activated = this.vtsCustomCompareFn(this.activatedValue, this.value);\r\n    }\r\n  }\r\n\r\n  innerCheckboxClick(_e: any) {\r\n    this.onHostClick();\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  Input,\r\n  TemplateRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\n\r\n@Component({\r\n  selector: 'vts-option-item-group',\r\n  template: `\r\n    <ng-container *vtsStringTemplateOutlet=\"vtsLabel\">\r\n      {{ vtsLabel }}\r\n    </ng-container>\r\n  `,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None\r\n})\r\nexport class VtsOptionItemGroupComponent {\r\n  @Input() vtsLabel: string | TemplateRef<VtsSafeAny> | null = null;\r\n\r\n  constructor(private elementRef: ElementRef) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-select-item', 'vts-select-item-group');\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\r\nimport {\r\n  AfterViewInit,\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  Output,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n  ViewChild,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\nimport { VtsSelectItemInterface, VtsSelectModeType } from './select.types';\r\n\r\n@Component({\r\n  selector: 'vts-option-container',\r\n  exportAs: 'vtsOptionContainer',\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  preserveWhitespaces: false,\r\n  template: `\r\n    <div>\r\n      <div *ngIf=\"listOfContainerItem.length === 0\" class=\"vts-select-item-empty\">\r\n        <vts-embed-empty\r\n          vtsComponentName=\"select\"\r\n          [specificContent]=\"notFoundContent!\"\r\n        ></vts-embed-empty>\r\n      </div>\r\n      <cdk-virtual-scroll-viewport\r\n        [class.full-width]=\"!matchWidth\"\r\n        [itemSize]=\"itemSize\"\r\n        [maxBufferPx]=\"itemSize * maxItemLength\"\r\n        [minBufferPx]=\"itemSize * maxItemLength\"\r\n        (scrolledIndexChange)=\"onScrolledIndexChange($event)\"\r\n        [style.height.px]=\"listOfContainerItem.length * itemSize + 2\"\r\n        [style.max-height.px]=\"itemSize * maxItemLength + 2\"\r\n      >\r\n        <ng-template\r\n          cdkVirtualFor\r\n          [cdkVirtualForOf]=\"listOfContainerItem\"\r\n          [cdkVirtualForTrackBy]=\"trackValue\"\r\n          [cdkVirtualForTemplateCacheSize]=\"0\"\r\n          let-item\r\n        >\r\n          <ng-container [ngSwitch]=\"item.type\">\r\n            <vts-option-item-group\r\n              *ngSwitchCase=\"'group'\"\r\n              [vtsLabel]=\"item.groupLabel\"\r\n            ></vts-option-item-group>\r\n            <vts-option-item\r\n              *ngSwitchCase=\"'item'\"\r\n              [icon]=\"menuItemSelectedIcon\"\r\n              [customContent]=\"item.vtsCustomContent\"\r\n              [template]=\"item.template\"\r\n              [grouped]=\"!!item.groupLabel\"\r\n              [disabled]=\"item.vtsDisabled\"\r\n              [showState]=\"mode === 'default'\"\r\n              [mode]=\"mode\"\r\n              [label]=\"item.vtsLabel\"\r\n              [vtsCustomCompareFn]=\"vtsCustomCompareFn\"\r\n              [activatedValue]=\"activatedValue\"\r\n              [listOfSelectedValue]=\"listOfSelectedValue\"\r\n              [value]=\"item.vtsValue\"\r\n              (itemHover)=\"onItemHover($event)\"\r\n              (itemClick)=\"onItemClick($event)\"\r\n            ></vts-option-item>\r\n          </ng-container>\r\n        </ng-template>\r\n      </cdk-virtual-scroll-viewport>\r\n      <ng-template [ngTemplateOutlet]=\"dropdownRender\"></ng-template>\r\n    </div>\r\n  `\r\n})\r\nexport class VtsOptionContainerComponent implements OnChanges, AfterViewInit {\r\n  @Input() notFoundContent: string | TemplateRef<VtsSafeAny> | undefined = undefined;\r\n  @Input() menuItemSelectedIcon: TemplateRef<VtsSafeAny> | null = null;\r\n  @Input() dropdownRender: TemplateRef<VtsSafeAny> | null = null;\r\n  @Input() activatedValue: VtsSafeAny | null = null;\r\n  @Input() listOfSelectedValue: VtsSafeAny[] = [];\r\n  @Input() vtsCustomCompareFn!: (o1: VtsSafeAny, o2: VtsSafeAny) => boolean;\r\n  @Input() mode: VtsSelectModeType = 'default';\r\n  @Input() matchWidth = true;\r\n  @Input() itemSize = 48;\r\n  @Input() maxItemLength = 8;\r\n  @Input() listOfContainerItem: VtsSelectItemInterface[] = [];\r\n  @Output() readonly itemClick = new EventEmitter<VtsSafeAny>();\r\n  @Output() readonly scrollToBottom = new EventEmitter<void>();\r\n  @ViewChild(CdkVirtualScrollViewport, { static: true })\r\n  cdkVirtualScrollViewport!: CdkVirtualScrollViewport;\r\n  private scrolledIndex = 0;\r\n\r\n  constructor(private elementRef: ElementRef) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-select-dropdown');\r\n  }\r\n\r\n  onItemClick(value: VtsSafeAny): void {\r\n    this.itemClick.emit(value);\r\n  }\r\n\r\n  onItemHover(value: VtsSafeAny): void {\r\n    // TODO: keydown.enter won't activate this value\r\n    this.activatedValue = value;\r\n  }\r\n\r\n  trackValue(_index: number, option: VtsSelectItemInterface): VtsSafeAny {\r\n    return option.key;\r\n  }\r\n\r\n  onScrolledIndexChange(index: number): void {\r\n    this.scrolledIndex = index;\r\n    if (index === this.listOfContainerItem.length - this.maxItemLength) {\r\n      this.scrollToBottom.emit();\r\n    }\r\n  }\r\n\r\n  scrollToActivatedValue(): void {\r\n    const index = this.listOfContainerItem.findIndex(item =>\r\n      this.vtsCustomCompareFn(item.key, this.activatedValue)\r\n    );\r\n    if (index < this.scrolledIndex || index >= this.scrolledIndex + this.maxItemLength) {\r\n      this.cdkVirtualScrollViewport.scrollToIndex(index || 0);\r\n    }\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    const { listOfContainerItem, activatedValue } = changes;\r\n    if (listOfContainerItem || activatedValue) {\r\n      this.scrollToActivatedValue();\r\n    }\r\n  }\r\n  ngAfterViewInit(): void {\r\n    setTimeout(() => this.scrollToActivatedValue());\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Optional,\r\n  TemplateRef,\r\n  ViewChild,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { BooleanInput, VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\nimport { InputBoolean } from '@vts-voffice/ng-vts/core/util';\r\nimport { Subject } from 'rxjs';\r\nimport { startWith, takeUntil } from 'rxjs/operators';\r\nimport { VtsOptionGroupComponent } from './option-group.component';\r\n\r\n@Component({\r\n  selector: 'vts-option',\r\n  exportAs: 'vtsOption',\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  template: `\r\n    <ng-template>\r\n      <ng-content></ng-content>\r\n    </ng-template>\r\n  `\r\n})\r\nexport class VtsOptionComponent implements OnChanges, OnInit, OnDestroy {\r\n  static ngAcceptInputType_vtsDisabled: BooleanInput;\r\n  static ngAcceptInputType_vtsHide: BooleanInput;\r\n  static ngAcceptInputType_vtsCustomContent: BooleanInput;\r\n\r\n  private destroy$ = new Subject<void>();\r\n  changes = new Subject();\r\n  groupLabel: string | TemplateRef<VtsSafeAny> | null = null;\r\n  @ViewChild(TemplateRef, { static: true }) template!: TemplateRef<VtsSafeAny>;\r\n  @Input() vtsLabel: string | null = null;\r\n  @Input() vtsValue: VtsSafeAny | null = null;\r\n  @Input() @InputBoolean() vtsDisabled = false;\r\n  @Input() @InputBoolean() vtsHide = false;\r\n  @Input() @InputBoolean() vtsCustomContent = false;\r\n\r\n  constructor(@Optional() private vtsOptionGroupComponent: VtsOptionGroupComponent) {}\r\n\r\n  ngOnInit(): void {\r\n    if (this.vtsOptionGroupComponent) {\r\n      this.vtsOptionGroupComponent.changes\r\n        .pipe(startWith(true), takeUntil(this.destroy$))\r\n        .subscribe(() => {\r\n          this.groupLabel = this.vtsOptionGroupComponent.vtsLabel;\r\n        });\r\n    }\r\n  }\r\n\r\n  ngOnChanges(): void {\r\n    this.changes.next();\r\n  }\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { FocusMonitor } from '@angular/cdk/a11y';\r\nimport {\r\n  AfterViewInit,\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  OnChanges,\r\n  Output,\r\n  Renderer2,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n  ViewChild,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { COMPOSITION_BUFFER_MODE } from '@angular/forms';\r\nimport { VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\n\r\n@Component({\r\n  selector: 'vts-select-search',\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  template: `\r\n    <input\r\n      #inputElement\r\n      [attr.id]=\"vtsId\"\r\n      autocomplete=\"off\"\r\n      class=\"vts-select-selection-search-input\"\r\n      [ngModel]=\"value\"\r\n      [placeholder]=\"placeholder\"\r\n      [attr.autofocus]=\"autofocus ? 'autofocus' : null\"\r\n      [disabled]=\"disabled\"\r\n      [style.opacity]=\"showInput ? null : 0\"\r\n      (ngModelChange)=\"onValueChange($event)\"\r\n      (compositionstart)=\"setCompositionState(true)\"\r\n      (compositionend)=\"setCompositionState(false)\"\r\n    />\r\n    <span #mirrorElement *ngIf=\"mirrorSync\" class=\"vts-select-selection-search-mirror\"></span>\r\n  `,\r\n  providers: [{ provide: COMPOSITION_BUFFER_MODE, useValue: false }]\r\n})\r\nexport class VtsSelectSearchComponent implements AfterViewInit, OnChanges {\r\n  @Input() vtsId: string | null = null;\r\n  @Input() disabled = false;\r\n  @Input() mirrorSync = false;\r\n  @Input() showInput = true;\r\n  @Input() focusTrigger = false;\r\n  @Input() value = '';\r\n  @Input() autofocus = false;\r\n  @Input() placeholder: string | TemplateRef<VtsSafeAny> | null = '';\r\n  @Output() readonly valueChange = new EventEmitter<string>();\r\n  @Output() readonly isComposingChange = new EventEmitter<boolean>();\r\n  @ViewChild('inputElement', { static: true }) inputElement!: ElementRef;\r\n  @ViewChild('mirrorElement', { static: false }) mirrorElement?: ElementRef;\r\n\r\n  setCompositionState(isComposing: boolean): void {\r\n    this.isComposingChange.next(isComposing);\r\n  }\r\n\r\n  onValueChange(value: string): void {\r\n    this.value = value;\r\n    this.valueChange.next(value);\r\n    if (this.mirrorSync) {\r\n      this.syncMirrorWidth();\r\n    }\r\n  }\r\n\r\n  clearInputValue(): void {\r\n    const inputDOM = this.inputElement.nativeElement;\r\n    inputDOM.value = '';\r\n    this.onValueChange('');\r\n  }\r\n\r\n  syncMirrorWidth(): void {\r\n    // const mirrorDOM = this.mirrorElement!.nativeElement;\r\n    // const hostDOM = this.elementRef.nativeElement;\r\n    // const inputDOM = this.inputElement.nativeElement;\r\n    // this.renderer.removeStyle(hostDOM, 'width');\r\n    // mirrorDOM.innerHTML = this.renderer.createText(`${inputDOM.value}&nbsp;`);\r\n    // this.renderer.setStyle(hostDOM, 'width', `${mirrorDOM.scrollWidth}px`);\r\n  }\r\n\r\n  focus(): void {\r\n    this.focusMonitor.focusVia(this.inputElement, 'keyboard');\r\n  }\r\n\r\n  blur(): void {\r\n    this.inputElement.nativeElement.blur();\r\n  }\r\n\r\n  constructor(\r\n    private elementRef: ElementRef,\r\n    private renderer: Renderer2,\r\n    private focusMonitor: FocusMonitor\r\n  ) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-select-selection-search');\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    const inputDOM = this.inputElement.nativeElement;\r\n    const { focusTrigger, showInput } = changes;\r\n\r\n    if (showInput) {\r\n      if (this.showInput) {\r\n        this.renderer.removeAttribute(inputDOM, 'readonly');\r\n      } else {\r\n        this.renderer.setAttribute(inputDOM, 'readonly', 'readonly');\r\n      }\r\n    }\r\n\r\n    // IE11 cannot input value if focused before removing readonly\r\n    if (\r\n      focusTrigger &&\r\n      focusTrigger.currentValue === true &&\r\n      focusTrigger.previousValue === false\r\n    ) {\r\n      inputDOM.focus();\r\n    }\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    if (this.mirrorSync) {\r\n      this.syncMirrorWidth();\r\n    }\r\n    if (this.autofocus) {\r\n      this.focus();\r\n    }\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  Output,\r\n  TemplateRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\n\r\n@Component({\r\n  selector: 'vts-select-item',\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  template: `\r\n    <ng-container\r\n      *vtsStringTemplateOutlet=\"\r\n        contentTemplateOutlet;\r\n        context: { $implicit: contentTemplateOutletContext }\r\n      \"\r\n    >\r\n      <div class=\"vts-select-selection-item-content\" *ngIf=\"deletable; else labelTemplate\">\r\n        {{ label }}\r\n      </div>\r\n      <ng-template #labelTemplate>{{ label }}</ng-template>\r\n    </ng-container>\r\n    <span\r\n      *ngIf=\"deletable && !disabled\"\r\n      class=\"vts-select-selection-item-remove\"\r\n      (click)=\"onDelete($event)\"\r\n    >\r\n      <i vts-icon vtsType=\"Close\" *ngIf=\"!removeIcon; else removeIcon\"></i>\r\n    </span>\r\n  `,\r\n  host: {\r\n    '[attr.title]': 'label',\r\n    '[class.vts-select-selection-item-disabled]': 'disabled'\r\n  }\r\n})\r\nexport class VtsSelectItemComponent {\r\n  @Input() disabled = false;\r\n  @Input() label: string | null | undefined = null;\r\n  @Input() deletable = false;\r\n  @Input() removeIcon: TemplateRef<VtsSafeAny> | null = null;\r\n  @Input() contentTemplateOutletContext: VtsSafeAny | null = null;\r\n  @Input() contentTemplateOutlet: string | TemplateRef<VtsSafeAny> | null = null;\r\n  @Output() readonly delete = new EventEmitter<MouseEvent>();\r\n\r\n  constructor(private elementRef: ElementRef) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-select-selection-item');\r\n  }\r\n\r\n  onDelete(e: MouseEvent): void {\r\n    e.preventDefault();\r\n    e.stopPropagation();\r\n    if (!this.disabled) {\r\n      this.delete.next(e);\r\n    }\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  Input,\r\n  TemplateRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\n\r\n@Component({\r\n  selector: 'vts-select-placeholder',\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  template: `\r\n    <ng-container *vtsStringTemplateOutlet=\"placeholder\">\r\n      {{ placeholder }}\r\n    </ng-container>\r\n  `\r\n})\r\nexport class VtsSelectPlaceholderComponent {\r\n  @Input() placeholder: TemplateRef<VtsSafeAny> | string | null = null;\r\n\r\n  constructor(private elementRef: ElementRef) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-select-selection-placeholder');\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { BACKSPACE } from '@angular/cdk/keycodes';\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Host,\r\n  Input,\r\n  OnChanges,\r\n  Optional,\r\n  Output,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n  ViewChild,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { VtsNoAnimationDirective } from '@vts-voffice/ng-vts/core/no-animation';\r\nimport { VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\nimport { VtsSelectSearchComponent } from './select-search.component';\r\nimport {\r\n  VtsSelectItemInterface,\r\n  VtsSelectModeType,\r\n  VtsSelectTopControlItemType\r\n} from './select.types';\r\n\r\n@Component({\r\n  selector: 'vts-select-top-control',\r\n  exportAs: 'vtsSelectTopControl',\r\n  preserveWhitespaces: false,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  template: `\r\n    <!--single mode-->\r\n    <ng-container [ngSwitch]=\"mode\">\r\n      <ng-container *ngSwitchCase=\"'default'\">\r\n        <vts-select-search\r\n          [vtsId]=\"vtsId\"\r\n          [disabled]=\"disabled\"\r\n          [value]=\"inputValue!\"\r\n          [showInput]=\"showSearch\"\r\n          [mirrorSync]=\"false\"\r\n          [autofocus]=\"autofocus\"\r\n          [focusTrigger]=\"open\"\r\n          (isComposingChange)=\"isComposingChange($event)\"\r\n          (valueChange)=\"onInputValueChange($event)\"\r\n        ></vts-select-search>\r\n        <vts-select-item\r\n          *ngIf=\"isShowSingleLabel\"\r\n          [deletable]=\"false\"\r\n          [disabled]=\"false\"\r\n          [removeIcon]=\"removeIcon\"\r\n          [label]=\"listOfTopItem[0].vtsLabel\"\r\n          [contentTemplateOutlet]=\"customTemplate\"\r\n          [contentTemplateOutletContext]=\"listOfTopItem[0]\"\r\n        ></vts-select-item>\r\n      </ng-container>\r\n      <ng-container *ngSwitchDefault>\r\n        <!--multiple or tags mode-->\r\n        <vts-select-item\r\n          *ngFor=\"let item of listOfSlicedItem; trackBy: trackValue\"\r\n          [removeIcon]=\"removeIcon\"\r\n          [label]=\"item.vtsLabel\"\r\n          [disabled]=\"item.vtsDisabled || disabled\"\r\n          [contentTemplateOutlet]=\"item.contentTemplateOutlet\"\r\n          [deletable]=\"true\"\r\n          [contentTemplateOutletContext]=\"item.contentTemplateOutletContext\"\r\n          (delete)=\"onDeleteItem(item.contentTemplateOutletContext)\"\r\n        ></vts-select-item>\r\n        <vts-select-search\r\n          [vtsId]=\"vtsId\"\r\n          [disabled]=\"disabled\"\r\n          [value]=\"inputValue!\"\r\n          [autofocus]=\"autofocus\"\r\n          [showInput]=\"showSearch\"\r\n          [mirrorSync]=\"true\"\r\n          [focusTrigger]=\"open\"\r\n          (isComposingChange)=\"isComposingChange($event)\"\r\n          (valueChange)=\"onInputValueChange($event)\"\r\n          [placeholder]=\"\r\n            this.listOfTopItem.length !== 0 && !!placeHolder && !disabled ? placeHolder : ''\r\n          \"\r\n        ></vts-select-search>\r\n      </ng-container>\r\n    </ng-container>\r\n    <vts-select-placeholder\r\n      *ngIf=\"isShowPlaceholder\"\r\n      [placeholder]=\"placeHolder\"\r\n    ></vts-select-placeholder>\r\n  `,\r\n  host: {\r\n    '(keydown)': 'onHostKeydown($event)'\r\n  }\r\n})\r\nexport class VtsSelectTopControlComponent implements OnChanges {\r\n  @Input() vtsId: string | null = null;\r\n  @Input() showSearch = false;\r\n  @Input() placeHolder: string | TemplateRef<VtsSafeAny> | null = null;\r\n  @Input() open = false;\r\n  @Input() maxTagCount: number = Infinity;\r\n  @Input() autofocus = false;\r\n  @Input() disabled = false;\r\n  @Input() mode: VtsSelectModeType = 'default';\r\n  @Input() customTemplate: TemplateRef<{\r\n    $implicit: VtsSelectItemInterface;\r\n  }> | null = null;\r\n  @Input() maxTagPlaceholder: TemplateRef<{\r\n    $implicit: VtsSafeAny[];\r\n  }> | null = null;\r\n  @Input() removeIcon: TemplateRef<VtsSafeAny> | null = null;\r\n  @Input() listOfTopItem: VtsSelectItemInterface[] = [];\r\n  @Input() tokenSeparators: string[] = [];\r\n  @Output() readonly tokenize = new EventEmitter<string[]>();\r\n  @Output() readonly inputValueChange = new EventEmitter<string>();\r\n  @Output() readonly deleteItem = new EventEmitter<VtsSelectItemInterface>();\r\n  @ViewChild(VtsSelectSearchComponent)\r\n  vtsSelectSearchComponent!: VtsSelectSearchComponent;\r\n  listOfSlicedItem: VtsSelectTopControlItemType[] = [];\r\n  isShowPlaceholder = true;\r\n  isShowSingleLabel = false;\r\n  isComposing = false;\r\n  inputValue: string | null = null;\r\n\r\n  onHostKeydown(e: KeyboardEvent): void {\r\n    const inputValue = (e.target as HTMLInputElement).value;\r\n    if (\r\n      e.keyCode === BACKSPACE &&\r\n      this.mode !== 'default' &&\r\n      !inputValue &&\r\n      this.listOfTopItem.length > 0\r\n    ) {\r\n      e.preventDefault();\r\n      this.onDeleteItem(this.listOfTopItem[this.listOfTopItem.length - 1]);\r\n    }\r\n  }\r\n\r\n  updateTemplateVariable(): void {\r\n    const isSelectedValueEmpty = this.listOfTopItem.length === 0;\r\n    this.isShowPlaceholder = isSelectedValueEmpty && !this.isComposing && !this.inputValue;\r\n    this.isShowSingleLabel = !isSelectedValueEmpty && !this.isComposing && !this.inputValue;\r\n  }\r\n\r\n  isComposingChange(isComposing: boolean): void {\r\n    this.isComposing = isComposing;\r\n    this.updateTemplateVariable();\r\n  }\r\n\r\n  onInputValueChange(value: string): void {\r\n    if (value !== this.inputValue) {\r\n      this.inputValue = value;\r\n      this.updateTemplateVariable();\r\n      this.inputValueChange.emit(value);\r\n      this.tokenSeparate(value, this.tokenSeparators);\r\n    }\r\n  }\r\n\r\n  tokenSeparate(inputValue: string, tokenSeparators: string[]): void {\r\n    const includesSeparators = (str: string | string[], separators: string[]): boolean => {\r\n      // tslint:disable-next-line:prefer-for-of\r\n      for (let i = 0; i < separators.length; ++i) {\r\n        if (str.lastIndexOf(separators[i]) > 0) {\r\n          return true;\r\n        }\r\n      }\r\n      return false;\r\n    };\r\n    const splitBySeparators = (str: string | string[], separators: string[]): string[] => {\r\n      const reg = new RegExp(`[${separators.join()}]`);\r\n      const array = (str as string).split(reg).filter(token => token);\r\n      return [...new Set(array)];\r\n    };\r\n    if (\r\n      inputValue &&\r\n      inputValue.length &&\r\n      tokenSeparators.length &&\r\n      this.mode !== 'default' &&\r\n      includesSeparators(inputValue, tokenSeparators)\r\n    ) {\r\n      const listOfLabel = splitBySeparators(inputValue, tokenSeparators);\r\n      this.tokenize.next(listOfLabel);\r\n    }\r\n  }\r\n\r\n  clearInputValue(): void {\r\n    if (this.vtsSelectSearchComponent) {\r\n      this.vtsSelectSearchComponent.clearInputValue();\r\n    }\r\n  }\r\n\r\n  focus(): void {\r\n    if (this.vtsSelectSearchComponent) {\r\n      this.vtsSelectSearchComponent.focus();\r\n    }\r\n  }\r\n\r\n  blur(): void {\r\n    if (this.vtsSelectSearchComponent) {\r\n      this.vtsSelectSearchComponent.blur();\r\n    }\r\n  }\r\n\r\n  trackValue(_index: number, option: VtsSelectTopControlItemType): VtsSafeAny {\r\n    return option.vtsValue;\r\n  }\r\n\r\n  onDeleteItem(item: VtsSelectItemInterface): void {\r\n    if (!this.disabled && !item.vtsDisabled) {\r\n      this.deleteItem.next(item);\r\n    }\r\n  }\r\n\r\n  constructor(\r\n    private elementRef: ElementRef,\r\n    @Host() @Optional() public noAnimation?: VtsNoAnimationDirective\r\n  ) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-select-selector');\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    const { listOfTopItem, maxTagCount, customTemplate, maxTagPlaceholder } = changes;\r\n    if (listOfTopItem) {\r\n      this.updateTemplateVariable();\r\n    }\r\n    if (listOfTopItem || maxTagCount || customTemplate || maxTagPlaceholder) {\r\n      const listOfSlicedItem: VtsSelectTopControlItemType[] = this.listOfTopItem\r\n        .slice(0, this.maxTagCount)\r\n        .map(o => {\r\n          return {\r\n            vtsLabel: o.vtsLabel,\r\n            vtsValue: o.vtsValue,\r\n            vtsDisabled: o.vtsDisabled,\r\n            contentTemplateOutlet: this.customTemplate,\r\n            contentTemplateOutletContext: o\r\n          };\r\n        });\r\n      if (this.listOfTopItem.length > this.maxTagCount) {\r\n        const exceededLabel = `+ ${this.listOfTopItem.length - this.maxTagCount} ...`;\r\n        const listOfSelectedValue = this.listOfTopItem.map(item => item.vtsValue);\r\n        const exceededItem = {\r\n          vtsLabel: exceededLabel,\r\n          vtsValue: '$$__vts_exceeded_item',\r\n          vtsDisabled: true,\r\n          contentTemplateOutlet: this.maxTagPlaceholder,\r\n          contentTemplateOutletContext: listOfSelectedValue.slice(this.maxTagCount)\r\n        };\r\n        listOfSlicedItem.push(exceededItem);\r\n      }\r\n      this.listOfSlicedItem = listOfSlicedItem;\r\n    }\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  Output,\r\n  TemplateRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\n\r\n@Component({\r\n  selector: 'vts-select-clear',\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  template: `\r\n    <i\r\n      vts-icon\r\n      vtsType=\"Close\"\r\n      *ngIf=\"!clearIcon; else clearIcon\"\r\n      class=\"vts-select-close-icon\"\r\n    ></i>\r\n  `,\r\n  host: {\r\n    '(click)': 'onClick($event)'\r\n  }\r\n})\r\nexport class VtsSelectClearComponent {\r\n  @Input() clearIcon: TemplateRef<VtsSafeAny> | null = null;\r\n  @Output() readonly clear = new EventEmitter<MouseEvent>();\r\n\r\n  constructor(private elementRef: ElementRef) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-select-clear');\r\n  }\r\n\r\n  onClick(e: MouseEvent): void {\r\n    e.preventDefault();\r\n    e.stopPropagation();\r\n    this.clear.emit(e);\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport {\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  Input,\r\n  Output,\r\n  TemplateRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\n\r\n@Component({\r\n  selector: 'vts-select-arrow',\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  template: `\r\n    <i vts-icon vtsType=\"Sync\" *ngIf=\"loading; else defaultArrow\"></i>\r\n    <ng-template #defaultArrow>\r\n      <ng-container *ngIf=\"!suffixIcon; else suffixTemplate\">\r\n        <i vts-icon vtsType=\"ChevronDown:octIcon\" (click)=\"onClickArrow($event)\"></i>\r\n      </ng-container>\r\n      <ng-template #suffixTemplate>\r\n        <ng-container *vtsStringTemplateOutlet=\"suffixIcon; let suffixIcon\">\r\n          <i vts-icon [vtsType]=\"suffixIcon\" (click)=\"onClickArrow($event)\"></i>\r\n        </ng-container>\r\n      </ng-template>\r\n    </ng-template>\r\n  `,\r\n  host: {\r\n    '[class.vts-select-arrow-loading]': 'loading'\r\n  }\r\n})\r\nexport class VtsSelectArrowComponent {\r\n  @Input() loading = false;\r\n  @Input() search = false;\r\n  @Input() suffixIcon: TemplateRef<VtsSafeAny> | string | null = null;\r\n  @Input() isSelectOpen: boolean = false;\r\n\r\n  @Output() clickArrow = new EventEmitter<boolean>();\r\n\r\n  constructor(private elementRef: ElementRef) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-select-arrow');\r\n  }\r\n\r\n  /**\r\n   * close select when it's opening \r\n   */\r\n  onClickArrow(evt: MouseEvent){\r\n    if(!this.isSelectOpen){\r\n      return;\r\n    }\r\n    else {\r\n      this.clickArrow.emit(false);\r\n      // stop fire host click event\r\n      evt.stopPropagation();\r\n    }\r\n  }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'vts-select-multiple-count',\r\n  encapsulation: ViewEncapsulation.None,\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  template: `\r\n    <ng-container *ngIf=\"count\">\r\n      <span>{{ count }}</span>\r\n    </ng-container>\r\n  `,\r\n  host: {\r\n    '[class.vts-select-multiple-count]': 'true'\r\n  }\r\n})\r\nexport class VtsSelectMultipleCountComponent {\r\n  @Input() count: number = 0;\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { Direction, Directionality } from '@angular/cdk/bidi';\r\nimport { DOWN_ARROW, ENTER, ESCAPE, SPACE, TAB, UP_ARROW } from '@angular/cdk/keycodes';\r\nimport {\r\n  CdkConnectedOverlay,\r\n  CdkOverlayOrigin,\r\n  ConnectedOverlayPositionChange\r\n} from '@angular/cdk/overlay';\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport {\r\n  AfterContentInit,\r\n  ChangeDetectionStrategy,\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ContentChildren,\r\n  ElementRef,\r\n  EventEmitter,\r\n  forwardRef,\r\n  Host,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Optional,\r\n  Output,\r\n  QueryList,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n  ViewChild,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\n\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { slideMotion } from '@vts-voffice/ng-vts/core/animation';\r\nimport { VtsConfigKey, VtsConfigService, WithConfig } from '@vts-voffice/ng-vts/core/config';\r\nimport { VtsNoAnimationDirective } from '@vts-voffice/ng-vts/core/no-animation';\r\nimport { reqAnimFrame } from '@vts-voffice/ng-vts/core/polyfill';\r\nimport {\r\n  BooleanInput,\r\n  VtsSafeAny,\r\n  OnChangeType,\r\n  OnTouchedType,\r\n  VtsSizeXLMSType\r\n} from '@vts-voffice/ng-vts/core/types';\r\nimport { InputBoolean, isNotNil } from '@vts-voffice/ng-vts/core/util';\r\nimport { BehaviorSubject, combineLatest, merge, Subject } from 'rxjs';\r\nimport { startWith, switchMap, takeUntil } from 'rxjs/operators';\r\nimport { VtsOptionGroupComponent } from './option-group.component';\r\nimport { VtsOptionComponent } from './option.component';\r\nimport { VtsSelectTopControlComponent } from './select-top-control.component';\r\nimport {\r\n  VtsFilterOptionType,\r\n  VtsSelectItemInterface,\r\n  VtsSelectModeType,\r\n  VtsSelectOptionInterface\r\n} from './select.types';\r\n\r\nconst defaultFilterOption: VtsFilterOptionType = (\r\n  searchValue: string,\r\n  item: VtsSelectItemInterface\r\n): boolean => {\r\n  if (item && item.vtsLabel) {\r\n    return item.vtsLabel.toLowerCase().indexOf(searchValue.toLowerCase()) > -1;\r\n  } else {\r\n    return false;\r\n  }\r\n};\r\n\r\nconst VTS_CONFIG_MODULE_NAME: VtsConfigKey = 'select';\r\n\r\n@Component({\r\n  selector: 'vts-select',\r\n  exportAs: 'vtsSelect',\r\n  preserveWhitespaces: false,\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => VtsSelectComponent),\r\n      multi: true\r\n    }\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  animations: [slideMotion],\r\n  template: `\r\n    <vts-select-top-control\r\n      cdkOverlayOrigin\r\n      #origin=\"cdkOverlayOrigin\"\r\n      [vtsId]=\"vtsId\"\r\n      [open]=\"vtsOpen\"\r\n      [disabled]=\"vtsDisabled\"\r\n      [mode]=\"vtsMode\"\r\n      [@.disabled]=\"noAnimation?.vtsNoAnimation\"\r\n      [vtsNoAnimation]=\"noAnimation?.vtsNoAnimation\"\r\n      [maxTagPlaceholder]=\"vtsMaxTagPlaceholder\"\r\n      [removeIcon]=\"vtsRemoveIcon\"\r\n      [placeHolder]=\"vtsPlaceHolder\"\r\n      [maxTagCount]=\"vtsMaxTagCount\"\r\n      [customTemplate]=\"vtsCustomTemplate\"\r\n      [tokenSeparators]=\"vtsTokenSeparators\"\r\n      [showSearch]=\"vtsShowSearch\"\r\n      [autofocus]=\"vtsAutoFocus\"\r\n      [listOfTopItem]=\"listOfTopItem\"\r\n      (inputValueChange)=\"onInputValueChange($event)\"\r\n      (tokenize)=\"onTokenSeparate($event)\"\r\n      (deleteItem)=\"onItemDelete($event)\"\r\n      (keydown)=\"onKeyDown($event)\"\r\n    ></vts-select-top-control>\r\n    <vts-select-arrow\r\n      [loading]=\"vtsLoading\"\r\n      [search]=\"vtsOpen && vtsShowSearch\"\r\n      [suffixIcon]=\"vtsSuffixIcon\"\r\n      [isSelectOpen]=\"vtsOpen\"\r\n      (clickArrow)=\"clickArrow($event)\"\r\n    ></vts-select-arrow>\r\n    <vts-select-clear\r\n      *ngIf=\"vtsAllowClear && !vtsDisabled && listOfValue.length\"\r\n      [clearIcon]=\"vtsClearIcon\"\r\n      (clear)=\"onClearSelection()\"\r\n    ></vts-select-clear>\r\n    <vts-select-multiple-count\r\n      *ngIf=\"vtsMode !== 'default' && !vtsDisabled && !!listOfValue?.length\"\r\n      [count]=\"listOfValue.length\"\r\n    ></vts-select-multiple-count>\r\n    <ng-template\r\n      cdkConnectedOverlay\r\n      vtsConnectedOverlay\r\n      [cdkConnectedOverlayHasBackdrop]=\"vtsBackdrop\"\r\n      [cdkConnectedOverlayMinWidth]=\"$any(vtsDropdownMatchSelectWidth ? null : triggerWidth)\"\r\n      [cdkConnectedOverlayWidth]=\"$any(vtsDropdownMatchSelectWidth ? triggerWidth : null)\"\r\n      [cdkConnectedOverlayOrigin]=\"origin\"\r\n      [cdkConnectedOverlayTransformOriginOn]=\"'.vts-select-dropdown'\"\r\n      [cdkConnectedOverlayPanelClass]=\"vtsDropdownClassName!\"\r\n      [cdkConnectedOverlayOpen]=\"vtsOpen\"\r\n      (overlayKeydown)=\"onOverlayKeyDown($event)\"\r\n      (overlayOutsideClick)=\"onClickOutside($event)\"\r\n      (detach)=\"setOpenState(false)\"\r\n      (positionChange)=\"onPositionChange($event)\"\r\n    >\r\n      <vts-option-container\r\n        [ngStyle]=\"vtsDropdownStyle\"\r\n        [itemSize]=\"vtsOptionHeightPx\"\r\n        [maxItemLength]=\"vtsOptionOverflowSize\"\r\n        [matchWidth]=\"vtsDropdownMatchSelectWidth\"\r\n        [class.vts-select-dropdown-placement-bottomLeft]=\"dropDownPosition === 'bottom'\"\r\n        [class.vts-select-dropdown-placement-topLeft]=\"dropDownPosition === 'top'\"\r\n        [class.vts-select-dropdown-xl]=\"vtsSize === 'xl'\"\r\n        [class.vts-select-dropdown-lg]=\"vtsSize === 'lg'\"\r\n        [class.vts-select-dropdown-md]=\"vtsSize === 'md'\"\r\n        [class.vts-select-dropdown-sm]=\"vtsSize === 'sm'\"\r\n        [class.vts-select-dropdown-single]=\"vtsMode === 'default'\"\r\n        [class.vts-select-dropdown-multiple]=\"vtsMode !== 'default'\"\r\n        [@slideMotion]=\"'enter'\"\r\n        [@.disabled]=\"noAnimation?.vtsNoAnimation\"\r\n        [vtsNoAnimation]=\"noAnimation?.vtsNoAnimation\"\r\n        [listOfContainerItem]=\"listOfContainerItem\"\r\n        [menuItemSelectedIcon]=\"vtsMenuItemSelectedIcon\"\r\n        [notFoundContent]=\"vtsNoResult\"\r\n        [activatedValue]=\"activatedValue\"\r\n        [listOfSelectedValue]=\"listOfValue\"\r\n        [dropdownRender]=\"vtsDropdownRender\"\r\n        [vtsCustomCompareFn]=\"vtsCustomCompareFn\"\r\n        [mode]=\"vtsMode\"\r\n        (keydown)=\"onKeyDown($event)\"\r\n        (itemClick)=\"onItemClick($event)\"\r\n        (scrollToBottom)=\"vtsScrollToBottom.emit()\"\r\n      ></vts-option-container>\r\n    </ng-template>\r\n  `,\r\n  host: {\r\n    '[class.vts-select-xl]': 'vtsSize === \"xl\"',\r\n    '[class.vts-select-lg]': 'vtsSize === \"lg\"',\r\n    '[class.vts-select-md]': 'vtsSize === \"md\"',\r\n    '[class.vts-select-sm]': 'vtsSize === \"sm\"',\r\n    '[class.vts-select-show-arrow]': `vtsShowArrow`,\r\n    '[class.vts-select-disabled]': 'vtsDisabled',\r\n    '[class.vts-select-show-search]': `vtsShowSearch && !vtsDisabled`,\r\n    '[class.vts-select-allow-clear]': 'vtsAllowClear',\r\n    '[class.vts-select-borderless]': 'vtsBorderless',\r\n    '[class.vts-select-open]': 'vtsOpen',\r\n    '[class.vts-select-focused]': 'vtsOpen || focused',\r\n    '[class.vts-select-single]': `vtsMode === 'default'`,\r\n    '[class.vts-select-multiple]': `vtsMode !== 'default'`,\r\n    '[class.vts-select-rtl]': `dir === 'rtl'`,\r\n    '(click)': 'onHostClick()'\r\n  }\r\n})\r\nexport class VtsSelectComponent\r\n  implements ControlValueAccessor, OnInit, OnDestroy, AfterContentInit, OnChanges\r\n{\r\n  readonly _vtsModuleName: VtsConfigKey = VTS_CONFIG_MODULE_NAME;\r\n\r\n  static ngAcceptInputType_vtsAllowClear: BooleanInput;\r\n  static ngAcceptInputType_vtsBorderless: BooleanInput;\r\n  static ngAcceptInputType_vtsShowSearch: BooleanInput;\r\n  static ngAcceptInputType_vtsLoading: BooleanInput;\r\n  static ngAcceptInputType_vtsAutoFocus: BooleanInput;\r\n  static ngAcceptInputType_vtsAutoClearSearchValue: BooleanInput;\r\n  static ngAcceptInputType_vtsServerSearch: BooleanInput;\r\n  static ngAcceptInputType_vtsDisabled: BooleanInput;\r\n  static ngAcceptInputType_vtsOpen: BooleanInput;\r\n\r\n  @Input() vtsId: string | null = null;\r\n  @Input() vtsSize: VtsSizeXLMSType = 'md';\r\n  @Input() vtsOptionOverflowSize = 8;\r\n  @Input() vtsDropdownClassName: string | null = null;\r\n  @Input() vtsDropdownMatchSelectWidth = true;\r\n  @Input() vtsDropdownStyle: { [key: string]: string } | null = null;\r\n  @Input() vtsNoResult: string | TemplateRef<VtsSafeAny> | undefined = undefined;\r\n  @Input() vtsPlaceHolder: string | TemplateRef<VtsSafeAny> | null = null;\r\n  @Input() vtsMaxTagCount = Infinity;\r\n  @Input() vtsDropdownRender: TemplateRef<VtsSafeAny> | null = null;\r\n  @Input() vtsCustomTemplate: TemplateRef<{\r\n    $implicit: VtsSelectItemInterface;\r\n  }> | null = null;\r\n  @Input()\r\n  @WithConfig<TemplateRef<VtsSafeAny> | string | null>()\r\n  vtsSuffixIcon: TemplateRef<VtsSafeAny> | string | null = null;\r\n  @Input() vtsClearIcon: TemplateRef<VtsSafeAny> | null = null;\r\n  @Input() vtsRemoveIcon: TemplateRef<VtsSafeAny> | null = null;\r\n  @Input() vtsMenuItemSelectedIcon: TemplateRef<VtsSafeAny> | null = null;\r\n  @Input() vtsTokenSeparators: string[] = [];\r\n  @Input() vtsMaxTagPlaceholder: TemplateRef<{\r\n    $implicit: VtsSafeAny[];\r\n  }> | null = null;\r\n  @Input() vtsMaxMultipleCount = Infinity;\r\n  @Input() vtsMode: VtsSelectModeType = 'default';\r\n  @Input() vtsCustomFilterFn: VtsFilterOptionType = defaultFilterOption;\r\n  @Input() vtsCustomCompareFn: (o1: VtsSafeAny, o2: VtsSafeAny) => boolean = (\r\n    o1: VtsSafeAny,\r\n    o2: VtsSafeAny\r\n  ) => o1 === o2;\r\n  @Input() @InputBoolean() vtsAllowClear = true;\r\n  @Input() @WithConfig<boolean>() @InputBoolean() vtsBorderless = false;\r\n  @Input() @InputBoolean() vtsShowSearch = false;\r\n  @Input() @InputBoolean() vtsLoading = false;\r\n  @Input() @InputBoolean() vtsAutoFocus = false;\r\n  @Input() @InputBoolean() vtsAutoClearSearchValue = true;\r\n  @Input() @InputBoolean() vtsServerSearch = false;\r\n  @Input() @InputBoolean() vtsDisabled = false;\r\n  @Input() @InputBoolean() vtsOpen = false;\r\n  @Input() @WithConfig<boolean>() @InputBoolean() vtsBackdrop = false;\r\n  @Input() vtsOptions: VtsSelectOptionInterface[] = [];\r\n\r\n  @Input()\r\n  set vtsShowArrow(value: boolean) {\r\n    this._vtsShowArrow = value;\r\n  }\r\n  get vtsShowArrow(): boolean {\r\n    return this._vtsShowArrow === undefined ? this.vtsMode === 'default' : this._vtsShowArrow;\r\n  }\r\n\r\n  get vtsOptionHeightPx() {\r\n    switch (this.vtsSize) {\r\n      case 'xl':\r\n        return 48;\r\n      case 'lg':\r\n        return 40;\r\n      case 'md':\r\n        return 36;\r\n      case 'sm':\r\n        return 32;\r\n    }\r\n  }\r\n\r\n  @Output() readonly vtsOnSearch = new EventEmitter<string>();\r\n  @Output() readonly vtsScrollToBottom = new EventEmitter<void>();\r\n  @Output() readonly vtsOpenChange = new EventEmitter<boolean>();\r\n  @Output() readonly vtsBlur = new EventEmitter<void>();\r\n  @Output() readonly vtsFocus = new EventEmitter<void>();\r\n  @ViewChild(CdkOverlayOrigin, { static: true, read: ElementRef })\r\n  originElement!: ElementRef;\r\n  @ViewChild(CdkConnectedOverlay, { static: true })\r\n  cdkConnectedOverlay!: CdkConnectedOverlay;\r\n  @ViewChild(VtsSelectTopControlComponent, { static: true })\r\n  vtsSelectTopControlComponent!: VtsSelectTopControlComponent;\r\n  @ContentChildren(VtsOptionComponent, { descendants: true })\r\n  listOfVtsOptionComponent!: QueryList<VtsOptionComponent>;\r\n  @ContentChildren(VtsOptionGroupComponent, { descendants: true })\r\n  listOfVtsOptionGroupComponent!: QueryList<VtsOptionGroupComponent>;\r\n  @ViewChild(VtsOptionGroupComponent, { static: true, read: ElementRef })\r\n  vtsOptionGroupComponentElement!: ElementRef;\r\n  @ViewChild(VtsSelectTopControlComponent, { static: true, read: ElementRef })\r\n  vtsSelectTopControlComponentElement!: ElementRef;\r\n  private listOfValue$ = new BehaviorSubject<VtsSafeAny[]>([]);\r\n  private listOfTemplateItem$ = new BehaviorSubject<VtsSelectItemInterface[]>([]);\r\n  private listOfTagAndTemplateItem: VtsSelectItemInterface[] = [];\r\n  private searchValue: string = '';\r\n  private isReactiveDriven = false;\r\n  private value: VtsSafeAny | VtsSafeAny[];\r\n  private destroy$ = new Subject();\r\n  private _vtsShowArrow: boolean | undefined;\r\n  onChange: OnChangeType = () => {};\r\n  onTouched: OnTouchedType = () => {};\r\n  dropDownPosition: 'top' | 'center' | 'bottom' = 'bottom';\r\n  triggerWidth: number | null = null;\r\n  listOfContainerItem: VtsSelectItemInterface[] = [];\r\n  listOfTopItem: VtsSelectItemInterface[] = [];\r\n  activatedValue: VtsSafeAny | null = null;\r\n  listOfValue: VtsSafeAny[] = [];\r\n  focused = false;\r\n  dir: Direction = 'ltr';\r\n\r\n  generateTagItem(value: string): VtsSelectItemInterface {\r\n    return {\r\n      vtsValue: value,\r\n      vtsLabel: value,\r\n      type: 'item'\r\n    };\r\n  }\r\n\r\n  onItemClick(value: VtsSafeAny): void {\r\n    this.activatedValue = value;\r\n    if (this.vtsMode === 'default') {\r\n      if (this.listOfValue.length === 0 || !this.vtsCustomCompareFn(this.listOfValue[0], value)) {\r\n        this.updateListOfValue([value]);\r\n      }\r\n      this.setOpenState(false);\r\n    } else {\r\n      const targetIndex = this.listOfValue.findIndex(o => this.vtsCustomCompareFn(o, value));\r\n      if (targetIndex !== -1) {\r\n        const listOfValueAfterRemoved = this.listOfValue.filter((_, i) => i !== targetIndex);\r\n        this.updateListOfValue(listOfValueAfterRemoved);\r\n      } else if (this.listOfValue.length < this.vtsMaxMultipleCount) {\r\n        const listOfValueAfterAdded = [...this.listOfValue, value];\r\n        this.updateListOfValue(listOfValueAfterAdded);\r\n      }\r\n      this.focus();\r\n      if (this.vtsAutoClearSearchValue) {\r\n        this.clearInput();\r\n      }\r\n    }\r\n  }\r\n\r\n  onItemDelete(item: VtsSelectItemInterface): void {\r\n    const listOfSelectedValue = this.listOfValue.filter(\r\n      v => !this.vtsCustomCompareFn(v, item.vtsValue)\r\n    );\r\n    this.updateListOfValue(listOfSelectedValue);\r\n    this.clearInput();\r\n  }\r\n\r\n  onHostClick(): void {\r\n    if ((this.vtsOpen && this.vtsShowSearch) || this.vtsDisabled) {\r\n      return;\r\n    }\r\n\r\n    this.setOpenState(!this.vtsOpen);\r\n  }\r\n\r\n  clickArrow(openState: boolean){\r\n    this.setOpenState(openState);\r\n  }\r\n\r\n  updateListOfContainerItem(): void {\r\n    let listOfContainerItem = this.listOfTagAndTemplateItem\r\n      .filter(item => !item.vtsHide)\r\n      .filter(item => {\r\n        if (!this.vtsServerSearch && this.searchValue) {\r\n          return this.vtsCustomFilterFn(this.searchValue, item);\r\n        } else {\r\n          return true;\r\n        }\r\n      });\r\n    if (this.vtsMode === 'tags' && this.searchValue) {\r\n      const matchedItem = this.listOfTagAndTemplateItem.find(\r\n        item => item.vtsLabel === this.searchValue\r\n      );\r\n      if (!matchedItem) {\r\n        const tagItem = this.generateTagItem(this.searchValue);\r\n        listOfContainerItem = [tagItem, ...listOfContainerItem];\r\n        this.activatedValue = tagItem.vtsValue;\r\n      } else {\r\n        this.activatedValue = matchedItem.vtsValue;\r\n      }\r\n    }\r\n    const activatedItem =\r\n      listOfContainerItem.find(item =>\r\n        this.vtsCustomCompareFn(item.vtsValue, this.listOfValue[0])\r\n      ) || listOfContainerItem[0];\r\n    this.activatedValue = (activatedItem && activatedItem.vtsValue) || null;\r\n    let listOfGroupLabel: Array<string | TemplateRef<VtsSafeAny> | null> = [];\r\n    if (this.isReactiveDriven) {\r\n      listOfGroupLabel = [\r\n        ...new Set(this.vtsOptions.filter(o => o.groupLabel).map(o => o.groupLabel!))\r\n      ];\r\n    } else {\r\n      if (this.listOfVtsOptionGroupComponent) {\r\n        listOfGroupLabel = this.listOfVtsOptionGroupComponent.map(o => o.vtsLabel);\r\n      }\r\n    }\r\n    /** insert group item **/\r\n    listOfGroupLabel.forEach(label => {\r\n      const index = listOfContainerItem.findIndex(item => label === item.groupLabel);\r\n      if (index > -1) {\r\n        const groupItem = {\r\n          groupLabel: label,\r\n          type: 'group',\r\n          key: label\r\n        } as VtsSelectItemInterface;\r\n        listOfContainerItem.splice(index, 0, groupItem);\r\n      }\r\n    });\r\n    this.listOfContainerItem = [...listOfContainerItem];\r\n    this.updateCdkConnectedOverlayPositions();\r\n  }\r\n\r\n  clearInput(): void {\r\n    this.vtsSelectTopControlComponent.clearInputValue();\r\n  }\r\n\r\n  updateListOfValue(listOfValue: VtsSafeAny[]): void {\r\n    const covertListToModel = (\r\n      list: VtsSafeAny[],\r\n      mode: VtsSelectModeType\r\n    ): VtsSafeAny[] | VtsSafeAny => {\r\n      if (mode === 'default') {\r\n        if (list.length > 0) {\r\n          return list[0];\r\n        } else {\r\n          return null;\r\n        }\r\n      } else {\r\n        return list;\r\n      }\r\n    };\r\n    const model = covertListToModel(listOfValue, this.vtsMode);\r\n    if (this.value !== model) {\r\n      this.listOfValue = listOfValue;\r\n      this.listOfValue$.next(listOfValue);\r\n      this.value = model;\r\n      this.onChange(this.value);\r\n    }\r\n  }\r\n\r\n  onTokenSeparate(listOfLabel: string[]): void {\r\n    const listOfMatchedValue = this.listOfTagAndTemplateItem\r\n      .filter(item => listOfLabel.findIndex(label => label === item.vtsLabel) !== -1)\r\n      .map(item => item.vtsValue)\r\n      .filter(item => this.listOfValue.findIndex(v => this.vtsCustomCompareFn(v, item)) === -1);\r\n    if (this.vtsMode === 'multiple') {\r\n      this.updateListOfValue([...this.listOfValue, ...listOfMatchedValue]);\r\n    } else if (this.vtsMode === 'tags') {\r\n      const listOfUnMatchedLabel = listOfLabel.filter(\r\n        label => this.listOfTagAndTemplateItem.findIndex(item => item.vtsLabel === label) === -1\r\n      );\r\n      this.updateListOfValue([...this.listOfValue, ...listOfMatchedValue, ...listOfUnMatchedLabel]);\r\n    }\r\n    this.clearInput();\r\n  }\r\n\r\n  onOverlayKeyDown(e: KeyboardEvent): void {\r\n    if (e.keyCode === ESCAPE) {\r\n      this.setOpenState(false);\r\n    }\r\n  }\r\n\r\n  onKeyDown(e: KeyboardEvent): void {\r\n    if (this.vtsDisabled) {\r\n      return;\r\n    }\r\n    const listOfFilteredOptionNotDisabled = this.listOfContainerItem\r\n      .filter(item => item.type === 'item')\r\n      .filter(item => !item.vtsDisabled);\r\n    const activatedIndex = listOfFilteredOptionNotDisabled.findIndex(item =>\r\n      this.vtsCustomCompareFn(item.vtsValue, this.activatedValue)\r\n    );\r\n    switch (e.keyCode) {\r\n      case UP_ARROW:\r\n        e.preventDefault();\r\n        if (this.vtsOpen) {\r\n          const preIndex =\r\n            activatedIndex > 0 ? activatedIndex - 1 : listOfFilteredOptionNotDisabled.length - 1;\r\n          this.activatedValue = listOfFilteredOptionNotDisabled[preIndex].vtsValue;\r\n        }\r\n        break;\r\n      case DOWN_ARROW:\r\n        e.preventDefault();\r\n        if (this.vtsOpen) {\r\n          const nextIndex =\r\n            activatedIndex < listOfFilteredOptionNotDisabled.length - 1 ? activatedIndex + 1 : 0;\r\n          this.activatedValue = listOfFilteredOptionNotDisabled[nextIndex].vtsValue;\r\n        } else {\r\n          this.setOpenState(true);\r\n        }\r\n        break;\r\n      case ENTER:\r\n        e.preventDefault();\r\n        if (this.vtsOpen) {\r\n          if (isNotNil(this.activatedValue)) {\r\n            this.onItemClick(this.activatedValue);\r\n          }\r\n        } else {\r\n          this.setOpenState(true);\r\n        }\r\n        break;\r\n      case SPACE:\r\n        if (!this.vtsOpen) {\r\n          this.setOpenState(true);\r\n          e.preventDefault();\r\n        }\r\n        break;\r\n      case TAB:\r\n        this.setOpenState(false);\r\n        break;\r\n      case ESCAPE:\r\n        /**\r\n         * Skip the ESCAPE processing, it will be handled in {@link onOverlayKeyDown}.\r\n         */\r\n        break;\r\n      default:\r\n        if (!this.vtsOpen) {\r\n          this.setOpenState(true);\r\n        }\r\n    }\r\n  }\r\n\r\n  setOpenState(value: boolean): void {\r\n    if (this.vtsOpen !== value) {\r\n      this.vtsOpen = value;\r\n      this.vtsOpenChange.emit(value);\r\n      this.onOpenChange();\r\n      this.cdr.markForCheck();\r\n    }\r\n  }\r\n\r\n  onOpenChange(): void {\r\n    this.updateCdkConnectedOverlayStatus();\r\n    this.clearInput();\r\n  }\r\n\r\n  onInputValueChange(value: string): void {\r\n    this.searchValue = value;\r\n    this.updateListOfContainerItem();\r\n    this.vtsOnSearch.emit(value);\r\n    this.updateCdkConnectedOverlayPositions();\r\n  }\r\n\r\n  onClearSelection(): void {\r\n    this.updateListOfValue([]);\r\n  }\r\n\r\n  onClickOutside(event: MouseEvent): void {\r\n    if (!this.elementRef.nativeElement.contains(event.target)) {\r\n      this.setOpenState(false);\r\n    }\r\n  }\r\n\r\n  focus(): void {\r\n    this.vtsSelectTopControlComponent.focus();\r\n  }\r\n\r\n  blur(): void {\r\n    this.vtsSelectTopControlComponent.blur();\r\n  }\r\n\r\n  onPositionChange(position: ConnectedOverlayPositionChange): void {\r\n    this.dropDownPosition = position.connectionPair.originY;\r\n  }\r\n\r\n  updateCdkConnectedOverlayStatus(): void {\r\n    if (this.platform.isBrowser && this.originElement.nativeElement) {\r\n      reqAnimFrame(() => {\r\n        this.triggerWidth = this.originElement.nativeElement.getBoundingClientRect().width;\r\n        this.cdr.markForCheck();\r\n      });\r\n    }\r\n  }\r\n\r\n  updateCdkConnectedOverlayPositions(): void {\r\n    reqAnimFrame(() => {\r\n      this.cdkConnectedOverlay?.overlayRef?.updatePosition();\r\n    });\r\n  }\r\n\r\n  constructor(\r\n    public vtsConfigService: VtsConfigService,\r\n    private cdr: ChangeDetectorRef,\r\n    private elementRef: ElementRef,\r\n    private platform: Platform,\r\n    private focusMonitor: FocusMonitor,\r\n    @Optional() private directionality: Directionality,\r\n    @Host() @Optional() public noAnimation?: VtsNoAnimationDirective\r\n  ) {\r\n    // TODO: move to host after View Engine deprecation\r\n    this.elementRef.nativeElement.classList.add('vts-select');\r\n  }\r\n\r\n  writeValue(modelValue: VtsSafeAny | VtsSafeAny[]): void {\r\n    /** https://github.com/angular/angular/issues/14988 **/\r\n    if (this.value !== modelValue) {\r\n      this.value = modelValue;\r\n      const covertModelToList = (\r\n        model: VtsSafeAny[] | VtsSafeAny,\r\n        mode: VtsSelectModeType\r\n      ): VtsSafeAny[] => {\r\n        if (model === null || model === undefined) {\r\n          return [];\r\n        } else if (mode === 'default') {\r\n          return [model];\r\n        } else {\r\n          return model;\r\n        }\r\n      };\r\n      const listOfValue = covertModelToList(modelValue, this.vtsMode);\r\n      this.listOfValue = listOfValue;\r\n      this.listOfValue$.next(listOfValue);\r\n      this.cdr.markForCheck();\r\n    }\r\n  }\r\n\r\n  registerOnChange(fn: OnChangeType): void {\r\n    this.onChange = fn;\r\n  }\r\n\r\n  registerOnTouched(fn: OnTouchedType): void {\r\n    this.onTouched = fn;\r\n  }\r\n\r\n  setDisabledState(disabled: boolean): void {\r\n    this.vtsDisabled = disabled;\r\n    if (disabled) {\r\n      this.setOpenState(false);\r\n    }\r\n    this.cdr.markForCheck();\r\n  }\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    const { vtsOpen, vtsDisabled, vtsOptions } = changes;\r\n    if (vtsOpen) {\r\n      this.onOpenChange();\r\n    }\r\n    if (vtsDisabled && this.vtsDisabled) {\r\n      this.setOpenState(false);\r\n    }\r\n    if (vtsOptions) {\r\n      this.isReactiveDriven = true;\r\n      const listOfOptions = this.vtsOptions || [];\r\n      const listOfTransformedItem = listOfOptions.map(item => {\r\n        return {\r\n          template: item.label instanceof TemplateRef ? item.label : null,\r\n          vtsLabel: typeof item.label === 'string' ? item.label : null,\r\n          vtsValue: item.value,\r\n          vtsDisabled: item.disabled || false,\r\n          vtsHide: item.hide || false,\r\n          vtsCustomContent: item.label instanceof TemplateRef,\r\n          groupLabel: item.groupLabel || null,\r\n          type: 'item',\r\n          key: item.value\r\n        };\r\n      });\r\n      this.listOfTemplateItem$.next(listOfTransformedItem);\r\n    }\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.focusMonitor\r\n      .monitor(this.elementRef, true)\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe(focusOrigin => {\r\n        if (!focusOrigin) {\r\n          this.focused = false;\r\n          this.cdr.markForCheck();\r\n          this.vtsBlur.emit();\r\n          Promise.resolve().then(() => {\r\n            this.onTouched();\r\n          });\r\n        } else {\r\n          this.focused = true;\r\n          this.cdr.markForCheck();\r\n          this.vtsFocus.emit();\r\n        }\r\n      });\r\n    combineLatest([this.listOfValue$, this.listOfTemplateItem$])\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe(([listOfSelectedValue, listOfTemplateItem]) => {\r\n        const listOfTagItem = listOfSelectedValue\r\n          .filter(() => this.vtsMode === 'tags')\r\n          .filter(\r\n            value =>\r\n              listOfTemplateItem.findIndex(o => this.vtsCustomCompareFn(o.vtsValue, value)) === -1\r\n          )\r\n          .map(\r\n            value =>\r\n              this.listOfTopItem.find(o => this.vtsCustomCompareFn(o.vtsValue, value)) ||\r\n              this.generateTagItem(value)\r\n          );\r\n        this.listOfTagAndTemplateItem = [...listOfTemplateItem, ...listOfTagItem];\r\n        this.listOfTopItem = this.listOfValue\r\n          .map(\r\n            v =>\r\n              [...this.listOfTagAndTemplateItem, ...this.listOfTopItem].find(item =>\r\n                this.vtsCustomCompareFn(v, item.vtsValue)\r\n              )!\r\n          )\r\n          .filter(item => !!item);\r\n        this.updateListOfContainerItem();\r\n      });\r\n\r\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\r\n      this.dir = direction;\r\n      this.cdr.detectChanges();\r\n    });\r\n\r\n    this.vtsConfigService\r\n      .getConfigChangeEventForComponent('select')\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe(() => {\r\n        this.cdr.markForCheck();\r\n      });\r\n\r\n    this.dir = this.directionality.value;\r\n  }\r\n\r\n  ngAfterContentInit(): void {\r\n    if (!this.isReactiveDriven) {\r\n      merge(this.listOfVtsOptionGroupComponent.changes, this.listOfVtsOptionComponent.changes)\r\n        .pipe(\r\n          startWith(true),\r\n          switchMap(() =>\r\n            merge(\r\n              ...[\r\n                this.listOfVtsOptionComponent.changes,\r\n                this.listOfVtsOptionGroupComponent.changes,\r\n                ...this.listOfVtsOptionComponent.map(option => option.changes),\r\n                ...this.listOfVtsOptionGroupComponent.map(option => option.changes)\r\n              ]\r\n            ).pipe(startWith(true))\r\n          ),\r\n          takeUntil(this.destroy$)\r\n        )\r\n        .subscribe(() => {\r\n          const listOfOptionInterface = this.listOfVtsOptionComponent.toArray().map(item => {\r\n            const {\r\n              template,\r\n              vtsLabel,\r\n              vtsValue,\r\n              vtsDisabled,\r\n              vtsHide,\r\n              vtsCustomContent,\r\n              groupLabel\r\n            } = item;\r\n            return {\r\n              template,\r\n              vtsLabel,\r\n              vtsValue,\r\n              vtsDisabled,\r\n              vtsHide,\r\n              vtsCustomContent,\r\n              groupLabel,\r\n              type: 'item',\r\n              key: vtsValue\r\n            };\r\n          });\r\n          this.listOfTemplateItem$.next(listOfOptionInterface);\r\n          this.cdr.markForCheck();\r\n        });\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { BidiModule } from '@angular/cdk/bidi';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\nimport { PlatformModule } from '@angular/cdk/platform';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { VtsCheckboxModule } from '@vts-voffice/ng-vts/checkbox';\r\nimport { VtsNoAnimationModule } from '@vts-voffice/ng-vts/core/no-animation';\r\nimport { VtsOutletModule } from '@vts-voffice/ng-vts/core/outlet';\r\nimport { VtsOverlayModule } from '@vts-voffice/ng-vts/core/overlay';\r\nimport { ɵVtsTransitionPatchModule as VtsTransitionPatchModule } from '@vts-voffice/ng-vts/core/transition-patch';\r\nimport { VtsEmptyModule } from '@vts-voffice/ng-vts/empty';\r\nimport { VtsI18nModule } from '@vts-voffice/ng-vts/i18n';\r\nimport { VtsIconModule } from '@vts-voffice/ng-vts/icon';\r\nimport { VtsOptionContainerComponent } from './option-container.component';\r\nimport { VtsOptionGroupComponent } from './option-group.component';\r\nimport { VtsOptionItemGroupComponent } from './option-item-group.component';\r\nimport { VtsOptionItemComponent } from './option-item.component';\r\nimport { VtsOptionComponent } from './option.component';\r\nimport { VtsSelectArrowComponent } from './select-arrow.component';\r\nimport { VtsSelectClearComponent } from './select-clear.component';\r\nimport { VtsSelectItemComponent } from './select-item.component';\r\nimport { VtsSelectMultipleCountComponent } from './select-multiple-count.component';\r\nimport { VtsSelectPlaceholderComponent } from './select-placeholder.component';\r\nimport { VtsSelectSearchComponent } from './select-search.component';\r\nimport { VtsSelectTopControlComponent } from './select-top-control.component';\r\nimport { VtsSelectComponent } from './select.component';\r\n\r\n@NgModule({\r\n  imports: [\r\n    BidiModule,\r\n    CommonModule,\r\n    VtsI18nModule,\r\n    FormsModule,\r\n    PlatformModule,\r\n    OverlayModule,\r\n    VtsIconModule,\r\n    VtsOutletModule,\r\n    VtsEmptyModule,\r\n    VtsOverlayModule,\r\n    VtsCheckboxModule,\r\n    VtsNoAnimationModule,\r\n    VtsTransitionPatchModule,\r\n    ScrollingModule,\r\n    A11yModule\r\n  ],\r\n  declarations: [\r\n    VtsOptionComponent,\r\n    VtsSelectComponent,\r\n    VtsOptionContainerComponent,\r\n    VtsOptionGroupComponent,\r\n    VtsOptionItemComponent,\r\n    VtsSelectTopControlComponent,\r\n    VtsSelectSearchComponent,\r\n    VtsSelectItemComponent,\r\n    VtsSelectClearComponent,\r\n    VtsSelectArrowComponent,\r\n    VtsSelectPlaceholderComponent,\r\n    VtsOptionItemGroupComponent,\r\n    VtsSelectMultipleCountComponent\r\n  ],\r\n  exports: [\r\n    VtsOptionComponent,\r\n    VtsSelectComponent,\r\n    VtsOptionGroupComponent,\r\n    VtsSelectArrowComponent,\r\n    VtsSelectClearComponent,\r\n    VtsSelectItemComponent,\r\n    VtsSelectPlaceholderComponent,\r\n    VtsSelectSearchComponent,\r\n    VtsSelectMultipleCountComponent\r\n  ]\r\n})\r\nexport class VtsSelectModule {}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { TemplateRef } from '@angular/core';\r\nimport { VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\n\r\nexport type VtsSelectModeType = 'default' | 'multiple' | 'tags';\r\nexport interface VtsSelectItemInterface {\r\n  template?: TemplateRef<VtsSafeAny> | null;\r\n  vtsLabel: string | null;\r\n  vtsValue: VtsSafeAny | null;\r\n  vtsDisabled?: boolean;\r\n  vtsHide?: boolean;\r\n  vtsCustomContent?: boolean;\r\n  groupLabel?: string | TemplateRef<VtsSafeAny> | null;\r\n  type?: string;\r\n  key?: VtsSafeAny;\r\n}\r\n\r\nexport interface VtsSelectOptionInterface {\r\n  label: string | null | TemplateRef<VtsSafeAny>;\r\n  value: VtsSafeAny | null;\r\n  disabled?: boolean;\r\n  hide?: boolean;\r\n  groupLabel?: string | TemplateRef<VtsSafeAny> | null;\r\n}\r\n\r\nexport type VtsSelectTopControlItemType = Partial<VtsSelectItemInterface> & {\r\n  contentTemplateOutlet: TemplateRef<VtsSafeAny> | null;\r\n  contentTemplateOutletContext: VtsSafeAny;\r\n};\r\n\r\nexport type VtsFilterOptionType = (input: string, option: VtsSelectItemInterface) => boolean;\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nexport * from './option-group.component';\r\nexport * from './option-container.component';\r\nexport * from './option.component';\r\nexport * from './select.component';\r\nexport * from './select.module';\r\nexport * from './option-item.component';\r\nexport * from './option-item-group.component';\r\nexport * from './select-top-control.component';\r\nexport * from './select-search.component';\r\nexport * from './select-item.component';\r\nexport * from './select-clear.component';\r\nexport * from './select-arrow.component';\r\nexport * from './select-placeholder.component';\r\nexport * from './select.types';\r\nexport * from './select-multiple-count.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i5","i1","i4.VtsOptionItemComponent","i5.VtsOptionItemGroupComponent","i1.VtsOptionGroupComponent","i4","i4.VtsSelectSearchComponent","i5.VtsSelectItemComponent","i6.VtsSelectPlaceholderComponent","i6","i9","i10.VtsOptionContainerComponent","i11.VtsSelectTopControlComponent","i12.VtsSelectClearComponent","i13.VtsSelectArrowComponent","i14.VtsSelectMultipleCountComponent","VtsTransitionPatchModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;AAGG;MAsBU,uBAAuB,CAAA;AATpC,IAAA,WAAA,GAAA;QAUW,IAAQ,CAAA,QAAA,GAA4C,IAAI,CAAC;AAClE,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;AAI/B,KAAA;IAHC,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACrB;+GALU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAJxB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBATnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,CAAA;;AAET,EAAA,CAAA;AACF,iBAAA,CAAA;8BAEU,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;AC1BR;;;AAGG;MAgEU,sBAAsB,CAAA;AAkBjC,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAjB1C,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QACT,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAChB,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QACtB,IAAQ,CAAA,QAAA,GAAmC,IAAI,CAAC;QAChD,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAK,CAAA,KAAA,GAAkB,IAAI,CAAC;QAC5B,IAAK,CAAA,KAAA,GAAsB,IAAI,CAAC;QAChC,IAAc,CAAA,cAAA,GAAsB,IAAI,CAAC;QACzC,IAAmB,CAAA,mBAAA,GAAiB,EAAE,CAAC;QACvC,IAAI,CAAA,IAAA,GAAmC,IAAI,CAAC;QAC5C,IAAI,CAAA,IAAA,GAAsB,SAAS,CAAC;AAE1B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAc,CAAC;AAC3C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAc,CAAC;;AAI5D,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC;KAC1F;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;KACF;IACD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;KACF;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;AAC/D,QAAA,IAAI,KAAK,IAAI,mBAAmB,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SAC5F;AACD,QAAA,IAAI,KAAK,IAAI,cAAc,EAAE;AAC3B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3E;KACF;AAED,IAAA,kBAAkB,CAAC,EAAO,EAAA;QACxB,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;+GA7CU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EA7CvB,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,sCAAA,EAAA,SAAA,EAAA,uCAAA,EAAA,uBAAA,EAAA,uCAAA,EAAA,UAAA,EAAA,qCAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,cAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAaU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBA/ClC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,cAAc,EAAE,OAAO;AACvB,wBAAA,wCAAwC,EAAE,SAAS;AACnD,wBAAA,yCAAyC,EAAE,uBAAuB;AAClE,wBAAA,yCAAyC,EAAE,UAAU;AACrD,wBAAA,uCAAuC,EAAE,wBAAwB;AACjE,wBAAA,cAAc,EAAE,oBAAoB;AACpC,wBAAA,SAAS,EAAE,eAAe;AAC3B,qBAAA;AACF,iBAAA,CAAA;+EAIU,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACa,SAAS,EAAA,CAAA;sBAA3B,MAAM;gBACY,SAAS,EAAA,CAAA;sBAA3B,MAAM;;;ACnFT;;;AAGG;MAsBU,2BAA2B,CAAA;AAGtC,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAFjC,IAAQ,CAAA,QAAA,GAA4C,IAAI,CAAC;;AAIhE,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;KACzF;+GANU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAR5B,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gCAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,gCAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAIU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAVvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACtC,iBAAA,CAAA;+EAEU,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;AC1BR;;;AAGG;MA+EU,2BAA2B,CAAA;AAkBtC,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAjBjC,IAAe,CAAA,eAAA,GAAiD,SAAS,CAAC;QAC1E,IAAoB,CAAA,oBAAA,GAAmC,IAAI,CAAC;QAC5D,IAAc,CAAA,cAAA,GAAmC,IAAI,CAAC;QACtD,IAAc,CAAA,cAAA,GAAsB,IAAI,CAAC;QACzC,IAAmB,CAAA,mBAAA,GAAiB,EAAE,CAAC;QAEvC,IAAI,CAAA,IAAA,GAAsB,SAAS,CAAC;QACpC,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;QAClB,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;QACd,IAAa,CAAA,aAAA,GAAG,CAAC,CAAC;QAClB,IAAmB,CAAA,mBAAA,GAA6B,EAAE,CAAC;AACzC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAc,CAAC;AAC3C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAQ,CAAC;QAGrD,IAAa,CAAA,aAAA,GAAG,CAAC,CAAC;;QAIxB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;KACpE;AAED,IAAA,WAAW,CAAC,KAAiB,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;AAED,IAAA,WAAW,CAAC,KAAiB,EAAA;;AAE3B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;KAC7B;IAED,UAAU,CAAC,MAAc,EAAE,MAA8B,EAAA;QACvD,OAAO,MAAM,CAAC,GAAG,CAAC;KACnB;AAED,IAAA,qBAAqB,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE;AAClE,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;SAC5B;KACF;IAED,sBAAsB,GAAA;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,IACnD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CACvD,CAAC;AACF,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE;YAClF,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;SACzD;KACF;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;AACxD,QAAA,IAAI,mBAAmB,IAAI,cAAc,EAAE;YACzC,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;KACF;IACD,eAAe,GAAA;QACb,UAAU,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;KACjD;+GA5DU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAA3B,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAc3B,wBAAwB,EAnEzB,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,gCAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,eAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,MAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBA3DvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,oBAAoB;oBAC9B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,mBAAmB,EAAE,KAAK;AAC1B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDT,EAAA,CAAA;AACF,iBAAA,CAAA;+EAEU,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACa,SAAS,EAAA,CAAA;sBAA3B,MAAM;gBACY,cAAc,EAAA,CAAA;sBAAhC,MAAM;gBAEP,wBAAwB,EAAA,CAAA;sBADvB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,wBAAwB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MC7D1C,kBAAkB,CAAA;AAe7B,IAAA,WAAA,CAAgC,uBAAgD,EAAA;QAAhD,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAAyB;AAVxE,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;AACvC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB,IAAU,CAAA,UAAA,GAA4C,IAAI,CAAC;QAElD,IAAQ,CAAA,QAAA,GAAkB,IAAI,CAAC;QAC/B,IAAQ,CAAA,QAAA,GAAsB,IAAI,CAAC;QACnB,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QACpB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAChB,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;KAEkC;IAEpF,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,CAAC,uBAAuB,CAAC,OAAO;AACjC,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC/C,SAAS,CAAC,MAAK;gBACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC;AAC1D,aAAC,CAAC,CAAC;SACN;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACrB;IACD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;+GAjCU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAlB,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAQlB,WAAW,EAdZ,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAawB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAqB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACpB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAiB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAChB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAA0B,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAbvC,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,WAAW;oBACrB,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,EAAA,CAAA;AACF,iBAAA,CAAA;;0BAgBc,QAAQ;yCAPqB,QAAQ,EAAA,CAAA;sBAAjD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAC/B,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACmB,WAAW,EAAA,CAAA;sBAAnC,KAAK;gBACmB,OAAO,EAAA,CAAA;sBAA/B,KAAK;gBACmB,gBAAgB,EAAA,CAAA;sBAAxC,KAAK;;;MCDK,wBAAwB,CAAA;AAcnC,IAAA,mBAAmB,CAAC,WAAoB,EAAA;AACtC,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC1C;AAED,IAAA,aAAa,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;KACF;IAED,eAAe,GAAA;AACb,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;AACjD,QAAA,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;KACxB;IAED,eAAe,GAAA;;;;;;;KAOd;IAED,KAAK,GAAA;QACH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;KAC3D;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KACxC;AAED,IAAA,WAAA,CACU,UAAsB,EACtB,QAAmB,EACnB,YAA0B,EAAA;QAF1B,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAnD3B,IAAK,CAAA,KAAA,GAAkB,IAAI,CAAC;QAC5B,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QACnB,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;QACjB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QACrB,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;QACX,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAW,CAAA,WAAA,GAA4C,EAAE,CAAC;AAChD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AACzC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAW,CAAC;;QA6CjE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;KAC5E;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;AACjD,QAAA,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAE5C,IAAI,SAAS,EAAE;AACb,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aACrD;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;aAC9D;SACF;;AAGD,QAAA,IACE,YAAY;YACZ,YAAY,CAAC,YAAY,KAAK,IAAI;AAClC,YAAA,YAAY,CAAC,aAAa,KAAK,KAAK,EACpC;YACA,QAAQ,CAAC,KAAK,EAAE,CAAC;SAClB;KACF;IAED,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;AACD,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;KACF;+GAvFU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAH,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAFxB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAjBxD,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;AAgBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAGU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAvBpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;AAgBT,EAAA,CAAA;oBACD,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACnE,iBAAA,CAAA;oIAEU,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACa,WAAW,EAAA,CAAA;sBAA7B,MAAM;gBACY,iBAAiB,EAAA,CAAA;sBAAnC,MAAM;gBACsC,YAAY,EAAA,CAAA;sBAAxD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBACI,aAAa,EAAA,CAAA;sBAA3D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;;;AC3D/C;;;AAGG;MA2CU,sBAAsB,CAAA;AASjC,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QARjC,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAK,CAAA,KAAA,GAA8B,IAAI,CAAC;QACxC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAU,CAAA,UAAA,GAAmC,IAAI,CAAC;QAClD,IAA4B,CAAA,4BAAA,GAAsB,IAAI,CAAC;QACvD,IAAqB,CAAA,qBAAA,GAA4C,IAAI,CAAC;AAC5D,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAc,CAAC;;QAIzD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;KAC1E;AAED,IAAA,QAAQ,CAAC,CAAa,EAAA;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrB;KACF;+GApBU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAzBvB,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,4BAAA,EAAA,8BAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,0CAAA,EAAA,UAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;AAmBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gCAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,gCAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,IAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAMU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBA7BlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;oBAC3B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;AAmBT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,cAAc,EAAE,OAAO;AACvB,wBAAA,4CAA4C,EAAE,UAAU;AACzD,qBAAA;AACF,iBAAA,CAAA;+EAEU,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,4BAA4B,EAAA,CAAA;sBAApC,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACa,MAAM,EAAA,CAAA;sBAAxB,MAAM;;;ACrDT;;;AAGG;MAsBU,6BAA6B,CAAA;AAGxC,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAFjC,IAAW,CAAA,WAAA,GAA4C,IAAI,CAAC;;QAInE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;KACjF;+GANU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,EAN9B,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,gCAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,gCAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAVzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;oBAClC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,EAAA,CAAA;AACF,iBAAA,CAAA;+EAEU,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;AC1BR;;;AAGG;MA+FU,4BAA4B,CAAA;AA6BvC,IAAA,aAAa,CAAC,CAAgB,EAAA;AAC5B,QAAA,MAAM,UAAU,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;AACxD,QAAA,IACE,CAAC,CAAC,OAAO,KAAK,SAAS;YACvB,IAAI,CAAC,IAAI,KAAK,SAAS;AACvB,YAAA,CAAC,UAAU;AACX,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAC7B;YACA,CAAC,CAAC,cAAc,EAAE,CAAC;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;SACtE;KACF;IAED,sBAAsB,GAAA;QACpB,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACvF,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;KACzF;AAED,IAAA,iBAAiB,CAAC,WAAoB,EAAA;AACpC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;AAED,IAAA,kBAAkB,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SACjD;KACF;IAED,aAAa,CAAC,UAAkB,EAAE,eAAyB,EAAA;AACzD,QAAA,MAAM,kBAAkB,GAAG,CAAC,GAAsB,EAAE,UAAoB,KAAa;;AAEnF,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC1C,gBAAA,IAAI,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;AACtC,oBAAA,OAAO,IAAI,CAAC;iBACb;aACF;AACD,YAAA,OAAO,KAAK,CAAC;AACf,SAAC,CAAC;AACF,QAAA,MAAM,iBAAiB,GAAG,CAAC,GAAsB,EAAE,UAAoB,KAAc;AACnF,YAAA,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,UAAU,CAAC,IAAI,EAAE,CAAG,CAAA,CAAA,CAAC,CAAC;AACjD,YAAA,MAAM,KAAK,GAAI,GAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,SAAC,CAAC;AACF,QAAA,IACE,UAAU;AACV,YAAA,UAAU,CAAC,MAAM;AACjB,YAAA,eAAe,CAAC,MAAM;YACtB,IAAI,CAAC,IAAI,KAAK,SAAS;AACvB,YAAA,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,EAC/C;YACA,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AACnE,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACjC;KACF;IAED,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;AACjC,YAAA,IAAI,CAAC,wBAAwB,CAAC,eAAe,EAAE,CAAC;SACjD;KACF;IAED,KAAK,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;AACjC,YAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC;SACvC;KACF;IAED,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;AACjC,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAC;SACtC;KACF;IAED,UAAU,CAAC,MAAc,EAAE,MAAmC,EAAA;QAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC;KACxB;AAED,IAAA,YAAY,CAAC,IAA4B,EAAA;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACvC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5B;KACF;IAED,WACU,CAAA,UAAsB,EACH,WAAqC,EAAA;QADxD,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACH,IAAW,CAAA,WAAA,GAAX,WAAW,CAA0B;QAtHzD,IAAK,CAAA,KAAA,GAAkB,IAAI,CAAC;QAC5B,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QACnB,IAAW,CAAA,WAAA,GAA4C,IAAI,CAAC;QAC5D,IAAI,CAAA,IAAA,GAAG,KAAK,CAAC;QACb,IAAW,CAAA,WAAA,GAAW,QAAQ,CAAC;QAC/B,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAI,CAAA,IAAA,GAAsB,SAAS,CAAC;QACpC,IAAc,CAAA,cAAA,GAEX,IAAI,CAAC;QACR,IAAiB,CAAA,iBAAA,GAEd,IAAI,CAAC;QACR,IAAU,CAAA,UAAA,GAAmC,IAAI,CAAC;QAClD,IAAa,CAAA,aAAA,GAA6B,EAAE,CAAC;QAC7C,IAAe,CAAA,eAAA,GAAa,EAAE,CAAC;AACrB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAY,CAAC;AACxC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAU,CAAC;AAC9C,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAA0B,CAAC;QAG3E,IAAgB,CAAA,gBAAA,GAAkC,EAAE,CAAC;QACrD,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;QACzB,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAC1B,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QACpB,IAAU,CAAA,UAAA,GAAkB,IAAI,CAAC;;QA+F/B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;KACpE;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;QAClF,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;QACD,IAAI,aAAa,IAAI,WAAW,IAAI,cAAc,IAAI,iBAAiB,EAAE;AACvE,YAAA,MAAM,gBAAgB,GAAkC,IAAI,CAAC,aAAa;AACvE,iBAAA,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC;iBAC1B,GAAG,CAAC,CAAC,IAAG;gBACP,OAAO;oBACL,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,qBAAqB,EAAE,IAAI,CAAC,cAAc;AAC1C,oBAAA,4BAA4B,EAAE,CAAC;iBAChC,CAAC;AACJ,aAAC,CAAC,CAAC;YACL,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE;AAChD,gBAAA,MAAM,aAAa,GAAG,CAAK,EAAA,EAAA,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,MAAM,CAAC;AAC9E,gBAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1E,gBAAA,MAAM,YAAY,GAAG;AACnB,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,WAAW,EAAE,IAAI;oBACjB,qBAAqB,EAAE,IAAI,CAAC,iBAAiB;oBAC7C,4BAA4B,EAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;iBAC1E,CAAC;AACF,gBAAA,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACrC;AACD,YAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;SAC1C;KACF;+GA5JU,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,EAAA,CAAA,uBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAA5B,4BAA4B,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAqB5B,wBAAwB,EAnFzB,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,wBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,cAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,EAAA,8BAAA,EAAA,uBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,6BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAKU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBApExC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,mBAAmB,EAAE,KAAK;oBAC1B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,WAAW,EAAE,uBAAuB;AACrC,qBAAA;AACF,iBAAA,CAAA;;0BAwHI,IAAI;;0BAAI,QAAQ;yCAtHV,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAGG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAGG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACa,QAAQ,EAAA,CAAA;sBAA1B,MAAM;gBACY,gBAAgB,EAAA,CAAA;sBAAlC,MAAM;gBACY,UAAU,EAAA,CAAA;sBAA5B,MAAM;gBAEP,wBAAwB,EAAA,CAAA;sBADvB,SAAS;uBAAC,wBAAwB,CAAA;;;ACvHrC;;;AAGG;MA8BU,uBAAuB,CAAA;AAIlC,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAHjC,IAAS,CAAA,SAAA,GAAmC,IAAI,CAAC;AACvC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAc,CAAC;;QAIxD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;KACjE;AAED,IAAA,OAAO,CAAC,CAAa,EAAA;QACnB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACpB;+GAbU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAZxB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;AAOT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAKU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAhBnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;oBAC5B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,CAAA;;;;;;;AAOT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,iBAAiB;AAC7B,qBAAA;AACF,iBAAA,CAAA;+EAEU,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACa,KAAK,EAAA,CAAA;sBAAvB,MAAM;;;ACnCT;;;AAGG;MAmCU,uBAAuB,CAAA;AAQlC,IAAA,WAAA,CAAoB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QAPjC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAChB,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;QACf,IAAU,CAAA,UAAA,GAA4C,IAAI,CAAC;QAC3D,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAE7B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAW,CAAC;;QAIjD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;KACjE;AAED;;AAEG;AACH,IAAA,YAAY,CAAC,GAAe,EAAA;AAC1B,QAAA,IAAG,CAAC,IAAI,CAAC,YAAY,EAAC;YACpB,OAAO;SACR;aACI;AACH,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YAE5B,GAAG,CAAC,eAAe,EAAE,CAAC;SACvB;KACF;+GAzBU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAjBxB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gCAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;AAYT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gCAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,gCAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,IAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAKU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBArBnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;oBAC5B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;AAYT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,kCAAkC,EAAE,SAAS;AAC9C,qBAAA;AACF,iBAAA,CAAA;+EAEU,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MC7BI,+BAA+B,CAAA;AAb5C,IAAA,WAAA,GAAA;QAcW,IAAK,CAAA,KAAA,GAAW,CAAC,CAAC;AAC5B,KAAA;+GAFY,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,EAThC,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAKU,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAb3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,mCAAmC,EAAE,MAAM;AAC5C,qBAAA;AACF,iBAAA,CAAA;8BAEU,KAAK,EAAA,CAAA;sBAAb,KAAK;;;AC8CR,MAAM,mBAAmB,GAAwB,CAC/C,WAAmB,EACnB,IAA4B,KACjB;AACX,IAAA,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACzB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC5E;SAAM;AACL,QAAA,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAiB,QAAQ,CAAC;MAuHzC,kBAAkB,CAAA;IAyD7B,IACI,YAAY,CAAC,KAAc,EAAA;AAC7B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B;AACD,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,aAAa,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;KAC3F;AAED,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,QAAQ,IAAI,CAAC,OAAO;AAClB,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,EAAE,CAAC;AACZ,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,EAAE,CAAC;AACZ,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,EAAE,CAAC;AACZ,YAAA,KAAK,IAAI;AACP,gBAAA,OAAO,EAAE,CAAC;SACb;KACF;AAwCD,IAAA,eAAe,CAAC,KAAa,EAAA;QAC3B,OAAO;AACL,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,IAAI,EAAE,MAAM;SACb,CAAC;KACH;AAED,IAAA,WAAW,CAAC,KAAiB,EAAA;AAC3B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC5B,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC9B,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;AACzF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACjC;AACD,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;aAAM;YACL,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACvF,YAAA,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;AACtB,gBAAA,MAAM,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,CAAC;AACrF,gBAAA,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;aACjD;iBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE;gBAC7D,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC3D,gBAAA,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;aAC/C;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,YAAA,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAChC,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;SACF;KACF;AAED,IAAA,YAAY,CAAC,IAA4B,EAAA;QACvC,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CACjD,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAChD,CAAC;AACF,QAAA,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW,EAAE;YAC5D,OAAO;SACR;QAED,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAClC;AAED,IAAA,UAAU,CAAC,SAAkB,EAAA;AAC3B,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;KAC9B;IAED,yBAAyB,GAAA;AACvB,QAAA,IAAI,mBAAmB,GAAG,IAAI,CAAC,wBAAwB;aACpD,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;aAC7B,MAAM,CAAC,IAAI,IAAG;YACb,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;aACvD;iBAAM;AACL,gBAAA,OAAO,IAAI,CAAC;aACb;AACH,SAAC,CAAC,CAAC;QACL,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CACpD,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,CAC3C,CAAC;YACF,IAAI,CAAC,WAAW,EAAE;gBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvD,gBAAA,mBAAmB,GAAG,CAAC,OAAO,EAAE,GAAG,mBAAmB,CAAC,CAAC;AACxD,gBAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;aACxC;iBAAM;AACL,gBAAA,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC;aAC5C;SACF;AACD,QAAA,MAAM,aAAa,GACjB,mBAAmB,CAAC,IAAI,CAAC,IAAI,IAC3B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAC5D,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,aAAa,IAAI,aAAa,CAAC,QAAQ,KAAK,IAAI,CAAC;QACxE,IAAI,gBAAgB,GAAmD,EAAE,CAAC;AAC1E,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,gBAAgB,GAAG;AACjB,gBAAA,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAW,CAAC,CAAC;aAC9E,CAAC;SACH;aAAM;AACL,YAAA,IAAI,IAAI,CAAC,6BAA6B,EAAE;AACtC,gBAAA,gBAAgB,GAAG,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;aAC5E;SACF;;AAED,QAAA,gBAAgB,CAAC,OAAO,CAAC,KAAK,IAAG;AAC/B,YAAA,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC;AAC/E,YAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACd,gBAAA,MAAM,SAAS,GAAG;AAChB,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,GAAG,EAAE,KAAK;iBACe,CAAC;gBAC5B,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;aACjD;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC;QACpD,IAAI,CAAC,kCAAkC,EAAE,CAAC;KAC3C;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,4BAA4B,CAAC,eAAe,EAAE,CAAC;KACrD;AAED,IAAA,iBAAiB,CAAC,WAAyB,EAAA;AACzC,QAAA,MAAM,iBAAiB,GAAG,CACxB,IAAkB,EAClB,IAAuB,KACM;AAC7B,YAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,gBAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACnB,oBAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;iBAChB;qBAAM;AACL,oBAAA,OAAO,IAAI,CAAC;iBACb;aACF;iBAAM;AACL,gBAAA,OAAO,IAAI,CAAC;aACb;AACH,SAAC,CAAC;QACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3D,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3B;KACF;AAED,IAAA,eAAe,CAAC,WAAqB,EAAA;AACnC,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB;aACrD,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAC9E,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC;AAC1B,aAAA,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5F,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;AAC/B,YAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC;SACtE;AAAM,aAAA,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;AAClC,YAAA,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAC7C,KAAK,IAAI,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CACzF,CAAC;AACF,YAAA,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,kBAAkB,EAAE,GAAG,oBAAoB,CAAC,CAAC,CAAC;SAC/F;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAED,IAAA,gBAAgB,CAAC,CAAgB,EAAA;AAC/B,QAAA,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,EAAE;AACxB,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;KACF;AAED,IAAA,SAAS,CAAC,CAAgB,EAAA;AACxB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO;SACR;AACD,QAAA,MAAM,+BAA+B,GAAG,IAAI,CAAC,mBAAmB;aAC7D,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;aACpC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,cAAc,GAAG,+BAA+B,CAAC,SAAS,CAAC,IAAI,IACnE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAC5D,CAAC;AACF,QAAA,QAAQ,CAAC,CAAC,OAAO;AACf,YAAA,KAAK,QAAQ;gBACX,CAAC,CAAC,cAAc,EAAE,CAAC;AACnB,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,oBAAA,MAAM,QAAQ,GACZ,cAAc,GAAG,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,+BAA+B,CAAC,MAAM,GAAG,CAAC,CAAC;oBACvF,IAAI,CAAC,cAAc,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;iBAC1E;gBACD,MAAM;AACR,YAAA,KAAK,UAAU;gBACb,CAAC,CAAC,cAAc,EAAE,CAAC;AACnB,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,oBAAA,MAAM,SAAS,GACb,cAAc,GAAG,+BAA+B,CAAC,MAAM,GAAG,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;oBACvF,IAAI,CAAC,cAAc,GAAG,+BAA+B,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;iBAC3E;qBAAM;AACL,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iBACzB;gBACD,MAAM;AACR,YAAA,KAAK,KAAK;gBACR,CAAC,CAAC,cAAc,EAAE,CAAC;AACnB,gBAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,oBAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;AACjC,wBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;qBACvC;iBACF;qBAAM;AACL,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iBACzB;gBACD,MAAM;AACR,YAAA,KAAK,KAAK;AACR,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC,CAAC,cAAc,EAAE,CAAC;iBACpB;gBACD,MAAM;AACR,YAAA,KAAK,GAAG;AACN,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzB,MAAM;AACR,YAAA,KAAK,MAAM;AACT;;AAEG;gBACH,MAAM;AACR,YAAA;AACE,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACjB,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;iBACzB;SACJ;KACF;AAED,IAAA,YAAY,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SACzB;KACF;IAED,YAAY,GAAA;QACV,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAED,IAAA,kBAAkB,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,yBAAyB,EAAE,CAAC;AACjC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,kCAAkC,EAAE,CAAC;KAC3C;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;KAC5B;AAED,IAAA,cAAc,CAAC,KAAiB,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACzD,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;KACF;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC;KAC3C;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;KAC1C;AAED,IAAA,gBAAgB,CAAC,QAAwC,EAAA;QACvD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;KACzD;IAED,+BAA+B,GAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;YAC/D,YAAY,CAAC,MAAK;AAChB,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;AACnF,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,aAAC,CAAC,CAAC;SACJ;KACF;IAED,kCAAkC,GAAA;QAChC,YAAY,CAAC,MAAK;AAChB,YAAA,IAAI,CAAC,mBAAmB,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AACzD,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,WAAA,CACS,gBAAkC,EACjC,GAAsB,EACtB,UAAsB,EACtB,QAAkB,EAClB,YAA0B,EACd,cAA8B,EACvB,WAAqC,EAAA;QANzD,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QACjC,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QACtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QACd,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QACvB,IAAW,CAAA,WAAA,GAAX,WAAW,CAA0B;QAxYzD,IAAc,CAAA,cAAA,GAAiB,sBAAsB,CAAC;QAYtD,IAAK,CAAA,KAAA,GAAkB,IAAI,CAAC;QAC5B,IAAO,CAAA,OAAA,GAAoB,IAAI,CAAC;QAChC,IAAqB,CAAA,qBAAA,GAAG,CAAC,CAAC;QAC1B,IAAoB,CAAA,oBAAA,GAAkB,IAAI,CAAC;QAC3C,IAA2B,CAAA,2BAAA,GAAG,IAAI,CAAC;QACnC,IAAgB,CAAA,gBAAA,GAAqC,IAAI,CAAC;QAC1D,IAAW,CAAA,WAAA,GAAiD,SAAS,CAAC;QACtE,IAAc,CAAA,cAAA,GAA4C,IAAI,CAAC;QAC/D,IAAc,CAAA,cAAA,GAAG,QAAQ,CAAC;QAC1B,IAAiB,CAAA,iBAAA,GAAmC,IAAI,CAAC;QACzD,IAAiB,CAAA,iBAAA,GAEd,IAAI,CAAC;QAGjB,IAAa,CAAA,aAAA,GAA4C,IAAI,CAAC;QACrD,IAAY,CAAA,YAAA,GAAmC,IAAI,CAAC;QACpD,IAAa,CAAA,aAAA,GAAmC,IAAI,CAAC;QACrD,IAAuB,CAAA,uBAAA,GAAmC,IAAI,CAAC;QAC/D,IAAkB,CAAA,kBAAA,GAAa,EAAE,CAAC;QAClC,IAAoB,CAAA,oBAAA,GAEjB,IAAI,CAAC;QACR,IAAmB,CAAA,mBAAA,GAAG,QAAQ,CAAC;QAC/B,IAAO,CAAA,OAAA,GAAsB,SAAS,CAAC;QACvC,IAAiB,CAAA,iBAAA,GAAwB,mBAAmB,CAAC;QAC7D,IAAkB,CAAA,kBAAA,GAAgD,CACzE,EAAc,EACd,EAAc,KACX,EAAE,KAAK,EAAE,CAAC;QACU,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;QACE,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QAC7C,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QACtB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QACnB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QACrB,IAAuB,CAAA,uBAAA,GAAG,IAAI,CAAC;QAC/B,IAAe,CAAA,eAAA,GAAG,KAAK,CAAC;QACxB,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QACpB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QACO,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QAC3D,IAAU,CAAA,UAAA,GAA+B,EAAE,CAAC;AAuBlC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;AACzC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAQ,CAAC;AAC7C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAW,CAAC;AAC5C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAQ,CAAC;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAQ,CAAC;AAe/C,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAe,EAAE,CAAC,CAAC;AACrD,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAA2B,EAAE,CAAC,CAAC;QACxE,IAAwB,CAAA,wBAAA,GAA6B,EAAE,CAAC;QACxD,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;QACzB,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AAEzB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;AAEjC,QAAA,IAAA,CAAA,QAAQ,GAAiB,MAAK,GAAG,CAAC;AAClC,QAAA,IAAA,CAAA,SAAS,GAAkB,MAAK,GAAG,CAAC;QACpC,IAAgB,CAAA,gBAAA,GAAgC,QAAQ,CAAC;QACzD,IAAY,CAAA,YAAA,GAAkB,IAAI,CAAC;QACnC,IAAmB,CAAA,mBAAA,GAA6B,EAAE,CAAC;QACnD,IAAa,CAAA,aAAA,GAA6B,EAAE,CAAC;QAC7C,IAAc,CAAA,cAAA,GAAsB,IAAI,CAAC;QACzC,IAAW,CAAA,WAAA,GAAiB,EAAE,CAAC;QAC/B,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAChB,IAAG,CAAA,GAAA,GAAc,KAAK,CAAC;;QA4RrB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KAC3D;AAED,IAAA,UAAU,CAAC,UAAqC,EAAA;;AAE9C,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;AACxB,YAAA,MAAM,iBAAiB,GAAG,CACxB,KAAgC,EAChC,IAAuB,KACP;gBAChB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;AACzC,oBAAA,OAAO,EAAE,CAAC;iBACX;AAAM,qBAAA,IAAI,IAAI,KAAK,SAAS,EAAE;oBAC7B,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChB;qBAAM;AACL,oBAAA,OAAO,KAAK,CAAC;iBACd;AACH,aAAC,CAAC;YACF,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAChE,YAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;SACzB;KACF;AAED,IAAA,gBAAgB,CAAC,EAAgB,EAAA;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAiB,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC5B,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;AACD,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QACrD,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;AACD,QAAA,IAAI,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;AACnC,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAC1B;QACD,IAAI,UAAU,EAAE;AACd,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;YAC5C,MAAM,qBAAqB,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,IAAG;gBACrD,OAAO;AACL,oBAAA,QAAQ,EAAE,IAAI,CAAC,KAAK,YAAY,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI;AAC/D,oBAAA,QAAQ,EAAE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI;oBAC5D,QAAQ,EAAE,IAAI,CAAC,KAAK;AACpB,oBAAA,WAAW,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;AACnC,oBAAA,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,KAAK;AAC3B,oBAAA,gBAAgB,EAAE,IAAI,CAAC,KAAK,YAAY,WAAW;AACnD,oBAAA,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;AACnC,oBAAA,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,IAAI,CAAC,KAAK;iBAChB,CAAC;AACJ,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;SACtD;KACF;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY;AACd,aAAA,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC;AAC9B,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,WAAW,IAAG;YACvB,IAAI,CAAC,WAAW,EAAE;AAChB,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AACxB,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACpB,gBAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;oBAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;AACnB,iBAAC,CAAC,CAAC;aACJ;iBAAM;AACL,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AACxB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aACtB;AACH,SAAC,CAAC,CAAC;QACL,aAAa,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACzD,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,CAAC,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,KAAI;YACvD,MAAM,aAAa,GAAG,mBAAmB;iBACtC,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC;iBACrC,MAAM,CACL,KAAK,IACH,kBAAkB,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CACvF;iBACA,GAAG,CACF,KAAK,IACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACxE,gBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAC9B,CAAC;YACJ,IAAI,CAAC,wBAAwB,GAAG,CAAC,GAAG,kBAAkB,EAAE,GAAG,aAAa,CAAC,CAAC;AAC1E,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW;AAClC,iBAAA,GAAG,CACF,CAAC,IACC,CAAC,GAAG,IAAI,CAAC,wBAAwB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,IACjE,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CACzC,CACL;iBACA,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,yBAAyB,EAAE,CAAC;AACnC,SAAC,CAAC,CAAC;QAEL,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAoB,KAAI;AAC5F,YAAA,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;AACrB,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,gBAAgB;aAClB,gCAAgC,CAAC,QAAQ,CAAC;AAC1C,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,SAAC,CAAC,CAAC;QAEL,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;KACtC;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAC1B,YAAA,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC;AACrF,iBAAA,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,EACf,SAAS,CAAC,MACR,KAAK,CACH,GAAG;gBACD,IAAI,CAAC,wBAAwB,CAAC,OAAO;gBACrC,IAAI,CAAC,6BAA6B,CAAC,OAAO;AAC1C,gBAAA,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC;AAC9D,gBAAA,GAAG,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC;AACpE,aAAA,CACF,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACxB,EACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB;iBACA,SAAS,CAAC,MAAK;AACd,gBAAA,MAAM,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,IAAG;AAC/E,oBAAA,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,UAAU,EACX,GAAG,IAAI,CAAC;oBACT,OAAO;wBACL,QAAQ;wBACR,QAAQ;wBACR,QAAQ;wBACR,WAAW;wBACX,OAAO;wBACP,gBAAgB;wBAChB,UAAU;AACV,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,GAAG,EAAE,QAAQ;qBACd,CAAC;AACJ,iBAAC,CAAC,CAAC;AACH,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACrD,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,aAAC,CAAC,CAAC;SACN;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;+GAhkBU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAH,IAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAM,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAjHlB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,cAAA,EAAA,2BAAA,EAAA,aAAA,EAAA,8BAAA,EAAA,+BAAA,EAAA,8BAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,SAAA,EAAA,0BAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,kBAAkB,CAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,SAAA,EAoMgB,kBAAkB,EAElB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,+BAAA,EAAA,SAAA,EAAA,uBAAuB,+FAR7B,gBAAgB,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAwB,UAAU,EAElD,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,mBAAmB,6GAEnB,4BAA4B,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gCAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAM5B,uBAAuB,EAAwB,WAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAU,iGAEzD,4BAA4B,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAwB,UAAU,EAtM/D,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFT,EArFW,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,qEAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,8BAAA,EAAA,qCAAA,EAAA,4BAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,kCAAA,EAAA,+BAAA,EAAA,mCAAA,EAAA,mCAAA,EAAA,yBAAA,EAAA,iCAAA,EAAA,sCAAA,EAAA,gCAAA,EAAA,iCAAA,EAAA,uCAAA,EAAA,kCAAA,EAAA,yBAAA,EAAA,wCAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,4DAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,4CAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,aAAA,EAAA,MAAA,EAAA,aAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,kBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,+BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,WAAW,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAsIzB,UAAA,CAAA;AADC,IAAA,UAAU,EAA2C;AACQ,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAerC,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAsB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACE,UAAA,CAAA;AAAtC,IAAA,UAAU,EAAW;AAAE,IAAA,YAAY,EAAE;AAAuB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAC7C,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAuB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACtB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAoB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACnB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAsB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACrB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAgC,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,yBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAC/B,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAyB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACxB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAqB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACpB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAiB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACO,UAAA,CAAA;AAAtC,IAAA,UAAU,EAAW;AAAE,IAAA,YAAY,EAAE;AAAqB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAtDzD,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBArH9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,mBAAmB,EAAE,KAAK;AAC1B,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,wBAAwB,CAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,UAAU,EAAE,CAAC,WAAW,CAAC;AACzB,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoFT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,uBAAuB,EAAE,kBAAkB;AAC3C,wBAAA,uBAAuB,EAAE,kBAAkB;AAC3C,wBAAA,uBAAuB,EAAE,kBAAkB;AAC3C,wBAAA,uBAAuB,EAAE,kBAAkB;AAC3C,wBAAA,+BAA+B,EAAE,CAAc,YAAA,CAAA;AAC/C,wBAAA,6BAA6B,EAAE,aAAa;AAC5C,wBAAA,gCAAgC,EAAE,CAA+B,6BAAA,CAAA;AACjE,wBAAA,gCAAgC,EAAE,eAAe;AACjD,wBAAA,+BAA+B,EAAE,eAAe;AAChD,wBAAA,yBAAyB,EAAE,SAAS;AACpC,wBAAA,4BAA4B,EAAE,oBAAoB;AAClD,wBAAA,2BAA2B,EAAE,CAAuB,qBAAA,CAAA;AACpD,wBAAA,6BAA6B,EAAE,CAAuB,qBAAA,CAAA;AACtD,wBAAA,wBAAwB,EAAE,CAAe,aAAA,CAAA;AACzC,wBAAA,SAAS,EAAE,eAAe;AAC3B,qBAAA;AACF,iBAAA,CAAA;;0BA2YI,QAAQ;;0BACR,IAAI;;0BAAI,QAAQ;yCA5XV,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,2BAA2B,EAAA,CAAA;sBAAnC,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBAKN,aAAa,EAAA,CAAA;sBAFZ,KAAK;gBAGG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,uBAAuB,EAAA,CAAA;sBAA/B,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAGG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBAImB,aAAa,EAAA,CAAA;sBAArC,KAAK;gBAC0C,aAAa,EAAA,CAAA;sBAA5D,KAAK;gBACmB,aAAa,EAAA,CAAA;sBAArC,KAAK;gBACmB,UAAU,EAAA,CAAA;sBAAlC,KAAK;gBACmB,YAAY,EAAA,CAAA;sBAApC,KAAK;gBACmB,uBAAuB,EAAA,CAAA;sBAA/C,KAAK;gBACmB,eAAe,EAAA,CAAA;sBAAvC,KAAK;gBACmB,WAAW,EAAA,CAAA;sBAAnC,KAAK;gBACmB,OAAO,EAAA,CAAA;sBAA/B,KAAK;gBAC0C,WAAW,EAAA,CAAA;sBAA1D,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAGF,YAAY,EAAA,CAAA;sBADf,KAAK;gBAqBa,WAAW,EAAA,CAAA;sBAA7B,MAAM;gBACY,iBAAiB,EAAA,CAAA;sBAAnC,MAAM;gBACY,aAAa,EAAA,CAAA;sBAA/B,MAAM;gBACY,OAAO,EAAA,CAAA;sBAAzB,MAAM;gBACY,QAAQ,EAAA,CAAA;sBAA1B,MAAM;gBAEP,aAAa,EAAA,CAAA;sBADZ,SAAS;uBAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAG/D,mBAAmB,EAAA,CAAA;sBADlB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAGhD,4BAA4B,EAAA,CAAA;sBAD3B,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,4BAA4B,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAGzD,wBAAwB,EAAA,CAAA;sBADvB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAG1D,6BAA6B,EAAA,CAAA;sBAD5B,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,uBAAuB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;gBAG/D,8BAA8B,EAAA,CAAA;sBAD7B,SAAS;uBAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBAGtE,mCAAmC,EAAA,CAAA;sBADlC,SAAS;uBAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;;;AC/R7E;;;AAGG;MA4EU,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBA1BxB,kBAAkB;YAClB,kBAAkB;YAClB,2BAA2B;YAC3B,uBAAuB;YACvB,sBAAsB;YACtB,4BAA4B;YAC5B,wBAAwB;YACxB,sBAAsB;YACtB,uBAAuB;YACvB,uBAAuB;YACvB,6BAA6B;YAC7B,2BAA2B;AAC3B,YAAA,+BAA+B,aA7B/B,UAAU;YACV,YAAY;YACZ,aAAa;YACb,WAAW;YACX,cAAc;YACd,aAAa;YACb,aAAa;YACb,eAAe;YACf,cAAc;YACd,gBAAgB;YAChB,iBAAiB;YACjB,oBAAoB;YACpBC,yBAAwB;YACxB,eAAe;AACf,YAAA,UAAU,aAkBV,kBAAkB;YAClB,kBAAkB;YAClB,uBAAuB;YACvB,uBAAuB;YACvB,uBAAuB;YACvB,sBAAsB;YACtB,6BAA6B;YAC7B,wBAAwB;YACxB,+BAA+B,CAAA,EAAA,CAAA,CAAA,EAAA;AAGtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YA3CxB,UAAU;YACV,YAAY;YACZ,aAAa;YACb,WAAW;YACX,cAAc;YACd,aAAa;YACb,aAAa;YACb,eAAe;YACf,cAAc;YACd,gBAAgB;YAChB,iBAAiB;YACjB,oBAAoB;YACpBA,yBAAwB;YACxB,eAAe;YACf,UAAU,CAAA,EAAA,CAAA,CAAA,EAAA;;4FA6BD,eAAe,EAAA,UAAA,EAAA,CAAA;kBA7C3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,UAAU;wBACV,YAAY;wBACZ,aAAa;wBACb,WAAW;wBACX,cAAc;wBACd,aAAa;wBACb,aAAa;wBACb,eAAe;wBACf,cAAc;wBACd,gBAAgB;wBAChB,iBAAiB;wBACjB,oBAAoB;wBACpBA,yBAAwB;wBACxB,eAAe;wBACf,UAAU;AACX,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACZ,kBAAkB;wBAClB,kBAAkB;wBAClB,2BAA2B;wBAC3B,uBAAuB;wBACvB,sBAAsB;wBACtB,4BAA4B;wBAC5B,wBAAwB;wBACxB,sBAAsB;wBACtB,uBAAuB;wBACvB,uBAAuB;wBACvB,6BAA6B;wBAC7B,2BAA2B;wBAC3B,+BAA+B;AAChC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB,kBAAkB;wBAClB,uBAAuB;wBACvB,uBAAuB;wBACvB,uBAAuB;wBACvB,sBAAsB;wBACtB,6BAA6B;wBAC7B,wBAAwB;wBACxB,+BAA+B;AAChC,qBAAA;AACF,iBAAA,CAAA;;;AC9ED;;;AAGG;;ACHH;;;AAGG;;ACHH;;AAEG;;;;"}