{"version":3,"file":"ng-zorro-antd-tooltip.mjs","sources":["../../components/tooltip/base.ts","../../components/tooltip/tooltip.ts","../../components/tooltip/tooltip.module.ts","../../components/tooltip/public-api.ts","../../components/tooltip/ng-zorro-antd-tooltip.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { CdkConnectedOverlay, ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';\nimport {\n  AfterViewInit,\n  ChangeDetectorRef,\n  ComponentFactoryResolver,\n  ComponentRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Renderer2,\n  SimpleChanges,\n  TemplateRef,\n  ViewChild,\n  ViewContainerRef\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { NzConfigService, PopConfirmConfig, PopoverConfig } from 'ng-zorro-antd/core/config';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport { DEFAULT_TOOLTIP_POSITIONS, getPlacementName, POSITION_MAP, POSITION_TYPE } from 'ng-zorro-antd/core/overlay';\nimport { BooleanInput, NgClassInterface, NgStyleInterface, NzSafeAny, NzTSType } from 'ng-zorro-antd/core/types';\nimport { isNotNil, toBoolean } from 'ng-zorro-antd/core/util';\n\nexport interface PropertyMapping {\n  [key: string]: [string, () => unknown];\n}\n\nexport type NzTooltipTrigger = 'click' | 'focus' | 'hover' | null;\n\n@Directive()\nexport abstract class NzTooltipBaseDirective implements OnChanges, OnDestroy, AfterViewInit {\n  arrowPointAtCenter?: boolean;\n  config?: Required<PopoverConfig | PopConfirmConfig>;\n  directiveTitle?: NzTSType | null;\n  directiveContent?: NzTSType | null;\n  title?: NzTSType | null;\n  content?: NzTSType | null;\n  trigger?: NzTooltipTrigger;\n  placement?: string | string[];\n  origin?: ElementRef<HTMLElement>;\n  visible?: boolean;\n  mouseEnterDelay?: number;\n  mouseLeaveDelay?: number;\n  overlayClassName?: string;\n  overlayStyle?: NgStyleInterface;\n  visibleChange = new EventEmitter<boolean>();\n\n  /**\n   * For create tooltip dynamically. This should be override for each different component.\n   */\n  protected componentRef!: ComponentRef<NzTooltipBaseComponent>;\n\n  /**\n   * This true title that would be used in other parts on this component.\n   */\n  protected get _title(): NzTSType | null {\n    return this.title || this.directiveTitle || null;\n  }\n\n  protected get _content(): NzTSType | null {\n    return this.content || this.directiveContent || null;\n  }\n\n  protected get _trigger(): NzTooltipTrigger {\n    return typeof this.trigger !== 'undefined' ? this.trigger : 'hover';\n  }\n\n  protected get _placement(): string[] {\n    const p = this.placement;\n    return Array.isArray(p) && p.length > 0 ? p : typeof p === 'string' && p ? [p] : ['top'];\n  }\n\n  protected get _visible(): boolean {\n    return (typeof this.visible !== 'undefined' ? this.visible : this.internalVisible) || false;\n  }\n\n  protected get _mouseEnterDelay(): number {\n    return this.mouseEnterDelay || 0.15;\n  }\n\n  protected get _mouseLeaveDelay(): number {\n    return this.mouseLeaveDelay || 0.1;\n  }\n\n  protected get _overlayClassName(): string | null {\n    return this.overlayClassName || null;\n  }\n\n  protected get _overlayStyle(): NgStyleInterface | null {\n    return this.overlayStyle || null;\n  }\n\n  private internalVisible = false;\n\n  protected getProxyPropertyMap(): PropertyMapping {\n    return {\n      noAnimation: ['noAnimation', () => !!this.noAnimation]\n    };\n  }\n\n  component?: NzTooltipBaseComponent;\n\n  protected readonly destroy$ = new Subject<void>();\n  protected readonly triggerDisposables: Array<() => void> = [];\n\n  private delayTimer?: number;\n\n  constructor(\n    public elementRef: ElementRef,\n    protected hostView: ViewContainerRef,\n    protected resolver: ComponentFactoryResolver,\n    protected renderer: Renderer2,\n    protected noAnimation?: NzNoAnimationDirective,\n    protected nzConfigService?: NzConfigService\n  ) {}\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const { trigger } = changes;\n\n    if (trigger && !trigger.isFirstChange()) {\n      this.registerTriggers();\n    }\n\n    if (this.component) {\n      this.updatePropertiesByChanges(changes);\n    }\n  }\n\n  ngAfterViewInit(): void {\n    this.createComponent();\n    this.registerTriggers();\n  }\n\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n\n    // Clear toggling timer. Issue #3875 #4317 #4386\n    this.clearTogglingTimer();\n    this.removeTriggerListeners();\n  }\n\n  show(): void {\n    this.component?.show();\n  }\n\n  hide(): void {\n    this.component?.hide();\n  }\n\n  /**\n   * Force the component to update its position.\n   */\n  updatePosition(): void {\n    if (this.component) {\n      this.component.updatePosition();\n    }\n  }\n\n  /**\n   * Create a dynamic tooltip component. This method can be override.\n   */\n  protected createComponent(): void {\n    const componentRef = this.componentRef;\n    this.component = componentRef.instance as NzTooltipBaseComponent;\n\n    // Remove the component's DOM because it should be in the overlay container.\n    this.renderer.removeChild(\n      this.renderer.parentNode(this.elementRef.nativeElement),\n      componentRef.location.nativeElement\n    );\n    this.component.setOverlayOrigin(this.origin || this.elementRef);\n\n    this.initProperties();\n\n    this.component.nzVisibleChange\n      .pipe(distinctUntilChanged(), takeUntil(this.destroy$))\n      .subscribe((visible: boolean) => {\n        this.internalVisible = visible;\n        this.visibleChange.emit(visible);\n      });\n  }\n\n  protected registerTriggers(): void {\n    // When the method gets invoked, all properties has been synced to the dynamic component.\n    // After removing the old API, we can just check the directive's own `nzTrigger`.\n    const el = this.elementRef.nativeElement;\n    const trigger = this.trigger;\n\n    this.removeTriggerListeners();\n\n    if (trigger === 'hover') {\n      let overlayElement: HTMLElement;\n      this.triggerDisposables.push(\n        this.renderer.listen(el, 'mouseenter', () => {\n          this.delayEnterLeave(true, true, this._mouseEnterDelay);\n        })\n      );\n      this.triggerDisposables.push(\n        this.renderer.listen(el, 'mouseleave', () => {\n          this.delayEnterLeave(true, false, this._mouseLeaveDelay);\n          if (this.component?.overlay.overlayRef && !overlayElement) {\n            overlayElement = this.component.overlay.overlayRef.overlayElement;\n            this.triggerDisposables.push(\n              this.renderer.listen(overlayElement, 'mouseenter', () => {\n                this.delayEnterLeave(false, true, this._mouseEnterDelay);\n              })\n            );\n            this.triggerDisposables.push(\n              this.renderer.listen(overlayElement, 'mouseleave', () => {\n                this.delayEnterLeave(false, false, this._mouseLeaveDelay);\n              })\n            );\n          }\n        })\n      );\n    } else if (trigger === 'focus') {\n      this.triggerDisposables.push(this.renderer.listen(el, 'focusin', () => this.show()));\n      this.triggerDisposables.push(this.renderer.listen(el, 'focusout', () => this.hide()));\n    } else if (trigger === 'click') {\n      this.triggerDisposables.push(\n        this.renderer.listen(el, 'click', (e: MouseEvent) => {\n          e.preventDefault();\n          this.show();\n        })\n      );\n    }\n    // Else do nothing because user wants to control the visibility programmatically.\n  }\n\n  private updatePropertiesByChanges(changes: SimpleChanges): void {\n    this.updatePropertiesByKeys(Object.keys(changes));\n  }\n\n  private updatePropertiesByKeys(keys?: string[]): void {\n    const mappingProperties: PropertyMapping = {\n      // common mappings\n      title: ['nzTitle', () => this._title],\n      directiveTitle: ['nzTitle', () => this._title],\n      content: ['nzContent', () => this._content],\n      directiveContent: ['nzContent', () => this._content],\n      trigger: ['nzTrigger', () => this._trigger],\n      placement: ['nzPlacement', () => this._placement],\n      visible: ['nzVisible', () => this._visible],\n      mouseEnterDelay: ['nzMouseEnterDelay', () => this._mouseEnterDelay],\n      mouseLeaveDelay: ['nzMouseLeaveDelay', () => this._mouseLeaveDelay],\n      overlayClassName: ['nzOverlayClassName', () => this._overlayClassName],\n      overlayStyle: ['nzOverlayStyle', () => this._overlayStyle],\n      arrowPointAtCenter: ['nzArrowPointAtCenter', () => this.arrowPointAtCenter],\n      ...this.getProxyPropertyMap()\n    };\n\n    (keys || Object.keys(mappingProperties).filter(key => !key.startsWith('directive'))).forEach(\n      (property: NzSafeAny) => {\n        if (mappingProperties[property]) {\n          const [name, valueFn] = mappingProperties[property];\n          this.updateComponentValue(name, valueFn());\n        }\n      }\n    );\n\n    this.component?.updateByDirective();\n  }\n\n  private initProperties(): void {\n    this.updatePropertiesByKeys();\n  }\n\n  private updateComponentValue(key: string, value: NzSafeAny): void {\n    if (typeof value !== 'undefined') {\n      // @ts-ignore\n      this.component[key] = value;\n    }\n  }\n\n  private delayEnterLeave(isOrigin: boolean, isEnter: boolean, delay: number = -1): void {\n    if (this.delayTimer) {\n      this.clearTogglingTimer();\n    } else if (delay > 0) {\n      this.delayTimer = setTimeout(() => {\n        this.delayTimer = undefined;\n        isEnter ? this.show() : this.hide();\n      }, delay * 1000);\n    } else {\n      // `isOrigin` is used due to the tooltip will not hide immediately\n      // (may caused by the fade-out animation).\n      isEnter && isOrigin ? this.show() : this.hide();\n    }\n  }\n\n  private removeTriggerListeners(): void {\n    this.triggerDisposables.forEach(dispose => dispose());\n    this.triggerDisposables.length = 0;\n  }\n\n  private clearTogglingTimer(): void {\n    if (this.delayTimer) {\n      clearTimeout(this.delayTimer);\n      this.delayTimer = undefined;\n    }\n  }\n}\n\n@Directive()\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport abstract class NzTooltipBaseComponent implements OnDestroy, OnInit {\n  static ngAcceptInputType_nzVisible: BooleanInput;\n  static ngAcceptInputType_nzArrowPointAtCenter: BooleanInput;\n\n  @ViewChild('overlay', { static: false }) overlay!: CdkConnectedOverlay;\n\n  nzTitle: NzTSType | null = null;\n  nzContent: NzTSType | null = null;\n  nzArrowPointAtCenter: boolean = false;\n  nzOverlayClassName!: string;\n  nzOverlayStyle: NgStyleInterface = {};\n  nzBackdrop = false;\n  nzMouseEnterDelay?: number;\n  nzMouseLeaveDelay?: number;\n\n  nzVisibleChange = new Subject<boolean>();\n\n  set nzVisible(value: boolean) {\n    const visible = toBoolean(value);\n    if (this._visible !== visible) {\n      this._visible = visible;\n      this.nzVisibleChange.next(visible);\n    }\n  }\n\n  get nzVisible(): boolean {\n    return this._visible;\n  }\n\n  _visible = false;\n\n  set nzTrigger(value: NzTooltipTrigger) {\n    this._trigger = value;\n  }\n\n  get nzTrigger(): NzTooltipTrigger {\n    return this._trigger;\n  }\n\n  protected _trigger: NzTooltipTrigger = 'hover';\n\n  set nzPlacement(value: POSITION_TYPE[]) {\n    const preferredPosition = value.map(placement => POSITION_MAP[placement]);\n    this._positions = [...preferredPosition, ...DEFAULT_TOOLTIP_POSITIONS];\n  }\n\n  preferredPlacement: string = 'top';\n\n  origin!: ElementRef<NzSafeAny>;\n\n  public dir: Direction = 'ltr';\n\n  _classMap: NgClassInterface = {};\n\n  _prefix = 'ant-tooltip';\n\n  _positions: ConnectionPositionPair[] = [...DEFAULT_TOOLTIP_POSITIONS];\n\n  protected destroy$ = new Subject<void>();\n\n  constructor(\n    public cdr: ChangeDetectorRef,\n    @Optional() private directionality: Directionality,\n    public noAnimation?: NzNoAnimationDirective\n  ) {}\n\n  ngOnInit(): void {\n    this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n      this.dir = direction;\n      this.cdr.detectChanges();\n    });\n\n    this.dir = this.directionality.value;\n  }\n\n  ngOnDestroy(): void {\n    this.nzVisibleChange.complete();\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n\n  show(): void {\n    if (this.nzVisible) {\n      return;\n    }\n\n    if (!this.isEmpty()) {\n      this.nzVisible = true;\n      this.nzVisibleChange.next(true);\n      this.cdr.detectChanges();\n    }\n\n    // for ltr for overlay to display tooltip in correct placement in rtl direction.\n    if (this.origin && this.overlay && this.overlay.overlayRef && this.overlay.overlayRef.getDirection() === 'rtl') {\n      this.overlay.overlayRef.setDirection('ltr');\n    }\n  }\n\n  hide(): void {\n    if (!this.nzVisible) {\n      return;\n    }\n\n    this.nzVisible = false;\n    this.nzVisibleChange.next(false);\n    this.cdr.detectChanges();\n  }\n\n  updateByDirective(): void {\n    this.updateStyles();\n    this.cdr.detectChanges();\n\n    Promise.resolve().then(() => {\n      this.updatePosition();\n      this.updateVisibilityByTitle();\n    });\n  }\n\n  /**\n   * Force the component to update its position.\n   */\n  updatePosition(): void {\n    if (this.origin && this.overlay && this.overlay.overlayRef) {\n      this.overlay.overlayRef.updatePosition();\n    }\n  }\n\n  onPositionChange(position: ConnectedOverlayPositionChange): void {\n    this.preferredPlacement = getPlacementName(position)!;\n    this.updateStyles();\n\n    // We have to trigger immediate change detection or the element would blink.\n    this.cdr.detectChanges();\n  }\n\n  setOverlayOrigin(origin: ElementRef<HTMLElement>): void {\n    this.origin = origin;\n    this.cdr.markForCheck();\n  }\n\n  onClickOutside(event: MouseEvent): void {\n    if (!this.origin.nativeElement.contains(event.target) && this.nzTrigger !== null) {\n      this.hide();\n    }\n  }\n\n  /**\n   * Hide the component while the content is empty.\n   */\n  private updateVisibilityByTitle(): void {\n    if (this.isEmpty()) {\n      this.hide();\n    }\n  }\n\n  protected updateStyles(): void {\n    this._classMap = {\n      [this.nzOverlayClassName]: true,\n      [`${this._prefix}-placement-${this.preferredPlacement}`]: true\n    };\n  }\n\n  /**\n   * Empty component cannot be opened.\n   */\n  protected abstract isEmpty(): boolean;\n}\n\nexport function isTooltipEmpty(value: string | TemplateRef<void> | null): boolean {\n  return value instanceof TemplateRef ? false : value === '' || !isNotNil(value);\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ComponentFactoryResolver,\n  ComponentRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Host,\n  Input,\n  Optional,\n  Output,\n  Renderer2,\n  ViewContainerRef,\n  ViewEncapsulation\n} from '@angular/core';\n\nimport { zoomBigMotion } from 'ng-zorro-antd/core/animation';\nimport { isPresetColor, NzPresetColor } from 'ng-zorro-antd/core/color';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport { BooleanInput, NgStyleInterface, NzTSType } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport {\n  isTooltipEmpty,\n  NzTooltipBaseComponent,\n  NzTooltipBaseDirective,\n  NzTooltipTrigger,\n  PropertyMapping\n} from './base';\n\n@Directive({\n  selector: '[nz-tooltip]',\n  exportAs: 'nzTooltip',\n  host: {\n    '[class.ant-tooltip-open]': 'visible'\n  }\n})\nexport class NzTooltipDirective extends NzTooltipBaseDirective {\n  static ngAcceptInputType_nzTooltipArrowPointAtCenter: BooleanInput;\n\n  @Input('nzTooltipTitle') override title?: NzTSType | null;\n  @Input('nzTooltipTitleContext') titleContext?: Object | null = null;\n  @Input('nz-tooltip') override directiveTitle?: NzTSType | null;\n  @Input('nzTooltipTrigger') override trigger?: NzTooltipTrigger = 'hover';\n  @Input('nzTooltipPlacement') override placement?: string | string[] = 'top';\n  @Input('nzTooltipOrigin') override origin?: ElementRef<HTMLElement>;\n  @Input('nzTooltipVisible') override visible?: boolean;\n  @Input('nzTooltipMouseEnterDelay') override mouseEnterDelay?: number;\n  @Input('nzTooltipMouseLeaveDelay') override mouseLeaveDelay?: number;\n  @Input('nzTooltipOverlayClassName') override overlayClassName?: string;\n  @Input('nzTooltipOverlayStyle') override overlayStyle?: NgStyleInterface;\n  @Input('nzTooltipArrowPointAtCenter') @InputBoolean() override arrowPointAtCenter?: boolean;\n  @Input() nzTooltipColor?: string;\n\n  // eslint-disable-next-line @angular-eslint/no-output-rename\n  @Output('nzTooltipVisibleChange') override readonly visibleChange = new EventEmitter<boolean>();\n\n  override componentRef: ComponentRef<NzToolTipComponent> = this.hostView.createComponent(NzToolTipComponent);\n\n  constructor(\n    elementRef: ElementRef,\n    hostView: ViewContainerRef,\n    resolver: ComponentFactoryResolver,\n    renderer: Renderer2,\n    @Host() @Optional() noAnimation?: NzNoAnimationDirective\n  ) {\n    super(elementRef, hostView, resolver, renderer, noAnimation);\n  }\n\n  protected override getProxyPropertyMap(): PropertyMapping {\n    return {\n      ...super.getProxyPropertyMap(),\n      nzTooltipColor: ['nzColor', () => this.nzTooltipColor],\n      nzTooltipTitleContext: ['nzTitleContext', () => this.titleContext]\n    };\n  }\n}\n\n@Component({\n  selector: 'nz-tooltip',\n  exportAs: 'nzTooltipComponent',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  animations: [zoomBigMotion],\n  template: `\n    <ng-template\n      #overlay=\"cdkConnectedOverlay\"\n      cdkConnectedOverlay\n      nzConnectedOverlay\n      [cdkConnectedOverlayOrigin]=\"origin\"\n      [cdkConnectedOverlayOpen]=\"_visible\"\n      [cdkConnectedOverlayPositions]=\"_positions\"\n      [cdkConnectedOverlayPush]=\"true\"\n      [nzArrowPointAtCenter]=\"nzArrowPointAtCenter\"\n      (overlayOutsideClick)=\"onClickOutside($event)\"\n      (detach)=\"hide()\"\n      (positionChange)=\"onPositionChange($event)\"\n    >\n      <div\n        class=\"ant-tooltip\"\n        [class.ant-tooltip-rtl]=\"dir === 'rtl'\"\n        [ngClass]=\"_classMap\"\n        [ngStyle]=\"nzOverlayStyle\"\n        [@.disabled]=\"noAnimation?.nzNoAnimation\"\n        [nzNoAnimation]=\"noAnimation?.nzNoAnimation\"\n        [@zoomBigMotion]=\"'active'\"\n      >\n        <div class=\"ant-tooltip-content\">\n          <div class=\"ant-tooltip-arrow\">\n            <span class=\"ant-tooltip-arrow-content\" [ngStyle]=\"_contentStyleMap\"></span>\n          </div>\n          <div class=\"ant-tooltip-inner\" [ngStyle]=\"_contentStyleMap\">\n            <ng-container *nzStringTemplateOutlet=\"nzTitle; context: nzTitleContext\">{{ nzTitle }}</ng-container>\n          </div>\n        </div>\n      </div>\n    </ng-template>\n  `,\n  preserveWhitespaces: false\n})\nexport class NzToolTipComponent extends NzTooltipBaseComponent {\n  override nzTitle: NzTSType | null = null;\n  nzTitleContext: Object | null = null;\n\n  nzColor?: string | NzPresetColor;\n\n  _contentStyleMap: NgStyleInterface = {};\n\n  constructor(\n    cdr: ChangeDetectorRef,\n    @Optional() directionality: Directionality,\n    @Host() @Optional() noAnimation?: NzNoAnimationDirective\n  ) {\n    super(cdr, directionality, noAnimation);\n  }\n\n  protected isEmpty(): boolean {\n    return isTooltipEmpty(this.nzTitle);\n  }\n\n  protected override updateStyles(): void {\n    const isColorPreset = this.nzColor && isPresetColor(this.nzColor);\n\n    this._classMap = {\n      [this.nzOverlayClassName]: true,\n      [`${this._prefix}-placement-${this.preferredPlacement}`]: true,\n      [`${this._prefix}-${this.nzColor}`]: isColorPreset\n    };\n\n    this._contentStyleMap = {\n      backgroundColor: !!this.nzColor && !isColorPreset ? this.nzColor : null\n    };\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzOverlayModule } from 'ng-zorro-antd/core/overlay';\n\n// NOTE: the `t` is not uppercase in directives. Change this would however introduce breaking change.\nimport { NzToolTipComponent, NzTooltipDirective } from './tooltip';\n\n@NgModule({\n  declarations: [NzToolTipComponent, NzTooltipDirective],\n  exports: [NzToolTipComponent, NzTooltipDirective],\n  entryComponents: [NzToolTipComponent],\n  imports: [BidiModule, CommonModule, OverlayModule, NzOutletModule, NzOverlayModule, NzNoAnimationModule]\n})\nexport class NzToolTipModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './tooltip';\nexport * from './tooltip.module';\nexport * from './base';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}