libey-ng-component-library 0.0.19 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"libey-ng-component-library.umd.js","sources":["../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.service.ts","../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.component.ts","../../../projects/libey-ng-component-library/src/lib/table/directives/libey-column.directive.ts","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.component.ts","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.component.html","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.module.ts","../../../projects/libey-ng-component-library/src/utils/SigWeb/SigWeb.ts","../../../projects/libey-ng-component-library/src/lib/signature/libey-ng-signature/libey-ng-signature.component.ts","../../../projects/libey-ng-component-library/src/lib/signature/libey-ng-signature/libey-ng-signature.component.html","../../../projects/libey-ng-component-library/src/lib/signature/libey-ng-signature.module.ts","../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.module.ts","../../../projects/libey-ng-component-library/src/public-api.ts","../../../projects/libey-ng-component-library/src/libey-ng-component-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LibeyNgComponentLibraryService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-libey-ngComponent-library',\n template: `\n <p>\n libey-ng-component-library works!\n </p>\n `,\n styles: [\n ]\n})\nexport class LibeyNgComponentLibraryComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'libey-ng-column'\r\n})\r\nexport class LibeyColumnDirective {\r\n @Input() header!: string;\r\n @Input() property!: string;\r\n @Input() width!: number;\r\n @Input() view: boolean = true;\r\n @Input() arrayMap?: string;\r\n @Input() isArray?: boolean;\r\n @Input() expandable?: boolean;\r\n @Input() class?: string;\r\n @Input() classHeader?: string;\r\n @Input() childTableTemplate: TemplateRef<any>;\r\n @Input() isAutoClose: (item: any) => boolean = () => true;\r\n @Input() rowspan: (item: any) => number = () => 0;\r\n @Input() isRowspan?: boolean;\r\n @ContentChild('headerTemplate', { static: true }) headerTemplate: TemplateRef<any>;\r\n @ContentChild('cellTemplate', { static: true }) cellTemplate: TemplateRef<any>; \r\n @ContentChild(TemplateRef, { static: true }) defaultTemplate: TemplateRef<any>;\r\n getCellTemplate(): TemplateRef<any> {\r\n return this.cellTemplate || this.defaultTemplate;\r\n }\r\n\r\n \r\n}","import { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, QueryList, SimpleChanges, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { LibeyColumnDirective } from './directives/libey-column.directive';\r\ninterface IDataKey {\r\n key: number;\r\n dataKey: number;\r\n childTableTemplate: TemplateRef<any>;\r\n data: any[];\r\n autoClose: boolean;\r\n}\r\n\r\nclass DataKey implements IDataKey {\r\n key: number;\r\n dataKey: number;\r\n childTableTemplate: TemplateRef<any>;\r\n data: any[];\r\n autoClose: boolean;\r\n rowspan: number;\r\n}\r\n\r\n@Component({\r\n selector: 'libey-ng-table',\r\n templateUrl: './libey-ng-table.component.html',\r\n styleUrls: ['./libey-ng-table.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class LibeyNgTableComponent implements OnInit, AfterViewInit, OnChanges {\r\n @Input() set data(value: any[]) {\r\n this._data = value;\r\n }\r\n get data(): any[] {\r\n return this._data;\r\n }\r\n @Input() pageSize: number = 10;\r\n @Input() totalSize: number = 0;\r\n @Input() maxPageButtons: number = 5;\r\n @Input() height: number;\r\n @Input() expandable: boolean = false;\r\n @Input() viewPaginate: boolean = true;\r\n @Input() childTableTemplate!: TemplateRef<any>;\r\n @Input() headerfixed: boolean = false;\r\n @Input() class: string;\r\n @Input() internalPagination: boolean = true;\r\n @Input() currentPage: number = 1;\r\n @Output() pageChange = new EventEmitter<number>();\r\n \r\n @ContentChildren(LibeyColumnDirective) columns!: QueryList<LibeyColumnDirective>;\r\n\r\n rowExpandable: boolean[] = [];\r\n rowExpandableDetail: IDataKey[] = [];\r\n paginatedData: any[] = [];\r\n _data: any[] = [];\r\n columnWidths: number[] = [];\r\n resizingColumnIndex: number | null = null;\r\n startX: number = 0;\r\n startWidth: number = 0;\r\n @ViewChild('tableContainer') tableContainer!: ElementRef;\r\n @ViewChild('table') tableElement!: ElementRef;\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes.data && changes.data.previousValue){\r\n changes.data.currentValue.forEach((value, index) => {\r\n var findData = this.rowExpandableDetail.find(x => x.dataKey == index);\r\n if(findData != null)\r\n findData.autoClose = value.autoClose;\r\n });\r\n this._data = changes.data.currentValue;\r\n this.updatePaginatedData();\r\n }\r\n }\r\n ngOnInit(): void {\r\n this.updatePaginatedData();\r\n }\r\n ngAfterViewInit() {\r\n this.initializeColumnWidths();\r\n // this.adjustTableWidth()\r\n this.cdr.detectChanges();\r\n }\r\n\r\n initializeColumnWidths() {\r\n var padding = 31\r\n var widthDefault = 150\r\n this.columnWidths = this.columns.map(column => column.width);\r\n const containerWidth = this.tableContainer.nativeElement.offsetWidth;\r\n const autoColumns = this.columns.filter(column => column.width == null);\r\n const totalFixedWidth = this.columns.reduce((sum, column) =>\r\n column.width != null ? (sum + this.getWidthValue(column.width)) : sum, 0);\r\n const remainingWidth = containerWidth - (totalFixedWidth + (((this.columns.length - autoColumns.length) * padding)+ (this.expandable ? 61 : 0)));\r\n\r\n if (autoColumns.length > 0) {\r\n var autoColumnWidth = 0;\r\n if(remainingWidth < widthDefault)\r\n autoColumnWidth = widthDefault;\r\n else\r\n autoColumnWidth = Math.max(0, remainingWidth / autoColumns.length);\r\n autoColumns.forEach(column => column.width = autoColumnWidth- padding);\r\n }\r\n this.columnWidths = this.columns.map(column => column.width);\r\n }\r\n // adjustTableWidth() {\r\n // const totalWidth = this.columns.reduce((sum, column) => sum + this.getWidthValue(column.width), 0);\r\n // this.tableElement.nativeElement.style.width = `${totalWidth}px`;\r\n // }\r\n getWidthValue(width: number): number {\r\n return width === null ? 100 : width;\r\n }\r\n\r\n get totalPages(): number {\r\n return Math.ceil(this.totalSize / this.pageSize);\r\n }\r\n\r\n getCellValue(item: any, column: LibeyColumnDirective): string {\r\n const value = this.getNestedValue(item, column.property);\r\n if (Array.isArray(value) && column.arrayMap) {\r\n return value.map(v => this.getNestedValue(v, column.arrayMap!)).join(', ');\r\n }\r\n return value;\r\n }\r\n\r\n private getNestedValue(obj: any, path: string): any {\r\n return path.split('.').reduce((o, key) => {\r\n if (o && typeof o === 'object' && key in o) {\r\n return o[key];\r\n }\r\n return undefined;\r\n }, obj);\r\n }\r\n\r\n private updatePaginatedData(): void {\r\n if(this.viewPaginate && this.internalPagination){\r\n const start = (this.currentPage - 1) * this.pageSize;\r\n const end = start + this.pageSize;\r\n this.paginatedData = this.data.slice(start, end);\r\n }else{\r\n this.paginatedData = this.data;\r\n } \r\n }\r\n pageRange(): number[] {\r\n const start = Math.max(1, this.currentPage - Math.floor(this.maxPageButtons / 2));\r\n const end = Math.min(this.totalPages, start + this.maxPageButtons - 1);\r\n const startPreFinish = end - this.maxPageButtons + 1;\r\n const startFinish = startPreFinish < 1 ? 1 : startPreFinish;\r\n return Array.from({length: end - startFinish + 1}, (_, i) => startFinish + i);\r\n }\r\n goToPage(page: number): void {\r\n this.currentPage = Math.max(1, Math.min(page, this.totalPages));\r\n if(this.internalPagination){ \r\n this.updatePaginatedData(); \r\n }else{\r\n this.pageChange.emit(this.currentPage);\r\n }\r\n }\r\n // hasChildren(row: any): boolean{\r\n // return Array.isArray(row.child) && row.child.length > 0;\r\n // }\r\n toggleRow(index: number){\r\n this.rowExpandable[index] = !this.rowExpandable[index];\r\n }\r\n toggleRowDetail(key: number, indexData: number, column: LibeyColumnDirective, data: any){\r\n if(column.expandable){\r\n var exist = this.rowExpandableDetail.find(x => x.key == key && x.dataKey == indexData);\r\n if(exist == null){\r\n this.rowExpandableDetail = this.rowExpandableDetail.filter(x => (x.key != key || x.dataKey != indexData) && x.autoClose == false);\r\n var item = new DataKey();\r\n item.key = key;\r\n item.dataKey = indexData;\r\n item.childTableTemplate = column.childTableTemplate;\r\n item.autoClose = column.isAutoClose(data);\r\n this.rowExpandableDetail.push(item);\r\n }else{\r\n this.rowExpandableDetail = this.rowExpandableDetail.filter(x => x.key != key || x.dataKey != indexData);\r\n }\r\n }\r\n }\r\n getChildren(fila: any): any[] {\r\n return fila.hijos || [];\r\n }\r\n onResizeStart(index: number, event: MouseEvent) {\r\n this.resizingColumnIndex = index;\r\n this.startX = event.pageX;\r\n this.startWidth = this.columnWidths[index];\r\n document.addEventListener('mousemove', this.onResizeMove);\r\n document.addEventListener('mouseup', this.onResizeEnd);\r\n }\r\n onResizeMove = (event: MouseEvent) => {\r\n if (this.resizingColumnIndex !== null) {\r\n const diff = event.pageX - this.startX;\r\n this.columnWidths[this.resizingColumnIndex] = Math.max(this.startWidth + diff, 50);\r\n\r\n }\r\n }\r\n onResizeEnd = () => {\r\n this.resizingColumnIndex = null;\r\n document.removeEventListener('mousemove', this.onResizeMove);\r\n document.removeEventListener('mouseup', this.onResizeEnd);\r\n }\r\n existRowExpandableDetail(key: number, indexData: number) : boolean{\r\n return this.rowExpandableDetail.filter(x => x.key == key && x.dataKey == indexData).length > 0;\r\n }\r\n viewRowExpandableDetail(indexData: number) :boolean{\r\n return this.rowExpandableDetail.filter(x => x.dataKey == indexData).length > 0;\r\n }\r\n findRowExpandableDetail(indexData: number) :TemplateRef<any>{\r\n var find = this.rowExpandableDetail.find(x => x.dataKey == indexData);\r\n if(find)\r\n return find.childTableTemplate; \r\n else\r\n return null;\r\n }\r\n getRowSpan(column: LibeyColumnDirective, data: any){\r\n return column.rowspan(data);\r\n }\r\n}\r\n","<div class=\"table-container\" #tableContainer [style.height]=\"height == null ? 'auto':(height + 'px')\">\r\n <!-- <table cdkDropList (cdkDropListDropped)=\"drop($event)\"> -->\r\n <table #table [ngClass]=\"class\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"expandable\" [ngClass]=\"headerfixed == true ? 'th-fixed':''\" style=\"width: 25px;\"></th>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <th *ngIf=\"column.view\" [style.width]=\"column.width ? (column.width + 'px') : 'auto'\"\r\n [ngClass]=\"headerfixed == true ? (column.classHeader + ' th-fixed'): column.classHeader\">\r\n <!-- Custom header template -->\r\n <ng-container *ngIf=\"column.headerTemplate; else defaultHeader\">\r\n <ng-container [ngTemplateOutlet]=\"column.headerTemplate\"\r\n [ngTemplateOutletContext]=\"{ column: column, index: i }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <span style=\"white-space: nowrap;\">{{ column.header }}</span>\r\n </ng-template>\r\n <div class=\"resize-handle\" (mousedown)=\"onResizeStart(i, $event)\"></div>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"_data.length == 0\">\r\n <tr>\r\n <td [colSpan]=\"expandable ? (columns.length + 1) : (columns.length)\" class=\"text-center\">\r\n No existen datos disponibles\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"paginatedData.length != 0\">\r\n <ng-container *ngFor=\"let item of paginatedData; let a = index\">\r\n <tr>\r\n <td *ngIf=\"expandable\">\r\n <button (click)=\"toggleRow(a)\">\r\n <i [ngClass]=\"rowExpandable[a] ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </td>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <td \r\n *ngIf=\"column.view && (column.isRowspan && column.rowspan(item) > 0)\"\r\n [attr.rowspan]=\"column.rowspan(item)\"\r\n [ngClass]=\"column.class\" (click)=\"toggleRowDetail(i, a, column, item)\" [class]=\"column.expandable ? 'cursor-pointer': ''\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"detailTd\" \r\n [ngTemplateOutletContext]=\"{item:item, column:column, indexData:a, indexColumn:i}\">\r\n </ng-container> \r\n </td>\r\n <td \r\n *ngIf=\"column.view && column.isRowspan != true\"\r\n [ngClass]=\"column.class\" (click)=\"toggleRowDetail(i, a, column, item)\" [class]=\"column.expandable ? 'cursor-pointer': ''\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"detailTd\" \r\n [ngTemplateOutletContext]=\"{item:item, column:column, indexData:a, indexColumn:i}\">\r\n </ng-container> \r\n </td>\r\n </ng-container>\r\n </tr>\r\n <ng-container *ngIf=\"viewRowExpandableDetail(a)\">\r\n <ng-container *ngTemplateOutlet=\"findRowExpandableDetail(a); context: { $implicit: item }\"></ng-container>\r\n </ng-container>\r\n <tr *ngIf=\"rowExpandable[a]\">\r\n <td [attr.colspan]=\"columns.length + (expandable ? 1 : 0)\">\r\n <ng-container [ngTemplateOutlet]=\"childTableTemplate\"\r\n [ngTemplateOutletContext]=\"{ parentRow: item }\">\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n</div>\r\n<div *ngIf=\"viewPaginate && _data.length != 0\" class=\"pagination-controls\">\r\n <div class=\"d-align-center\">\r\n <label class=\"lbl-footer me-20px\"># Registros: {{this.totalSize}}</label>\r\n <label class=\"lbl-footer\"># Filas: {{this.pageSize}}</label>\r\n </div>\r\n <div>\r\n <button (click)=\"goToPage(1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-first-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(currentPage - 1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-previous-page\"></i>\r\n </button>\r\n <ng-container *ngFor=\"let page of pageRange()\">\r\n <button\r\n (click)=\"goToPage(page)\"\r\n [class.active]=\"currentPage === page\"\r\n [disabled]=\"currentPage === page\">\r\n {{ page }}\r\n </button>\r\n </ng-container>\r\n <button (click)=\"goToPage(currentPage + 1)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-next-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(totalPages)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-last-page\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n<ng-template #detailTd let-item=\"item\" let-column=\"column\" let-indexData=\"indexData\" let-indexColumn=\"indexColumn\">\r\n <ng-container *ngIf=\"column.getCellTemplate(); else defaultCell\">\r\n <div style=\"display: flex; justify-content: space-between; white-space: nowrap;\">\r\n <ng-container [ngTemplateOutlet]=\"column.getCellTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item, column: column, index: indexData }\">\r\n </ng-container>\r\n <button *ngIf=\"column.expandable\">\r\n <i [ngClass]=\"existRowExpandableDetail(indexColumn, indexData) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultCell>\r\n <div style=\"display: flex; justify-content: space-between; white-space: nowrap;\">\r\n {{ getCellValue(item, column) }}\r\n <button *ngIf=\"column.expandable\">\r\n <i [ngClass]=\"existRowExpandableDetail(indexColumn, indexData) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</ng-template>","// table.module.ts\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LibeyColumnDirective } from './directives/libey-column.directive';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LibeyNgTableComponent } from './libey-ng-table.component';\r\n\r\n@NgModule({\r\n declarations: [LibeyNgTableComponent, LibeyColumnDirective],\r\n imports: [CommonModule,FormsModule],\r\n exports: [LibeyNgTableComponent, LibeyColumnDirective]\r\n})\r\nexport class LibeyNgTableModule { }","// SigWebTablet.ts\r\nexport class SigWebTablet {\r\n private static revokeBlobURL(url: string): void {\r\n if (window.URL) {\r\n URL.revokeObjectURL(url);\r\n } else if (window.webkitURL) {\r\n webkitURL.revokeObjectURL(url);\r\n }\r\n }\r\n private static getBlobURL(blob: Blob): string {\r\n if (window.URL) {\r\n return URL.createObjectURL(blob);\r\n } else if (window.webkitURL) {\r\n return webkitURL.createObjectURL(blob);\r\n }\r\n return ''; // Retornar un string vacío en caso de error\r\n }\r\n\r\n private static baseUri: string = SigWebTablet.makeUri();\r\n private static ctx;\r\n private static Count: boolean = false;\r\n private static EvStatus;\r\n private static onSigPenDown;\r\n private static onSigPenUp;\r\n private static SigWebFontThreshold = 155;\r\n private static NumPointsLastTime = 0;\r\n private static SigImageB64;\r\n\r\n private static makeUri(): string {\r\n var prot = location.protocol;\r\n if (prot == 'file:') {\r\n prot = 'http:';\r\n }\r\n\r\n if (this.isIE()) {\r\n if (prot == 'https:') {\r\n return prot + '//tablet.sigwebtablet.com:47290/SigWeb/';\r\n } else {\r\n return prot + '//tablet.sigwebtablet.com:47289/SigWeb/';\r\n }\r\n }\r\n\r\n if (this.isChrome()) {\r\n if (prot == 'https:') {\r\n return prot + '//tablet.sigwebtablet.com:47290/SigWeb/';\r\n } else {\r\n return prot + '//tablet.sigwebtablet.com:47289/SigWeb/';\r\n }\r\n } else {\r\n //FIREFOX\r\n if (prot == 'https:') {\r\n return prot + '//tablet.sigwebtablet.com:47290/SigWeb/';\r\n } else {\r\n return prot + '//tablet.sigwebtablet.com:47289/SigWeb/';\r\n }\r\n }\r\n }\r\n\r\n private static generateUUID(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(\r\n /[xy]/g,\r\n function (c) {\r\n const r = (Math.random() * 16) | 0;\r\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n }\r\n );\r\n }\r\n\r\n static isSigWebInstalled(): boolean {\r\n const xhr = new XMLHttpRequest();\r\n try {\r\n xhr.open(\r\n 'GET',\r\n `${this.baseUri}TabletState?noCache=${this.generateUUID()}`,\r\n false\r\n );\r\n xhr.send();\r\n return xhr.status !== 404 && xhr.status !== 0;\r\n } catch (e) {\r\n console.log('Error checking SigWeb installation', e);\r\n return false;\r\n }\r\n }\r\n\r\n static isIE(): boolean {\r\n return (\r\n navigator.appName === 'Microsoft Internet Explorer' ||\r\n (navigator.appName === 'Netscape' &&\r\n new RegExp('Trident/.*rv:([0-9]{1,}[.0-9]{0,})').exec(\r\n navigator.userAgent\r\n ) != null)\r\n );\r\n }\r\n\r\n static isChrome(): boolean {\r\n return navigator.userAgent.lastIndexOf('Chrome/') > 0;\r\n }\r\n\r\n static SigWebcreateXHR(): XMLHttpRequest | null {\r\n const xhr = new XMLHttpRequest();\r\n if (!xhr) {\r\n throw new Error('No se pudo crear XMLHttpRequest');\r\n }\r\n\r\n return xhr;\r\n }\r\n\r\n static SigWebSetProperty(prop: string): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, true);\r\n xhr.send(null);\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetPropertySync(prop: string): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.send();\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetStreamProperty(prop: string, strm: any): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop);\r\n xhr.setRequestHeader('Content-Type', 'text/plain');\r\n xhr.send(strm);\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSyncSetStreamProperty(prop: string, strm: any): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.setRequestHeader('Content-Type', 'text/plain');\r\n xhr.send(strm);\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetImageStreamProperty(prop: string, strm: any): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.setRequestHeader('Content-Type', 'image/png');\r\n xhr.send(strm);\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetImageBlobProperty(prop, strm) {\r\n var xhr = this.SigWebcreateXHR();\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.setRequestHeader('Content-Type', 'blob');\r\n xhr.send(strm);\r\n if (xhr.readyState == 4 && xhr.status == 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebGetProperty(prop) {\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + prop + '?noCache=' + this.generateUUID(),\r\n false\r\n );\r\n xhr.send(null);\r\n if (xhr.readyState == 4 && xhr.status == 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static GetSigImageB64(callback) {\r\n var cvs = document.createElement('canvas');\r\n var width = this.GetImageXSize();\r\n var height = this.GetImageYSize();\r\n cvs.width = width == '' || width == null ? 0 : Number(width);\r\n cvs.height = height == '' || height == null ? 0 : Number(height);\r\n\r\n var xhr2 = new XMLHttpRequest();\r\n xhr2.open(\r\n 'GET',\r\n this.baseUri + 'SigImage/1' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr2.responseType = 'blob';\r\n xhr2.send(null);\r\n xhr2.onload = () => {\r\n var cntx = cvs.getContext('2d');\r\n var img = new Image();\r\n img.src = this.getBlobURL(xhr2.response);\r\n img.onload = () => {\r\n cntx.drawImage(img, 0, 0);\r\n var b64String = cvs.toDataURL('image/png');\r\n var loc = b64String.search('base64,');\r\n var retstring = b64String.slice(loc + 7, b64String.length);\r\n if (callback) {\r\n callback(retstring);\r\n }\r\n };\r\n };\r\n }\r\n\r\n static SigWebWaitForPenDown(callback) {\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + 'WaitForPenDown' + '?noCache=' + this.generateUUID()\r\n );\r\n xhr.timeout = 10000;\r\n xhr.onreadystatechange = () => {\r\n if (xhr.readyState != 4) return;\r\n if (xhr.status == 200) callback();\r\n };\r\n xhr.send(null);\r\n }\r\n }\r\n\r\n static GetSigImage(ctx) {\r\n var xhr2 = new XMLHttpRequest();\r\n xhr2.open(\r\n 'GET',\r\n this.baseUri + 'SigImage/1' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr2.responseType = 'blob';\r\n xhr2.send(null);\r\n xhr2.onload = () => {\r\n var img = new Image();\r\n img.src = this.getBlobURL(xhr2.response);\r\n img.onload = () => {\r\n ctx.drawImage(img, 0, 0);\r\n this.revokeBlobURL(img.src);\r\n img = null;\r\n };\r\n };\r\n }\r\n\r\n static SigWebSetDisplayTarget(obj) {\r\n this.ctx = obj;\r\n }\r\n\r\n static SigWebRefresh() {\r\n var NumPoints = Number(this.NumberOfTabletPoints());\r\n if (NumPoints == this.NumPointsLastTime) {\r\n return;\r\n }\r\n this.NumPointsLastTime = NumPoints;\r\n\r\n var xhr2 = new XMLHttpRequest();\r\n xhr2.open(\r\n 'GET',\r\n this.baseUri + 'SigImage/0' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr2.responseType = 'blob';\r\n xhr2.onload = () => {\r\n var img = new Image();\r\n img.src = this.getBlobURL(xhr2.response);\r\n //\t\t\t\timg.src = window.URL.createObjectURL(xhr2.response);\r\n img.onload = () => {\r\n this.ctx.drawImage(img, 0, 0);\r\n this.revokeBlobURL(img.src);\r\n img = null;\r\n };\r\n };\r\n xhr2.send(null);\r\n }\r\n\r\n static SigWebEvent() {\r\n var OldEvStatus = this.EvStatus;\r\n\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + 'EventStatus' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr.onload = () => {\r\n this.EvStatus = xhr.responseText;\r\n if (OldEvStatus & 0x01 && this.EvStatus & 0x02) {\r\n if (this.onSigPenDown) {\r\n this.onSigPenDown();\r\n }\r\n }\r\n\r\n if (OldEvStatus & 0x02 && this.EvStatus & 0x01) {\r\n if (this.onSigPenUp) {\r\n this.onSigPenUp();\r\n }\r\n }\r\n };\r\n xhr.send(null);\r\n }\r\n }\r\n\r\n static setSigWebFontThreshold(v) {\r\n this.SigWebFontThreshold = v;\r\n }\r\n\r\n static createLcdBitmapFromCanvas(ourCanvas, xp, yp, width, height) {\r\n var canvasCtx = ourCanvas.getContext('2d');\r\n var imgData = canvasCtx.getImageData(0, 0, width, height);\r\n var j = 0;\r\n var sVal = 0;\r\n var outData = '';\r\n var outIdx = 0;\r\n var data = imgData.data;\r\n\r\n for (var y = 0; y < height; y++)\r\n for (var x = 0; x < width; x++) {\r\n var tmp1 = data[j];\r\n var tmp2 = data[j + 1];\r\n var tmp3 = data[j + 2];\r\n var tmp4 = data[j + 3];\r\n\r\n //\t\t\t\t\tsVal = tmp1 + (tmp2 << 8 ) + ( tmp3 << 16 ) + (tmp4 << 24 );\r\n j = j + 4;\r\n if (tmp1 < this.SigWebFontThreshold) {\r\n outData += 'B';\r\n } else {\r\n outData += 'W';\r\n }\r\n }\r\n\r\n return outData;\r\n }\r\n\r\n static toHex(NibVal) {\r\n switch (NibVal) {\r\n case 0:\r\n return '0';\r\n case 1:\r\n return '1';\r\n case 2:\r\n return '2';\r\n case 3:\r\n return '3';\r\n case 4:\r\n return '4';\r\n case 5:\r\n return '5';\r\n case 6:\r\n return '6';\r\n case 7:\r\n return '7';\r\n case 8:\r\n return '8';\r\n case 9:\r\n return '9';\r\n case 10:\r\n return 'A';\r\n case 11:\r\n return 'B';\r\n case 12:\r\n return 'C';\r\n case 13:\r\n return 'D';\r\n case 14:\r\n return 'E';\r\n case 15:\r\n return 'F';\r\n default:\r\n return '';\r\n }\r\n }\r\n static ToHexString(ByteVal) {\r\n var Str = '';\r\n Str += this.toHex((ByteVal >> 4) & 0x0f);\r\n Str += this.toHex(ByteVal & 0x0f);\r\n return Str;\r\n }\r\n\r\n static textToTablet(x, y, height, str, fnt) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = Math.round(cntx.measureText(txt).width);\r\n var ys = height;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#000000';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, 0, 0);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, 0, 0, xs, ys);\r\n\r\n this.LcdWriteImageStream(0, 2, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LcdWriteImage(Dst, Mode, Xp, Yp, Url) {\r\n var Prop = 'LcdWriteImage/';\r\n var NewUrl = Url.replace(/\\//g, '_');\r\n\r\n Prop = Prop + Dst + ',' + Mode + ',' + Xp + ',' + Yp + ',' + NewUrl;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LcdWriteLocalImage(Dst, Mode, Xp, Yp, Url) {\r\n var Prop = 'LcdWriteImage/';\r\n\r\n Prop = Prop + Dst + ',' + Mode + ',' + Xp + ',' + Yp + ',' + Url;\r\n this.SigWebSetProperty(Prop);\r\n }\r\n\r\n static LcdWriteImageStream(Dst, Mode, Xp, Yp, Xs, Ys, Url) {\r\n var Prop1 =\r\n 'LcdWriteImageStreamParams/' +\r\n Dst +\r\n ',' +\r\n Mode +\r\n ',' +\r\n Xp +\r\n ',' +\r\n Yp +\r\n ',' +\r\n Xs +\r\n ',' +\r\n Ys;\r\n var Prop2 = 'LcdWriteImageStream/';\r\n\r\n this.SigWebSetPropertySync(Prop1);\r\n this.SigWebSetImageStreamProperty(Prop2, Url);\r\n }\r\n\r\n static LcdWriteImageBlob(Dst, Mode, Xp, Yp, Xs, Ys, Url) {\r\n var Prop = 'LcdWriteImageStream/';\r\n\r\n Prop = Prop + Dst + ',' + Mode + ',' + Xp + ',' + Yp + ',' + Xs + ',' + Ys;\r\n this.SigWebSetImageBlobProperty(Prop, Url);\r\n }\r\n\r\n static measureText(pText, pFontSize, pStyle) {\r\n var lDiv = document.createElement('lDiv');\r\n\r\n document.body.appendChild(lDiv);\r\n\r\n if (pStyle != null) {\r\n lDiv.setAttribute('style', pStyle);\r\n }\r\n lDiv.style.fontSize = '' + pFontSize + 'px';\r\n lDiv.style.position = 'absolute';\r\n lDiv.style.left = '-1000';\r\n lDiv.style.top = '-1000';\r\n\r\n lDiv.innerHTML = pText;\r\n\r\n var lResult = {\r\n width: lDiv.clientWidth,\r\n height: lDiv.clientHeight,\r\n };\r\n\r\n document.body.removeChild(lDiv);\r\n lDiv = null;\r\n\r\n return lResult;\r\n }\r\n static GetVersionString() {\r\n var Prop = 'Version';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n var trimStr = Str.slice(1, Str.length - 2);\r\n return trimStr;\r\n }\r\n\r\n static IsPenDown() {\r\n return this.EvStatus & 0x01;\r\n }\r\n\r\n //\r\n //\t\t\tSigPlusNETSig.cs\r\n //\r\n static ClearTablet() {\r\n var Prop = 'ClearSignature';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static NumberOfTabletPoints() {\r\n var Prop = 'TotalPoints';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSigString(sigStr, ctx) {\r\n var Prop = 'SigString';\r\n\r\n Prop = Prop;\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + Prop);\r\n xhr.setRequestHeader('Content-Type', 'text/plain');\r\n xhr.send(sigStr);\r\n xhr.onload = () => {\r\n if (ctx) {\r\n var can = ctx.canvas;\r\n this.SetImageXSize(can.width);\r\n this.SetImageYSize(can.height);\r\n this.GetSigImage(ctx);\r\n }\r\n };\r\n }\r\n return '';\r\n }\r\n\r\n static GetSigString() {\r\n var Prop = 'SigString';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetSigCompressionMode(v) {\r\n var Prop = 'CompressionMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSigCompressionMode() {\r\n var Prop = 'CompressionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetEncryptionMode(v) {\r\n var Prop = 'EncryptionMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetEncryptionMode() {\r\n var Prop = 'EncryptionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetKeyString(keyString) {\r\n var Prop = 'KeyString';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, keyString);\r\n }\r\n\r\n static GetKeyString() {\r\n var Prop = 'KeyString';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static AutoKeyStart() {\r\n var Prop = 'AutoKeyStart';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static AutoKeyFinish() {\r\n var Prop = 'AutoKeyFinish';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetAutoKeyData(keyData) {\r\n var Prop = 'SetAutoKeyData';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, keyData);\r\n }\r\n\r\n static AutoKeyAddData(keyData) {\r\n var Prop = 'AutoKeyAddData';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, keyData);\r\n return this.GetKeyString();\r\n }\r\n\r\n //\t\tfunction GetKeyReceipt( ) {}\r\n\r\n static GetKeyReceiptAscii() {\r\n var Prop = 'KeyReceiptAscii';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n //\t\tfunction GetSigReceipt( ) {}\r\n\r\n static GetSigReceiptAscii() {\r\n var Prop = 'SigReceiptAscii';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetTimeStamp(timeStamp) {\r\n var Prop = 'TimeStamp';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, timeStamp);\r\n }\r\n\r\n static GetTimeStamp() {\r\n var Prop = 'TimeStamp';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetAnnotate(annotate) {\r\n var Prop = 'Annotate';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, annotate);\r\n }\r\n\r\n static GetAnnotate() {\r\n var Prop = 'Annotate';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetSaveSigInfo(v) {\r\n var Prop = 'SaveSigInfo/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSaveSigInfo() {\r\n var Prop = 'SaveSigInfo';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSavePressureData(v) {\r\n var Prop = 'SavePressureData/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSavePressureData() {\r\n var Prop = 'SavePressureData';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSaveTimeData(v) {\r\n var Prop = 'SaveTimeData/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSaveTimeData() {\r\n var Prop = 'SaveTimeData';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetAntiAliasSpotSize(v) {\r\n var Prop = 'AntiAliasSpotSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetAntiAliasSpotSize() {\r\n var Prop = 'AntiAliasSpotSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetAntiAliasLineScale(v) {\r\n var Prop = 'AntiAliasLineScale/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetAntiAliasLineScale() {\r\n var Prop = 'AntiAliasLineScale';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetNumberOfStrokes() {\r\n var Prop = 'NumberOfStrokes';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetNumPointsForStroke(v) {\r\n var Prop = 'NumberOfPointsInStroke/';\r\n\r\n Prop = Prop + v;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetPointXValue(v1, v2) {\r\n var Prop = 'PointXValue/';\r\n\r\n Prop = Prop + v1 + '/' + v2;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetPointYValue(v1, v2) {\r\n var Prop = 'PointYValue/';\r\n\r\n Prop = Prop + v1 + '/' + v2;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetAntiAliasEnable(v) {\r\n var Prop = 'AntiAliasEnable/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetAntiAliasEnable() {\r\n var Prop = 'AntiAliasEnable';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetUseAmbientColors(v) {\r\n var Prop = 'UseAmbientColors/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETDisplay.cs\r\n //\r\n static SetDisplayXSize(v) {\r\n var Prop = 'DisplayXSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayXSize() {\r\n var Prop = 'DisplayXSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayYSize(v) {\r\n var Prop = 'DisplayYSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayYSize() {\r\n var Prop = 'DisplayYSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayPenWidth(v) {\r\n var Prop = 'DisplayPenWidth/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayPenWidth() {\r\n var Prop = 'DisplayPenWidth';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStamp(v) {\r\n var Prop = 'DisplayTimeStamp/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStamp() {\r\n var Prop = 'DisplayTimeStamp';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStampPosX(v) {\r\n var Prop = 'DisplayTimeStampPosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStampPosX() {\r\n var Prop = 'DisplayTimeStampPosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStampPosY(v) {\r\n var Prop = 'DisplayTimeStampPosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStampPosY() {\r\n var Prop = 'DisplayTimeStampPosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStampSize(v) {\r\n var Prop = 'DisplayTimeStampSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStampSize() {\r\n var Prop = 'DisplayTimeStampSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotate(v) {\r\n var Prop = 'DisplayAnnotate/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotate() {\r\n var Prop = 'DisplayAnnotate';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotatePosX(v) {\r\n var Prop = 'DisplayAnnotatePosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotatePosX() {\r\n var Prop = 'DisplayAnnotatePosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotatePosY(v) {\r\n var Prop = 'DisplayAnnotatePosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotatePosY() {\r\n var Prop = 'DisplayAnnotatePosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotateSize(v) {\r\n var Prop = 'DisplayAnnotateSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotateSize() {\r\n var Prop = 'DisplayAnnotateSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETImage.cs\r\n //\r\n //\t\tfunction GetSigImageB64( )\r\n //\t\t\t{\r\n //\t\t\tvar xhr2 = new XMLHttpRequest();\r\n //\t\t\txhr2.open(\"GET\", baseUri + \"SigImage/1\", false );\r\n //\t\t\txhr2.responseType = \"blob\"\r\n //\t\t\txhr2.send(null);\r\n //\t\t\tif (xhr2.readyState == 4 && xhr.status == 200)\r\n //\t\t\t\t{\r\n //\t\t\t\treturn window.URL.createObjectURL(xhr2.response);\r\n //\t\t\t\t}\r\n //\t\t\treturn null;\r\n //\t\t\t}\r\n\r\n static SetImageXSize(v) {\r\n var Prop = 'ImageXSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageXSize() {\r\n var Prop = 'ImageXSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageYSize(v) {\r\n var Prop = 'ImageYSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageYSize() {\r\n var Prop = 'ImageYSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImagePenWidth(v) {\r\n var Prop = 'ImagePenWidth/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImagePenWidth() {\r\n var Prop = 'ImagePenWidth';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStamp(v) {\r\n var Prop = 'ImageTimeStamp/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStamp() {\r\n var Prop = 'ImageTimeStamp';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStampPosX(v) {\r\n var Prop = 'ImageTimeStampPosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStampPosX() {\r\n var Prop = 'ImageTimeStampPosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStampPosY(v) {\r\n var Prop = 'ImageTimeStampPosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStampPosY() {\r\n var Prop = 'ImageTimeStampPosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStampSize(v) {\r\n var Prop = 'ImageTimeStampSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStampSize() {\r\n var Prop = 'ImageTimeStampSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotate(v) {\r\n var Prop = 'ImageAnnotate/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotate() {\r\n var Prop = 'ImageAnnotate';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotatePosX(v) {\r\n var Prop = 'ImageAnnotatePosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotatePosX() {\r\n var Prop = 'ImageAnnotatePosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotatePosY(v) {\r\n var Prop = 'ImageAnnotatePosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotatePosY() {\r\n var Prop = 'ImageAnnotatePosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotateSize(v) {\r\n var Prop = 'ImageAnnotateSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotateSize() {\r\n var Prop = 'ImageAnnotateSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetJustifyX(v) {\r\n var Prop = 'JustifyX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetJustifyX() {\r\n var Prop = 'JustifyX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetJustifyY(v) {\r\n var Prop = 'JustifyY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetJustifyY() {\r\n var Prop = 'JustifyY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetJustifyMode(v) {\r\n var Prop = 'JustifyMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetJustifyMode() {\r\n var Prop = 'JustifyMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETKeyPad.cs\r\n //\r\n static KeyPadAddHotSpot(key, coord, xp, yp, xs, ys) {\r\n var Prop = 'KeyPadAddHotSpot/';\r\n Prop = Prop + key + ',' + coord + ',' + xp + ',' + yp + ',' + xs + ',' + ys;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static KeyPadMarkHotSpot(key, coord, xp, yp, xs, ys) {\r\n this.LCDWriteString(0, 2, xp, yp, '16pt sans-serif', 32, '+');\r\n this.LCDWriteString(0, 2, xp + xs, yp, '16pt sans-serif', 32, '+');\r\n this.LCDWriteString(0, 2, xp, yp + ys, '16pt sans-serif', 32, '+');\r\n this.LCDWriteString(0, 2, xp + xs, yp + ys, '16pt sans-serif', 32, '+');\r\n }\r\n\r\n static KeyPadQueryHotSpot(key) {\r\n var Prop = 'KeyPadQueryHotSpot/';\r\n Prop = Prop + key;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static KeyPadClearHotSpotList() {\r\n var Prop = 'KeyPadClearHotSpotList';\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSigWindow(coords, xp, yp, xs, ys) {\r\n var Prop = 'SigWindow/';\r\n Prop = Prop + coords + ',' + xp + ',' + yp + ',' + xs + ',' + ys;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static ClearSigWindow(inside) {\r\n var Prop = 'ClearSigWindow/';\r\n Prop = Prop + inside;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETLCD.cs\r\n //\r\n static SetLCDCaptureMode(v) {\r\n var Prop = 'CaptureMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetLCDCaptureMode() {\r\n var Prop = 'CaptureMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static LCDSetWindow(xP, yP, xS, yS) {\r\n var Prop = 'LCDSetWindow/';\r\n Prop = Prop + xP + ',' + yP + ',' + xS + ',' + yS;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LCDWriteString(dest, mode, x, y, fnt, size, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = Math.round(cntx.measureText(txt).width);\r\n var ys = size;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n if (xs == 0) {\r\n return;\r\n }\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#000000';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, 0, 0);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n\r\n this.LcdWriteImageStream(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDDrawRectangle(dest, mode, x, y, xs, ys, fill) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.fillStyle = fill;\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n this.LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDDrawButton(dest, mode, x, y, xs, ys, strys, fill, fnt, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var sxs = Math.round(cntx.measureText(txt).width);\r\n var sys = strys;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = fill;\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, (xs - sxs) / 2, (ys - sys) / 2);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n\r\n this.LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDWriteStringWindow(dest, mode, x, y, fnt, xsize, ysize, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = xsize;\r\n var ys = ysize;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#000000';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, 0, 0);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n\r\n this.LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDStringWidth(fnt, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = Math.round(cntx.measureText(txt).width);\r\n\r\n return xs;\r\n }\r\n\r\n static LCDStringHeight(fnt, str) {\r\n return 16;\r\n }\r\n\r\n static LcdRefresh(Mode, Xp, Yp, Xs, Ys) {\r\n var Prop = 'LcdRefresh/';\r\n\r\n Prop = Prop + Mode + ',' + Xp + ',' + Yp + ',' + Xs + ',' + Ys;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LCDSendCmdString(CmdStr, ReturnCount, Result, TimeOut) {\r\n var Prop = 'LcdSendCmdString/';\r\n\r\n Prop = Prop + ReturnCount + ',' + TimeOut;\r\n Result = this.SigWebSetStreamProperty(Prop, CmdStr);\r\n }\r\n\r\n static LCDSendCmdData(CmdStr, ReturnCount, Result, TimeOut) {\r\n var Prop = 'LcdSendCmdData/';\r\n\r\n Prop = Prop + ReturnCount + ',' + TimeOut;\r\n Result = this.SigWebSetStreamProperty(Prop, CmdStr);\r\n }\r\n\r\n //\t\tfunction LCDSendWindowedGraphicCanvas( dest, mode, x, y, canvas )\r\n //\t\t\t {\r\n //\t\t\t }\r\n\r\n //\t\tfunction LCDSendWindowedGraphicCanvas( dest, mode, x, y, xs, ys, canvas )\r\n //\t\t\t{\r\n //\t\t\tvar Gstr = this.createLcdBitmapFromCanvas( canvas, 0, 0, xs, ys)\r\n //\t\t\tLcdWriteImageStream( dest, mode, x, y, xs, ys, Gstr );\r\n //\t\t\t}\r\n\r\n static LCDSendWindowedGraphicCanvas(dest, mode, x, y, xs, ys, c, xps, yps) {\r\n var canvas = document.createElement('canvas');\r\n var Gstr = this.createLcdBitmapFromCanvas(canvas, xps, yps, xs, ys);\r\n this.LcdWriteImageStream(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDSendGraphicUrl(dest, mode, x, y, url) {\r\n this.LcdWriteImage(dest, mode, x, y, url);\r\n }\r\n\r\n //\t\tfunction LCDSendGraphic( Dest, Mode, XPos, YPos, ImageFileName ) {}\r\n //\t\tfunction LCDSendGraphicURL( Dest, Mode, XPos, YPos, URL ) {}\r\n\r\n static LCDClear() {\r\n var Prop = 'LcdClear';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static LCDSetTabletMap(\r\n LCDType,\r\n LCDXSize,\r\n LCDYSize,\r\n LCDXStart,\r\n LCDYStart,\r\n LCDXStop,\r\n LCDYStop\r\n ) {}\r\n\r\n static LCDSetPixelDepth(v) {\r\n var Prop = 'LcdSetPixelDepth/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LCDGetLCDSize() {\r\n var Prop = 'LcdGetLcdSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n static LCDGetCompressionMode() {\r\n var Prop = 'LcdCompressionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static LCDGetZCompressionMode() {\r\n var Prop = 'LcdZCompressionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETLCD.cs\r\n //\r\n\r\n static SetRealTabletState(v) {\r\n var Prop = 'TabletState/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletState() {\r\n var Prop = 'TabletState';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletLogicalXSize(v) {\r\n var Prop = 'TabletLogicalXSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletLogicalXSize() {\r\n var Prop = 'TabletLogicalXSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetTabletLogicalYSize() {\r\n var Prop = 'TabletLogicalYSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletLogicalYSize(v) {\r\n var Prop = 'TabletLogicalYSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletXStart(v) {\r\n var Prop = 'TabletXStart/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletXStart() {\r\n var Prop = 'TabletXStart';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletYStart(v) {\r\n var Prop = 'TabletYStart/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletYStart() {\r\n var Prop = 'TabletYStart';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletXStop(v) {\r\n var Prop = 'TabletXStop/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletXStop() {\r\n var Prop = 'TabletXStop';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletYStop(v) {\r\n var Prop = 'TabletYStop/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletYStop() {\r\n var Prop = 'TabletYStop';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletFilterPoints(v) {\r\n var Prop = 'TabletFilterPoints/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletFilterPoints() {\r\n var Prop = 'TabletFilterPoints';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletTimingAdvance(v) {\r\n var Prop = 'TabletTimingAdvance/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletTimingAdvance() {\r\n var Prop = 'TabletTimingAdvance';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletComPort(v) {\r\n var Prop = 'TabletComPort/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletComPort() {\r\n var Prop = 'TabletComPort';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletBaudRate(v) {\r\n var Prop = 'TabletBaudRate/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletBaudRate() {\r\n var Prop = 'TabletBaudRate';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletRotation(v) {\r\n var Prop = 'TabletRotation/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletRotation() {\r\n var Prop = 'TabletRotation';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletType(v) {\r\n var Prop = 'TabletType/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletType() {\r\n var Prop = 'TabletType';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetServerTabletType(v) {\r\n var Prop = 'ServerTabletType/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetServerTabletType() {\r\n var Prop = 'ServerTabletType';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletComTest(v) {\r\n var Prop = 'TabletComTest/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletComTest() {\r\n var Prop = 'TabletComTest';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletResolution(v) {\r\n var Prop = 'TabletResolution/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletResolution() {\r\n var Prop = 'TabletResolution';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static TabletConnectQuery() {\r\n var Prop = 'TabletConnectQuery';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static TabletModelNumber() {\r\n var Prop = 'TabletModelNumber';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static TabletSerialNumber() {\r\n var Prop = 'TabletSerialNumber';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletPortPath(v) {\r\n var Prop = 'TabletPortPath/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletLocalIniFilePath(v) {\r\n var Prop = 'TabletLocalIniFilePath/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletModel(v) {\r\n var Prop = 'TabletModel/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSerialPortCloseDelay(v) {\r\n var Prop = 'SerialPortCloseDelay/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSerialPortCloseDelay() {\r\n var Prop = 'SerialPortCloseDelay';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static EnableTabletEncryption() {\r\n var Prop = 'EnableTabletEncryption';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletEncryptionMode(hmode, tmode) {\r\n var Prop = 'TabletEncryptionMode/';\r\n\r\n Prop = Prop + hmode + ',' + tmode;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetMaxLogFileSize(v) {\r\n var Prop = 'MaxLogFileSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSigSockServerPath() {\r\n var Prop = 'SigSockServerPath';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetSigSockClientName() {\r\n var Prop = 'SigSockClientName';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetSigSockPortNumber() {\r\n var Prop = 'SigSockPortNumber';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSigSockServerPath(v) {\r\n var Prop = 'SigSockServerPath/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSigSockClientName(v) {\r\n var Prop = 'SigSockClientName/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetPortNumber(v) {\r\n var Prop = 'PortNumber/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSigSockPortNumber(v) {\r\n var Prop = 'SigSockPortNumber/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetFirmwareRevision() {\r\n var Prop = 'FirmwareRevision';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletData(sigStr) {\r\n var Prop = 'TabletData';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, sigStr);\r\n }\r\n\r\n static GetTabletData() {\r\n var Prop = 'TabletData';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static OpenTablet(v) {\r\n var Prop = 'OpenTablet/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static CloseTablet() {\r\n var Prop = 'CloseTablet';\r\n\r\n Prop = Prop;\r\n this.SigWebSetProperty(Prop);\r\n }\r\n\r\n static ResetParameters() {\r\n var Prop = 'ResetParameters';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static testRawData() {\r\n this.OpenTablet(1);\r\n var Str1 = this.GetTabletData();\r\n this.CloseTablet();\r\n }\r\n\r\n static SetTabletState(v, ctx, tv) {\r\n var delay;\r\n\r\n if (tv) {\r\n delay = tv;\r\n } else {\r\n delay = 100;\r\n }\r\n\r\n if (this.GetTabletState() != v) {\r\n if (v == 1) {\r\n if (ctx) {\r\n var can = ctx.canvas;\r\n this.SetDisplayXSize(can.width);\r\n this.SetDisplayYSize(can.height);\r\n this.SigWebSetDisplayTarget(ctx);\r\n }\r\n this.SetRealTabletState(v);\r\n var data = this.GetTabletState();\r\n var dataResult = data == '' || data == null ? 0 : Number(data);\r\n var tmr = null;\r\n if (ctx && dataResult != 0) {\r\n tmr = setInterval(() => this.SigWebRefresh(), delay);\r\n } else {\r\n tmr = null;\r\n }\r\n\r\n return tmr;\r\n } else {\r\n if (ctx) {\r\n clearInterval(ctx);\r\n }\r\n this.SigWebSetDisplayTarget(null);\r\n this.SetRealTabletState(v);\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n OnDestroy,\n ViewChild,\n Output,\n EventEmitter,\n Input,\n} from '@angular/core';\nimport { SigWebTablet } from '../../../utils/SigWeb/SigWeb';\nimport { Form, FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { SignaturePad } from 'angular2-signaturepad';\ninterface IOutputMessage {\n bioSigData: string;\n sigImgData: string;\n sigString: string;\n}\n\nclass OutputMessage implements IOutputMessage {\n bioSigData: string;\n sigImgData: string;\n sigString: string;\n}\n\n@Component({\n selector: 'lib-libey-ng-signature',\n templateUrl: './libey-ng-signature.component.html',\n styleUrls: ['./libey-ng-signature.component.css'],\n})\nexport class LibeyNgSignatureComponent implements AfterViewInit, OnDestroy {\n @Output() OutputSignature = new EventEmitter<IOutputMessage>();\n @Input() DeviceType: string = 'mousepad';\n\n private _destroy$: Subject<boolean> = new Subject<boolean>();\n @ViewChild('sigImg', { static: false })\n canvas!: ElementRef<HTMLCanvasElement>;\n @ViewChild(SignaturePad) signaturePad: SignaturePad;\n cnvContext: CanvasRenderingContext2D;\n tmr: any;\n widthView: number = 500;\n heightView: number = 200;\n widthRender: number = 500;\n heightRender: number = 200;\n signaturePadOptions: Object = {\n minWidth: 5,\n canvasWidth: this.widthView,\n canvasHeight: this.heightView,\n backgroundColor: 'rgba(242,242,242,1)',\n };\n\n constructor() {}\n\n ngAfterViewInit(): void {\n this.InitDevice();\n }\n\n ngOnDestroy(): void {\n this.closingSigWeb();\n this._destroy$.next(true);\n }\n\n ChangeDevice() {\n setTimeout(() => {\n this.InitDevice();\n }, 200);\n }\n\n InitDevice() {\n if (this.DeviceType == 'pinpad') {\n this.cnvContext = (<HTMLCanvasElement>(\n this.canvas.nativeElement\n )).getContext('2d');\n }\n if (this.DeviceType == 'mousepad') {\n this.signaturePad.set('minWidth', 5);\n this.signaturePad.clear();\n }\n }\n\n closingSigWeb() {\n SigWebTablet.ClearTablet();\n SigWebTablet.SetTabletState(0, this.tmr, null);\n }\n\n onSign() {\n console.log('onSign Clicked!');\n SigWebTablet.SetDisplayXSize(this.widthRender);\n SigWebTablet.SetDisplayYSize(this.heightRender);\n SigWebTablet.SetTabletState(0, this.tmr, null);\n SigWebTablet.SetJustifyMode(0);\n SigWebTablet.ClearTablet();\n\n if (this.tmr == null) {\n this.tmr = SigWebTablet.SetTabletState(1, this.cnvContext, 50);\n } else {\n SigWebTablet.SetTabletState(0, this.tmr, null);\n this.tmr = null;\n this.tmr = SigWebTablet.SetTabletState(1, this.cnvContext, 50);\n }\n }\n\n onClear() {\n if (this.DeviceType == 'pinpad') {\n SigWebTablet.ClearTablet();\n if (this.cnvContext) {\n this.cnvContext.clearRect(\n 0,\n 0,\n this.canvas.nativeElement.width,\n this.canvas.nativeElement.height\n );\n }\n }\n if (this.DeviceType == 'mousepad') {\n this.signaturePad.clear();\n }\n }\n\n onDone() {\n if (this.DeviceType == 'pinpad') {\n // if (Number(SigWebTablet.NumberOfTabletPoints()) === 0) {\n // alert('Por favor firme antes de continuar');\n // } else {\n SigWebTablet.SetTabletState(0, this.tmr, null);\n\n SigWebTablet.SetSigCompressionMode(1);\n var result = new OutputMessage();\n result.bioSigData = SigWebTablet.GetSigString();\n result.sigImgData = SigWebTablet.GetSigString();\n SigWebTablet.SetImageXSize(this.widthRender);\n SigWebTablet.SetImageYSize(this.heightRender);\n SigWebTablet.SetImagePenWidth(5);\n SigWebTablet.GetSigImageB64((base64: string) => {\n result.sigString = \"data:image/png;base64,\" + base64;\n this.OutputSignature.emit(result);\n });\n // }\n }\n if (this.DeviceType == 'mousepad') {\n var result = new OutputMessage();\n result.sigString = this.signaturePad.toDataURL();\n this.OutputSignature.emit(result);\n }\n }\n drawComplete() {}\n\n drawStart() {}\n}\n","<div class=\"container\">\n <div *ngIf=\"DeviceType=='pinpad'\">\n <canvas #sigImg [width]=\"widthView\" [height]=\"heightView\" style=\"background-color: rgba(242,242,242,1);\"></canvas> \n </div>\n <div *ngIf=\"DeviceType=='mousepad'\">\n <signature-pad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\" (onEndEvent)=\"drawComplete()\"></signature-pad>\n </div>\n <div class=\"row\">\n <button *ngIf=\"DeviceType=='pinpad'\" mat-raised-button (click)=\"onSign()\">Firmar</button>\n <button mat-raised-button (click)=\"onClear()\">Limpiar</button>\n <button mat-raised-button (click)=\"onDone()\">Guardar</button>\n </div>\n <div class=\"row\">\n <ng-select [(ngModel)]=\"DeviceType\" class=\"ng-select\" placeholder=\"Seleccionar\" [clearable]=\"false\"\n (change)=\"ChangeDevice()\">\n <ng-option [value]=\"'pinpad'\">Pinpad</ng-option>\n <ng-option [value]=\"'mousepad'\">Mousepad</ng-option>\n </ng-select>\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { LibeyNgSignatureComponent } from './libey-ng-signature/libey-ng-signature.component';\nimport { SignaturePadModule } from 'angular2-signaturepad';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\n@NgModule({\n declarations: [\n LibeyNgSignatureComponent\n ],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n SignaturePadModule,\n CommonModule,\n NgSelectModule,\n NgbModule \n ],\n exports: [\n LibeyNgSignatureComponent,\n SignaturePadModule,\n NgSelectModule,\n NgbModule\n ]\n})\nexport class LibeyNgSignatureModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { LibeyNgTableModule } from './table/libey-ng-table.module';\nimport { LibeyNgSignatureModule } from './signature/libey-ng-signature.module';\nimport { SignaturePadModule } from 'angular2-signaturepad';\n\n\n\n@NgModule({\n declarations: [\n ],\n imports: [\n CommonModule,\n FormsModule,\n LibeyNgTableModule,\n LibeyNgSignatureModule,\n SignaturePadModule\n ],\n exports: [\n LibeyNgTableModule,\n LibeyNgSignatureModule,\n SignaturePadModule\n ],\n providers: [DatePipe]\n})\nexport class LibeyNgComponentLibraryModule { }\n","/*\n * Public API Surface of libey-ng-component-library\n */\n\nexport * from './lib/libey-ng-component-library.service';\nexport * from './lib/libey-ng-component-library.component';\nexport * from './lib/libey-ng-component-library.module';\nexport * from './lib/table/libey-ng-table.module';\nexport * from './lib/table/libey-ng-table.component';\nexport * from './lib/table/directives/libey-column.directive';\nexport * from './lib/signature/libey-ng-signature.module';\nexport * from './lib/signature/libey-ng-signature/libey-ng-signature.component';\nexport * from './utils/SigWeb/SigWeb';\nimport { SignaturePadModule, SignaturePad } from 'angular2-signaturepad';\nexport { SignaturePadModule, SignaturePad };\nexport { NgSelectModule } from '@ng-select/ng-select';\nexport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nexport * from '@popperjs/core';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0","Injectable","Component","TemplateRef","Directive","Input","ContentChild","EventEmitter","i1","ViewEncapsulation","Output","ContentChildren","ViewChild","CommonModule","FormsModule","NgModule","Subject","SignaturePad","i2","i3","i4","ReactiveFormsModule","SignaturePadModule","NgSelectModule","NgbModule","DatePipe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,QAAA,8BAAA,kBAAA,YAAA;IAEE,IAAA,SAAA,8BAAA,GAAA;SAAiB;;;sJAFN,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;IAA9B,8BAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,8BAA8B,cAF7B,MAAM,EAAA,CAAA,CAAA;sHAEP,8BAA8B,EAAA,UAAA,EAAA,CAAA;sBAH1CC,aAAU;IAAC,YAAA,IAAA,EAAA,CAAA;IACV,oBAAA,UAAU,EAAE,MAAM;qBACnB,CAAA;;;ACQD,QAAA,gCAAA,kBAAA,YAAA;IAEE,IAAA,SAAA,gCAAA,GAAA;SAAiB;IAEjB,IAAA,gCAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;SACC,CAAA;;;wJALU,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAD,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IAAhC,gCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,EARjC,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,QAAA,EAAA,kEAIT,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;sHAIU,gCAAgC,EAAA,UAAA,EAAA,CAAA;sBAV5CE,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACT,oBAAA,QAAQ,EAAE,+BAA+B;IACzC,oBAAA,QAAQ,EAAE,kEAIT;IACD,oBAAA,MAAM,EAAE,EACP;qBACF,CAAA;;;ACND,QAAA,oBAAA,kBAAA,YAAA;IAHA,IAAA,SAAA,oBAAA,GAAA;IAOW,QAAA,IAAI,CAAA,IAAA,GAAY,IAAI,CAAC;YAOrB,IAAA,CAAA,WAAW,GAA2B,YAAA,EAAM,OAAA,IAAI,CAAA,EAAA,CAAC;YACjD,IAAA,CAAA,OAAO,GAA0B,YAAA,EAAM,OAAA,CAAC,CAAA,EAAA,CAAC;SAUnD;IALC,IAAA,oBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;IACE,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC;SAClD,CAAA;;;4IAnBU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAF,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IAApB,oBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,snBAgBjBG,cAAW,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAAH,aAAA,EAAA,CAAA,CAAA;sHAhBd,oBAAoB,EAAA,UAAA,EAAA,CAAA;sBAHhCI,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACT,oBAAA,QAAQ,EAAE,iBAAiB;qBAC5B,CAAA;kCAEU,MAAM,EAAA,CAAA;0BAAdC,QAAK;oBACG,QAAQ,EAAA,CAAA;0BAAhBA,QAAK;oBACG,KAAK,EAAA,CAAA;0BAAbA,QAAK;oBACG,IAAI,EAAA,CAAA;0BAAZA,QAAK;oBACG,QAAQ,EAAA,CAAA;0BAAhBA,QAAK;oBACG,OAAO,EAAA,CAAA;0BAAfA,QAAK;oBACG,UAAU,EAAA,CAAA;0BAAlBA,QAAK;oBACG,KAAK,EAAA,CAAA;0BAAbA,QAAK;oBACG,WAAW,EAAA,CAAA;0BAAnBA,QAAK;oBACG,kBAAkB,EAAA,CAAA;0BAA1BA,QAAK;oBACG,WAAW,EAAA,CAAA;0BAAnBA,QAAK;oBACG,OAAO,EAAA,CAAA;0BAAfA,QAAK;oBACG,SAAS,EAAA,CAAA;0BAAjBA,QAAK;oBAC4C,cAAc,EAAA,CAAA;0BAA/DC,eAAY;oBAAC,IAAA,EAAA,CAAA,gBAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;oBACA,YAAY,EAAA,CAAA;0BAA3DA,eAAY;oBAAC,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;oBACD,eAAe,EAAA,CAAA;0BAA3DA,eAAY;oBAAC,IAAA,EAAA,CAAAH,cAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;ICX7C,IAAA,OAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,OAAA,GAAA;SAOC;QAAA,OAAA,OAAA,CAAA;IAAA,CAAA,EAAA,CAAA,CAAA;AASD,QAAA,qBAAA,kBAAA,YAAA;IAgCE,IAAA,SAAA,qBAAA,CAAoB,GAAsB,EAAA;YAA1C,IAA8C,KAAA,GAAA,IAAA,CAAA;IAA1B,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;IAzBjC,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;IACtB,QAAA,IAAS,CAAA,SAAA,GAAW,CAAC,CAAC;IACtB,QAAA,IAAc,CAAA,cAAA,GAAW,CAAC,CAAC;IAE3B,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;IAC5B,QAAA,IAAY,CAAA,YAAA,GAAY,IAAI,CAAC;IAE7B,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;IAE7B,QAAA,IAAkB,CAAA,kBAAA,GAAY,IAAI,CAAC;IACnC,QAAA,IAAW,CAAA,WAAA,GAAW,CAAC,CAAC;IACvB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAII,eAAY,EAAU,CAAC;IAIlD,QAAA,IAAa,CAAA,aAAA,GAAc,EAAE,CAAC;IAC9B,QAAA,IAAmB,CAAA,mBAAA,GAAe,EAAE,CAAC;IACrC,QAAA,IAAa,CAAA,aAAA,GAAU,EAAE,CAAC;IAC1B,QAAA,IAAK,CAAA,KAAA,GAAU,EAAE,CAAC;IAClB,QAAA,IAAY,CAAA,YAAA,GAAa,EAAE,CAAC;IAC5B,QAAA,IAAmB,CAAA,mBAAA,GAAkB,IAAI,CAAC;IAC1C,QAAA,IAAM,CAAA,MAAA,GAAW,CAAC,CAAC;IACnB,QAAA,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;IAiIvB,QAAA,IAAA,CAAA,YAAY,GAAG,UAAC,KAAiB,EAAA;IAC/B,YAAA,IAAI,KAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE;oBACrC,IAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC;oBACvC,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,UAAU,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;IAEpF,aAAA;IACH,SAAC,CAAA;YACD,IAAW,CAAA,WAAA,GAAG,YAAA;IACZ,YAAA,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAChC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;gBAC7D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,SAAC,CAAA;SAzI6C;IA/B9C,IAAA,MAAA,CAAA,cAAA,CAAa,qBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;IAGjB,QAAA,GAAA,EAAA,YAAA;gBACE,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;IALD,QAAA,GAAA,EAAA,UAAkB,KAAY,EAAA;IAC5B,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACpB;;;IAAA,KAAA,CAAA,CAAA;QA8BD,qBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,OAAsB,EAAA;YAAlC,IAUC,KAAA,GAAA,IAAA,CAAA;YATC,IAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,aAAa,EAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK,EAAA;oBAC7C,IAAI,QAAQ,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,OAAO,IAAI,KAAK,CAAlB,EAAkB,CAAC,CAAC;oBACtE,IAAG,QAAQ,IAAI,IAAI;IACjB,oBAAA,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACzC,aAAC,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;gBACvC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,SAAA;SACF,CAAA;IACD,IAAA,qBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;YACE,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B,CAAA;IACD,IAAA,qBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;YACE,IAAI,CAAC,sBAAsB,EAAE,CAAC;;IAE9B,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B,CAAA;IAED,IAAA,qBAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,YAAA;YAAA,IAmBC,KAAA,GAAA,IAAA,CAAA;YAlBC,IAAI,OAAO,GAAG,EAAE,CAAA;YAChB,IAAI,YAAY,GAAG,GAAG,CAAA;IACtB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,EAAA,EAAI,OAAA,MAAM,CAAC,KAAK,CAAZ,EAAY,CAAC,CAAC;YAC7D,IAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC;YACrE,IAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,KAAK,IAAI,IAAI,CAApB,EAAoB,CAAC,CAAC;IACxE,QAAA,IAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,MAAM,IACtD,OAAA,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,GAAG,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAA,EAAA,EAAE,CAAC,CAAC,CAAC;IAC5E,QAAA,IAAM,cAAc,GAAG,cAAc,IAAI,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,OAAO,KAAI,IAAI,CAAC,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjJ,QAAA,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1B,IAAI,eAAe,GAAG,CAAC,CAAC;gBACxB,IAAG,cAAc,GAAG,YAAY;oBAC9B,eAAe,GAAG,YAAY,CAAC;;IAE/B,gBAAA,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACrE,YAAA,WAAW,CAAC,OAAO,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,KAAK,GAAG,eAAe,GAAE,OAAO,CAAvC,EAAuC,CAAC,CAAC;IACxE,SAAA;IACD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAA,MAAM,EAAA,EAAI,OAAA,MAAM,CAAC,KAAK,CAAZ,EAAY,CAAC,CAAC;SAC9D,CAAA;;;;;QAKD,qBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,KAAa,EAAA;YACzB,OAAO,KAAK,KAAK,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC;SACrC,CAAA;IAED,IAAA,MAAA,CAAA,cAAA,CAAI,qBAAU,CAAA,SAAA,EAAA,YAAA,EAAA;IAAd,QAAA,GAAA,EAAA,YAAA;IACE,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;aAClD;;;IAAA,KAAA,CAAA,CAAA;IAED,IAAA,qBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,IAAS,EAAE,MAA4B,EAAA;YAApD,IAMC,KAAA,GAAA,IAAA,CAAA;IALC,QAAA,IAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE;gBAC3C,OAAO,KAAK,CAAC,GAAG,CAAC,UAAA,CAAC,EAAA,EAAI,OAAA,KAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,QAAS,CAAC,CAAxC,EAAwC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,SAAA;IACD,QAAA,OAAO,KAAK,CAAC;SACd,CAAA;IAEO,IAAA,qBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,UAAe,GAAQ,EAAE,IAAY,EAAA;IAC3C,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,GAAG,EAAA;gBACnC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,GAAG,IAAI,CAAC,EAAE;IAC1C,gBAAA,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;IACf,aAAA;IACD,YAAA,OAAO,SAAS,CAAC;aAClB,EAAE,GAAG,CAAC,CAAC;SACT,CAAA;IAEO,IAAA,qBAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,YAAA;IACN,QAAA,IAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB,EAAC;IAC9C,YAAA,IAAM,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC;IACrD,YAAA,IAAM,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClC,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClD,SAAA;IAAI,aAAA;IACH,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;IAChC,SAAA;SACF,CAAA;IACD,IAAA,qBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;YACE,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC;IAClF,QAAA,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;YACvE,IAAM,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IACrD,QAAA,IAAM,WAAW,GAAG,cAAc,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;YAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,GAAG,GAAG,WAAW,GAAG,CAAC,EAAC,EAAE,UAAC,CAAC,EAAE,CAAC,EAAK,EAAA,OAAA,WAAW,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;SAC/E,CAAA;QACD,qBAAQ,CAAA,SAAA,CAAA,QAAA,GAAR,UAAS,IAAY,EAAA;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAChE,IAAG,IAAI,CAAC,kBAAkB,EAAC;gBACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC5B,SAAA;IAAI,aAAA;gBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,SAAA;SACF,CAAA;;;;QAID,qBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAa,EAAA;IACrB,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACxD,CAAA;QACD,qBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,GAAW,EAAE,SAAiB,EAAE,MAA4B,EAAE,IAAS,EAAA;YACrF,IAAG,MAAM,CAAC,UAAU,EAAC;gBACnB,IAAI,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAA,CAAC,EAAA,EAAI,OAAA,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,SAAS,CAAA,EAAA,CAAC,CAAC;gBACvF,IAAG,KAAK,IAAI,IAAI,EAAC;IACf,gBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAA,CAAC,EAAA,EAAI,OAAA,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,SAAS,KAAK,CAAC,CAAC,SAAS,IAAI,KAAK,CAAhE,EAAgE,CAAC,CAAC;IAClI,gBAAA,IAAI,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IACzB,gBAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACf,gBAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IACzB,gBAAA,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;oBACpD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,aAAA;IAAI,iBAAA;oBACH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAA,CAAC,EAAI,EAAA,OAAA,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,SAAS,CAAA,EAAA,CAAC,CAAC;IACzG,aAAA;IACF,SAAA;SACF,CAAA;QACD,qBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,IAAS,EAAA;IACnB,QAAA,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;SACzB,CAAA;IACD,IAAA,qBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,KAAa,EAAE,KAAiB,EAAA;IAC5C,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACjC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3C,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1D,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SACxD,CAAA;IAaD,IAAA,qBAAA,CAAA,SAAA,CAAA,wBAAwB,GAAxB,UAAyB,GAAW,EAAE,SAAiB,EAAA;IACrD,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAA,CAAC,EAAI,EAAA,OAAA,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,IAAI,SAAS,CAAA,EAAA,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAChG,CAAA;QACD,qBAAuB,CAAA,SAAA,CAAA,uBAAA,GAAvB,UAAwB,SAAiB,EAAA;YACvC,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAA,CAAC,EAAA,EAAI,OAAA,CAAC,CAAC,OAAO,IAAI,SAAS,CAAtB,EAAsB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAChF,CAAA;QACD,qBAAuB,CAAA,SAAA,CAAA,uBAAA,GAAvB,UAAwB,SAAiB,EAAA;YACvC,IAAI,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,OAAO,IAAI,SAAS,CAAtB,EAAsB,CAAC,CAAC;IACtE,QAAA,IAAG,IAAI;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC;;IAE/B,YAAA,OAAO,IAAI,CAAC;SACf,CAAA;IACD,IAAA,qBAAA,CAAA,SAAA,CAAA,UAAU,GAAV,UAAW,MAA4B,EAAE,IAAS,EAAA;IAChD,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC7B,CAAA;;;6IAzLU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,aAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAArB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAoBf,oBAAoB,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,QAAA,EC9CvC,giMAyHc,EAAA,MAAA,EAAA,CAAA,8xSAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAQ,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAAR,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sHD/FD,qBAAqB,EAAA,UAAA,EAAA,CAAA;sBAPjCE,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACT,oBAAA,QAAQ,EAAE,gBAAgB;IAC1B,oBAAA,WAAW,EAAE,iCAAiC;wBAC9C,SAAS,EAAE,CAAC,gCAAgC,CAAC;wBAC7C,aAAa,EAAEO,oBAAiB,CAAC,IAAI;qBACtC,CAAA;uHAGc,IAAI,EAAA,CAAA;0BAAhBJ,QAAK;oBAMG,QAAQ,EAAA,CAAA;0BAAhBA,QAAK;oBACG,SAAS,EAAA,CAAA;0BAAjBA,QAAK;oBACG,cAAc,EAAA,CAAA;0BAAtBA,QAAK;oBACG,MAAM,EAAA,CAAA;0BAAdA,QAAK;oBACG,UAAU,EAAA,CAAA;0BAAlBA,QAAK;oBACG,YAAY,EAAA,CAAA;0BAApBA,QAAK;oBACG,kBAAkB,EAAA,CAAA;0BAA1BA,QAAK;oBACG,WAAW,EAAA,CAAA;0BAAnBA,QAAK;oBACG,KAAK,EAAA,CAAA;0BAAbA,QAAK;oBACG,kBAAkB,EAAA,CAAA;0BAA1BA,QAAK;oBACG,WAAW,EAAA,CAAA;0BAAnBA,QAAK;oBACI,UAAU,EAAA,CAAA;0BAAnBK,SAAM;oBAEgC,OAAO,EAAA,CAAA;0BAA7CC,kBAAe;2BAAC,oBAAoB,CAAA;oBAUR,cAAc,EAAA,CAAA;0BAA1CC,YAAS;2BAAC,gBAAgB,CAAA;oBACP,YAAY,EAAA,CAAA;0BAA/BA,YAAS;2BAAC,OAAO,CAAA;;;IEzDpB;AAYA,QAAA,kBAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,kBAAA,GAAA;;;;0IAAa,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAZ,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2IAAlB,kBAAkB,EAAA,YAAA,EAAA,CAJd,qBAAqB,EAAE,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAChDa,iBAAY,EAACC,cAAW,CAAA,EAAA,OAAA,EAAA,CACxB,qBAAqB,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA;IAE1C,kBAAA,CAAA,IAAA,GAAAd,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,kBAAkB,EAHpB,OAAA,EAAA,CAAA,CAACa,iBAAY,EAACC,cAAW,CAAC,CAAA,EAAA,CAAA,CAAA;sHAGxB,kBAAkB,EAAA,UAAA,EAAA,CAAA;sBAL9BC,WAAQ;IAAC,YAAA,IAAA,EAAA,CAAA;IACR,oBAAA,YAAY,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;IAC3D,oBAAA,OAAO,EAAE,CAACF,iBAAY,EAACC,cAAW,CAAC;IACnC,oBAAA,OAAO,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;qBACvD,CAAA;;;ICXD;AACA,QAAA,YAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,YAAA,GAAA;;QACiB,YAAa,CAAA,aAAA,GAApB,UAAqB,GAAW,EAAA;YACtC,IAAI,MAAM,CAAC,GAAG,EAAE;IACd,YAAA,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC1B,SAAA;iBAAM,IAAI,MAAM,CAAC,SAAS,EAAE;IAC3B,YAAA,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAChC,SAAA;SACF,CAAA;QACc,YAAU,CAAA,UAAA,GAAjB,UAAkB,IAAU,EAAA;YAClC,IAAI,MAAM,CAAC,GAAG,EAAE;IACd,YAAA,OAAO,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAClC,SAAA;iBAAM,IAAI,MAAM,CAAC,SAAS,EAAE;IAC3B,YAAA,OAAO,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACxC,SAAA;YACD,OAAO,EAAE,CAAC;SACX,CAAA;IAYc,IAAA,YAAA,CAAA,OAAO,GAAd,YAAA;IACN,QAAA,IAAI,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;YAC7B,IAAI,IAAI,IAAI,OAAO,EAAE;gBACnB,IAAI,GAAG,OAAO,CAAC;IAChB,SAAA;IAED,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,IAAI,IAAI,QAAQ,EAAE;oBACpB,OAAO,IAAI,GAAG,yCAAyC,CAAC;IACzD,aAAA;IAAM,iBAAA;oBACL,OAAO,IAAI,GAAG,yCAAyC,CAAC;IACzD,aAAA;IACF,SAAA;IAED,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACnB,IAAI,IAAI,IAAI,QAAQ,EAAE;oBACpB,OAAO,IAAI,GAAG,yCAAyC,CAAC;IACzD,aAAA;IAAM,iBAAA;oBACL,OAAO,IAAI,GAAG,yCAAyC,CAAC;IACzD,aAAA;IACF,SAAA;IAAM,aAAA;;gBAEL,IAAI,IAAI,IAAI,QAAQ,EAAE;oBACpB,OAAO,IAAI,GAAG,yCAAyC,CAAC;IACzD,aAAA;IAAM,iBAAA;oBACL,OAAO,IAAI,GAAG,yCAAyC,CAAC;IACzD,aAAA;IACF,SAAA;SACF,CAAA;IAEc,IAAA,YAAA,CAAA,YAAY,GAAnB,YAAA;IACN,QAAA,OAAO,sCAAsC,CAAC,OAAO,CACnD,OAAO,EACP,UAAU,CAAC,EAAA;IACT,YAAA,IAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,YAAA,IAAM,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC;IAC1C,YAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxB,SAAC,CACF,CAAC;SACH,CAAA;IAEM,IAAA,YAAA,CAAA,iBAAiB,GAAxB,YAAA;IACE,QAAA,IAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,IAAI;IACF,YAAA,GAAG,CAAC,IAAI,CACN,KAAK,EACF,IAAI,CAAC,OAAO,GAAuB,sBAAA,GAAA,IAAI,CAAC,YAAY,EAAI,EAC3D,KAAK,CACN,CAAC;gBACF,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;IAC/C,SAAA;IAAC,QAAA,OAAO,CAAC,EAAE;IACV,YAAA,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,CAAC,CAAC,CAAC;IACrD,YAAA,OAAO,KAAK,CAAC;IACd,SAAA;SACF,CAAA;IAEM,IAAA,YAAA,CAAA,IAAI,GAAX,YAAA;IACE,QAAA,QACE,SAAS,CAAC,OAAO,KAAK,6BAA6B;IACnD,aAAC,SAAS,CAAC,OAAO,KAAK,UAAU;IAC/B,gBAAA,IAAI,MAAM,CAAC,oCAAoC,CAAC,CAAC,IAAI,CACnD,SAAS,CAAC,SAAS,CACpB,IAAI,IAAI,CAAC,EACZ;SACH,CAAA;IAEM,IAAA,YAAA,CAAA,QAAQ,GAAf,YAAA;YACE,OAAO,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SACvD,CAAA;IAEM,IAAA,YAAA,CAAA,eAAe,GAAtB,YAAA;IACE,QAAA,IAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,EAAE;IACR,YAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACpD,SAAA;IAED,QAAA,OAAO,GAAG,CAAC;SACZ,CAAA;QAEM,YAAiB,CAAA,iBAAA,GAAxB,UAAyB,IAAY,EAAA;IACnC,QAAA,IAAM,GAAG,GAA0B,IAAI,CAAC,eAAe,EAAE,CAAC;IAE1D,QAAA,IAAI,GAAG,EAAE;IACP,YAAA,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,YAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBAC9C,OAAO,GAAG,CAAC,YAAY,CAAC;IACzB,aAAA;IACF,SAAA;IACD,QAAA,OAAO,EAAE,CAAC;SACX,CAAA;QAEM,YAAqB,CAAA,qBAAA,GAA5B,UAA6B,IAAY,EAAA;IACvC,QAAA,IAAM,GAAG,GAA0B,IAAI,CAAC,eAAe,EAAE,CAAC;IAE1D,QAAA,IAAI,GAAG,EAAE;IACP,YAAA,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC7C,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBAC9C,OAAO,GAAG,CAAC,YAAY,CAAC;IACzB,aAAA;IACF,SAAA;IACD,QAAA,OAAO,EAAE,CAAC;SACX,CAAA;IAEM,IAAA,YAAA,CAAA,uBAAuB,GAA9B,UAA+B,IAAY,EAAE,IAAS,EAAA;IACpD,QAAA,IAAM,GAAG,GAA0B,IAAI,CAAC,eAAe,EAAE,CAAC;IAE1D,QAAA,IAAI,GAAG,EAAE;gBACP,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACtC,YAAA,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACnD,YAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,SAAA;IACD,QAAA,OAAO,EAAE,CAAC;SACX,CAAA;IAEM,IAAA,YAAA,CAAA,2BAA2B,GAAlC,UAAmC,IAAY,EAAE,IAAS,EAAA;IACxD,QAAA,IAAM,GAAG,GAA0B,IAAI,CAAC,eAAe,EAAE,CAAC;IAE1D,QAAA,IAAI,GAAG,EAAE;IACP,YAAA,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,YAAA,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACnD,YAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBAC9C,OAAO,GAAG,CAAC,YAAY,CAAC;IACzB,aAAA;IACF,SAAA;IACD,QAAA,OAAO,EAAE,CAAC;SACX,CAAA;IAEM,IAAA,YAAA,CAAA,4BAA4B,GAAnC,UAAoC,IAAY,EAAE,IAAS,EAAA;IACzD,QAAA,IAAM,GAAG,GAA0B,IAAI,CAAC,eAAe,EAAE,CAAC;IAE1D,QAAA,IAAI,GAAG,EAAE;IACP,YAAA,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,YAAA,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAClD,YAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,IAAI,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;oBAC9C,OAAO,GAAG,CAAC,YAAY,CAAC;IACzB,aAAA;IACF,SAAA;IACD,QAAA,OAAO,EAAE,CAAC;SACX,CAAA;IAEM,IAAA,YAAA,CAAA,0BAA0B,GAAjC,UAAkC,IAAI,EAAE,IAAI,EAAA;IAC1C,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IACjC,QAAA,IAAI,GAAG,EAAE;IACP,YAAA,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,YAAA,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC7C,YAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;oBAC5C,OAAO,GAAG,CAAC,YAAY,CAAC;IACzB,aAAA;IACF,SAAA;IACD,QAAA,OAAO,EAAE,CAAC;SACX,CAAA;QAEM,YAAiB,CAAA,iBAAA,GAAxB,UAAyB,IAAI,EAAA;IAC3B,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAEjC,QAAA,IAAI,GAAG,EAAE;gBACP,GAAG,CAAC,IAAI,CACN,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,EACvD,KAAK,CACN,CAAC;IACF,YAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;oBAC5C,OAAO,GAAG,CAAC,YAAY,CAAC;IACzB,aAAA;IACF,SAAA;IACD,QAAA,OAAO,EAAE,CAAC;SACX,CAAA;QAEM,YAAc,CAAA,cAAA,GAArB,UAAsB,QAAQ,EAAA;YAA9B,IA6BC,KAAA,GAAA,IAAA,CAAA;YA5BC,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACjC,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAClC,GAAG,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7D,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjE,QAAA,IAAI,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CACP,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,EAC/D,IAAI,CACL,CAAC;IACF,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,YAAA;gBACZ,IAAI,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,YAAA,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;gBACtB,GAAG,CAAC,GAAG,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,GAAG,CAAC,MAAM,GAAG,YAAA;oBACX,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC1B,IAAI,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;oBAC3C,IAAI,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,gBAAA,IAAI,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3D,gBAAA,IAAI,QAAQ,EAAE;wBACZ,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrB,iBAAA;IACH,aAAC,CAAC;IACJ,SAAC,CAAC;SACH,CAAA;QAEM,YAAoB,CAAA,oBAAA,GAA3B,UAA4B,QAAQ,EAAA;IAClC,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAEjC,QAAA,IAAI,GAAG,EAAE;IACP,YAAA,GAAG,CAAC,IAAI,CACN,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,gBAAgB,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,CACpE,CAAC;IACF,YAAA,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;gBACpB,GAAG,CAAC,kBAAkB,GAAG,YAAA;IACvB,gBAAA,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC;wBAAE,OAAO;IAChC,gBAAA,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG;IAAE,oBAAA,QAAQ,EAAE,CAAC;IACpC,aAAC,CAAC;IACF,YAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,SAAA;SACF,CAAA;QAEM,YAAW,CAAA,WAAA,GAAlB,UAAmB,GAAG,EAAA;YAAtB,IAkBC,KAAA,GAAA,IAAA,CAAA;IAjBC,QAAA,IAAI,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CACP,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,EAC/D,IAAI,CACL,CAAC;IACF,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,YAAA;IACZ,YAAA,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;gBACtB,GAAG,CAAC,GAAG,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,GAAG,CAAC,MAAM,GAAG,YAAA;oBACX,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,gBAAA,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC5B,GAAG,GAAG,IAAI,CAAC;IACb,aAAC,CAAC;IACJ,SAAC,CAAC;SACH,CAAA;QAEM,YAAsB,CAAA,sBAAA,GAA7B,UAA8B,GAAG,EAAA;IAC/B,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;SAChB,CAAA;IAEM,IAAA,YAAA,CAAA,aAAa,GAApB,YAAA;YAAA,IAyBC,KAAA,GAAA,IAAA,CAAA;YAxBC,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACpD,QAAA,IAAI,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACvC,OAAO;IACR,SAAA;IACD,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAEnC,QAAA,IAAI,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CACP,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,EAC/D,IAAI,CACL,CAAC;IACF,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,YAAA;IACZ,YAAA,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;gBACtB,GAAG,CAAC,GAAG,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;gBAEzC,GAAG,CAAC,MAAM,GAAG,YAAA;oBACX,KAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,gBAAA,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC5B,GAAG,GAAG,IAAI,CAAC;IACb,aAAC,CAAC;IACJ,SAAC,CAAC;IACF,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjB,CAAA;IAEM,IAAA,YAAA,CAAA,WAAW,GAAlB,YAAA;YAAA,IA2BC,KAAA,GAAA,IAAA,CAAA;IA1BC,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;IAEhC,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAEjC,QAAA,IAAI,GAAG,EAAE;gBACP,GAAG,CAAC,IAAI,CACN,KAAK,EACL,IAAI,CAAC,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,EAChE,IAAI,CACL,CAAC;gBACF,GAAG,CAAC,MAAM,GAAG,YAAA;IACX,gBAAA,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC;oBACjC,IAAI,WAAW,GAAG,IAAI,IAAI,KAAI,CAAC,QAAQ,GAAG,IAAI,EAAE;wBAC9C,IAAI,KAAI,CAAC,YAAY,EAAE;4BACrB,KAAI,CAAC,YAAY,EAAE,CAAC;IACrB,qBAAA;IACF,iBAAA;oBAED,IAAI,WAAW,GAAG,IAAI,IAAI,KAAI,CAAC,QAAQ,GAAG,IAAI,EAAE;wBAC9C,IAAI,KAAI,CAAC,UAAU,EAAE;4BACnB,KAAI,CAAC,UAAU,EAAE,CAAC;IACnB,qBAAA;IACF,iBAAA;IACH,aAAC,CAAC;IACF,YAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,SAAA;SACF,CAAA;QAEM,YAAsB,CAAA,sBAAA,GAA7B,UAA8B,CAAC,EAAA;IAC7B,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;SAC9B,CAAA;QAEM,YAAyB,CAAA,yBAAA,GAAhC,UAAiC,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAA;YAC/D,IAAI,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3C,QAAA,IAAI,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,QAAA,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE;gBAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9B,gBAAA,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACnB,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvB,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvB,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;;IAGvB,gBAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACV,gBAAA,IAAI,IAAI,GAAG,IAAI,CAAC,mBAAmB,EAAE;wBACnC,OAAO,IAAI,GAAG,CAAC;IAChB,iBAAA;IAAM,qBAAA;wBACL,OAAO,IAAI,GAAG,CAAC;IAChB,iBAAA;IACF,aAAA;IAEH,QAAA,OAAO,OAAO,CAAC;SAChB,CAAA;QAEM,YAAK,CAAA,KAAA,GAAZ,UAAa,MAAM,EAAA;IACjB,QAAA,QAAQ,MAAM;IACZ,YAAA,KAAK,CAAC;IACJ,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,CAAC;IACJ,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,CAAC;IACJ,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,CAAC;IACJ,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,CAAC;IACJ,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,CAAC;IACJ,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,CAAC;IACJ,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,CAAC;IACJ,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,CAAC;IACJ,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,CAAC;IACJ,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,EAAE;IACL,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,EAAE;IACL,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,EAAE;IACL,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,EAAE;IACL,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,EAAE;IACL,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA,KAAK,EAAE;IACL,gBAAA,OAAO,GAAG,CAAC;IACb,YAAA;IACE,gBAAA,OAAO,EAAE,CAAC;IACb,SAAA;SACF,CAAA;QACM,YAAW,CAAA,WAAA,GAAlB,UAAmB,OAAO,EAAA;YACxB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,QAAA,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;YACzC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAClC,QAAA,OAAO,GAAG,CAAC;SACZ,CAAA;QAEM,YAAY,CAAA,YAAA,GAAnB,UAAoB,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAA;YACxC,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YAChB,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,QAAA,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,MAAM,CAAC;IAChB,QAAA,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;IACb,QAAA,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IAEd,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAChB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;IAEZ,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE1C,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE3D,QAAA,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;SACpD,CAAA;QAEM,YAAa,CAAA,aAAA,GAApB,UAAqB,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAA;YACzC,IAAI,IAAI,GAAG,gBAAgB,CAAC;YAC5B,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAErC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC;IACpE,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAkB,CAAA,kBAAA,GAAzB,UAA0B,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAA;YAC9C,IAAI,IAAI,GAAG,gBAAgB,CAAC;YAE5B,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;IACjE,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC9B,CAAA;IAEM,IAAA,YAAA,CAAA,mBAAmB,GAA1B,UAA2B,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAA;YACvD,IAAI,KAAK,GACP,4BAA4B;gBAC5B,GAAG;gBACH,GAAG;gBACH,IAAI;gBACJ,GAAG;gBACH,EAAE;gBACF,GAAG;gBACH,EAAE;gBACF,GAAG;gBACH,EAAE;gBACF,GAAG;IACH,YAAA,EAAE,CAAC;YACL,IAAI,KAAK,GAAG,sBAAsB,CAAC;IAEnC,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAClC,QAAA,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SAC/C,CAAA;IAEM,IAAA,YAAA,CAAA,iBAAiB,GAAxB,UAAyB,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAA;YACrD,IAAI,IAAI,GAAG,sBAAsB,CAAC;YAElC,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;IAC3E,QAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SAC5C,CAAA;IAEM,IAAA,YAAA,CAAA,WAAW,GAAlB,UAAmB,KAAK,EAAE,SAAS,EAAE,MAAM,EAAA;YACzC,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE1C,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEhC,IAAI,MAAM,IAAI,IAAI,EAAE;IAClB,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpC,SAAA;YACD,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC;IAC5C,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IACjC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;IAC1B,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC;IAEzB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAEvB,QAAA,IAAI,OAAO,GAAG;gBACZ,KAAK,EAAE,IAAI,CAAC,WAAW;gBACvB,MAAM,EAAE,IAAI,CAAC,YAAY;aAC1B,CAAC;IAEF,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,GAAG,IAAI,CAAC;IAEZ,QAAA,OAAO,OAAO,CAAC;SAChB,CAAA;IACM,IAAA,YAAA,CAAA,gBAAgB,GAAvB,YAAA;YACE,IAAI,IAAI,GAAG,SAAS,CAAC;YAErB,IAAI,GAAG,IAAI,CAAC;YACZ,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACvC,QAAA,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,QAAA,OAAO,OAAO,CAAC;SAChB,CAAA;IAEM,IAAA,YAAA,CAAA,SAAS,GAAhB,YAAA;IACE,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SAC7B,CAAA;;;;IAKM,IAAA,YAAA,CAAA,WAAW,GAAlB,YAAA;YACE,IAAI,IAAI,GAAG,gBAAgB,CAAC;YAE5B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,oBAAoB,GAA3B,YAAA;YACE,IAAI,IAAI,GAAG,aAAa,CAAC;YAEzB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,YAAY,GAAnB,UAAoB,MAAM,EAAE,GAAG,EAAA;YAA/B,IAoBC,KAAA,GAAA,IAAA,CAAA;YAnBC,IAAI,IAAI,GAAG,WAAW,CAAC;YAEvB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAEjC,QAAA,IAAI,GAAG,EAAE;gBACP,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACtC,YAAA,GAAG,CAAC,gBAAgB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACnD,YAAA,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjB,GAAG,CAAC,MAAM,GAAG,YAAA;IACX,gBAAA,IAAI,GAAG,EAAE;IACP,oBAAA,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;IACrB,oBAAA,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,oBAAA,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,oBAAA,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACvB,iBAAA;IACH,aAAC,CAAC;IACH,SAAA;IACD,QAAA,OAAO,EAAE,CAAC;SACX,CAAA;IAEM,IAAA,YAAA,CAAA,YAAY,GAAnB,YAAA;YACE,IAAI,IAAI,GAAG,WAAW,CAAC;YAEvB,IAAI,GAAG,IAAI,CAAC;YACZ,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEvC,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACrC,CAAA;QAEM,YAAqB,CAAA,qBAAA,GAA5B,UAA6B,CAAC,EAAA;YAC5B,IAAI,IAAI,GAAG,kBAAkB,CAAC;IAE9B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,qBAAqB,GAA5B,YAAA;YACE,IAAI,IAAI,GAAG,iBAAiB,CAAC;YAE7B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAiB,CAAA,iBAAA,GAAxB,UAAyB,CAAC,EAAA;YACxB,IAAI,IAAI,GAAG,iBAAiB,CAAC;IAE7B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,iBAAiB,GAAxB,YAAA;YACE,IAAI,IAAI,GAAG,gBAAgB,CAAC;YAE5B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAY,CAAA,YAAA,GAAnB,UAAoB,SAAS,EAAA;YAC3B,IAAI,IAAI,GAAG,WAAW,CAAC;YAEvB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAC/C,CAAA;IAEM,IAAA,YAAA,CAAA,YAAY,GAAnB,YAAA;YACE,IAAI,IAAI,GAAG,WAAW,CAAC;YAEvB,IAAI,GAAG,IAAI,CAAC;YACZ,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEvC,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,YAAY,GAAnB,YAAA;YACE,IAAI,IAAI,GAAG,cAAc,CAAC;YAE1B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,aAAa,GAApB,YAAA;YACE,IAAI,IAAI,GAAG,eAAe,CAAC;YAE3B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAc,CAAA,cAAA,GAArB,UAAsB,OAAO,EAAA;YAC3B,IAAI,IAAI,GAAG,gBAAgB,CAAC;YAE5B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC7C,CAAA;QAEM,YAAc,CAAA,cAAA,GAArB,UAAsB,OAAO,EAAA;YAC3B,IAAI,IAAI,GAAG,gBAAgB,CAAC;YAE5B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;SAC5B,CAAA;;IAIM,IAAA,YAAA,CAAA,kBAAkB,GAAzB,YAAA;YACE,IAAI,IAAI,GAAG,iBAAiB,CAAC;YAE7B,IAAI,GAAG,IAAI,CAAC;YACZ,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEvC,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACrC,CAAA;;IAIM,IAAA,YAAA,CAAA,kBAAkB,GAAzB,YAAA;YACE,IAAI,IAAI,GAAG,iBAAiB,CAAC;YAE7B,IAAI,GAAG,IAAI,CAAC;YACZ,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEvC,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACrC,CAAA;QAEM,YAAY,CAAA,YAAA,GAAnB,UAAoB,SAAS,EAAA;YAC3B,IAAI,IAAI,GAAG,WAAW,CAAC;YAEvB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAC/C,CAAA;IAEM,IAAA,YAAA,CAAA,YAAY,GAAnB,YAAA;YACE,IAAI,IAAI,GAAG,WAAW,CAAC;YAEvB,IAAI,GAAG,IAAI,CAAC;YACZ,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEvC,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACrC,CAAA;QAEM,YAAW,CAAA,WAAA,GAAlB,UAAmB,QAAQ,EAAA;YACzB,IAAI,IAAI,GAAG,UAAU,CAAC;YAEtB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC9C,CAAA;IAEM,IAAA,YAAA,CAAA,WAAW,GAAlB,YAAA;YACE,IAAI,IAAI,GAAG,UAAU,CAAC;YAEtB,IAAI,GAAG,IAAI,CAAC;YACZ,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEvC,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACrC,CAAA;QAEM,YAAc,CAAA,cAAA,GAArB,UAAsB,CAAC,EAAA;YACrB,IAAI,IAAI,GAAG,cAAc,CAAC;IAE1B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,cAAc,GAArB,YAAA;YACE,IAAI,IAAI,GAAG,aAAa,CAAC;YAEzB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAmB,CAAA,mBAAA,GAA1B,UAA2B,CAAC,EAAA;YAC1B,IAAI,IAAI,GAAG,mBAAmB,CAAC;IAE/B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,mBAAmB,GAA1B,YAAA;YACE,IAAI,IAAI,GAAG,kBAAkB,CAAC;YAE9B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAe,CAAA,eAAA,GAAtB,UAAuB,CAAC,EAAA;YACtB,IAAI,IAAI,GAAG,eAAe,CAAC;IAE3B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,eAAe,GAAtB,YAAA;YACE,IAAI,IAAI,GAAG,cAAc,CAAC;YAE1B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAoB,CAAA,oBAAA,GAA3B,UAA4B,CAAC,EAAA;YAC3B,IAAI,IAAI,GAAG,oBAAoB,CAAC;IAEhC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,oBAAoB,GAA3B,YAAA;YACE,IAAI,IAAI,GAAG,mBAAmB,CAAC;YAE/B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAqB,CAAA,qBAAA,GAA5B,UAA6B,CAAC,EAAA;YAC5B,IAAI,IAAI,GAAG,qBAAqB,CAAC;IAEjC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,qBAAqB,GAA5B,YAAA;YACE,IAAI,IAAI,GAAG,oBAAoB,CAAC;YAEhC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,kBAAkB,GAAzB,YAAA;YACE,IAAI,IAAI,GAAG,iBAAiB,CAAC;YAE7B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAqB,CAAA,qBAAA,GAA5B,UAA6B,CAAC,EAAA;YAC5B,IAAI,IAAI,GAAG,yBAAyB,CAAC;IAErC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,cAAc,GAArB,UAAsB,EAAE,EAAE,EAAE,EAAA;YAC1B,IAAI,IAAI,GAAG,cAAc,CAAC;YAE1B,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;IAC5B,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,cAAc,GAArB,UAAsB,EAAE,EAAE,EAAE,EAAA;YAC1B,IAAI,IAAI,GAAG,cAAc,CAAC;YAE1B,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;IAC5B,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAkB,CAAA,kBAAA,GAAzB,UAA0B,CAAC,EAAA;YACzB,IAAI,IAAI,GAAG,kBAAkB,CAAC;IAE9B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,kBAAkB,GAAzB,YAAA;YACE,IAAI,IAAI,GAAG,iBAAiB,CAAC;YAE7B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAmB,CAAA,mBAAA,GAA1B,UAA2B,CAAC,EAAA;YAC1B,IAAI,IAAI,GAAG,mBAAmB,CAAC;IAE/B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;;;;QAKM,YAAe,CAAA,eAAA,GAAtB,UAAuB,CAAC,EAAA;YACtB,IAAI,IAAI,GAAG,eAAe,CAAC;IAE3B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,eAAe,GAAtB,YAAA;YACE,IAAI,IAAI,GAAG,cAAc,CAAC;YAE1B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAe,CAAA,eAAA,GAAtB,UAAuB,CAAC,EAAA;YACtB,IAAI,IAAI,GAAG,eAAe,CAAC;IAE3B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,eAAe,GAAtB,YAAA;YACE,IAAI,IAAI,GAAG,cAAc,CAAC;YAE1B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAkB,CAAA,kBAAA,GAAzB,UAA0B,CAAC,EAAA;YACzB,IAAI,IAAI,GAAG,kBAAkB,CAAC;IAE9B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,kBAAkB,GAAzB,YAAA;YACE,IAAI,IAAI,GAAG,iBAAiB,CAAC;YAE7B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAmB,CAAA,mBAAA,GAA1B,UAA2B,CAAC,EAAA;YAC1B,IAAI,IAAI,GAAG,mBAAmB,CAAC;IAE/B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,mBAAmB,GAA1B,YAAA;YACE,IAAI,IAAI,GAAG,kBAAkB,CAAC;YAE9B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAuB,CAAA,uBAAA,GAA9B,UAA+B,CAAC,EAAA;YAC9B,IAAI,IAAI,GAAG,uBAAuB,CAAC;IAEnC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,uBAAuB,GAA9B,YAAA;YACE,IAAI,IAAI,GAAG,sBAAsB,CAAC;YAElC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAuB,CAAA,uBAAA,GAA9B,UAA+B,CAAC,EAAA;YAC9B,IAAI,IAAI,GAAG,uBAAuB,CAAC;IAEnC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,uBAAuB,GAA9B,YAAA;YACE,IAAI,IAAI,GAAG,sBAAsB,CAAC;YAElC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAuB,CAAA,uBAAA,GAA9B,UAA+B,CAAC,EAAA;YAC9B,IAAI,IAAI,GAAG,uBAAuB,CAAC;IAEnC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,uBAAuB,GAA9B,YAAA;YACE,IAAI,IAAI,GAAG,sBAAsB,CAAC;YAElC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAkB,CAAA,kBAAA,GAAzB,UAA0B,CAAC,EAAA;YACzB,IAAI,IAAI,GAAG,kBAAkB,CAAC;IAE9B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,kBAAkB,GAAzB,YAAA;YACE,IAAI,IAAI,GAAG,iBAAiB,CAAC;YAE7B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAsB,CAAA,sBAAA,GAA7B,UAA8B,CAAC,EAAA;YAC7B,IAAI,IAAI,GAAG,sBAAsB,CAAC;IAElC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,sBAAsB,GAA7B,YAAA;YACE,IAAI,IAAI,GAAG,qBAAqB,CAAC;YAEjC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAsB,CAAA,sBAAA,GAA7B,UAA8B,CAAC,EAAA;YAC7B,IAAI,IAAI,GAAG,sBAAsB,CAAC;IAElC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,sBAAsB,GAA7B,YAAA;YACE,IAAI,IAAI,GAAG,qBAAqB,CAAC;YAEjC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAsB,CAAA,sBAAA,GAA7B,UAA8B,CAAC,EAAA;YAC7B,IAAI,IAAI,GAAG,sBAAsB,CAAC;IAElC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,sBAAsB,GAA7B,YAAA;YACE,IAAI,IAAI,GAAG,qBAAqB,CAAC;YAEjC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;;;;;;;;;;;;;;;;QAkBM,YAAa,CAAA,aAAA,GAApB,UAAqB,CAAC,EAAA;YACpB,IAAI,IAAI,GAAG,aAAa,CAAC;IAEzB,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,aAAa,GAApB,YAAA;YACE,IAAI,IAAI,GAAG,YAAY,CAAC;YAExB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAa,CAAA,aAAA,GAApB,UAAqB,CAAC,EAAA;YACpB,IAAI,IAAI,GAAG,aAAa,CAAC;IAEzB,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,aAAa,GAApB,YAAA;YACE,IAAI,IAAI,GAAG,YAAY,CAAC;YAExB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAgB,CAAA,gBAAA,GAAvB,UAAwB,CAAC,EAAA;YACvB,IAAI,IAAI,GAAG,gBAAgB,CAAC;IAE5B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,gBAAgB,GAAvB,YAAA;YACE,IAAI,IAAI,GAAG,eAAe,CAAC;YAE3B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAiB,CAAA,iBAAA,GAAxB,UAAyB,CAAC,EAAA;YACxB,IAAI,IAAI,GAAG,iBAAiB,CAAC;IAE7B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,iBAAiB,GAAxB,YAAA;YACE,IAAI,IAAI,GAAG,gBAAgB,CAAC;YAE5B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAqB,CAAA,qBAAA,GAA5B,UAA6B,CAAC,EAAA;YAC5B,IAAI,IAAI,GAAG,qBAAqB,CAAC;IAEjC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,qBAAqB,GAA5B,YAAA;YACE,IAAI,IAAI,GAAG,oBAAoB,CAAC;YAEhC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAqB,CAAA,qBAAA,GAA5B,UAA6B,CAAC,EAAA;YAC5B,IAAI,IAAI,GAAG,qBAAqB,CAAC;IAEjC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,qBAAqB,GAA5B,YAAA;YACE,IAAI,IAAI,GAAG,oBAAoB,CAAC;YAEhC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAqB,CAAA,qBAAA,GAA5B,UAA6B,CAAC,EAAA;YAC5B,IAAI,IAAI,GAAG,qBAAqB,CAAC;IAEjC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,qBAAqB,GAA5B,YAAA;YACE,IAAI,IAAI,GAAG,oBAAoB,CAAC;YAEhC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAgB,CAAA,gBAAA,GAAvB,UAAwB,CAAC,EAAA;YACvB,IAAI,IAAI,GAAG,gBAAgB,CAAC;IAE5B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,gBAAgB,GAAvB,YAAA;YACE,IAAI,IAAI,GAAG,eAAe,CAAC;YAE3B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAoB,CAAA,oBAAA,GAA3B,UAA4B,CAAC,EAAA;YAC3B,IAAI,IAAI,GAAG,oBAAoB,CAAC;IAEhC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,oBAAoB,GAA3B,YAAA;YACE,IAAI,IAAI,GAAG,mBAAmB,CAAC;YAE/B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAoB,CAAA,oBAAA,GAA3B,UAA4B,CAAC,EAAA;YAC3B,IAAI,IAAI,GAAG,oBAAoB,CAAC;IAEhC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,oBAAoB,GAA3B,YAAA;YACE,IAAI,IAAI,GAAG,mBAAmB,CAAC;YAE/B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAoB,CAAA,oBAAA,GAA3B,UAA4B,CAAC,EAAA;YAC3B,IAAI,IAAI,GAAG,oBAAoB,CAAC;IAEhC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,oBAAoB,GAA3B,YAAA;YACE,IAAI,IAAI,GAAG,mBAAmB,CAAC;YAE/B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAW,CAAA,WAAA,GAAlB,UAAmB,CAAC,EAAA;YAClB,IAAI,IAAI,GAAG,WAAW,CAAC;IAEvB,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,WAAW,GAAlB,YAAA;YACE,IAAI,IAAI,GAAG,UAAU,CAAC;YAEtB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAW,CAAA,WAAA,GAAlB,UAAmB,CAAC,EAAA;YAClB,IAAI,IAAI,GAAG,WAAW,CAAC;IAEvB,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,WAAW,GAAlB,YAAA;YACE,IAAI,IAAI,GAAG,UAAU,CAAC;YAEtB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAc,CAAA,cAAA,GAArB,UAAsB,CAAC,EAAA;YACrB,IAAI,IAAI,GAAG,cAAc,CAAC;IAE1B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,cAAc,GAArB,YAAA;YACE,IAAI,IAAI,GAAG,aAAa,CAAC;YAEzB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;;;;IAKM,IAAA,YAAA,CAAA,gBAAgB,GAAvB,UAAwB,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAA;YAChD,IAAI,IAAI,GAAG,mBAAmB,CAAC;YAC/B,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;IAC5E,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,iBAAiB,GAAxB,UAAyB,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAA;IACjD,QAAA,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9D,QAAA,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IACnE,QAAA,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACnE,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;SACzE,CAAA;QAEM,YAAkB,CAAA,kBAAA,GAAzB,UAA0B,GAAG,EAAA;YAC3B,IAAI,IAAI,GAAG,qBAAqB,CAAC;IACjC,QAAA,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;IAClB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,sBAAsB,GAA7B,YAAA;YACE,IAAI,IAAI,GAAG,wBAAwB,CAAC;IACpC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAY,CAAA,YAAA,GAAnB,UAAoB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAA;YACxC,IAAI,IAAI,GAAG,YAAY,CAAC;YACxB,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;IACjE,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAc,CAAA,cAAA,GAArB,UAAsB,MAAM,EAAA;YAC1B,IAAI,IAAI,GAAG,iBAAiB,CAAC;IAC7B,QAAA,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IACrB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;;;;QAKM,YAAiB,CAAA,iBAAA,GAAxB,UAAyB,CAAC,EAAA;YACxB,IAAI,IAAI,GAAG,cAAc,CAAC;IAE1B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,iBAAiB,GAAxB,YAAA;YACE,IAAI,IAAI,GAAG,aAAa,CAAC;YAEzB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAY,CAAA,YAAA,GAAnB,UAAoB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAA;YAChC,IAAI,IAAI,GAAG,eAAe,CAAC;IAC3B,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;IAClD,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,cAAc,GAArB,UAAsB,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAA;YACpD,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YAChB,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,QAAA,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,EAAE,GAAG,IAAI,CAAC;IACd,QAAA,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;IACb,QAAA,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;YAEd,IAAI,EAAE,IAAI,CAAC,EAAE;gBACX,OAAO;IACR,SAAA;IAED,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAChB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;IAEZ,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE1C,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE3D,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;SAC1D,CAAA;IAEM,IAAA,YAAA,CAAA,gBAAgB,GAAvB,UAAwB,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAA;YACpD,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAE9B,QAAA,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;IACb,QAAA,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IAEd,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;IAEZ,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;SACxD,CAAA;QAEM,YAAa,CAAA,aAAA,GAApB,UAAqB,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAA;YAClE,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YAChB,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,QAAA,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;IACb,QAAA,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IAEd,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAChB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;IAEZ,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;IAEnD,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE1C,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE3D,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;SACxD,CAAA;IAEM,IAAA,YAAA,CAAA,oBAAoB,GAA3B,UAA4B,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAA;YAClE,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YAChB,IAAI,GAAG,GAAG,GAAG,CAAC;YACd,IAAI,EAAE,GAAG,KAAK,CAAC;YACf,IAAI,EAAE,GAAG,KAAK,CAAC;IACf,QAAA,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;IACb,QAAA,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IAEd,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAChB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,EAAE,CAAC;IAEZ,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE1C,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE3D,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;SACxD,CAAA;IAEM,IAAA,YAAA,CAAA,cAAc,GAArB,UAAsB,GAAG,EAAE,GAAG,EAAA;YAC5B,IAAI,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;YAChB,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,QAAA,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAEjD,QAAA,OAAO,EAAE,CAAC;SACX,CAAA;IAEM,IAAA,YAAA,CAAA,eAAe,GAAtB,UAAuB,GAAG,EAAE,GAAG,EAAA;IAC7B,QAAA,OAAO,EAAE,CAAC;SACX,CAAA;QAEM,YAAU,CAAA,UAAA,GAAjB,UAAkB,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAA;YACpC,IAAI,IAAI,GAAG,aAAa,CAAC;YAEzB,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;IAC/D,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAgB,CAAA,gBAAA,GAAvB,UAAwB,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAA;YAC1D,IAAI,IAAI,GAAG,mBAAmB,CAAC;YAE/B,IAAI,GAAG,IAAI,GAAG,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC;YAC1C,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACrD,CAAA;QAEM,YAAc,CAAA,cAAA,GAArB,UAAsB,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAA;YACxD,IAAI,IAAI,GAAG,iBAAiB,CAAC;YAE7B,IAAI,GAAG,IAAI,GAAG,WAAW,GAAG,GAAG,GAAG,OAAO,CAAC;YAC1C,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SACrD,CAAA;;;;;;;;;IAYM,IAAA,YAAA,CAAA,4BAA4B,GAAnC,UAAoC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAA;YACvE,IAAI,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9C,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;SAC1D,CAAA;QAEM,YAAiB,CAAA,iBAAA,GAAxB,UAAyB,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAA;IAC5C,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,CAAA;;;IAKM,IAAA,YAAA,CAAA,QAAQ,GAAf,YAAA;YACE,IAAI,IAAI,GAAG,UAAU,CAAC;YAEtB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,eAAe,GAAtB,UACE,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,KACN,CAAA;QAEG,YAAgB,CAAA,gBAAA,GAAvB,UAAwB,CAAC,EAAA;YACvB,IAAI,IAAI,GAAG,mBAAmB,CAAC;IAE/B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,aAAa,GAApB,YAAA;YACE,IAAI,IAAI,GAAG,eAAe,CAAC;YAE3B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IACM,IAAA,YAAA,CAAA,qBAAqB,GAA5B,YAAA;YACE,IAAI,IAAI,GAAG,oBAAoB,CAAC;YAEhC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,sBAAsB,GAA7B,YAAA;YACE,IAAI,IAAI,GAAG,qBAAqB,CAAC;YAEjC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;;;;QAMM,YAAkB,CAAA,kBAAA,GAAzB,UAA0B,CAAC,EAAA;YACzB,IAAI,IAAI,GAAG,cAAc,CAAC;IAE1B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,cAAc,GAArB,YAAA;YACE,IAAI,IAAI,GAAG,aAAa,CAAC;YAEzB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAqB,CAAA,qBAAA,GAA5B,UAA6B,CAAC,EAAA;YAC5B,IAAI,IAAI,GAAG,qBAAqB,CAAC;IAEjC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,qBAAqB,GAA5B,YAAA;YACE,IAAI,IAAI,GAAG,oBAAoB,CAAC;YAEhC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,qBAAqB,GAA5B,YAAA;YACE,IAAI,IAAI,GAAG,oBAAoB,CAAC;YAEhC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAqB,CAAA,qBAAA,GAA5B,UAA6B,CAAC,EAAA;YAC5B,IAAI,IAAI,GAAG,qBAAqB,CAAC;IAEjC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAe,CAAA,eAAA,GAAtB,UAAuB,CAAC,EAAA;YACtB,IAAI,IAAI,GAAG,eAAe,CAAC;IAE3B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,eAAe,GAAtB,YAAA;YACE,IAAI,IAAI,GAAG,cAAc,CAAC;YAE1B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAe,CAAA,eAAA,GAAtB,UAAuB,CAAC,EAAA;YACtB,IAAI,IAAI,GAAG,eAAe,CAAC;IAE3B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,eAAe,GAAtB,YAAA;YACE,IAAI,IAAI,GAAG,cAAc,CAAC;YAE1B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAc,CAAA,cAAA,GAArB,UAAsB,CAAC,EAAA;YACrB,IAAI,IAAI,GAAG,cAAc,CAAC;IAE1B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,cAAc,GAArB,YAAA;YACE,IAAI,IAAI,GAAG,aAAa,CAAC;YAEzB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAc,CAAA,cAAA,GAArB,UAAsB,CAAC,EAAA;YACrB,IAAI,IAAI,GAAG,cAAc,CAAC;IAE1B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,cAAc,GAArB,YAAA;YACE,IAAI,IAAI,GAAG,aAAa,CAAC;YAEzB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAqB,CAAA,qBAAA,GAA5B,UAA6B,CAAC,EAAA;YAC5B,IAAI,IAAI,GAAG,qBAAqB,CAAC;IAEjC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,qBAAqB,GAA5B,YAAA;YACE,IAAI,IAAI,GAAG,oBAAoB,CAAC;YAEhC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAsB,CAAA,sBAAA,GAA7B,UAA8B,CAAC,EAAA;YAC7B,IAAI,IAAI,GAAG,sBAAsB,CAAC;IAElC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,sBAAsB,GAA7B,YAAA;YACE,IAAI,IAAI,GAAG,qBAAqB,CAAC;YAEjC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAgB,CAAA,gBAAA,GAAvB,UAAwB,CAAC,EAAA;YACvB,IAAI,IAAI,GAAG,gBAAgB,CAAC;IAE5B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,gBAAgB,GAAvB,YAAA;YACE,IAAI,IAAI,GAAG,eAAe,CAAC;YAE3B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAiB,CAAA,iBAAA,GAAxB,UAAyB,CAAC,EAAA;YACxB,IAAI,IAAI,GAAG,iBAAiB,CAAC;IAE7B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,iBAAiB,GAAxB,YAAA;YACE,IAAI,IAAI,GAAG,gBAAgB,CAAC;YAE5B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAiB,CAAA,iBAAA,GAAxB,UAAyB,CAAC,EAAA;YACxB,IAAI,IAAI,GAAG,iBAAiB,CAAC;IAE7B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,iBAAiB,GAAxB,YAAA;YACE,IAAI,IAAI,GAAG,gBAAgB,CAAC;YAE5B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAa,CAAA,aAAA,GAApB,UAAqB,CAAC,EAAA;YACpB,IAAI,IAAI,GAAG,aAAa,CAAC;IAEzB,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,aAAa,GAApB,YAAA;YACE,IAAI,IAAI,GAAG,YAAY,CAAC;YAExB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAmB,CAAA,mBAAA,GAA1B,UAA2B,CAAC,EAAA;YAC1B,IAAI,IAAI,GAAG,mBAAmB,CAAC;IAE/B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,mBAAmB,GAA1B,YAAA;YACE,IAAI,IAAI,GAAG,kBAAkB,CAAC;YAE9B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAgB,CAAA,gBAAA,GAAvB,UAAwB,CAAC,EAAA;YACvB,IAAI,IAAI,GAAG,gBAAgB,CAAC;IAE5B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,gBAAgB,GAAvB,YAAA;YACE,IAAI,IAAI,GAAG,eAAe,CAAC;YAE3B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAmB,CAAA,mBAAA,GAA1B,UAA2B,CAAC,EAAA;YAC1B,IAAI,IAAI,GAAG,mBAAmB,CAAC;IAE/B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,mBAAmB,GAA1B,YAAA;YACE,IAAI,IAAI,GAAG,kBAAkB,CAAC;YAE9B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,kBAAkB,GAAzB,YAAA;YACE,IAAI,IAAI,GAAG,oBAAoB,CAAC;YAEhC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,iBAAiB,GAAxB,YAAA;YACE,IAAI,IAAI,GAAG,mBAAmB,CAAC;YAE/B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,kBAAkB,GAAzB,YAAA;YACE,IAAI,IAAI,GAAG,oBAAoB,CAAC;YAEhC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAiB,CAAA,iBAAA,GAAxB,UAAyB,CAAC,EAAA;YACxB,IAAI,IAAI,GAAG,iBAAiB,CAAC;IAE7B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAyB,CAAA,yBAAA,GAAhC,UAAiC,CAAC,EAAA;YAChC,IAAI,IAAI,GAAG,yBAAyB,CAAC;IAErC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAc,CAAA,cAAA,GAArB,UAAsB,CAAC,EAAA;YACrB,IAAI,IAAI,GAAG,cAAc,CAAC;IAE1B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAuB,CAAA,uBAAA,GAA9B,UAA+B,CAAC,EAAA;YAC9B,IAAI,IAAI,GAAG,uBAAuB,CAAC;IAEnC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,uBAAuB,GAA9B,YAAA;YACE,IAAI,IAAI,GAAG,sBAAsB,CAAC;YAElC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,sBAAsB,GAA7B,YAAA;YACE,IAAI,IAAI,GAAG,wBAAwB,CAAC;YAEpC,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,uBAAuB,GAA9B,UAA+B,KAAK,EAAE,KAAK,EAAA;YACzC,IAAI,IAAI,GAAG,uBAAuB,CAAC;YAEnC,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;IAClC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAiB,CAAA,iBAAA,GAAxB,UAAyB,CAAC,EAAA;YACxB,IAAI,IAAI,GAAG,iBAAiB,CAAC;IAE7B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,oBAAoB,GAA3B,YAAA;YACE,IAAI,IAAI,GAAG,mBAAmB,CAAC;YAE/B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,oBAAoB,GAA3B,YAAA;YACE,IAAI,IAAI,GAAG,mBAAmB,CAAC;YAE/B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;IAEM,IAAA,YAAA,CAAA,oBAAoB,GAA3B,YAAA;YACE,IAAI,IAAI,GAAG,mBAAmB,CAAC;YAE/B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAoB,CAAA,oBAAA,GAA3B,UAA4B,CAAC,EAAA;YAC3B,IAAI,IAAI,GAAG,oBAAoB,CAAC;IAEhC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAoB,CAAA,oBAAA,GAA3B,UAA4B,CAAC,EAAA;YAC3B,IAAI,IAAI,GAAG,oBAAoB,CAAC;IAEhC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAa,CAAA,aAAA,GAApB,UAAqB,CAAC,EAAA;YACpB,IAAI,IAAI,GAAG,aAAa,CAAC;IAEzB,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;QAEM,YAAoB,CAAA,oBAAA,GAA3B,UAA4B,CAAC,EAAA;YAC3B,IAAI,IAAI,GAAG,oBAAoB,CAAC;IAEhC,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,mBAAmB,GAA1B,YAAA;YACE,IAAI,IAAI,GAAG,kBAAkB,CAAC;YAE9B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SACrC,CAAA;QAEM,YAAa,CAAA,aAAA,GAApB,UAAqB,MAAM,EAAA;YACzB,IAAI,IAAI,GAAG,YAAY,CAAC;YAExB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;SAC5C,CAAA;IAEM,IAAA,YAAA,CAAA,aAAa,GAApB,YAAA;YACE,IAAI,IAAI,GAAG,YAAY,CAAC;YAExB,IAAI,GAAG,IAAI,CAAC;YACZ,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEvC,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACrC,CAAA;QAEM,YAAU,CAAA,UAAA,GAAjB,UAAkB,CAAC,EAAA;YACjB,IAAI,IAAI,GAAG,aAAa,CAAC;IAEzB,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAChB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,WAAW,GAAlB,YAAA;YACE,IAAI,IAAI,GAAG,aAAa,CAAC;YAEzB,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC9B,CAAA;IAEM,IAAA,YAAA,CAAA,eAAe,GAAtB,YAAA;YACE,IAAI,IAAI,GAAG,iBAAiB,CAAC;YAE7B,IAAI,GAAG,IAAI,CAAC;IACZ,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC,CAAA;IAEM,IAAA,YAAA,CAAA,WAAW,GAAlB,YAAA;IACE,QAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACnB,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAChC,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB,CAAA;IAEM,IAAA,YAAA,CAAA,cAAc,GAArB,UAAsB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAA;YAAhC,IAqCC,KAAA,GAAA,IAAA,CAAA;IApCC,QAAA,IAAI,KAAK,CAAC;IAEV,QAAA,IAAI,EAAE,EAAE;gBACN,KAAK,GAAG,EAAE,CAAC;IACZ,SAAA;IAAM,aAAA;gBACL,KAAK,GAAG,GAAG,CAAC;IACb,SAAA;IAED,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE;gBAC9B,IAAI,CAAC,IAAI,CAAC,EAAE;IACV,gBAAA,IAAI,GAAG,EAAE;IACP,oBAAA,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;IACrB,oBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,oBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,oBAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAClC,iBAAA;IACD,gBAAA,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC3B,gBAAA,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;oBACjC,IAAI,UAAU,GAAG,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC/D,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,gBAAA,IAAI,GAAG,IAAI,UAAU,IAAI,CAAC,EAAE;IAC1B,oBAAA,GAAG,GAAG,WAAW,CAAC,YAAA,EAAM,OAAA,KAAI,CAAC,aAAa,EAAE,CAApB,EAAoB,EAAE,KAAK,CAAC,CAAC;IACtD,iBAAA;IAAM,qBAAA;wBACL,GAAG,GAAG,IAAI,CAAC;IACZ,iBAAA;IAED,gBAAA,OAAO,GAAG,CAAC;IACZ,aAAA;IAAM,iBAAA;IACL,gBAAA,IAAI,GAAG,EAAE;wBACP,aAAa,CAAC,GAAG,CAAC,CAAC;IACpB,iBAAA;IACD,gBAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAClC,gBAAA,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC5B,aAAA;IACF,SAAA;IACD,QAAA,OAAO,IAAI,CAAC;SACb,CAAA;;;IAt0Dc,YAAA,CAAA,OAAO,GAAW,YAAY,CAAC,OAAO,EAAE,CAAC;IAEzC,YAAK,CAAA,KAAA,GAAY,KAAK,CAAC;IAIvB,YAAmB,CAAA,mBAAA,GAAG,GAAG,CAAC;IAC1B,YAAiB,CAAA,iBAAA,GAAG,CAAC;;ICLtC,IAAA,aAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,aAAA,GAAA;SAIC;QAAA,OAAA,aAAA,CAAA;IAAA,CAAA,EAAA,CAAA,CAAA;AAOD,QAAA,yBAAA,kBAAA,YAAA;IAqBE,IAAA,SAAA,yBAAA,GAAA;IApBU,QAAA,IAAA,CAAA,eAAe,GAAG,IAAIP,eAAY,EAAkB,CAAC;IACtD,QAAA,IAAU,CAAA,UAAA,GAAW,UAAU,CAAC;IAEjC,QAAA,IAAA,CAAA,SAAS,GAAqB,IAAIS,YAAO,EAAW,CAAC;IAM7D,QAAA,IAAS,CAAA,SAAA,GAAW,GAAG,CAAC;IACxB,QAAA,IAAU,CAAA,UAAA,GAAW,GAAG,CAAC;IACzB,QAAA,IAAW,CAAA,WAAA,GAAW,GAAG,CAAC;IAC1B,QAAA,IAAY,CAAA,YAAA,GAAW,GAAG,CAAC;YAC3B,IAAA,CAAA,mBAAmB,GAAW;IAC5B,YAAA,QAAQ,EAAE,CAAC;gBACX,WAAW,EAAE,IAAI,CAAC,SAAS;gBAC3B,YAAY,EAAE,IAAI,CAAC,UAAU;IAC7B,YAAA,eAAe,EAAE,qBAAqB;aACvC,CAAC;SAEc;IAEhB,IAAA,yBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;YACE,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB,CAAA;IAED,IAAA,yBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;YACE,IAAI,CAAC,aAAa,EAAE,CAAC;IACrB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B,CAAA;IAED,IAAA,yBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;YAAA,IAIC,KAAA,GAAA,IAAA,CAAA;IAHC,QAAA,UAAU,CAAC,YAAA;gBACT,KAAI,CAAC,UAAU,EAAE,CAAC;aACnB,EAAE,GAAG,CAAC,CAAC;SACT,CAAA;IAED,IAAA,yBAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;IACE,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE;IAC/B,YAAA,IAAI,CAAC,UAAU,GAAuB,CACpC,IAAI,CAAC,MAAM,CAAC,aAAa,EACxB,UAAU,CAAC,IAAI,CAAC,CAAC;IACrB,SAAA;IACD,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;gBACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACrC,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC3B,SAAA;SACF,CAAA;IAED,IAAA,yBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;YACE,YAAY,CAAC,WAAW,EAAE,CAAC;YAC3B,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SAChD,CAAA;IAED,IAAA,yBAAA,CAAA,SAAA,CAAA,MAAM,GAAN,YAAA;IACE,QAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,QAAA,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,QAAA,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChD,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/C,QAAA,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC/B,YAAY,CAAC,WAAW,EAAE,CAAC;IAE3B,QAAA,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE;IACpB,YAAA,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChE,SAAA;IAAM,aAAA;gBACL,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/C,YAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;IAChB,YAAA,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChE,SAAA;SACF,CAAA;IAED,IAAA,yBAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;IACE,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE;gBAC/B,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,UAAU,EAAE;oBACnB,IAAI,CAAC,UAAU,CAAC,SAAS,CACvB,CAAC,EACD,CAAC,EACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CACjC,CAAC;IACH,aAAA;IACF,SAAA;IACD,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;IACjC,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC3B,SAAA;SACF,CAAA;IAED,IAAA,yBAAA,CAAA,SAAA,CAAA,MAAM,GAAN,YAAA;YAAA,IAyBC,KAAA,GAAA,IAAA,CAAA;IAxBC,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE;;;;gBAI/B,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAE/C,YAAA,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACtC,YAAA,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IACjC,YAAA,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;IAChD,YAAA,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;IAChD,YAAA,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7C,YAAA,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,YAAA,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACjC,YAAA,YAAY,CAAC,cAAc,CAAC,UAAC,MAAc,EAAA;IACzC,gBAAA,MAAM,CAAC,SAAS,GAAG,wBAAwB,GAAG,MAAM,CAAC;IACrD,gBAAA,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,aAAC,CAAC,CAAC;;IAEJ,SAAA;IACD,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE;IACjC,YAAA,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBACjC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;IACjD,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,SAAA;SACF,CAAA;QACD,yBAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,eAAiB,CAAA;QAEjB,yBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,eAAc,CAAA;;;iJArHH,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAhB,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0HAAzB,yBAAyB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAOzBiB,eAAY,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAAjB,aAAA,EAAA,QAAA,ECtCzB,49BAmBM,EAAA,MAAA,EAAA,CAAA,8KAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAQ,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAU,aAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,cAAA,EAAA,eAAA,EAAA,aAAA,EAAA,UAAA,EAAA,WAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,UAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,EAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;sHDYO,yBAAyB,EAAA,UAAA,EAAA,CAAA;sBALrClB,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACT,oBAAA,QAAQ,EAAE,wBAAwB;IAClC,oBAAA,WAAW,EAAE,qCAAqC;wBAClD,SAAS,EAAE,CAAC,oCAAoC,CAAC;qBAClD,CAAA;8EAEW,eAAe,EAAA,CAAA;0BAAxBQ,SAAM;oBACE,UAAU,EAAA,CAAA;0BAAlBL,QAAK;oBAIN,MAAM,EAAA,CAAA;0BADLO,YAAS;oBAAC,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;oBAEb,YAAY,EAAA,CAAA;0BAApCA,YAAS;2BAACK,eAAY,CAAA;;;AEXzB,QAAA,sBAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,sBAAA,GAAA;;;;8IAAa,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjB,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+IAAtB,sBAAsB,EAAA,YAAA,EAAA,CAjB/B,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAGzBc,cAAW;YACXO,sBAAmB;YACnBC,qBAAkB;YAClBT,iBAAY;YACZU,iBAAc;IACd,QAAAC,qBAAS,aAGT,yBAAyB;YACzBF,qBAAkB;YAClBC,iBAAc;YACdC,qBAAS,CAAA,EAAA,CAAA,CAAA;IAGA,sBAAA,CAAA,IAAA,GAAAxB,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,sBAAsB,EAfxB,OAAA,EAAA,CAAA;gBACPc,cAAW;gBACXO,sBAAmB;gBACnBC,qBAAkB;gBAClBT,iBAAY;gBACZU,iBAAc;gBACdC,qBAAS;IACV,SAAA,EAGCF,qBAAkB;YAClBC,iBAAc;YACdC,qBAAS,CAAA,EAAA,CAAA,CAAA;sHAGA,sBAAsB,EAAA,UAAA,EAAA,CAAA;sBAnBlCT,WAAQ;IAAC,YAAA,IAAA,EAAA,CAAA;IACR,oBAAA,YAAY,EAAE;4BACZ,yBAAyB;IAC1B,qBAAA;IACD,oBAAA,OAAO,EAAE;4BACPD,cAAW;4BACXO,sBAAmB;4BACnBC,qBAAkB;4BAClBT,iBAAY;4BACZU,iBAAc;4BACdC,qBAAS;IACV,qBAAA;IACD,oBAAA,OAAO,EAAE;4BACP,yBAAyB;4BACzBF,qBAAkB;4BAClBC,iBAAc;4BACdC,qBAAS;IACV,qBAAA;qBACF,CAAA;;;ACAD,QAAA,6BAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,6BAAA,GAAA;;;;qJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxB,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;IAA7B,6BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,6BAA6B,YAbtCa,iBAAY;YACZC,cAAW;YACX,kBAAkB;YAClB,sBAAsB;IACtB,QAAAQ,qBAAkB,aAGlB,kBAAkB;YAClB,sBAAsB;YACtBA,qBAAkB,CAAA,EAAA,CAAA,CAAA;IAIT,6BAAA,CAAA,IAAA,GAAAtB,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,6BAA6B,EAF7B,SAAA,EAAA,CAACyB,aAAQ,CAAC,EAZZ,OAAA,EAAA,CAAA;gBACPZ,iBAAY;gBACZC,cAAW;gBACX,kBAAkB;gBAClB,sBAAsB;gBACtBQ,qBAAkB;IACnB,SAAA,EAEC,kBAAkB;YAClB,sBAAsB;YACtBA,qBAAkB,CAAA,EAAA,CAAA,CAAA;sHAIT,6BAA6B,EAAA,UAAA,EAAA,CAAA;sBAjBzCP,WAAQ;IAAC,YAAA,IAAA,EAAA,CAAA;IACR,oBAAA,YAAY,EAAE,EACb;IACD,oBAAA,OAAO,EAAE;4BACPF,iBAAY;4BACZC,cAAW;4BACX,kBAAkB;4BAClB,sBAAsB;4BACtBQ,qBAAkB;IACnB,qBAAA;IACD,oBAAA,OAAO,EAAE;4BACP,kBAAkB;4BAClB,sBAAsB;4BACtBA,qBAAkB;IACnB,qBAAA;wBACD,SAAS,EAAE,CAACG,aAAQ,CAAC;qBACtB,CAAA;;;ICzBD;;IAEG;;ICFH;;IAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"libey-ng-component-library.umd.js","sources":["../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.service.ts","../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.component.ts","../../../projects/libey-ng-component-library/src/lib/table/directives/libey-column.directive.ts","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.component.ts","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.component.html","../../../projects/libey-ng-component-library/src/lib/table/libey-ng-table.module.ts","../../../projects/libey-ng-component-library/src/utils/SigWeb/SigWeb.ts","../../../projects/libey-ng-component-library/src/lib/signature/libey-ng-signature/libey-ng-signature.component.ts","../../../projects/libey-ng-component-library/src/lib/signature/libey-ng-signature/libey-ng-signature.component.html","../../../projects/libey-ng-component-library/src/lib/signature/libey-ng-signature.module.ts","../../../projects/libey-ng-component-library/src/lib/libey-ng-component-library.module.ts","../../../projects/libey-ng-component-library/src/public-api.ts","../../../projects/libey-ng-component-library/src/libey-ng-component-library.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LibeyNgComponentLibraryService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-libey-ngComponent-library',\n template: `\n <p>\n libey-ng-component-library works!\n </p>\n `,\n styles: [\n ]\n})\nexport class LibeyNgComponentLibraryComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'libey-ng-column'\r\n})\r\nexport class LibeyColumnDirective {\r\n @Input() header!: string;\r\n @Input() property!: string;\r\n @Input() width!: number;\r\n @Input() view: boolean = true;\r\n @Input() arrayMap?: string;\r\n @Input() isArray?: boolean;\r\n @Input() expandable?: boolean;\r\n @Input() class?: string;\r\n @Input() classHeader?: string;\r\n @Input() childTableTemplate: TemplateRef<any>;\r\n @Input() isAutoClose: (item: any) => boolean = () => true;\r\n @Input() rowspan: (item: any) => number = () => 0;\r\n @Input() isRowspan?: boolean;\r\n @ContentChild('headerTemplate', { static: true }) headerTemplate: TemplateRef<any>;\r\n @ContentChild('cellTemplate', { static: true }) cellTemplate: TemplateRef<any>; \r\n @ContentChild(TemplateRef, { static: true }) defaultTemplate: TemplateRef<any>;\r\n getCellTemplate(): TemplateRef<any> {\r\n return this.cellTemplate || this.defaultTemplate;\r\n }\r\n\r\n \r\n}","import { AfterViewInit, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, QueryList, SimpleChanges, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { LibeyColumnDirective } from './directives/libey-column.directive';\r\ninterface IDataKey {\r\n key: number;\r\n dataKey: number;\r\n childTableTemplate: TemplateRef<any>;\r\n data: any[];\r\n autoClose: boolean;\r\n}\r\n\r\nclass DataKey implements IDataKey {\r\n key: number;\r\n dataKey: number;\r\n childTableTemplate: TemplateRef<any>;\r\n data: any[];\r\n autoClose: boolean;\r\n rowspan: number;\r\n}\r\n\r\n@Component({\r\n selector: 'libey-ng-table',\r\n templateUrl: './libey-ng-table.component.html',\r\n styleUrls: ['./libey-ng-table.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class LibeyNgTableComponent implements OnInit, AfterViewInit, OnChanges {\r\n @Input() set data(value: any[]) {\r\n this._data = value;\r\n }\r\n get data(): any[] {\r\n return this._data;\r\n }\r\n @Input() pageSize: number = 10;\r\n @Input() totalSize: number = 0;\r\n @Input() maxPageButtons: number = 5;\r\n @Input() height: number;\r\n @Input() expandable: boolean = false;\r\n @Input() viewPaginate: boolean = true;\r\n @Input() childTableTemplate!: TemplateRef<any>;\r\n @Input() headerfixed: boolean = false;\r\n @Input() class: string;\r\n @Input() internalPagination: boolean = true;\r\n @Input() currentPage: number = 1;\r\n @Output() pageChange = new EventEmitter<number>();\r\n \r\n @ContentChildren(LibeyColumnDirective) columns!: QueryList<LibeyColumnDirective>;\r\n\r\n rowExpandable: boolean[] = [];\r\n rowExpandableDetail: IDataKey[] = [];\r\n paginatedData: any[] = [];\r\n _data: any[] = [];\r\n columnWidths: number[] = [];\r\n resizingColumnIndex: number | null = null;\r\n startX: number = 0;\r\n startWidth: number = 0;\r\n @ViewChild('tableContainer') tableContainer!: ElementRef;\r\n @ViewChild('table') tableElement!: ElementRef;\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes.data && changes.data.previousValue){\r\n changes.data.currentValue.forEach((value, index) => {\r\n var findData = this.rowExpandableDetail.find(x => x.dataKey == index);\r\n if(findData != null)\r\n findData.autoClose = value.autoClose;\r\n });\r\n this._data = changes.data.currentValue;\r\n this.updatePaginatedData();\r\n }\r\n }\r\n ngOnInit(): void {\r\n this.updatePaginatedData();\r\n }\r\n ngAfterViewInit() {\r\n this.initializeColumnWidths();\r\n // this.adjustTableWidth()\r\n this.cdr.detectChanges();\r\n }\r\n\r\n initializeColumnWidths() {\r\n var padding = 31\r\n var widthDefault = 150\r\n this.columnWidths = this.columns.map(column => column.width);\r\n const containerWidth = this.tableContainer.nativeElement.offsetWidth;\r\n const autoColumns = this.columns.filter(column => column.width == null);\r\n const totalFixedWidth = this.columns.reduce((sum, column) =>\r\n column.width != null ? (sum + this.getWidthValue(column.width)) : sum, 0);\r\n const remainingWidth = containerWidth - (totalFixedWidth + (((this.columns.length - autoColumns.length) * padding)+ (this.expandable ? 61 : 0)));\r\n\r\n if (autoColumns.length > 0) {\r\n var autoColumnWidth = 0;\r\n if(remainingWidth < widthDefault)\r\n autoColumnWidth = widthDefault;\r\n else\r\n autoColumnWidth = Math.max(0, remainingWidth / autoColumns.length);\r\n autoColumns.forEach(column => column.width = autoColumnWidth- padding);\r\n }\r\n this.columnWidths = this.columns.map(column => column.width);\r\n }\r\n // adjustTableWidth() {\r\n // const totalWidth = this.columns.reduce((sum, column) => sum + this.getWidthValue(column.width), 0);\r\n // this.tableElement.nativeElement.style.width = `${totalWidth}px`;\r\n // }\r\n getWidthValue(width: number): number {\r\n return width === null ? 100 : width;\r\n }\r\n\r\n get totalPages(): number {\r\n return Math.ceil(this.totalSize / this.pageSize);\r\n }\r\n\r\n getCellValue(item: any, column: LibeyColumnDirective): string {\r\n const value = this.getNestedValue(item, column.property);\r\n if (Array.isArray(value) && column.arrayMap) {\r\n return value.map(v => this.getNestedValue(v, column.arrayMap!)).join(', ');\r\n }\r\n return value;\r\n }\r\n\r\n private getNestedValue(obj: any, path: string): any {\r\n return path.split('.').reduce((o, key) => {\r\n if (o && typeof o === 'object' && key in o) {\r\n return o[key];\r\n }\r\n return undefined;\r\n }, obj);\r\n }\r\n\r\n private updatePaginatedData(): void {\r\n if(this.viewPaginate && this.internalPagination){\r\n const start = (this.currentPage - 1) * this.pageSize;\r\n const end = start + this.pageSize;\r\n this.paginatedData = this.data.slice(start, end);\r\n }else{\r\n this.paginatedData = this.data;\r\n } \r\n }\r\n pageRange(): number[] {\r\n const start = Math.max(1, this.currentPage - Math.floor(this.maxPageButtons / 2));\r\n const end = Math.min(this.totalPages, start + this.maxPageButtons - 1);\r\n const startPreFinish = end - this.maxPageButtons + 1;\r\n const startFinish = startPreFinish < 1 ? 1 : startPreFinish;\r\n return Array.from({length: end - startFinish + 1}, (_, i) => startFinish + i);\r\n }\r\n goToPage(page: number): void {\r\n this.currentPage = Math.max(1, Math.min(page, this.totalPages));\r\n if(this.internalPagination){ \r\n this.updatePaginatedData(); \r\n }else{\r\n this.pageChange.emit(this.currentPage);\r\n }\r\n }\r\n // hasChildren(row: any): boolean{\r\n // return Array.isArray(row.child) && row.child.length > 0;\r\n // }\r\n toggleRow(index: number){\r\n this.rowExpandable[index] = !this.rowExpandable[index];\r\n }\r\n toggleRowDetail(key: number, indexData: number, column: LibeyColumnDirective, data: any){\r\n if(column.expandable){\r\n var exist = this.rowExpandableDetail.find(x => x.key == key && x.dataKey == indexData);\r\n if(exist == null){\r\n this.rowExpandableDetail = this.rowExpandableDetail.filter(x => (x.key != key || x.dataKey != indexData) && x.autoClose == false);\r\n var item = new DataKey();\r\n item.key = key;\r\n item.dataKey = indexData;\r\n item.childTableTemplate = column.childTableTemplate;\r\n item.autoClose = column.isAutoClose(data);\r\n this.rowExpandableDetail.push(item);\r\n }else{\r\n this.rowExpandableDetail = this.rowExpandableDetail.filter(x => x.key != key || x.dataKey != indexData);\r\n }\r\n }\r\n }\r\n getChildren(fila: any): any[] {\r\n return fila.hijos || [];\r\n }\r\n onResizeStart(index: number, event: MouseEvent) {\r\n this.resizingColumnIndex = index;\r\n this.startX = event.pageX;\r\n this.startWidth = this.columnWidths[index];\r\n document.addEventListener('mousemove', this.onResizeMove);\r\n document.addEventListener('mouseup', this.onResizeEnd);\r\n }\r\n onResizeMove = (event: MouseEvent) => {\r\n if (this.resizingColumnIndex !== null) {\r\n const diff = event.pageX - this.startX;\r\n this.columnWidths[this.resizingColumnIndex] = Math.max(this.startWidth + diff, 50);\r\n\r\n }\r\n }\r\n onResizeEnd = () => {\r\n this.resizingColumnIndex = null;\r\n document.removeEventListener('mousemove', this.onResizeMove);\r\n document.removeEventListener('mouseup', this.onResizeEnd);\r\n }\r\n existRowExpandableDetail(key: number, indexData: number) : boolean{\r\n return this.rowExpandableDetail.filter(x => x.key == key && x.dataKey == indexData).length > 0;\r\n }\r\n viewRowExpandableDetail(indexData: number) :boolean{\r\n return this.rowExpandableDetail.filter(x => x.dataKey == indexData).length > 0;\r\n }\r\n findRowExpandableDetail(indexData: number) :TemplateRef<any>{\r\n var find = this.rowExpandableDetail.find(x => x.dataKey == indexData);\r\n if(find)\r\n return find.childTableTemplate; \r\n else\r\n return null;\r\n }\r\n getRowSpan(column: LibeyColumnDirective, data: any){\r\n return column.rowspan(data);\r\n }\r\n}\r\n","<div class=\"table-container\" #tableContainer [style.height]=\"height == null ? 'auto':(height + 'px')\">\r\n <!-- <table cdkDropList (cdkDropListDropped)=\"drop($event)\"> -->\r\n <table #table [ngClass]=\"class\">\r\n <thead>\r\n <tr>\r\n <th *ngIf=\"expandable\" [ngClass]=\"headerfixed == true ? 'th-fixed':''\" style=\"width: 25px;\"></th>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <th *ngIf=\"column.view\" [style.width]=\"column.width ? (column.width + 'px') : 'auto'\"\r\n [ngClass]=\"headerfixed == true ? (column.classHeader + ' th-fixed'): column.classHeader\">\r\n <!-- Custom header template -->\r\n <ng-container *ngIf=\"column.headerTemplate; else defaultHeader\">\r\n <ng-container [ngTemplateOutlet]=\"column.headerTemplate\"\r\n [ngTemplateOutletContext]=\"{ column: column, index: i }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #defaultHeader>\r\n <span style=\"white-space: nowrap;\">{{ column.header }}</span>\r\n </ng-template>\r\n <div class=\"resize-handle\" (mousedown)=\"onResizeStart(i, $event)\"></div>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngIf=\"_data.length == 0\">\r\n <tr>\r\n <td [colSpan]=\"expandable ? (columns.length + 1) : (columns.length)\" class=\"text-center\">\r\n No existen datos disponibles\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <ng-container *ngIf=\"paginatedData.length != 0\">\r\n <ng-container *ngFor=\"let item of paginatedData; let a = index\">\r\n <tr>\r\n <td *ngIf=\"expandable\">\r\n <button (click)=\"toggleRow(a)\">\r\n <i [ngClass]=\"rowExpandable[a] ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </td>\r\n <ng-container *ngFor=\"let column of columns; let i = index\">\r\n <td \r\n *ngIf=\"column.view && (column.isRowspan && column.rowspan(item) > 0)\"\r\n [attr.rowspan]=\"column.rowspan(item)\"\r\n [ngClass]=\"column.class\" (click)=\"toggleRowDetail(i, a, column, item)\" [class]=\"column.expandable ? 'cursor-pointer': ''\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"detailTd\" \r\n [ngTemplateOutletContext]=\"{item:item, column:column, indexData:a, indexColumn:i}\">\r\n </ng-container> \r\n </td>\r\n <td \r\n *ngIf=\"column.view && column.isRowspan != true\"\r\n [ngClass]=\"column.class\" (click)=\"toggleRowDetail(i, a, column, item)\" [class]=\"column.expandable ? 'cursor-pointer': ''\">\r\n <ng-container \r\n [ngTemplateOutlet]=\"detailTd\" \r\n [ngTemplateOutletContext]=\"{item:item, column:column, indexData:a, indexColumn:i}\">\r\n </ng-container> \r\n </td>\r\n </ng-container>\r\n </tr>\r\n <ng-container *ngIf=\"viewRowExpandableDetail(a)\">\r\n <ng-container *ngTemplateOutlet=\"findRowExpandableDetail(a); context: { $implicit: item }\"></ng-container>\r\n </ng-container>\r\n <tr *ngIf=\"rowExpandable[a]\">\r\n <td [attr.colspan]=\"columns.length + (expandable ? 1 : 0)\">\r\n <ng-container [ngTemplateOutlet]=\"childTableTemplate\"\r\n [ngTemplateOutletContext]=\"{ parentRow: item }\">\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </tbody>\r\n </table>\r\n</div>\r\n<div *ngIf=\"viewPaginate && _data.length != 0\" class=\"pagination-controls\">\r\n <div class=\"d-align-center\">\r\n <label class=\"lbl-footer me-20px\"># Registros: {{this.totalSize}}</label>\r\n <label class=\"lbl-footer\"># Filas: {{this.pageSize}}</label>\r\n </div>\r\n <div>\r\n <button (click)=\"goToPage(1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-first-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(currentPage - 1)\" [disabled]=\"currentPage === 1\">\r\n <i class=\"icon-previous-page\"></i>\r\n </button>\r\n <ng-container *ngFor=\"let page of pageRange()\">\r\n <button\r\n (click)=\"goToPage(page)\"\r\n [class.active]=\"currentPage === page\"\r\n [disabled]=\"currentPage === page\">\r\n {{ page }}\r\n </button>\r\n </ng-container>\r\n <button (click)=\"goToPage(currentPage + 1)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-next-page\"></i>\r\n </button>\r\n <button (click)=\"goToPage(totalPages)\" [disabled]=\"currentPage === totalPages\">\r\n <i class=\"icon-last-page\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n<ng-template #detailTd let-item=\"item\" let-column=\"column\" let-indexData=\"indexData\" let-indexColumn=\"indexColumn\">\r\n <ng-container *ngIf=\"column.getCellTemplate(); else defaultCell\">\r\n <div style=\"display: flex; justify-content: space-between; white-space: nowrap;\">\r\n <ng-container [ngTemplateOutlet]=\"column.getCellTemplate()\"\r\n [ngTemplateOutletContext]=\"{ $implicit: item, column: column, index: indexData }\">\r\n </ng-container>\r\n <button *ngIf=\"column.expandable\">\r\n <i [ngClass]=\"existRowExpandableDetail(indexColumn, indexData) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-template #defaultCell>\r\n <div style=\"display: flex; justify-content: space-between; white-space: nowrap;\">\r\n {{ getCellValue(item, column) }}\r\n <button *ngIf=\"column.expandable\">\r\n <i [ngClass]=\"existRowExpandableDetail(indexColumn, indexData) ? 'icon-arrow-up':'icon-arrow-down'\"></i>\r\n </button>\r\n </div>\r\n </ng-template>\r\n</ng-template>","// table.module.ts\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LibeyColumnDirective } from './directives/libey-column.directive';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LibeyNgTableComponent } from './libey-ng-table.component';\r\n\r\n@NgModule({\r\n declarations: [LibeyNgTableComponent, LibeyColumnDirective],\r\n imports: [CommonModule,FormsModule],\r\n exports: [LibeyNgTableComponent, LibeyColumnDirective]\r\n})\r\nexport class LibeyNgTableModule { }","// SigWebTablet.ts\r\nexport class SigWebTablet {\r\n private static revokeBlobURL(url: string): void {\r\n if (window.URL) {\r\n URL.revokeObjectURL(url);\r\n } else if (window.webkitURL) {\r\n webkitURL.revokeObjectURL(url);\r\n }\r\n }\r\n private static getBlobURL(blob: Blob): string {\r\n if (window.URL) {\r\n return URL.createObjectURL(blob);\r\n } else if (window.webkitURL) {\r\n return webkitURL.createObjectURL(blob);\r\n }\r\n return ''; // Retornar un string vacío en caso de error\r\n }\r\n\r\n private static baseUri: string = SigWebTablet.makeUri();\r\n private static ctx;\r\n private static Count: boolean = false;\r\n private static EvStatus;\r\n private static onSigPenDown;\r\n private static onSigPenUp;\r\n private static SigWebFontThreshold = 155;\r\n private static NumPointsLastTime = 0;\r\n private static SigImageB64;\r\n\r\n private static makeUri(): string {\r\n var prot = location.protocol;\r\n if (prot == 'file:') {\r\n prot = 'http:';\r\n }\r\n\r\n if (this.isIE()) {\r\n if (prot == 'https:') {\r\n return prot + '//tablet.sigwebtablet.com:47290/SigWeb/';\r\n } else {\r\n return prot + '//tablet.sigwebtablet.com:47289/SigWeb/';\r\n }\r\n }\r\n\r\n if (this.isChrome()) {\r\n if (prot == 'https:') {\r\n return prot + '//tablet.sigwebtablet.com:47290/SigWeb/';\r\n } else {\r\n return prot + '//tablet.sigwebtablet.com:47289/SigWeb/';\r\n }\r\n } else {\r\n //FIREFOX\r\n if (prot == 'https:') {\r\n return prot + '//tablet.sigwebtablet.com:47290/SigWeb/';\r\n } else {\r\n return prot + '//tablet.sigwebtablet.com:47289/SigWeb/';\r\n }\r\n }\r\n }\r\n\r\n private static generateUUID(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(\r\n /[xy]/g,\r\n function (c) {\r\n const r = (Math.random() * 16) | 0;\r\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n }\r\n );\r\n }\r\n\r\n static isSigWebInstalled(): boolean {\r\n const xhr = new XMLHttpRequest();\r\n try {\r\n xhr.open(\r\n 'GET',\r\n `${this.baseUri}TabletState?noCache=${this.generateUUID()}`,\r\n false\r\n );\r\n xhr.send();\r\n return xhr.status !== 404 && xhr.status !== 0;\r\n } catch (e) {\r\n console.log('Error checking SigWeb installation', e);\r\n return false;\r\n }\r\n }\r\n\r\n static isIE(): boolean {\r\n return (\r\n navigator.appName === 'Microsoft Internet Explorer' ||\r\n (navigator.appName === 'Netscape' &&\r\n new RegExp('Trident/.*rv:([0-9]{1,}[.0-9]{0,})').exec(\r\n navigator.userAgent\r\n ) != null)\r\n );\r\n }\r\n\r\n static isChrome(): boolean {\r\n return navigator.userAgent.lastIndexOf('Chrome/') > 0;\r\n }\r\n\r\n static SigWebcreateXHR(): XMLHttpRequest | null {\r\n const xhr = new XMLHttpRequest();\r\n if (!xhr) {\r\n throw new Error('No se pudo crear XMLHttpRequest');\r\n }\r\n\r\n return xhr;\r\n }\r\n\r\n static SigWebSetProperty(prop: string): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, true);\r\n xhr.send(null);\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetPropertySync(prop: string): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.send();\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetStreamProperty(prop: string, strm: any): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop);\r\n xhr.setRequestHeader('Content-Type', 'text/plain');\r\n xhr.send(strm);\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSyncSetStreamProperty(prop: string, strm: any): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.setRequestHeader('Content-Type', 'text/plain');\r\n xhr.send(strm);\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetImageStreamProperty(prop: string, strm: any): string {\r\n const xhr: XMLHttpRequest | null = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.setRequestHeader('Content-Type', 'image/png');\r\n xhr.send(strm);\r\n if (xhr.readyState === 4 && xhr.status === 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebSetImageBlobProperty(prop, strm) {\r\n var xhr = this.SigWebcreateXHR();\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + prop, false);\r\n xhr.setRequestHeader('Content-Type', 'blob');\r\n xhr.send(strm);\r\n if (xhr.readyState == 4 && xhr.status == 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static SigWebGetVersion(prop) {\r\n try {\r\n var xhr = this.SigWebcreateXHR();\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + prop + '?noCache=' + this.generateUUID(),\r\n false\r\n );\r\n xhr.send(null);\r\n if (xhr.readyState == 4 && xhr.status == 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n } catch (error) {\r\n console.error('Error en SigWebGetVersion:', error);\r\n return null;\r\n }\r\n return null;\r\n }\r\n\r\n static SigWebGetProperty(prop) {\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + prop + '?noCache=' + this.generateUUID(),\r\n false\r\n );\r\n xhr.send(null);\r\n if (xhr.readyState == 4 && xhr.status == 200) {\r\n return xhr.responseText;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n static GetSigImageB64(callback) {\r\n var cvs = document.createElement('canvas');\r\n var width = this.GetImageXSize();\r\n var height = this.GetImageYSize();\r\n cvs.width = width == '' || width == null ? 0 : Number(width);\r\n cvs.height = height == '' || height == null ? 0 : Number(height);\r\n\r\n var xhr2 = new XMLHttpRequest();\r\n xhr2.open(\r\n 'GET',\r\n this.baseUri + 'SigImage/1' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr2.responseType = 'blob';\r\n xhr2.send(null);\r\n xhr2.onload = () => {\r\n var cntx = cvs.getContext('2d');\r\n var img = new Image();\r\n img.src = this.getBlobURL(xhr2.response);\r\n img.onload = () => {\r\n cntx.drawImage(img, 0, 0);\r\n var b64String = cvs.toDataURL('image/png');\r\n var loc = b64String.search('base64,');\r\n var retstring = b64String.slice(loc + 7, b64String.length);\r\n if (callback) {\r\n callback(retstring);\r\n }\r\n };\r\n };\r\n }\r\n\r\n static SigWebWaitForPenDown(callback) {\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + 'WaitForPenDown' + '?noCache=' + this.generateUUID()\r\n );\r\n xhr.timeout = 10000;\r\n xhr.onreadystatechange = () => {\r\n if (xhr.readyState != 4) return;\r\n if (xhr.status == 200) callback();\r\n };\r\n xhr.send(null);\r\n }\r\n }\r\n\r\n static GetSigImage(ctx) {\r\n var xhr2 = new XMLHttpRequest();\r\n xhr2.open(\r\n 'GET',\r\n this.baseUri + 'SigImage/1' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr2.responseType = 'blob';\r\n xhr2.send(null);\r\n xhr2.onload = () => {\r\n var img = new Image();\r\n img.src = this.getBlobURL(xhr2.response);\r\n img.onload = () => {\r\n ctx.drawImage(img, 0, 0);\r\n this.revokeBlobURL(img.src);\r\n img = null;\r\n };\r\n };\r\n }\r\n\r\n static SigWebSetDisplayTarget(obj) {\r\n this.ctx = obj;\r\n }\r\n\r\n static SigWebRefresh() {\r\n var NumPoints = Number(this.NumberOfTabletPoints());\r\n if (NumPoints == this.NumPointsLastTime) {\r\n return;\r\n }\r\n this.NumPointsLastTime = NumPoints;\r\n\r\n var xhr2 = new XMLHttpRequest();\r\n xhr2.open(\r\n 'GET',\r\n this.baseUri + 'SigImage/0' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr2.responseType = 'blob';\r\n xhr2.onload = () => {\r\n var img = new Image();\r\n img.src = this.getBlobURL(xhr2.response);\r\n //\t\t\t\timg.src = window.URL.createObjectURL(xhr2.response);\r\n img.onload = () => {\r\n this.ctx.drawImage(img, 0, 0);\r\n this.revokeBlobURL(img.src);\r\n img = null;\r\n };\r\n };\r\n xhr2.send(null);\r\n }\r\n\r\n static SigWebEvent() {\r\n var OldEvStatus = this.EvStatus;\r\n\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open(\r\n 'GET',\r\n this.baseUri + 'EventStatus' + '?noCache=' + this.generateUUID(),\r\n true\r\n );\r\n xhr.onload = () => {\r\n this.EvStatus = xhr.responseText;\r\n if (OldEvStatus & 0x01 && this.EvStatus & 0x02) {\r\n if (this.onSigPenDown) {\r\n this.onSigPenDown();\r\n }\r\n }\r\n\r\n if (OldEvStatus & 0x02 && this.EvStatus & 0x01) {\r\n if (this.onSigPenUp) {\r\n this.onSigPenUp();\r\n }\r\n }\r\n };\r\n xhr.send(null);\r\n }\r\n }\r\n\r\n static setSigWebFontThreshold(v) {\r\n this.SigWebFontThreshold = v;\r\n }\r\n\r\n static createLcdBitmapFromCanvas(ourCanvas, xp, yp, width, height) {\r\n var canvasCtx = ourCanvas.getContext('2d');\r\n var imgData = canvasCtx.getImageData(0, 0, width, height);\r\n var j = 0;\r\n var sVal = 0;\r\n var outData = '';\r\n var outIdx = 0;\r\n var data = imgData.data;\r\n\r\n for (var y = 0; y < height; y++)\r\n for (var x = 0; x < width; x++) {\r\n var tmp1 = data[j];\r\n var tmp2 = data[j + 1];\r\n var tmp3 = data[j + 2];\r\n var tmp4 = data[j + 3];\r\n\r\n //\t\t\t\t\tsVal = tmp1 + (tmp2 << 8 ) + ( tmp3 << 16 ) + (tmp4 << 24 );\r\n j = j + 4;\r\n if (tmp1 < this.SigWebFontThreshold) {\r\n outData += 'B';\r\n } else {\r\n outData += 'W';\r\n }\r\n }\r\n\r\n return outData;\r\n }\r\n\r\n static toHex(NibVal) {\r\n switch (NibVal) {\r\n case 0:\r\n return '0';\r\n case 1:\r\n return '1';\r\n case 2:\r\n return '2';\r\n case 3:\r\n return '3';\r\n case 4:\r\n return '4';\r\n case 5:\r\n return '5';\r\n case 6:\r\n return '6';\r\n case 7:\r\n return '7';\r\n case 8:\r\n return '8';\r\n case 9:\r\n return '9';\r\n case 10:\r\n return 'A';\r\n case 11:\r\n return 'B';\r\n case 12:\r\n return 'C';\r\n case 13:\r\n return 'D';\r\n case 14:\r\n return 'E';\r\n case 15:\r\n return 'F';\r\n default:\r\n return '';\r\n }\r\n }\r\n static ToHexString(ByteVal) {\r\n var Str = '';\r\n Str += this.toHex((ByteVal >> 4) & 0x0f);\r\n Str += this.toHex(ByteVal & 0x0f);\r\n return Str;\r\n }\r\n\r\n static textToTablet(x, y, height, str, fnt) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = Math.round(cntx.measureText(txt).width);\r\n var ys = height;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#000000';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, 0, 0);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, 0, 0, xs, ys);\r\n\r\n this.LcdWriteImageStream(0, 2, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LcdWriteImage(Dst, Mode, Xp, Yp, Url) {\r\n var Prop = 'LcdWriteImage/';\r\n var NewUrl = Url.replace(/\\//g, '_');\r\n\r\n Prop = Prop + Dst + ',' + Mode + ',' + Xp + ',' + Yp + ',' + NewUrl;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LcdWriteLocalImage(Dst, Mode, Xp, Yp, Url) {\r\n var Prop = 'LcdWriteImage/';\r\n\r\n Prop = Prop + Dst + ',' + Mode + ',' + Xp + ',' + Yp + ',' + Url;\r\n this.SigWebSetProperty(Prop);\r\n }\r\n\r\n static LcdWriteImageStream(Dst, Mode, Xp, Yp, Xs, Ys, Url) {\r\n var Prop1 =\r\n 'LcdWriteImageStreamParams/' +\r\n Dst +\r\n ',' +\r\n Mode +\r\n ',' +\r\n Xp +\r\n ',' +\r\n Yp +\r\n ',' +\r\n Xs +\r\n ',' +\r\n Ys;\r\n var Prop2 = 'LcdWriteImageStream/';\r\n\r\n this.SigWebSetPropertySync(Prop1);\r\n this.SigWebSetImageStreamProperty(Prop2, Url);\r\n }\r\n\r\n static LcdWriteImageBlob(Dst, Mode, Xp, Yp, Xs, Ys, Url) {\r\n var Prop = 'LcdWriteImageStream/';\r\n\r\n Prop = Prop + Dst + ',' + Mode + ',' + Xp + ',' + Yp + ',' + Xs + ',' + Ys;\r\n this.SigWebSetImageBlobProperty(Prop, Url);\r\n }\r\n\r\n static measureText(pText, pFontSize, pStyle) {\r\n var lDiv = document.createElement('lDiv');\r\n\r\n document.body.appendChild(lDiv);\r\n\r\n if (pStyle != null) {\r\n lDiv.setAttribute('style', pStyle);\r\n }\r\n lDiv.style.fontSize = '' + pFontSize + 'px';\r\n lDiv.style.position = 'absolute';\r\n lDiv.style.left = '-1000';\r\n lDiv.style.top = '-1000';\r\n\r\n lDiv.innerHTML = pText;\r\n\r\n var lResult = {\r\n width: lDiv.clientWidth,\r\n height: lDiv.clientHeight,\r\n };\r\n\r\n document.body.removeChild(lDiv);\r\n lDiv = null;\r\n\r\n return lResult;\r\n }\r\n static GetVersionString() {\r\n var Prop = 'Version';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetVersion(Prop);\r\n if(Str == null)\r\n return Str;\r\n\r\n var trimStr = Str.slice(1, Str.length - 2);\r\n return trimStr;\r\n }\r\n\r\n static IsPenDown() {\r\n return this.EvStatus & 0x01;\r\n }\r\n\r\n //\r\n //\t\t\tSigPlusNETSig.cs\r\n //\r\n static ClearTablet() {\r\n var Prop = 'ClearSignature';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static NumberOfTabletPoints() {\r\n var Prop = 'TotalPoints';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSigString(sigStr, ctx) {\r\n var Prop = 'SigString';\r\n\r\n Prop = Prop;\r\n var xhr = this.SigWebcreateXHR();\r\n\r\n if (xhr) {\r\n xhr.open('POST', this.baseUri + Prop);\r\n xhr.setRequestHeader('Content-Type', 'text/plain');\r\n xhr.send(sigStr);\r\n xhr.onload = () => {\r\n if (ctx) {\r\n var can = ctx.canvas;\r\n this.SetImageXSize(can.width);\r\n this.SetImageYSize(can.height);\r\n this.GetSigImage(ctx);\r\n }\r\n };\r\n }\r\n return '';\r\n }\r\n\r\n static GetSigString() {\r\n var Prop = 'SigString';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetSigCompressionMode(v) {\r\n var Prop = 'CompressionMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSigCompressionMode() {\r\n var Prop = 'CompressionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetEncryptionMode(v) {\r\n var Prop = 'EncryptionMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetEncryptionMode() {\r\n var Prop = 'EncryptionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetKeyString(keyString) {\r\n var Prop = 'KeyString';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, keyString);\r\n }\r\n\r\n static GetKeyString() {\r\n var Prop = 'KeyString';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static AutoKeyStart() {\r\n var Prop = 'AutoKeyStart';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static AutoKeyFinish() {\r\n var Prop = 'AutoKeyFinish';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetAutoKeyData(keyData) {\r\n var Prop = 'SetAutoKeyData';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, keyData);\r\n }\r\n\r\n static AutoKeyAddData(keyData) {\r\n var Prop = 'AutoKeyAddData';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, keyData);\r\n return this.GetKeyString();\r\n }\r\n\r\n //\t\tfunction GetKeyReceipt( ) {}\r\n\r\n static GetKeyReceiptAscii() {\r\n var Prop = 'KeyReceiptAscii';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n //\t\tfunction GetSigReceipt( ) {}\r\n\r\n static GetSigReceiptAscii() {\r\n var Prop = 'SigReceiptAscii';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetTimeStamp(timeStamp) {\r\n var Prop = 'TimeStamp';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, timeStamp);\r\n }\r\n\r\n static GetTimeStamp() {\r\n var Prop = 'TimeStamp';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetAnnotate(annotate) {\r\n var Prop = 'Annotate';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, annotate);\r\n }\r\n\r\n static GetAnnotate() {\r\n var Prop = 'Annotate';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static SetSaveSigInfo(v) {\r\n var Prop = 'SaveSigInfo/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSaveSigInfo() {\r\n var Prop = 'SaveSigInfo';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSavePressureData(v) {\r\n var Prop = 'SavePressureData/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSavePressureData() {\r\n var Prop = 'SavePressureData';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSaveTimeData(v) {\r\n var Prop = 'SaveTimeData/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSaveTimeData() {\r\n var Prop = 'SaveTimeData';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetAntiAliasSpotSize(v) {\r\n var Prop = 'AntiAliasSpotSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetAntiAliasSpotSize() {\r\n var Prop = 'AntiAliasSpotSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetAntiAliasLineScale(v) {\r\n var Prop = 'AntiAliasLineScale/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetAntiAliasLineScale() {\r\n var Prop = 'AntiAliasLineScale';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetNumberOfStrokes() {\r\n var Prop = 'NumberOfStrokes';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetNumPointsForStroke(v) {\r\n var Prop = 'NumberOfPointsInStroke/';\r\n\r\n Prop = Prop + v;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetPointXValue(v1, v2) {\r\n var Prop = 'PointXValue/';\r\n\r\n Prop = Prop + v1 + '/' + v2;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetPointYValue(v1, v2) {\r\n var Prop = 'PointYValue/';\r\n\r\n Prop = Prop + v1 + '/' + v2;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetAntiAliasEnable(v) {\r\n var Prop = 'AntiAliasEnable/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetAntiAliasEnable() {\r\n var Prop = 'AntiAliasEnable';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetUseAmbientColors(v) {\r\n var Prop = 'UseAmbientColors/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETDisplay.cs\r\n //\r\n static SetDisplayXSize(v) {\r\n var Prop = 'DisplayXSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayXSize() {\r\n var Prop = 'DisplayXSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayYSize(v) {\r\n var Prop = 'DisplayYSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayYSize() {\r\n var Prop = 'DisplayYSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayPenWidth(v) {\r\n var Prop = 'DisplayPenWidth/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayPenWidth() {\r\n var Prop = 'DisplayPenWidth';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStamp(v) {\r\n var Prop = 'DisplayTimeStamp/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStamp() {\r\n var Prop = 'DisplayTimeStamp';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStampPosX(v) {\r\n var Prop = 'DisplayTimeStampPosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStampPosX() {\r\n var Prop = 'DisplayTimeStampPosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStampPosY(v) {\r\n var Prop = 'DisplayTimeStampPosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStampPosY() {\r\n var Prop = 'DisplayTimeStampPosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayTimeStampSize(v) {\r\n var Prop = 'DisplayTimeStampSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayTimeStampSize() {\r\n var Prop = 'DisplayTimeStampSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotate(v) {\r\n var Prop = 'DisplayAnnotate/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotate() {\r\n var Prop = 'DisplayAnnotate';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotatePosX(v) {\r\n var Prop = 'DisplayAnnotatePosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotatePosX() {\r\n var Prop = 'DisplayAnnotatePosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotatePosY(v) {\r\n var Prop = 'DisplayAnnotatePosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotatePosY() {\r\n var Prop = 'DisplayAnnotatePosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetDisplayAnnotateSize(v) {\r\n var Prop = 'DisplayAnnotateSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetDisplayAnnotateSize() {\r\n var Prop = 'DisplayAnnotateSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETImage.cs\r\n //\r\n //\t\tfunction GetSigImageB64( )\r\n //\t\t\t{\r\n //\t\t\tvar xhr2 = new XMLHttpRequest();\r\n //\t\t\txhr2.open(\"GET\", baseUri + \"SigImage/1\", false );\r\n //\t\t\txhr2.responseType = \"blob\"\r\n //\t\t\txhr2.send(null);\r\n //\t\t\tif (xhr2.readyState == 4 && xhr.status == 200)\r\n //\t\t\t\t{\r\n //\t\t\t\treturn window.URL.createObjectURL(xhr2.response);\r\n //\t\t\t\t}\r\n //\t\t\treturn null;\r\n //\t\t\t}\r\n\r\n static SetImageXSize(v) {\r\n var Prop = 'ImageXSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageXSize() {\r\n var Prop = 'ImageXSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageYSize(v) {\r\n var Prop = 'ImageYSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageYSize() {\r\n var Prop = 'ImageYSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImagePenWidth(v) {\r\n var Prop = 'ImagePenWidth/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImagePenWidth() {\r\n var Prop = 'ImagePenWidth';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStamp(v) {\r\n var Prop = 'ImageTimeStamp/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStamp() {\r\n var Prop = 'ImageTimeStamp';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStampPosX(v) {\r\n var Prop = 'ImageTimeStampPosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStampPosX() {\r\n var Prop = 'ImageTimeStampPosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStampPosY(v) {\r\n var Prop = 'ImageTimeStampPosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStampPosY() {\r\n var Prop = 'ImageTimeStampPosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageTimeStampSize(v) {\r\n var Prop = 'ImageTimeStampSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageTimeStampSize() {\r\n var Prop = 'ImageTimeStampSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotate(v) {\r\n var Prop = 'ImageAnnotate/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotate() {\r\n var Prop = 'ImageAnnotate';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotatePosX(v) {\r\n var Prop = 'ImageAnnotatePosX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotatePosX() {\r\n var Prop = 'ImageAnnotatePosX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotatePosY(v) {\r\n var Prop = 'ImageAnnotatePosY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotatePosY() {\r\n var Prop = 'ImageAnnotatePosY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetImageAnnotateSize(v) {\r\n var Prop = 'ImageAnnotateSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetImageAnnotateSize() {\r\n var Prop = 'ImageAnnotateSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetJustifyX(v) {\r\n var Prop = 'JustifyX/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetJustifyX() {\r\n var Prop = 'JustifyX';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetJustifyY(v) {\r\n var Prop = 'JustifyY/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetJustifyY() {\r\n var Prop = 'JustifyY';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetJustifyMode(v) {\r\n var Prop = 'JustifyMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetJustifyMode() {\r\n var Prop = 'JustifyMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETKeyPad.cs\r\n //\r\n static KeyPadAddHotSpot(key, coord, xp, yp, xs, ys) {\r\n var Prop = 'KeyPadAddHotSpot/';\r\n Prop = Prop + key + ',' + coord + ',' + xp + ',' + yp + ',' + xs + ',' + ys;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static KeyPadMarkHotSpot(key, coord, xp, yp, xs, ys) {\r\n this.LCDWriteString(0, 2, xp, yp, '16pt sans-serif', 32, '+');\r\n this.LCDWriteString(0, 2, xp + xs, yp, '16pt sans-serif', 32, '+');\r\n this.LCDWriteString(0, 2, xp, yp + ys, '16pt sans-serif', 32, '+');\r\n this.LCDWriteString(0, 2, xp + xs, yp + ys, '16pt sans-serif', 32, '+');\r\n }\r\n\r\n static KeyPadQueryHotSpot(key) {\r\n var Prop = 'KeyPadQueryHotSpot/';\r\n Prop = Prop + key;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static KeyPadClearHotSpotList() {\r\n var Prop = 'KeyPadClearHotSpotList';\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSigWindow(coords, xp, yp, xs, ys) {\r\n var Prop = 'SigWindow/';\r\n Prop = Prop + coords + ',' + xp + ',' + yp + ',' + xs + ',' + ys;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static ClearSigWindow(inside) {\r\n var Prop = 'ClearSigWindow/';\r\n Prop = Prop + inside;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETLCD.cs\r\n //\r\n static SetLCDCaptureMode(v) {\r\n var Prop = 'CaptureMode/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetLCDCaptureMode() {\r\n var Prop = 'CaptureMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static LCDSetWindow(xP, yP, xS, yS) {\r\n var Prop = 'LCDSetWindow/';\r\n Prop = Prop + xP + ',' + yP + ',' + xS + ',' + yS;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LCDWriteString(dest, mode, x, y, fnt, size, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = Math.round(cntx.measureText(txt).width);\r\n var ys = size;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n if (xs == 0) {\r\n return;\r\n }\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#000000';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, 0, 0);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n\r\n this.LcdWriteImageStream(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDDrawRectangle(dest, mode, x, y, xs, ys, fill) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.fillStyle = fill;\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n this.LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDDrawButton(dest, mode, x, y, xs, ys, strys, fill, fnt, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var sxs = Math.round(cntx.measureText(txt).width);\r\n var sys = strys;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = fill;\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, (xs - sxs) / 2, (ys - sys) / 2);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n\r\n this.LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDWriteStringWindow(dest, mode, x, y, fnt, xsize, ysize, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = xsize;\r\n var ys = ysize;\r\n c.width = xs;\r\n c.height = ys;\r\n\r\n cntx.font = fnt;\r\n cntx.fillStyle = '#FFFFFF';\r\n cntx.rect(0, 0, xs, ys);\r\n cntx.fill();\r\n\r\n cntx.fillStyle = '#000000';\r\n cntx.textBaseline = 'top';\r\n cntx.fillText(txt, 0, 0);\r\n\r\n cntx.drawImage(cntx.canvas, 0, 0, xs, ys);\r\n\r\n var Gstr = this.createLcdBitmapFromCanvas(c, x, y, xs, ys);\r\n\r\n this.LcdWriteImageBlob(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDStringWidth(fnt, str) {\r\n var c = document.createElement('canvas');\r\n var cntx = c.getContext('2d');\r\n cntx.font = fnt;\r\n var txt = str;\r\n var xs = Math.round(cntx.measureText(txt).width);\r\n\r\n return xs;\r\n }\r\n\r\n static LCDStringHeight(fnt, str) {\r\n return 16;\r\n }\r\n\r\n static LcdRefresh(Mode, Xp, Yp, Xs, Ys) {\r\n var Prop = 'LcdRefresh/';\r\n\r\n Prop = Prop + Mode + ',' + Xp + ',' + Yp + ',' + Xs + ',' + Ys;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LCDSendCmdString(CmdStr, ReturnCount, Result, TimeOut) {\r\n var Prop = 'LcdSendCmdString/';\r\n\r\n Prop = Prop + ReturnCount + ',' + TimeOut;\r\n Result = this.SigWebSetStreamProperty(Prop, CmdStr);\r\n }\r\n\r\n static LCDSendCmdData(CmdStr, ReturnCount, Result, TimeOut) {\r\n var Prop = 'LcdSendCmdData/';\r\n\r\n Prop = Prop + ReturnCount + ',' + TimeOut;\r\n Result = this.SigWebSetStreamProperty(Prop, CmdStr);\r\n }\r\n\r\n //\t\tfunction LCDSendWindowedGraphicCanvas( dest, mode, x, y, canvas )\r\n //\t\t\t {\r\n //\t\t\t }\r\n\r\n //\t\tfunction LCDSendWindowedGraphicCanvas( dest, mode, x, y, xs, ys, canvas )\r\n //\t\t\t{\r\n //\t\t\tvar Gstr = this.createLcdBitmapFromCanvas( canvas, 0, 0, xs, ys)\r\n //\t\t\tLcdWriteImageStream( dest, mode, x, y, xs, ys, Gstr );\r\n //\t\t\t}\r\n\r\n static LCDSendWindowedGraphicCanvas(dest, mode, x, y, xs, ys, c, xps, yps) {\r\n var canvas = document.createElement('canvas');\r\n var Gstr = this.createLcdBitmapFromCanvas(canvas, xps, yps, xs, ys);\r\n this.LcdWriteImageStream(dest, mode, x, y, xs, ys, Gstr);\r\n }\r\n\r\n static LCDSendGraphicUrl(dest, mode, x, y, url) {\r\n this.LcdWriteImage(dest, mode, x, y, url);\r\n }\r\n\r\n //\t\tfunction LCDSendGraphic( Dest, Mode, XPos, YPos, ImageFileName ) {}\r\n //\t\tfunction LCDSendGraphicURL( Dest, Mode, XPos, YPos, URL ) {}\r\n\r\n static LCDClear() {\r\n var Prop = 'LcdClear';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static LCDSetTabletMap(\r\n LCDType,\r\n LCDXSize,\r\n LCDYSize,\r\n LCDXStart,\r\n LCDYStart,\r\n LCDXStop,\r\n LCDYStop\r\n ) {}\r\n\r\n static LCDSetPixelDepth(v) {\r\n var Prop = 'LcdSetPixelDepth/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static LCDGetLCDSize() {\r\n var Prop = 'LcdGetLcdSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n static LCDGetCompressionMode() {\r\n var Prop = 'LcdCompressionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static LCDGetZCompressionMode() {\r\n var Prop = 'LcdZCompressionMode';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n //\r\n //\t\tSigPlusNETLCD.cs\r\n //\r\n\r\n static SetRealTabletState(v) {\r\n var Prop = 'TabletState/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletState() {\r\n var Prop = 'TabletState';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletLogicalXSize(v) {\r\n var Prop = 'TabletLogicalXSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletLogicalXSize() {\r\n var Prop = 'TabletLogicalXSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetTabletLogicalYSize() {\r\n var Prop = 'TabletLogicalYSize';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletLogicalYSize(v) {\r\n var Prop = 'TabletLogicalYSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletXStart(v) {\r\n var Prop = 'TabletXStart/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletXStart() {\r\n var Prop = 'TabletXStart';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletYStart(v) {\r\n var Prop = 'TabletYStart/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletYStart() {\r\n var Prop = 'TabletYStart';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletXStop(v) {\r\n var Prop = 'TabletXStop/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletXStop() {\r\n var Prop = 'TabletXStop';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletYStop(v) {\r\n var Prop = 'TabletYStop/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletYStop() {\r\n var Prop = 'TabletYStop';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletFilterPoints(v) {\r\n var Prop = 'TabletFilterPoints/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletFilterPoints() {\r\n var Prop = 'TabletFilterPoints';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletTimingAdvance(v) {\r\n var Prop = 'TabletTimingAdvance/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletTimingAdvance() {\r\n var Prop = 'TabletTimingAdvance';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletComPort(v) {\r\n var Prop = 'TabletComPort/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletComPort() {\r\n var Prop = 'TabletComPort';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletBaudRate(v) {\r\n var Prop = 'TabletBaudRate/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletBaudRate() {\r\n var Prop = 'TabletBaudRate';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletRotation(v) {\r\n var Prop = 'TabletRotation/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletRotation() {\r\n var Prop = 'TabletRotation';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletType(v) {\r\n var Prop = 'TabletType/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletType() {\r\n var Prop = 'TabletType';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetServerTabletType(v) {\r\n var Prop = 'ServerTabletType/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetServerTabletType() {\r\n var Prop = 'ServerTabletType';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletComTest(v) {\r\n var Prop = 'TabletComTest/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletComTest() {\r\n var Prop = 'TabletComTest';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletResolution(v) {\r\n var Prop = 'TabletResolution/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetTabletResolution() {\r\n var Prop = 'TabletResolution';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static TabletConnectQuery() {\r\n var Prop = 'TabletConnectQuery';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static TabletModelNumber() {\r\n var Prop = 'TabletModelNumber';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static TabletSerialNumber() {\r\n var Prop = 'TabletSerialNumber';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletPortPath(v) {\r\n var Prop = 'TabletPortPath/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletLocalIniFilePath(v) {\r\n var Prop = 'TabletLocalIniFilePath/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletModel(v) {\r\n var Prop = 'TabletModel/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSerialPortCloseDelay(v) {\r\n var Prop = 'SerialPortCloseDelay/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSerialPortCloseDelay() {\r\n var Prop = 'SerialPortCloseDelay';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static EnableTabletEncryption() {\r\n var Prop = 'EnableTabletEncryption';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetTabletEncryptionMode(hmode, tmode) {\r\n var Prop = 'TabletEncryptionMode/';\r\n\r\n Prop = Prop + hmode + ',' + tmode;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetMaxLogFileSize(v) {\r\n var Prop = 'MaxLogFileSize/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetSigSockServerPath() {\r\n var Prop = 'SigSockServerPath';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetSigSockClientName() {\r\n var Prop = 'SigSockClientName';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static GetSigSockPortNumber() {\r\n var Prop = 'SigSockPortNumber';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetSigSockServerPath(v) {\r\n var Prop = 'SigSockServerPath/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSigSockClientName(v) {\r\n var Prop = 'SigSockClientName/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetPortNumber(v) {\r\n var Prop = 'PortNumber/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static SetSigSockPortNumber(v) {\r\n var Prop = 'SigSockPortNumber/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static GetFirmwareRevision() {\r\n var Prop = 'FirmwareRevision';\r\n\r\n Prop = Prop;\r\n return this.SigWebGetProperty(Prop);\r\n }\r\n\r\n static SetTabletData(sigStr) {\r\n var Prop = 'TabletData';\r\n\r\n Prop = Prop;\r\n this.SigWebSetStreamProperty(Prop, sigStr);\r\n }\r\n\r\n static GetTabletData() {\r\n var Prop = 'TabletData';\r\n\r\n Prop = Prop;\r\n var Str = this.SigWebGetProperty(Prop);\r\n\r\n return Str.slice(1, Str.length - 1);\r\n }\r\n\r\n static OpenTablet(v) {\r\n var Prop = 'OpenTablet/';\r\n\r\n Prop = Prop + v;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static CloseTablet() {\r\n var Prop = 'CloseTablet';\r\n\r\n Prop = Prop;\r\n this.SigWebSetProperty(Prop);\r\n }\r\n\r\n static ResetParameters() {\r\n var Prop = 'ResetParameters';\r\n\r\n Prop = Prop;\r\n this.SigWebSetPropertySync(Prop);\r\n }\r\n\r\n static testRawData() {\r\n this.OpenTablet(1);\r\n var Str1 = this.GetTabletData();\r\n this.CloseTablet();\r\n }\r\n\r\n static SetTabletState(v, ctx, tv) {\r\n var delay;\r\n\r\n if (tv) {\r\n delay = tv;\r\n } else {\r\n delay = 100;\r\n }\r\n\r\n if (this.GetTabletState() != v) {\r\n if (v == 1) {\r\n if (ctx) {\r\n var can = ctx.canvas;\r\n this.SetDisplayXSize(can.width);\r\n this.SetDisplayYSize(can.height);\r\n this.SigWebSetDisplayTarget(ctx);\r\n }\r\n this.SetRealTabletState(v);\r\n var data = this.GetTabletState();\r\n var dataResult = data == '' || data == null ? 0 : Number(data);\r\n var tmr = null;\r\n if (ctx && dataResult != 0) {\r\n tmr = setInterval(() => this.SigWebRefresh(), delay);\r\n } else {\r\n tmr = null;\r\n }\r\n\r\n return tmr;\r\n } else {\r\n if (ctx) {\r\n clearInterval(ctx);\r\n }\r\n this.SigWebSetDisplayTarget(null);\r\n this.SetRealTabletState(v);\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n OnDestroy,\n ViewChild,\n Output,\n EventEmitter,\n Input,\n} from '@angular/core';\nimport { SigWebTablet } from '../../../utils/SigWeb/SigWeb';\nimport { Form, FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { SignaturePad } from 'angular2-signaturepad';\ninterface IOutputMessage {\n bioSigData: string;\n sigImgData: string;\n sigString: string;\n}\n\nclass OutputMessage implements IOutputMessage {\n bioSigData: string;\n sigImgData: string;\n sigString: string;\n}\n\n@Component({\n selector: 'lib-libey-ng-signature',\n templateUrl: './libey-ng-signature.component.html',\n styleUrls: ['./libey-ng-signature.component.css'],\n})\nexport class LibeyNgSignatureComponent implements AfterViewInit, OnDestroy {\n @Output() OutputSignature = new EventEmitter<IOutputMessage>();\n @Input() DeviceType: string = 'mousepad';\n\n private _destroy$: Subject<boolean> = new Subject<boolean>();\n @ViewChild('sigImg', { static: false })\n canvas!: ElementRef<HTMLCanvasElement>;\n @ViewChild(SignaturePad) signaturePad: SignaturePad;\n cnvContext: CanvasRenderingContext2D;\n tmr: any;\n widthView: number = 500;\n heightView: number = 200;\n widthRender: number = 500;\n heightRender: number = 200;\n signaturePadOptions: Object = {\n minWidth: 5,\n canvasWidth: this.widthView,\n canvasHeight: this.heightView,\n };\n FileValidated = false;\n NotDriver = false;\n UploadFile: string = null;\n File: any;\n constructor() {}\n\n ngAfterViewInit(): void {\n this.InitDevice();\n }\n\n ngOnDestroy(): void {\n this.closingSigWeb();\n this._destroy$.next(true);\n }\n\n ChangeDevice() {\n this.NotDriver = false;\n this.UploadFile = null;\n this.File = null;\n setTimeout(() => {\n this.InitDevice();\n }, 200);\n }\n\n InitDevice() {\n if (this.DeviceType == 'pinpad') {\n this.cnvContext = (<HTMLCanvasElement>(\n this.canvas.nativeElement\n )).getContext('2d');\n }\n if (this.DeviceType == 'mousepad') {\n this.signaturePad.set('minWidth', 5);\n this.signaturePad.clear();\n }\n }\n\n closingSigWeb() {\n SigWebTablet.ClearTablet();\n SigWebTablet.SetTabletState(0, this.tmr, null);\n }\n\n onSign() {\n this.NotDriver = false;\n this.UploadFile = null;\n var driver = SigWebTablet.GetVersionString();\n if(driver == null){\n this.NotDriver = true;\n }else{\n this.NotDriver = false;\n console.log('onSign Clicked!');\n SigWebTablet.SetDisplayXSize(this.widthRender);\n SigWebTablet.SetDisplayYSize(this.heightRender);\n SigWebTablet.SetTabletState(0, this.tmr, null);\n SigWebTablet.SetJustifyMode(0);\n SigWebTablet.ClearTablet();\n\n if (this.tmr == null) {\n this.tmr = SigWebTablet.SetTabletState(1, this.cnvContext, 50);\n } else {\n SigWebTablet.SetTabletState(0, this.tmr, null);\n this.tmr = null;\n this.tmr = SigWebTablet.SetTabletState(1, this.cnvContext, 50);\n }\n } \n }\n\n onClear() {\n if(this.UploadFile == null){\n if (this.DeviceType == 'pinpad') {\n SigWebTablet.ClearTablet();\n if (this.cnvContext) {\n this.cnvContext.clearRect(\n 0,\n 0,\n this.canvas.nativeElement.width,\n this.canvas.nativeElement.height\n );\n }\n }\n if (this.DeviceType == 'mousepad') {\n this.signaturePad.clear();\n }\n }else{\n this.File = null;\n this.UploadFile = null;\n this.ChangeDevice();\n }\n }\n\n onDone() {\n var result = new OutputMessage();\n if(this.UploadFile == null){\n if (this.DeviceType == 'pinpad') {\n // if (Number(SigWebTablet.NumberOfTabletPoints()) === 0) {\n // alert('Por favor firme antes de continuar');\n // } else {\n SigWebTablet.SetTabletState(0, this.tmr, null);\n\n SigWebTablet.SetSigCompressionMode(1);\n result.bioSigData = SigWebTablet.GetSigString();\n result.sigImgData = SigWebTablet.GetSigString();\n SigWebTablet.SetImageXSize(this.widthRender);\n SigWebTablet.SetImageYSize(this.heightRender);\n SigWebTablet.SetImagePenWidth(5);\n SigWebTablet.GetSigImageB64((base64: string) => {\n result.sigString = \"data:image/png;base64,\" + base64;\n this.OutputSignature.emit(result);\n });\n // }\n }\n if (this.DeviceType == 'mousepad') {\n var result = new OutputMessage();\n result.sigString = this.signaturePad.toDataURL();\n this.OutputSignature.emit(result);\n }\n }else{\n result.sigString = this.UploadFile;\n this.OutputSignature.emit(result);\n }\n }\n fileEvent(event: any) {\n this.UploadFile = null;\n this.FileValidated = false;\n const file = event.target.files[0];\n if (file.type == 'image/jpeg' || file.type == 'image/png') {\n this.FileValidated = false;\n const newWidth = this.widthRender;\n const newHeight = this.heightRender;\n this.resizeImage(file, newWidth, newHeight)\n .then((resizedImageDataUrl) => {\n this.UploadFile = resizedImageDataUrl;\n })\n .catch((error) => {\n console.error('Error al redimensionar la imagen:', error);\n });\n }else{\n this.File = null;\n this.UploadFile = null;\n this.FileValidated = true;\n }\n }\n resizeImage(image: File, newWidth: number, newHeight: number): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = (e) => {\n const img = new Image();\n img.src = e.target.result as string;\n img.onload = () => {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n canvas.width = newWidth;\n canvas.height = newHeight;\n ctx.drawImage(img, 0, 0, newWidth, newHeight);\n const resizedImageDataUrl = canvas.toDataURL(image.type);\n resolve(resizedImageDataUrl);\n };\n img.onerror = (error) => {\n reject(error);\n };\n };\n reader.readAsDataURL(image);\n });\n }\n}\n","<div class=\"container\">\n <div *ngIf=\"UploadFile==null\">\n <div *ngIf=\"DeviceType=='pinpad'\" style=\"cursor: pointer; border: 1px ridge #d2d2d2;\">\n <canvas (click)=\"onSign()\" #sigImg [width]=\"widthView\" [height]=\"heightView\"></canvas> \n </div>\n <div *ngIf=\"DeviceType=='mousepad'\" style=\"border: 1px ridge #d2d2d2;\">\n <signature-pad [options]=\"signaturePadOptions\"></signature-pad>\n </div>\n </div>\n <div *ngIf=\"UploadFile!=null\" style=\"border: 1px ridge #d2d2d2;\">\n <img [src]=\"UploadFile\" [width]=\"widthView\" [height]=\"heightView\" />\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col-md-12\" style=\"padding-top: 17px !important; padding-bottom: 17px !important;\">\n <input type=\"file\" (change)=\"fileEvent($event)\" [(ngModel)]=\"File\" class=\"form-control form-control-ph\"\n accept=\"image/png, image/jpeg\" style=\"border: none;\">\n <label *ngIf=\"FileValidated\" [ngClass]=\"'text-danger'\">Archivo requerido. Formatos permitidos (jpeg, jpg, png)</label>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col-md-6\">\n <ng-select [(ngModel)]=\"DeviceType\" class=\"ng-select\" placeholder=\"Seleccionar\" [clearable]=\"false\"\n (change)=\"ChangeDevice()\">\n <ng-option [value]=\"'pinpad'\">Pinpad</ng-option>\n <ng-option [value]=\"'mousepad'\">Mousepad</ng-option>\n </ng-select>\n <label *ngIf=\"NotDriver\" [ngClass]=\"'text-danger'\">No tiene el driver instalado</label>\n </div>\n <div class=\"col-md-6\">\n <p class=\"text-primary font-link-rp\" style=\"text-align: right; cursor: pointer;\" (click)=\"onClear()\">\n Limpiar firma\n </p>\n </div>\n</div>\n\n<div class=\"modal-footer mt-15 mb-4\">\n <button type=\"button\" class=\"btn btn-primary btn-save-rp\" (click)=\"onDone()\"> \n <i class=\"icon-save-white\"></i> Guardar\n </button>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { LibeyNgSignatureComponent } from './libey-ng-signature/libey-ng-signature.component';\nimport { SignaturePadModule } from 'angular2-signaturepad';\nimport { NgSelectModule } from '@ng-select/ng-select';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\n@NgModule({\n declarations: [\n LibeyNgSignatureComponent\n ],\n imports: [\n FormsModule,\n ReactiveFormsModule,\n SignaturePadModule,\n CommonModule,\n NgSelectModule,\n NgbModule \n ],\n exports: [\n LibeyNgSignatureComponent,\n SignaturePadModule,\n NgSelectModule,\n NgbModule\n ]\n})\nexport class LibeyNgSignatureModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { LibeyNgTableModule } from './table/libey-ng-table.module';\nimport { LibeyNgSignatureModule } from './signature/libey-ng-signature.module';\nimport { SignaturePadModule } from 'angular2-signaturepad';\n\n\n\n@NgModule({\n declarations: [\n ],\n imports: [\n CommonModule,\n FormsModule,\n LibeyNgTableModule,\n LibeyNgSignatureModule,\n SignaturePadModule\n ],\n exports: [\n LibeyNgTableModule,\n LibeyNgSignatureModule,\n SignaturePadModule\n ],\n providers: [DatePipe]\n})\nexport class LibeyNgComponentLibraryModule { }\n","/*\n * Public API Surface of libey-ng-component-library\n */\n\nexport * from './lib/libey-ng-component-library.service';\nexport * from './lib/libey-ng-component-library.component';\nexport * from './lib/libey-ng-component-library.module';\nexport * from './lib/table/libey-ng-table.module';\nexport * from './lib/table/libey-ng-table.component';\nexport * from './lib/table/directives/libey-column.directive';\nexport * from './lib/signature/libey-ng-signature.module';\nexport * from './lib/signature/libey-ng-signature/libey-ng-signature.component';\nexport * from './utils/SigWeb/SigWeb';\nimport { SignaturePadModule, SignaturePad } from 'angular2-signaturepad';\nexport { SignaturePadModule, SignaturePad };\nexport { NgSelectModule } from '@ng-select/ng-select';\nexport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nexport * from '@popperjs/core';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0","Injectable","Component","TemplateRef","Directive","Input","ContentChild","EventEmitter","i1","ViewEncapsulation","Output","ContentChildren","ViewChild","CommonModule","FormsModule","NgModule","Subject","SignaturePad","i2","i3","i4","ReactiveFormsModule","SignaturePadModule","NgSelectModule","NgbModule","DatePipe"],"mappings":"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"}