{"version":3,"file":"smartstock-reports.mjs","sources":["../../../projects/reports/src/components/cart-details.component.ts","../../../projects/reports/src/components/cash-sales-tracking.component.ts","../../../projects/reports/src/services/report.service.ts","../../../projects/reports/src/components/product-performance.component.ts","../../../projects/reports/src/services/report-navigation.service.ts","../../../projects/reports/src/pages/index.page.ts","../../../projects/reports/src/services/json2csv.service.ts","../../../projects/reports/src/states/report.state.ts","../../../projects/reports/src/components/cash-sales-overview.component.ts","../../../projects/reports/src/components/date-range.component.ts","../../../projects/reports/src/pages/cash-sales-overview-day.page.ts","../../../projects/reports/src/components/cash-sales-performance.component.ts","../../../projects/reports/src/pages/cash-sales-track.page.ts","../../../projects/reports/src/pages/cash-sales-performance-product.page.ts","../../../projects/reports/src/pages/cash-sales-overview-month.page.ts","../../../projects/reports/src/pages/cash-sales-overview-year.page.ts","../../../projects/reports/src/components/invoice-sales-overview.component.ts","../../../projects/reports/src/pages/invoice-sales-overview-day.page.ts","../../../projects/reports/src/pages/invoice-sales-overview-month.page.ts","../../../projects/reports/src/pages/invoice-sales-overview-year.page.ts","../../../projects/reports/src/pages/cash-sales-performance-seller.page.ts","../../../projects/reports/src/pages/cash-sales-performance-category.page.ts","../../../projects/reports/src/reports.module.ts","../../../projects/reports/src/public-api.ts","../../../projects/reports/src/smartstock-reports.ts"],"sourcesContent":["import { Component, Inject, OnInit, ViewChild } from \"@angular/core\";\nimport {\n  MAT_BOTTOM_SHEET_DATA,\n  MatBottomSheetRef\n} from \"@angular/material/bottom-sheet\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { MatSort } from \"@angular/material/sort\";\nimport { MatDialog } from \"@angular/material/dialog\";\nimport { PrintService } from \"smartstock-core\";\n\n@Component({\n  selector: \"app-cart-details\",\n  template: `\n    <div class=\"w-100 m-0 p-0\">\n      <div class=\"row header text-white align-items-center p-3\">\n        <div class=\"col-6 header-icon\">\n          <mat-icon class=\"ml-auto p-3\">shopping_cart</mat-icon>\n          <p>Cart Details</p>\n        </div>\n        <div class=\"col-6 text-right\">\n          <h3 class=\"mb-0\">{{ data.businessName }}</h3>\n          <p class=\"mb-0\">{{ data.region }}</p>\n          <p>{{ data.date | date }}</p>\n        </div>\n      </div>\n      <div class=\"row px-3 pt-4 m-0 justify-content-between\">\n        <div>\n          <p class=\"mb-0\">Receipt No.</p>\n          <p>{{ data.id }}</p>\n        </div>\n        <div>\n          <p class=\"mb-0\">Seller</p>\n          <p>{{ data.seller | titlecase }}</p>\n        </div>\n      </div>\n      <!--      <hr class=\"my-0\">-->\n      <div class=\"d-flex justify-content-end\" style=\"margin-bottom: 24px\">\n        <!--        <button class=\"btn-success btn\" mat-flat-button (click)=\"printReceipt(data)\">Print Receipt</button>-->\n        <!--        <div style=\"width: 20px; height: 20px\"></div>-->\n        <button\n          class=\"btn-success btn\"\n          mat-flat-button\n          (click)=\"printReceiptOverview(data)\"\n        >\n          Print Receipt Overview\n        </button>\n      </div>\n      <hr class=\"my-0\" />\n\n      <div class=\"py-3\">\n        <table mat-table [dataSource]=\"cartData\" matSort>\n          <ng-container matColumnDef=\"product\">\n            <th mat-header-cell *matHeaderCellDef>Product</th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.product }}</td>\n          </ng-container>\n\n          <ng-container matColumnDef=\"quantity\">\n            <th mat-header-cell *matHeaderCellDef>Quantity</th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.quantity }}</td>\n          </ng-container>\n\n          <ng-container matColumnDef=\"price\">\n            <th mat-header-cell *matHeaderCellDef>Price</th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{\n                data.channel === \"retail\"\n                  ? element.retailPrice\n                  : element.wholesalePrice\n              }}\n            </td>\n          </ng-container>\n\n          <ng-container matColumnDef=\"amount\">\n            <th mat-header-cell *matHeaderCellDef>Amount</th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.amount }}</td>\n          </ng-container>\n\n          <tr mat-header-row *matHeaderRowDef=\"cartDataColumns\"></tr>\n          <tr\n            matTooltip=\"{{ row.product }}\"\n            class=\"table-data-row\"\n            mat-row\n            *matRowDef=\"let row; columns: cartDataColumns\"\n          ></tr>\n        </table>\n        <mat-paginator\n          *ngIf=\"cartData.data.length > 5\"\n          [pageSizeOptions]=\"[5, 10, 20, 100]\"\n          showFirstLastButtons\n        ></mat-paginator>\n        <div class=\"d-flex pt-4 align-items-center justify-content-between\">\n          <h3 class=\"text-center col-4 \">Total</h3>\n          <h2\n            class=\"text-white py-3 col-7 col-md-5 col-lg-6 text-center\"\n            style=\"background: #1b5e20;\"\n          >\n            {{ data.amount | currency: \" \" }}/=\n          </h2>\n        </div>\n      </div>\n      <p class=\"text-center\" style=\"color: #1b5e20\">smartstock.co.tz</p>\n    </div>\n  `,\n  styleUrls: [\"../styles/cart-details.style.scss\"]\n})\nexport class CartDetailsComponent implements OnInit {\n  @ViewChild(MatPaginator) paginator: MatPaginator;\n  @ViewChild(MatSort) sort: MatSort;\n  cartData: MatTableDataSource<any>;\n  cartDataColumns = [\"product\", \"quantity\", \"price\", \"amount\"];\n\n  constructor(\n    private cartDetailsSheetRef: MatBottomSheetRef<CartDetailsComponent>,\n    private readonly matDialog: MatDialog,\n    public readonly printService: PrintService,\n    @Inject(MAT_BOTTOM_SHEET_DATA) public data\n  ) {}\n\n  ngOnInit(): void {\n    this.cartData = new MatTableDataSource(this.data.items);\n    this.cartData.paginator = this.paginator;\n    this.cartData.sort = this.sort;\n  }\n\n  close(): void {\n    this.cartDetailsSheetRef.dismiss();\n  }\n\n  printReceiptOverview(data: any): void {\n    this.cartDetailsSheetRef.dismiss();\n    console.log(this.data);\n    let dataToPrint = `\nCUSTOMER : ${data.customer}\nTOTAL: ${data.amount}\nDATE: ${data.date}\n________________________________________\n    `;\n    this.data.items.forEach((x) => {\n      dataToPrint += `\nITEM : ${x.product}\nPRICE: ${x.amount} QTY : ${x.quantity}\n________________________________________\n        `;\n    });\n    this.printService\n      .print({\n        id: \"\",\n        qr: \"\",\n        printer: \"tm20\",\n        data: dataToPrint\n      })\n      .catch(console.log)\n      .then(console.log);\n  }\n}\n","import {\n  AfterViewInit,\n  Component,\n  EventEmitter,\n  Input,\n  OnInit,\n  Output,\n  ViewChild\n} from \"@angular/core\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { MatSort } from \"@angular/material/sort\";\nimport { UntypedFormControl, Validators } from \"@angular/forms\";\nimport { MatBottomSheet } from \"@angular/material/bottom-sheet\";\nimport { CartDetailsComponent } from \"./cart-details.component\";\nimport { DeviceState, UserService } from \"smartstock-core\";\nimport { CashSalesTrackModel } from \"../models/cash-sales-track.model\";\n\n@Component({\n  selector: \"app-cash-sale-tracking\",\n  template: `\n    <div class=\"cash-sales-day-container\">\n      <div class=\"table-container\">\n        <input\n          class=\"table-filter-input\"\n          [formControl]=\"filterFormControl\"\n          placeholder=\"Type to filter ...\"\n        />\n        <table mat-table [dataSource]=\"carts\" matSort>\n          <ng-container matColumnDef=\"channel\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Channel\n            </th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.channel }}</td>\n            <td mat-footer-cell *matFooterCellDef></td>\n          </ng-container>\n          <ng-container matColumnDef=\"total_amount\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Total Amount\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount | currency: \" \" }}\n            </td>\n            <td mat-footer-cell *matFooterCellDef></td>\n          </ng-container>\n          <!--          <ng-container matColumnDef=\"total_items\">-->\n          <!--            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Items</th>-->\n          <!--            <td mat-cell *matCellDef=\"let element\">{{element.items?.length}}</td>-->\n          <!--            <td mat-footer-cell *matFooterCellDef></td>-->\n          <!--          </ng-container>-->\n          <ng-container matColumnDef=\"customer\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Customer\n            </th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.customer }}</td>\n            <td mat-footer-cell *matFooterCellDef></td>\n          </ng-container>\n          <ng-container matColumnDef=\"seller\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Seller\n            </th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.seller }}</td>\n            <td mat-footer-cell *matFooterCellDef></td>\n          </ng-container>\n          <ng-container matColumnDef=\"date\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Date\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.time | date: \"YYYY-MM-dd HH:MM\" }}\n            </td>\n            <td mat-footer-cell *matFooterCellDef></td>\n          </ng-container>\n          <tr\n            mat-header-row\n            *matHeaderRowDef=\"\n              (deviceState.isSmallScreen | async) === true\n                ? cartColumnsMobile\n                : cartColumns\n            \"\n          ></tr>\n          <tr\n            matTooltip=\"Click for more details\"\n            class=\"table-data-row\"\n            mat-row\n            *matRowDef=\"\n              let row;\n              columns: (deviceState.isSmallScreen | async) === true\n                ? cartColumnsMobile\n                : cartColumns\n            \"\n            (click)=\"openCartDetails(row)\"\n          ></tr>\n          <tr\n            mat-footer-row\n            style=\"font-size: 36px\"\n            *matFooterRowDef=\"\n              (deviceState.isSmallScreen | async) === true\n                ? cartColumnsMobile\n                : cartColumns\n            \"\n          ></tr>\n        </table>\n        <mat-paginator\n          [pageSizeOptions]=\"[50, 100]\"\n          showFirstLastButtons\n        ></mat-paginator>\n      </div>\n    </div>\n  `,\n  styleUrls: [\"../styles/cart.component.scss\", \"../styles/index.style.scss\"]\n})\nexport class CashSalesTrackingComponent implements OnInit, AfterViewInit {\n  @Input() data: CashSalesTrackModel[] = [];\n  carts = new MatTableDataSource<any>();\n  cartColumns = [\"date\", \"channel\", \"total_amount\", \"seller\", \"customer\"];\n  cartColumnsMobile = [\"date\", \"total_amount\", \"customer\"];\n  filterFormControl = new UntypedFormControl(\"\", [Validators.nullValidator]);\n  @ViewChild(MatPaginator) paginator: MatPaginator;\n  @ViewChild(MatSort) sort: MatSort;\n  @Output() reload = new EventEmitter<{ from: Date; to: Date }>();\n\n  constructor(\n    private cartDetails: MatBottomSheet,\n    public readonly deviceState: DeviceState,\n    private readonly userService: UserService\n  ) {}\n\n  async ngOnInit(): Promise<void> {\n    this.filterFormControl.valueChanges.subscribe((filterValue) => {\n      this.carts.filter = filterValue.trim().toLowerCase();\n    });\n  }\n\n  openCartDetails(cartDetailsData): any {\n    this.cartDetails.open(CartDetailsComponent, {\n      data: {\n        id: cartDetailsData.id,\n        channel: cartDetailsData.channel,\n        date: cartDetailsData.date,\n        amount: cartDetailsData.amount,\n        businessName: cartDetailsData.businessName,\n        seller: cartDetailsData.seller,\n        customer: cartDetailsData.customer,\n        time: cartDetailsData.time,\n        region: \"\",\n        items: cartDetailsData.items\n      }\n    });\n  }\n\n  ngAfterViewInit(): void {\n    setTimeout(() => {\n      this.carts.data = this.data;\n      this.carts.paginator = this.paginator;\n      this.carts.sort = this.sort;\n    }, 100);\n  }\n}\n","import { Injectable } from \"@angular/core\";\nimport { getDaasAddress, UserService } from \"smartstock-core\";\nimport { functions } from \"bfast\";\nimport { CartModel } from \"../models/cart.model\";\nimport { InvoiceSalesOverviewModel } from \"../models/invoice-sales-overview.model\";\nimport { CashSalesTrackModel } from \"../models/cash-sales-track.model\";\nimport { CashSalesPerformanceProductModel } from \"../models/cash-sales-performance-product.model\";\nimport { CashSalesPerformanceSellerModel } from \"../models/cash-sales-performance-seller.model\";\nimport { CashSalesPerformanceCategoryModel } from \"../models/cash-sales-performance-category.model\";\n\n@Injectable({\n  providedIn: \"root\"\n})\nexport class ReportService {\n  constructor(private readonly userService: UserService) {}\n\n  async getSalesOverview(from: Date, to: Date, period: string): Promise<any> {\n    const shop = await this.userService.getCurrentShop();\n    return functions(shop.projectId)\n      .request(getDaasAddress(shop) + \"/report/sales/overview/cash/\" + period)\n      .get({ params: { from, to } });\n  }\n\n  async getProductPerformanceReport(\n    from: Date,\n    to: Date\n  ): Promise<CashSalesPerformanceProductModel[]> {\n    const shop = await this.userService.getCurrentShop();\n    return functions(shop.projectId)\n      .request(getDaasAddress(shop) + \"/report/sales/performance/product\")\n      .get({ params: { from, to } });\n  }\n\n  async getCategoryPerformanceReport(\n    from: Date,\n    to: Date\n  ): Promise<CashSalesPerformanceCategoryModel[]> {\n    const shop = await this.userService.getCurrentShop();\n    return functions(shop.projectId)\n      .request(getDaasAddress(shop) + \"/report/sales/performance/category\")\n      .get({ params: { from, to } });\n  }\n\n  async getSellerPerformanceReport(\n    from: Date,\n    to: Date\n  ): Promise<CashSalesPerformanceSellerModel[]> {\n    const shop = await this.userService.getCurrentShop();\n    return functions(shop.projectId)\n      .request(getDaasAddress(shop) + \"/report/sales/performance/seller\")\n      .get({ params: { from, to } });\n  }\n\n  async getSoldCarts(from: Date, to: Date): Promise<CashSalesTrackModel[]> {\n    const shop = await this.userService.getCurrentShop();\n    return functions(shop.projectId)\n      .request(getDaasAddress(shop) + \"/report/sales/track/cash\")\n      .get({ params: { from, to } });\n  }\n\n  async getInvoiceSalesOverview(\n    from: Date,\n    to: Date,\n    period: string\n  ): Promise<InvoiceSalesOverviewModel[]> {\n    const shop = await this.userService.getCurrentShop();\n    return functions(shop.projectId)\n      .request(\n        getDaasAddress(shop) + \"/report/sales/overview/invoice/\" + period\n      )\n      .get({ params: { from, to } });\n  }\n}\n","import { Component, Input, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { toSqlDate } from \"smartstock-core\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { Observable, of, Subject } from \"rxjs\";\nimport { UntypedFormControl, Validators } from \"@angular/forms\";\nimport { MatSort } from \"@angular/material/sort\";\nimport { ReportService } from \"../services/report.service\";\nimport { json2csv } from \"../services/json2csv.service\";\n\nexport interface ProductPerformanceI {\n  _id: string;\n  quantitySold: number;\n  purchase: any;\n  firstSold: any;\n  lastSold: any;\n  sales: number;\n  costOfGoodsSold: number;\n  grossProfit: number;\n}\n\n@Component({\n  selector: \"app-product-performance-report\",\n  template: `\n    <div class=\"col-lg-11 mx-auto py-4\">\n      <div>\n        <mat-card class=\"mat-elevation-z3\">\n          <div class=\"row pt-3 m-0 justify-content-center align-items-center\">\n            <mat-icon\n              color=\"primary\"\n              class=\"ml-auto\"\n              style=\"width: 40px;height:40px;font-size: 36px\"\n              >shopping_cart</mat-icon\n            >\n            <p class=\"mr-auto my-0 h6\">Product Sales Summary</p>\n            <button\n              [mat-menu-trigger-for]=\"exportMenu\"\n              class=\"mr-1 ml-0\"\n              mat-icon-button\n            >\n              <mat-icon>more_vert</mat-icon>\n            </button>\n          </div>\n          <hr class=\"w-75 mt-0 mx-auto\" color=\"primary\" />\n          <mat-card-header>\n            <mat-form-field style=\"margin: 0 4px;\">\n              <mat-label>From date</mat-label>\n              <input\n                matInput\n                (click)=\"startDatePicker.open()\"\n                [matDatepicker]=\"startDatePicker\"\n                [formControl]=\"startDateFormControl\"\n              />\n              <mat-datepicker-toggle\n                matSuffix\n                [for]=\"startDatePicker\"\n              ></mat-datepicker-toggle>\n              <mat-datepicker #startDatePicker></mat-datepicker>\n            </mat-form-field>\n            <mat-form-field style=\"margin: 0 4px;\">\n              <mat-label>To date</mat-label>\n              <input\n                matInput\n                (click)=\"endDatePicker.open()\"\n                [matDatepicker]=\"endDatePicker\"\n                [formControl]=\"endDateFormControl\"\n              />\n              <mat-datepicker-toggle\n                matSuffix\n                [for]=\"endDatePicker\"\n              ></mat-datepicker-toggle>\n              <mat-datepicker #endDatePicker></mat-datepicker>\n            </mat-form-field>\n            <span style=\"flex-grow: 1;\"></span>\n            <mat-form-field>\n              <mat-label>Filter</mat-label>\n              <input\n                matInput\n                [formControl]=\"filterFormControl\"\n                placeholder=\"Eg. Piriton\"\n              />\n            </mat-form-field>\n            <!--<mat-form-field>-->\n            <!--<mat-label>Sales type</mat-label>-->\n            <!--<mat-select [formControl]=\"channelFormControl\">-->\n            <!--<mat-option value=\"retail\">Retail</mat-option>-->\n            <!--<mat-option value=\"whole\">Whole sale</mat-option>-->\n            <!--</mat-select>-->\n            <!--</mat-form-field>-->\n          </mat-card-header>\n\n          <app-data-not-ready\n            [isLoading]=\"isLoading\"\n            *ngIf=\"noDataRetrieved || isLoading\"\n          ></app-data-not-ready>\n\n          <div *ngIf=\"!noDataRetrieved && !isLoading\">\n            <table\n              mat-table\n              [dataSource]=\"productPerformanceDatasource\"\n              matSort\n            >\n              <ng-container matColumnDef=\"product\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  Product\n                </th>\n                <td mat-cell *matCellDef=\"let element\">{{ element._id }}</td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <ng-container matColumnDef=\"category\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  Category\n                </th>\n                <td mat-cell *matCellDef=\"let element\">\n                  {{ element.category }}\n                </td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <ng-container matColumnDef=\"quantitySold\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  Quantity\n                </th>\n                <td mat-cell *matCellDef=\"let element\">\n                  {{ element.quantitySold | number }}\n                </td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <ng-container matColumnDef=\"firstSold\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  First sold\n                </th>\n                <td mat-cell *matCellDef=\"let element\">\n                  {{ element.firstSold }}\n                </td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <ng-container matColumnDef=\"lastSold\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  Last sold\n                </th>\n                <td matRipple mat-cell *matCellDef=\"let element\">\n                  {{ element.lastSold }}\n                </td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <ng-container matColumnDef=\"costOfGoodSold\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  Cost of goods sold\n                </th>\n                <td mat-cell *matCellDef=\"let element\">\n                  {{ element.costOfGoodsSold | currency: \" TZS\" }}\n                </td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <ng-container matColumnDef=\"grossProfit\">\n                <th mat-header-cell *matHeaderCellDef mat-sort-header>\n                  Gross profit\n                </th>\n                <td mat-cell *matCellDef=\"let element\">\n                  {{\n                    element.sales - element.costOfGoodsSold | currency: \" TZS\"\n                  }}\n                </td>\n                <td mat-footer-cell *matFooterCellDef></td>\n              </ng-container>\n\n              <tr mat-header-row *matHeaderRowDef=\"stockColumns\"></tr>\n              <tr\n                matTooltip=\"{{ row.product }}\"\n                class=\"table-data-row\"\n                mat-row\n                *matRowDef=\"let row; columns: stockColumns\"\n              ></tr>\n              <!--          <tr mat-footer-row style=\"font-size: 36px\" *matFooterRowDef=\"stockColumns\"></tr>-->\n            </table>\n          </div>\n\n          <mat-paginator\n            [pageSizeOptions]=\"[5, 10, 20, 100]\"\n            showFirstLastButtons\n          ></mat-paginator>\n        </mat-card>\n      </div>\n      <mat-menu #exportMenu>\n        <button mat-menu-item (click)=\"exportReport()\">\n          <mat-icon color=\"primary\">get_app</mat-icon>\n          CSV\n        </button>\n      </mat-menu>\n    </div>\n  `,\n  styleUrls: [\"../styles/product-performance.style.scss\"],\n  providers: [ReportService]\n})\nexport class ProductPerformanceComponent implements OnInit, OnDestroy {\n  private productPerformanceFetchProgress = false;\n  startDateFormControl = new UntypedFormControl(new Date(), [\n    Validators.nullValidator\n  ]);\n  endDateFormControl = new UntypedFormControl(\"\", [Validators.nullValidator]);\n  channelFormControl = new UntypedFormControl(\"\", [Validators.nullValidator]);\n  filterFormControl = new UntypedFormControl(\"\", [Validators.nullValidator]);\n\n  startDate;\n  endDate;\n  channel = \"retail\";\n  productPerformanceReport: any;\n  isLoading = false;\n  noDataRetrieved = true;\n  @Input() salesChannel;\n\n  @ViewChild(MatPaginator) paginator: MatPaginator;\n  @ViewChild(MatSort) sort: MatSort;\n  destroyer = new Subject();\n\n  constructor(\n    private readonly snack: MatSnackBar,\n    private readonly reportService: ReportService\n  ) {}\n\n  hotReloadProgress = false;\n  totalPurchase: Observable<number> = of(0);\n  units: Observable<any[]>;\n  productPerformanceDatasource: MatTableDataSource<ProductPerformanceI>;\n  stockColumns = [\n    \"product\",\n    \"category\",\n    \"quantitySold\",\n    \"firstSold\",\n    \"lastSold\",\n    \"costOfGoodSold\",\n    \"grossProfit\"\n  ];\n\n  ngOnInit(): void {\n    // this.channelFormControl.setValue('retail');\n    // this.startDate = toSqlDate(new Date());\n    // this.endDate = toSqlDate(new Date());\n    // this.getProductReport(this.startDate, this.endDate);\n    // this.filterFormControl.valueChanges.subscribe(filterValue => {\n    //   this.productPerformanceDatasource.filter = filterValue.trim().toLowerCase();\n    // });\n  }\n\n  private getProductReport(from: string, to: string): void {\n    // this.isLoading = true; // begin fetching data\n    // this.productPerformanceFetchProgress = true;\n    // this.reportService.getProductPerformanceReport(from, to).then(data => {\n    //   this.isLoading = false;\n    //   this.noDataRetrieved = false; // loading is done and some data is received\n    //   this.productPerformanceReport = data.length > 0 ? data[0].total : 0;\n    //   this.productPerformanceDatasource = new MatTableDataSource(data);\n    //   setTimeout(() => {\n    //     this.productPerformanceDatasource.paginator = this.paginator;\n    //     this.productPerformanceDatasource.sort = this.sort;\n    //   });\n    //   this.productPerformanceFetchProgress = false;\n    // }).catch(reason => {\n    //   this.isLoading = false;\n    //   this.noDataRetrieved = true;\n    //   this.productPerformanceReport = 0;\n    //   this.snack.open('Fails to get product performance report', 'Ok', {\n    //     duration: 3000\n    //   });\n    //   this.productPerformanceFetchProgress = false;\n    // });\n  }\n\n  private dateRangeListener(): void {\n    // this.startDateFormControl.valueChanges.subscribe(value => {\n    //   this.startDate = toSqlDate(value);\n    //   this.getProductReport(this.startDate, this.endDate);\n    // });\n    // this.endDateFormControl.valueChanges.subscribe(value => {\n    //   this.endDate = toSqlDate(value);\n    //   this.getProductReport(this.startDate, this.endDate);\n    // });\n    // this.channelFormControl.valueChanges.subscribe(value => {\n    //   this.channel = value;\n    //   this.getProductReport(this.startDate, this.endDate);\n    // });\n  }\n\n  exportReport(): void {\n    // const exportedDataColumns = ['_id', 'category', 'quantitySold', 'firstSold', 'lastSold', 'costOfGoodsSold', 'grossProfit'];\n    // json2csv('product_performance.csv', exportedDataColumns, this.productPerformanceDatasource.filteredData).catch();\n  }\n\n  ngOnDestroy(): void {\n    // this.destroyer.next('done');\n  }\n}\n","import { Injectable } from \"@angular/core\";\nimport { NavigationService } from \"smartstock-core\";\n\n@Injectable({\n  providedIn: \"root\"\n})\nexport class ReportNavigationService {\n  constructor(private readonly configs: NavigationService) {}\n\n  init(): void {\n    this.configs.addMenu({\n      name: \"Report\",\n      link: \"/report\",\n      roles: [\"admin\"],\n      icon: \"table_chart\",\n      pages: this.getPages()\n    });\n  }\n\n  getPages(): {\n    link: string;\n    icon?: string;\n    detail?: string;\n    name: string;\n    roles: string[];\n    click: () => void;\n  }[] {\n    return [\n      {\n        link: \"/report/sales/overview/cash/day\",\n        name: \"Days cash sale\",\n        icon: \"score\",\n        detail: \"daily cash sales report\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/overview/cash/month\",\n        name: \"Months cash sales\",\n        icon: \"score\",\n        detail: \"monthly cash sales report\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/overview/cash/year\",\n        name: \"Years cash sales\",\n        icon: \"score\",\n        detail: \"cash sales report by year\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/overview/invoice/day\",\n        name: \"Days invoice sale\",\n        icon: \"waterfall_chart\",\n        detail: \"daily invoice sales report\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/overview/invoice/month\",\n        name: \"Months invoice sale\",\n        icon: \"waterfall_chart\",\n        detail: \"monthly invoice sales report\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/overview/invoice/year\",\n        name: \"Years invoice sale\",\n        icon: \"waterfall_chart\",\n        detail: \"invoice sales report by year\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/track/cash\",\n        name: \"Cash sales tracking\",\n        icon: \"stream\",\n        detail: \"Live track of cash sales\",\n        roles: [\"manager\", \"user\", \"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/performance/product\",\n        icon: \"insights\",\n        detail: \"See which product give you profit\",\n        name: \"P. Performance\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/performance/seller\",\n        name: \"S. Performance\",\n        icon: \"insights\",\n        detail: \"View your shop seller sales\",\n        roles: [\"admin\"],\n        click: null\n      },\n      {\n        link: \"/report/sales/performance/category\",\n        name: \"C. Performance\",\n        icon: \"insights\",\n        detail: \"See which category lead in sales\",\n        roles: [\"admin\"],\n        click: null\n      }\n    ];\n  }\n\n  selected(): void {\n    this.configs.selectedModuleName = \"Report\";\n  }\n}\n","import { Component, OnDestroy, OnInit } from \"@angular/core\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportNavigationService } from \"../services/report-navigation.service\";\nimport { Router } from \"@angular/router\";\nimport { Subject, takeUntil } from \"rxjs\";\n\n@Component({\n  selector: \"app-report-index\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Reports'\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n      [body]=\"body\"\n      [leftDrawer]=\"side\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <div\n          style=\"padding: 16px 0; margin-bottom: 100px\"\n          *ngIf=\"(deviceState.isSmallScreen | async) === true\"\n        >\n          <mat-nav-list>\n            <app-libs-rbac\n              [groups]=\"['admin']\"\n              [pagePath]=\"page.link\"\n              *ngFor=\"let page of reportPages\"\n            >\n              <ng-template>\n                <mat-list-item routerLink=\"{{ page.link }}\">\n                  <mat-icon color=\"primary\" matListIcon>{{\n                    page.icon\n                  }}</mat-icon>\n                  <h1 matLine>{{ page.name }}</h1>\n                  <mat-card-subtitle matLine>{{\n                    page.detail\n                  }}</mat-card-subtitle>\n                </mat-list-item>\n                <mat-divider></mat-divider>\n              </ng-template>\n            </app-libs-rbac>\n          </mat-nav-list>\n        </div>\n      </ng-template>\n    </app-layout-sidenav>\n  `\n})\nexport class IndexPage implements OnInit, OnDestroy {\n  reportPages = [];\n  destroyer = new Subject();\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    private readonly router: Router,\n    private readonly navigation: ReportNavigationService\n  ) {}\n\n  async ngOnInit(): Promise<void> {\n    document.title = \"Smartstock - Reports\";\n    this.deviceState.isSmallScreen\n      .pipe(takeUntil(this.destroyer))\n      .subscribe((value) => {\n        if (value === false) {\n          this.router\n            .navigateByUrl(\"/report/sales/overview/cash/day\")\n            .catch(console.log);\n        }\n      });\n    this.reportPages = this.navigation.getPages();\n  }\n\n  ngOnDestroy(): void {\n    this.destroyer.next(\"done\");\n  }\n}\n","export const json2csv = async (name: string, columns: string[], data: object[]) => {\n  let csv = '';\n  if (columns && Array.isArray(columns)) {\n    csv = csv.concat(columns.join(',')).concat(',\\n');\n    data.forEach(element => {\n      columns.forEach(column => {\n        csv = csv.concat(JSON.stringify(element[column]).trim()).concat(',');\n      });\n      csv = csv.concat('\\n');\n    });\n\n    const csvContent = 'data:text/csv;charset=utf-8,' + csv;\n    const url = encodeURI(csvContent);\n    const anchor = document.createElement('a');\n    anchor.setAttribute('style', 'display: none');\n    anchor.download = name;\n    anchor.href = url;\n    anchor.click();\n    return csv;\n  }\n  throw Error('CSV failed to crete');\n};\n","import {Injectable} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\nimport {DateRangeModel} from '../models/date-range.model';\nimport {ReportService} from '../services/report.service';\nimport {CashSalesOverviewModel} from '../models/cash-sales-overview.model';\nimport {MatSnackBar} from '@angular/material/snack-bar';\nimport {json2csv} from '../services/json2csv.service';\nimport {InvoiceSalesOverviewModel} from '../models/invoice-sales-overview.model';\nimport {CashSalesTrackModel} from '../models/cash-sales-track.model';\nimport {CashSalesPerformanceProductModel} from '../models/cash-sales-performance-product.model';\nimport {CashSalesPerformanceSellerModel} from '../models/cash-sales-performance-seller.model';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ReportState {\n  loadDayCashSales = new BehaviorSubject(false);\n  loadDayInvoiceSales = new BehaviorSubject(false);\n  loadMonthCashSales = new BehaviorSubject(false);\n  loadMonthInvoiceSales = new BehaviorSubject(false);\n  loadYearInvoiceSales = new BehaviorSubject(false);\n  loadCashPerformanceByProduct = new BehaviorSubject(false);\n  loadCashPerformanceBySeller = new BehaviorSubject(false);\n  cashSalesByDay = new BehaviorSubject<CashSalesOverviewModel[]>([]);\n  invoiceSalesByDay = new BehaviorSubject<InvoiceSalesOverviewModel[]>([]);\n  cashSalesByMonth = new BehaviorSubject<CashSalesOverviewModel[]>([]);\n  cashSalesByYear = new BehaviorSubject<CashSalesOverviewModel[]>([]);\n  invoiceSalesByMonth = new BehaviorSubject<InvoiceSalesOverviewModel[]>([]);\n  invoiceSalesByYear = new BehaviorSubject<InvoiceSalesOverviewModel[]>([]);\n  cashSalesTracking = new BehaviorSubject<CashSalesTrackModel[]>([]);\n  cashPerformanceByProduct = new BehaviorSubject<CashSalesPerformanceProductModel[]>([]);\n  cashPerformanceBySeller = new BehaviorSubject<CashSalesPerformanceSellerModel[]>([]);\n  cashPerformanceByCategory = new BehaviorSubject<CashSalesPerformanceSellerModel[]>([]);\n  loadYearCashSales = new BehaviorSubject(false);\n  loadCashSalesTracking = new BehaviorSubject(false);\n  loadCashPerformanceByCategory = new BehaviorSubject(false);\n\n  constructor(private readonly reportService: ReportService,\n              private readonly snack: MatSnackBar) {\n  }\n\n  private message(e: string): void {\n    this.snack.open(e, 'Ok', {\n      duration: 2000\n    });\n  }\n\n  fetchCashSaleByDay(date: DateRangeModel): void {\n    this.loadDayCashSales.next(true);\n    this.reportService.getSalesOverview(date.from, date.to, 'day').then(value => {\n      this.cashSalesByDay.next(value);\n    }).catch(e => {\n      this.message(e ? e.message : 'Fail to get report');\n    }).finally(() => {\n      this.loadDayCashSales.next(false);\n    });\n  }\n\n  fetchInvoiceSaleByDay(date: DateRangeModel): void {\n    this.loadDayInvoiceSales.next(true);\n    this.reportService.getInvoiceSalesOverview(date.from, date.to, 'day').then(value => {\n      this.invoiceSalesByDay.next(value);\n    }).catch(e => {\n      this.message(e ? e.message : 'Fail to get report');\n    }).finally(() => {\n      this.loadDayInvoiceSales.next(false);\n    });\n  }\n\n  exportCashSaleByDay(): void {\n    const exportedDataCartColumns = ['id', 'amount', 'amount_retail', 'amount_whole'];\n    json2csv(`cash_sales_report_by_day.csv`, exportedDataCartColumns,\n      this.cashSalesByDay.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  exportInvoiceSaleByDay(): void {\n    const exportedDataCartColumns = ['id', 'amount', 'amount_credit', 'amount_online'];\n    json2csv(`invoice_sales_report_by_day.csv`, exportedDataCartColumns,\n      this.invoiceSalesByDay.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  dispose(): void {\n    this.loadDayCashSales.next(false);\n    this.loadMonthCashSales.next(false);\n    this.loadYearCashSales.next(false);\n    this.loadDayInvoiceSales.next(false);\n    this.loadMonthInvoiceSales.next(false);\n    this.loadYearInvoiceSales.next(false);\n    this.loadCashSalesTracking.next(false);\n    this.loadCashPerformanceByProduct.next(false);\n    this.loadCashPerformanceBySeller.next(false);\n    this.loadCashPerformanceByCategory.next(false);\n    this.cashSalesByDay.next([]);\n    this.invoiceSalesByDay.next([]);\n    this.cashSalesByMonth.next([]);\n    this.cashSalesByYear.next([]);\n    this.invoiceSalesByMonth.next([]);\n    this.invoiceSalesByYear.next([]);\n    this.cashPerformanceByProduct.next([]);\n    this.cashPerformanceBySeller.next([]);\n    this.cashPerformanceByCategory.next([]);\n  }\n\n  fetchCashSaleByMonth(date: DateRangeModel): void {\n    this.loadMonthCashSales.next(true);\n    this.reportService.getSalesOverview(date.from, date.to, 'month').then(value => {\n      this.cashSalesByMonth.next(value);\n    }).catch(e => {\n      this.message(e ? e.message : 'Fail to get report');\n    }).finally(() => {\n      this.loadMonthCashSales.next(false);\n    });\n  }\n\n  fetchInvoiceSaleByMonth(date: DateRangeModel): void {\n    this.loadMonthInvoiceSales.next(true);\n    this.reportService.getInvoiceSalesOverview(date.from, date.to, 'month').then(value => {\n      this.invoiceSalesByMonth.next(value);\n    }).catch(e => {\n      this.message(e ? e.message : 'Fail to get report');\n    }).finally(() => {\n      this.loadMonthInvoiceSales.next(false);\n    });\n  }\n\n  exportCashSaleByMonth(): void {\n    const exportedDataCartColumns = ['id', 'amount', 'amount_retail', 'amount_whole'];\n    json2csv(`cash_sales_report_by_month.csv`, exportedDataCartColumns,\n      this.cashSalesByMonth.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  exportInvoiceSaleByMonth(): void {\n    const exportedDataCartColumns = ['id', 'amount', 'amount_credit', 'amount_online'];\n    json2csv(`invoice_sales_report_by_month.csv`, exportedDataCartColumns,\n      this.invoiceSalesByMonth.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  fetchCashSaleByYear(date: DateRangeModel): void {\n    this.loadYearCashSales.next(true);\n    this.reportService.getSalesOverview(date.from, date.to, 'year').then(value => {\n      this.cashSalesByYear.next(value);\n    }).catch(e => {\n      this.message(e ? e.message : 'Fail to get report');\n    }).finally(() => {\n      this.loadYearCashSales.next(false);\n    });\n  }\n\n  exportCashSaleByYear(): void {\n    const exportedDataCartColumns = ['id', 'amount', 'amount_retail', 'amount_whole'];\n    json2csv(`cash_sales_report_by_year.csv`, exportedDataCartColumns,\n      this.cashSalesByYear.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  fetchInvoiceSaleByYear(date: DateRangeModel): void {\n    this.loadYearInvoiceSales.next(true);\n    this.reportService.getInvoiceSalesOverview(date.from, date.to, 'year').then(value => {\n      this.invoiceSalesByYear.next(value);\n    }).catch(e => {\n      this.message(e ? e.message : 'Fail to get report');\n    }).finally(() => {\n      this.loadYearInvoiceSales.next(false);\n    });\n  }\n\n  exportInvoiceSaleByYear(): void {\n    const exportedDataCartColumns = ['id', 'amount', 'amount_credit', 'amount_online'];\n    json2csv(`invoice_sales_report_by_year.csv`, exportedDataCartColumns,\n      this.invoiceSalesByYear.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  exportCashSalesTrack(): void {\n    const exportedDataCartColumns = ['time', 'amount', 'seller', 'channel', 'items'];\n    const data = JSON.parse(JSON.stringify(this.cashSalesTracking.value));\n    json2csv('cash_sales_track_report.csv', exportedDataCartColumns,\n      data.map(x => {\n        // @ts-ignore\n        x.items = x.items.map(y => y.product).join('; ');\n        return x;\n      })).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  fetchCashSalesTrack(date: DateRangeModel): void {\n    this.loadCashSalesTracking.next(true);\n    this.reportService.getSoldCarts(date.from, date.to).then(value => {\n      this.cashSalesTracking.next(value);\n    }).catch(reason => {\n      this.message(reason ? reason.message : 'Fail to get sold items');\n    }).finally(() => {\n      this.loadCashSalesTracking.next(false);\n    });\n  }\n\n  fetchCashPerformanceByProduct(date: DateRangeModel): void {\n    this.loadCashPerformanceByProduct.next(true);\n    this.reportService.getProductPerformanceReport(date.from, date.to).then(value => {\n      this.cashPerformanceByProduct.next(value);\n    }).catch(reason => {\n      this.message(reason ? reason.message : 'Fail to get performance');\n    }).finally(() => {\n      this.loadCashPerformanceByProduct.next(false);\n    });\n  }\n\n  exportCashPerformanceByProduct(): void {\n    const exportedDataColumns = ['product', 'quantity', 'amount', 'margin', 'profit'];\n    json2csv('cash_sales_performance_product.csv', exportedDataColumns,\n      this.cashPerformanceByProduct.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  fetchCashPerformanceBySeller(date: DateRangeModel): void {\n    this.loadCashPerformanceBySeller.next(true);\n    this.reportService.getSellerPerformanceReport(date.from, date.to).then(value => {\n      this.cashPerformanceBySeller.next(value);\n    }).catch(reason => {\n      this.message(reason ? reason.message : 'Fail to get performance');\n    }).finally(() => {\n      this.loadCashPerformanceBySeller.next(false);\n    });\n  }\n\n  exportCashPerformanceBySeller(): void {\n    const exportedDataColumns = ['id', 'amount_refund', 'quantity_refund', 'amount_sales', 'amount', 'quantity'];\n    json2csv('cash_sales_performance_seller.csv', exportedDataColumns,\n      this.cashPerformanceBySeller.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n\n  fetchCashPerformanceByCategory(date: DateRangeModel): void {\n    this.loadCashPerformanceByCategory.next(true);\n    this.reportService.getCategoryPerformanceReport(date.from, date.to).then(value => {\n      this.cashPerformanceByCategory.next(value);\n    }).catch(reason => {\n      this.message(reason ? reason.message : 'Fail to get performance');\n    }).finally(() => {\n      this.loadCashPerformanceByCategory.next(false);\n    });\n  }\n\n  exportCashPerformanceByCategory(): void {\n    const exportedDataColumns = ['id', 'amount_refund', 'quantity_refund', 'amount_sales', 'amount', 'quantity'];\n    json2csv('cash_sales_performance_category.csv', exportedDataColumns,\n      this.cashPerformanceByCategory.value).then(_23 => {\n      this.message('Report exported');\n    }).catch(_ => {\n      this.message('Fails to export reports');\n    });\n  }\n}\n\n\n\n\n\n\n\n\n\n","import {\n  AfterViewInit,\n  Component,\n  Input,\n  OnInit,\n  ViewChild\n} from \"@angular/core\";\nimport * as Highcharts from \"highcharts\";\nimport { DeviceState, toSqlDate } from \"smartstock-core\";\nimport { ReportService } from \"../services/report.service\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { MatSort } from \"@angular/material/sort\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { DatePipe } from \"@angular/common\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { Subject } from \"rxjs\";\nimport { CashSalesOverviewModel } from \"../models/cash-sales-overview.model\";\nimport { ReportState } from \"../states/report.state\";\n\n@Component({\n  selector: \"app-cash-sales-overview-day\",\n  template: `\n    <div class=\"cash-sales-day-container\">\n      <div class=\"graph-container\">\n        <div class=\"\" style=\"min-height: 200px\">\n          <div id=\"salesGrowth\" class=\"w-100\"></div>\n        </div>\n      </div>\n      <div class=\"table-container\">\n        <table mat-table [dataSource]=\"salesData\" matSort>\n          <ng-container matColumnDef=\"date\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Date\n            </th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.id }}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount_retail\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Retail\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount_retail | currency: \" \" }}\n            </td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount_whole\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Whole\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount_whole | currency: \" \" }}\n            </td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Amount\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount | currency: \" \" }}\n            </td>\n          </ng-container>\n          <tr mat-header-row *matHeaderRowDef=\"salesColumns\"></tr>\n          <tr\n            matTooltip=\"{{ row }}\"\n            class=\"table-data-row\"\n            mat-row\n            *matRowDef=\"let row; columns: salesColumns\"\n          ></tr>\n        </table>\n        <mat-paginator\n          [pageSizeOptions]=\"[50, 100]\"\n          showFirstLastButtons\n        ></mat-paginator>\n      </div>\n    </div>\n  `,\n  styleUrls: [\"../styles/index.style.scss\"]\n})\nexport class CashSalesOverviewComponent implements OnInit, AfterViewInit {\n  @Input() sales: CashSalesOverviewModel[] = [];\n  trendChart: Highcharts.Chart = undefined;\n  salesData = new MatTableDataSource<CashSalesOverviewModel>([]);\n  salesColumns = [\"date\", \"amount_retail\", \"amount_whole\", \"amount\"];\n  totalSales = 0;\n  startDate = toSqlDate(new Date(new Date().setDate(new Date().getDate() - 7)));\n  endDate = toSqlDate(new Date());\n  @ViewChild(MatPaginator) paginator: MatPaginator;\n  @ViewChild(MatSort) sort: MatSort;\n  destroyer = new Subject();\n\n  constructor(\n    public readonly reportService: ReportService,\n    public readonly datePipe: DatePipe,\n    public readonly snack: MatSnackBar,\n    public readonly reportState: ReportState,\n    public readonly deviceState: DeviceState\n  ) {}\n\n  ngOnInit(): void {\n    this.initiateGraph(this.sales);\n    this.salesData.data = this.sales;\n  }\n\n  private initiateGraph(data: CashSalesOverviewModel[]): any {\n    const saleDays = [];\n    const saleRetailDays = [];\n    const saleWholeDays = [];\n    const totalSales = [];\n    Object.keys(data).forEach((key) => {\n      saleDays.push(data[key].id);\n      totalSales.push(data[key].amount);\n      saleRetailDays.push(data[key].amount_retail);\n      saleWholeDays.push(data[key].amount_whole);\n    });\n    this.trendChart = Highcharts.chart(\n      \"salesGrowth\",\n      {\n        chart: {\n          type: \"column\"\n        },\n        title: {\n          text: null\n        },\n        xAxis: {\n          // allowDecimals: false,\n          visible: this.deviceState.isSmallScreen.value !== true,\n          categories: saleDays,\n          title: {\n            text: \"Daily\"\n          },\n          labels: {\n            formatter(): string {\n              return this.value.toString();\n            }\n          }\n        },\n        yAxis: {\n          visible: false,\n          title: {\n            text: \"Total Sales\"\n          },\n          // lineColor: '#1b5e20',\n          labels: {\n            formatter(): string {\n              return this.value.toString();\n            }\n          }\n        },\n        tooltip: {\n          valueDecimals: 2,\n          pointFormat:\n            \"{series.name} had stockpiled <b>{point.y:,.0f}</b><br/>warheads in {point.x}\"\n        },\n        plotOptions: {\n          column: {\n            // pointPadding: 0,\n            // borderWidth: 1,\n            // groupPadding: 0,\n            // shadow: false,\n            // stacking: 'overlap'\n          }\n        },\n        series: [\n          {\n            type: \"column\",\n            name: \"Sales\",\n            // color: '#0e3a17',\n            data: totalSales\n          },\n          {\n            type: \"line\",\n            name: \"Retail\",\n            // color: '#4e7218',\n            data: saleRetailDays\n          },\n          {\n            type: \"line\",\n            name: \"Whole\",\n            // color: '#18722f',\n            data: saleWholeDays\n          }\n        ]\n      },\n      (_89) => {\n        // console.log(chart);\n      }\n    );\n  }\n\n  ngAfterViewInit(): void {\n    this.salesData.paginator = this.paginator;\n    this.salesData.sort = this.sort;\n  }\n}\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {UntypedFormControl} from '@angular/forms';\n\n@Component({\n  selector: 'app-date-range',\n  template: `\n    <div class=\"date-range-container\">\n      <button mat-button class=\"load-button\" color=\"primary\" (click)=\"exportReport()\">\n        Export\n      </button>\n      <button mat-button class=\"load-button\" color=\"primary\" (click)=\"applyDateRange()\">\n        Reload\n      </button>\n      <span style=\"flex: 1 1 auto\"></span>\n      <mat-form-field>\n        <mat-label>From date</mat-label>\n        <input [readonly]=\"true\" [matDatepicker]=\"dp\"\n               (click)=\"dp.open()\" matInput [formControl]=\"fromDateFormControl\">\n        <mat-datepicker-toggle matPrefix [for]=\"dp\"></mat-datepicker-toggle>\n        <mat-datepicker [startView]=\"view\" #dp [touchUi]=\"true\"></mat-datepicker>\n      </mat-form-field>\n      <mat-form-field>\n        <mat-label>To date</mat-label>\n        <input [readonly]=\"true\"\n               matInput [matDatepicker]=\"dp2\"\n               (click)=\"dp2.open()\"\n               [formControl]=\"toDateFormControl\">\n        <mat-datepicker-toggle matPrefix [for]=\"dp2\"></mat-datepicker-toggle>\n        <mat-datepicker [startView]=\"view\" #dp2 [touchUi]=\"true\"></mat-datepicker>\n      </mat-form-field>\n    </div>\n  `,\n  styleUrls: ['../styles/date-range.style.scss'],\n})\nexport class DateRangeComponent implements OnInit {\n  @Input() from = new Date(new Date().setDate(new Date().getDate() - 7));\n  @Input() to = new Date();\n  @Output() reload = new EventEmitter<{ from: Date, to: Date }>();\n  @Output() export = new EventEmitter();\n  @Input() view: 'month' | 'year' | 'multi-year' = 'month';\n\n  fromDateFormControl = new UntypedFormControl(new Date(new Date().setDate(new Date().getDate() - 7)));\n  toDateFormControl = new UntypedFormControl(new Date());\n\n  constructor() {\n  }\n\n  ngOnInit(): void {\n    this.fromDateFormControl.setValue(this.from);\n    this.toDateFormControl.setValue(this.to);\n    this.reload.emit({\n      from: this.from,\n      to: this.to\n    });\n  }\n\n  applyDateRange(): void {\n    this.reload.emit({\n      from: new Date(this.fromDateFormControl.value),\n      to: new Date(this.toDateFormControl.value)\n    });\n  }\n\n  exportReport(): void {\n    this.export.emit('export');\n  }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportState } from \"../states/report.state\";\nimport { DateRangeModel } from \"../models/date-range.model\";\n\n@Component({\n  selector: \"app-sales-reports\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Daily Cash Sales Overview'\"\n      [leftDrawer]=\"side\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [body]=\"body\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"month\"\n          (export)=\"exportReport()\"\n          (reload)=\"getSalesOverview($event)\"\n        ></app-date-range>\n        <app-cash-sales-overview-day\n          *ngIf=\"(reportState.loadDayCashSales | async) === false\"\n          [sales]=\"reportState.cashSalesByDay | async\"\n        ></app-cash-sales-overview-day>\n        <app-data-not-ready\n          [height]=\"100\"\n          *ngIf=\"(reportState.loadDayCashSales | async) === true\"\n          [isLoading]=\"(reportState.loadDayCashSales | async) === true\"\n        ></app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/sales.style.scss\"]\n})\nexport class CashSalesOverviewDayPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Overview By Day Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  getSalesOverview(date: DateRangeModel): void {\n    this.reportState.fetchCashSaleByDay(date);\n  }\n\n  exportReport(): void {\n    this.reportState.exportCashSaleByDay();\n  }\n\n  ngOnDestroy(): void {\n    this.reportState.dispose();\n  }\n}\n","import {AfterViewInit, Component, Input, ViewChild} from '@angular/core';\nimport {UntypedFormControl, Validators} from '@angular/forms';\nimport {MatTableDataSource} from '@angular/material/table';\nimport {MatPaginator} from '@angular/material/paginator';\nimport {MatSort} from '@angular/material/sort';\nimport {CashSalesPerformanceProductModel} from '../models/cash-sales-performance-product.model';\n\n@Component({\n  selector: 'app-cash-sales-performance',\n  template: `\n    <div class=\"cash-sales-day-container\">\n      <div class=\"table-container\">\n        <div class=\"btn-block\">\n          <input class=\"table-filter-input\" [formControl]=\"filterFormControl\" placeholder=\"Type here...\">\n        </div>\n        <table mat-table [dataSource]=\"salesPerformanceData\" matSort>\n          <ng-container matColumnDef=\"id\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Id</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.id}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"quantity\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Quantity</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.quantity | number}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount_sales\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Sales</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.amount_sales | currency: ' '}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount_refund\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Refund</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.amount_refund | currency: ' '}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Total</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.amount | currency: ' '}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"sales\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Sales</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.amount | currency: ' '}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"purchase\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Cost</th>\n            <td mat-cell\n                *matCellDef=\"let element\">{{element.purchase | currency: ' '}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"profit\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Profit</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.profit | currency: ' '}}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"margin\">\n            <th class=\"column-head\" mat-header-cell *matHeaderCellDef mat-sort-header>Margin</th>\n            <td mat-cell *matCellDef=\"let element\">{{element.margin | number}}%</td>\n          </ng-container>\n          <tr mat-header-row *matHeaderRowDef=\"columns\"></tr>\n          <tr class=\"table-data-row\" mat-row *matRowDef=\"let row; columns: columns;\"></tr>\n        </table>\n        <mat-paginator [pageSizeOptions]=\"[50, 100]\" showFirstLastButtons></mat-paginator>\n      </div>\n    </div>\n  `,\n  styleUrls: ['../styles/sales-by-category.style.scss', '../styles/index.style.scss'],\n})\nexport class CashSalesPerformanceComponent implements AfterViewInit {\n  salesPerformanceData = new MatTableDataSource<CashSalesPerformanceProductModel>([]);\n  @Input() columns = [];\n  filterFormControl = new UntypedFormControl('', [Validators.nullValidator]);\n  @Input() data: any[];\n\n  @ViewChild(MatPaginator) paginator: MatPaginator;\n  @ViewChild(MatSort) sort: MatSort;\n\n  constructor() {\n  }\n\n  capitalizeFirstLetter(data): any {\n    return data[0].toUpperCase() + data.slice(1);\n  }\n\n  ngAfterViewInit(): void {\n    setTimeout(() => {\n      this.salesPerformanceData.data = this.data;\n      this.salesPerformanceData.paginator = this.paginator;\n      this.salesPerformanceData.sort = this.sort;\n    }, 10);\n  }\n\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState, UserService } from \"smartstock-core\";\nimport { DateRangeModel } from \"../models/date-range.model\";\nimport { ReportState } from \"../states/report.state\";\nimport { functions } from \"bfast\";\nimport { SocketController } from \"bfast/dist/lib/controllers/socket.controller\";\n\n@Component({\n  selector: \"app-cash-sales-track-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Cash Sales Tracking'\"\n      [leftDrawer]=\"side\"\n      [body]=\"body\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n      [showProgress]=\"false\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          (export)=\"export()\"\n          view=\"month\"\n          (reload)=\"reload($event)\"\n          [from]=\"startDate\"\n          [to]=\"startDate\"\n        ></app-date-range>\n        <app-cash-sale-tracking\n          [data]=\"reportState.cashSalesTracking | async\"\n          *ngIf=\"(reportState.loadCashSalesTracking | async) === false\"\n          (reload)=\"reload($event)\"\n        ></app-cash-sale-tracking>\n        <app-data-not-ready\n          *ngIf=\"(reportState.loadCashSalesTracking | async) === true\"\n          [isLoading]=\"(reportState.loadCashSalesTracking | async) === true\"\n        >\n        </app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/cart.component.scss\"]\n})\nexport class CashSalesTrackPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n  startDate = new Date();\n  private changes: SocketController;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    private readonly userService: UserService,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Tracking Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {\n    const shop = await this.userService.getCurrentShop();\n    this.changes = functions(shop.projectId).event(\n      \"/daas-changes\",\n      () => {\n        console.log(\"connected on sales track changes\");\n        this.changes.emit({\n          auth: {\n            masterKey: shop.masterKey\n          },\n          body: {\n            projectId: shop.projectId,\n            applicationId: shop.applicationId,\n            pipeline: [],\n            domain: \"sales\"\n          }\n        });\n      },\n      () => console.log(\"disconnected on sales changes\")\n    );\n    this.changes.listener(async (response) => {\n      // console.log(response);\n      if (response && response.body && response.body.change) {\n        this.reload({\n          from: new Date(),\n          to: new Date()\n        });\n      }\n    });\n  }\n\n  reload(date: DateRangeModel): void {\n    this.reportState.fetchCashSalesTrack(date);\n  }\n\n  export(): void {\n    this.reportState.exportCashSalesTrack();\n  }\n\n  ngOnDestroy(): void {\n    if (this.changes && this.changes.close) {\n      this.changes.close();\n    }\n  }\n}\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { DateRangeModel } from \"../models/date-range.model\";\nimport { ReportState } from \"../states/report.state\";\n\n@Component({\n  selector: \"app-cash-sales-performance-product-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Cash Sales Products Performance'\"\n      [sidenav]=\"sidenav\"\n      [body]=\"body\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [leftDrawer]=\"side\"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [showProgress]=\"false\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"month\"\n          (reload)=\"reload($event)\"\n          (export)=\"export()\"\n        ></app-date-range>\n        <app-cash-sales-performance\n          [columns]=\"pColumns\"\n          *ngIf=\"(reportState.loadCashPerformanceByProduct | async) === false\"\n          [data]=\"reportState.cashPerformanceByProduct | async\"\n        >\n        </app-cash-sales-performance>\n        <app-data-not-ready\n          *ngIf=\"(reportState.loadCashPerformanceByProduct | async) === true\"\n          [isLoading]=\"\n            (reportState.loadCashPerformanceByProduct | async) === true\n          \"\n        >\n        </app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/cart.component.scss\"]\n})\nexport class CashSalesPerformanceProductPage implements OnInit {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n  pColumns = [\"id\", \"quantity\", \"sales\", \"purchase\", \"profit\", \"margin\"];\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Product Performance Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  reload(date: DateRangeModel): void {\n    this.reportState.fetchCashPerformanceByProduct(date);\n  }\n\n  export(): void {\n    this.reportState.exportCashPerformanceByProduct();\n  }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportState } from \"../states/report.state\";\nimport { DateRangeModel } from \"../models/date-range.model\";\n\n@Component({\n  selector: \"app-cash-sales-overview-month-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Monthly Cash Sales Overview'\"\n      [leftDrawer]=\"side\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [body]=\"body\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"year\"\n          (export)=\"exportReport()\"\n          (reload)=\"getSalesOverview($event)\"\n        ></app-date-range>\n        <app-cash-sales-overview-day\n          *ngIf=\"(reportState.loadMonthCashSales | async) === false\"\n          [sales]=\"reportState.cashSalesByMonth | async\"\n        ></app-cash-sales-overview-day>\n        <app-data-not-ready\n          [height]=\"100\"\n          *ngIf=\"(reportState.loadMonthCashSales | async) === true\"\n          [isLoading]=\"(reportState.loadMonthCashSales | async) === true\"\n        ></app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/sales.style.scss\"]\n})\nexport class CashSalesOverviewMonthPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Overview By Month Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  getSalesOverview(date: DateRangeModel): void {\n    this.reportState.fetchCashSaleByMonth(date);\n  }\n\n  exportReport(): void {\n    this.reportState.exportCashSaleByMonth();\n  }\n\n  ngOnDestroy(): void {\n    this.reportState.dispose();\n  }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportState } from \"../states/report.state\";\nimport { DateRangeModel } from \"../models/date-range.model\";\n\n@Component({\n  selector: \"app-cash-sales-overview-year-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Years Cash Sales Overview'\"\n      [leftDrawer]=\"side\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [body]=\"body\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"multi-year\"\n          (export)=\"exportReport()\"\n          (reload)=\"getSalesOverview($event)\"\n        ></app-date-range>\n        <app-cash-sales-overview-day\n          *ngIf=\"(reportState.loadYearCashSales | async) === false\"\n          [sales]=\"reportState.cashSalesByYear | async\"\n        ></app-cash-sales-overview-day>\n        <app-data-not-ready\n          [height]=\"100\"\n          *ngIf=\"(reportState.loadYearCashSales | async) === true\"\n          [isLoading]=\"(reportState.loadYearCashSales | async) === true\"\n        ></app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/sales.style.scss\"]\n})\nexport class CashSalesOverviewYearPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Overview By Year Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  getSalesOverview(date: DateRangeModel): void {\n    this.reportState.fetchCashSaleByYear(date);\n  }\n\n  exportReport(): void {\n    this.reportState.exportCashSaleByYear();\n  }\n\n  ngOnDestroy(): void {\n    this.reportState.dispose();\n  }\n}\n","import {\n  AfterViewInit,\n  Component,\n  Input,\n  OnInit,\n  ViewChild\n} from \"@angular/core\";\nimport * as Highcharts from \"highcharts\";\nimport { DeviceState, toSqlDate } from \"smartstock-core\";\nimport { ReportService } from \"../services/report.service\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { MatSort } from \"@angular/material/sort\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { DatePipe } from \"@angular/common\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { Subject } from \"rxjs\";\nimport { CashSalesOverviewModel } from \"../models/cash-sales-overview.model\";\nimport { ReportState } from \"../states/report.state\";\n\n@Component({\n  selector: \"app-invoice-sales-overview\",\n  template: `\n    <div class=\"cash-sales-day-container\">\n      <div class=\"graph-container\">\n        <div class=\"\" style=\"min-height: 200px\">\n          <div id=\"salesGrowth\" class=\"w-100\"></div>\n        </div>\n      </div>\n      <div class=\"table-container\">\n        <table mat-table [dataSource]=\"salesData\" matSort>\n          <ng-container matColumnDef=\"date\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Date\n            </th>\n            <td mat-cell *matCellDef=\"let element\">{{ element.id }}</td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount_retail\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              In Shop\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount_credit | currency: \" \" }}\n            </td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount_whole\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Online\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount_online | currency: \" \" }}\n            </td>\n          </ng-container>\n          <ng-container matColumnDef=\"amount\">\n            <th\n              class=\"column-head\"\n              mat-header-cell\n              *matHeaderCellDef\n              mat-sort-header\n            >\n              Total\n            </th>\n            <td mat-cell *matCellDef=\"let element\">\n              {{ element.amount | currency: \" \" }}\n            </td>\n          </ng-container>\n          <tr mat-header-row *matHeaderRowDef=\"salesColumns\"></tr>\n          <tr\n            matTooltip=\"{{ row }}\"\n            class=\"table-data-row\"\n            mat-row\n            *matRowDef=\"let row; columns: salesColumns\"\n          ></tr>\n        </table>\n        <mat-paginator\n          [pageSizeOptions]=\"[50, 100]\"\n          showFirstLastButtons\n        ></mat-paginator>\n      </div>\n    </div>\n  `,\n  styleUrls: [\"../styles/index.style.scss\"]\n})\nexport class InvoiceSalesOverviewComponent implements OnInit, AfterViewInit {\n  @Input() sales: CashSalesOverviewModel[] = [];\n  trendChart: Highcharts.Chart = undefined;\n  salesData = new MatTableDataSource<CashSalesOverviewModel>([]);\n  salesColumns = [\"date\", \"amount_retail\", \"amount_whole\", \"amount\"];\n  totalSales = 0;\n  startDate = toSqlDate(new Date(new Date().setDate(new Date().getDate() - 7)));\n  endDate = toSqlDate(new Date());\n  @ViewChild(MatPaginator) paginator: MatPaginator;\n  @ViewChild(MatSort) sort: MatSort;\n  destroyer = new Subject();\n\n  constructor(\n    public readonly reportService: ReportService,\n    public readonly datePipe: DatePipe,\n    public readonly snack: MatSnackBar,\n    public readonly reportState: ReportState,\n    public readonly deviceState: DeviceState\n  ) {}\n\n  ngOnInit(): void {\n    this.initiateGraph(this.sales);\n    this.salesData.data = this.sales;\n  }\n\n  private initiateGraph(data: CashSalesOverviewModel[]): any {\n    const saleDays = [];\n    const saleCreditDays = [];\n    const saleOnlineDays = [];\n    const totalSales = [];\n    Object.keys(data).forEach((key) => {\n      saleDays.push(data[key].id);\n      totalSales.push(data[key].amount);\n      saleCreditDays.push(data[key].amount_credit);\n      saleOnlineDays.push(data[key].amount_online);\n    });\n    this.trendChart = Highcharts.chart(\n      \"salesGrowth\",\n      {\n        chart: {\n          type: \"column\"\n        },\n        title: {\n          text: null\n        },\n        xAxis: {\n          // allowDecimals: false,\n          visible: this.deviceState.isSmallScreen.value !== true,\n          categories: saleDays,\n          title: {\n            text: \"Daily\"\n          },\n          labels: {\n            formatter(): string {\n              return this.value.toString();\n            }\n          }\n        },\n        yAxis: {\n          visible: false,\n          title: {\n            text: \"Total\"\n          },\n          // lineColor: '#1b5e20',\n          labels: {\n            formatter(): string {\n              return this.value.toString();\n            }\n          }\n        },\n        tooltip: {\n          valueDecimals: 2,\n          pointFormat:\n            \"{series.name} had stockpiled <b>{point.y:,.0f}</b><br/>warheads in {point.x}\"\n        },\n        plotOptions: {\n          column: {\n            // pointPadding: 0,\n            // borderWidth: 1,\n            // groupPadding: 0,\n            // shadow: false,\n            // stacking: 'overlap'\n          }\n        },\n        series: [\n          {\n            type: \"column\",\n            name: \"total\",\n            // color: '#0e3a17',\n            data: totalSales\n          },\n          {\n            type: \"line\",\n            name: \"in-shop\",\n            // color: '#4e7218',\n            data: saleCreditDays\n          },\n          {\n            type: \"line\",\n            name: \"online\",\n            // color: '#18722f',\n            data: saleOnlineDays\n          }\n        ]\n      },\n      (_89) => {\n        // console.log(chart);\n      }\n    );\n  }\n\n  ngAfterViewInit(): void {\n    this.salesData.paginator = this.paginator;\n    this.salesData.sort = this.sort;\n  }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportState } from \"../states/report.state\";\nimport { DateRangeModel } from \"../models/date-range.model\";\n\n@Component({\n  selector: \"app-invoice-sales-day-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Daily Invoice Sales Overview'\"\n      [leftDrawer]=\"side\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [body]=\"body\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"month\"\n          (export)=\"exportReport()\"\n          (reload)=\"getSalesOverview($event)\"\n        ></app-date-range>\n        <app-invoice-sales-overview\n          *ngIf=\"(reportState.loadDayInvoiceSales | async) === false\"\n          [sales]=\"reportState.invoiceSalesByDay | async\"\n        ></app-invoice-sales-overview>\n        <app-data-not-ready\n          [height]=\"100\"\n          *ngIf=\"(reportState.loadDayInvoiceSales | async) === true\"\n          [isLoading]=\"(reportState.loadDayInvoiceSales | async) === true\"\n        ></app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/sales.style.scss\"]\n})\nexport class InvoiceSalesOverviewDayPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Invoice Sales Overview By Day Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  getSalesOverview(date: DateRangeModel): void {\n    this.reportState.fetchInvoiceSaleByDay(date);\n  }\n\n  exportReport(): void {\n    this.reportState.exportInvoiceSaleByDay();\n  }\n\n  ngOnDestroy(): void {\n    this.reportState.dispose();\n  }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportState } from \"../states/report.state\";\nimport { DateRangeModel } from \"../models/date-range.model\";\n\n@Component({\n  selector: \"app-invoice-sales-month-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Months Invoice Sales Overview'\"\n      [leftDrawer]=\"side\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [body]=\"body\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"year\"\n          (export)=\"exportReport()\"\n          (reload)=\"getSalesOverview($event)\"\n        ></app-date-range>\n        <app-invoice-sales-overview\n          *ngIf=\"(reportState.loadMonthInvoiceSales | async) === false\"\n          [sales]=\"reportState.invoiceSalesByMonth | async\"\n        ></app-invoice-sales-overview>\n        <app-data-not-ready\n          [height]=\"100\"\n          *ngIf=\"(reportState.loadMonthInvoiceSales | async) === true\"\n          [isLoading]=\"(reportState.loadMonthInvoiceSales | async) === true\"\n        ></app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/sales.style.scss\"]\n})\nexport class InvoiceSalesOverviewMonthPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Invoice Sales Overview By Month Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  getSalesOverview(date: DateRangeModel): void {\n    this.reportState.fetchInvoiceSaleByMonth(date);\n  }\n\n  exportReport(): void {\n    this.reportState.exportInvoiceSaleByMonth();\n  }\n\n  ngOnDestroy(): void {\n    this.reportState.dispose();\n  }\n}\n","import { Component, OnDestroy, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { ReportState } from \"../states/report.state\";\nimport { DateRangeModel } from \"../models/date-range.model\";\n\n@Component({\n  selector: \"app-invoice-sales-year-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Years Invoice Sales Overview'\"\n      [leftDrawer]=\"side\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [body]=\"body\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"multi-year\"\n          (export)=\"exportReport()\"\n          (reload)=\"getSalesOverview($event)\"\n        ></app-date-range>\n        <app-invoice-sales-overview\n          *ngIf=\"(reportState.loadYearInvoiceSales | async) === false\"\n          [sales]=\"reportState.invoiceSalesByYear | async\"\n        ></app-invoice-sales-overview>\n        <app-data-not-ready\n          [height]=\"100\"\n          *ngIf=\"(reportState.loadYearInvoiceSales | async) === true\"\n          [isLoading]=\"(reportState.loadYearInvoiceSales | async) === true\"\n        ></app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/sales.style.scss\"]\n})\nexport class InvoiceSalesOverviewYearPage implements OnInit, OnDestroy {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Invoice Sales Overview By Year Reports\";\n  }\n\n  async ngOnInit(): Promise<void> {}\n\n  getSalesOverview(date: DateRangeModel): void {\n    this.reportState.fetchInvoiceSaleByYear(date);\n  }\n\n  exportReport(): void {\n    this.reportState.exportInvoiceSaleByYear();\n  }\n\n  ngOnDestroy(): void {\n    this.reportState.dispose();\n  }\n}\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { DateRangeModel } from \"../models/date-range.model\";\nimport { ReportState } from \"../states/report.state\";\n\n@Component({\n  selector: \"app-cash-sales-performance-seller-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Cash Sales Seller Performance'\"\n      [sidenav]=\"sidenav\"\n      [body]=\"body\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [leftDrawer]=\"side\"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [showProgress]=\"false\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"month\"\n          (reload)=\"reload($event)\"\n          (export)=\"export()\"\n        ></app-date-range>\n        <app-cash-sales-performance\n          [columns]=\"sColumns\"\n          *ngIf=\"(reportState.loadCashPerformanceBySeller | async) === false\"\n          [data]=\"reportState.cashPerformanceBySeller | async\"\n        >\n        </app-cash-sales-performance>\n        <app-data-not-ready\n          *ngIf=\"(reportState.loadCashPerformanceBySeller | async) === true\"\n          [isLoading]=\"\n            (reportState.loadCashPerformanceBySeller | async) === true\n          \"\n        >\n        </app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/cart.component.scss\"]\n})\nexport class CashSalesPerformanceSellerPage {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n  sColumns = [\"id\", \"quantity\", \"amount_sales\", \"amount_refund\", \"amount\"];\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Seller Performance Reports\";\n  }\n\n  reload(date: DateRangeModel): void {\n    this.reportState.fetchCashPerformanceBySeller(date);\n  }\n\n  export(): void {\n    this.reportState.exportCashPerformanceBySeller();\n  }\n}\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSidenav } from \"@angular/material/sidenav\";\nimport { DeviceState } from \"smartstock-core\";\nimport { DateRangeModel } from \"../models/date-range.model\";\nimport { ReportState } from \"../states/report.state\";\n\n@Component({\n  selector: \"app-cash-sales-performance-category-page\",\n  template: `\n    <app-layout-sidenav\n      [heading]=\"'Cash Sales Category Performance'\"\n      [sidenav]=\"sidenav\"\n      [body]=\"body\"\n      backLink=\"/report\"\n      [hasBackRoute]=\"true\"\n      [leftDrawer]=\"side\"\n      [leftDrawerOpened]=\"(deviceState.enoughWidth | async) === true\"\n      [leftDrawerMode]=\"\n        (deviceState.enoughWidth | async) === true ? 'side' : 'over'\n      \"\n      [showProgress]=\"false\"\n    >\n      <ng-template #side>\n        <app-drawer></app-drawer>\n      </ng-template>\n      <ng-template #body>\n        <app-date-range\n          view=\"month\"\n          (reload)=\"reload($event)\"\n          (export)=\"export()\"\n        ></app-date-range>\n        <app-cash-sales-performance\n          [columns]=\"cColumns\"\n          *ngIf=\"(reportState.loadCashPerformanceByCategory | async) === false\"\n          [data]=\"reportState.cashPerformanceByCategory | async\"\n        >\n        </app-cash-sales-performance>\n        <app-data-not-ready\n          *ngIf=\"(reportState.loadCashPerformanceByCategory | async) === true\"\n          [isLoading]=\"\n            (reportState.loadCashPerformanceByCategory | async) === true\n          \"\n        >\n        </app-data-not-ready>\n      </ng-template>\n    </app-layout-sidenav>\n  `,\n  styleUrls: [\"../styles/cart.component.scss\"]\n})\nexport class CashSalesPerformanceCategoryPage {\n  @ViewChild(\"sidenav\") sidenav: MatSidenav;\n  cColumns = [\"id\", \"quantity\", \"amount_sales\", \"amount_refund\", \"amount\"];\n\n  constructor(\n    public readonly deviceState: DeviceState,\n    public readonly reportState: ReportState\n  ) {\n    document.title = \"SmartStock - Cash Sales Category Performance Reports\";\n  }\n\n  reload(date: DateRangeModel): void {\n    this.reportState.fetchCashPerformanceByCategory(date);\n  }\n\n  export(): void {\n    this.reportState.exportCashPerformanceByCategory();\n  }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { MatSidenavModule } from \"@angular/material/sidenav\";\nimport { MatCardModule } from \"@angular/material/card\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\nimport { MatSortModule } from \"@angular/material/sort\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { MatNativeDateModule, MatRippleModule } from \"@angular/material/core\";\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { MatDividerModule } from \"@angular/material/divider\";\nimport { MatMenuModule } from \"@angular/material/menu\";\nimport { CashSalesTrackingComponent } from \"./components/cash-sales-tracking.component\";\nimport { RouterModule, ROUTES, Routes } from \"@angular/router\";\nimport { LibModule } from \"smartstock-core\";\nimport { ProductPerformanceComponent } from \"./components/product-performance.component\";\nimport { IndexPage } from \"./pages/index.page\";\nimport { CashSalesOverviewDayPage } from \"./pages/cash-sales-overview-day.page\";\nimport { CashSalesOverviewComponent } from \"./components/cash-sales-overview.component\";\nimport { CashSalesPerformanceComponent } from \"./components/cash-sales-performance.component\";\nimport { CartDetailsComponent } from \"./components/cart-details.component\";\nimport { MatBottomSheetModule } from \"@angular/material/bottom-sheet\";\nimport { MatListModule } from \"@angular/material/list\";\nimport { CashSalesTrackPage } from \"./pages/cash-sales-track.page\";\nimport { CashSalesPerformanceProductPage } from \"./pages/cash-sales-performance-product.page\";\nimport { MatMomentDateModule } from \"@angular/material-moment-adapter\";\nimport { DateRangeComponent } from \"./components/date-range.component\";\nimport { MatDialogModule } from \"@angular/material/dialog\";\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\nimport { ReportNavigationService } from \"./services/report-navigation.service\";\nimport { CashSalesOverviewMonthPage } from \"./pages/cash-sales-overview-month.page\";\nimport { CashSalesOverviewYearPage } from \"./pages/cash-sales-overview-year.page\";\nimport { InvoiceSalesOverviewComponent } from \"./components/invoice-sales-overview.component\";\nimport { InvoiceSalesOverviewDayPage } from \"./pages/invoice-sales-overview-day.page\";\nimport { InvoiceSalesOverviewMonthPage } from \"./pages/invoice-sales-overview-month.page\";\nimport { InvoiceSalesOverviewYearPage } from \"./pages/invoice-sales-overview-year.page\";\nimport { CashSalesPerformanceSellerPage } from \"./pages/cash-sales-performance-seller.page\";\nimport { CashSalesPerformanceCategoryPage } from \"./pages/cash-sales-performance-category.page\";\n\nconst routes: Routes = [\n  { path: \"\", component: IndexPage },\n  { path: \"sales/overview/cash/day\", component: CashSalesOverviewDayPage },\n  { path: \"sales/overview/cash/month\", component: CashSalesOverviewMonthPage },\n  { path: \"sales/overview/cash/year\", component: CashSalesOverviewYearPage },\n  {\n    path: \"sales/overview/invoice/day\",\n    component: InvoiceSalesOverviewDayPage\n  },\n  {\n    path: \"sales/overview/invoice/month\",\n    component: InvoiceSalesOverviewMonthPage\n  },\n  {\n    path: \"sales/overview/invoice/year\",\n    component: InvoiceSalesOverviewYearPage\n  },\n  { path: \"sales/track/cash\", component: CashSalesTrackPage },\n  {\n    path: \"sales/performance/product\",\n    component: CashSalesPerformanceProductPage\n  },\n  {\n    path: \"sales/performance/seller\",\n    component: CashSalesPerformanceSellerPage\n  },\n  {\n    path: \"sales/performance/category\",\n    component: CashSalesPerformanceCategoryPage\n  }\n];\n\n@NgModule({\n  declarations: [\n    CashSalesTrackingComponent,\n    CashSalesPerformanceSellerPage,\n    CashSalesOverviewMonthPage,\n    CashSalesPerformanceCategoryPage,\n    CashSalesOverviewComponent,\n    ProductPerformanceComponent,\n    IndexPage,\n    CashSalesOverviewDayPage,\n    CashSalesPerformanceComponent,\n    CartDetailsComponent,\n    CashSalesPerformanceProductPage,\n    DateRangeComponent,\n    CashSalesOverviewYearPage,\n    InvoiceSalesOverviewComponent,\n    InvoiceSalesOverviewDayPage,\n    InvoiceSalesOverviewMonthPage,\n    InvoiceSalesOverviewYearPage,\n    CashSalesTrackPage\n  ],\n  exports: [],\n  imports: [\n    CommonModule,\n    {\n      ngModule: RouterModule,\n      providers: [\n        {\n          multi: true,\n          provide: ROUTES,\n          useValue: routes\n        }\n      ]\n    },\n    MatSidenavModule,\n    MatCardModule,\n    MatFormFieldModule,\n    MatDatepickerModule,\n    ReactiveFormsModule,\n    MatTableModule,\n    MatPaginatorModule,\n    MatSortModule,\n    MatIconModule,\n    MatButtonModule,\n    MatProgressSpinnerModule,\n    MatNativeDateModule,\n    MatTooltipModule,\n    MatSelectModule,\n    MatDividerModule,\n    MatInputModule,\n    MatMenuModule,\n    MatRippleModule,\n    LibModule,\n    MatBottomSheetModule,\n    MatListModule,\n    MatMomentDateModule,\n    MatDialogModule,\n    MatAutocompleteModule\n  ]\n})\nexport class ReportsModule {\n  constructor(private readonly reportNav: ReportNavigationService) {\n    this.reportNav.init();\n    reportNav.selected();\n  }\n}\n","/*\n * Public API Surface of reports\n */\n\n\nexport * from './reports.module';\nexport * from './services/report-navigation.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_c0","i2","i1","i2.ReportService","i3.ReportNavigationService","i1.ReportService","i3","i4.ReportState","i5","i2.ReportState","i1.ReportNavigationService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqDY,EAAsC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAO,CAAA,MAAA,CAAA,CAAA,EAAA,SAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QAClD,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAqB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAA1B,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArB,QAAA,EAAqB,CAAA,iBAAA,CAAA,WAAA,CAAA,OAAA,CAAA,CAAA;;;;;QAI5D,EAAsC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAQ,CAAA,MAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACnD,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAsB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAA3B,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtB,QAAA,EAAsB,CAAA,iBAAA,CAAA,WAAA,CAAA,QAAA,CAAA,CAAA;;;;;QAI7D,EAAsC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QAChD,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EAKF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;AALH,QAAA,EAKF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QALE,EAKF,CAAA,kBAAA,CAAA,GAAA,EAAA,MAAA,CAAA,IAAA,CAAA,OAAA,KAAA,QAAA,GAAA,WAAA,CAAA,WAAA,GAAA,WAAA,CAAA,cAAA,EAAA,GAAA,CAAA,CAAA;;;;;QAIA,EAAsC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACjD,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAoB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAzB,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApB,QAAA,EAAoB,CAAA,iBAAA,CAAA,WAAA,CAAA,MAAA,CAAA,CAAA;;;;;QAG7D,EAA2D,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAC3D,EAKM,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;QAJJ,EAA8B,CAAA,qBAAA,CAAA,YAAA,EAAA,OAAA,CAAA,OAAA,CAAA,CAAA;;;;;;QAMlC,EAIiB,CAAA,SAAA,CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,CAAA;;;AAFf,QAAA,EAAoC,CAAA,UAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,CAAA,CAAA,CAAA;;;MAkBjC,oBAAoB,CAAA;AAM/B,IAAA,WAAA,CACU,mBAA4D,EACnD,SAAoB,EACrB,YAA0B,EACJ,IAAI,EAAA;AAHlC,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAyC;AACnD,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AACrB,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AACJ,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAA;AAN5C,QAAA,IAAe,CAAA,eAAA,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;KAOzD;IAEJ,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KAChC;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;KACpC;AAED,IAAA,oBAAoB,CAAC,IAAS,EAAA;AAC5B,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;AACnC,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,QAAA,IAAI,WAAW,GAAG,CAAA;AACT,WAAA,EAAA,IAAI,CAAC,QAAQ,CAAA;AACjB,OAAA,EAAA,IAAI,CAAC,MAAM,CAAA;AACZ,MAAA,EAAA,IAAI,CAAC,IAAI,CAAA;;KAEZ,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAC5B,YAAA,WAAW,IAAI,CAAA;AACZ,OAAA,EAAA,CAAC,CAAC,OAAO,CAAA;AACT,OAAA,EAAA,CAAC,CAAC,MAAM,CAAU,OAAA,EAAA,CAAC,CAAC,QAAQ,CAAA;;SAE5B,CAAC;AACN,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,YAAY;AACd,aAAA,KAAK,CAAC;AACL,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,IAAI,EAAE,WAAW;SAClB,CAAC;AACD,aAAA,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAClB,aAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACtB;;AAhDU,oBAAA,CAAA,IAAA,GAAA,SAAA,4BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,KAAA,CAAA,IAAA,oBAAoB,gJAUrB,qBAAqB,CAAA,CAAA,CAAA,EAAA,CAAA;uEAVpB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,kBAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,0BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;2BACpB,YAAY,EAAA,CAAA,CAAA,CAAA;2BACZ,OAAO,EAAA,CAAA,CAAA,CAAA;;;;;;;;;AA9FhB,YAAA,EAA2B,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,aAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAGS,YAAA,EAAa,CAAA,MAAA,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA;YAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AACtD,YAAA,EAAG,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA;AAAA,YAAA,EAAY,CAAA,MAAA,CAAA,CAAA,EAAA,cAAA,CAAA,CAAA;AAAA,YAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;AAErB,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAA8B,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACX,YAAA,EAAuB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;YAAA,EAAK,CAAA,YAAA,EAAA,CAAA;YAC7C,EAAgB,CAAA,cAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAAA,YAAA,EAAiB,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;YAAA,EAAI,CAAA,YAAA,EAAA,CAAA;AACrC,YAAA,EAAG,CAAA,cAAA,CAAA,EAAA,EAAA,GAAA,CAAA,CAAA;AAAA,YAAA,EAAsB,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,YAAA,EAAA,CAAA,YAAA,EAAI,EAAA,EAAA,CAAA;YAGjC,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAuD,WAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAEnC,YAAA,EAAW,CAAA,MAAA,CAAA,EAAA,EAAA,aAAA,CAAA,CAAA;YAAA,EAAI,CAAA,YAAA,EAAA,CAAA;AAC/B,YAAA,EAAG,CAAA,cAAA,CAAA,EAAA,EAAA,GAAA,CAAA,CAAA;AAAA,YAAA,EAAa,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;AAAA,YAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;AAEtB,YAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAK,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AACa,YAAA,EAAM,CAAA,MAAA,CAAA,EAAA,EAAA,QAAA,CAAA,CAAA;YAAA,EAAI,CAAA,YAAA,EAAA,CAAA;AAC1B,YAAA,EAAG,CAAA,cAAA,CAAA,EAAA,EAAA,GAAA,CAAA,CAAA;AAAA,YAAA,EAA6B,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,YAAA,EAAA,CAAA,YAAA,EAAI,EAAA,EAAA,CAAA;AAIxC,YAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAoE,CAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;YAMhE,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,sDAAA,KAAA,OAAS,kCAA0B,CAAC,EAAA,CAAA,CAAA;AAEpC,YAAA,EACF,CAAA,MAAA,CAAA,EAAA,EAAA,0BAAA,CAAA,CAAA;AAAA,YAAA,EAAA,CAAA,YAAA,EAAS,EAAA,CAAA;YAEX,EAAmB,CAAA,SAAA,CAAA,EAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAEnB,YAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAkB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAEd,YAAA,EAAqC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACnC,YAAA,EAAkD,CAAA,UAAA,CAAA,EAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAClD,YAAA,EAAiE,CAAA,UAAA,CAAA,EAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;YACnE,EAAe,CAAA,qBAAA,EAAA,CAAA;AAEf,YAAA,EAAsC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACpC,YAAA,EAAmD,CAAA,UAAA,CAAA,EAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACnD,YAAA,EAAkE,CAAA,UAAA,CAAA,EAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;YACpE,EAAe,CAAA,qBAAA,EAAA,CAAA;AAEf,YAAA,EAAmC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACjC,YAAA,EAAgD,CAAA,UAAA,CAAA,EAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAChD,YAAA,EAMK,CAAA,UAAA,CAAA,EAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;YACP,EAAe,CAAA,qBAAA,EAAA,CAAA;AAEf,YAAA,EAAoC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAClC,YAAA,EAAiD,CAAA,UAAA,CAAA,EAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACjD,YAAA,EAAgE,CAAA,UAAA,CAAA,EAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;YAClE,EAAe,CAAA,qBAAA,EAAA,CAAA;AAEf,YAAA,EAA2D,CAAA,UAAA,CAAA,EAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAC3D,YAAA,EAKM,CAAA,UAAA,CAAA,EAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;YACR,EAAQ,CAAA,YAAA,EAAA,CAAA;AACR,YAAA,EAIiB,CAAA,UAAA,CAAA,EAAA,EAAA,8CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,CAAA;AACjB,YAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAoE,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACnC,YAAA,EAAK,CAAA,MAAA,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA;YAAA,EAAK,CAAA,YAAA,EAAA,CAAA;YACzC,EAGC,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,YAAA,EACF,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;;AAAA,YAAA,EAAA,CAAA,YAAA,EAAK,EAAA,EAAA,CAAA;YAGT,EAA8C,CAAA,cAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;AAAA,YAAA,EAAgB,CAAA,MAAA,CAAA,EAAA,EAAA,kBAAA,CAAA,CAAA;AAAA,YAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;;;AAhF7C,YAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAvB,EAAuB,CAAA,iBAAA,CAAA,GAAA,CAAA,IAAA,CAAA,YAAA,CAAA,CAAA;AACxB,YAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAjB,EAAiB,CAAA,iBAAA,CAAA,GAAA,CAAA,IAAA,CAAA,MAAA,CAAA,CAAA;AAC9B,YAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtB,YAAA,EAAsB,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAMtB,YAAA,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAb,EAAa,CAAA,iBAAA,CAAA,GAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AAIb,YAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,YAAA,EAA6B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,GAAA,CAAA,IAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAkBjB,YAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAvB,EAAuB,CAAA,UAAA,CAAA,YAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;AA2BlB,YAAA,EAAgC,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA;YAAhC,EAAgC,CAAA,UAAA,CAAA,iBAAA,EAAA,GAAA,CAAA,eAAA,CAAA,CAAA;AAK7B,YAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAxB,EAAwB,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,eAAA,CAAA,CAAA;AAI9C,YAAA,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA9B,YAAA,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,QAAA,CAAA,IAAA,CAAA,MAAA,GAAA,CAAA,CAAA,CAAA;AAU7B,YAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,GAAA,CAAA,IAAA,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,KAAA,CAAA,CAAA;;;;4EAQG,oBAAoB,EAAA,CAAA;kBA/FhC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0FT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,4NAAA,CAAA,EAAA,CAAA;;;8BAaE,MAAM;+BAAC,qBAAqB,CAAA;;SATN,SAAS,EAAA,CAAA;sBAAjC,SAAS;uBAAC,YAAY,CAAA;gBACH,IAAI,EAAA,CAAA;sBAAvB,SAAS;uBAAC,OAAO,CAAA;;;;;;QC9ER,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAqB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAA1B,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArB,QAAA,EAAqB,CAAA,iBAAA,CAAA,WAAA,CAAA,OAAA,CAAA,CAAA;;;;;QAC5D,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAG3C,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QACA,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAQ3C,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAsB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAA3B,QAAA,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAtB,QAAA,EAAsB,CAAA,iBAAA,CAAA,WAAA,CAAA,QAAA,CAAA,CAAA;;;;;QAC7D,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAG3C,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAoB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAzB,QAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApB,QAAA,EAAoB,CAAA,iBAAA,CAAA,WAAA,CAAA,MAAA,CAAA,CAAA;;;;;QAC3D,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAG3C,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,IAAA,EAAA,kBAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QACA,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAE7C,EAOM,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;;QACN,EAWC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QADC,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6DAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAoB,CAAA,eAAA,CAAA,OAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;QAC/B,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACN,EAQM,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;MAWH,0BAA0B,CAAA;AAUrC,IAAA,WAAA,CACU,WAA2B,EACnB,WAAwB,EACvB,WAAwB,EAAA;AAFjC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAgB;AACnB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAZlC,QAAA,IAAI,CAAA,IAAA,GAA0B,EAAE,CAAC;AAC1C,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,kBAAkB,EAAO,CAAC;AACtC,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACxE,IAAiB,CAAA,iBAAA,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;AACzD,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,kBAAkB,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AAGjE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAA4B,CAAC;KAM5D;IAEE,QAAQ,GAAA;;YACZ,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;AAC5D,gBAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACvD,aAAC,CAAC,CAAC;SACJ,CAAA,CAAA;AAAA,KAAA;AAED,IAAA,eAAe,CAAC,eAAe,EAAA;AAC7B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,EAAE;AAC1C,YAAA,IAAI,EAAE;gBACJ,EAAE,EAAE,eAAe,CAAC,EAAE;gBACtB,OAAO,EAAE,eAAe,CAAC,OAAO;gBAChC,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,YAAY,EAAE,eAAe,CAAC,YAAY;gBAC1C,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,QAAQ,EAAE,eAAe,CAAC,QAAQ;gBAClC,IAAI,EAAE,eAAe,CAAC,IAAI;AAC1B,gBAAA,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,eAAe,CAAC,KAAK;AAC7B,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;IAED,eAAe,GAAA;QACb,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAC7B,EAAE,GAAG,CAAC,CAAC;KACT;;oGA7CU,0BAA0B,EAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAA,IAAA,CAAA,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;6EAA1B,0BAA0B,EAAA,SAAA,EAAA,CAAA,CAAA,wBAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,gCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;2BAM1B,YAAY,EAAA,CAAA,CAAA,CAAA;2BACZ,OAAO,EAAA,CAAA,CAAA,CAAA;;;;;;;;;AA3HhB,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAsC,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YAElC,EAIE,CAAA,SAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;YACF,EAA8C,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAC5C,YAAA,EAAqC,CAAA,uBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACnC,YAAA,EAOK,CAAA,UAAA,CAAA,CAAA,EAAA,wCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAAiE,CAAA,UAAA,CAAA,CAAA,EAAA,wCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACjE,YAAA,EAA2C,CAAA,UAAA,CAAA,CAAA,EAAA,wCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAC7C,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAA0C,CAAA,uBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACxC,YAAA,EAOK,CAAA,UAAA,CAAA,CAAA,EAAA,wCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAA2C,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAC7C,EAAe,CAAA,qBAAA,EAAA,CAAA;AAMf,YAAA,EAAsC,CAAA,uBAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA;AACpC,YAAA,EAOK,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAAkE,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAClE,YAAA,EAA2C,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAC7C,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAoC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAClC,YAAA,EAOK,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAAgE,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAChE,YAAA,EAA2C,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAC7C,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAkC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAChC,YAAA,EAOK,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAA2C,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAC7C,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAOM,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;AACN,YAAA,EAWM,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;AACN,YAAA,EAQM,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;YACR,EAAQ,CAAA,YAAA,EAAA,CAAA;YACR,EAGiB,CAAA,SAAA,CAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,CAAA;AACnB,YAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;;AA3GF,YAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAjC,EAAiC,CAAA,UAAA,CAAA,aAAA,EAAA,GAAA,CAAA,iBAAA,CAAA,CAAA;AAGlB,YAAA,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAApB,EAAoB,CAAA,UAAA,CAAA,YAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA;AAwEhC,YAAA,EAKb,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA;AALa,YAAA,EAKb,CAAA,UAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,aAAA,CAAA,KAAA,IAAA,GAAA,GAAA,CAAA,iBAAA,GAAA,GAAA,CAAA,WAAA,CAAA,CAAA;AAO6B,YAAA,EAI7B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAJ6B,YAAA,EAI7B,CAAA,UAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,aAAA,CAAA,KAAA,IAAA,GAAA,GAAA,CAAA,iBAAA,GAAA,GAAA,CAAA,WAAA,CAAA,CAAA;AAKa,YAAA,EAKb,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AALa,YAAA,EAKb,CAAA,UAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,EAAA,GAAA,CAAA,WAAA,CAAA,aAAA,CAAA,KAAA,IAAA,GAAA,GAAA,CAAA,iBAAA,GAAA,GAAA,CAAA,WAAA,CAAA,CAAA;AAGU,YAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,YAAA,EAA6B,CAAA,UAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAD,KAAA,CAAA,CAAA,CAAA;;;;4EAQ1B,0BAA0B,EAAA,CAAA;kBAvHtC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkHT,EAAA,MAAA,EAAA,CAAA,0KAAA,EAAA,+hBAAA,CAAA,EAAA,CAAA;6HAIQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAKmB,SAAS,EAAA,CAAA;sBAAjC,SAAS;uBAAC,YAAY,CAAA;gBACH,IAAI,EAAA,CAAA;sBAAvB,SAAS;uBAAC,OAAO,CAAA;gBACR,MAAM,EAAA,CAAA;sBAAf,MAAM;;;;MCpII,aAAa,CAAA;AACxB,IAAA,WAAA,CAA6B,WAAwB,EAAA;AAAxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAAI;AAEnD,IAAA,gBAAgB,CAAC,IAAU,EAAE,EAAQ,EAAE,MAAc,EAAA;;YACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;AACrD,YAAA,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;iBAC7B,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,8BAA8B,GAAG,MAAM,CAAC;iBACvE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SAClC,CAAA,CAAA;AAAA,KAAA;IAEK,2BAA2B,CAC/B,IAAU,EACV,EAAQ,EAAA;;YAER,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;AACrD,YAAA,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7B,iBAAA,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,mCAAmC,CAAC;iBACnE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SAClC,CAAA,CAAA;AAAA,KAAA;IAEK,4BAA4B,CAChC,IAAU,EACV,EAAQ,EAAA;;YAER,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;AACrD,YAAA,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7B,iBAAA,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,oCAAoC,CAAC;iBACpE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SAClC,CAAA,CAAA;AAAA,KAAA;IAEK,0BAA0B,CAC9B,IAAU,EACV,EAAQ,EAAA;;YAER,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;AACrD,YAAA,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7B,iBAAA,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,kCAAkC,CAAC;iBAClE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SAClC,CAAA,CAAA;AAAA,KAAA;IAEK,YAAY,CAAC,IAAU,EAAE,EAAQ,EAAA;;YACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;AACrD,YAAA,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7B,iBAAA,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC;iBAC1D,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SAClC,CAAA,CAAA;AAAA,KAAA;AAEK,IAAA,uBAAuB,CAC3B,IAAU,EACV,EAAQ,EACR,MAAc,EAAA;;YAEd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;AACrD,YAAA,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;iBAC7B,OAAO,CACN,cAAc,CAAC,IAAI,CAAC,GAAG,iCAAiC,GAAG,MAAM,CAClE;iBACA,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;SAClC,CAAA,CAAA;AAAA,KAAA;;0EA1DU,aAAa,EAAA,EAAA,CAAA,QAAA,CAAAE,IAAA,CAAA,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;mEAAb,aAAa,EAAA,OAAA,EAAb,aAAa,CAAA,IAAA,EAAA,UAAA,EAFZ,MAAM,EAAA,CAAA,CAAA;;4EAEP,aAAa,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;;;;QCgFS,EAGsB,CAAA,SAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,EAAA,CAAA,CAAA;;;;QAFpB,EAAuB,CAAA,UAAA,CAAA,WAAA,EAAA,MAAA,CAAA,SAAA,CAAA,CAAA;;;;;QAWnB,EAAsD,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACpD,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAiB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAtB,QAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjB,QAAA,EAAiB,CAAA,iBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA;;;;;QACxD,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAI3C,EAAsD,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACpD,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,WAAA,CAAA,QAAA,EAAA,GAAA,CAAA,CAAA;;;;;QACA,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAI3C,EAAsD,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACpD,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,YAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QACA,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAI3C,EAAsD,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACpD,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,cAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,WAAA,CAAA,SAAA,EAAA,GAAA,CAAA,CAAA;;;;;QACA,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAI3C,EAAsD,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACpD,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,aAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAiD,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAC/C,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,WAAA,CAAA,QAAA,EAAA,GAAA,CAAA,CAAA;;;;;QACA,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAI3C,EAAsD,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACpD,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,sBAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,eAAA,EAAA,MAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QACA,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAI3C,EAAsD,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACpD,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,gBAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EAGF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAHH,QAAA,EAGF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAHE,EAGF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,KAAA,GAAA,WAAA,CAAA,eAAA,EAAA,MAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QACA,EAA2C,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QAG7C,EAAwD,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QACxD,EAKM,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;QAJJ,EAA8B,CAAA,qBAAA,CAAA,YAAA,EAAA,OAAA,CAAA,OAAA,CAAA,CAAA;;;;;AA9EpC,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,CAA4C,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAMxC,QAAA,EAAqC,CAAA,uBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;AACnC,QAAA,EAEK,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAA6D,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAC7D,QAAA,EAA2C,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QAC7C,EAAe,CAAA,qBAAA,EAAA,CAAA;AAEf,QAAA,EAAsC,CAAA,uBAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA;AACpC,QAAA,EAEK,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAEK,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAA2C,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QAC7C,EAAe,CAAA,qBAAA,EAAA,CAAA;AAEf,QAAA,EAA0C,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACxC,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAA2C,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QAC7C,EAAe,CAAA,qBAAA,EAAA,CAAA;AAEf,QAAA,EAAuC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAA2C,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QAC7C,EAAe,CAAA,qBAAA,EAAA,CAAA;AAEf,QAAA,EAAsC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACpC,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAA2C,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QAC7C,EAAe,CAAA,qBAAA,EAAA,CAAA;AAEf,QAAA,EAA4C,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAC1C,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAA2C,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QAC7C,EAAe,CAAA,qBAAA,EAAA,CAAA;AAEf,QAAA,EAAyC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACvC,QAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAIK,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACL,QAAA,EAA2C,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;QAC7C,EAAe,CAAA,qBAAA,EAAA,CAAA;AAEf,QAAA,EAAwD,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACxD,QAAA,EAKM,CAAA,UAAA,CAAA,EAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAER,QAAA,EAAA,CAAA,YAAA,EAAQ,EAAA,CAAA;;;;AAjFN,QAAA,EAA2C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA3C,EAA2C,CAAA,UAAA,CAAA,YAAA,EAAA,MAAA,CAAA,4BAAA,CAAA,CAAA;AAyEvB,QAAA,EAA6B,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA;QAA7B,EAA6B,CAAA,UAAA,CAAA,iBAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA;AAK1B,QAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArB,EAAqB,CAAA,UAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA;;;;MAuB7C,2BAA2B,CAAA;IAqBtC,WACmB,CAAA,KAAkB,EAClB,aAA4B,EAAA;AAD5B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAa;AAClB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAtBvC,QAAA,IAA+B,CAAA,+BAAA,GAAG,KAAK,CAAC;QAChD,IAAA,CAAA,oBAAoB,GAAG,IAAI,kBAAkB,CAAC,IAAI,IAAI,EAAE,EAAE;AACxD,YAAA,UAAU,CAAC,aAAa;AACzB,SAAA,CAAC,CAAC;AACH,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AAC5E,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AAC5E,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,kBAAkB,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AAI3E,QAAA,IAAO,CAAA,OAAA,GAAG,QAAQ,CAAC;AAEnB,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAClB,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;AAKvB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;AAO1B,QAAA,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAA,CAAA,aAAa,GAAuB,EAAE,CAAC,CAAC,CAAC,CAAC;QAG1C,IAAA,CAAA,YAAY,GAAG;YACb,SAAS;YACT,UAAU;YACV,cAAc;YACd,WAAW;YACX,UAAU;YACV,gBAAgB;YAChB,aAAa;SACd,CAAC;KAdE;IAgBJ,QAAQ,GAAA;;;;;;;;KAQP;IAEO,gBAAgB,CAAC,IAAY,EAAE,EAAU,EAAA;;;;;;;;;;;;;;;;;;;;;;KAsBhD;IAEO,iBAAiB,GAAA;;;;;;;;;;;;;KAaxB;IAED,YAAY,GAAA;;;KAGX;IAED,WAAW,GAAA;;KAEV;;sGAhGU,2BAA2B,EAAA,EAAA,CAAA,iBAAA,CAAAA,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,aAAA,CAAA,CAAA,CAAA,EAAA,CAAA;8EAA3B,2BAA2B,EAAA,SAAA,EAAA,CAAA,CAAA,gCAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,iCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;2BAiB3B,YAAY,EAAA,CAAA,CAAA,CAAA;2BACZ,OAAO,EAAA,CAAA,CAAA,CAAA;;;;;;AApBP,SAAA;KAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,kBAAA,CAAA,CAAC,aAAa,CAAC,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,WAAA,EAAA,SAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,MAAA,EAAA,KAAA,EAAA,wBAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,IAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,MAAA,EAAA,MAAA,EAAA,CAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,eAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,EAAA,CAAA,eAAA,EAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,GAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,aAAA,EAAA,aAAA,EAAA,CAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,CAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,EAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,cAAA,EAAA,SAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,cAAA,EAAA,UAAA,CAAA,EAAA,CAAA,cAAA,EAAA,cAAA,CAAA,EAAA,CAAA,cAAA,EAAA,WAAA,CAAA,EAAA,CAAA,cAAA,EAAA,UAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,cAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,cAAA,EAAA,aAAA,CAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,CAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,EAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,WAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,CAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,CAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,YAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,oCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;AA9KxB,YAAA,EAAoC,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAQzB,YAAA,EAAa,CAAA,MAAA,CAAA,CAAA,EAAA,eAAA,CAAA,CAAA;YAAA,EACf,CAAA,YAAA,EAAA,CAAA;YACD,EAA2B,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAAA,YAAA,EAAqB,CAAA,MAAA,CAAA,CAAA,EAAA,uBAAA,CAAA,CAAA;YAAA,EAAI,CAAA,YAAA,EAAA,CAAA;AACpD,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAIC,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AACW,YAAA,EAAS,CAAA,MAAA,CAAA,EAAA,EAAA,WAAA,CAAA,CAAA;AAAA,YAAA,EAAA,CAAA,YAAA,EAAW,EAAA,EAAA,CAAA;YAGlC,EAAgD,CAAA,SAAA,CAAA,EAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAChD,YAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,iBAAA,CAAiB,yBAAA,CAAA,EAAA,EAAA,WAAA,CAAA,CAAA;AAEF,YAAA,EAAS,CAAA,MAAA,CAAA,EAAA,EAAA,WAAA,CAAA,CAAA;YAAA,EAAY,CAAA,YAAA,EAAA,CAAA;YAChC,EAKE,CAAA,cAAA,CAAA,EAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAHA,YAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,4DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,GAAA,GAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,GAAsB,CAAA,IAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;YAFlC,EAKE,CAAA,YAAA,EAAA,CAAA;AACF,YAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,CAAA,CAGyB,CAAA,EAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;YAE3B,EAAiB,CAAA,YAAA,EAAA,CAAA;AACjB,YAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,gBAAA,EAAA,CAAA,CAAuC,CAAA,EAAA,EAAA,WAAA,CAAA,CAAA;AAC1B,YAAA,EAAO,CAAA,MAAA,CAAA,EAAA,EAAA,SAAA,CAAA,CAAA;YAAA,EAAY,CAAA,YAAA,EAAA,CAAA;YAC9B,EAKE,CAAA,cAAA,CAAA,EAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAHA,YAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,4DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,GAAA,GAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,GAAoB,CAAA,IAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;YAFhC,EAKE,CAAA,YAAA,EAAA,CAAA;AACF,YAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,CAAA,CAGyB,CAAA,EAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;YAE3B,EAAiB,CAAA,YAAA,EAAA,CAAA;YACjB,EAAmC,CAAA,SAAA,CAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,CAAA;AACnC,YAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,gBAAA,CAAgB,CAAA,EAAA,EAAA,WAAA,CAAA,CAAA;AACH,YAAA,EAAM,CAAA,MAAA,CAAA,EAAA,EAAA,QAAA,CAAA,CAAA;YAAA,EAAY,CAAA,YAAA,EAAA,CAAA;YAC7B,EAIE,CAAA,SAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AACJ,YAAA,EAAA,CAAA,YAAA,EAAiB,EAAA,CAAA;AAUnB,YAAA,EAGsB,CAAA,UAAA,CAAA,EAAA,EAAA,0DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,EAAA,CAAA,CAAA;AAEtB,YAAA,EAqFM,CAAA,UAAA,CAAA,EAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;YAEN,EAGiB,CAAA,SAAA,CAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,CAAA;AACnB,YAAA,EAAA,CAAA,YAAA,EAAW,EAAA,CAAA;AAEb,YAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,CAAsB,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AACE,YAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,6DAAA,GAAA,EAAA,OAAS,kBAAc,CAAC,EAAA,CAAA,CAAA;YAC5C,EAA0B,CAAA,cAAA,CAAA,EAAA,EAAA,UAAA,EAAA,EAAA,CAAA,CAAA;AAAA,YAAA,EAAO,CAAA,MAAA,CAAA,EAAA,EAAA,SAAA,CAAA,CAAA;YAAA,EAAW,CAAA,YAAA,EAAA,CAAA;AAC5C,YAAA,EACF,CAAA,MAAA,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA;AAAA,YAAA,EAAA,CAAA,YAAA,EAAS,EAAA,EAAA,CAAA;;;;;;AA7JH,YAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAnC,YAAA,EAAmC,CAAA,UAAA,CAAA,sBAAA,EAAA,GAAA,CAAA,CAAA;AAcjC,YAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjC,YAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,GAAA,CAAiC,CAAA,aAAA,EAAA,GAAA,CAAA,oBAAA,CAAA,CAAA;AAKjC,YAAA,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvB,YAAA,EAAuB,CAAA,UAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;AASvB,YAAA,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA/B,YAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,GAAA,CAA+B,CAAA,aAAA,EAAA,GAAA,CAAA,kBAAA,CAAA,CAAA;AAK/B,YAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAArB,YAAA,EAAqB,CAAA,UAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;AASrB,YAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAjC,EAAiC,CAAA,UAAA,CAAA,aAAA,EAAA,GAAA,CAAA,iBAAA,CAAA,CAAA;AAepC,YAAA,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,YAAA,EAAkC,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,eAAA,IAAA,GAAA,CAAA,SAAA,CAAA,CAAA;AAG/B,YAAA,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApC,YAAA,EAAoC,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,eAAA,IAAA,CAAA,GAAA,CAAA,SAAA,CAAA,CAAA;AAwFxC,YAAA,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApC,YAAA,EAAoC,CAAA,UAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAAH,KAAA,CAAA,CAAA,CAAA;;;;4EAgBnC,2BAA2B,EAAA,CAAA;kBAnLvC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gCAAgC,EAChC,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6KT,EAAA,CAAA,EAEU,SAAA,EAAA,CAAC,aAAa,CAAC,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,CAAA;6FAiBjB,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEmB,SAAS,EAAA,CAAA;sBAAjC,SAAS;uBAAC,YAAY,CAAA;gBACH,IAAI,EAAA,CAAA;sBAAvB,SAAS;uBAAC,OAAO,CAAA;;;;MCrNP,uBAAuB,CAAA;AAClC,IAAA,WAAA,CAA6B,OAA0B,EAAA;AAA1B,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAmB;KAAI;IAE3D,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACnB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,CAAC,OAAO,CAAC;AAChB,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;AACvB,SAAA,CAAC,CAAC;KACJ;IAED,QAAQ,GAAA;QAQN,OAAO;AACL,YAAA;AACE,gBAAA,IAAI,EAAE,iCAAiC;AACvC,gBAAA,IAAI,EAAE,gBAAgB;AACtB,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,MAAM,EAAE,yBAAyB;gBACjC,KAAK,EAAE,CAAC,OAAO,CAAC;AAChB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,mCAAmC;AACzC,gBAAA,IAAI,EAAE,mBAAmB;AACzB,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,MAAM,EAAE,2BAA2B;gBACnC,KAAK,EAAE,CAAC,OAAO,CAAC;AAChB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,kCAAkC;AACxC,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,MAAM,EAAE,2BAA2B;gBACnC,KAAK,EAAE,CAAC,OAAO,CAAC;AAChB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,oCAAoC;AAC1C,gBAAA,IAAI,EAAE,mBAAmB;AACzB,gBAAA,IAAI,EAAE,iBAAiB;AACvB,gBAAA,MAAM,EAAE,4BAA4B;gBACpC,KAAK,EAAE,CAAC,OAAO,CAAC;AAChB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,sCAAsC;AAC5C,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,IAAI,EAAE,iBAAiB;AACvB,gBAAA,MAAM,EAAE,8BAA8B;gBACtC,KAAK,EAAE,CAAC,OAAO,CAAC;AAChB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,qCAAqC;AAC3C,gBAAA,IAAI,EAAE,oBAAoB;AAC1B,gBAAA,IAAI,EAAE,iBAAiB;AACvB,gBAAA,MAAM,EAAE,8BAA8B;gBACtC,KAAK,EAAE,CAAC,OAAO,CAAC;AAChB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,0BAA0B;AAChC,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,MAAM,EAAE,0BAA0B;AAClC,gBAAA,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;AACnC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,mCAAmC;AACzC,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,MAAM,EAAE,mCAAmC;AAC3C,gBAAA,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,CAAC,OAAO,CAAC;AAChB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,kCAAkC;AACxC,gBAAA,IAAI,EAAE,gBAAgB;AACtB,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,MAAM,EAAE,6BAA6B;gBACrC,KAAK,EAAE,CAAC,OAAO,CAAC;AAChB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,oCAAoC;AAC1C,gBAAA,IAAI,EAAE,gBAAgB;AACtB,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,MAAM,EAAE,kCAAkC;gBAC1C,KAAK,EAAE,CAAC,OAAO,CAAC;AAChB,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,CAAC;KACH;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,QAAQ,CAAC;KAC5C;;8FA3GU,uBAAuB,EAAA,EAAA,CAAA,QAAA,CAAAE,IAAA,CAAA,iBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;6EAAvB,uBAAuB,EAAA,OAAA,EAAvB,uBAAuB,CAAA,IAAA,EAAA,UAAA,EAFtB,MAAM,EAAA,CAAA,CAAA;;4EAEP,uBAAuB,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;;;;ACcO,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;;;;;AAcjB,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,eAAA,EAAA,CAAA,CAA4C,CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AACJ,QAAA,EAEpC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAW,CAAA,YAAA,EAAA,CAAA;QACb,EAAY,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAe,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;QAChC,EAA2B,CAAA,cAAA,CAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAEzB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,QAAA,EAAA,CAAA,YAAA,EAAoB,EAAA,CAAA;AAExB,QAAA,EAA2B,CAAA,SAAA,CAAA,CAAA,EAAA,aAAA,CAAA,CAAA;;;;QATZ,EAA4B,CAAA,qBAAA,CAAA,YAAA,EAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AACH,QAAA,EAEpC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAFoC,QAAA,EAEpC,CAAA,iBAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AACU,QAAA,EAAe,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAf,QAAA,EAAe,CAAA,iBAAA,CAAA,OAAA,CAAA,IAAA,CAAA,CAAA;AACA,QAAA,EAEzB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAFyB,QAAA,EAEzB,CAAA,iBAAA,CAAA,OAAA,CAAA,MAAA,CAAA,CAAA;;;;;;QAbR,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,eAAA,EAAA,CAAA,CAAA,CAAA;AACC,QAAA,EAWc,CAAA,UAAA,CAAA,CAAA,EAAA,oEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,CAAA,CAAA;QAChB,EAAgB,CAAA,YAAA,EAAA,CAAA;;;;QAhBd,EAAA,CAAA,UAAA,CAAA,QAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAF,KAAA,CAAA,CAAoB,CAAA,UAAA,EAAA,OAAA,CAAA,IAAA,CAAA,CAAA;;;;;AAN1B,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAGC,CAAA,CAAA,EAAA,cAAA,CAAA,CAAA;AAEG,QAAA,EAiBgB,CAAA,UAAA,CAAA,CAAA,EAAA,sDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,CAAA,CAAA;AAClB,QAAA,EAAA,CAAA,YAAA,EAAe,EAAA,CAAA;;;;AAfM,QAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAd,EAAc,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,WAAA,CAAA,CAAA;;;;;AARrC,QAAA,EAwBM,CAAA,UAAA,CAAA,CAAA,EAAA,sCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAtBH,EAAkD,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,aAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;MA2BhD,SAAS,CAAA;AAIpB,IAAA,WAAA,CACkB,WAAwB,EACvB,MAAc,EACd,UAAmC,EAAA;AAFpC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACvB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AACd,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;AANtD,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AACjB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;KAMtB;IAEE,QAAQ,GAAA;;AACZ,YAAA,QAAQ,CAAC,KAAK,GAAG,sBAAsB,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,aAAa;AAC3B,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,iBAAA,SAAS,CAAC,CAAC,KAAK,KAAI;gBACnB,IAAI,KAAK,KAAK,KAAK,EAAE;AACnB,oBAAA,IAAI,CAAC,MAAM;yBACR,aAAa,CAAC,iCAAiC,CAAC;AAChD,yBAAA,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACvB,iBAAA;AACH,aAAC,CAAC,CAAC;YACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;SAC/C,CAAA,CAAA;AAAA,KAAA;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC7B;;kEA1BU,SAAS,EAAA,EAAA,CAAA,iBAAA,CAAAE,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAD,IAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAG,uBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;4DAAT,SAAS,EAAA,SAAA,EAAA,CAAA,CAAA,kBAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,CAAA,MAAA,EAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,EAAA,CAAA,EAAA,CAAA,OAAA,EAAA,uCAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,QAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,UAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,EAAA,CAAA,EAAA,CAAA,SAAA,EAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,kBAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;YA1ClB,EAQC,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;YACC,EAEc,CAAA,UAAA,CAAA,CAAA,EAAA,gCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YACd,EA0Bc,CAAA,UAAA,CAAA,CAAA,EAAA,gCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YAChB,EAAqB,CAAA,YAAA,EAAA,CAAA;;;;;AAtCnB,YAAA,EAAqB,CAAA,UAAA,CAAA,SAAA,EAAA,SAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,CAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA;;;;4EAyCd,SAAS,EAAA,CAAA;kBA7CrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCT,EAAA,CAAA;iBACF,CAAA;;;;AClDM,MAAM,QAAQ,GAAG,CAAO,IAAY,EAAE,OAAiB,EAAE,IAAc,KAAI,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;IAChF,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACrC,QAAA,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,IAAG;AACrB,YAAA,OAAO,CAAC,OAAO,CAAC,MAAM,IAAG;gBACvB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvE,aAAC,CAAC,CAAC;AACH,YAAA,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,SAAC,CAAC,CAAC;AAEH,QAAA,MAAM,UAAU,GAAG,8BAA8B,GAAG,GAAG,CAAC;AACxD,QAAA,MAAM,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AAC3C,QAAA,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAC9C,QAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;AACvB,QAAA,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;QAClB,MAAM,CAAC,KAAK,EAAE,CAAC;AACf,QAAA,OAAO,GAAG,CAAC;AACZ,KAAA;AACD,IAAA,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACrC,CAAC,CAAA;;MCNY,WAAW,CAAA;IAsBtB,WAA6B,CAAA,aAA4B,EAC5B,KAAkB,EAAA;AADlB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAa;QAtB/C,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QACjD,IAAA,CAAA,kBAAkB,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAChD,IAAA,CAAA,qBAAqB,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QACnD,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAClD,IAAA,CAAA,4BAA4B,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAA,CAAA,2BAA2B,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QACzD,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAA2B,EAAE,CAAC,CAAC;QACnE,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAA8B,EAAE,CAAC,CAAC;QACzE,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAA2B,EAAE,CAAC,CAAC;QACrE,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAA2B,EAAE,CAAC,CAAC;QACpE,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAA8B,EAAE,CAAC,CAAC;QAC3E,IAAA,CAAA,kBAAkB,GAAG,IAAI,eAAe,CAA8B,EAAE,CAAC,CAAC;QAC1E,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAAwB,EAAE,CAAC,CAAC;QACnE,IAAA,CAAA,wBAAwB,GAAG,IAAI,eAAe,CAAqC,EAAE,CAAC,CAAC;QACvF,IAAA,CAAA,uBAAuB,GAAG,IAAI,eAAe,CAAoC,EAAE,CAAC,CAAC;QACrF,IAAA,CAAA,yBAAyB,GAAG,IAAI,eAAe,CAAoC,EAAE,CAAC,CAAC;QACvF,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAA,CAAA,qBAAqB,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QACnD,IAAA,CAAA,6BAA6B,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;KAI1D;AAEO,IAAA,OAAO,CAAC,CAAS,EAAA;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE;AACvB,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,kBAAkB,CAAC,IAAoB,EAAA;AACrC,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,IAAG;AAC1E,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,oBAAoB,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC,OAAO,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,qBAAqB,CAAC,IAAoB,EAAA;AACxC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,IAAG;AACjF,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,oBAAoB,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC,OAAO,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,SAAC,CAAC,CAAC;KACJ;IAED,mBAAmB,GAAA;QACjB,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;AAClF,QAAA,QAAQ,CAAC,CAA8B,4BAAA,CAAA,EAAE,uBAAuB,EAC9D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAG;AACtC,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;IAED,sBAAsB,GAAA;QACpB,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;AACnF,QAAA,QAAQ,CAAC,CAAiC,+BAAA,CAAA,EAAE,uBAAuB,EACjE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAG;AACzC,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACzC;AAED,IAAA,oBAAoB,CAAC,IAAoB,EAAA;AACvC,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,IAAG;AAC5E,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,oBAAoB,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC,OAAO,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,uBAAuB,CAAC,IAAoB,EAAA;AAC1C,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,IAAG;AACnF,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,oBAAoB,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC,OAAO,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,SAAC,CAAC,CAAC;KACJ;IAED,qBAAqB,GAAA;QACnB,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;AAClF,QAAA,QAAQ,CAAC,CAAgC,8BAAA,CAAA,EAAE,uBAAuB,EAChE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAG;AACxC,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;IAED,wBAAwB,GAAA;QACtB,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;AACnF,QAAA,QAAQ,CAAC,CAAmC,iCAAA,CAAA,EAAE,uBAAuB,EACnE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAG;AAC3C,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,mBAAmB,CAAC,IAAoB,EAAA;AACtC,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAG;AAC3E,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,oBAAoB,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC,OAAO,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,SAAC,CAAC,CAAC;KACJ;IAED,oBAAoB,GAAA;QAClB,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;AAClF,QAAA,QAAQ,CAAC,CAA+B,6BAAA,CAAA,EAAE,uBAAuB,EAC/D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAG;AACvC,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,sBAAsB,CAAC,IAAoB,EAAA;AACzC,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAG;AAClF,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,oBAAoB,CAAC,CAAC;AACrD,SAAC,CAAC,CAAC,OAAO,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,SAAC,CAAC,CAAC;KACJ;IAED,uBAAuB,GAAA;QACrB,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;AACnF,QAAA,QAAQ,CAAC,CAAkC,gCAAA,CAAA,EAAE,uBAAuB,EAClE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAG;AAC1C,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;IAED,oBAAoB,GAAA;AAClB,QAAA,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACjF,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,QAAQ,CAAC,6BAA6B,EAAE,uBAAuB,EAC7D,IAAI,CAAC,GAAG,CAAC,CAAC,IAAG;;YAEX,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjD,YAAA,OAAO,CAAC,CAAC;AACX,SAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAG;AACf,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,mBAAmB,CAAC,IAAoB,EAAA;AACtC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAG;AAC/D,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,SAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAG;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,wBAAwB,CAAC,CAAC;AACnE,SAAC,CAAC,CAAC,OAAO,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,6BAA6B,CAAC,IAAoB,EAAA;AAChD,QAAA,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAG;AAC9E,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5C,SAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAG;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,yBAAyB,CAAC,CAAC;AACpE,SAAC,CAAC,CAAC,OAAO,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,SAAC,CAAC,CAAC;KACJ;IAED,8BAA8B,GAAA;AAC5B,QAAA,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAClF,QAAA,QAAQ,CAAC,oCAAoC,EAAE,mBAAmB,EAChE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAG;AAChD,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,4BAA4B,CAAC,IAAoB,EAAA;AAC/C,QAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAG;AAC7E,YAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,SAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAG;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,yBAAyB,CAAC,CAAC;AACpE,SAAC,CAAC,CAAC,OAAO,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,SAAC,CAAC,CAAC;KACJ;IAED,6BAA6B,GAAA;AAC3B,QAAA,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC7G,QAAA,QAAQ,CAAC,mCAAmC,EAAE,mBAAmB,EAC/D,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAG;AAC/C,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,8BAA8B,CAAC,IAAoB,EAAA;AACjD,QAAA,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAG;AAC/E,YAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAG;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,yBAAyB,CAAC,CAAC;AACpE,SAAC,CAAC,CAAC,OAAO,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjD,SAAC,CAAC,CAAC;KACJ;IAED,+BAA+B,GAAA;AAC7B,QAAA,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC7G,QAAA,QAAQ,CAAC,qCAAqC,EAAE,mBAAmB,EACjE,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAG;AACjD,YAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAG;AACX,YAAA,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;;sEA3QU,WAAW,EAAA,EAAA,CAAA,QAAA,CAAAC,aAAA,CAAA,EAAA,EAAA,CAAA,QAAA,CAAAJ,IAAA,CAAA,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;iEAAX,WAAW,EAAA,OAAA,EAAX,WAAW,CAAA,IAAA,EAAA,UAAA,EAFV,MAAM,EAAA,CAAA,CAAA;;4EAEP,WAAW,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;;;;QCiBW,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAgB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAArB,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAhB,QAAA,EAAgB,CAAA,iBAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA;;;;;QAGvD,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,aAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QAGA,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,SAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,YAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QAGA,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QAEF,EAAwD,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QACxD,EAKM,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;AAJJ,QAAA,EAAsB,CAAA,qBAAA,CAAA,YAAA,EAAA,OAAA,CAAA,CAAA;;;;MAerB,0BAA0B,CAAA;IAYrC,WACkB,CAAA,aAA4B,EAC5B,QAAkB,EAClB,KAAkB,EAClB,WAAwB,EACxB,WAAwB,EAAA;AAJxB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAClB,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAa;AAClB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAhBjC,QAAA,IAAK,CAAA,KAAA,GAA6B,EAAE,CAAC;AAC9C,QAAA,IAAU,CAAA,UAAA,GAAqB,SAAS,CAAC;QACzC,IAAA,CAAA,SAAS,GAAG,IAAI,kBAAkB,CAAyB,EAAE,CAAC,CAAC;AAC/D,QAAA,IAAY,CAAA,YAAA,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;AACnE,QAAA,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;QACf,IAAS,CAAA,SAAA,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAA,CAAA,OAAO,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAGhC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;KAQtB;IAEJ,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;KAClC;AAEO,IAAA,aAAa,CAAC,IAA8B,EAAA;QAClD,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YAClC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;YAC7C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAChC,aAAa,EACb;AACE,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;AACD,YAAA,KAAK,EAAE;;gBAEL,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,KAAK,IAAI;AACtD,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,KAAK,EAAE;AACL,oBAAA,IAAI,EAAE,OAAO;AACd,iBAAA;AACD,gBAAA,MAAM,EAAE;oBACN,SAAS,GAAA;AACP,wBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;qBAC9B;AACF,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,KAAK,EAAE;AACL,oBAAA,IAAI,EAAE,aAAa;AACpB,iBAAA;;AAED,gBAAA,MAAM,EAAE;oBACN,SAAS,GAAA;AACP,wBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;qBAC9B;AACF,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,aAAa,EAAE,CAAC;AAChB,gBAAA,WAAW,EACT,8EAA8E;AACjF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,MAAM,EAAE;;;;;;AAMP,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA;AACE,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,IAAI,EAAE,OAAO;;AAEb,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,IAAI,EAAE,QAAQ;;AAEd,oBAAA,IAAI,EAAE,cAAc;AACrB,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,IAAI,EAAE,OAAO;;AAEb,oBAAA,IAAI,EAAE,aAAa;AACpB,iBAAA;AACF,aAAA;SACF,EACD,CAAC,GAAG,KAAI;;AAER,SAAC,CACF,CAAC;KACH;IAED,eAAe,GAAA;QACb,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KACjC;;oGAlHU,0BAA0B,EAAA,EAAA,CAAA,iBAAA,CAAAI,aAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAJ,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAK,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,IAAA,CAAA,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;6EAA1B,0BAA0B,EAAA,SAAA,EAAA,CAAA,CAAA,6BAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,gCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;2BAQ1B,YAAY,EAAA,CAAA,CAAA,CAAA;2BACZ,OAAO,EAAA,CAAA,CAAA,CAAA;;;;;;;;;YApFhB,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAsC,aAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YAGhC,EAA0C,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAC5C,YAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;AAER,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAA6B,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAEzB,YAAA,EAAkC,CAAA,uBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAChC,YAAA,EAOK,CAAA,UAAA,CAAA,CAAA,EAAA,wCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAA4D,CAAA,UAAA,CAAA,CAAA,EAAA,wCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAC9D,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAA2C,CAAA,uBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACzC,YAAA,EAOK,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YACP,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAA0C,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACxC,YAAA,EAOK,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YACP,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAoC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAClC,YAAA,EAOK,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YACP,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAwD,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACxD,YAAA,EAKM,CAAA,UAAA,CAAA,EAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;YACR,EAAQ,CAAA,YAAA,EAAA,CAAA;YACR,EAGiB,CAAA,SAAA,CAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,CAAA;AACnB,YAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;;AA/Da,YAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAxB,EAAwB,CAAA,UAAA,CAAA,YAAA,EAAA,GAAA,CAAA,SAAA,CAAA,CAAA;AAmDnB,YAAA,EAA6B,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA;YAA7B,EAA6B,CAAA,UAAA,CAAA,iBAAA,EAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AAK1B,YAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAArB,EAAqB,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AAI5C,YAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,YAAA,EAA6B,CAAA,UAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAR,KAAA,CAAA,CAAA,CAAA;;;;4EAQ1B,0BAA0B,EAAA,CAAA;kBA9EtC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAC7B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyET,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,+hBAAA,CAAA,EAAA,CAAA;uKAIQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAOmB,SAAS,EAAA,CAAA;sBAAjC,SAAS;uBAAC,YAAY,CAAA;gBACH,IAAI,EAAA,CAAA;sBAAvB,SAAS;uBAAC,OAAO,CAAA;;;;MCxEP,kBAAkB,CAAA;AAU7B,IAAA,WAAA,GAAA;QATS,IAAI,CAAA,IAAA,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9D,QAAA,IAAA,CAAA,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AACf,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAA4B,CAAC;AACtD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAA,IAAA,GAAoC,OAAO,CAAC;QAEzD,IAAmB,CAAA,mBAAA,GAAG,IAAI,kBAAkB,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,IAAiB,CAAA,iBAAA,GAAG,IAAI,kBAAkB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;KAGtD;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;AACZ,SAAA,CAAC,CAAC;KACJ;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAC9C,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;AAC3C,SAAA,CAAC,CAAC;KACJ;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5B;;oFA/BU,kBAAkB,GAAA,CAAA,EAAA,CAAA;qEAAlB,kBAAkB,EAAA,SAAA,EAAA,CAAA,CAAA,gBAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,KAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,UAAA,EAAA,eAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,CAAA,EAAA,CAAA,KAAA,EAAA,EAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,2BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;AA5B3B,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAkC,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AACuB,YAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,mDAAA,GAAA,EAAA,OAAS,kBAAc,CAAC,EAAA,CAAA,CAAA;AAC7E,YAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;YAAA,EAAS,CAAA,YAAA,EAAA,CAAA;YACT,EAAkF,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AAA3B,YAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,mDAAA,GAAA,EAAA,OAAS,oBAAgB,CAAC,EAAA,CAAA,CAAA;AAC/E,YAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;YAAA,EAAS,CAAA,YAAA,EAAA,CAAA;YACT,EAAoC,CAAA,SAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;AACpC,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,CAAgB,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA;AACH,YAAA,EAAS,CAAA,MAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA;YAAA,EAAY,CAAA,YAAA,EAAA,CAAA;YAChC,EACwE,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAAjE,YAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,kDAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,GAAA,GAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,GAAS,CAAA,IAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;YAD1B,EACwE,CAAA,YAAA,EAAA,CAAA;AACxE,YAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,CAAA,CAAoE,CAAA,EAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;YAEtE,EAAiB,CAAA,YAAA,EAAA,CAAA;AACjB,YAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,gBAAA,CAAgB,CAAA,EAAA,EAAA,WAAA,CAAA,CAAA;AACH,YAAA,EAAO,CAAA,MAAA,CAAA,EAAA,EAAA,SAAA,CAAA,CAAA;YAAA,EAAY,CAAA,YAAA,EAAA,CAAA;YAC9B,EAGyC,CAAA,cAAA,CAAA,EAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AADlC,YAAA,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,mDAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,GAAA,GAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,GAAU,CAAA,IAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;YAF3B,EAGyC,CAAA,YAAA,EAAA,CAAA;AACzC,YAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,CAAA,CAAqE,CAAA,EAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAEvE,YAAA,EAAA,CAAA,YAAA,EAAiB,EAAA,CAAA;;;;;AAbR,YAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjB,YAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,IAAA,CAAiB,sBAAA,CAAA,aAAA,EAAA,GAAA,CAAA,mBAAA,CAAA,CAAA;AAES,YAAA,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAV,YAAA,EAAU,CAAA,UAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;AAC3B,YAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlB,YAAA,EAAA,CAAA,UAAA,CAAA,WAAA,EAAA,GAAA,CAAA,IAAA,CAAkB,CAAA,SAAA,EAAA,IAAA,CAAA,CAAA;AAI3B,YAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjB,YAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,IAAA,CAAiB,sBAAA,CAAA,aAAA,EAAA,GAAA,CAAA,iBAAA,CAAA,CAAA;AAIS,YAAA,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAX,YAAA,EAAW,CAAA,UAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;AAC5B,YAAA,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlB,YAAA,EAAA,CAAA,UAAA,CAAA,WAAA,EAAA,GAAA,CAAA,IAAA,CAAkB,CAAA,SAAA,EAAA,IAAA,CAAA,CAAA;;;;4EAM7B,kBAAkB,EAAA,CAAA;kBA/B9B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAChB,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,+oBAAA,CAAA,EAAA,CAAA;0CAIQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACI,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACE,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;;;;;AClBA,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;;;;;QAQzB,EAG+B,CAAA,SAAA,CAAA,CAAA,EAAA,6BAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAD7B,EAA4C,CAAA,UAAA,CAAA,OAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,cAAA,CAAA,CAAA,CAAA;;;;;QAE9C,EAIsB,CAAA,SAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAHpB,EAAA,CAAA,UAAA,CAAA,QAAA,EAAA,GAAA,CAAc,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,gBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;;;QAVhB,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAFC,QAAA,EAAU,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,gFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,qBAAc,CAAA,CAAA,EAAA,CAAC,gLACf,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,MAAA,CAAwB,CAAA,CADT,EAAA,CAAA,CAAA;QAE1B,EAAiB,CAAA,YAAA,EAAA,CAAA;AAClB,QAAA,EAG+B,CAAA,UAAA,CAAA,CAAA,EAAA,6EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,6BAAA,EAAA,CAAA,CAAA,CAAA;;AAC/B,QAAA,EAIsB,CAAA,UAAA,CAAA,CAAA,EAAA,oEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;AAPnB,QAAA,EAAsD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtD,EAAsD,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,gBAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAKtD,QAAA,EAAqD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArD,EAAqD,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,gBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;MAQnD,wBAAwB,CAAA;IAGnC,WACkB,CAAA,WAAwB,EACxB,WAAwB,EAAA;AADxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAExC,QAAA,QAAQ,CAAC,KAAK,GAAG,iDAAiD,CAAC;KACpE;IAEK,QAAQ,GAAA;+DAAoB,CAAA,CAAA;AAAA,KAAA;AAElC,IAAA,gBAAgB,CAAC,IAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;KAC3C;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;KACxC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;KAC5B;;gGAtBU,wBAAwB,EAAA,EAAA,CAAA,iBAAA,CAAAE,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAO,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;2EAAxB,wBAAwB,EAAA,SAAA,EAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,8BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;YAlCjC,EAUC,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;YACC,EAEc,CAAA,UAAA,CAAA,CAAA,EAAA,+CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YACd,EAec,CAAA,UAAA,CAAA,CAAA,EAAA,+CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YAChB,EAAqB,CAAA,YAAA,EAAA,CAAA;;;;;AA7BnB,YAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,2BAAA,CAAuC,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;4EAiChC,wBAAwB,EAAA,CAAA;kBArCpC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCT,EAAA,CAAA,EAAA,CAAA;2FAIqB,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;;;;;;QC3BV,EAA0E,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAE,CAAA,MAAA,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACjF,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAc,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAnB,QAAA,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAd,QAAA,EAAc,CAAA,iBAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA;;;;;QAGrD,EAA0E,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAQ,CAAA,MAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACvF,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAA6B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAlC,QAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,QAAA,EAA6B,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,QAAA,CAAA,CAAA,CAAA;;;;;QAGpE,EAA0E,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACpF,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAwC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAA7C,QAAA,EAAwC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAxC,QAAA,EAAwC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA,CAAA;;;;;QAG/E,EAA0E,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACrF,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAyC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAA9C,QAAA,EAAyC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzC,QAAA,EAAyC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,aAAA,EAAA,GAAA,CAAA,CAAA,CAAA;;;;;QAGhF,EAA0E,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACpF,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAkC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAvC,QAAA,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,QAAA,EAAkC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA;;;;;QAGzE,EAA0E,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACpF,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAkC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAvC,QAAA,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,QAAA,EAAkC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA;;;;;QAGzE,EAA0E,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAI,CAAA,MAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACnF,EAC8B,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAoC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAzC,QAAA,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAApC,QAAA,EAAoC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,QAAA,EAAA,GAAA,CAAA,CAAA,CAAA;;;;;QAGlE,EAA0E,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACrF,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAkC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAvC,QAAA,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,QAAA,EAAkC,CAAA,iBAAA,CAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA;;;;;QAGzE,EAA0E,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAM,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACrF,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAA4B,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAAjC,QAAA,EAA4B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA5B,EAA4B,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,MAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QAErE,EAAmD,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QACnD,EAAgF,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;MAQ7E,6BAA6B,CAAA;AASxC,IAAA,WAAA,GAAA;QARA,IAAA,CAAA,oBAAoB,GAAG,IAAI,kBAAkB,CAAmC,EAAE,CAAC,CAAC;AAC3E,QAAA,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AACtB,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,kBAAkB,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;KAO1E;AAED,IAAA,qBAAqB,CAAC,IAAI,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC9C;IAED,eAAe,GAAA;QACb,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAC3C,IAAI,CAAC,oBAAoB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACrD,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAC5C,EAAE,EAAE,CAAC,CAAC;KACR;;0GAtBU,6BAA6B,GAAA,CAAA,EAAA,CAAA;gFAA7B,6BAA6B,EAAA,SAAA,EAAA,CAAA,CAAA,4BAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,mCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;2BAM7B,YAAY,EAAA,CAAA,CAAA,CAAA;2BACZ,OAAO,EAAA,CAAA,CAAA,CAAA;;;;;;;;;YA3DhB,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAsC,aAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YAGhC,EAA+F,CAAA,SAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;YACjG,EAAM,CAAA,YAAA,EAAA,CAAA;YACN,EAA6D,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAC3D,YAAA,EAAgC,CAAA,uBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAC9B,YAAA,EAAiF,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACjF,YAAA,EAA0D,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAC5D,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAsC,CAAA,uBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACpC,YAAA,EAAuF,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACvF,YAAA,EAAyE,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAC3E,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAA0C,CAAA,uBAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA;AACxC,YAAA,EAAoF,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACpF,YAAA,EAAoF,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YACtF,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAA2C,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACzC,YAAA,EAAqF,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACrF,YAAA,EAAqF,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YACvF,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAoC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAClC,YAAA,EAAoF,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACpF,YAAA,EAA8E,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAChF,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAmC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACjC,YAAA,EAAoF,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACpF,YAAA,EAA8E,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAChF,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAsC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACpC,YAAA,EAAmF,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACnF,YAAA,EACuE,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YACzE,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAoC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAClC,YAAA,EAAqF,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACrF,YAAA,EAA8E,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAChF,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAoC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAClC,YAAA,EAAqF,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACrF,YAAA,EAAwE,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAC1E,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAmD,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACnD,YAAA,EAAgF,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;YAClF,EAAQ,CAAA,YAAA,EAAA,CAAA;YACR,EAAkF,CAAA,SAAA,CAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,CAAA;AACpF,YAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;;AA5CgC,YAAA,EAAiC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAjC,EAAiC,CAAA,UAAA,CAAA,aAAA,EAAA,GAAA,CAAA,iBAAA,CAAA,CAAA;AAEpD,YAAA,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAnC,EAAmC,CAAA,UAAA,CAAA,YAAA,EAAA,GAAA,CAAA,oBAAA,CAAA,CAAA;AAsC9B,YAAA,EAAwB,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA;YAAxB,EAAwB,CAAA,UAAA,CAAA,iBAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;AACY,YAAA,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAjB,EAAiB,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;AAE5D,YAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,YAAA,EAA6B,CAAA,UAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAT,KAAA,CAAA,CAAA,CAAA;;;;4EAMvC,6BAA6B,EAAA,CAAA;kBAvDzC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,EAC5B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,+hBAAA,CAAA,EAAA,CAAA;0CAKQ,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEmB,SAAS,EAAA,CAAA;sBAAjC,SAAS;uBAAC,YAAY,CAAA;gBACH,IAAI,EAAA,CAAA;sBAAvB,SAAS;uBAAC,OAAO,CAAA;;;;;;;AC7CZ,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;;;;;;QAUzB,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,wBAAA,EAAA,CAAA,CAAA,CAAA;QADC,EAAU,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,2GAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAc,CAAA,MAAA,CAAA,MAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;;QAC1B,EAAyB,CAAA,YAAA,EAAA,CAAA;;;;QAHxB,EAA8C,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,iBAAA,CAAA,CAAA,CAAA;;;;;QAIhD,EAIqB,CAAA,SAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAFnB,EAAkE,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,qBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;;;QAdpE,EAMC,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AALC,QAAA,EAAU,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,0EAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,eAAQ,CAAA,CAAA,EAAA,CAAC,2KAET,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,MAAA,CAAA,MAAA,CAAc,CAAA,CAFL,EAAA,CAAA,CAAA;QAKpB,EAAiB,CAAA,YAAA,EAAA,CAAA;AAClB,QAAA,EAI0B,CAAA,UAAA,CAAA,CAAA,EAAA,kEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,wBAAA,EAAA,CAAA,CAAA,CAAA;;AAC1B,QAAA,EAIqB,CAAA,UAAA,CAAA,CAAA,EAAA,8DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;AAZnB,QAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,SAAA,CAAkB,CAAA,IAAA,EAAA,MAAA,CAAA,SAAA,CAAA,CAAA;AAKjB,QAAA,EAA2D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA3D,EAA2D,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,qBAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAI3D,QAAA,EAA0D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1D,EAA0D,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,qBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;MASxD,kBAAkB,CAAA;AAK7B,IAAA,WAAA,CACkB,WAAwB,EACvB,WAAwB,EACzB,WAAwB,EAAA;AAFxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACzB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAN1C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;AAQrB,QAAA,QAAQ,CAAC,KAAK,GAAG,0CAA0C,CAAC;KAC7D;IAEK,QAAQ,GAAA;;YACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;AACrD,YAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAC5C,eAAe,EACf,MAAK;AACH,gBAAA,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AAChD,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,oBAAA,IAAI,EAAE;wBACJ,SAAS,EAAE,IAAI,CAAC,SAAS;AAC1B,qBAAA;AACD,oBAAA,IAAI,EAAE;wBACJ,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;AACjC,wBAAA,QAAQ,EAAE,EAAE;AACZ,wBAAA,MAAM,EAAE,OAAO;AAChB,qBAAA;AACF,iBAAA,CAAC,CAAC;aACJ,EACD,MAAM,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CACnD,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAO,QAAQ,KAAI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;gBAEvC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;oBACrD,IAAI,CAAC,MAAM,CAAC;wBACV,IAAI,EAAE,IAAI,IAAI,EAAE;wBAChB,EAAE,EAAE,IAAI,IAAI,EAAE;AACf,qBAAA,CAAC,CAAC;AACJ,iBAAA;aACF,CAAA,CAAC,CAAC;SACJ,CAAA,CAAA;AAAA,KAAA;AAED,IAAA,MAAM,CAAC,IAAoB,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;KAC5C;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;KACzC;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AACtC,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACtB,SAAA;KACF;;oFAxDU,kBAAkB,EAAA,EAAA,CAAA,iBAAA,CAAAE,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAA,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAO,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;qEAAlB,kBAAkB,EAAA,SAAA,EAAA,CAAA,CAAA,2BAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,wBAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;YAtC3B,EAWC,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;YACC,EAEc,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YACd,EAkBc,CAAA,UAAA,CAAA,CAAA,EAAA,yCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YAChB,EAAqB,CAAA,YAAA,EAAA,CAAA;;;;;AAjCnB,YAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,qBAAA,CAAiC,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAA,gFAAA,CAAA,cAAA,EAAA,KAAA,CAAA,CAAA;;;;4EAqC1B,kBAAkB,EAAA,CAAA;kBAzC9B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAC3B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,0KAAA,CAAA,EAAA,CAAA;uHAIqB,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;;;;;;;AC3Bd,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;;;;;QAQzB,EAK6B,CAAA,SAAA,CAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAJ3B,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,QAAA,CAAoB,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,wBAAA,CAAA,CAAA,CAAA;;;;;QAKtB,EAMqB,CAAA,SAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAJnB,EAEC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,4BAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;;;QAfH,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAFC,QAAA,EAAU,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,uFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,qBAAc,CAAA,CAAA,EAAA,CAAC,iLACf,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,MAAA,EAAQ,CAAA,CADO,EAAA,CAAA,CAAA;QAE1B,EAAiB,CAAA,YAAA,EAAA,CAAA;AAClB,QAAA,EAK6B,CAAA,UAAA,CAAA,CAAA,EAAA,mFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,CAAA,CAAA;;AAC7B,QAAA,EAMqB,CAAA,UAAA,CAAA,CAAA,EAAA,2EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;AAVlB,QAAA,EAAkE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAlE,EAAkE,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,4BAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAKlE,QAAA,EAAiE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjE,EAAiE,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,4BAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;MAW/D,+BAA+B,CAAA;IAI1C,WACkB,CAAA,WAAwB,EACxB,WAAwB,EAAA;AADxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAJ1C,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAMrE,QAAA,QAAQ,CAAC,KAAK,GAAG,qDAAqD,CAAC;KACxE;IAEK,QAAQ,GAAA;+DAAoB,CAAA,CAAA;AAAA,KAAA;AAElC,IAAA,MAAM,CAAC,IAAoB,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;KACtD;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,8BAA8B,EAAE,CAAC;KACnD;;8GAnBU,+BAA+B,EAAA,EAAA,CAAA,iBAAA,CAAAP,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAO,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;kFAA/B,+BAA+B,EAAA,SAAA,EAAA,CAAA,CAAA,yCAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,qCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;YAxCxC,EAYC,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;YACC,EAEc,CAAA,UAAA,CAAA,CAAA,EAAA,sDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YACd,EAmBc,CAAA,UAAA,CAAA,CAAA,EAAA,sDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YAChB,EAAqB,CAAA,YAAA,EAAA,CAAA;;;;;AAnCnB,YAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,iCAAA,CAA6C,wBAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,CAAA,iGAAA,CAAA,cAAA,EAAA,KAAA,CAAA,CAAA;;;;4EAuCtC,+BAA+B,EAAA,CAAA;kBA3C3C,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yCAAyC,EACzC,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,0KAAA,CAAA,EAAA,CAAA;2FAIqB,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;;;;;;;AC7Bd,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;;;;;QAQzB,EAG+B,CAAA,SAAA,CAAA,CAAA,EAAA,6BAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAD7B,EAA8C,CAAA,UAAA,CAAA,OAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,gBAAA,CAAA,CAAA,CAAA;;;;;QAEhD,EAIsB,CAAA,SAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAHpB,EAAA,CAAA,UAAA,CAAA,QAAA,EAAA,GAAA,CAAc,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,kBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;;;QAVhB,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAFC,QAAA,EAAU,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,kFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,qBAAc,CAAA,CAAA,EAAA,CAAC,kLACf,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,MAAA,CAAwB,CAAA,CADT,EAAA,CAAA,CAAA;QAE1B,EAAiB,CAAA,YAAA,EAAA,CAAA;AAClB,QAAA,EAG+B,CAAA,UAAA,CAAA,CAAA,EAAA,+EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,6BAAA,EAAA,CAAA,CAAA,CAAA;;AAC/B,QAAA,EAIsB,CAAA,UAAA,CAAA,CAAA,EAAA,sEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;AAPnB,QAAA,EAAwD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxD,EAAwD,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,kBAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAKxD,QAAA,EAAuD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvD,EAAuD,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,kBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;MAQrD,0BAA0B,CAAA;IAGrC,WACkB,CAAA,WAAwB,EACxB,WAAwB,EAAA;AADxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAExC,QAAA,QAAQ,CAAC,KAAK,GAAG,mDAAmD,CAAC;KACtE;IAEK,QAAQ,GAAA;+DAAoB,CAAA,CAAA;AAAA,KAAA;AAElC,IAAA,gBAAgB,CAAC,IAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;KAC7C;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC;KAC1C;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;KAC5B;;oGAtBU,0BAA0B,EAAA,EAAA,CAAA,iBAAA,CAAAP,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAO,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;6EAA1B,0BAA0B,EAAA,SAAA,EAAA,CAAA,CAAA,oCAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,gCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;YAlCnC,EAUC,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;YACC,EAEc,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YACd,EAec,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YAChB,EAAqB,CAAA,YAAA,EAAA,CAAA;;;;;AA7BnB,YAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,6BAAA,CAAyC,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;4EAiClC,0BAA0B,EAAA,CAAA;kBArCtC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oCAAoC,EACpC,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCT,EAAA,CAAA,EAAA,CAAA;2FAIqB,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;;;;;;;ACvBd,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;;;;;QAQzB,EAG+B,CAAA,SAAA,CAAA,CAAA,EAAA,6BAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAD7B,EAA6C,CAAA,UAAA,CAAA,OAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,eAAA,CAAA,CAAA,CAAA;;;;;QAE/C,EAIsB,CAAA,SAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAHpB,EAAA,CAAA,UAAA,CAAA,QAAA,EAAA,GAAA,CAAc,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,iBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;;;QAVhB,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAFC,QAAA,EAAU,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,iFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,qBAAc,CAAA,CAAA,EAAA,CAAC,iLACf,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,MAAA,CAAwB,CAAA,CADT,EAAA,CAAA,CAAA;QAE1B,EAAiB,CAAA,YAAA,EAAA,CAAA;AAClB,QAAA,EAG+B,CAAA,UAAA,CAAA,CAAA,EAAA,8EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,6BAAA,EAAA,CAAA,CAAA,CAAA;;AAC/B,QAAA,EAIsB,CAAA,UAAA,CAAA,CAAA,EAAA,qEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;AAPnB,QAAA,EAAuD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvD,EAAuD,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,iBAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAKvD,QAAA,EAAsD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAtD,EAAsD,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,iBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;MAQpD,yBAAyB,CAAA;IAGpC,WACkB,CAAA,WAAwB,EACxB,WAAwB,EAAA;AADxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAExC,QAAA,QAAQ,CAAC,KAAK,GAAG,kDAAkD,CAAC;KACrE;IAEK,QAAQ,GAAA;+DAAoB,CAAA,CAAA;AAAA,KAAA;AAElC,IAAA,gBAAgB,CAAC,IAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;KAC5C;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;KACzC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;KAC5B;;kGAtBU,yBAAyB,EAAA,EAAA,CAAA,iBAAA,CAAAP,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAO,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;4EAAzB,yBAAyB,EAAA,SAAA,EAAA,CAAA,CAAA,mCAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,+BAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;YAlClC,EAUC,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;YACC,EAEc,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YACd,EAec,CAAA,UAAA,CAAA,CAAA,EAAA,gDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YAChB,EAAqB,CAAA,YAAA,EAAA,CAAA;;;;;AA7BnB,YAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,2BAAA,CAAuC,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;4EAiChC,yBAAyB,EAAA,CAAA;kBArCrC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mCAAmC,EACnC,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCT,EAAA,CAAA,EAAA,CAAA;2FAIqB,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;;;;;;QCbV,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AAAA,QAAA,EAAgB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AAArB,QAAA,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAhB,QAAA,EAAgB,CAAA,iBAAA,CAAA,WAAA,CAAA,EAAA,CAAA,CAAA;;;;;QAGvD,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,WAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,aAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QAGA,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,UAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,aAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QAGA,EAKC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,EAAA,SAAA,CAAA,CAAA;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;;QACL,EAAuC,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACrC,QAAA,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;;QAAA,EAAK,CAAA,YAAA,EAAA,CAAA;;;;AADH,QAAA,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,WAAA,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAA;;;;;QAEF,EAAwD,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;QACxD,EAKM,CAAA,SAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;AAJJ,QAAA,EAAsB,CAAA,qBAAA,CAAA,YAAA,EAAA,OAAA,CAAA,CAAA;;;;MAerB,6BAA6B,CAAA;IAYxC,WACkB,CAAA,aAA4B,EAC5B,QAAkB,EAClB,KAAkB,EAClB,WAAwB,EACxB,WAAwB,EAAA;AAJxB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAClB,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAa;AAClB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAhBjC,QAAA,IAAK,CAAA,KAAA,GAA6B,EAAE,CAAC;AAC9C,QAAA,IAAU,CAAA,UAAA,GAAqB,SAAS,CAAC;QACzC,IAAA,CAAA,SAAS,GAAG,IAAI,kBAAkB,CAAyB,EAAE,CAAC,CAAC;AAC/D,QAAA,IAAY,CAAA,YAAA,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;AACnE,QAAA,IAAU,CAAA,UAAA,GAAG,CAAC,CAAC;QACf,IAAS,CAAA,SAAA,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,IAAA,CAAA,OAAO,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAGhC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAE,CAAC;KAQtB;IAEJ,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;KAClC;AAEO,IAAA,aAAa,CAAC,IAA8B,EAAA;QAClD,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YAChC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YAClC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;YAC7C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;AAC/C,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAChC,aAAa,EACb;AACE,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,QAAQ;AACf,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;AACD,YAAA,KAAK,EAAE;;gBAEL,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,KAAK,IAAI;AACtD,gBAAA,UAAU,EAAE,QAAQ;AACpB,gBAAA,KAAK,EAAE;AACL,oBAAA,IAAI,EAAE,OAAO;AACd,iBAAA;AACD,gBAAA,MAAM,EAAE;oBACN,SAAS,GAAA;AACP,wBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;qBAC9B;AACF,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,KAAK,EAAE;AACL,oBAAA,IAAI,EAAE,OAAO;AACd,iBAAA;;AAED,gBAAA,MAAM,EAAE;oBACN,SAAS,GAAA;AACP,wBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;qBAC9B;AACF,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,aAAa,EAAE,CAAC;AAChB,gBAAA,WAAW,EACT,8EAA8E;AACjF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,MAAM,EAAE;;;;;;AAMP,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA;AACE,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,IAAI,EAAE,OAAO;;AAEb,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,IAAI,EAAE,SAAS;;AAEf,oBAAA,IAAI,EAAE,cAAc;AACrB,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,IAAI,EAAE,QAAQ;;AAEd,oBAAA,IAAI,EAAE,cAAc;AACrB,iBAAA;AACF,aAAA;SACF,EACD,CAAC,GAAG,KAAI;;AAER,SAAC,CACF,CAAC;KACH;IAED,eAAe,GAAA;QACb,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KACjC;;0GAlHU,6BAA6B,EAAA,EAAA,CAAA,iBAAA,CAAAJ,aAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAJ,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAK,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAC,IAAA,CAAA,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;gFAA7B,6BAA6B,EAAA,SAAA,EAAA,CAAA,CAAA,4BAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,mCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;2BAQ7B,YAAY,EAAA,CAAA,CAAA,CAAA;2BACZ,OAAO,EAAA,CAAA,CAAA,CAAA;;;;;;;;;YApFhB,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAsC,aAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;YAGhC,EAA0C,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AAC5C,YAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;AAER,YAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAA6B,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAEzB,YAAA,EAAkC,CAAA,uBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AAChC,YAAA,EAOK,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAA4D,CAAA,UAAA,CAAA,CAAA,EAAA,2CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YAC9D,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAA2C,CAAA,uBAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACzC,YAAA,EAOK,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YACP,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAA0C,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AACxC,YAAA,EAOK,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YACP,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAoC,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAClC,YAAA,EAOK,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;AACL,YAAA,EAEK,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA;YACP,EAAe,CAAA,qBAAA,EAAA,CAAA;AACf,YAAA,EAAwD,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;AACxD,YAAA,EAKM,CAAA,UAAA,CAAA,EAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;YACR,EAAQ,CAAA,YAAA,EAAA,CAAA;YACR,EAGiB,CAAA,SAAA,CAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,CAAA;AACnB,YAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;;AA/Da,YAAA,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAAxB,EAAwB,CAAA,UAAA,CAAA,YAAA,EAAA,GAAA,CAAA,SAAA,CAAA,CAAA;AAmDnB,YAAA,EAA6B,CAAA,SAAA,CAAA,EAAA,CAAA,CAAA;YAA7B,EAA6B,CAAA,UAAA,CAAA,iBAAA,EAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AAK1B,YAAA,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;YAArB,EAAqB,CAAA,UAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,YAAA,CAAA,CAAA;AAI5C,YAAA,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,YAAA,EAA6B,CAAA,UAAA,CAAA,iBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAR,KAAA,CAAA,CAAA,CAAA;;;;4EAQ1B,6BAA6B,EAAA,CAAA;kBA9EzC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,EAC5B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyET,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,+hBAAA,CAAA,EAAA,CAAA;uKAIQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAOmB,SAAS,EAAA,CAAA;sBAAjC,SAAS;uBAAC,YAAY,CAAA;gBACH,IAAI,EAAA,CAAA;sBAAvB,SAAS;uBAAC,OAAO,CAAA;;;;;;;ACrFZ,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;;;;;QAQzB,EAG8B,CAAA,SAAA,CAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAD5B,EAA+C,CAAA,UAAA,CAAA,OAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,iBAAA,CAAA,CAAA,CAAA;;;;;QAEjD,EAIsB,CAAA,SAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAHpB,EAAA,CAAA,UAAA,CAAA,QAAA,EAAA,GAAA,CAAc,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,mBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;;;QAVhB,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAFC,QAAA,EAAU,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,mFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,qBAAc,CAAA,CAAA,EAAA,CAAC,mLACf,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,MAAA,CAAwB,CAAA,CADT,EAAA,CAAA,CAAA;QAE1B,EAAiB,CAAA,YAAA,EAAA,CAAA;AAClB,QAAA,EAG8B,CAAA,UAAA,CAAA,CAAA,EAAA,+EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,CAAA,CAAA;;AAC9B,QAAA,EAIsB,CAAA,UAAA,CAAA,CAAA,EAAA,uEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;AAPnB,QAAA,EAAyD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAzD,EAAyD,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,mBAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAKzD,QAAA,EAAwD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAxD,EAAwD,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,mBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;MAQtD,2BAA2B,CAAA;IAGtC,WACkB,CAAA,WAAwB,EACxB,WAAwB,EAAA;AADxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAExC,QAAA,QAAQ,CAAC,KAAK,GAAG,oDAAoD,CAAC;KACvE;IAEK,QAAQ,GAAA;+DAAoB,CAAA,CAAA;AAAA,KAAA;AAElC,IAAA,gBAAgB,CAAC,IAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;KAC9C;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;KAC3C;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;KAC5B;;sGAtBU,2BAA2B,EAAA,EAAA,CAAA,iBAAA,CAAAE,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAO,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;8EAA3B,2BAA2B,EAAA,SAAA,EAAA,CAAA,CAAA,4BAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,iCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;YAlCpC,EAUC,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;YACC,EAEc,CAAA,UAAA,CAAA,CAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YACd,EAec,CAAA,UAAA,CAAA,CAAA,EAAA,kDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YAChB,EAAqB,CAAA,YAAA,EAAA,CAAA;;;;;AA7BnB,YAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,8BAAA,CAA0C,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;4EAiCnC,2BAA2B,EAAA,CAAA;kBArCvC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,EAC5B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCT,EAAA,CAAA,EAAA,CAAA;2FAIqB,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;;;;;;;ACvBd,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;;;;;QAQzB,EAG8B,CAAA,SAAA,CAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAD5B,EAAiD,CAAA,UAAA,CAAA,OAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,mBAAA,CAAA,CAAA,CAAA;;;;;QAEnD,EAIsB,CAAA,SAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAHpB,EAAA,CAAA,UAAA,CAAA,QAAA,EAAA,GAAA,CAAc,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,qBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;;;QAVhB,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAFC,QAAA,EAAU,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,qFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,qBAAc,CAAA,CAAA,EAAA,CAAC,qLACf,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,MAAA,CAAwB,CAAA,CADT,EAAA,CAAA,CAAA;QAE1B,EAAiB,CAAA,YAAA,EAAA,CAAA;AAClB,QAAA,EAG8B,CAAA,UAAA,CAAA,CAAA,EAAA,iFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,CAAA,CAAA;;AAC9B,QAAA,EAIsB,CAAA,UAAA,CAAA,CAAA,EAAA,yEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;AAPnB,QAAA,EAA2D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA3D,EAA2D,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,qBAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAK3D,QAAA,EAA0D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1D,EAA0D,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,qBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;MAQxD,6BAA6B,CAAA;IAGxC,WACkB,CAAA,WAAwB,EACxB,WAAwB,EAAA;AADxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAExC,QAAA,QAAQ,CAAC,KAAK,GAAG,sDAAsD,CAAC;KACzE;IAEK,QAAQ,GAAA;+DAAoB,CAAA,CAAA;AAAA,KAAA;AAElC,IAAA,gBAAgB,CAAC,IAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;KAChD;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC;KAC7C;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;KAC5B;;0GAtBU,6BAA6B,EAAA,EAAA,CAAA,iBAAA,CAAAP,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAO,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;gFAA7B,6BAA6B,EAAA,SAAA,EAAA,CAAA,CAAA,8BAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,mCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;YAlCtC,EAUC,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;YACC,EAEc,CAAA,UAAA,CAAA,CAAA,EAAA,oDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YACd,EAec,CAAA,UAAA,CAAA,CAAA,EAAA,oDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YAChB,EAAqB,CAAA,YAAA,EAAA,CAAA;;;;;AA7BnB,YAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,+BAAA,CAA2C,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;4EAiCpC,6BAA6B,EAAA,CAAA;kBArCzC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,EAC9B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCT,EAAA,CAAA,EAAA,CAAA;2FAIqB,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;;;;;;;ACvBd,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;;;;;QAQzB,EAG8B,CAAA,SAAA,CAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAD5B,EAAgD,CAAA,UAAA,CAAA,OAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,kBAAA,CAAA,CAAA,CAAA;;;;;QAElD,EAIsB,CAAA,SAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAHpB,EAAA,CAAA,UAAA,CAAA,QAAA,EAAA,GAAA,CAAc,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,oBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;;;QAVhB,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAFC,QAAA,EAAU,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,oFAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,qBAAc,CAAA,CAAA,EAAA,CAAC,oLACf,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,MAAA,CAAwB,CAAA,CADT,EAAA,CAAA,CAAA;QAE1B,EAAiB,CAAA,YAAA,EAAA,CAAA;AAClB,QAAA,EAG8B,CAAA,UAAA,CAAA,CAAA,EAAA,gFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,CAAA,CAAA;;AAC9B,QAAA,EAIsB,CAAA,UAAA,CAAA,CAAA,EAAA,wEAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;AAPnB,QAAA,EAA0D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1D,EAA0D,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,oBAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAK1D,QAAA,EAAyD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAzD,EAAyD,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,oBAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;MAQvD,4BAA4B,CAAA;IAGvC,WACkB,CAAA,WAAwB,EACxB,WAAwB,EAAA;AADxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAExC,QAAA,QAAQ,CAAC,KAAK,GAAG,qDAAqD,CAAC;KACxE;IAEK,QAAQ,GAAA;+DAAoB,CAAA,CAAA;AAAA,KAAA;AAElC,IAAA,gBAAgB,CAAC,IAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;KAC/C;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC;KAC5C;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;KAC5B;;wGAtBU,4BAA4B,EAAA,EAAA,CAAA,iBAAA,CAAAP,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAO,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;+EAA5B,4BAA4B,EAAA,SAAA,EAAA,CAAA,CAAA,6BAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,kCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;YAlCrC,EAUC,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;YACC,EAEc,CAAA,UAAA,CAAA,CAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YACd,EAec,CAAA,UAAA,CAAA,CAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YAChB,EAAqB,CAAA,YAAA,EAAA,CAAA;;;;;AA7BnB,YAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,8BAAA,CAA0C,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;4EAiCnC,4BAA4B,EAAA,CAAA;kBArCxC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,6BAA6B,EAC7B,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCT,EAAA,CAAA,EAAA,CAAA;2FAIqB,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;;;;;;;ACrBd,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;;;;;QAQzB,EAK6B,CAAA,SAAA,CAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAJ3B,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,QAAA,CAAoB,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,uBAAA,CAAA,CAAA,CAAA;;;;;QAKtB,EAMqB,CAAA,SAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAJnB,EAEC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,2BAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;;;QAfH,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAFC,QAAA,EAAU,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,sFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,qBAAc,CAAA,CAAA,EAAA,CAAC,gLACf,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,MAAA,EAAQ,CAAA,CADO,EAAA,CAAA,CAAA;QAE1B,EAAiB,CAAA,YAAA,EAAA,CAAA;AAClB,QAAA,EAK6B,CAAA,UAAA,CAAA,CAAA,EAAA,kFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,CAAA,CAAA;;AAC7B,QAAA,EAMqB,CAAA,UAAA,CAAA,CAAA,EAAA,0EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;AAVlB,QAAA,EAAiE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjE,EAAiE,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,2BAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAKjE,QAAA,EAAgE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhE,EAAgE,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,2BAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;MAW9D,8BAA8B,CAAA;IAGzC,WACkB,CAAA,WAAwB,EACxB,WAAwB,EAAA;AADxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAH1C,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;AAKvE,QAAA,QAAQ,CAAC,KAAK,GAAG,oDAAoD,CAAC;KACvE;AAED,IAAA,MAAM,CAAC,IAAoB,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;KACrD;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,6BAA6B,EAAE,CAAC;KAClD;;4GAhBU,8BAA8B,EAAA,EAAA,CAAA,iBAAA,CAAAP,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAO,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;iFAA9B,8BAA8B,EAAA,SAAA,EAAA,CAAA,CAAA,wCAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,oCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;YAxCvC,EAYC,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;YACC,EAEc,CAAA,UAAA,CAAA,CAAA,EAAA,qDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YACd,EAmBc,CAAA,UAAA,CAAA,CAAA,EAAA,qDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YAChB,EAAqB,CAAA,YAAA,EAAA,CAAA;;;;;AAnCnB,YAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,+BAAA,CAA2C,wBAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,CAAA,iGAAA,CAAA,cAAA,EAAA,KAAA,CAAA,CAAA;;;;4EAuCpC,8BAA8B,EAAA,CAAA;kBA3C1C,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wCAAwC,EACxC,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,0KAAA,CAAA,EAAA,CAAA;2FAIqB,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;;;;;;;AC3Bd,QAAA,EAAyB,CAAA,SAAA,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA;;;;;QAQzB,EAK6B,CAAA,SAAA,CAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAJ3B,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,QAAA,CAAoB,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,yBAAA,CAAA,CAAA,CAAA;;;;;QAKtB,EAMqB,CAAA,SAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;QAJnB,EAEC,CAAA,UAAA,CAAA,WAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,6BAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;;;;QAfH,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,CAAA;AAFC,QAAA,EAAU,CAAA,UAAA,CAAA,QAAA,EAAA,SAAA,wFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,qBAAc,CAAA,CAAA,EAAA,CAAC,kLACf,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,MAAA,EAAQ,CAAA,CADO,EAAA,CAAA,CAAA;QAE1B,EAAiB,CAAA,YAAA,EAAA,CAAA;AAClB,QAAA,EAK6B,CAAA,UAAA,CAAA,CAAA,EAAA,oFAAA,EAAA,CAAA,EAAA,CAAA,EAAA,4BAAA,EAAA,CAAA,CAAA,CAAA;;AAC7B,QAAA,EAMqB,CAAA,UAAA,CAAA,CAAA,EAAA,4EAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;;;AAVlB,QAAA,EAAmE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnE,EAAmE,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,6BAAA,CAAA,KAAA,KAAA,CAAA,CAAA;AAKnE,QAAA,EAAkE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAlE,EAAkE,CAAA,UAAA,CAAA,MAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,CAAA,WAAA,CAAA,6BAAA,CAAA,KAAA,IAAA,CAAA,CAAA;;;MAWhE,gCAAgC,CAAA;IAI3C,WACkB,CAAA,WAAwB,EACxB,WAAwB,EAAA;AADxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAJ1C,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;AAMvE,QAAA,QAAQ,CAAC,KAAK,GAAG,sDAAsD,CAAC;KACzE;AAED,IAAA,MAAM,CAAC,IAAoB,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;KACvD;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,+BAA+B,EAAE,CAAC;KACpD;;gHAjBU,gCAAgC,EAAA,EAAA,CAAA,iBAAA,CAAAP,IAAA,CAAA,WAAA,CAAA,EAAA,EAAA,CAAA,iBAAA,CAAAO,WAAA,CAAA,CAAA,CAAA,EAAA,CAAA;mFAAhC,gCAAgC,EAAA,SAAA,EAAA,CAAA,CAAA,0CAAA,CAAA,CAAA,EAAA,SAAA,EAAA,SAAA,sCAAA,CAAA,EAAA,EAAA,GAAA,EAAA;QAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;;;;;;;;YAxCzC,EAYC,CAAA,cAAA,CAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,CAAA,CAAA;;;YACC,EAEc,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YACd,EAmBc,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,CAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;YAChB,EAAqB,CAAA,YAAA,EAAA,CAAA;;;;;AAnCnB,YAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,iCAAA,CAA6C,wBAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,cAAA,EAAA,IAAA,CAAA,CAAA,YAAA,EAAA,GAAA,CAAA,CAAA,kBAAA,EAAA,EAAA,CAAA,WAAA,CAAA,CAAA,EAAA,CAAA,EAAA,GAAA,CAAA,WAAA,CAAA,WAAA,CAAA,KAAA,IAAA,CAAA,iGAAA,CAAA,cAAA,EAAA,KAAA,CAAA,CAAA;;;;4EAuCtC,gCAAgC,EAAA,CAAA;kBA3C5C,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0CAA0C,EAC1C,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,0KAAA,CAAA,EAAA,CAAA;2FAIqB,OAAO,EAAA,CAAA;sBAA5B,SAAS;uBAAC,SAAS,CAAA;;;;ACJtB,MAAM,MAAM,GAAW;AACrB,IAAA,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,wBAAwB,EAAE;AACxE,IAAA,EAAE,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,0BAA0B,EAAE;AAC5E,IAAA,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,yBAAyB,EAAE;AAC1E,IAAA;AACE,QAAA,IAAI,EAAE,4BAA4B;AAClC,QAAA,SAAS,EAAE,2BAA2B;AACvC,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,8BAA8B;AACpC,QAAA,SAAS,EAAE,6BAA6B;AACzC,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,6BAA6B;AACnC,QAAA,SAAS,EAAE,4BAA4B;AACxC,KAAA;AACD,IAAA,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,EAAE;AAC3D,IAAA;AACE,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,SAAS,EAAE,+BAA+B;AAC3C,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,SAAS,EAAE,8BAA8B;AAC1C,KAAA;AACD,IAAA;AACE,QAAA,IAAI,EAAE,4BAA4B;AAClC,QAAA,SAAS,EAAE,gCAAgC;AAC5C,KAAA;CACF,CAAC;MA8DW,aAAa,CAAA;AACxB,IAAA,WAAA,CAA6B,SAAkC,EAAA;AAAlC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAyB;AAC7D,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,SAAS,CAAC,QAAQ,EAAE,CAAC;KACtB;;0EAJU,aAAa,EAAA,EAAA,CAAA,QAAA,CAAAC,uBAAA,CAAA,CAAA,CAAA,EAAA,CAAA;+DAAb,aAAa,EAAA,CAAA,CAAA;mEArCtB,YAAY;AACZ,QAAA;AACE,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,KAAK,EAAE,IAAI;AACX,oBAAA,OAAO,EAAE,MAAM;AACf,oBAAA,QAAQ,EAAE,MAAM;AACjB,iBAAA;AACF,aAAA;AACF,SAAA;QACD,gBAAgB;QAChB,aAAa;QACb,kBAAkB;QAClB,mBAAmB;QACnB,mBAAmB;QACnB,cAAc;QACd,kBAAkB;QAClB,aAAa;QACb,aAAa;QACb,eAAe;QACf,wBAAwB;QACxB,mBAAmB;QACnB,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,cAAc;QACd,aAAa;QACb,eAAe;QACf,SAAS;QACT,oBAAoB;QACpB,aAAa;QACb,mBAAmB;QACnB,eAAe;QACf,qBAAqB,CAAA,EAAA,CAAA,CAAA;;4EAGZ,aAAa,EAAA,CAAA;kBA5DzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;wBAC1B,8BAA8B;wBAC9B,0BAA0B;wBAC1B,gCAAgC;wBAChC,0BAA0B;wBAC1B,2BAA2B;wBAC3B,SAAS;wBACT,wBAAwB;wBACxB,6BAA6B;wBAC7B,oBAAoB;wBACpB,+BAA+B;wBAC/B,kBAAkB;wBAClB,yBAAyB;wBACzB,6BAA6B;wBAC7B,2BAA2B;wBAC3B,6BAA6B;wBAC7B,4BAA4B;wBAC5B,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,OAAO,EAAE;wBACP,YAAY;AACZ,wBAAA;AACE,4BAAA,QAAQ,EAAE,YAAY;AACtB,4BAAA,SAAS,EAAE;AACT,gCAAA;AACE,oCAAA,KAAK,EAAE,IAAI;AACX,oCAAA,OAAO,EAAE,MAAM;AACf,oCAAA,QAAQ,EAAE,MAAM;AACjB,iCAAA;AACF,6BAAA;AACF,yBAAA;wBACD,gBAAgB;wBAChB,aAAa;wBACb,kBAAkB;wBAClB,mBAAmB;wBACnB,mBAAmB;wBACnB,cAAc;wBACd,kBAAkB;wBAClB,aAAa;wBACb,aAAa;wBACb,eAAe;wBACf,wBAAwB;wBACxB,mBAAmB;wBACnB,gBAAgB;wBAChB,eAAe;wBACf,gBAAgB;wBAChB,cAAc;wBACd,aAAa;wBACb,eAAe;wBACf,SAAS;wBACT,oBAAoB;wBACpB,aAAa;wBACb,mBAAmB;wBACnB,eAAe;wBACf,qBAAqB;AACtB,qBAAA;iBACF,CAAA;;;AACY,CAAA,YAAA;AAAA,IAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,aAAa,mBA1DtB,0BAA0B;YAC1B,8BAA8B;YAC9B,0BAA0B;YAC1B,gCAAgC;YAChC,0BAA0B;YAC1B,2BAA2B;YAC3B,SAAS;YACT,wBAAwB;YACxB,6BAA6B;YAC7B,oBAAoB;YACpB,+BAA+B;YAC/B,kBAAkB;YAClB,yBAAyB;YACzB,6BAA6B;YAC7B,2BAA2B;YAC3B,6BAA6B;YAC7B,4BAA4B;YAC5B,kBAAkB,CAIlB,EAAA,OAAA,EAAA,CAAA,YAAY,EAEA,YAAY,EASxB,gBAAgB;YAChB,aAAa;YACb,kBAAkB;YAClB,mBAAmB;YACnB,mBAAmB;YACnB,cAAc;YACd,kBAAkB;YAClB,aAAa;YACb,aAAa;YACb,eAAe;YACf,wBAAwB;YACxB,mBAAmB;YACnB,gBAAgB;YAChB,eAAe;YACf,gBAAgB;YAChB,cAAc;YACd,aAAa;YACb,eAAe;YACf,SAAS;YACT,oBAAoB;YACpB,aAAa;YACb,mBAAmB;YACnB,eAAe;YACf,qBAAqB,CAAA,EAAA,CAAA,CAAA;AAAA,CAAA,GAAA;;ACvIzB;;AAEG;;ACFH;;AAEG;;;;"}