{"version":3,"file":"ng-devui-tree-select.mjs","sources":["../../devui/tree-select/tree-default-icons.ts","../../devui/tree-select/tree-select.component.ts","../../devui/tree-select/tree-select.component.html","../../devui/tree-select/tree-select.module.ts","../../devui/tree-select/ng-devui-tree-select.ts"],"sourcesContent":["const DefaultIcons = {\n  iconParentClose:\n  `\n    <span style=\"width: 14px; display: inline-block; content: '';\">\n      <svg\n        width=\"16px\"\n        height=\"16px\"\n        viewBox=\"0 0 16 16\"\n        version=\"1.1\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n      >\n        <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n          <path\n            d=\"M3,2 L13,2 C13.5522847,2 14,2.44771525 14,3 L14,13 C14,13.5522847 13.5522847,14 13,14 L3,14 C2.44771525,14 2,13.5522847 2,\n            13 L2,3 C2,2.44771525 2.44771525,2 3,2 Z M7,7 L4,7 L4,9 L7,9 L7,12 L9,12 L9,9 L12,9 L12,7 L9,7 L9,4 L7,4 L7,7 Z\"\n            fill=\"#5E6678\"\n            fill-rule=\"nonzero\"\n          ></path>\n        </g>\n      </svg>\n    </span>\n  `,\n  iconParentOpen:\n  `\n    <span style=\"width: 14px; display: inline-block; content: '';\">\n      <svg\n        width=\"16px\"\n        height=\"16px\"\n        viewBox=\"0 0 16 16\"\n        version=\"1.1\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n      >\n        <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n          <path\n            d=\"M3,2 L13,2 C13.5522847,2 14,2.44771525 14,3 L14,13 C14,13.5522847 13.5522847,14 13,14 L3,14 C2.44771525,14 2,13.5522847 2,\n            13 L2,3 C2,2.44771525 2.44771525,2 3,2 Z M12,7 L4,7 L4,9 L12,9 L12,7 Z\"\n            fill=\"#5E6678\"\n            fill-rule=\"nonzero\"\n          ></path>\n        </g>\n      </svg>\n    </span>\n  `,\n  iconLeaf: `\n    <span style=\"width: 14px; display: inline-block; content: '';\"></span>\n  `\n};\n\nexport default {\n  ...DefaultIcons\n};\n\nexport {\n  DefaultIcons\n};\n","import {\n  AfterViewInit,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  HostBinding,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  Renderer2,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { I18nInterface, I18nService } from 'ng-devui/i18n';\nimport { SearchComponent } from 'ng-devui/search';\nimport { ICheckboxInput, ITreeItem, OperableTreeComponent, TreeNode } from 'ng-devui/tree';\nimport { addClassToOrigin, DevConfigService, removeClassFromOrigin, WithConfig } from 'ng-devui/utils';\nimport { trim } from 'lodash-es';\nimport { Subject, Subscription } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport DefaultIcons from './tree-default-icons';\n\n@Component({\n  selector: 'd-tree-select',\n  templateUrl: './tree-select.component.html',\n  styleUrls: [`./tree-select.component.scss`],\n  exportAs: 'select',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => TreeSelectComponent),\n      multi: true,\n    },\n  ],\n  preserveWhitespaces: false,\n})\nexport class TreeSelectComponent implements ControlValueAccessor, OnInit, AfterViewInit, OnDestroy, OnChanges {\n  @Input() checkableRelation: 'upward' | 'downward' | 'both' | 'none' = 'both';\n  @Input() set allowClear(allowClear) {\n    // 废弃\n    this._allowClear = allowClear;\n  }\n\n  get allowClear() {\n    return !this.disabled && !this.multiple && !this.enableLabelization && this.allowUnselect && this._allowClear && !!this.selectedValue;\n  }\n\n  @Input() set treeData(treeData) {\n    this._sourceTree = treeData;\n    this.refreshTree(treeData);\n  }\n\n  get treeData() {\n    return this._treeData;\n  }\n\n  get isOpen() {\n    return this._isOpen;\n  }\n\n  set isOpen(value) {\n    if (this._isOpen !== value) {\n      this._isOpen = value;\n      if (!value) {\n        removeClassFromOrigin(this.selectHost);\n        this.onTouch();\n      } else {\n        addClassToOrigin(this.selectHost);\n      }\n      this.changeDetectorRef.detectChanges();\n    }\n  }\n\n  set value(val) {\n    this._value = val;\n    if (val && Array.isArray(val) && val.length) {\n      this.valueType = 'array';\n      this.valueLength = val.length;\n    } else if (val && Object.keys(val).length) {\n      this.valueType = 'object';\n    } else {\n      this.valueType = undefined;\n    }\n  }\n\n  get value() {\n    return this._value;\n  }\n\n  constructor(\n    protected renderer: Renderer2,\n    protected changeDetectorRef: ChangeDetectorRef,\n    private i18n: I18nService,\n    private devConfigService: DevConfigService\n  ) {}\n  @Input() @WithConfig() showAnimation = true;\n  @Input() @WithConfig() styleType = 'default';\n  @Input() @WithConfig() showGlowStyle = true;\n  @HostBinding('class.devui-glow-style') get hasGlowStyle() {\n    return this.showGlowStyle;\n  }\n  @Input() placeholder = '';\n  @Input() searchPlaceholder = '';\n  @Input() disabled = false;\n  @Input() expandTree = false;\n  @Input() multiple = false;\n  @Input() treeNodeIdKey = 'id';\n  @Input() treeNodeChildrenKey = 'children';\n  @Input() treeNodeTitleKey = 'title';\n  @Input() disabledKey = 'disabled';\n  @Input() leafOnly = false;\n  @Input() delimiter = ', '; // 废弃\n  @Input() iconParentOpen: string = DefaultIcons.iconParentOpen;\n  @Input() iconParentClose: string = DefaultIcons.iconParentClose;\n  @Input() iconLeaf: string = DefaultIcons.iconLeaf;\n  @Input() closeOnNodeSelected = true;\n  @Input() width: string = null;\n  @Input() searchable = false;\n  @Input() appendTo = 'body';\n  @Input() allowUnselect = true;\n  @Input() enableLabelization = true;\n  @Input() iconTemplatePosition: string;\n  @Input() iconTemplateInput: TemplateRef<any>;\n  @Input() customItemTemplate: TemplateRef<any>;\n  @Input() customNoDataTemplate: TemplateRef<any>;\n  @Input() customViewTemplate: TemplateRef<any>;\n  @Input() customSearchFn: (treeData: TreeNode[], keyword: string) => boolean | TreeNode[];\n  @Input() customViewDirection: 'top' | 'bottom' | 'right' | 'left' = 'bottom';\n  @ViewChild('selectHost', { static: true }) selectHost: ElementRef;\n  @ViewChild('optionsContainer', { static: true }) optionsContainer: ElementRef;\n  @ViewChild('tree', { static: true }) tree: OperableTreeComponent;\n  @ViewChild('searchInput') searchInput: SearchComponent;\n  @ViewChild('searchInputModel') searchInputModel;\n  @ViewChild('popper', { static: true }) popper;\n  @ContentChild('iconTemplate') iconTemplatePassThrough;\n  // TODO: need to change to nodeToggledEvent\n  @Output() nodeToggleEvent = new EventEmitter<any>();\n  @Output() valueChanged = new EventEmitter<any>();\n  @Output() toggleChange = new EventEmitter<boolean>();\n  @Input() virtualScroll = false;\n  @Input() virtualScrollItemSize = 30;\n  @Input() virtualScrollMinBufferPx = 300;\n  @Input() virtualScrollMaxBufferPx = 600;\n  @Input() virtualScrollHeightPx = 300;\n  checkboxInput: ICheckboxInput;\n  _treeData: Array<ITreeItem> = [];\n  currentActiveNode: ITreeItem;\n  searchString: string = null;\n  i18nCommonText: I18nInterface['common'];\n  i18nSubscription: Subscription;\n  noRecord = false;\n  valueType: 'array' | 'object' | undefined;\n  displayValue: string | Array<string>;\n  valueLength: number;\n  userAgent: string;\n  destroy$ = new Subject<void>();\n  validVirtualScrollHeight: number;\n  private _value: object | Array<any> | any;\n  private _isOpen = false;\n  private _sourceTree = [];\n  private _allowClear: boolean;\n  private timer: any;\n  @Input() readyEvent = (treeSelect: TreeSelectComponent) => {};\n\n  private onChange = (_: any) => null;\n  private onTouch = () => null;\n\n  ngAfterViewInit(): void {\n    this.changeDetectorRef.detectChanges();\n    this.readyEvent(this);\n    if (this.searchable) {\n      this.registerSearchListener();\n    }\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {}\n\n  ngOnDestroy(): void {\n    if (this.i18nSubscription) {\n      this.i18nSubscription.unsubscribe();\n    }\n    this.isOpen = false; // 销毁Popper\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  ngOnInit(): void {\n    this.setI18nText();\n    this.queryMedia();\n  }\n\n  afterTreeInit() {\n    if (this.virtualScroll) {\n      this.tree.treeFactory.flattenNodes.pipe(takeUntil(this.destroy$)).subscribe((data) => {\n        const treeNodeOnDisplay = data.filter((node) => !(node.data.isHide || node.data.hideInVirtualScroll));\n        this.validVirtualScrollHeight = Math.min(treeNodeOnDisplay.length * this.virtualScrollItemSize, this.virtualScrollHeightPx);\n      });\n    }\n  }\n\n  registerOnChange(fn: any): void {\n    this.onChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouch = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n  }\n\n  writeValue(value: any): void {\n    this.value = this.multiple ? Object.assign([], value) : value;\n    this.refreshTree(this.treeData);\n    // Trigger visualization after tree data is fulfilled.\n    this.changeDetectorRef.detectChanges();\n    this.visualizeSelectedItems();\n  }\n\n  toggle() {\n    if (this.disabled) {\n      return;\n    }\n    if (this.timer) {\n      clearTimeout(this.timer);\n    }\n    const applyNow = !this.timer;\n    this.timer = setTimeout(() => {\n      this.timer = null;\n    }, 200);\n    if (applyNow) {\n      this.isOpen = !this.isOpen;\n    }\n  }\n\n  private setI18nText() {\n    this.i18nCommonText = this.i18n.getI18nText().common;\n    this.i18nSubscription = this.i18n.langChange().subscribe((data) => {\n      this.i18nCommonText = data.common;\n    });\n  }\n\n  private queryMedia() {\n    if (typeof window === 'undefined') {\n      return;\n    }\n    const userAgent = window.navigator.userAgent;\n    if (userAgent.indexOf('Edge') > -1) {\n      this.userAgent = 'edge';\n    } else if (userAgent.indexOf('MSIE') > -1 || userAgent.indexOf('Trident/') > -1) {\n      this.userAgent = 'ie';\n    } else if (userAgent.indexOf('Firefox') > -1) {\n      this.userAgent = 'firefox';\n    } else {\n      this.userAgent = 'chrome';\n    }\n  }\n\n  private prepareTree(treeNode: any, expandTree = false) {\n    if (Array.isArray(treeNode)) {\n      return treeNode.map((node) => this.prepareTree(node, expandTree));\n    } else if (treeNode) {\n      let parentCheckedByChildren = false;\n      if (Object.prototype.hasOwnProperty.call(treeNode, this.treeNodeChildrenKey)) {\n        treeNode.open = expandTree ? true : treeNode.open;\n        treeNode[this.treeNodeChildrenKey] = this.prepareTree(treeNode[this.treeNodeChildrenKey], expandTree);\n        if (this.multiple) {\n          [parentCheckedByChildren, treeNode.halfChecked] = this.resolveParentNode(treeNode[this.treeNodeChildrenKey]);\n        }\n      }\n      if (Object.prototype.hasOwnProperty.call(treeNode, this.treeNodeIdKey)) {\n        const nodeId = treeNode[this.treeNodeIdKey];\n        if (this.multiple) {\n          const selectedByValue = this.nodeSelected(nodeId);\n          treeNode.isActive = false;\n          treeNode.isChecked = selectedByValue || parentCheckedByChildren;\n          if (!this.leafOnly && !selectedByValue && parentCheckedByChildren) {\n            const insertObject = {};\n            insertObject[this.treeNodeIdKey] = treeNode[this.treeNodeIdKey];\n            insertObject[this.treeNodeTitleKey] = treeNode[this.treeNodeTitleKey];\n            (this.value as any[]).push(insertObject);\n            // 赋值触发setValue设置valueType和valueLength\n            /* eslint-disable-next-line no-self-assign*/\n            this.value = this.value;\n          }\n        } else {\n          treeNode.isChecked = false;\n          treeNode.isActive = this.nodeSelected(nodeId);\n          if (treeNode.isActive) {\n            this.currentActiveNode = treeNode;\n          }\n        }\n      }\n\n      return treeNode;\n    }\n  }\n\n  private nodeSelected(treeNodeId: any) {\n    if (!this.value) {\n      return false;\n    }\n\n    if (this.multiple && Array.isArray(this.value)) {\n      // polyfill Array.prototype.includes()\n      return this.value.map((_) => _[this.treeNodeIdKey]).indexOf(treeNodeId) > -1;\n    } else {\n      return this.value[this.treeNodeIdKey] && treeNodeId === this.value[this.treeNodeIdKey];\n    }\n  }\n\n  private resolveParentNode(treeNodes: ITreeItem[]): boolean[] {\n    const enableParentNodeCheckByChild = this.checkableRelation === 'both' || this.checkableRelation === 'upward';\n    const childrenFullCheckedCount = enableParentNodeCheckByChild && treeNodes.filter((_) => _.isChecked).length;\n    const childrenCheckedCount = enableParentNodeCheckByChild && treeNodes.filter((_) => _.isChecked || _.halfChecked).length;\n    return [\n      childrenFullCheckedCount > 0 && treeNodes.length === childrenFullCheckedCount,\n      childrenCheckedCount > 0 && treeNodes.length > childrenFullCheckedCount,\n    ];\n  }\n\n  private refreshTree(treeData: Array<any>) {\n    this._treeData = Object.assign([], this.prepareTree(treeData, this.expandTree));\n  }\n\n  onOperableNodeChecked(selectedNodes: ITreeItem[]) {\n    const selectedValueExtractor = (_selectedNodes) => {\n      return this.leafOnly\n        ? _selectedNodes.filter((_) => !_.data.isParent).map((_) => _.data.originItem)\n        : _selectedNodes.map((_) => _.data.originItem);\n    };\n    if (this.multiple) {\n      this.value = selectedValueExtractor(selectedNodes);\n      this.emitEvents();\n    }\n  }\n\n  onOperableNodeSelected(selectedNode: TreeNode | TreeNode[]) {\n    const node = selectedNode as TreeNode;\n    if (!this.multiple) {\n      if (this.leafOnly && node.data.isParent) {\n        return;\n      }\n      if (node.data.isActive) {\n        this.currentActiveNode = node.data.originItem;\n        this.value = node.data.originItem;\n        // Configurable close on node selected\n        if (this.closeOnNodeSelected) {\n          this.isOpen = false;\n        }\n      } else {\n        if (this.allowUnselect) {\n          this.currentActiveNode = null;\n          this.value = null;\n        } else {\n          node.data.isActive = true;\n          if (this.closeOnNodeSelected) {\n            this.isOpen = false;\n          }\n        }\n      }\n\n      this.emitEvents();\n    }\n  }\n\n  emitEvents() {\n    this.visualizeSelectedItems();\n    this.onChange(this.value);\n    this.valueChanged.emit(this.selectedValue());\n  }\n\n  visualizeSelectedItems() {\n    if (this.multiple) {\n      this.visualizeMultipleValue();\n    } else {\n      this.visualizeSingleValue();\n    }\n  }\n\n  visualizeMultipleValue() {\n    if (this.tree && this.tree.treeFactory) {\n      const selectedNodes = this.selectedValue() as any[];\n      const valueText = selectedNodes.map((_) => _[this.treeNodeTitleKey]);\n      this.displayValue = valueText;\n    } else {\n      this.emptyInput();\n    }\n  }\n\n  visualizeSingleValue() {\n    if (this.value && this.value[this.treeNodeTitleKey]) {\n      const valueText = this.value[this.treeNodeTitleKey];\n      this.displayValue = valueText;\n    } else {\n      this.emptyInput();\n    }\n  }\n\n  emptyInput() {\n    this.displayValue = '';\n  }\n\n  selectedValue() {\n    return this.value;\n  }\n\n  responsePopperChange(popperState: any) {\n    if (popperState && this.searchable) {\n      this.focusSearchInput();\n    }\n    if (popperState && this.virtualScroll && this.tree) {\n      this.tree.operableTree.viewPort.checkViewportSize();\n    }\n    this.toggleChange.emit(popperState);\n  }\n\n  private focusSearchInput() {\n    if (this.searchInput.filterInputElement.nativeElement) {\n      this.searchInput.filterInputElement.nativeElement.focus();\n    }\n  }\n\n  search(searchString) {\n    const searchRes = this.customSearchFn ? this.customSearchFnHandle(searchString) : this.tree.treeFactory.searchTree(searchString, true);\n    if (typeof searchRes === 'boolean') {\n      this.noRecord = searchRes;\n    } else if (Array.isArray(searchRes)) {\n      this.noRecord = searchRes.every((res) => !res);\n    }\n    this.tree.treeFactory.getFlattenNodes();\n    this.popper.update();\n  }\n\n  customSearchFnHandle(searchString) {\n    const keyword = trim(searchString).toLowerCase();\n    this.tree.treeFactory.resetSearchResults();\n    return this.customSearchFn(this.tree.treeFactory.treeRoot, keyword);\n  }\n\n  private registerSearchListener() {\n    this.searchInputModel.valueChanges.pipe(debounceTime(500), distinctUntilChanged()).subscribe((searchString) => {\n      this.search(searchString);\n    });\n  }\n\n  clearValue(event, item, index?) {\n    event.preventDefault();\n    event.stopPropagation();\n    if (this.multiple) {\n      this.tree.treeFactory.checkNodesById(item[this.treeNodeIdKey], false, this.checkableRelation);\n      const curValue = this.tree.treeFactory.getCheckedNodes();\n      this.value = this.leafOnly\n        ? curValue.filter((node) => !node.data.isParent).map((node) => node.data.originItem)\n        : curValue.map((node) => node.data.originItem);\n    } else {\n      this.clearAll();\n    }\n    this.emitEvents();\n  }\n\n  clearAll() {\n    this.tree.treeFactory.deactivateAllNodes();\n    this.currentActiveNode = null;\n    this.value = null;\n  }\n\n  onNodeToggled($event) {\n    if (this.popper) {\n      this.popper.update();\n    }\n    this.nodeToggleEvent.emit($event);\n  }\n}\n","<div class=\"devui-tree-select {{ userAgent }}\">\n  <d-popper-component\n    [poppoverAppendDirection]=\"customViewDirection\"\n    [(open)]=\"isOpen\"\n    [fluidPopper]=\"!width\"\n    (openChange)=\"responsePopperChange($event)\"\n    [appendTo]=\"appendTo\"\n    [showAnimation]=\"showAnimation\"\n    #popper\n  >\n    <div\n      #selectHost\n      class=\"devui-select-input devui-form-control devui-tree-select-input devui-dropdown-origin\"\n      [class.devui-gray-style]=\"styleType === 'gray'\"\n      (click)=\"toggle()\"\n      autocomplete=\"off\"\n      [ngClass]=\"{ disabled: disabled, 'devui-select-no-label': !enableLabelization }\"\n      readonly\n      popper-activator\n    >\n      <span class=\"devui-tree-select-placeholder\">{{ !valueType ? placeholder : '' }}</span>\n      <div class=\"devui-select-item\" *ngIf=\"valueType === 'object' && enableLabelization && !customItemTemplate\">\n        <span class=\"devui-select-item-content\">{{ value[treeNodeTitleKey] }}</span>\n        <span *ngIf=\"!disabled\" class=\"devui-select-item-clear-icon\" (click)=\"clearValue($event, value)\">\n          <svg\n            width=\"6px\"\n            height=\"6px\"\n            viewBox=\"0 0 10 10\"\n            version=\"1.1\"\n            xmlns=\"http://www.w3.org/2000/svg\"\n            xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n          >\n            <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n              <g transform=\"translate(-3.000000, -3.000000)\" fill-rule=\"nonzero\">\n                <path\n                  d=\"M11.6426,3.19816936 C11.9239974,2.91574512 12.4131626,2.93784891 12.7352108,3.24751057 C13.0571998,3.5572302 13.0901298,4.03723416 12.8087324,4.31965839 L9.14064666,7.99900183 L12.8087324,11.6803416 C13.0645482,11.9370909 13.0605893,12.3571292 12.8158402,12.6640749 L12.7352108,12.7524894 C12.4131626,13.0621511 11.9239974,13.0842548 11.6426,12.8018306 L8,9.14489021 L4.35740003,12.8018306 C4.10158422,13.05858 3.6740594,13.0636532 3.35648225,12.8298003 L3.26478919,12.7524894 C2.94280021,12.4427698 2.90987023,11.9627658 3.19126762,11.6803416 L6.8583349,7.99900183 L3.19126762,4.31965839 C2.93545181,4.06290908 2.93941068,3.64287076 3.18415975,3.3359251 L3.26478919,3.24751057 C3.58683735,2.93784891 4.07600264,2.91574512 4.35740003,3.19816936 L8,6.85411161 L11.6426,3.19816936 Z\"\n                ></path>\n              </g>\n            </g>\n          </svg>\n        </span>\n      </div>\n      <div class=\"devui-select-item devui-no-label-item\" *ngIf=\"valueType === 'object' && !enableLabelization && !customItemTemplate\">\n        {{ value[treeNodeTitleKey] }}\n      </div>\n      <div class=\"devui-select-item devui-no-label-item\" *ngIf=\"valueType === 'object' && customItemTemplate\">\n        <ng-template [ngTemplateOutlet]=\"customItemTemplate\" [ngTemplateOutletContext]=\"{ item: value }\"></ng-template>\n      </div>\n      <ul class=\"devui-select-list\" *ngIf=\"valueType === 'array' && enableLabelization && !customItemTemplate\">\n        <li class=\"devui-select-item\" *ngFor=\"let item of value; let i = index\">\n          <span class=\"devui-select-item-content\">{{ item[treeNodeTitleKey] }}</span>\n          <span *ngIf=\"!disabled\" class=\"devui-select-item-clear-icon\" (click)=\"clearValue($event, item, i)\">\n            <svg\n              width=\"6px\"\n              height=\"6px\"\n              viewBox=\"0 0 10 10\"\n              version=\"1.1\"\n              xmlns=\"http://www.w3.org/2000/svg\"\n              xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n            >\n              <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n                <g transform=\"translate(-3.000000, -3.000000)\" fill-rule=\"nonzero\">\n                  <path\n                    d=\"M11.6426,3.19816936 C11.9239974,2.91574512 12.4131626,2.93784891 12.7352108,3.24751057 C13.0571998,3.5572302 13.0901298,4.03723416 12.8087324,4.31965839 L9.14064666,7.99900183 L12.8087324,11.6803416 C13.0645482,11.9370909 13.0605893,12.3571292 12.8158402,12.6640749 L12.7352108,12.7524894 C12.4131626,13.0621511 11.9239974,13.0842548 11.6426,12.8018306 L8,9.14489021 L4.35740003,12.8018306 C4.10158422,13.05858 3.6740594,13.0636532 3.35648225,12.8298003 L3.26478919,12.7524894 C2.94280021,12.4427698 2.90987023,11.9627658 3.19126762,11.6803416 L6.8583349,7.99900183 L3.19126762,4.31965839 C2.93545181,4.06290908 2.93941068,3.64287076 3.18415975,3.3359251 L3.26478919,3.24751057 C3.58683735,2.93784891 4.07600264,2.91574512 4.35740003,3.19816936 L8,6.85411161 L11.6426,3.19816936 Z\"\n                  ></path>\n                </g>\n              </g>\n            </svg>\n          </span>\n        </li>\n      </ul>\n      <ul class=\"devui-select-list\" *ngIf=\"valueType === 'array' && !enableLabelization && !customItemTemplate\">\n        <li class=\"devui-select-item devui-no-label-item\" *ngFor=\"let item of value; let i = index\">\n          {{ item[treeNodeTitleKey] }}\n          <span *ngIf=\"valueLength && i < valueLength - 1\">, </span>\n        </li>\n      </ul>\n      <ul class=\"devui-select-list\" *ngIf=\"valueType === 'array' && customItemTemplate\">\n        <li class=\"devui-select-item devui-no-label-item\" *ngFor=\"let item of value\">\n          <ng-template [ngTemplateOutlet]=\"customItemTemplate\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-template>\n        </li>\n      </ul>\n    </div>\n    <div popper-prepend class=\"devui-tree-select devui-search-container devui-form-group devui-has-feedback\" *ngIf=\"searchable\">\n      <d-search #searchInputModel=\"ngModel\" #searchInput [(ngModel)]=\"searchString\" [placeholder]=\"searchPlaceholder\"></d-search>\n    </div>\n    <div\n      class=\"devui-tree-select devui-options-container\"\n      #optionsContainer\n      popper-container\n      [ngStyle]=\"{ width: width, maxHeight: validVirtualScrollHeight === undefined ? '300px' : validVirtualScrollHeight + 'px' }\"\n    >\n      <d-operable-tree\n        #tree\n        [style.display]=\"treeData && treeData.length > 0 && !noRecord ? 'block' : 'none'\"\n        [tree]=\"treeData\"\n        [treeNodeIdKey]=\"treeNodeIdKey\"\n        [treeNodeChildrenKey]=\"treeNodeChildrenKey\"\n        [checkboxDisabledKey]=\"disabledKey\"\n        [checkboxInput]=\"checkboxInput\"\n        [checkable]=\"multiple\"\n        [checkableRelation]=\"checkableRelation\"\n        [canActivateNode]=\"!multiple\"\n        [canActivateParentNode]=\"!leafOnly\"\n        (nodeChecked)=\"onOperableNodeChecked($event)\"\n        (nodeSelected)=\"onOperableNodeSelected($event)\"\n        (nodeToggled)=\"onNodeToggled($event)\"\n        [iconParentOpen]=\"iconParentOpen\"\n        [iconParentClose]=\"iconParentClose\"\n        [iconLeaf]=\"iconLeaf\"\n        [treeNodeTitleKey]=\"treeNodeTitleKey\"\n        [iconTemplatePosition]=\"iconTemplatePosition\"\n        [virtualScroll]=\"virtualScroll\"\n        [itemSize]=\"virtualScrollItemSize\"\n        [minBufferPx]=\"virtualScrollMinBufferPx\"\n        [maxBufferPx]=\"virtualScrollMaxBufferPx\"\n        [virtualScrollHeight]=\"validVirtualScrollHeight + 'px'\"\n        (afterTreeInit)=\"afterTreeInit()\"\n        class=\"devui-tree\"\n      >\n        <ng-template *ngIf=\"iconTemplateInput || iconTemplatePassThrough\" #iconTemplate let-node=\"node\">\n          <ng-template [ngTemplateOutlet]=\"iconTemplateInput || iconTemplatePassThrough\" [ngTemplateOutletContext]=\"{ node: node }\">\n          </ng-template>\n        </ng-template>\n      </d-operable-tree>\n      <ng-template\n        *ngIf=\"!treeData || treeData.length <= 0 || noRecord\"\n        [ngTemplateOutlet]=\"customNoDataTemplate || defaultNoResult\"\n        [ngTemplateOutletContext]=\"{ $implicit: this, isSearchResult: noRecord }\"\n      ></ng-template>\n    </div>\n\n    <!-- 自定义区域 -->\n    <div popper-append *ngIf=\"customViewTemplate\">\n      <ng-template [ngTemplateOutlet]=\"customViewTemplate\" [ngTemplateOutletContext]=\"{ $implicit: this }\"></ng-template>\n    </div>\n  </d-popper-component>\n  <div\n    [ngClass]=\"{ disabled: disabled, clear: allowClear }\"\n    (click)=\"$event.stopPropagation(); $event.preventDefault(); clearAll(); emitEvents()\"\n  ></div>\n  <span\n    class=\"devui-select-chevron-icon\"\n    [class.open]=\"isOpen\"\n    [ngClass]=\"{ disabled: disabled, 'allow-clear': allowClear, 'devui-select-chevron-icon-animation': showAnimation }\"\n  >\n    <svg\n      width=\"16px\"\n      height=\"16px\"\n      viewBox=\"0 0 16 16\"\n      version=\"1.1\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n    >\n      <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n        <path\n          d=\"M3.64644661,5.64644661 C3.82001296,5.47288026 4.08943736,5.45359511 4.2843055,5.58859116 L4.35355339,5.64644661 L8,9.293 L11.6464466,5.64644661 C11.820013,5.47288026 12.0894374,5.45359511 12.2843055,5.58859116 L12.3535534,5.64644661 C12.5271197,5.82001296 12.5464049,6.08943736 12.4114088,6.2843055 L12.3535534,6.35355339 L8.35355339,10.3535534 C8.17998704,10.5271197 7.91056264,10.5464049 7.7156945,10.4114088 L7.64644661,10.3535534 L3.64644661,6.35355339 C3.45118446,6.15829124 3.45118446,5.84170876 3.64644661,5.64644661 Z\"\n        ></path>\n      </g>\n    </svg>\n  </span>\n</div>\n\n<ng-template #defaultNoResult>\n  <div class=\"devui-no-data-tip\">\n    {{ noRecord ? i18nCommonText?.noRecordsFound : i18nCommonText?.noData }}\n  </div>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CheckBoxModule } from 'ng-devui/checkbox';\nimport { LoadingModule } from 'ng-devui/loading';\nimport { SearchModule } from 'ng-devui/search';\nimport { TreeModule } from 'ng-devui/tree';\nimport { PopperModule } from 'ng-devui/utils';\nimport { TreeSelectComponent } from './tree-select.component';\n\n@NgModule({\n  imports: [CommonModule, FormsModule, CheckBoxModule, LoadingModule, TreeModule, PopperModule, SearchModule],\n  exports: [TreeSelectComponent],\n  declarations: [TreeSelectComponent],\n  providers: [],\n})\nexport class TreeSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["DefaultIcons"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,MAAM,YAAY,GAAG;AACnB,IAAA,eAAe,EACf,CAAA;;;;;;;;;;;;;;;;;;;;AAoBC,EAAA,CAAA;AACD,IAAA,cAAc,EACd,CAAA;;;;;;;;;;;;;;;;;;;;AAoBC,EAAA,CAAA;AACD,IAAA,QAAQ,EAAE,CAAA;;AAET,EAAA,CAAA;EACD;AAEF,qBAAe;AACb,IAAA,GAAG,YAAY;CAChB;;MCTY,mBAAmB,CAAA;IAE9B,IAAa,UAAU,CAAC,UAAU,EAAA;;AAEhC,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;KAC/B;AAED,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;KACvI;IAED,IAAa,QAAQ,CAAC,QAAQ,EAAA;AAC5B,QAAA,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;AAC5B,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KAC5B;AAED,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAED,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;IAED,IAAI,MAAM,CAAC,KAAK,EAAA;AACd,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE;AACV,gBAAA,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvC,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;iBAAM;AACL,gBAAA,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACnC;AACD,YAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;SACxC;KACF;IAED,IAAI,KAAK,CAAC,GAAG,EAAA;AACX,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;AAClB,QAAA,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE;AAC3C,YAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;AACzB,YAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;SAC/B;aAAM,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;AACzC,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;SAC3B;aAAM;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;KACF;AAED,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;AAED,IAAA,WAAA,CACY,QAAmB,EACnB,iBAAoC,EACtC,IAAiB,EACjB,gBAAkC,EAAA;QAHhC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACtC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAa;QACjB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAxDnC,IAAiB,CAAA,iBAAA,GAA4C,MAAM,CAAC;QA0DtD,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;QACrB,IAAS,CAAA,SAAA,GAAG,SAAS,CAAC;QACtB,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;QAInC,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;QACjB,IAAiB,CAAA,iBAAA,GAAG,EAAE,CAAC;QACvB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QACnB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;QACrB,IAAmB,CAAA,mBAAA,GAAG,UAAU,CAAC;QACjC,IAAgB,CAAA,gBAAA,GAAG,OAAO,CAAC;QAC3B,IAAW,CAAA,WAAA,GAAG,UAAU,CAAC;QACzB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC;AACjB,QAAA,IAAA,CAAA,cAAc,GAAWA,cAAY,CAAC,cAAc,CAAC;AACrD,QAAA,IAAA,CAAA,eAAe,GAAWA,cAAY,CAAC,eAAe,CAAC;AACvD,QAAA,IAAA,CAAA,QAAQ,GAAWA,cAAY,CAAC,QAAQ,CAAC;QACzC,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC;QAC3B,IAAK,CAAA,KAAA,GAAW,IAAI,CAAC;QACrB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QACnB,IAAQ,CAAA,QAAA,GAAG,MAAM,CAAC;QAClB,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC;QACrB,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;QAO1B,IAAmB,CAAA,mBAAA,GAAwC,QAAQ,CAAC;;AASnE,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAO,CAAC;AAC1C,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAO,CAAC;AACvC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAW,CAAC;QAC5C,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QACtB,IAAqB,CAAA,qBAAA,GAAG,EAAE,CAAC;QAC3B,IAAwB,CAAA,wBAAA,GAAG,GAAG,CAAC;QAC/B,IAAwB,CAAA,wBAAA,GAAG,GAAG,CAAC;QAC/B,IAAqB,CAAA,qBAAA,GAAG,GAAG,CAAC;QAErC,IAAS,CAAA,SAAA,GAAqB,EAAE,CAAC;QAEjC,IAAY,CAAA,YAAA,GAAW,IAAI,CAAC;QAG5B,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAKjB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAGvB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAChB,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AAGhB,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,UAA+B,KAAI,GAAG,CAAC;AAEtD,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAM,KAAK,IAAI,CAAC;AAC5B,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,IAAI,CAAC;KAvEzB;AAIJ,IAAA,IAA2C,YAAY,GAAA;QACrD,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IAmED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;AACvC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACtB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;KACF;IAED,WAAW,CAAC,OAAsB,EAAA,GAAU;IAE5C,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;SACrC;AACD,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAED,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;gBACnF,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACtG,gBAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAC9H,aAAC,CAAC,CAAC;SACJ;KACF;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AAED,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;AAC9D,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;AAEhC,QAAA,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO;SACR;AACD,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1B;AACD,QAAA,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,MAAK;AAC3B,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACnB,EAAE,GAAG,CAAC,CAAC;QACR,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;SAC5B;KACF;IAEO,WAAW,GAAA;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;AACrD,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AAChE,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;AACpC,SAAC,CAAC,CAAC;KACJ;IAEO,UAAU,GAAA;AAChB,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,OAAO;SACR;AACD,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;QAC7C,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;AAClC,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;SACzB;aAAM,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;AAC/E,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;AAC5C,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC5B;aAAM;AACL,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;SAC3B;KACF;AAEO,IAAA,WAAW,CAAC,QAAa,EAAE,UAAU,GAAG,KAAK,EAAA;AACnD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC3B,YAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;SACnE;aAAM,IAAI,QAAQ,EAAE;YACnB,IAAI,uBAAuB,GAAG,KAAK,CAAC;AACpC,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE;AAC5E,gBAAA,QAAQ,CAAC,IAAI,GAAG,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAClD,gBAAA,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC,CAAC;AACtG,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,oBAAA,CAAC,uBAAuB,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;iBAC9G;aACF;AACD,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE;gBACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC5C,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAClD,oBAAA,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;AAC1B,oBAAA,QAAQ,CAAC,SAAS,GAAG,eAAe,IAAI,uBAAuB,CAAC;oBAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,IAAI,uBAAuB,EAAE;wBACjE,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,wBAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAChE,wBAAA,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACrE,wBAAA,IAAI,CAAC,KAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;;AAGzC,wBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;qBACzB;iBACF;qBAAM;AACL,oBAAA,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;oBAC3B,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9C,oBAAA,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACrB,wBAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;qBACnC;iBACF;aACF;AAED,YAAA,OAAO,QAAQ,CAAC;SACjB;KACF;AAEO,IAAA,YAAY,CAAC,UAAe,EAAA;AAClC,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,OAAO,KAAK,CAAC;SACd;AAED,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;;YAE9C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9E;aAAM;AACL,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACxF;KACF;AAEO,IAAA,iBAAiB,CAAC,SAAsB,EAAA;AAC9C,QAAA,MAAM,4BAA4B,GAAG,IAAI,CAAC,iBAAiB,KAAK,MAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,QAAQ,CAAC;AAC9G,QAAA,MAAM,wBAAwB,GAAG,4BAA4B,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QAC7G,MAAM,oBAAoB,GAAG,4BAA4B,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;QAC1H,OAAO;AACL,YAAA,wBAAwB,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,wBAAwB;AAC7E,YAAA,oBAAoB,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,wBAAwB;SACxE,CAAC;KACH;AAEO,IAAA,WAAW,CAAC,QAAoB,EAAA;QACtC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;KACjF;AAED,IAAA,qBAAqB,CAAC,aAA0B,EAAA;AAC9C,QAAA,MAAM,sBAAsB,GAAG,CAAC,cAAc,KAAI;YAChD,OAAO,IAAI,CAAC,QAAQ;AAClB,kBAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9E,kBAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACnD,SAAC,CAAC;AACF,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;KACF;AAED,IAAA,sBAAsB,CAAC,YAAmC,EAAA;QACxD,MAAM,IAAI,GAAG,YAAwB,CAAC;AACtC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACvC,OAAO;aACR;AACD,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;;AAElC,gBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,oBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;iBACrB;aACF;iBAAM;AACL,gBAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,oBAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AAC9B,oBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;iBACnB;qBAAM;AACL,oBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC1B,oBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,wBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;qBACrB;iBACF;aACF;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;KACF;IAED,UAAU,GAAA;QACR,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;KAC9C;IAED,sBAAsB,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;KACF;IAED,sBAAsB,GAAA;QACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAW,CAAC;AACpD,YAAA,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACrE,YAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;KACF;IAED,oBAAoB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACpD,YAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;KACF;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACxB;IAED,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;AAED,IAAA,oBAAoB,CAAC,WAAgB,EAAA;AACnC,QAAA,IAAI,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QACD,IAAI,WAAW,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE;YAClD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;SACrD;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACrC;IAEO,gBAAgB,GAAA;QACtB,IAAI,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,aAAa,EAAE;YACrD,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC3D;KACF;AAED,IAAA,MAAM,CAAC,YAAY,EAAA;AACjB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AACvI,QAAA,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE;AAClC,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC3B;AAAM,aAAA,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AACnC,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;SAChD;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;AACxC,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;KACtB;AAED,IAAA,oBAAoB,CAAC,YAAY,EAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;AACjD,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;AAC3C,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KACrE;IAEO,sBAAsB,GAAA;QAC5B,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,KAAI;AAC5G,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAC5B,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,KAAM,EAAA;QAC5B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;AACzD,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;AACxB,kBAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACpF,kBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;AAC3C,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACnB;AAED,IAAA,aAAa,CAAC,MAAM,EAAA;AAClB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SACtB;AACD,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACnC;+GArbU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EATnB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxCH,o5SAwKA,EAAA,MAAA,EAAA,CAAA,2rNAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,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,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,aAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,aAAA,EAAA,WAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;ADlEyB,UAAA,CAAA;AAAb,IAAA,UAAU,EAAE;;AAAsB,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACrB,UAAA,CAAA;AAAb,IAAA,UAAU,EAAE;;AAAuB,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACtB,UAAA,CAAA;AAAb,IAAA,UAAU,EAAE;;AAAsB,CAAA,EAAA,mBAAA,CAAA,SAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FA7DjC,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAd/B,SAAS;+BACE,eAAe,EAAA,QAAA,EAGf,QAAQ,EACP,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,mBAAA,EACoB,KAAK,EAAA,QAAA,EAAA,o5SAAA,EAAA,MAAA,EAAA,CAAA,2rNAAA,CAAA,EAAA,CAAA;uKAGjB,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACO,UAAU,EAAA,CAAA;sBAAtB,KAAK;gBASO,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAgDiB,aAAa,EAAA,CAAA;sBAAnC,KAAK;gBACiB,SAAS,EAAA,CAAA;sBAA/B,KAAK;gBACiB,aAAa,EAAA,CAAA;sBAAnC,KAAK;gBACqC,YAAY,EAAA,CAAA;sBAAtD,WAAW;uBAAC,wBAAwB,CAAA;gBAG5B,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,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;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACqC,UAAU,EAAA,CAAA;sBAApD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBACQ,gBAAgB,EAAA,CAAA;sBAAhE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBACV,IAAI,EAAA,CAAA;sBAAxC,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBACT,WAAW,EAAA,CAAA;sBAApC,SAAS;uBAAC,aAAa,CAAA;gBACO,gBAAgB,EAAA,CAAA;sBAA9C,SAAS;uBAAC,kBAAkB,CAAA;gBACU,MAAM,EAAA,CAAA;sBAA5C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBACP,uBAAuB,EAAA,CAAA;sBAApD,YAAY;uBAAC,cAAc,CAAA;gBAElB,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACE,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACG,wBAAwB,EAAA,CAAA;sBAAhC,KAAK;gBACG,wBAAwB,EAAA,CAAA;sBAAhC,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBAmBG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MEzJK,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,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,gBAAgB,iBAHZ,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAFxB,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,aAChG,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAIlB,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,gBAAgB,EALjB,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAK/F,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC;oBAC3G,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,YAAY,EAAE,CAAC,mBAAmB,CAAC;AACnC,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACfD;;AAEG;;;;"}