ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 27.6 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-radio.mjs","sources":["../../components/radio/radio-button.directive.ts","../../components/radio/radio.service.ts","../../components/radio/radio-group.component.ts","../../components/radio/radio.component.ts","../../components/radio/radio.module.ts","../../components/radio/public-api.ts","../../components/radio/ng-zorro-antd-radio.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 { Directive } from '@angular/core';\n\n@Directive({\n selector: '[nz-radio-button]'\n})\nexport class NzRadioButtonDirective {}\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 { Injectable } from '@angular/core';\nimport { ReplaySubject, Subject } from 'rxjs';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Injectable()\nexport class NzRadioService {\n selected$ = new ReplaySubject<NzSafeAny>(1);\n touched$ = new Subject<void>();\n disabled$ = new ReplaySubject<boolean>(1);\n name$ = new ReplaySubject<string>(1);\n touch(): void {\n this.touched$.next();\n }\n select(value: NzSafeAny): void {\n this.selected$.next(value);\n }\n setDisabled(value: boolean): void {\n this.disabled$.next(value);\n }\n setName(value: string): void {\n this.name$.next(value);\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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { BooleanInput, NzSafeAny, NzSizeLDSType, OnChangeType, OnTouchedType } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport { NzRadioService } from './radio.service';\n\nexport type NzRadioButtonStyle = 'outline' | 'solid';\n\n@Component({\n selector: 'nz-radio-group',\n exportAs: 'nzRadioGroup',\n preserveWhitespaces: false,\n template: ` <ng-content></ng-content> `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n NzRadioService,\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NzRadioGroupComponent),\n multi: true\n }\n ],\n host: {\n class: 'ant-radio-group',\n '[class.ant-radio-group-large]': `nzSize === 'large'`,\n '[class.ant-radio-group-small]': `nzSize === 'small'`,\n '[class.ant-radio-group-solid]': `nzButtonStyle === 'solid'`,\n '[class.ant-radio-group-rtl]': `dir === 'rtl'`\n }\n})\nexport class NzRadioGroupComponent implements OnInit, ControlValueAccessor, OnDestroy, OnChanges {\n static ngAcceptInputType_nzDisabled: BooleanInput;\n\n private value: NzSafeAny | null = null;\n private destroy$ = new Subject();\n onChange: OnChangeType = () => {};\n onTouched: OnTouchedType = () => {};\n @Input() @InputBoolean() nzDisabled = false;\n @Input() nzButtonStyle: NzRadioButtonStyle = 'outline';\n @Input() nzSize: NzSizeLDSType = 'default';\n @Input() nzName: string | null = null;\n\n dir: Direction = 'ltr';\n\n constructor(\n private cdr: ChangeDetectorRef,\n private nzRadioService: NzRadioService,\n @Optional() private directionality: Directionality\n ) {}\n\n ngOnInit(): void {\n this.nzRadioService.selected$.pipe(takeUntil(this.destroy$)).subscribe(value => {\n if (this.value !== value) {\n this.value = value;\n this.onChange(this.value);\n }\n });\n this.nzRadioService.touched$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n Promise.resolve().then(() => this.onTouched());\n });\n\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 ngOnChanges(changes: SimpleChanges): void {\n const { nzDisabled, nzName } = changes;\n if (nzDisabled) {\n this.nzRadioService.setDisabled(this.nzDisabled);\n }\n if (nzName) {\n this.nzRadioService.setName(this.nzName!);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n writeValue(value: NzSafeAny): void {\n this.value = value;\n this.nzRadioService.select(value);\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: OnChangeType): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: OnTouchedType): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.nzDisabled = isDisabled;\n this.nzRadioService.setDisabled(isDisabled);\n this.cdr.markForCheck();\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 { FocusMonitor } from '@angular/cdk/a11y';\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzFormStatusService } from 'ng-zorro-antd/core/form';\nimport { BooleanInput, NzSafeAny, OnChangeType, OnTouchedType } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport { NzRadioButtonDirective } from './radio-button.directive';\nimport { NzRadioService } from './radio.service';\n\n@Component({\n selector: '[nz-radio],[nz-radio-button]',\n exportAs: 'nzRadio',\n preserveWhitespaces: false,\n template: `\n <span\n [class.ant-radio]=\"!isRadioButton\"\n [class.ant-radio-checked]=\"isChecked && !isRadioButton\"\n [class.ant-radio-disabled]=\"nzDisabled && !isRadioButton\"\n [class.ant-radio-button]=\"isRadioButton\"\n [class.ant-radio-button-checked]=\"isChecked && isRadioButton\"\n [class.ant-radio-button-disabled]=\"nzDisabled && isRadioButton\"\n >\n <input\n #inputElement\n type=\"radio\"\n [attr.autofocus]=\"nzAutoFocus ? 'autofocus' : null\"\n [class.ant-radio-input]=\"!isRadioButton\"\n [class.ant-radio-button-input]=\"isRadioButton\"\n [disabled]=\"nzDisabled\"\n [checked]=\"isChecked\"\n [attr.name]=\"name\"\n />\n <span [class.ant-radio-inner]=\"!isRadioButton\" [class.ant-radio-button-inner]=\"isRadioButton\"></span>\n </span>\n <span><ng-content></ng-content></span>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NzRadioComponent),\n multi: true\n }\n ],\n host: {\n '[class.ant-radio-wrapper-in-form-item]': '!!nzFormStatusService',\n '[class.ant-radio-wrapper]': '!isRadioButton',\n '[class.ant-radio-button-wrapper]': 'isRadioButton',\n '[class.ant-radio-wrapper-checked]': 'isChecked && !isRadioButton',\n '[class.ant-radio-button-wrapper-checked]': 'isChecked && isRadioButton',\n '[class.ant-radio-wrapper-disabled]': 'nzDisabled && !isRadioButton',\n '[class.ant-radio-button-wrapper-disabled]': 'nzDisabled && isRadioButton',\n '[class.ant-radio-wrapper-rtl]': `!isRadioButton && dir === 'rtl'`,\n '[class.ant-radio-button-wrapper-rtl]': `isRadioButton && dir === 'rtl'`\n }\n})\nexport class NzRadioComponent implements ControlValueAccessor, AfterViewInit, OnDestroy, OnInit {\n static ngAcceptInputType_nzDisabled: BooleanInput;\n static ngAcceptInputType_nzAutoFocus: BooleanInput;\n\n private isNgModel = false;\n private destroy$ = new Subject<void>();\n isChecked = false;\n name: string | null = null;\n isRadioButton = !!this.nzRadioButtonDirective;\n onChange: OnChangeType = () => {};\n onTouched: OnTouchedType = () => {};\n @ViewChild('inputElement', { static: true }) inputElement!: ElementRef<HTMLInputElement>;\n @Input() nzValue: NzSafeAny | null = null;\n @Input() @InputBoolean() nzDisabled = false;\n @Input() @InputBoolean() nzAutoFocus = false;\n\n dir: Direction = 'ltr';\n\n focus(): void {\n this.focusMonitor.focusVia(this.inputElement!, 'keyboard');\n }\n\n blur(): void {\n this.inputElement!.nativeElement.blur();\n }\n\n constructor(\n private ngZone: NgZone,\n private elementRef: ElementRef,\n private cdr: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n @Optional() private directionality: Directionality,\n @Optional() @Inject(NzRadioService) private nzRadioService: NzRadioService | null,\n @Optional() @Inject(NzRadioButtonDirective) private nzRadioButtonDirective: NzRadioButtonDirective | null,\n @Optional() public nzFormStatusService?: NzFormStatusService\n ) {}\n\n setDisabledState(disabled: boolean): void {\n this.nzDisabled = disabled;\n this.cdr.markForCheck();\n }\n\n writeValue(value: boolean): void {\n this.isChecked = value;\n this.cdr.markForCheck();\n }\n\n registerOnChange(fn: OnChangeType): void {\n this.isNgModel = true;\n this.onChange = fn;\n }\n\n registerOnTouched(fn: OnTouchedType): void {\n this.onTouched = fn;\n }\n\n ngOnInit(): void {\n if (this.nzRadioService) {\n this.nzRadioService.name$.pipe(takeUntil(this.destroy$)).subscribe(name => {\n this.name = name;\n this.cdr.markForCheck();\n });\n this.nzRadioService.disabled$.pipe(takeUntil(this.destroy$)).subscribe(disabled => {\n this.nzDisabled = disabled;\n this.cdr.markForCheck();\n });\n this.nzRadioService.selected$.pipe(takeUntil(this.destroy$)).subscribe(value => {\n const isChecked = this.isChecked;\n this.isChecked = this.nzValue === value;\n // We don't have to run `onChange()` on each `nz-radio` button whenever the `selected$` emits.\n // If we have 8 `nz-radio` buttons within the `nz-radio-group` and they're all connected with\n // `ngModel` or `formControl` then `onChange()` will be called 8 times for each `nz-radio` button.\n // We prevent this by checking if `isChecked` has been changed or not.\n if (\n this.isNgModel &&\n isChecked !== this.isChecked &&\n // We're only intereted if `isChecked` has been changed to `false` value to emit `false` to the ascendant form,\n // since we already emit `true` within the `setupClickListener`.\n this.isChecked === false\n ) {\n this.onChange(false);\n }\n this.cdr.markForCheck();\n });\n }\n this.focusMonitor\n .monitor(this.elementRef, true)\n .pipe(takeUntil(this.destroy$))\n .subscribe(focusOrigin => {\n if (!focusOrigin) {\n Promise.resolve().then(() => this.onTouched());\n if (this.nzRadioService) {\n this.nzRadioService.touch();\n }\n }\n });\n\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 this.setupClickListener();\n }\n\n ngAfterViewInit(): void {\n if (this.nzAutoFocus) {\n this.focus();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.focusMonitor.stopMonitoring(this.elementRef);\n }\n\n private setupClickListener(): void {\n this.ngZone.runOutsideAngular(() => {\n fromEvent<MouseEvent>(this.elementRef.nativeElement, 'click')\n .pipe(takeUntil(this.destroy$))\n .subscribe(event => {\n /** prevent label click triggered twice. **/\n event.stopPropagation();\n event.preventDefault();\n if (this.nzDisabled || this.isChecked) {\n return;\n }\n this.ngZone.run(() => {\n this.nzRadioService?.select(this.nzValue);\n if (this.isNgModel) {\n this.isChecked = true;\n this.onChange(true);\n }\n this.cdr.markForCheck();\n });\n });\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 { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzRadioButtonDirective } from './radio-button.directive';\nimport { NzRadioGroupComponent } from './radio-group.component';\nimport { NzRadioComponent } from './radio.component';\n\n@NgModule({\n imports: [BidiModule, CommonModule, FormsModule],\n exports: [NzRadioComponent, NzRadioButtonDirective, NzRadioGroupComponent],\n declarations: [NzRadioComponent, NzRadioButtonDirective, NzRadioGroupComponent]\n})\nexport class NzRadioModule {}\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 './radio-button.directive';\nexport * from './radio-group.component';\nexport * from './radio.component';\nexport * from './radio.service';\nexport * from './radio.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NzRadioService"],"mappings":";;;;;;;;;;;;;AAAA;;;AAGG;MAOU,sBAAsB,CAAA;;mHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAtB,sBAAsB,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;iBAC9B,CAAA;;;ACTD;;;AAGG;MAQU,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;QAEE,IAAA,CAAA,SAAS,GAAG,IAAI,aAAa,CAAY,CAAC,CAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;QAC/B,IAAA,CAAA,SAAS,GAAG,IAAI,aAAa,CAAU,CAAC,CAAC,CAAC;QAC1C,IAAA,CAAA,KAAK,GAAG,IAAI,aAAa,CAAS,CAAC,CAAC,CAAC;KAatC;IAZC,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB;AACD,IAAA,MAAM,CAAC,KAAgB,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;AACD,IAAA,WAAW,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;AACD,IAAA,OAAO,CAAC,KAAa,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxB;;2GAhBU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;+GAAd,cAAc,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;;MC2CE,qBAAqB,CAAA;AAchC,IAAA,WAAA,CACU,GAAsB,EACtB,cAA8B,EAClB,cAA8B,EAAA;AAF1C,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AACtB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAClB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAd5C,QAAA,IAAK,CAAA,KAAA,GAAqB,IAAI,CAAC;AAC/B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAE,CAAC;AACjC,QAAA,IAAA,CAAA,QAAQ,GAAiB,MAAK,GAAG,CAAC;AAClC,QAAA,IAAA,CAAA,SAAS,GAAkB,MAAK,GAAG,CAAC;AACX,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AACnC,QAAA,IAAa,CAAA,aAAA,GAAuB,SAAS,CAAC;AAC9C,QAAA,IAAM,CAAA,MAAA,GAAkB,SAAS,CAAC;AAClC,QAAA,IAAM,CAAA,MAAA,GAAkB,IAAI,CAAC;AAEtC,QAAA,IAAG,CAAA,GAAA,GAAc,KAAK,CAAC;KAMnB;IAEJ,QAAQ,GAAA;;AACN,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,IAAG;AAC7E,YAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;AACxB,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,aAAA;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACzE,YAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACjD,SAAC,CAAC,CAAC;QAEH,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAE,CAAA,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;QAEH,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;KACtC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;AACvC,QAAA,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAClD,SAAA;AACD,QAAA,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;AAC3C,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1B;AAED,IAAA,UAAU,CAAC,KAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;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,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;;kHAxEU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAhBrB,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,6BAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,2BAAA,EAAA,2BAAA,EAAA,eAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EAAA;QACT,cAAc;AACd,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAVS,6BAA6B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AA0Bd,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAoB,EAAA,qBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAPjC,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAvBjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,mBAAmB,EAAE,KAAK;AAC1B,oBAAA,QAAQ,EAAE,CAA6B,2BAAA,CAAA;oBACvC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;wBACT,cAAc;AACd,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,2BAA2B,CAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,+BAA+B,EAAE,CAAoB,kBAAA,CAAA;AACrD,wBAAA,+BAA+B,EAAE,CAAoB,kBAAA,CAAA;AACrD,wBAAA,+BAA+B,EAAE,CAA2B,yBAAA,CAAA;AAC5D,wBAAA,6BAA6B,EAAE,CAAe,aAAA,CAAA;AAC/C,qBAAA;iBACF,CAAA;;;8BAkBI,QAAQ;;yBAVc,UAAU,EAAA,CAAA;sBAAlC,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MCmBK,gBAAgB,CAAA;AA0B3B,IAAA,WAAA,CACU,MAAc,EACd,UAAsB,EACtB,GAAsB,EACtB,YAA0B,EACd,cAA8B,EACN,cAAqC,EAC7B,sBAAqD,EACtF,mBAAyC,EAAA;AAPpD,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AACd,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AACtB,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AACd,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AACN,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAuB;AAC7B,QAAA,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAA+B;AACtF,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAsB;AA9BtD,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAClB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;AACvC,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAClB,QAAA,IAAI,CAAA,IAAA,GAAkB,IAAI,CAAC;QAC3B,IAAA,CAAA,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;AAC9C,QAAA,IAAA,CAAA,QAAQ,GAAiB,MAAK,GAAG,CAAC;AAClC,QAAA,IAAA,CAAA,SAAS,GAAkB,MAAK,GAAG,CAAC;AAE3B,QAAA,IAAO,CAAA,OAAA,GAAqB,IAAI,CAAC;AACjB,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AACnB,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;AAE7C,QAAA,IAAG,CAAA,GAAA,GAAc,KAAK,CAAC;KAmBnB;IAjBJ,KAAK,GAAA;QACH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAa,EAAE,UAAU,CAAC,CAAC;KAC5D;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KACzC;AAaD,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,UAAU,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,gBAAgB,CAAC,EAAgB,EAAA;AAC/B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AAED,IAAA,iBAAiB,CAAC,EAAiB,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;IAED,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAG;AACxE,gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAG;AAChF,gBAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC3B,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,IAAG;AAC7E,gBAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC;;;;;gBAKxC,IACE,IAAI,CAAC,SAAS;oBACd,SAAS,KAAK,IAAI,CAAC,SAAS;;;AAG5B,oBAAA,IAAI,CAAC,SAAS,KAAK,KAAK,EACxB;AACA,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtB,iBAAA;AACD,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,aAAC,CAAC,CAAC;AACJ,SAAA;AACD,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,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC/C,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,oBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;AAC7B,iBAAA;AACF,aAAA;AACH,SAAC,CAAC,CAAC;QAEL,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAoB,KAAI;AAC3F,YAAA,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;AACrB,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC3B,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAErC,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAED,eAAe,GAAA;QACb,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACnD;IAEO,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;YACjC,SAAS,CAAa,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC;AAC1D,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC9B,SAAS,CAAC,KAAK,IAAG;;gBAEjB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,gBAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE;oBACrC,OAAO;AACR,iBAAA;AACD,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;;oBACnB,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1C,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,wBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,wBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrB,qBAAA;AACD,oBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAC1B,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACJ;;6GA5IU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAgCL,cAAc,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EACd,sBAAsB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAjCjC,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAnBhB,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sCAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,gBAAA,EAAA,gCAAA,EAAA,eAAA,EAAA,iCAAA,EAAA,6BAAA,EAAA,wCAAA,EAAA,4BAAA,EAAA,kCAAA,EAAA,8BAAA,EAAA,yCAAA,EAAA,6BAAA,EAAA,6BAAA,EAAA,iCAAA,EAAA,oCAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,QAAA;AACE,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gBAAgB,CAAC;AAC/C,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACF,KAAA,EA/BS,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,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;GAsBT,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;AAmCwB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAoB,EAAA,gBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACnB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAqB,EAAA,gBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAdlC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAhD5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,mBAAmB,EAAE,KAAK;AAC1B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;AAsBT,EAAA,CAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,sBAAsB,CAAC;AAC/C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,wCAAwC,EAAE,uBAAuB;AACjE,wBAAA,2BAA2B,EAAE,gBAAgB;AAC7C,wBAAA,kCAAkC,EAAE,eAAe;AACnD,wBAAA,mCAAmC,EAAE,6BAA6B;AAClE,wBAAA,0CAA0C,EAAE,4BAA4B;AACxE,wBAAA,oCAAoC,EAAE,8BAA8B;AACpE,wBAAA,2CAA2C,EAAE,6BAA6B;AAC1E,wBAAA,+BAA+B,EAAE,CAAiC,+BAAA,CAAA;AAClE,wBAAA,sCAAsC,EAAE,CAAgC,8BAAA,CAAA;AACzE,qBAAA;iBACF,CAAA;;;8BAgCI,QAAQ;;8BACR,QAAQ;;8BAAI,MAAM;+BAAC,cAAc,CAAA;;8BACjC,QAAQ;;8BAAI,MAAM;+BAAC,sBAAsB,CAAA;;8BACzC,QAAQ;;yBAvBkC,YAAY,EAAA,CAAA;sBAAxD,SAAS;gBAAC,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAClC,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACmB,UAAU,EAAA,CAAA;sBAAlC,KAAK;gBACmB,WAAW,EAAA,CAAA;sBAAnC,KAAK;;;AChGR;;;AAGG;MAgBU,aAAa,CAAA;;0GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAFT,gBAAgB,EAAE,sBAAsB,EAAE,qBAAqB,CAFpE,EAAA,OAAA,EAAA,CAAA,UAAU,EAAE,YAAY,EAAE,WAAW,CAAA,EAAA,OAAA,EAAA,CACrC,gBAAgB,EAAE,sBAAsB,EAAE,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAG9D,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAJd,OAAA,EAAA,CAAA,UAAU,EAAE,YAAY,EAAE,WAAW,CAAA,EAAA,CAAA,CAAA;2FAIpC,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC;AAChD,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,qBAAqB,CAAC;AAC1E,oBAAA,YAAY,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,qBAAqB,CAAC;iBAChF,CAAA;;;AClBD;;;AAGG;;ACHH;;AAEG;;;;"}