{"version":3,"file":"verben-ng-ui-src-lib-components-data-extend.mjs","sources":["../../../projects/verben-ng-ui/src/lib/components/data-extend/data-extend.types.ts","../../../projects/verben-ng-ui/src/lib/components/data-extend/data-extend.component.ts","../../../projects/verben-ng-ui/src/lib/components/data-extend/data-extend.component.html","../../../projects/verben-ng-ui/src/lib/components/data-extend/data-extend.module.ts","../../../projects/verben-ng-ui/src/lib/components/data-extend/verben-ng-ui-src-lib-components-data-extend.ts"],"sourcesContent":["export interface DataExtendItem {\n  Name: string;\n  DataType: DataType;\n  MaxValue: number;\n  MinValue: number;\n  IsRequired: boolean;\n  DefaultValue: any;\n  Value: any;\n  Options: string;\n  Id: string;\n}\n\nexport enum DataType {\n  Text = 'Text',\n  MultilineText = 'MultilineText',\n  MailAddress = 'MailAddress',\n  PhoneNumber = 'PhoneNumber',\n  Number = 'Number',\n  Decimal = 'Decimal',\n  YesNo = 'YesNo',\n  URL = 'URL',\n  Image = 'Image',\n  SingleSelection = 'SingleSelection',\n  MultiSelection = 'MultiSelection',\n  Colour = 'Colour',\n  Video = 'Video',\n  Audio = 'Audio',\n  SingleFileSelection = 'SingleFileSelection',\n  MultiFileSelection = 'MultiFileSelection',\n}\n","import {\n  Component,\n  computed,\n  input,\n  output,\n  Signal,\n  signal,\n  WritableSignal\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DataExtendItem, DataType } from './data-extend.types';\n\n@Component({\n  selector: 'lib-data-extend',\n  templateUrl: './data-extend.component.html',\n  styleUrl: './data-extend.component.css',\n})\nexport class DataExtendComponent {\n  properties = input<DataExtendItem[]>([]);\n  extendDataEvent = output<DataExtendItem[]>();\n\n  items: WritableSignal<DataExtendItem[]>;\n  showAll: WritableSignal<boolean> = signal<boolean>(false);\n  visibleItems: Signal<DataExtendItem[]>;\n  form: FormGroup;\n  selectedItem: DataExtendItem | null = null;\n\n  dataTypes = Object.values(DataType);\n\n  constructor(private fb: FormBuilder) {\n    this.visibleItems = computed(() =>\n      this.showAll() ? this.items() : this.items().slice(0, 3)\n    );\n    // effect(() => {\n    //   this.items.set(this.properties());\n    // });\n\n    this.items = signal<DataExtendItem[]>([]);\n\n    this.form = this.fb.group({\n      Name: ['', Validators.required],\n      DefaultValue: [''],\n      DataType: ['', Validators.required],\n      MaxValue: [0],\n      MinValue: [0],\n      IsRequired: [false],\n      Options: [''],\n    });\n\n    this.form.get('DataType')?.valueChanges.subscribe((value) => {\n      if (\n        value === DataType.SingleSelection ||\n        value === DataType.MultiSelection\n      ) {\n        this.form.get('Options')?.enable();\n        this.form.get('Options')?.setValue('');\n        this.form.get('Options')?.setValidators([Validators.required]);\n      } else {\n        this.form.get('Options')?.clearValidators();\n        this.form.get('Options')?.disable();\n      }\n\n      if (\n        value === DataType.Number ||\n        value === DataType.Decimal ||\n        value === DataType.SingleSelection ||\n        value === DataType.MultiSelection\n      ) {\n        this.form.get('MaxValue')?.setValidators([Validators.required]);\n        this.form.get('MinValue')?.setValidators([Validators.required]);\n      }\n      if (value === DataType.Text) {\n        this.form.get('MaxValue')?.clearValidators();\n        this.form.get('MinValue')?.clearValidators();\n        this.form.get('MaxValue')?.disable();\n        this.form.get('MinValue')?.disable();\n      } else {\n        this.form.get('MaxValue')?.enable();\n        this.form.get('MinValue')?.enable();\n      }\n\n      this.form.get('Options')?.updateValueAndValidity();\n    });\n  }\n\n  toggleShowAll() {\n    this.showAll.update((prev) => !prev);\n  }\n\n  addItem() {\n    const newItem = this.form.value;\n    if (this.selectedItem) {\n      const index = this.items().indexOf(this.selectedItem);\n      this.items.update((prev) => {\n        const updatedItems = [...prev];\n        updatedItems[index] = newItem;\n        return updatedItems;\n      });\n      this.selectedItem = null;\n    } else {\n      this.items.update((prev) => [...prev, newItem]);\n    }\n    this.form.reset();\n  }\n\n  removeItem(index: number) {\n    this.items.update((prev) => prev.filter((_, i) => i !== index));\n  }\n\n  save() {\n    this.extendDataEvent.emit(this.items());\n  }\n\n  cancel() {\n    this.items.set(this.properties());\n  }\n\n  reset() {\n    this.items.set([]);\n    this.form.reset();\n  }\n\n  editItem(index: number) {\n    const item = this.items()[index];\n    this.form.patchValue(item);\n    this.selectedItem = item;\n  }\n}\n","<verben-card\n  width=\"24rem\"\n  borderRadius=\"1rem\"\n  [border]=\"'1px solid #D4A007'\"\n  bgColor=\"#FFFFFF\"\n  class=\"export-card\"\n>\n  <div card-header class=\"card-header\">\n    <h4 class=\"header-title\">Expand</h4>\n    <button\n      class=\"reset-button\"\n      [style.color]=\"'#3479E9'\"\n      [style.background-color]=\"'transparent'\"\n      [style.border]=\"'none'\"\n      [style.cursor]=\"'pointer'\"\n      [style.font-size]=\"'12px'\"\n      (click)=\"reset()\"\n    >\n      Reset\n    </button>\n  </div>\n  <div card-body class=\"card-body\">\n    <section class=\"section\">\n      <div class=\"section-header\">\n        <h3 class=\"section-title\">Entity</h3>\n        <verben-svg\n          icon=\"info\"\n          [width]=\"15\"\n          [height]=\"15\"\n          fill=\"grey\"\n        ></verben-svg>\n      </div>\n      <div *ngFor=\"let item of visibleItems(); let i = index\" class=\"item\">\n        <div class=\"item-label\">\n          <!-- <input\n            type=\"checkbox\"\n            [id]=\"'item-' + i\"\n            [(ngModel)]=\"item.selected\"\n          /> -->\n          <label [for]=\"'item-' + i\" class=\"checkbox-label\">\n            {{ item.Name }}\n          </label>\n        </div>\n        <div class=\"item-actions\">\n          <verben-svg\n            icon=\"edit\"\n            [width]=\"15\"\n            [height]=\"15\"\n            stroke=\"#3479E9\"\n            fill=\"white\"\n            (click)=\"editItem(i)\"\n          ></verben-svg>\n          <verben-svg\n            icon=\"delete\"\n            [width]=\"15\"\n            [height]=\"15\"\n            stroke=\"#E20000\"\n            (click)=\"removeItem(i)\"\n          ></verben-svg>\n        </div>\n      </div>\n      <div\n        *ngIf=\"items().length > 3\"\n        (click)=\"toggleShowAll()\"\n        class=\"show-more\"\n      >\n        <span>{{ showAll() ? \"Show less\" : \"Show more\" }}</span>\n        <verben-svg\n          icon=\"chevron\"\n          [width]=\"8\"\n          [height]=\"6\"\n          fill=\"black\"\n          stroke=\"black\"\n        ></verben-svg>\n      </div>\n    </section>\n    <hr class=\"divider\" />\n    <section class=\"section\">\n      <div class=\"section-header\">\n        <h3 class=\"section-title\">Properties</h3>\n        <verben-svg\n          icon=\"info\"\n          [width]=\"15\"\n          [height]=\"15\"\n          fill=\"grey\"\n        ></verben-svg>\n      </div>\n      <form [formGroup]=\"form\" (ngSubmit)=\"addItem()\">\n        <div class=\"\">\n          <p class=\"\">Name</p>\n          <verbena-input\n            placeholder=\"Enter property name\"\n            border=\"1px solid #ccc\"\n            borderRadius=\"5px\"\n            textColor=\"black\"\n            width=\"100%\"\n            fontSize=\"11px\"\n            height=\"20px\"\n            pd=\"2px 4px !important\"\n            bgColor=\"transparent\"\n            [showBorder]=\"true\"\n            [showErrorMessage]=\"true\"\n            [errorPosition]=\"'bottom'\"\n            formControlName=\"Name\"\n          ></verbena-input>\n        </div>\n\n        <div>\n          <label for=\"DataType\">Data Type</label>\n          <verben-drop-down\n            id=\"DataType\"\n            width=\"'100%'\"\n            height=\"'1.25rem'\"\n            placeholder=\"Select type\"\n            [options]=\"dataTypes\"\n            formControlName=\"DataType\"\n          >\n          </verben-drop-down>\n        </div>\n\n        <div>\n          <label htmlFor=\"Options\" class=\"mb-2\">Enter Options</label>\n          <verben-chip\n            label=\"Options\"\n            id=\"Options\"\n            [placeholder]=\"'Enter Options'\"\n            formControlName=\"Options\"\n          ></verben-chip>\n        </div>\n\n        <div>\n          <label for=\"DefaultValue\">Default Value</label>\n\n          <verbena-input\n            [placeHolder]=\"'Enter default text'\"\n            formControlName=\"DefaultValue\"\n            id=\"DefaultValue\"\n            label=\"Default Value (optional)\"\n          />\n        </div>\n\n        <div>\n          <p class=\"mb-2\">Required</p>\n\n          <verbena-switch\n            label=\"Required\"\n            [onColor]=\"'#1A237E'\"\n            formControlName=\"IsRequired\"\n          ></verbena-switch>\n        </div>\n\n        <div class=\"value-range\">\n          <verbena-input\n            [type]=\"'number'\"\n            name=\"minValue\"\n            label=\"Min Value\"\n            formControlName=\"MinValue\"\n          />\n          <verbena-input\n            [type]=\"'number'\"\n            name=\"maxValue\"\n            label=\"Max Value\"\n            formControlName=\"MinValue\"\n          />\n        </div>\n\n        <button\n          [disabled]=\"!form.valid\"\n          class=\"add-button ml-auto\"\n          type=\"submit\"\n        >\n          + Add\n        </button>\n      </form>\n    </section>\n  </div>\n  <div card-footer class=\"card-footer\">\n    <button class=\"export-button\" (click)=\"save()\">Extend</button>\n  </div>\n</verben-card>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DataExtendComponent } from './data-extend.component';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SvgModule } from 'verben-ng-ui/src/lib/components/svg';\nimport { CardModule } from 'verben-ng-ui/src/lib/components/card';\nimport { DropDownModule } from 'verben-ng-ui/src/lib/components/drop-down';\nimport { TooltipModule } from 'verben-ng-ui/src/lib/components/tooltip';\nimport { VerbenaInputModule } from 'verben-ng-ui/src/lib/verbena-input';\nimport { VerbenaSwitchModule } from 'verben-ng-ui/src/lib/verbena-switch';\nimport { ChipModule } from 'verben-ng-ui/src/lib/components/chip';\n\n@NgModule({\n  declarations: [DataExtendComponent],\n  imports: [\n    CommonModule,\n    FormsModule,\n    ReactiveFormsModule,\n    SvgModule,\n    CardModule,\n    DropDownModule,\n    TooltipModule,\n    VerbenaInputModule,\n    VerbenaSwitchModule,\n    ChipModule,\n  ],\n  exports: [DataExtendComponent],\n})\nexport class DataExtendModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;IAYY,SAiBX;AAjBD,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,QAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,IAAA,QAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,QAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,QAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,QAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,QAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,IAAA,QAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,QAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,IAAA,QAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AAC3C,CAAC,EAjBW,QAAQ,KAAR,QAAQ,GAiBnB,EAAA,CAAA,CAAA;;MCZY,mBAAmB,CAAA;AAYV,IAAA,EAAA,CAAA;AAXpB,IAAA,UAAU,GAAG,KAAK,CAAmB,EAAE,CAAC,CAAC;IACzC,eAAe,GAAG,MAAM,EAAoB,CAAC;AAE7C,IAAA,KAAK,CAAmC;AACxC,IAAA,OAAO,GAA4B,MAAM,CAAU,KAAK,CAAC,CAAC;AAC1D,IAAA,YAAY,CAA2B;AACvC,IAAA,IAAI,CAAY;IAChB,YAAY,GAA0B,IAAI,CAAC;AAE3C,IAAA,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEpC,IAAA,WAAA,CAAoB,EAAe,EAAA;QAAf,IAAE,CAAA,EAAA,GAAF,EAAE,CAAa;AACjC,QAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,MAC3B,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CACzD,CAAC;;;;AAKF,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAmB,EAAE,CAAC,CAAC;QAE1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AACxB,YAAA,IAAI,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC/B,YAAY,EAAE,CAAC,EAAE,CAAC;AAClB,YAAA,QAAQ,EAAE,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;YACnC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACb,QAAQ,EAAE,CAAC,CAAC,CAAC;YACb,UAAU,EAAE,CAAC,KAAK,CAAC;YACnB,OAAO,EAAE,CAAC,EAAE,CAAC;AACd,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC1D,YAAA,IACE,KAAK,KAAK,QAAQ,CAAC,eAAe;AAClC,gBAAA,KAAK,KAAK,QAAQ,CAAC,cAAc,EACjC;gBACA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;AACnC,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;AACvC,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;aAChE;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;gBAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;aACrC;AAED,YAAA,IACE,KAAK,KAAK,QAAQ,CAAC,MAAM;gBACzB,KAAK,KAAK,QAAQ,CAAC,OAAO;gBAC1B,KAAK,KAAK,QAAQ,CAAC,eAAe;AAClC,gBAAA,KAAK,KAAK,QAAQ,CAAC,cAAc,EACjC;AACA,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChE,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;aACjE;AACD,YAAA,IAAI,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE;gBAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;aACtC;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;aACrC;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;AACrD,SAAC,CAAC,CAAC;KACJ;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;KACtC;IAED,OAAO,GAAA;AACL,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAI;AACzB,gBAAA,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AAC/B,gBAAA,YAAY,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;AAC9B,gBAAA,OAAO,YAAY,CAAC;AACtB,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;AACL,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;SACjD;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;KACnB;AAED,IAAA,UAAU,CAAC,KAAa,EAAA;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;KACjE;IAED,IAAI,GAAA;QACF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KACzC;IAED,MAAM,GAAA;QACJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;KACnC;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;KACnB;AAED,IAAA,QAAQ,CAAC,KAAa,EAAA;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KAC1B;wGA7GU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,2PCjBhC,giKAoLA,EAAA,MAAA,EAAA,CAAA,0vCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,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,aAAA,EAAA,QAAA,EAAA,8CAAA,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,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,EAAA,cAAA,EAAA,UAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,YAAA,EAAA,OAAA,EAAA,aAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,cAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,YAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,SAAA,EAAA,QAAA,EAAA,cAAA,EAAA,WAAA,EAAA,OAAA,EAAA,eAAA,EAAA,YAAA,EAAA,SAAA,EAAA,UAAA,EAAA,KAAA,EAAA,KAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,KAAA,EAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,EAAA,QAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,KAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDnKa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,giKAAA,EAAA,MAAA,EAAA,CAAA,0vCAAA,CAAA,EAAA,CAAA;;;MEehB,gBAAgB,CAAA;wGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAhB,gBAAgB,EAAA,YAAA,EAAA,CAfZ,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAEhC,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,SAAS;YACT,UAAU;YACV,cAAc;YACd,aAAa;YACb,kBAAkB;YAClB,mBAAmB;AACnB,YAAA,UAAU,aAEF,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAElB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAbzB,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,SAAS;YACT,UAAU;YACV,cAAc;YACd,aAAa;YACb,kBAAkB;YAClB,mBAAmB;YACnB,UAAU,CAAA,EAAA,CAAA,CAAA;;4FAID,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAhB5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;AACnC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,SAAS;wBACT,UAAU;wBACV,cAAc;wBACd,aAAa;wBACb,kBAAkB;wBAClB,mBAAmB;wBACnB,UAAU;AACX,qBAAA;oBACD,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC/B,iBAAA,CAAA;;;AC3BD;;AAEG;;;;"}