bways-grid 0.0.13 → 0.0.14

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":"bways-grid.mjs","sources":["../../../projects/bways-grid/src/lib/workers/generated/sorting.worker.code.ts","../../../projects/bways-grid/src/lib/datasources/infinite-scroll.datasource.ts","../../../projects/bways-grid/src/lib/directives/column-resize.directive.ts","../../../projects/bways-grid/src/lib/components/header/header.component.ts","../../../projects/bways-grid/src/lib/components/cell/cell.component.ts","../../../projects/bways-grid/src/lib/components/row/row.component.ts","../../../projects/bways-grid/src/lib/components/pagination/pagination.component.ts","../../../projects/bways-grid/src/lib/components/header-menu/header-menu.component.ts","../../../projects/bways-grid/src/lib/components/choose-columns/choose-columns.component.ts","../../../projects/bways-grid/src/lib/components/header-filter/header-filter.component.ts","../../../projects/bways-grid/src/lib/components/column-tool-panel/column-tool-panel.component.ts","../../../projects/bways-grid/src/lib/components/filter-tool-panel/filter-tool-panel.component.ts","../../../projects/bways-grid/src/lib/components/side-bar/side-bar.component.ts","../../../projects/bways-grid/src/lib/core/grid-flattener.service.ts","../../../projects/bways-grid/src/lib/workers/generated/excel.worker.code.ts","../../../projects/bways-grid/src/lib/services/excel-export.service.ts","../../../projects/bways-grid/src/lib/components/ultra-grid/ultra-grid.component.ts","../../../projects/bways-grid/src/lib/bways-grid.module.ts","../../../projects/bways-grid/src/lib/models/filter.model.ts","../../../projects/bways-grid/src/lib/core/grid-engine.service.ts","../../../projects/bways-grid/src/lib/core/viewport-manager.ts","../../../projects/bways-grid/src/lib/core/row-cache.ts","../../../projects/bways-grid/src/public-api.ts","../../../projects/bways-grid/src/bways-grid.ts"],"sourcesContent":["// AUTO-GENERATED FILE. DO NOT EDIT.\n// Built from src/lib/workers/sorting.worker.ts\nexport const SORTING_WORKER_CODE = `\"use strict\";(()=>{var b=[],h=[];addEventListener(\"message\",e=>{let{action:a,rows:o,sortModel:r,filterModel:i,conditionFilters:t,groupModel:n,aggregations:u,groupStateMap:d}=e.data;if(a===\"INIT\"){b=(o||[]).map(l=>({...l,type:\"leaf\",level:0})),postMessage({action:\"INIT_DONE\"});return}if(a===\"FLATTEN_ONLY\"){let s=U(h,d||{},e.data.groupIncludeFooter);postMessage({flatList:s});return}if(a===\"EXECUTE\"){let s=b,{pivotMode:l,pivotColumns:c}=e.data;if(i&&Object.keys(i).length>0){let g={};for(let p of Object.keys(i))g[p]=new Set(i[p]);s=s.filter(p=>{for(let G of Object.keys(g)){let O=g[G],S=p.data?p.data[G]:null;if(!O.has(S))return!1}return!0})}t&&Object.keys(t).length>0&&(s=\\$(s,t));let f={...u||{}},y=[];if(l&&c&&c.length>0&&Object.keys(f).length>0){let{virtualAggrs:g,dynamicColumns:p}=K(s,c,f);f=g,y=p}let N=s;if(n&&n.length>0?N=M(s,n,f):s.forEach(g=>g.level=0),r&&r.length>0&&E(N,r),h=N,n&&n.length>0&&e.data.groupIncludeFooter&&Object.keys(f).length>0){let p={id:\"grand-total-footer\",type:\"group-footer\",level:0,groupField:\"Grand Total\",groupKey:\"Grand Total\",data:k(s,f)};h.push(p)}let m=U(h,d||{},e.data.groupIncludeFooter),F=L(h);postMessage({flatList:m,resultTree:F,pivotColumns:y})}});function L(e){return e.map(a=>{if(a.type===\"leaf\")return{id:a.id,type:\"leaf\",level:a.level};if(a.type===\"group\"){let o=a;return{...o,children:o.children?L(o.children):void 0}}return a})}function U(e,a,o=!1){let r=[],i=[];for(let t=e.length-1;t>=0;t--)i.push(e[t]);for(;i.length>0;){let t=i.pop();if(t.type===\"group\"){let n=t;if(r.push({id:n.id,type:\"group\",level:n.level,groupField:n.groupField,groupKey:n.groupKey,data:n.data,childCount:n.children?n.children.length:0}),!!a[n.id]&&(o&&i.push({id:\\`\\${n.id}-footer\\`,type:\"group-footer\",level:n.level,groupField:n.groupField,groupKey:n.groupKey,data:{...n.data}}),n.children))for(let d=n.children.length-1;d>=0;d--)i.push(n.children[d])}else t.type===\"group-footer\"?r.push({id:t.id,type:\"group-footer\",level:t.level,groupField:t.groupField,groupKey:t.groupKey,data:t.data}):r.push({id:t.id,type:\"leaf\",level:t.level})}return r}function C(e){let a=[],o=[...e];for(;o.length>0;){let r=o.pop();if(I(r))a.push(r);else if(j(r)&&r.children)for(let i=r.children.length-1;i>=0;i--)o.push(r.children[i])}return a}function I(e){return e.type===\"leaf\"}function j(e){return e.type===\"group\"}function A(e){if(typeof e==\"number\")return e;if(typeof e!=\"string\")return e==null?0:Number(e);let a=e.trim();if(!a)return 0;let o=a.startsWith(\"(\")&&a.endsWith(\")\"),r=a.replace(/[\\\\u2212\\\\u2013\\\\u2014]/g,\"-\");r.includes(\"-\")&&(o=!0),r=r.replace(/[^0-9.]/g,\"\");let i=r?Number(r):0;return isNaN(i)?0:o?-i:i}function M(e,a,o){return T(e,a,0,o,\"root\")}function T(e,a,o,r,i){let t=a[o],n=o===a.length-1,u=new Map;for(let s of e){let l=s.data?s.data[t]:null;u.has(l)||u.set(l,[]),u.get(l).push(s)}let d=[];for(let[s,l]of u.entries()){let c=\\`\\${i}-\\${t}-\\${s}\\`,f={id:c,type:\"group\",level:o,groupField:t,groupKey:s,data:{[t]:s},children:[]},y=C(l),N=k(y,r);Object.assign(f.data,N),n?(l.forEach(m=>m.level=o+1),f.children=l):f.children=T(l,a,o+1,r,c),d.push(f)}return d}function k(e,a){let o={};for(let r of Object.keys(a)){let i=a[r],t=0;if(i===\"count\")t=e.length;else{let n=!0,u=0,d=0;for(let s of e){let l=s.data?s.data[r]:null,c=A(l);i===\"sum\"?t=Number(t)+c:i===\"min\"?n?t=c:t=Math.min(t,c):i===\"max\"?n?t=c:t=Math.max(t,c):i===\"avg\"&&(u=Number(u)+c,d++),n=!1}i===\"avg\"&&(t=d>0?u/d:0)}o[r]=t}return o}function E(e,a){e.sort((o,r)=>{for(let i of a){let{field:t,direction:n}=i,u=o.data?o.data[t]:null,d=r.data?r.data[t]:null;if(u===d)continue;let s=u>d?1:-1;return n===\"asc\"?s:-s}return 0});for(let o of e)o.type===\"group\"&&o.children&&E(o.children,a)}function \\$(e,a){let o=Object.keys(a);return o.length===0?e:e.filter(r=>{for(let i of o){let t=a[i];if(!t||!t.condition1)continue;let n=r.data?r.data[i]:null,u=v(n,t.condition1);if(t.condition2&&t.condition2.type){let d=v(n,t.condition2);if(!(t.operator===\"OR\"?u||d:u&&d))return!1}else if(!u)return!1}return!0})}function v(e,a){let{type:o,value:r,valueTo:i}=a;if(o===\"blank\")return e==null||e===\"\";if(o===\"notBlank\")return e!=null&&e!==\"\";if(r==null||r===\"\")return!0;let t=String(e??\"\").toLowerCase(),n=String(r).toLowerCase();switch(o){case\"contains\":return t.includes(n);case\"notContains\":return!t.includes(n);case\"equals\":return!isNaN(Number(e))&&!isNaN(Number(r))?Number(e)===Number(r):t===n;case\"notEqual\":return!isNaN(Number(e))&&!isNaN(Number(r))?Number(e)!==Number(r):t!==n;case\"startsWith\":return t.startsWith(n);case\"endsWith\":return t.endsWith(n);case\"greaterThan\":return Number(e)>Number(r);case\"greaterThanOrEqual\":return Number(e)>=Number(r);case\"lessThan\":return Number(e)<Number(r);case\"lessThanOrEqual\":return Number(e)<=Number(r);case\"inRange\":if(i==null||i===\"\")return!0;let u=Number(e);return u>=Number(r)&&u<=Number(i);default:return!0}}function K(e,a,o){let r={};a.forEach(d=>r[d]=new Set),e.forEach(d=>{a.forEach(s=>{let l=d.data[s];l!=null&&r[s].add(l)})});let i={},t=[],n=a[0];return Array.from(r[n]).sort().forEach(d=>{Object.keys(o).forEach(s=>{let l=o[s],c=\\`pivot_\\${n}_\\${d}_\\${s}\\`;i[c]=l,t.push({field:c,headerName:\\`\\${d} (\\${s})\\`,pivotValue:d,originalField:s,isPivotColumn:!0}),e.forEach(f=>{String(f.data[n])===String(d)?f.data[c]=f.data[s]:f.data[c]=null})})}),{virtualAggrs:i,dynamicColumns:t}}})();\n`;\n","import { CollectionViewer, DataSource } from '@angular/cdk/collections';\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\nimport { ServerDataSource } from './server-datasource.interface';\r\n\r\nexport class InfiniteScrollDataSource<T> extends DataSource<T | undefined> {\r\n private _cachedData: (T | undefined)[] = [];\r\n private _dataStream = new BehaviorSubject<(T | undefined)[]>([]);\r\n private _subscription = new Subscription();\r\n private _fetchedPages = new Set<number>();\r\n private _pageSize = 100;\r\n\r\n constructor(private _serverDataSource: ServerDataSource<T>, private _bufferSize: number = 200) {\r\n super();\r\n this._pageSize = this._bufferSize;\r\n }\r\n\r\n connect(collectionViewer: CollectionViewer): Observable<(T | undefined)[]> {\r\n this._subscription.add(\r\n collectionViewer.viewChange.subscribe(range => {\r\n const startPage = this._getPageForIndex(range.start);\r\n const endPage = this._getPageForIndex(range.end - 1);\r\n\r\n for (let i = startPage; i <= endPage; i++) {\r\n this._fetchPage(i);\r\n }\r\n })\r\n );\r\n return this._dataStream;\r\n }\r\n\r\n disconnect(): void {\r\n this._subscription.unsubscribe();\r\n }\r\n\r\n private _getPageForIndex(index: number): number {\r\n return Math.floor(index / this._pageSize);\r\n }\r\n\r\n private _fetchPage(page: number) {\r\n if (this._fetchedPages.has(page)) {\r\n return;\r\n }\r\n\r\n this._fetchedPages.add(page);\r\n const startRow = page * this._pageSize;\r\n const endRow = startRow + this._pageSize;\r\n\r\n this._serverDataSource.getRows({ startRow, endRow }).subscribe(res => {\r\n // Initialize array to totalCount if not yet done\r\n if (this._cachedData.length !== res.totalCount) {\r\n this._cachedData = Array.from<T | undefined>({ length: res.totalCount }).fill(undefined);\r\n }\r\n\r\n this._cachedData.splice(startRow, res.rows.length, ...res.rows);\r\n this._dataStream.next([...this._cachedData]);\r\n });\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ugColumnResize]',\r\n standalone: true\r\n})\r\nexport class ColumnResizeDirective {\r\n @Input('ugColumnResize') columnField!: string;\r\n @Output() resizeEnd = new EventEmitter<{ field: string, width: number }>();\r\n\r\n private startX!: number;\r\n private startWidth!: number;\r\n private minWidth = 50;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMouseDown(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n this.startX = event.pageX;\r\n this.startWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n\r\n const mouseMoveListener = this.renderer.listen('document', 'mousemove', (e: MouseEvent) => {\r\n const width = Math.max(this.minWidth, this.startWidth + (e.pageX - this.startX));\r\n this.renderer.setStyle(this.el.nativeElement.parentElement, 'width', `${width}px`);\r\n });\r\n\r\n const mouseUpListener = this.renderer.listen('document', 'mouseup', (e: MouseEvent) => {\r\n mouseMoveListener(); // Unregister\r\n mouseUpListener(); // Unregister\r\n const finalWidth = Math.max(this.minWidth, this.startWidth + (e.pageX - this.startX));\r\n this.resizeEnd.emit({ field: this.columnField, width: finalWidth });\r\n });\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CdkDragDrop, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\nimport { ColumnResizeDirective } from '../../directives/column-resize.directive';\r\n\r\n@Component({\r\n selector: 'ug-header',\r\n standalone: true,\r\n imports: [CommonModule, DragDropModule, ColumnResizeDirective],\r\n template: `\r\n <div class=\"ug-header-row\" cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"onColumnDrop($event)\">\r\n <div \r\n class=\"ug-header-cell\" \r\n *ngFor=\"let col of columns; let isLast = last\" \r\n cdkDrag\r\n [style.width.px]=\"col.width || 200\"\r\n [style.min-width.px]=\"col.minWidth\"\r\n [style.max-width.px]=\"col.maxWidth\"\r\n [class.ug-cell-hide]=\"col.hide\"\r\n [class.ug-pinned-left]=\"col.pinned === 'left'\"\r\n [class.ug-pinned-right]=\"col.pinned === 'right'\"\r\n [style.left.px]=\"col._leftOffset\"\r\n [style.right.px]=\"col._rightOffset\"\r\n [style.flex-grow]=\"isLast ? 1 : 0\"\r\n >\r\n <div class=\"ug-header-checkbox\" *ngIf=\"col.headerCheckboxSelection\" (click)=\"onHeaderCheckboxClick($event)\">\r\n <input type=\"checkbox\" [checked]=\"isAllSelected\" />\r\n </div>\r\n\r\n <div class=\"ug-header-cell-label\" (click)=\"col.sortable !== false ? onSort(col) : null\" [class.sortable]=\"col.sortable !== false\">\r\n <span>{{ col.headerName || col.field }}</span>\r\n \r\n <div class=\"ug-sort-icon\" *ngIf=\"col.sortable !== false && getSortDirection(col.field)\">\r\n <svg *ngIf=\"getSortDirection(col.field) === 'desc'\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"></line><polyline points=\"19 12 12 19 5 12\"></polyline></svg>\r\n <svg *ngIf=\"getSortDirection(col.field) === 'asc'\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"5\"></line><polyline points=\"5 12 12 5 19 12\"></polyline></svg>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ug-header-filter-icon\" *ngIf=\"col.field !== 'ag-Grid-AutoColumn'\" (click)=\"onFilterClick(col, $event)\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polygon points=\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"></polygon></svg>\r\n </div>\r\n\r\n <div class=\"ug-header-menu-icon\" *ngIf=\"col.field !== 'ag-Grid-AutoColumn'\" (click)=\"onMenuClick(col, $event)\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"1\"></circle><circle cx=\"12\" cy=\"5\" r=\"1\"></circle><circle cx=\"12\" cy=\"19\" r=\"1\"></circle></svg>\r\n </div>\r\n\r\n <div class=\"ug-header-divider\" *ngIf=\"!isLast\"></div>\r\n\r\n <div \r\n *ngIf=\"col.resizable !== false\"\r\n class=\"ug-resize-handle\" \r\n [class.ug-hide-resizer]=\"isLast\"\r\n [ugColumnResize]=\"col.field\" \r\n (resizeEnd)=\"onResize($event)\"\r\n (click)=\"$event.stopPropagation()\">\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styles: [`\r\n ug-header {\r\n display: block;\r\n background-color: var(--ug-header-bg);\r\n border-bottom: 1px solid var(--ug-border-color);\r\n position: sticky;\r\n top: 0;\r\n z-index: 10;\r\n color: var(--ug-header-color);\r\n font-weight: var(--ug-header-font-weight);\r\n overflow: hidden;\r\n }\r\n .ug-header-row {\r\n display: inline-flex;\r\n min-width: 100%;\r\n height: 48px;\r\n }\r\n .ug-header-cell {\r\n display: flex;\r\n align-items: center;\r\n padding: 0 0 0 16px;\r\n box-sizing: border-box;\r\n position: relative;\r\n user-select: none;\r\n background-color: var(--ug-header-bg);\r\n transition: background-color 0.2s;\r\n flex-shrink: 0;\r\n flex-grow: 0; /* Default to 0, overridden by inline style for last column */\r\n }\r\n .ug-header-cell:hover {\r\n background-color: var(--ug-header-hover-bg);\r\n }\r\n .ug-pinned-left {\r\n position: sticky;\r\n z-index: 2;\r\n border-right: 1px solid var(--ug-border-color);\r\n }\r\n .ug-pinned-right {\r\n position: sticky;\r\n z-index: 2;\r\n border-left: 1px solid var(--ug-border-color);\r\n }\r\n .ug-header-checkbox {\r\n margin-right: 12px;\r\n display: flex;\r\n align-items: center;\r\n }\r\n .ug-header-checkbox input[type=\"checkbox\"] {\r\n width: 16px;\r\n height: 16px;\r\n cursor: pointer;\r\n accent-color: var(--ug-primary-color);\r\n }\r\n .ug-header-cell-label {\r\n flex: 1;\r\n display: flex;\r\n align-items: center;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n height: 100%;\r\n }\r\n .ug-header-cell-label.sortable {\r\n cursor: pointer;\r\n }\r\n .ug-header-cell-label span {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n .ug-sort-icon {\r\n margin-left: 6px;\r\n display: flex;\r\n align-items: center;\r\n color: var(--ug-icon-color);\r\n }\r\n .ug-header-menu-icon, .ug-header-filter-icon {\r\n padding: 0 4px;\r\n cursor: pointer;\r\n color: var(--ug-icon-color);\r\n display: flex;\r\n align-items: center;\r\n opacity: 0;\r\n transition: opacity 0.2s;\r\n }\r\n .ug-header-menu-icon {\r\n padding-right: 8px; \r\n }\r\n .ug-header-cell:hover .ug-header-menu-icon,\r\n .ug-header-cell:hover .ug-header-filter-icon {\r\n opacity: 1;\r\n }\r\n .ug-header-divider {\r\n width: 1px;\r\n height: 50%;\r\n background-color: var(--ug-border-color);\r\n margin-right: 2px;\r\n }\r\n .ug-resize-handle {\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n width: 5px;\r\n cursor: col-resize;\r\n background-color: transparent;\r\n z-index: 1;\r\n }\r\n .ug-resize-handle:hover, .ug-resize-handle:active {\r\n background-color: var(--ug-primary-color);\r\n }\r\n .ug-hide-resizer {\r\n display: none !important;\r\n }\r\n .cdk-drag-preview {\r\n box-sizing: border-box;\r\n background-color: var(--ug-header-bg);\r\n border: 1px solid var(--ug-border-color);\r\n box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);\r\n display: flex;\r\n align-items: center;\r\n padding: 0 16px;\r\n font-weight: var(--ug-header-font-weight);\r\n color: var(--ug-header-color);\r\n font-size: var(--ug-font-size);\r\n font-family: var(--ug-font-family);\r\n }\r\n .cdk-drag-placeholder {\r\n opacity: 0.3;\r\n }\r\n .cdk-drag-animating {\r\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\r\n }\r\n `],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HeaderComponent {\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Input() sortModel: { field: string, direction: 'asc' | 'desc' }[] = [];\r\n @Input() isAllSelected: boolean = false;\r\n\r\n @Output() sortChanged = new EventEmitter<{ field: string, direction: 'asc' | 'desc' | null }>();\r\n @Output() columnsReordered = new EventEmitter<UltraGridColumn[]>();\r\n @Output() columnResized = new EventEmitter<{ field: string, width: number }>();\r\n @Output() headerCheckboxClicked = new EventEmitter<boolean>();\r\n @Output() menuClicked = new EventEmitter<{ column: UltraGridColumn, event: MouseEvent }>();\r\n @Output() filterClicked = new EventEmitter<{ column: UltraGridColumn, event: MouseEvent }>();\r\n\r\n getSortDirection(field: string): 'asc' | 'desc' | null {\r\n const model = this.sortModel.find(m => m.field === field);\r\n return model ? model.direction : null;\r\n }\r\n\r\n onSort(col: UltraGridColumn) {\r\n const current = this.getSortDirection(col.field);\r\n let next: 'asc' | 'desc' | null = 'asc';\r\n if (current === 'asc') next = 'desc';\r\n else if (current === 'desc') next = null;\r\n\r\n this.sortChanged.emit({ field: col.field, direction: next });\r\n }\r\n\r\n onColumnDrop(event: CdkDragDrop<string[]>) {\r\n const reordered = [...this.columns];\r\n moveItemInArray(reordered, event.previousIndex, event.currentIndex);\r\n this.columnsReordered.emit(reordered);\r\n }\r\n\r\n onResize(event: { field: string, width: number }) {\r\n this.columnResized.emit(event);\r\n }\r\n\r\n onHeaderCheckboxClick(event: MouseEvent) {\r\n event.stopPropagation();\r\n this.headerCheckboxClicked.emit(!this.isAllSelected);\r\n }\r\n\r\n onMenuClick(column: UltraGridColumn, event: MouseEvent) {\r\n event.stopPropagation();\r\n this.menuClicked.emit({ column, event });\r\n }\r\n\r\n onFilterClick(column: UltraGridColumn, event: MouseEvent) {\r\n event.stopPropagation();\r\n this.filterClicked.emit({ column, event });\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\nimport { UltraGridRow } from '../../models/row.model';\r\n\r\n@Component({\r\n selector: 'ug-cell',\r\n standalone: true,\r\n imports: [CommonModule],\r\n template: `\r\n <div class=\"ug-cell-wrapper\" [style.padding-left.px]=\"isAutoGroupColumn && row.level ? row.level * 20 : 0\">\r\n \r\n <!-- Group Expand/Collapse Caret -->\r\n <div \r\n class=\"ug-group-caret\" \r\n *ngIf=\"isAutoGroupColumn && isGroup\"\r\n (click)=\"onGroupToggleClick($event)\">\r\n <svg *ngIf=\"groupExpanded\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"6 9 12 15 18 9\"></polyline></svg>\r\n <svg *ngIf=\"!groupExpanded\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"9 18 15 12 9 6\"></polyline></svg>\r\n </div>\r\n\r\n <div class=\"ug-cell-checkbox\" *ngIf=\"column.checkboxSelection && row.type !== 'group-footer'\" (click)=\"onCheckboxClick($event)\">\r\n <input type=\"checkbox\" [checked]=\"isSelected\" />\r\n </div>\r\n <ng-container *ngIf=\"column.cellTemplate; else defaultCell\">\r\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: row.data, row: row, column: column }\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultCell>\r\n <div class=\"ug-cell-content\" [title]=\"formattedValue\">\r\n <ng-container *ngIf=\"isAutoGroupColumn && isGroup\">\r\n <b>{{ formattedValue }}</b>\r\n <span class=\"ug-group-count\" *ngIf=\"row.type === 'group'\">({{ $any(row).childCount || 0 }})</span>\r\n </ng-container>\r\n <ng-container *ngIf=\"isGroupFooter\">\r\n <b *ngIf=\"isAutoGroupColumn\">\r\n {{ $any(row).groupField === 'Grand Total' ? 'Grand Total' : 'Total' }}\r\n </b>\r\n <span *ngIf=\"!isAutoGroupColumn\">{{ formattedValue }}</span>\r\n </ng-container>\r\n <ng-container *ngIf=\"!(isAutoGroupColumn && (isGroup || isGroupFooter)) && !isGroupFooter\">\r\n {{ formattedValue }}\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n </div>\r\n `,\r\n styles: [`\r\n ug-cell {\r\n display: flex;\r\n align-items: center;\r\n padding: 0 16px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n flex-shrink: 0;\r\n flex-grow: 0;\r\n white-space: nowrap;\r\n box-sizing: border-box;\r\n height: 100%;\r\n }\r\n .ug-cell-wrapper {\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n }\r\n .ug-cell-checkbox {\r\n margin-right: 12px;\r\n display: flex;\r\n align-items: center;\r\n }\r\n .ug-cell-checkbox input[type=\"checkbox\"] {\r\n width: 16px;\r\n height: 16px;\r\n cursor: pointer;\r\n accent-color: var(--ug-primary-color);\r\n }\r\n .ug-cell-content {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n gap: 6px;\r\n }\r\n .ug-group-caret {\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 20px;\r\n height: 20px;\r\n margin-right: 4px;\r\n color: var(--ug-text-color);\r\n opacity: 0.7;\r\n transition: opacity 0.2s;\r\n }\r\n .ug-group-caret:hover {\r\n opacity: 1;\r\n }\r\n .ug-group-count {\r\n font-size: 0.85em;\r\n opacity: 0.6;\r\n }\r\n `],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CellComponent {\r\n @Input() column!: UltraGridColumn;\r\n @Input() row!: UltraGridRow;\r\n @Input() isSelected?: boolean = false;\r\n @Input() isFirstColumn: boolean = false;\r\n @Input() groupExpanded: boolean = false;\r\n\r\n @Output() groupToggleClicked = new EventEmitter<void>();\r\n\r\n get isGroup(): boolean {\r\n return !!this.row && this.row.type === 'group';\r\n }\r\n\r\n get isGroupFooter(): boolean {\r\n return !!this.row && this.row.type === 'group-footer';\r\n }\r\n\r\n get isAutoGroupColumn(): boolean {\r\n return this.column.field === 'ag-Grid-AutoColumn';\r\n }\r\n\r\n get value(): any {\r\n if (this.isAutoGroupColumn && (this.isGroup || this.isGroupFooter)) {\r\n return (this.row as any).groupKey;\r\n }\r\n return this.row && this.row.data ? this.row.data[this.column.field] : null;\r\n }\r\n\r\n get formattedValue(): string {\r\n const v = this.value;\r\n if (v == null) return '';\r\n\r\n // For Group Header or Group Footer in the Auto Column, we show the key directly (State Name, etc.)\r\n if (this.isAutoGroupColumn && (this.isGroup || this.isGroupFooter)) {\r\n return v;\r\n }\r\n\r\n // Try parsing as number for formatting (thousands separators, limited decimals)\r\n const isNumPrimitive = typeof v === 'number' && isFinite(v);\r\n\r\n // If field or header name suggests it's a date/time, skip numeric formatting\r\n const lowerField = this.column.field.toLowerCase();\r\n const lowerHeader = this.column.headerName?.toLowerCase() || '';\r\n if (lowerField.includes('date') || lowerField.includes('time') || lowerField.includes('ata') ||\r\n lowerHeader.includes('date') || lowerHeader.includes('time') || lowerHeader.includes('ata')) {\r\n return v;\r\n }\r\n \r\n // Robust parsing for string-numbers\r\n let num = NaN;\r\n if (isNumPrimitive) {\r\n num = v;\r\n } else {\r\n // Only try to parse if it's not a boolean and looks potentially numeric\r\n if (typeof v === 'string' && (v.includes('.') || v.match(/[0-9]/))) {\r\n num = Number(v.replace(/[^0-9.-]/g, ''));\r\n }\r\n }\r\n\r\n if (!isNaN(num) && isFinite(num)) {\r\n // Use en-US for standard thousands separators\r\n return num.toLocaleString('en-US', {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 2\r\n });\r\n }\r\n\r\n return v;\r\n }\r\n\r\n onCheckboxClick(event: MouseEvent) {\r\n // Handled up the pipe by the row selection\r\n }\r\n\r\n onGroupToggleClick(event: MouseEvent) {\r\n event.stopPropagation();\r\n this.groupToggleClicked.emit();\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, HostBinding } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\nimport { UltraGridRow } from '../../models/row.model';\r\nimport { CellComponent } from '../cell/cell.component';\r\n\r\n@Component({\r\n selector: 'ug-row',\r\n standalone: true,\r\n imports: [CommonModule, CellComponent],\r\n template: `\r\n <div class=\"ug-row-cells\">\r\n <ug-cell \r\n *ngFor=\"let col of columns; let isFirst = first; let isLast = last; trackBy: trackByField\"\r\n [column]=\"col\"\r\n [row]=\"row\"\r\n [isSelected]=\"$any(row)?.selected\"\r\n [isFirstColumn]=\"isFirst\"\r\n [groupExpanded]=\"isExpanded\"\r\n (groupToggleClicked)=\"onGroupToggle()\"\r\n [style.width.px]=\"col.width || 200\"\r\n [style.min-width.px]=\"col.minWidth\"\r\n [style.max-width.px]=\"col.maxWidth\"\r\n [class.ug-cell-hide]=\"col.hide\"\r\n [class.ug-pinned-left]=\"col.pinned === 'left'\"\r\n [class.ug-pinned-right]=\"col.pinned === 'right'\"\r\n [style.left.px]=\"col._leftOffset\"\r\n [style.right.px]=\"col._rightOffset\"\r\n [style.flex-grow]=\"isLast ? 1 : 0\">\r\n </ug-cell>\r\n </div>\r\n `,\r\n styles: [`\r\n ug-row {\r\n display: inline-flex;\r\n min-width: 100%;\r\n border-bottom: 1px solid var(--ug-border-color);\r\n background-color: var(--ug-row-bg);\r\n box-sizing: border-box;\r\n transition: background-color 0.2s;\r\n }\r\n ug-row:hover {\r\n background-color: var(--ug-row-hover-bg);\r\n }\r\n ug-row.ug-row-selected {\r\n background-color: var(--ug-row-selected-bg);\r\n }\r\n ug-row.ug-row-group-footer {\r\n background-color: var(--ug-group-footer-bg, #f8f9fa);\r\n font-weight: 600;\r\n border-top: 1px solid var(--ug-border-color);\r\n border-bottom: 2px solid var(--ug-border-color);\r\n }\r\n ug-row.ug-row-group-footer:hover {\r\n background-color: var(--ug-group-footer-bg, #f8f9fa);\r\n }\r\n .ug-row-cells {\r\n display: flex;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n .ug-cell-hide {\r\n display: none !important;\r\n }\r\n ug-cell.ug-pinned-left {\r\n position: sticky;\r\n z-index: 1;\r\n border-right: 1px solid var(--ug-border-color);\r\n background-color: inherit;\r\n }\r\n ug-cell.ug-pinned-right {\r\n position: sticky;\r\n z-index: 1;\r\n border-left: 1px solid var(--ug-border-color);\r\n background-color: inherit;\r\n }\r\n `],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RowComponent {\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Input() row!: UltraGridRow;\r\n @Input() rowHeight: number = 42;\r\n @Input() isExpanded: boolean = false;\r\n @Input() selectionVersion: number = 0;\r\n\r\n @Output() groupToggled = new EventEmitter<void>();\r\n\r\n @HostBinding('class.ug-row-selected') get isSelected() {\r\n return this.row?.selected;\r\n }\r\n\r\n @HostBinding('class.ug-row-group-footer') get isGroupFooter() {\r\n return this.row?.type === 'group-footer';\r\n }\r\n\r\n @HostBinding('style.height.px') get height() {\r\n return this.rowHeight;\r\n }\r\n\r\n trackByField(index: number, col: UltraGridColumn): string {\r\n return col.field;\r\n }\r\n\r\n onGroupToggle() {\r\n this.groupToggled.emit();\r\n }\r\n\r\n}","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ug-pagination',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule], // Add FormsModule here\r\n template: `\r\n <div class=\"ug-pagination-container\">\r\n <div class=\"ug-pagination-left\">\r\n <!-- Optional space for additional footer info -->\r\n </div>\r\n <div class=\"ug-pagination-right\" *ngIf=\"showControls\">\r\n <div class=\"ug-page-size\">\r\n <span>Page Size:</span>\r\n <select [ngModel]=\"isAllSelectedSize ? 'All' : pageSize\" (ngModelChange)=\"onPageSizeChange($event)\">\r\n <option [ngValue]=\"10\">10</option>\r\n <option [ngValue]=\"25\">25</option>\r\n <option [ngValue]=\"50\">50</option>\r\n <option [ngValue]=\"100\">100</option>\r\n <option [ngValue]=\"500\">500</option>\r\n <option [ngValue]=\"'All'\">All</option>\r\n </select>\r\n </div>\r\n <div class=\"ug-pagination-info\">\r\n {{ startRow }} to {{ endRow }} of {{ totalCount || 'many' }}\r\n </div>\r\n <div class=\"ug-pagination-controls\">\r\n <button [disabled]=\"isFirstPage\" (click)=\"onPage(1)\" title=\"First Page\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11 17l-5-5 5-5M18 17l-5-5 5-5M6 17V7\"></path></svg>\r\n </button>\r\n <button [disabled]=\"isFirstPage\" (click)=\"onPrev()\" title=\"Previous Page\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 18l-6-6 6-6\"></path></svg>\r\n </button>\r\n <span class=\"ug-page-info\">Page {{ currentPage }} of {{ totalPages }}</span>\r\n <button [disabled]=\"isLastPage\" (click)=\"onNext()\" title=\"Next Page\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 18l6-6-6-6\"></path></svg>\r\n </button>\r\n <button [disabled]=\"isLastPage\" (click)=\"onPage(totalPages)\" title=\"Last Page\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M13 17l5-5-5-5M6 17l5-5-5-5M18 17V7\"></path></svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styles: [`\r\n ug-pagination {\r\n display: block;\r\n border-top: 1px solid var(--ug-border-color);\r\n background-color: var(--ug-footer-bg);\r\n color: var(--ug-footer-color);\r\n font-size: var(--ug-font-size);\r\n }\r\n .ug-pagination-container {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n height: 48px;\r\n padding: 0 16px;\r\n }\r\n .ug-pagination-right {\r\n display: flex;\r\n align-items: center;\r\n gap: 24px;\r\n }\r\n .ug-page-size {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n }\r\n .ug-page-size select {\r\n border: 1px solid var(--ug-border-color);\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n background-color: var(--ug-bg-color);\r\n color: var(--ug-footer-color);\r\n cursor: pointer;\r\n font-family: var(--ug-font-family);\r\n }\r\n .ug-pagination-info {\r\n font-weight: var(--ug-header-font-weight);\r\n }\r\n .ug-pagination-controls {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n }\r\n .ug-pagination-controls button {\r\n background: none;\r\n border: none;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n color: var(--ug-icon-color);\r\n padding: 4px;\r\n border-radius: 4px;\r\n }\r\n .ug-pagination-controls button:disabled {\r\n opacity: 0.3;\r\n cursor: not-allowed;\r\n }\r\n .ug-pagination-controls button:not(:disabled):hover {\r\n background-color: var(--ug-row-hover-bg);\r\n }\r\n .ug-page-info {\r\n margin: 0 4px;\r\n }\r\n `],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PaginationComponent {\r\n @Input() totalCount: number = 0;\r\n @Input() pageSize: number = 100;\r\n @Input() currentPage: number = 1;\r\n\r\n @Output() pageChanged = new EventEmitter<number>();\r\n @Output() pageSizeChanged = new EventEmitter<number>(); // Added new output\r\n\r\n get showControls() { return true; }\r\n get totalPages() { return Math.max(1, Math.ceil(this.totalCount / this.pageSize)); }\r\n get isFirstPage() { return this.currentPage <= 1; }\r\n // Provide for infinite scrolling where total count might not be known immediately\r\n get isLastPage() { return this.totalCount ? this.currentPage >= this.totalPages : false; }\r\n\r\n get startRow() { return this.totalCount === 0 && this.currentPage === 1 ? 0 : (this.currentPage - 1) * this.pageSize + 1; }\r\n get endRow() { return this.totalCount ? Math.min(this.currentPage * this.pageSize, this.totalCount) : this.currentPage * this.pageSize; }\r\n\r\n onPrev() {\r\n if (!this.isFirstPage) {\r\n this.pageChanged.emit(this.currentPage - 1);\r\n }\r\n }\r\n\r\n onNext() {\r\n if (!this.isLastPage) {\r\n this.pageChanged.emit(this.currentPage + 1);\r\n }\r\n }\r\n\r\n // Added new method\r\n onPage(page: number) {\r\n if (page >= 1 && page <= this.totalPages && page !== this.currentPage) {\r\n this.pageChanged.emit(page);\r\n }\r\n }\r\n\r\n get isAllSelectedSize() {\r\n return this.pageSize === this.totalCount && this.totalCount > 0;\r\n }\r\n\r\n // Added new method\r\n onPageSizeChange(size: any) {\r\n if (size === 'All') {\r\n this.pageSizeChanged.emit(this.totalCount);\r\n } else {\r\n this.pageSizeChanged.emit(Number(size));\r\n }\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, HostListener, ViewEncapsulation, ElementRef, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\n\r\n@Component({\r\n selector: 'ug-header-menu',\r\n standalone: true,\r\n imports: [CommonModule],\r\n template: `\r\n <div class=\"ug-header-menu-backdrop\" *ngIf=\"isOpen\" (click)=\"onClose()\"></div>\r\n <div class=\"ug-header-menu-panel\" *ngIf=\"isOpen\" [style.top.px]=\"position.y\" [style.left.px]=\"position.x\">\r\n \r\n <!-- Sorting -->\r\n <div class=\"ug-menu-item\" (click)=\"onSort('asc')\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 19V5M5 12l7-7 7 7\"/></svg>\r\n <span>Sort Ascending</span>\r\n </div>\r\n <div class=\"ug-menu-item\" (click)=\"onSort('desc')\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 5v14M5 12l7 7 7-7\"/></svg>\r\n <span>Sort Descending</span>\r\n </div>\r\n\r\n <div class=\"ug-menu-separator\"></div>\r\n\r\n <!-- Pinning (Submenu trigger) -->\r\n <div class=\"ug-menu-item ug-has-submenu\" (mouseenter)=\"showPinSubmenu = true\" (mouseleave)=\"showPinSubmenu = false\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M16 10l-4 4-4-4\"/></svg>\r\n <span>Pin Column</span>\r\n <svg class=\"ug-menu-arrow\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 18l6-6-6-6\"/></svg>\r\n\r\n <div class=\"ug-submenu\" *ngIf=\"showPinSubmenu\">\r\n <div class=\"ug-menu-item\" (click)=\"onPin(null)\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" [style.visibility]=\"column?.pinned ? 'hidden' : 'visible'\"><path d=\"M20 6L9 17l-5-5\"/></svg>\r\n <span>No Pin</span>\r\n </div>\r\n <div class=\"ug-menu-item\" (click)=\"onPin('left')\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" [style.visibility]=\"column?.pinned === 'left' ? 'visible' : 'hidden'\"><path d=\"M20 6L9 17l-5-5\"/></svg>\r\n <span>Pin Left</span>\r\n </div>\r\n <div class=\"ug-menu-item\" (click)=\"onPin('right')\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" [style.visibility]=\"column?.pinned === 'right' ? 'visible' : 'hidden'\"><path d=\"M20 6L9 17l-5-5\"/></svg>\r\n <span>Pin Right</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ug-menu-separator\"></div>\r\n\r\n <!-- Autosize -->\r\n <div class=\"ug-menu-item\" (click)=\"onAutosize(false)\">\r\n <span class=\"ug-menu-text-only\">Autosize This Column</span>\r\n </div>\r\n <div class=\"ug-menu-item\" (click)=\"onAutosize(true)\">\r\n <span class=\"ug-menu-text-only\">Autosize All Columns</span>\r\n </div>\r\n\r\n <div class=\"ug-menu-separator\"></div>\r\n\r\n <!-- Grouping -->\r\n <div class=\"ug-menu-item\" (click)=\"onGroup()\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 3H3v18h18V3zM3 9h18M9 21V9\"/></svg>\r\n <span>{{ isGrouped ? 'Un-Group by' : 'Group by' }} {{ column?.headerName || column?.field }}</span>\r\n </div>\r\n\r\n <div class=\"ug-menu-separator\"></div>\r\n\r\n <!-- Choose Columns -->\r\n <div class=\"ug-menu-item\" (click)=\"onChooseColumns()\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"/><path d=\"M9 3v18\"/></svg>\r\n <span>Choose Columns</span>\r\n </div>\r\n\r\n </div>\r\n `,\r\n styleUrls: ['./header-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HeaderMenuComponent {\r\n @Input() column?: UltraGridColumn;\r\n @Input() isOpen = false;\r\n @Input() position = { x: 0, y: 0 };\r\n @Input() groupModel: string[] = [];\r\n\r\n @Output() closeMenu = new EventEmitter<void>();\r\n @Output() sort = new EventEmitter<{ field: string, direction: 'asc' | 'desc' }>();\r\n @Output() pin = new EventEmitter<{ field: string, pinned: 'left' | 'right' | null }>();\r\n @Output() autosize = new EventEmitter<{ field: string, all: boolean }>();\r\n @Output() group = new EventEmitter<{ field: string }>();\r\n @Output() chooseColumns = new EventEmitter<void>();\r\n\r\n showPinSubmenu = false;\r\n\r\n get isGrouped(): boolean {\r\n return !!this.column && this.groupModel.includes(this.column.field);\r\n }\r\n\r\n constructor(private el: ElementRef) { }\r\n\r\n onClose() {\r\n this.closeMenu.emit();\r\n }\r\n\r\n onSort(direction: 'asc' | 'desc') {\r\n if (this.column) {\r\n this.sort.emit({ field: this.column.field, direction });\r\n }\r\n this.onClose();\r\n }\r\n\r\n onPin(pinned: 'left' | 'right' | null) {\r\n if (this.column) {\r\n this.pin.emit({ field: this.column.field, pinned });\r\n }\r\n this.onClose();\r\n }\r\n\r\n onAutosize(all: boolean) {\r\n if (this.column) {\r\n this.autosize.emit({ field: this.column.field, all });\r\n }\r\n this.onClose();\r\n }\r\n\r\n onGroup() {\r\n if (this.column) {\r\n this.group.emit({ field: this.column.field });\r\n }\r\n this.onClose();\r\n }\r\n\r\n onChooseColumns() {\r\n this.chooseColumns.emit();\r\n this.onClose();\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CdkDragDrop, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\n\r\n@Component({\r\n selector: 'ug-choose-columns',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, DragDropModule],\r\n template: `\r\n <div class=\"ug-choose-columns-panel\">\r\n \r\n <div class=\"ug-cc-header\">\r\n <span class=\"ug-cc-title\">Choose Columns</span>\r\n <button class=\"ug-cc-close\" (click)=\"onClose()\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 6L6 18M6 6l12 12\"/></svg>\r\n </button>\r\n </div>\r\n\r\n <div class=\"ug-cc-search\">\r\n <div class=\"ug-cc-search-icon\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"M21 21l-4.35-4.35\"/></svg>\r\n </div>\r\n <input type=\"text\" placeholder=\"Search...\" [(ngModel)]=\"searchQuery\" />\r\n </div>\r\n\r\n <div class=\"ug-cc-list\" cdkDropList (cdkDropListDropped)=\"onDrop($event)\">\r\n <ng-container *ngFor=\"let col of columns\">\r\n <div class=\"ug-cc-item\" cdkDrag *ngIf=\"matchesSearch(col)\">\r\n \r\n <label class=\"ug-cc-label\">\r\n <input type=\"checkbox\" [checked]=\"!col.hide\" (change)=\"toggleVisibility(col)\" />\r\n <span class=\"ug-cc-drag-handle\" cdkDragHandle>\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M8 6h.01M16 6h.01M8 12h.01M16 12h.01M8 18h.01M16 18h.01\"/></svg>\r\n </span>\r\n <span class=\"ug-cc-name\">{{ col.headerName || col.field }}</span>\r\n </label>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n `,\r\n styleUrls: ['./choose-columns.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ChooseColumnsComponent {\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Output() columnsChanged = new EventEmitter<UltraGridColumn[]>();\r\n @Output() closePanel = new EventEmitter<void>();\r\n\r\n searchQuery = '';\r\n\r\n onClose() {\r\n this.closePanel.emit();\r\n }\r\n\r\n matchesSearch(col: UltraGridColumn): boolean {\r\n if (!this.searchQuery) return true;\r\n const name = (col.headerName || col.field || '').toLowerCase();\r\n return name.includes(this.searchQuery.toLowerCase());\r\n }\r\n\r\n toggleVisibility(col: UltraGridColumn) {\r\n col.hide = !col.hide;\r\n this.emitChange();\r\n }\r\n\r\n onDrop(event: CdkDragDrop<UltraGridColumn[]>) {\r\n // Because of the *ngIf matching search, the index in the drag drop event might not match the original array \r\n // if the user is filtering. We will only allow reordering if search is empty to be safe, \r\n // or we have to map visual index to actual index.\r\n if (this.searchQuery) {\r\n // Find actual indices\r\n const visibleCols = this.columns.filter(c => this.matchesSearch(c));\r\n const movedItem = visibleCols[event.previousIndex];\r\n const targetItem = visibleCols[event.currentIndex];\r\n\r\n const actualPrevIdx = this.columns.indexOf(movedItem);\r\n const actualCurrIdx = this.columns.indexOf(targetItem);\r\n\r\n moveItemInArray(this.columns, actualPrevIdx, actualCurrIdx);\r\n } else {\r\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\r\n }\r\n\r\n this.emitChange();\r\n }\r\n\r\n private emitChange() {\r\n this.columnsChanged.emit([...this.columns]);\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\n\r\n@Component({\r\n selector: 'ug-header-filter',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, ScrollingModule],\r\n template: `\r\n <div class=\"ug-header-filter-backdrop\" *ngIf=\"isOpen\" (click)=\"onClose()\"></div>\r\n <div class=\"ug-header-filter-panel\" *ngIf=\"isOpen\" [style.top.px]=\"position.y\" [style.left.px]=\"position.x\">\r\n \r\n <div class=\"ug-filter-search\">\r\n <div class=\"ug-filter-search-icon\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"M21 21l-4.35-4.35\"/></svg>\r\n </div>\r\n <input type=\"text\" placeholder=\"Search...\" [(ngModel)]=\"searchQuery\" (ngModelChange)=\"onSearchChanged()\" />\r\n </div>\r\n\r\n <div class=\"ug-filter-list\">\r\n <!-- Select All Checkbox -->\r\n <label class=\"ug-filter-item ug-filter-select-all\">\r\n <input type=\"checkbox\" [checked]=\"isAllSelected\" (change)=\"toggleAll()\" />\r\n <span>(Select All)</span>\r\n </label>\r\n\r\n <!-- Values Checkboxes -->\r\n <cdk-virtual-scroll-viewport itemSize=\"24\" class=\"ug-filter-viewport\">\r\n <label class=\"ug-filter-item\" *cdkVirtualFor=\"let item of displayValues\">\r\n <input type=\"checkbox\" [checked]=\"selectedValues.has(item)\" (change)=\"toggleValue(item)\" />\r\n <span>{{ item === null || item === undefined || item === '' ? '(Blanks)' : item }}</span>\r\n </label>\r\n </cdk-virtual-scroll-viewport>\r\n\r\n <div class=\"ug-filter-empty\" *ngIf=\"displayValues.length === 0\">\r\n No matches found\r\n </div>\r\n </div>\r\n\r\n </div>\r\n `,\r\n styleUrls: ['./header-filter.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HeaderFilterComponent implements OnChanges {\r\n @Input() column?: UltraGridColumn;\r\n @Input() isOpen = false;\r\n @Input() position = { x: 0, y: 0 };\r\n\r\n // All unique values extracted from the dataset\r\n @Input() uniqueValues: any[] = [];\r\n\r\n // The currently applied active filter Set for this column\r\n @Input() activeFilterSet: Set<any> = new Set();\r\n\r\n @Output() closeFilter = new EventEmitter<void>();\r\n @Output() filterApplied = new EventEmitter<{ field: string, selected: Set<any> }>();\r\n\r\n searchQuery = '';\r\n displayValues: any[] = [];\r\n\r\n // Local working copy of selected values while the menu is open\r\n selectedValues: Set<any> = new Set();\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['isOpen'] && this.isOpen) {\r\n // Reset query and clone the active filters\r\n this.searchQuery = '';\r\n this.selectedValues = new Set(this.activeFilterSet);\r\n\r\n // If the active filter was totally empty (meaning NO filter was ever applied), \r\n // Excel defaults to having EVERYTHING checked initially.\r\n if (this.activeFilterSet.size === 0) {\r\n this.uniqueValues.forEach(v => this.selectedValues.add(v));\r\n }\r\n\r\n this.applySearch();\r\n }\r\n\r\n if (changes['uniqueValues']) {\r\n this.applySearch();\r\n }\r\n }\r\n\r\n onClose() {\r\n this.closeFilter.emit();\r\n }\r\n\r\n onSearchChanged() {\r\n this.applySearch();\r\n }\r\n\r\n private applySearch() {\r\n if (!this.searchQuery) {\r\n this.displayValues = [...this.uniqueValues];\r\n } else {\r\n const lowerQ = this.searchQuery.toLowerCase();\r\n this.displayValues = this.uniqueValues.filter(val =>\r\n String(val).toLowerCase().includes(lowerQ)\r\n );\r\n }\r\n }\r\n\r\n get isAllSelected(): boolean {\r\n if (this.displayValues.length === 0) return false;\r\n return this.displayValues.every(val => this.selectedValues.has(val));\r\n }\r\n\r\n toggleAll() {\r\n const targetState = !this.isAllSelected;\r\n if (targetState) {\r\n this.displayValues.forEach(val => this.selectedValues.add(val));\r\n } else {\r\n this.displayValues.forEach(val => this.selectedValues.delete(val));\r\n }\r\n this.emitFilter();\r\n }\r\n\r\n toggleValue(val: any) {\r\n if (this.selectedValues.has(val)) {\r\n this.selectedValues.delete(val);\r\n } else {\r\n this.selectedValues.add(val);\r\n }\r\n this.emitFilter();\r\n }\r\n\r\n private emitFilter() {\r\n if (!this.column) return;\r\n\r\n // If \"Select All\" of all unique values is checked, we conceptually have NO filter.\r\n // E.g., if we select everything, we just clear the filter for performance.\r\n let finalSet = new Set(this.selectedValues);\r\n let isDefaultAllSelected = true;\r\n for (const val of this.uniqueValues) {\r\n if (!this.selectedValues.has(val)) {\r\n isDefaultAllSelected = false;\r\n break;\r\n }\r\n }\r\n\r\n if (isDefaultAllSelected) {\r\n finalSet = new Set(); // Empty means no filter\r\n }\r\n\r\n this.filterApplied.emit({ field: this.column.field, selected: finalSet });\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CdkDragDrop, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { UltraGridColumn, ValueColumnModel } from '../../models/column.model';\r\n\r\n@Component({\r\n selector: 'ug-column-tool-panel',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, DragDropModule],\r\n template: `\r\n <div class=\"ug-ctp-wrapper\" cdkDropListGroup>\r\n <!-- Pivot Mode Toggle -->\r\n <div class=\"ug-ctp-pivot-mode\">\r\n <label class=\"ug-switch\">\r\n <input type=\"checkbox\" [ngModel]=\"pivotMode\" (ngModelChange)=\"onPivotModeToggle($event)\" />\r\n <span class=\"ug-slider round\"></span>\r\n </label>\r\n <span>Pivot Mode</span>\r\n </div>\r\n\r\n <!-- Column List Section -->\r\n <div class=\"ug-ctp-columns-section\">\r\n <div class=\"ug-ctp-search\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"M21 21l-4.35-4.35\"/></svg>\r\n <input type=\"text\" placeholder=\"Search...\" [(ngModel)]=\"searchQuery\" (ngModelChange)=\"applySearch()\" />\r\n </div>\r\n\r\n <div \r\n class=\"ug-ctp-list\" \r\n id=\"colList\"\r\n cdkDropList \r\n [cdkDropListData]=\"displayColumns\"\r\n [cdkDropListConnectedTo]=\"['groupList', 'valueList', 'pivotList']\"\r\n (cdkDropListDropped)=\"onDrop($event)\">\r\n <div \r\n class=\"ug-ctp-item\" \r\n *ngFor=\"let col of displayColumns\" \r\n cdkDrag \r\n [cdkDragData]=\"col\">\r\n <input type=\"checkbox\" [checked]=\"!col.hide\" (change)=\"toggleVisibility(col)\" />\r\n <svg class=\"ug-drag-handle\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" cdkDragHandle><circle cx=\"9\" cy=\"12\" r=\"1\"/><circle cx=\"9\" cy=\"5\" r=\"1\"/><circle cx=\"9\" cy=\"19\" r=\"1\"/><circle cx=\"15\" cy=\"12\" r=\"1\"/><circle cx=\"15\" cy=\"5\" r=\"1\"/><circle cx=\"15\" cy=\"19\" r=\"1\"/></svg>\r\n <span class=\"ug-ctp-item-name\">{{ col.headerName || col.field }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Row Groups -->\r\n <div class=\"ug-ctp-group\">\r\n <div class=\"ug-ctp-group-header\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"></line><line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"></line><line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"></line><line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"></line><line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"></line><line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"></line></svg>\r\n <span>Row Groups</span>\r\n </div>\r\n <div \r\n class=\"ug-ctp-dropzone\" \r\n id=\"groupList\"\r\n cdkDropList \r\n [cdkDropListData]=\"groupColumns\" \r\n [cdkDropListConnectedTo]=\"['colList', 'pivotList', 'valueList']\"\r\n (cdkDropListDropped)=\"onGroupDrop($event)\"\r\n [class.empty]=\"groupColumns.length === 0\">\r\n <div *ngIf=\"groupColumns.length === 0\">Drag here to set row groups</div>\r\n <div class=\"ug-ctp-item\" *ngFor=\"let col of groupColumns\" cdkDrag [cdkDragData]=\"col\">\r\n <svg class=\"ug-drag-handle\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" cdkDragHandle><circle cx=\"9\" cy=\"12\" r=\"1\"/><circle cx=\"9\" cy=\"5\" r=\"1\"/><circle cx=\"9\" cy=\"19\" r=\"1\"/><circle cx=\"15\" cy=\"12\" r=\"1\"/><circle cx=\"15\" cy=\"5\" r=\"1\"/><circle cx=\"15\" cy=\"19\" r=\"1\"/></svg>\r\n <span class=\"ug-ctp-item-name\">{{ col.headerName || col.field }}</span>\r\n <span class=\"ug-ctp-remove\" (click)=\"removeGroup(col)\" style=\"margin-left:auto;cursor:pointer;\">&times;</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Pivot Columns -->\r\n <div class=\"ug-ctp-group\" *ngIf=\"pivotMode\">\r\n <div class=\"ug-ctp-group-header\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 12V7H5a2 2 0 0 1 0-4h14v4\"/><path d=\"M3 5v14a2 2 0 0 0 2 2h16v-5\"/><path d=\"M18 12H3\"/></svg>\r\n <span>Pivot Columns</span>\r\n </div>\r\n <div \r\n class=\"ug-ctp-dropzone\" \r\n id=\"pivotList\"\r\n cdkDropList \r\n [cdkDropListData]=\"pivotColumnsInternal\" \r\n [cdkDropListConnectedTo]=\"['colList', 'groupList', 'valueList']\"\r\n (cdkDropListDropped)=\"onPivotDrop($event)\"\r\n [class.empty]=\"pivotColumnsInternal.length === 0\">\r\n <div *ngIf=\"pivotColumnsInternal.length === 0\">Drag here to pivot</div>\r\n <div class=\"ug-ctp-item\" *ngFor=\"let col of pivotColumnsInternal\" cdkDrag [cdkDragData]=\"col\">\r\n <svg class=\"ug-drag-handle\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" cdkDragHandle><circle cx=\"9\" cy=\"12\" r=\"1\"/><circle cx=\"9\" cy=\"5\" r=\"1\"/><circle cx=\"9\" cy=\"19\" r=\"1\"/><circle cx=\"15\" cy=\"12\" r=\"1\"/><circle cx=\"15\" cy=\"5\" r=\"1\"/><circle cx=\"15\" cy=\"19\" r=\"1\"/></svg>\r\n <span class=\"ug-ctp-item-name\">{{ col.headerName || col.field }}</span>\r\n <span class=\"ug-ctp-remove\" (click)=\"removePivot(col)\" style=\"margin-left:auto;cursor:pointer;\">&times;</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Values -->\r\n <div class=\"ug-ctp-group\">\r\n <div class=\"ug-ctp-group-header\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"4 7 4 4 20 4 20 7\"></polyline><line x1=\"9\" y1=\"20\" x2=\"15\" y2=\"20\"></line><line x1=\"12\" y1=\"4\" x2=\"12\" y2=\"20\"></line></svg>\r\n <span>Values</span>\r\n </div>\r\n <div \r\n class=\"ug-ctp-dropzone\" \r\n id=\"valueList\"\r\n cdkDropList \r\n [cdkDropListData]=\"valueColumns\" \r\n [cdkDropListConnectedTo]=\"['colList', 'groupList', 'pivotList']\"\r\n (cdkDropListDropped)=\"onValueDrop($event)\"\r\n [class.empty]=\"valueColumns.length === 0\">\r\n <div *ngIf=\"valueColumns.length === 0\">Drag here to aggregate</div>\r\n <div class=\"ug-ctp-item\" *ngFor=\"let vCol of valueColumns\" cdkDrag [cdkDragData]=\"vCol\">\r\n <svg class=\"ug-drag-handle\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" cdkDragHandle><circle cx=\"9\" cy=\"12\" r=\"1\"/><circle cx=\"9\" cy=\"5\" r=\"1\"/><circle cx=\"9\" cy=\"19\" r=\"1\"/><circle cx=\"15\" cy=\"12\" r=\"1\"/><circle cx=\"15\" cy=\"5\" r=\"1\"/><circle cx=\"15\" cy=\"19\" r=\"1\"/></svg>\r\n <div class=\"ug-ctp-agg-selector\" (click)=\"toggleAggDropdown(vCol.field)\">\r\n <span class=\"ug-ctp-item-name\"><b>{{ vCol.aggFunc }}</b>({{ getColumnHeader(vCol.field) }})</span>\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"6 9 12 15 18 9\"></polyline></svg>\r\n </div>\r\n <span class=\"ug-ctp-remove\" (click)=\"removeValue(vCol.field)\" style=\"margin-left:auto;cursor:pointer;\">&times;</span>\r\n \r\n <!-- Dropdown Menu -->\r\n <div class=\"ug-ctp-agg-menu\" *ngIf=\"openDropdownField === vCol.field\">\r\n <div class=\"ug-ctp-agg-option\" [class.selected]=\"vCol.aggFunc === 'sum'\" (click)=\"setAggFunc(vCol, 'sum')\">sum</div>\r\n <div class=\"ug-ctp-agg-option\" [class.selected]=\"vCol.aggFunc === 'min'\" (click)=\"setAggFunc(vCol, 'min')\">min</div>\r\n <div class=\"ug-ctp-agg-option\" [class.selected]=\"vCol.aggFunc === 'max'\" (click)=\"setAggFunc(vCol, 'max')\">max</div>\r\n <div class=\"ug-ctp-agg-option\" [class.selected]=\"vCol.aggFunc === 'count'\" (click)=\"setAggFunc(vCol, 'count')\">count</div>\r\n <div class=\"ug-ctp-agg-option\" [class.selected]=\"vCol.aggFunc === 'avg'\" (click)=\"setAggFunc(vCol, 'avg')\">avg</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <!-- Export Section -->\r\n <div class=\"ug-ctp-group\" style=\"padding: 15px; text-align: center; border-top: 1px solid #e2e8f0; margin-top: auto;\">\r\n <button \r\n style=\"padding: 10px 16px; width: 100%; background: #2196f3; color: white; border: none; border-radius: 4px; font-weight: 500; cursor: pointer; display: flex; justify-content: center; align-items: center; gap: 8px;\"\r\n (click)=\"exportExcelClicked.emit()\">\r\n <svg fill=\"currentColor\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\"><path d=\"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z\"/></svg>\r\n Export Excel\r\n </button>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./column-tool-panel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ColumnToolPanelComponent implements OnChanges {\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Input() groupModel: string[] = [];\r\n @Input() valuesModel: ValueColumnModel[] = [];\r\n @Input() pivotMode: boolean = false;\r\n @Input() pivotColumns: string[] = [];\r\n @Output() columnsUpdated = new EventEmitter<UltraGridColumn[]>();\r\n @Output() groupModelChanged = new EventEmitter<string[]>();\r\n @Output() valuesModelChanged = new EventEmitter<ValueColumnModel[]>();\r\n @Output() pivotModeChanged = new EventEmitter<boolean>();\r\n @Output() pivotModelChanged = new EventEmitter<string[]>();\r\n @Output() exportExcelClicked = new EventEmitter<void>();\r\n\r\n displayColumns: UltraGridColumn[] = [];\r\n groupColumns: UltraGridColumn[] = [];\r\n valueColumns: ValueColumnModel[] = [];\r\n pivotColumnsInternal: UltraGridColumn[] = [];\r\n searchQuery: string = '';\r\n openDropdownField: string | null = null;\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['columns']) {\r\n this.applySearch();\r\n }\r\n // Reconstruct groupColumns from persisted groupModel\r\n if (changes['columns'] || changes['groupModel']) {\r\n this.rebuildGroupColumns();\r\n }\r\n // Reconstruct valueColumns from persisted valuesModel\r\n if (changes['columns'] || changes['valuesModel']) {\r\n this.rebuildValueColumns();\r\n }\r\n // Reconstruct pivotColumns from persisted pivotModel\r\n if (changes['columns'] || changes['pivotColumns']) {\r\n this.rebuildPivotColumns();\r\n }\r\n }\r\n\r\n onPivotModeToggle(enabled: boolean) {\r\n this.pivotModeChanged.emit(enabled);\r\n }\r\n\r\n private rebuildPivotColumns() {\r\n if (this.pivotColumns.length === 0) {\r\n this.pivotColumnsInternal = [];\r\n return;\r\n }\r\n this.pivotColumnsInternal = this.pivotColumns\r\n .map(field => this.columns.find(c => c.field === field))\r\n .filter((c): c is UltraGridColumn => !!c);\r\n }\r\n\r\n private rebuildGroupColumns() {\r\n if (this.groupModel.length === 0) {\r\n this.groupColumns = [];\r\n return;\r\n }\r\n // Map field names back to column definitions, preserving order\r\n this.groupColumns = this.groupModel\r\n .map(field => this.columns.find(c => c.field === field))\r\n .filter((c): c is UltraGridColumn => !!c);\r\n }\r\n\r\n getColumnHeader(field: string): string {\r\n const col = this.columns.find(c => c.field === field);\r\n return col ? (col.headerName || col.field) : field;\r\n }\r\n\r\n applySearch() {\r\n if (!this.searchQuery) {\r\n this.displayColumns = [...this.columns];\r\n } else {\r\n const q = this.searchQuery.toLowerCase();\r\n this.displayColumns = this.columns.filter(c => {\r\n const name = (c.headerName || c.field).toLowerCase();\r\n return name.includes(q);\r\n });\r\n }\r\n }\r\n\r\n toggleVisibility(col: UltraGridColumn) {\r\n // Determine the original index in the main array\r\n const realIdx = this.columns.findIndex(c => c.field === col.field);\r\n if (realIdx > -1) {\r\n const newCols = [...this.columns];\r\n newCols[realIdx] = { ...newCols[realIdx], hide: !newCols[realIdx].hide };\r\n this.columnsUpdated.emit(newCols);\r\n }\r\n }\r\n\r\n onDrop(event: CdkDragDrop<UltraGridColumn[]>) {\r\n if (this.searchQuery) return; // Drag/drop while searching is complex, ignoring for MVP\r\n\r\n if (event.previousContainer === event.container) {\r\n const newCols = [...this.columns];\r\n moveItemInArray(newCols, event.previousIndex, event.currentIndex);\r\n this.columnsUpdated.emit(newCols);\r\n }\r\n }\r\n\r\n onGroupDrop(event: CdkDragDrop<UltraGridColumn[]>) {\r\n if (event.previousContainer === event.container) {\r\n const newGrp = [...this.groupColumns];\r\n moveItemInArray(newGrp, event.previousIndex, event.currentIndex);\r\n this.groupColumns = newGrp;\r\n } else {\r\n const col = event.previousContainer.data[event.previousIndex];\r\n // Prevent duplicate groupings\r\n if (this.groupColumns.find(c => c.field === col.field)) return;\r\n\r\n const newGrp = [...this.groupColumns];\r\n newGrp.splice(event.currentIndex, 0, col);\r\n this.groupColumns = newGrp;\r\n }\r\n this.emitGroupChange();\r\n }\r\n\r\n removeGroup(col: UltraGridColumn) {\r\n this.groupColumns = this.groupColumns.filter(c => c !== col);\r\n this.emitGroupChange();\r\n }\r\n\r\n private emitGroupChange() {\r\n this.groupModelChanged.emit(this.groupColumns.map(c => c.field));\r\n }\r\n\r\n private rebuildValueColumns() {\r\n this.valueColumns = [...this.valuesModel];\r\n }\r\n\r\n onValueDrop(event: CdkDragDrop<any[]>) {\r\n if (event.previousContainer === event.container) {\r\n const newVals = [...this.valueColumns];\r\n moveItemInArray(newVals, event.previousIndex, event.currentIndex);\r\n this.valueColumns = newVals;\r\n } else {\r\n const col = event.previousContainer.data[event.previousIndex] as UltraGridColumn;\r\n // Prevent duplicate\r\n if (this.valueColumns.find(c => c.field === col.field)) return;\r\n const newVals = [...this.valueColumns];\r\n newVals.splice(event.currentIndex, 0, { field: col.field, aggFunc: 'sum' });\r\n this.valueColumns = newVals;\r\n }\r\n this.emitValuesChange();\r\n }\r\n\r\n removeValue(field: string) {\r\n this.valueColumns = this.valueColumns.filter(c => c.field !== field);\r\n this.emitValuesChange();\r\n }\r\n\r\n toggleAggDropdown(field: string) {\r\n if (this.openDropdownField === field) {\r\n this.openDropdownField = null;\r\n } else {\r\n this.openDropdownField = field;\r\n }\r\n }\r\n\r\n setAggFunc(vCol: ValueColumnModel, func: 'sum' | 'min' | 'max' | 'count' | 'avg') {\r\n vCol.aggFunc = func;\r\n this.openDropdownField = null;\r\n this.emitValuesChange();\r\n }\r\n\r\n onPivotDrop(event: CdkDragDrop<UltraGridColumn[]>) {\r\n if (event.previousContainer === event.container) {\r\n const newPiv = [...this.pivotColumnsInternal];\r\n moveItemInArray(newPiv, event.previousIndex, event.currentIndex);\r\n this.pivotColumnsInternal = newPiv;\r\n } else {\r\n const col = event.previousContainer.data[event.previousIndex];\r\n // Prevent duplicate\r\n if (this.pivotColumnsInternal.find(c => c.field === col.field)) return;\r\n\r\n const newPiv = [...this.pivotColumnsInternal];\r\n newPiv.splice(event.currentIndex, 0, col);\r\n this.pivotColumnsInternal = newPiv;\r\n }\r\n this.emitPivotChange();\r\n }\r\n\r\n removePivot(col: UltraGridColumn) {\r\n this.pivotColumnsInternal = this.pivotColumnsInternal.filter(c => c !== col);\r\n this.emitPivotChange();\r\n }\r\n\r\n private emitPivotChange() {\r\n this.pivotModelChanged.emit(this.pivotColumnsInternal.map(c => c.field));\r\n }\r\n\r\n private emitValuesChange() {\r\n this.valuesModelChanged.emit([...this.valueColumns]);\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\nimport { FilterConditionType, JoinOperator, ColumnConditionFilter } from '../../models/filter.model';\r\n\r\nconst TEXT_FILTER_OPTIONS: { value: FilterConditionType; label: string }[] = [\r\n { value: 'contains', label: 'Contains' },\r\n { value: 'notContains', label: 'Not Contains' },\r\n { value: 'equals', label: 'Equals' },\r\n { value: 'notEqual', label: 'Not Equal' },\r\n { value: 'startsWith', label: 'Starts With' },\r\n { value: 'endsWith', label: 'Ends With' },\r\n { value: 'blank', label: 'Blank' },\r\n { value: 'notBlank', label: 'Not Blank' }\r\n];\r\n\r\nconst NUMBER_FILTER_OPTIONS: { value: FilterConditionType; label: string }[] = [\r\n { value: 'equals', label: 'Equals' },\r\n { value: 'notEqual', label: 'Not Equal' },\r\n { value: 'greaterThan', label: 'Greater Than' },\r\n { value: 'greaterThanOrEqual', label: 'Greater Than or Equal' },\r\n { value: 'lessThan', label: 'Less Than' },\r\n { value: 'lessThanOrEqual', label: 'Less Than or Equal' },\r\n { value: 'inRange', label: 'In Range' },\r\n { value: 'blank', label: 'Blank' },\r\n { value: 'notBlank', label: 'Not Blank' }\r\n];\r\n\r\ninterface FilterSection {\r\n column: UltraGridColumn;\r\n expanded: boolean;\r\n searchQuery: string;\r\n uniqueValues: any[];\r\n displayValues: any[];\r\n selectedValues: Set<any>;\r\n hasActiveFilter: boolean;\r\n // Condition filter state\r\n filterOptions: { value: FilterConditionType; label: string }[];\r\n cond1Type: FilterConditionType;\r\n cond1Value: string;\r\n condOperator: JoinOperator;\r\n cond2Type: FilterConditionType;\r\n cond2Value: string;\r\n cond2ValueTo: string; // For inRange\r\n cond1ValueTo: string; // For inRange on condition 1\r\n hasConditionFilter: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'ug-filter-tool-panel',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, ScrollingModule],\r\n template: `\r\n <div class=\"ug-ftp-wrapper\">\r\n <!-- Global Toolbar -->\r\n <div class=\"ug-ftp-toolbar\">\r\n <button class=\"ug-ftp-btn\" (click)=\"expandAll()\" title=\"Expand All\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"6 9 12 15 18 9\"></polyline></svg>\r\n Expand All\r\n </button>\r\n <button class=\"ug-ftp-btn\" (click)=\"collapseAll()\" title=\"Collapse All\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"9 18 15 12 9 6\"></polyline></svg>\r\n Collapse All\r\n </button>\r\n <button class=\"ug-ftp-btn ug-ftp-btn-clear\" (click)=\"onClearAll()\" title=\"Clear All Filters\" [disabled]=\"!hasAnyActiveFilter\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line></svg>\r\n Clear All\r\n </button>\r\n \r\n <div style=\"flex: 1\"></div>\r\n\r\n <button class=\"ug-ftp-btn\" (click)=\"onSaveReportPrompt()\" title=\"Save Filters as Report\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\"></path><polyline points=\"17 21 17 13 7 13 7 21\"></polyline><polyline points=\"7 3 7 8 15 8\"></polyline></svg>\r\n Save\r\n </button>\r\n \r\n <select class=\"ug-ftp-toolbar-select\" (change)=\"onLoadReportSelected($event)\" title=\"Load Saved Report\">\r\n <option value=\"\" disabled selected>Load</option>\r\n <option *ngFor=\"let name of savedReportNames\" [value]=\"name\">{{ name }}</option>\r\n </select>\r\n </div>\r\n\r\n <!-- Column Filter Sections -->\r\n <div class=\"ug-ftp-sections\">\r\n <div class=\"ug-ftp-section\" *ngFor=\"let section of sections; trackBy: trackByField\">\r\n <!-- Section Header (Accordion) -->\r\n <div class=\"ug-ftp-section-header\" (click)=\"toggleSection(section)\" [class.active-filter]=\"section.hasActiveFilter || section.hasConditionFilter\">\r\n <svg class=\"ug-ftp-caret\" [class.expanded]=\"section.expanded\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\">\r\n <polyline points=\"9 18 15 12 9 6\"></polyline>\r\n </svg>\r\n <span class=\"ug-ftp-section-title\">{{ section.column.headerName || section.column.field }}</span>\r\n <span class=\"ug-ftp-active-dot\" *ngIf=\"section.hasActiveFilter || section.hasConditionFilter\" title=\"Filter active\"></span>\r\n </div>\r\n\r\n <!-- Section Body (Expanded) -->\r\n <div class=\"ug-ftp-section-body\" *ngIf=\"section.expanded\">\r\n\r\n <!-- ======= CONDITION FILTER ======= -->\r\n <div class=\"ug-ftp-condition-block\">\r\n <!-- Condition 1 -->\r\n <select class=\"ug-ftp-cond-select\" [(ngModel)]=\"section.cond1Type\" (ngModelChange)=\"onConditionChanged(section)\">\r\n <option *ngFor=\"let opt of section.filterOptions\" [ngValue]=\"opt.value\">{{ opt.label }}</option>\r\n </select>\r\n <input *ngIf=\"section.cond1Type !== 'blank' && section.cond1Type !== 'notBlank'\"\r\n class=\"ug-ftp-cond-input\"\r\n type=\"text\"\r\n placeholder=\"Filter value...\"\r\n [(ngModel)]=\"section.cond1Value\"\r\n (ngModelChange)=\"onConditionChanged(section)\" />\r\n \r\n <!-- In Range second value for Condition 1 -->\r\n <input *ngIf=\"section.cond1Type === 'inRange'\"\r\n class=\"ug-ftp-cond-input\"\r\n type=\"text\"\r\n placeholder=\"To value...\"\r\n [(ngModel)]=\"section.cond1ValueTo\"\r\n (ngModelChange)=\"onConditionChanged(section)\" />\r\n\r\n <!-- AND / OR Toggle -->\r\n <div class=\"ug-ftp-operator-row\">\r\n <label class=\"ug-ftp-radio\">\r\n <input type=\"radio\" name=\"op_{{section.column.field}}\" value=\"AND\" [(ngModel)]=\"section.condOperator\" (ngModelChange)=\"onConditionChanged(section)\" />\r\n AND\r\n </label>\r\n <label class=\"ug-ftp-radio\">\r\n <input type=\"radio\" name=\"op_{{section.column.field}}\" value=\"OR\" [(ngModel)]=\"section.condOperator\" (ngModelChange)=\"onConditionChanged(section)\" />\r\n OR\r\n </label>\r\n </div>\r\n\r\n <!-- Condition 2 -->\r\n <select class=\"ug-ftp-cond-select\" [(ngModel)]=\"section.cond2Type\" (ngModelChange)=\"onConditionChanged(section)\">\r\n <option *ngFor=\"let opt of section.filterOptions\" [ngValue]=\"opt.value\">{{ opt.label }}</option>\r\n </select>\r\n <input *ngIf=\"section.cond2Type !== 'blank' && section.cond2Type !== 'notBlank'\"\r\n class=\"ug-ftp-cond-input\"\r\n type=\"text\"\r\n placeholder=\"Filter value...\"\r\n [(ngModel)]=\"section.cond2Value\"\r\n (ngModelChange)=\"onConditionChanged(section)\" />\r\n\r\n <!-- In Range second value -->\r\n <input *ngIf=\"section.cond2Type === 'inRange'\"\r\n class=\"ug-ftp-cond-input\"\r\n type=\"text\"\r\n placeholder=\"To value...\"\r\n [(ngModel)]=\"section.cond2ValueTo\"\r\n (ngModelChange)=\"onConditionChanged(section)\" />\r\n </div>\r\n\r\n <!-- ======= SET FILTER (Checkboxes) ======= -->\r\n <div class=\"ug-ftp-search\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"M21 21l-4.35-4.35\"/></svg>\r\n <input type=\"text\" placeholder=\"Search...\" [(ngModel)]=\"section.searchQuery\" (ngModelChange)=\"onSectionSearch(section)\" />\r\n </div>\r\n\r\n <label class=\"ug-ftp-item ug-ftp-select-all\">\r\n <input type=\"checkbox\" [checked]=\"isSectionAllSelected(section)\" (change)=\"toggleSectionAll(section)\" />\r\n <span>(Select All)</span>\r\n </label>\r\n\r\n <div class=\"ug-ftp-values\">\r\n <cdk-virtual-scroll-viewport itemSize=\"28\" class=\"ug-ftp-viewport\">\r\n <label class=\"ug-ftp-item\" *cdkVirtualFor=\"let val of section.displayValues\">\r\n <input type=\"checkbox\" [checked]=\"section.selectedValues.has(val)\" (change)=\"toggleValue(section, val)\" />\r\n <span>{{ val === null || val === undefined || val === '' ? '(Blanks)' : val }}</span>\r\n </label>\r\n </cdk-virtual-scroll-viewport>\r\n <div class=\"ug-ftp-empty\" *ngIf=\"section.displayValues.length === 0\">\r\n No values found\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./filter-tool-panel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FilterToolPanelComponent implements OnChanges {\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Input() rowData: any[] = [];\r\n @Input() activeFilters: Map<string, Set<any>> = new Map();\r\n @Input() conditionFilters: Map<string, ColumnConditionFilter> = new Map();\r\n @Input() savedReportNames: string[] = [];\r\n\r\n @Output() filterApplied = new EventEmitter<{ field: string, selected: Set<any> }>();\r\n @Output() conditionFilterChanged = new EventEmitter<{ field: string, filter: ColumnConditionFilter | null }>();\r\n @Output() clearAllFilters = new EventEmitter<void>();\r\n @Output() saveReportRequested = new EventEmitter<string>();\r\n @Output() loadReportRequested = new EventEmitter<string>();\r\n\r\n sections: FilterSection[] = [];\r\n private _loadedFields = new Set<string>();\r\n\r\n constructor(private cdr: ChangeDetectorRef) { }\r\n\r\n get hasAnyActiveFilter(): boolean {\r\n return this.sections.some(s => s.hasActiveFilter || s.hasConditionFilter);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['columns']) {\r\n this.buildSections();\r\n }\r\n\r\n if (changes['activeFilters']) {\r\n this.syncActiveFilters();\r\n }\r\n\r\n if (changes['conditionFilters']) {\r\n this.syncConditionFilters();\r\n }\r\n\r\n if (changes['rowData'] && !changes['rowData'].firstChange) {\r\n this._loadedFields.clear();\r\n this.sections.forEach(s => {\r\n if (s.expanded) {\r\n this.ensureSectionLoaded(s);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private buildSections() {\r\n const oldStateMap = new Map<string, FilterSection>();\r\n for (const s of this.sections) {\r\n oldStateMap.set(s.column.field, s);\r\n }\r\n\r\n this._loadedFields.clear();\r\n\r\n this.sections = this.columns\r\n .map(col => {\r\n const existing = this.activeFilters.get(col.field);\r\n const hasActive = !!existing && existing.size > 0;\r\n const old = oldStateMap.get(col.field);\r\n\r\n // Auto-detect if column is numeric from first non-null value\r\n const isNumeric = this.detectNumericColumn(col.field);\r\n const filterOptions = isNumeric ? NUMBER_FILTER_OPTIONS : TEXT_FILTER_OPTIONS;\r\n\r\n const section: FilterSection = {\r\n column: col,\r\n expanded: old ? old.expanded : false,\r\n searchQuery: old ? old.searchQuery : '',\r\n uniqueValues: [],\r\n displayValues: [],\r\n selectedValues: new Set(),\r\n hasActiveFilter: hasActive,\r\n filterOptions: filterOptions,\r\n cond1Type: old ? old.cond1Type : (isNumeric ? 'equals' : 'contains'),\r\n cond1Value: old ? old.cond1Value : '',\r\n cond1ValueTo: old ? old.cond1ValueTo : '',\r\n condOperator: old ? old.condOperator : 'AND',\r\n cond2Type: old ? old.cond2Type : (isNumeric ? 'equals' : 'contains'),\r\n cond2Value: old ? old.cond2Value : '',\r\n cond2ValueTo: old ? old.cond2ValueTo : '',\r\n hasConditionFilter: old ? old.hasConditionFilter : false\r\n };\r\n\r\n if (section.expanded) {\r\n this.ensureSectionLoaded(section);\r\n }\r\n\r\n return section;\r\n });\r\n }\r\n\r\n private detectNumericColumn(field: string): boolean {\r\n // Sample first 10 non-null values to detect type\r\n let count = 0;\r\n for (let i = 0; i < this.rowData.length && count < 10; i++) {\r\n const val = this.rowData[i][field];\r\n if (val !== null && val !== undefined && val !== '') {\r\n if (typeof val === 'number') return true;\r\n // Check if string looks like a number (but not \"$...\" formatted)\r\n const str = String(val);\r\n if (str.startsWith('$')) {\r\n // Currency — treat as number\r\n const numPart = str.replace(/[$,]/g, '');\r\n if (!isNaN(Number(numPart))) return true;\r\n }\r\n if (!isNaN(Number(str))) return true;\r\n count++;\r\n if (count >= 3) return false; // 3 non-numeric strings = text column\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private ensureSectionLoaded(section: FilterSection) {\r\n if (this._loadedFields.has(section.column.field)) return;\r\n this._loadedFields.add(section.column.field);\r\n\r\n const field = section.column.field;\r\n const uniqueSet = new Set<any>();\r\n\r\n for (let i = 0; i < this.rowData.length; i++) {\r\n uniqueSet.add(this.rowData[i][field]);\r\n }\r\n\r\n section.uniqueValues = Array.from(uniqueSet).sort((a, b) => {\r\n if (a === null || a === undefined || a === '') return -1;\r\n if (b === null || b === undefined || b === '') return 1;\r\n return a > b ? 1 : -1;\r\n });\r\n\r\n const existing = this.activeFilters.get(field);\r\n if (existing && existing.size > 0) {\r\n section.selectedValues = new Set(existing);\r\n } else {\r\n section.selectedValues = new Set(section.uniqueValues);\r\n }\r\n\r\n section.displayValues = [...section.uniqueValues];\r\n\r\n if (section.searchQuery) {\r\n this.applySearchOnSection(section);\r\n }\r\n }\r\n\r\n private syncActiveFilters() {\r\n for (const section of this.sections) {\r\n const existing = this.activeFilters.get(section.column.field);\r\n const hasActive = !!existing && existing.size > 0;\r\n section.hasActiveFilter = hasActive;\r\n\r\n if (this._loadedFields.has(section.column.field)) {\r\n if (hasActive) {\r\n section.selectedValues = new Set(existing);\r\n } else {\r\n section.selectedValues = new Set(section.uniqueValues);\r\n }\r\n }\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n\r\n private syncConditionFilters() {\r\n for (const section of this.sections) {\r\n const filter = this.conditionFilters.get(section.column.field);\r\n if (filter) {\r\n section.cond1Type = filter.condition1.type;\r\n section.cond1Value = filter.condition1.value || '';\r\n section.cond1ValueTo = filter.condition1.valueTo || '';\r\n section.condOperator = filter.operator;\r\n if (filter.condition2) {\r\n section.cond2Type = filter.condition2.type;\r\n section.cond2Value = filter.condition2.value || '';\r\n section.cond2ValueTo = filter.condition2.valueTo || '';\r\n } else {\r\n section.cond2Value = '';\r\n section.cond2ValueTo = '';\r\n }\r\n section.hasConditionFilter = true;\r\n } else {\r\n section.hasConditionFilter = false;\r\n // Don't necessarily reset values to avoid flickering if user is typing\r\n }\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n\r\n // --- Condition Filter Logic ---\r\n\r\n onConditionChanged(section: FilterSection) {\r\n const hasCond1 = section.cond1Type === 'blank' || section.cond1Type === 'notBlank' ||\r\n (section.cond1Value.trim() !== '' && (section.cond1Type !== 'inRange' || section.cond1ValueTo.trim() !== ''));\r\n const hasCond2 = section.cond2Type === 'blank' || section.cond2Type === 'notBlank' ||\r\n (section.cond2Value.trim() !== '' && (section.cond2Type !== 'inRange' || section.cond2ValueTo.trim() !== ''));\r\n\r\n if (!hasCond1 && !hasCond2) {\r\n section.hasConditionFilter = false;\r\n this.conditionFilterChanged.emit({ field: section.column.field, filter: null });\r\n return;\r\n }\r\n\r\n section.hasConditionFilter = true;\r\n\r\n const filter: ColumnConditionFilter = {\r\n condition1: { type: section.cond1Type, value: section.cond1Value, valueTo: section.cond1ValueTo },\r\n operator: section.condOperator,\r\n condition2: hasCond2 ? { type: section.cond2Type, value: section.cond2Value, valueTo: section.cond2ValueTo } : undefined\r\n };\r\n\r\n this.conditionFilterChanged.emit({ field: section.column.field, filter });\r\n }\r\n\r\n // --- Accordion Controls ---\r\n\r\n toggleSection(section: FilterSection) {\r\n section.expanded = !section.expanded;\r\n if (section.expanded) {\r\n this.ensureSectionLoaded(section);\r\n }\r\n }\r\n\r\n expandAll() {\r\n this.sections.forEach(s => {\r\n s.expanded = true;\r\n this.ensureSectionLoaded(s);\r\n });\r\n }\r\n\r\n collapseAll() {\r\n this.sections.forEach(s => s.expanded = false);\r\n }\r\n\r\n // --- Search ---\r\n\r\n onSectionSearch(section: FilterSection) {\r\n this.applySearchOnSection(section);\r\n }\r\n\r\n private applySearchOnSection(section: FilterSection) {\r\n if (!section.searchQuery) {\r\n section.displayValues = [...section.uniqueValues];\r\n } else {\r\n const q = section.searchQuery.toLowerCase();\r\n section.displayValues = section.uniqueValues.filter(v =>\r\n String(v).toLowerCase().includes(q)\r\n );\r\n }\r\n }\r\n\r\n // --- Checkbox Logic ---\r\n\r\n isSectionAllSelected(section: FilterSection): boolean {\r\n if (section.displayValues.length === 0) return false;\r\n return section.displayValues.every(v => section.selectedValues.has(v));\r\n }\r\n\r\n toggleSectionAll(section: FilterSection) {\r\n const targetState = !this.isSectionAllSelected(section);\r\n if (targetState) {\r\n section.displayValues.forEach(v => section.selectedValues.add(v));\r\n } else {\r\n section.displayValues.forEach(v => section.selectedValues.delete(v));\r\n }\r\n this.emitFilter(section);\r\n }\r\n\r\n toggleValue(section: FilterSection, val: any) {\r\n if (section.selectedValues.has(val)) {\r\n section.selectedValues.delete(val);\r\n } else {\r\n section.selectedValues.add(val);\r\n }\r\n this.emitFilter(section);\r\n }\r\n\r\n private emitFilter(section: FilterSection) {\r\n let isAllSelected = true;\r\n for (const v of section.uniqueValues) {\r\n if (!section.selectedValues.has(v)) {\r\n isAllSelected = false;\r\n break;\r\n }\r\n }\r\n\r\n section.hasActiveFilter = !isAllSelected;\r\n\r\n const finalSet = isAllSelected ? new Set<any>() : new Set(section.selectedValues);\r\n this.filterApplied.emit({ field: section.column.field, selected: finalSet });\r\n }\r\n\r\n // --- Clear All ---\r\n\r\n onClearAll() {\r\n for (const section of this.sections) {\r\n if (this._loadedFields.has(section.column.field)) {\r\n section.selectedValues = new Set(section.uniqueValues);\r\n section.displayValues = [...section.uniqueValues];\r\n }\r\n section.hasActiveFilter = false;\r\n section.searchQuery = '';\r\n // Reset condition filters\r\n section.cond1Value = '';\r\n section.cond2Value = '';\r\n section.cond2ValueTo = '';\r\n section.cond1ValueTo = '';\r\n section.hasConditionFilter = false;\r\n }\r\n this.clearAllFilters.emit();\r\n }\r\n\r\n trackByField(index: number, section: FilterSection): string {\r\n return section.column.field;\r\n }\r\n\r\n onSaveReportPrompt() {\r\n const name = prompt('Enter a name for this report:');\r\n if (name && name.trim()) {\r\n this.saveReportRequested.emit(name.trim());\r\n }\r\n }\r\n\r\n onLoadReportSelected(event: Event) {\r\n const select = event.target as HTMLSelectElement;\r\n const name = select.value;\r\n if (name) {\r\n this.loadReportRequested.emit(name);\r\n select.value = ''; // Reset so it can be re-selected if needed\r\n }\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, inject } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ColumnToolPanelComponent } from '../column-tool-panel/column-tool-panel.component';\r\nimport { FilterToolPanelComponent } from '../filter-tool-panel/filter-tool-panel.component';\r\nimport { UltraGridColumn, ValueColumnModel } from '../../models/column.model';\r\nimport { ColumnConditionFilter } from '../../models/filter.model';\r\n\r\n@Component({\r\n selector: 'ug-side-bar',\r\n standalone: true,\r\n imports: [CommonModule, ColumnToolPanelComponent, FilterToolPanelComponent],\r\n template: `\r\n <div class=\"ug-side-bar-wrapper\">\r\n <!-- Content Area -->\r\n <div class=\"ug-side-bar-content\" *ngIf=\"activeTab\">\r\n <div class=\"ug-side-bar-header\">\r\n <span class=\"ug-side-bar-title\">{{ activeTab === 'columns' ? 'Columns' : 'Filters' }}</span>\r\n <span class=\"ug-side-bar-close\" (click)=\"closePanel()\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line></svg>\r\n </span>\r\n </div>\r\n \r\n <div class=\"ug-side-bar-body\">\r\n <ug-column-tool-panel \r\n *ngIf=\"activeTab === 'columns'\"\r\n [columns]=\"columns\"\r\n [groupModel]=\"groupModel\"\r\n [valuesModel]=\"valuesModel\"\r\n [pivotMode]=\"pivotMode\"\r\n [pivotColumns]=\"pivotColumns\"\r\n (columnsUpdated)=\"onColumnsChanged($event)\"\r\n (groupModelChanged)=\"onGroupModelChanged($event)\"\r\n (valuesModelChanged)=\"onValuesModelChanged($event)\"\r\n (pivotModeChanged)=\"onPivotModeChanged($event)\"\r\n (pivotModelChanged)=\"onPivotModelChanged($event)\"\r\n (exportExcelClicked)=\"onExportExcelClicked()\">\r\n </ug-column-tool-panel>\r\n\r\n <ug-filter-tool-panel\r\n *ngIf=\"activeTab === 'filters'\"\r\n [columns]=\"columns\"\r\n [rowData]=\"rowData\"\r\n [activeFilters]=\"activeFilters\"\r\n [conditionFilters]=\"conditionFilters\"\r\n [savedReportNames]=\"savedReportNames\"\r\n (filterApplied)=\"onFilterApplied($event)\"\r\n (conditionFilterChanged)=\"onConditionFilterChanged($event)\"\r\n (clearAllFilters)=\"onClearAllFilters()\"\r\n (saveReportRequested)=\"saveReportRequested.emit($event)\"\r\n (loadReportRequested)=\"loadReportRequested.emit($event)\">\r\n </ug-filter-tool-panel>\r\n </div>\r\n </div>\r\n\r\n <!-- Toolbar / Tabs -->\r\n <div class=\"ug-side-bar-toolbar\">\r\n <div class=\"ug-side-bar-tab\" [class.active]=\"activeTab === 'columns'\" (click)=\"toggleTab('columns')\" title=\"Columns\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>\r\n <line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\"></line>\r\n </svg>\r\n <span>Columns</span>\r\n </div>\r\n <div class=\"ug-side-bar-tab\" [class.active]=\"activeTab === 'filters'\" (click)=\"toggleTab('filters')\" title=\"Filters\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <polygon points=\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"></polygon>\r\n </svg>\r\n <span>Filters</span>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./side-bar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SideBarComponent {\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Input() rowData: any[] = [];\r\n @Input() activeFilters: Map<string, Set<any>> = new Map();\r\n @Input() conditionFilters: Map<string, ColumnConditionFilter> = new Map();\r\n @Input() groupModel: string[] = [];\r\n @Input() valuesModel: ValueColumnModel[] = [];\r\n @Input() pivotMode: boolean = false;\r\n @Input() pivotColumns: string[] = [];\r\n @Input() savedReportNames: string[] = [];\r\n\r\n @Output() columnsUpdated = new EventEmitter<UltraGridColumn[]>();\r\n @Output() groupModelUpdated = new EventEmitter<string[]>();\r\n @Output() valuesModelUpdated = new EventEmitter<ValueColumnModel[]>();\r\n @Output() pivotModeUpdated = new EventEmitter<boolean>();\r\n @Output() pivotModelUpdated = new EventEmitter<string[]>();\r\n @Output() exportExcelClicked = new EventEmitter<void>();\r\n @Output() filterApplied = new EventEmitter<{ field: string, selected: Set<any> }>();\r\n @Output() conditionFilterChanged = new EventEmitter<{ field: string, filter: ColumnConditionFilter | null }>();\r\n @Output() clearAllFilters = new EventEmitter<void>();\r\n @Output() saveReportRequested = new EventEmitter<string>();\r\n @Output() loadReportRequested = new EventEmitter<string>();\r\n\r\n activeTab: 'columns' | 'filters' | null = 'columns'; // Open by default for demo parity\r\n private cdr = inject(ChangeDetectorRef);\r\n\r\n toggleTab(tab: 'columns' | 'filters') {\r\n console.log('Sidebar toggleTab requested:', tab, 'Current:', this.activeTab);\r\n if (this.activeTab === tab) {\r\n this.activeTab = null;\r\n } else {\r\n this.activeTab = tab;\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n\r\n closePanel() {\r\n this.activeTab = null;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onColumnsChanged(updatedCols: UltraGridColumn[]) {\r\n this.columnsUpdated.emit(updatedCols);\r\n }\r\n\r\n onGroupModelChanged(model: string[]) {\r\n this.groupModelUpdated.emit(model);\r\n }\r\n\r\n onExportExcelClicked() {\r\n this.exportExcelClicked.emit();\r\n }\r\n\r\n onFilterApplied(event: { field: string, selected: Set<any> }) {\r\n this.filterApplied.emit(event);\r\n }\r\n\r\n onClearAllFilters() {\r\n this.clearAllFilters.emit();\r\n }\r\n\r\n onConditionFilterChanged(event: { field: string, filter: ColumnConditionFilter | null }) {\r\n this.conditionFilterChanged.emit(event);\r\n }\r\n\r\n onValuesModelChanged(model: ValueColumnModel[]) {\r\n this.valuesModelUpdated.emit(model);\r\n }\r\n\r\n onPivotModeChanged(enabled: boolean) {\r\n this.pivotModeUpdated.emit(enabled);\r\n }\r\n\r\n onPivotModelChanged(model: string[]) {\r\n this.pivotModelUpdated.emit(model);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UltraGridNode, UltraGridGroupNode, UltraGridGroupFooterNode } from '../models/row.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class GridFlattenerService {\r\n\r\n flatten(nodes: UltraGridNode[], groupStateMap: Map<string, boolean>, groupIncludeFooter: boolean = false): UltraGridNode[] {\r\n const result: UltraGridNode[] = [];\r\n this.traverse(nodes, groupStateMap, groupIncludeFooter, result);\r\n return result;\r\n }\r\n\r\n private traverse(nodes: UltraGridNode[], stateMap: Map<string, boolean>, groupIncludeFooter: boolean, result: UltraGridNode[]) {\r\n for (const node of nodes) {\r\n // Push the current node (could be a group header or a leaf)\r\n result.push(node);\r\n\r\n // If it's a group node, only push its children if it is explicitly expanded in the state map\r\n if (node.type === 'group') {\r\n const groupNode = node as UltraGridGroupNode;\r\n const isExpanded = stateMap.get(groupNode.id as string);\r\n\r\n if (isExpanded) {\r\n if (groupNode.children && groupNode.children.length > 0) {\r\n this.traverse(groupNode.children, stateMap, groupIncludeFooter, result);\r\n }\r\n\r\n if (groupIncludeFooter) {\r\n const footerNode: UltraGridGroupFooterNode = {\r\n id: `${groupNode.id}-footer`,\r\n type: 'group-footer',\r\n level: groupNode.level,\r\n parent: groupNode.parent,\r\n groupField: groupNode.groupField,\r\n groupKey: groupNode.groupKey,\r\n data: { ...groupNode.data } // Copy aggregated data\r\n };\r\n result.push(footerNode);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","// AUTO-GENERATED FILE. DO NOT EDIT.\n// Built from src/lib/workers/excel.worker.ts\nexport const EXCEL_WORKER_CODE = `\"use strict\";(()=>{var Ct={};Ct.version=\"0.18.5\";var Gr=1200,ut=1252,Yi=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4],Ji={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969},sn=function(e){Yi.indexOf(e)!=-1&&(ut=Ji[0]=e)};function qi(){sn(1252)}var Dt=function(e){Gr=e,sn(e)};function Zi(){Dt(1200),qi()}function Qi(e){for(var t=[],r=0;r<e.length>>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r+1)+(e.charCodeAt(2*r)<<8));return t.join(\"\")}var Vt=function(t){return String.fromCharCode(t)},_0=function(t){return String.fromCharCode(t)},ke;var Er=null,wt=!0,br=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";function Ot(e){for(var t=\"\",r=0,a=0,n=0,i=0,s=0,f=0,o=0,c=0;c<e.length;)r=e.charCodeAt(c++),i=r>>2,a=e.charCodeAt(c++),s=(r&3)<<4|a>>4,n=e.charCodeAt(c++),f=(a&15)<<2|n>>6,o=n&63,isNaN(a)?f=o=64:isNaN(n)&&(o=64),t+=br.charAt(i)+br.charAt(s)+br.charAt(f)+br.charAt(o);return t}function Or(e){var t=\"\",r=0,a=0,n=0,i=0,s=0,f=0,o=0;e=e.replace(/[^\\\\w\\\\+\\\\/\\\\=]/g,\"\");for(var c=0;c<e.length;)i=br.indexOf(e.charAt(c++)),s=br.indexOf(e.charAt(c++)),r=i<<2|s>>4,t+=String.fromCharCode(r),f=br.indexOf(e.charAt(c++)),a=(s&15)<<4|f>>2,f!==64&&(t+=String.fromCharCode(a)),o=br.indexOf(e.charAt(c++)),n=(f&3)<<6|o,o!==64&&(t+=String.fromCharCode(n));return t}var xe=(function(){return typeof Buffer<\"u\"&&typeof process<\"u\"&&typeof process.versions<\"u\"&&!!process.versions.node})(),Rr=(function(){if(typeof Buffer<\"u\"){var e=!Buffer.from;if(!e)try{Buffer.from(\"foo\",\"utf8\")}catch{e=!0}return e?function(t,r){return r?new Buffer(t,r):new Buffer(t)}:Buffer.from.bind(Buffer)}return function(){}})();function \\$r(e){return xe?Buffer.alloc?Buffer.alloc(e):new Buffer(e):typeof Uint8Array<\"u\"?new Uint8Array(e):new Array(e)}function w0(e){return xe?Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e):typeof Uint8Array<\"u\"?new Uint8Array(e):new Array(e)}var pr=function(t){return xe?Rr(t,\"binary\"):t.split(\"\").map(function(r){return r.charCodeAt(0)&255})};function la(e){if(typeof ArrayBuffer>\"u\")return pr(e);for(var t=new ArrayBuffer(e.length),r=new Uint8Array(t),a=0;a!=e.length;++a)r[a]=e.charCodeAt(a)&255;return t}function Pt(e){if(Array.isArray(e))return e.map(function(a){return String.fromCharCode(a)}).join(\"\");for(var t=[],r=0;r<e.length;++r)t[r]=String.fromCharCode(e[r]);return t.join(\"\")}function es(e){if(typeof Uint8Array>\"u\")throw new Error(\"Unsupported\");return new Uint8Array(e)}var Ve=xe?function(e){return Buffer.concat(e.map(function(t){return Buffer.isBuffer(t)?t:Rr(t)}))}:function(e){if(typeof Uint8Array<\"u\"){var t=0,r=0;for(t=0;t<e.length;++t)r+=e[t].length;var a=new Uint8Array(r),n=0;for(t=0,r=0;t<e.length;r+=n,++t)if(n=e[t].length,e[t]instanceof Uint8Array)a.set(e[t],r);else{if(typeof e[t]==\"string\")throw\"wtf\";a.set(new Uint8Array(e[t]),r)}return a}return[].concat.apply([],e.map(function(i){return Array.isArray(i)?i:[].slice.call(i)}))};function rs(e){for(var t=[],r=0,a=e.length+250,n=\\$r(e.length+255),i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s<128)n[r++]=s;else if(s<2048)n[r++]=192|s>>6&31,n[r++]=128|s&63;else if(s>=55296&&s<57344){s=(s&1023)+64;var f=e.charCodeAt(++i)&1023;n[r++]=240|s>>8&7,n[r++]=128|s>>2&63,n[r++]=128|f>>6&15|(s&3)<<4,n[r++]=128|f&63}else n[r++]=224|s>>12&15,n[r++]=128|s>>6&63,n[r++]=128|s&63;r>a&&(t.push(n.slice(0,r)),r=0,n=\\$r(65535),a=65530)}return t.push(n.slice(0,r)),Ve(t)}var st=/\\\\u0000/g,Xt=/[\\\\u0001-\\\\u0006]/g;function ft(e){for(var t=\"\",r=e.length-1;r>=0;)t+=e.charAt(r--);return t}function mr(e,t){var r=\"\"+e;return r.length>=t?r:Fe(\"0\",t-r.length)+r}function Ba(e,t){var r=\"\"+e;return r.length>=t?r:Fe(\" \",t-r.length)+r}function qt(e,t){var r=\"\"+e;return r.length>=t?r:r+Fe(\" \",t-r.length)}function ts(e,t){var r=\"\"+Math.round(e);return r.length>=t?r:Fe(\"0\",t-r.length)+r}function as(e,t){var r=\"\"+e;return r.length>=t?r:Fe(\"0\",t-r.length)+r}var k0=Math.pow(2,32);function rt(e,t){if(e>k0||e<-k0)return ts(e,t);var r=Math.round(e);return as(r,t)}function Zt(e,t){return t=t||0,e.length>=7+t&&(e.charCodeAt(t)|32)===103&&(e.charCodeAt(t+1)|32)===101&&(e.charCodeAt(t+2)|32)===110&&(e.charCodeAt(t+3)|32)===101&&(e.charCodeAt(t+4)|32)===114&&(e.charCodeAt(t+5)|32)===97&&(e.charCodeAt(t+6)|32)===108}var E0=[[\"Sun\",\"Sunday\"],[\"Mon\",\"Monday\"],[\"Tue\",\"Tuesday\"],[\"Wed\",\"Wednesday\"],[\"Thu\",\"Thursday\"],[\"Fri\",\"Friday\"],[\"Sat\",\"Saturday\"]],Fa=[[\"J\",\"Jan\",\"January\"],[\"F\",\"Feb\",\"February\"],[\"M\",\"Mar\",\"March\"],[\"A\",\"Apr\",\"April\"],[\"M\",\"May\",\"May\"],[\"J\",\"Jun\",\"June\"],[\"J\",\"Jul\",\"July\"],[\"A\",\"Aug\",\"August\"],[\"S\",\"Sep\",\"September\"],[\"O\",\"Oct\",\"October\"],[\"N\",\"Nov\",\"November\"],[\"D\",\"Dec\",\"December\"]];function ns(e){return e||(e={}),e[0]=\"General\",e[1]=\"0\",e[2]=\"0.00\",e[3]=\"#,##0\",e[4]=\"#,##0.00\",e[9]=\"0%\",e[10]=\"0.00%\",e[11]=\"0.00E+00\",e[12]=\"# ?/?\",e[13]=\"# ??/??\",e[14]=\"m/d/yy\",e[15]=\"d-mmm-yy\",e[16]=\"d-mmm\",e[17]=\"mmm-yy\",e[18]=\"h:mm AM/PM\",e[19]=\"h:mm:ss AM/PM\",e[20]=\"h:mm\",e[21]=\"h:mm:ss\",e[22]=\"m/d/yy h:mm\",e[37]=\"#,##0 ;(#,##0)\",e[38]=\"#,##0 ;[Red](#,##0)\",e[39]=\"#,##0.00;(#,##0.00)\",e[40]=\"#,##0.00;[Red](#,##0.00)\",e[45]=\"mm:ss\",e[46]=\"[h]:mm:ss\",e[47]=\"mmss.0\",e[48]=\"##0.0E+0\",e[49]=\"@\",e[56]='\"\\\\u4E0A\\\\u5348/\\\\u4E0B\\\\u5348 \"hh\"\\\\u6642\"mm\"\\\\u5206\"ss\"\\\\u79D2 \"',e}var ye={0:\"General\",1:\"0\",2:\"0.00\",3:\"#,##0\",4:\"#,##0.00\",9:\"0%\",10:\"0.00%\",11:\"0.00E+00\",12:\"# ?/?\",13:\"# ??/??\",14:\"m/d/yy\",15:\"d-mmm-yy\",16:\"d-mmm\",17:\"mmm-yy\",18:\"h:mm AM/PM\",19:\"h:mm:ss AM/PM\",20:\"h:mm\",21:\"h:mm:ss\",22:\"m/d/yy h:mm\",37:\"#,##0 ;(#,##0)\",38:\"#,##0 ;[Red](#,##0)\",39:\"#,##0.00;(#,##0.00)\",40:\"#,##0.00;[Red](#,##0.00)\",45:\"mm:ss\",46:\"[h]:mm:ss\",47:\"mmss.0\",48:\"##0.0E+0\",49:\"@\",56:'\"\\\\u4E0A\\\\u5348/\\\\u4E0B\\\\u5348 \"hh\"\\\\u6642\"mm\"\\\\u5206\"ss\"\\\\u79D2 \"'},T0={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0},is={5:'\"\\$\"#,##0_);\\\\\\\\(\"\\$\"#,##0\\\\\\\\)',63:'\"\\$\"#,##0_);\\\\\\\\(\"\\$\"#,##0\\\\\\\\)',6:'\"\\$\"#,##0_);[Red]\\\\\\\\(\"\\$\"#,##0\\\\\\\\)',64:'\"\\$\"#,##0_);[Red]\\\\\\\\(\"\\$\"#,##0\\\\\\\\)',7:'\"\\$\"#,##0.00_);\\\\\\\\(\"\\$\"#,##0.00\\\\\\\\)',65:'\"\\$\"#,##0.00_);\\\\\\\\(\"\\$\"#,##0.00\\\\\\\\)',8:'\"\\$\"#,##0.00_);[Red]\\\\\\\\(\"\\$\"#,##0.00\\\\\\\\)',66:'\"\\$\"#,##0.00_);[Red]\\\\\\\\(\"\\$\"#,##0.00\\\\\\\\)',41:'_(* #,##0_);_(* \\\\\\\\(#,##0\\\\\\\\);_(* \"-\"_);_(@_)',42:'_(\"\\$\"* #,##0_);_(\"\\$\"* \\\\\\\\(#,##0\\\\\\\\);_(\"\\$\"* \"-\"_);_(@_)',43:'_(* #,##0.00_);_(* \\\\\\\\(#,##0.00\\\\\\\\);_(* \"-\"??_);_(@_)',44:'_(\"\\$\"* #,##0.00_);_(\"\\$\"* \\\\\\\\(#,##0.00\\\\\\\\);_(\"\\$\"* \"-\"??_);_(@_)'};function Qt(e,t,r){for(var a=e<0?-1:1,n=e*a,i=0,s=1,f=0,o=1,c=0,l=0,v=Math.floor(n);c<t&&(v=Math.floor(n),f=v*s+i,l=v*c+o,!(n-v<5e-8));)n=1/(n-v),i=s,s=f,o=c,c=l;if(l>t&&(c>t?(l=o,f=i):(l=c,f=s)),!r)return[0,a*f,l];var h=Math.floor(a*f/l);return[h,a*f-h*l,l]}function Gt(e,t,r){if(e>2958465||e<0)return null;var a=e|0,n=Math.floor(86400*(e-a)),i=0,s=[],f={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(f.u)<1e-6&&(f.u=0),t&&t.date1904&&(a+=1462),f.u>.9999&&(f.u=0,++n==86400&&(f.T=n=0,++a,++f.D)),a===60)s=r?[1317,10,29]:[1900,2,29],i=3;else if(a===0)s=r?[1317,8,29]:[1900,1,0],i=6;else{a>60&&--a;var o=new Date(1900,0,1);o.setDate(o.getDate()+a-1),s=[o.getFullYear(),o.getMonth()+1,o.getDate()],i=o.getDay(),a<60&&(i=(i+6)%7),r&&(i=hs(o,s))}return f.y=s[0],f.m=s[1],f.d=s[2],f.S=n%60,n=Math.floor(n/60),f.M=n%60,n=Math.floor(n/60),f.H=n,f.q=i,f}var fn=new Date(1899,11,31,0,0,0),ss=fn.getTime(),fs=new Date(1900,2,1,0,0,0);function cn(e,t){var r=e.getTime();return t?r-=1461*24*60*60*1e3:e>=fs&&(r+=1440*60*1e3),(r-(ss+(e.getTimezoneOffset()-fn.getTimezoneOffset())*6e4))/(1440*60*1e3)}function Ma(e){return e.indexOf(\".\")==-1?e:e.replace(/(?:\\\\.0*|(\\\\.\\\\d*[1-9])0+)\\$/,\"\\$1\")}function cs(e){return e.indexOf(\"E\")==-1?e:e.replace(/(?:\\\\.0*|(\\\\.\\\\d*[1-9])0+)[Ee]/,\"\\$1E\").replace(/(E[+-])(\\\\d)\\$/,\"\\$10\\$2\")}function os(e){var t=e<0?12:11,r=Ma(e.toFixed(12));return r.length<=t||(r=e.toPrecision(10),r.length<=t)?r:e.toExponential(5)}function ls(e){var t=Ma(e.toFixed(11));return t.length>(e<0?12:11)||t===\"0\"||t===\"-0\"?e.toPrecision(6):t}function us(e){var t=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),r;return t>=-4&&t<=-1?r=e.toPrecision(10+t):Math.abs(t)<=9?r=os(e):t===10?r=e.toFixed(10).substr(0,12):r=ls(e),Ma(cs(r.toUpperCase()))}function Na(e,t){switch(typeof e){case\"string\":return e;case\"boolean\":return e?\"TRUE\":\"FALSE\";case\"number\":return(e|0)===e?e.toString(10):us(e);case\"undefined\":return\"\";case\"object\":if(e==null)return\"\";if(e instanceof Date)return Lr(14,cn(e,t&&t.date1904),t)}throw new Error(\"unsupported value in General format: \"+e)}function hs(e,t){t[0]-=581;var r=e.getDay();return e<60&&(r=(r+6)%7),r}function xs(e,t,r,a){var n=\"\",i=0,s=0,f=r.y,o,c=0;switch(e){case 98:f=r.y+543;case 121:switch(t.length){case 1:case 2:o=f%100,c=2;break;default:o=f%1e4,c=4;break}break;case 109:switch(t.length){case 1:case 2:o=r.m,c=t.length;break;case 3:return Fa[r.m-1][1];case 5:return Fa[r.m-1][0];default:return Fa[r.m-1][2]}break;case 100:switch(t.length){case 1:case 2:o=r.d,c=t.length;break;case 3:return E0[r.q][0];default:return E0[r.q][1]}break;case 104:switch(t.length){case 1:case 2:o=1+(r.H+11)%12,c=t.length;break;default:throw\"bad hour format: \"+t}break;case 72:switch(t.length){case 1:case 2:o=r.H,c=t.length;break;default:throw\"bad hour format: \"+t}break;case 77:switch(t.length){case 1:case 2:o=r.M,c=t.length;break;default:throw\"bad minute format: \"+t}break;case 115:if(t!=\"s\"&&t!=\"ss\"&&t!=\".0\"&&t!=\".00\"&&t!=\".000\")throw\"bad second format: \"+t;return r.u===0&&(t==\"s\"||t==\"ss\")?mr(r.S,t.length):(a>=2?s=a===3?1e3:100:s=a===1?10:1,i=Math.round(s*(r.S+r.u)),i>=60*s&&(i=0),t===\"s\"?i===0?\"0\":\"\"+i/s:(n=mr(i,2+a),t===\"ss\"?n.substr(0,2):\".\"+n.substr(2,t.length-1)));case 90:switch(t){case\"[h]\":case\"[hh]\":o=r.D*24+r.H;break;case\"[m]\":case\"[mm]\":o=(r.D*24+r.H)*60+r.M;break;case\"[s]\":case\"[ss]\":o=((r.D*24+r.H)*60+r.M)*60+Math.round(r.S+r.u);break;default:throw\"bad abstime format: \"+t}c=t.length===3?1:2;break;case 101:o=f,c=1;break}var l=c>0?mr(o,c):\"\";return l}function Pr(e){var t=3;if(e.length<=t)return e;for(var r=e.length%t,a=e.substr(0,r);r!=e.length;r+=t)a+=(a.length>0?\",\":\"\")+e.substr(r,t);return a}var on=/%/g;function ds(e,t,r){var a=t.replace(on,\"\"),n=t.length-a.length;return Ar(e,a,r*Math.pow(10,2*n))+Fe(\"%\",n)}function vs(e,t,r){for(var a=t.length-1;t.charCodeAt(a-1)===44;)--a;return Ar(e,t.substr(0,a),r/Math.pow(10,3*(t.length-a)))}function ln(e,t){var r,a=e.indexOf(\"E\")-e.indexOf(\".\")-1;if(e.match(/^#+0.0E\\\\+0\\$/)){if(t==0)return\"0.0E+0\";if(t<0)return\"-\"+ln(e,-t);var n=e.indexOf(\".\");n===-1&&(n=e.indexOf(\"E\"));var i=Math.floor(Math.log(t)*Math.LOG10E)%n;if(i<0&&(i+=n),r=(t/Math.pow(10,i)).toPrecision(a+1+(n+i)%n),r.indexOf(\"e\")===-1){var s=Math.floor(Math.log(t)*Math.LOG10E);for(r.indexOf(\".\")===-1?r=r.charAt(0)+\".\"+r.substr(1)+\"E+\"+(s-r.length+i):r+=\"E+\"+(s-i);r.substr(0,2)===\"0.\";)r=r.charAt(0)+r.substr(2,n)+\".\"+r.substr(2+n),r=r.replace(/^0+([1-9])/,\"\\$1\").replace(/^0+\\\\./,\"0.\");r=r.replace(/\\\\+-/,\"-\")}r=r.replace(/^([+-]?)(\\\\d*)\\\\.(\\\\d*)[Ee]/,function(f,o,c,l){return o+c+l.substr(0,(n+i)%n)+\".\"+l.substr(i)+\"E\"})}else r=t.toExponential(a);return e.match(/E\\\\+00\\$/)&&r.match(/e[+-]\\\\d\\$/)&&(r=r.substr(0,r.length-1)+\"0\"+r.charAt(r.length-1)),e.match(/E\\\\-/)&&r.match(/e\\\\+/)&&(r=r.replace(/e\\\\+/,\"e\")),r.replace(\"e\",\"E\")}var un=/# (\\\\?+)( ?)\\\\/( ?)(\\\\d+)/;function ps(e,t,r){var a=parseInt(e[4],10),n=Math.round(t*a),i=Math.floor(n/a),s=n-i*a,f=a;return r+(i===0?\"\":\"\"+i)+\" \"+(s===0?Fe(\" \",e[1].length+1+e[4].length):Ba(s,e[1].length)+e[2]+\"/\"+e[3]+mr(f,e[4].length))}function ms(e,t,r){return r+(t===0?\"\":\"\"+t)+Fe(\" \",e[1].length+2+e[4].length)}var hn=/^#*0*\\\\.([0#]+)/,xn=/\\\\).*[0#]/,dn=/\\\\(###\\\\) ###\\\\\\\\?-####/;function Ye(e){for(var t=\"\",r,a=0;a!=e.length;++a)switch(r=e.charCodeAt(a)){case 35:break;case 63:t+=\" \";break;case 48:t+=\"0\";break;default:t+=String.fromCharCode(r)}return t}function S0(e,t){var r=Math.pow(10,t);return\"\"+Math.round(e*r)/r}function F0(e,t){var r=e-Math.floor(e),a=Math.pow(10,t);return t<(\"\"+Math.round(r*a)).length?0:Math.round(r*a)}function gs(e,t){return t<(\"\"+Math.round((e-Math.floor(e))*Math.pow(10,t))).length?1:0}function _s(e){return e<2147483647&&e>-2147483648?\"\"+(e>=0?e|0:e-1|0):\"\"+Math.floor(e)}function lr(e,t,r){if(e.charCodeAt(0)===40&&!t.match(xn)){var a=t.replace(/\\\\( */,\"\").replace(/ \\\\)/,\"\").replace(/\\\\)/,\"\");return r>=0?lr(\"n\",a,r):\"(\"+lr(\"n\",a,-r)+\")\"}if(t.charCodeAt(t.length-1)===44)return vs(e,t,r);if(t.indexOf(\"%\")!==-1)return ds(e,t,r);if(t.indexOf(\"E\")!==-1)return ln(t,r);if(t.charCodeAt(0)===36)return\"\\$\"+lr(e,t.substr(t.charAt(1)==\" \"?2:1),r);var n,i,s,f,o=Math.abs(r),c=r<0?\"-\":\"\";if(t.match(/^00+\\$/))return c+rt(o,t.length);if(t.match(/^[#?]+\\$/))return n=rt(r,0),n===\"0\"&&(n=\"\"),n.length>t.length?n:Ye(t.substr(0,t.length-n.length))+n;if(i=t.match(un))return ps(i,o,c);if(t.match(/^#+0+\\$/))return c+rt(o,t.length-t.indexOf(\"0\"));if(i=t.match(hn))return n=S0(r,i[1].length).replace(/^([^\\\\.]+)\\$/,\"\\$1.\"+Ye(i[1])).replace(/\\\\.\\$/,\".\"+Ye(i[1])).replace(/\\\\.(\\\\d*)\\$/,function(_,u){return\".\"+u+Fe(\"0\",Ye(i[1]).length-u.length)}),t.indexOf(\"0.\")!==-1?n:n.replace(/^0\\\\./,\".\");if(t=t.replace(/^#+([0.])/,\"\\$1\"),i=t.match(/^(0*)\\\\.(#*)\\$/))return c+S0(o,i[2].length).replace(/\\\\.(\\\\d*[1-9])0*\\$/,\".\\$1\").replace(/^(-?\\\\d*)\\$/,\"\\$1.\").replace(/^0\\\\./,i[1].length?\"0.\":\".\");if(i=t.match(/^#{1,3},##0(\\\\.?)\\$/))return c+Pr(rt(o,0));if(i=t.match(/^#,##0\\\\.([#0]*0)\\$/))return r<0?\"-\"+lr(e,t,-r):Pr(\"\"+(Math.floor(r)+gs(r,i[1].length)))+\".\"+mr(F0(r,i[1].length),i[1].length);if(i=t.match(/^#,#*,#0/))return lr(e,t.replace(/^#,#*,/,\"\"),r);if(i=t.match(/^([0#]+)(\\\\\\\\?-([0#]+))+\\$/))return n=ft(lr(e,t.replace(/[\\\\\\\\-]/g,\"\"),r)),s=0,ft(ft(t.replace(/\\\\\\\\/g,\"\")).replace(/[0#]/g,function(_){return s<n.length?n.charAt(s++):_===\"0\"?\"0\":\"\"}));if(t.match(dn))return n=lr(e,\"##########\",r),\"(\"+n.substr(0,3)+\") \"+n.substr(3,3)+\"-\"+n.substr(6);var l=\"\";if(i=t.match(/^([#0?]+)( ?)\\\\/( ?)([#0?]+)/))return s=Math.min(i[4].length,7),f=Qt(o,Math.pow(10,s)-1,!1),n=\"\"+c,l=Ar(\"n\",i[1],f[1]),l.charAt(l.length-1)==\" \"&&(l=l.substr(0,l.length-1)+\"0\"),n+=l+i[2]+\"/\"+i[3],l=qt(f[2],s),l.length<i[4].length&&(l=Ye(i[4].substr(i[4].length-l.length))+l),n+=l,n;if(i=t.match(/^# ([#0?]+)( ?)\\\\/( ?)([#0?]+)/))return s=Math.min(Math.max(i[1].length,i[4].length),7),f=Qt(o,Math.pow(10,s)-1,!0),c+(f[0]||(f[1]?\"\":\"0\"))+\" \"+(f[1]?Ba(f[1],s)+i[2]+\"/\"+i[3]+qt(f[2],s):Fe(\" \",2*s+1+i[2].length+i[3].length));if(i=t.match(/^[#0?]+\\$/))return n=rt(r,0),t.length<=n.length?n:Ye(t.substr(0,t.length-n.length))+n;if(i=t.match(/^([#0?]+)\\\\.([#0]+)\\$/)){n=\"\"+r.toFixed(Math.min(i[2].length,10)).replace(/([^0])0+\\$/,\"\\$1\"),s=n.indexOf(\".\");var v=t.indexOf(\".\")-s,h=t.length-n.length-v;return Ye(t.substr(0,v)+n+t.substr(t.length-h))}if(i=t.match(/^00,000\\\\.([#0]*0)\\$/))return s=F0(r,i[1].length),r<0?\"-\"+lr(e,t,-r):Pr(_s(r)).replace(/^\\\\d,\\\\d{3}\\$/,\"0\\$&\").replace(/^\\\\d*\\$/,function(_){return\"00,\"+(_.length<3?mr(0,3-_.length):\"\")+_})+\".\"+mr(s,i[1].length);switch(t){case\"###,##0.00\":return lr(e,\"#,##0.00\",r);case\"###,###\":case\"##,###\":case\"#,###\":var d=Pr(rt(o,0));return d!==\"0\"?c+d:\"\";case\"###,###.00\":return lr(e,\"###,##0.00\",r).replace(/^0\\\\./,\".\");case\"#,###.00\":return lr(e,\"#,##0.00\",r).replace(/^0\\\\./,\".\");default:}throw new Error(\"unsupported format |\"+t+\"|\")}function ws(e,t,r){for(var a=t.length-1;t.charCodeAt(a-1)===44;)--a;return Ar(e,t.substr(0,a),r/Math.pow(10,3*(t.length-a)))}function ks(e,t,r){var a=t.replace(on,\"\"),n=t.length-a.length;return Ar(e,a,r*Math.pow(10,2*n))+Fe(\"%\",n)}function vn(e,t){var r,a=e.indexOf(\"E\")-e.indexOf(\".\")-1;if(e.match(/^#+0.0E\\\\+0\\$/)){if(t==0)return\"0.0E+0\";if(t<0)return\"-\"+vn(e,-t);var n=e.indexOf(\".\");n===-1&&(n=e.indexOf(\"E\"));var i=Math.floor(Math.log(t)*Math.LOG10E)%n;if(i<0&&(i+=n),r=(t/Math.pow(10,i)).toPrecision(a+1+(n+i)%n),!r.match(/[Ee]/)){var s=Math.floor(Math.log(t)*Math.LOG10E);r.indexOf(\".\")===-1?r=r.charAt(0)+\".\"+r.substr(1)+\"E+\"+(s-r.length+i):r+=\"E+\"+(s-i),r=r.replace(/\\\\+-/,\"-\")}r=r.replace(/^([+-]?)(\\\\d*)\\\\.(\\\\d*)[Ee]/,function(f,o,c,l){return o+c+l.substr(0,(n+i)%n)+\".\"+l.substr(i)+\"E\"})}else r=t.toExponential(a);return e.match(/E\\\\+00\\$/)&&r.match(/e[+-]\\\\d\\$/)&&(r=r.substr(0,r.length-1)+\"0\"+r.charAt(r.length-1)),e.match(/E\\\\-/)&&r.match(/e\\\\+/)&&(r=r.replace(/e\\\\+/,\"e\")),r.replace(\"e\",\"E\")}function wr(e,t,r){if(e.charCodeAt(0)===40&&!t.match(xn)){var a=t.replace(/\\\\( */,\"\").replace(/ \\\\)/,\"\").replace(/\\\\)/,\"\");return r>=0?wr(\"n\",a,r):\"(\"+wr(\"n\",a,-r)+\")\"}if(t.charCodeAt(t.length-1)===44)return ws(e,t,r);if(t.indexOf(\"%\")!==-1)return ks(e,t,r);if(t.indexOf(\"E\")!==-1)return vn(t,r);if(t.charCodeAt(0)===36)return\"\\$\"+wr(e,t.substr(t.charAt(1)==\" \"?2:1),r);var n,i,s,f,o=Math.abs(r),c=r<0?\"-\":\"\";if(t.match(/^00+\\$/))return c+mr(o,t.length);if(t.match(/^[#?]+\\$/))return n=\"\"+r,r===0&&(n=\"\"),n.length>t.length?n:Ye(t.substr(0,t.length-n.length))+n;if(i=t.match(un))return ms(i,o,c);if(t.match(/^#+0+\\$/))return c+mr(o,t.length-t.indexOf(\"0\"));if(i=t.match(hn))return n=(\"\"+r).replace(/^([^\\\\.]+)\\$/,\"\\$1.\"+Ye(i[1])).replace(/\\\\.\\$/,\".\"+Ye(i[1])),n=n.replace(/\\\\.(\\\\d*)\\$/,function(_,u){return\".\"+u+Fe(\"0\",Ye(i[1]).length-u.length)}),t.indexOf(\"0.\")!==-1?n:n.replace(/^0\\\\./,\".\");if(t=t.replace(/^#+([0.])/,\"\\$1\"),i=t.match(/^(0*)\\\\.(#*)\\$/))return c+(\"\"+o).replace(/\\\\.(\\\\d*[1-9])0*\\$/,\".\\$1\").replace(/^(-?\\\\d*)\\$/,\"\\$1.\").replace(/^0\\\\./,i[1].length?\"0.\":\".\");if(i=t.match(/^#{1,3},##0(\\\\.?)\\$/))return c+Pr(\"\"+o);if(i=t.match(/^#,##0\\\\.([#0]*0)\\$/))return r<0?\"-\"+wr(e,t,-r):Pr(\"\"+r)+\".\"+Fe(\"0\",i[1].length);if(i=t.match(/^#,#*,#0/))return wr(e,t.replace(/^#,#*,/,\"\"),r);if(i=t.match(/^([0#]+)(\\\\\\\\?-([0#]+))+\\$/))return n=ft(wr(e,t.replace(/[\\\\\\\\-]/g,\"\"),r)),s=0,ft(ft(t.replace(/\\\\\\\\/g,\"\")).replace(/[0#]/g,function(_){return s<n.length?n.charAt(s++):_===\"0\"?\"0\":\"\"}));if(t.match(dn))return n=wr(e,\"##########\",r),\"(\"+n.substr(0,3)+\") \"+n.substr(3,3)+\"-\"+n.substr(6);var l=\"\";if(i=t.match(/^([#0?]+)( ?)\\\\/( ?)([#0?]+)/))return s=Math.min(i[4].length,7),f=Qt(o,Math.pow(10,s)-1,!1),n=\"\"+c,l=Ar(\"n\",i[1],f[1]),l.charAt(l.length-1)==\" \"&&(l=l.substr(0,l.length-1)+\"0\"),n+=l+i[2]+\"/\"+i[3],l=qt(f[2],s),l.length<i[4].length&&(l=Ye(i[4].substr(i[4].length-l.length))+l),n+=l,n;if(i=t.match(/^# ([#0?]+)( ?)\\\\/( ?)([#0?]+)/))return s=Math.min(Math.max(i[1].length,i[4].length),7),f=Qt(o,Math.pow(10,s)-1,!0),c+(f[0]||(f[1]?\"\":\"0\"))+\" \"+(f[1]?Ba(f[1],s)+i[2]+\"/\"+i[3]+qt(f[2],s):Fe(\" \",2*s+1+i[2].length+i[3].length));if(i=t.match(/^[#0?]+\\$/))return n=\"\"+r,t.length<=n.length?n:Ye(t.substr(0,t.length-n.length))+n;if(i=t.match(/^([#0]+)\\\\.([#0]+)\\$/)){n=\"\"+r.toFixed(Math.min(i[2].length,10)).replace(/([^0])0+\\$/,\"\\$1\"),s=n.indexOf(\".\");var v=t.indexOf(\".\")-s,h=t.length-n.length-v;return Ye(t.substr(0,v)+n+t.substr(t.length-h))}if(i=t.match(/^00,000\\\\.([#0]*0)\\$/))return r<0?\"-\"+wr(e,t,-r):Pr(\"\"+r).replace(/^\\\\d,\\\\d{3}\\$/,\"0\\$&\").replace(/^\\\\d*\\$/,function(_){return\"00,\"+(_.length<3?mr(0,3-_.length):\"\")+_})+\".\"+mr(0,i[1].length);switch(t){case\"###,###\":case\"##,###\":case\"#,###\":var d=Pr(\"\"+o);return d!==\"0\"?c+d:\"\";default:if(t.match(/\\\\.[0#?]*\\$/))return wr(e,t.slice(0,t.lastIndexOf(\".\")),r)+Ye(t.slice(t.lastIndexOf(\".\")))}throw new Error(\"unsupported format |\"+t+\"|\")}function Ar(e,t,r){return(r|0)===r?wr(e,t,r):lr(e,t,r)}function Es(e){for(var t=[],r=!1,a=0,n=0;a<e.length;++a)switch(e.charCodeAt(a)){case 34:r=!r;break;case 95:case 42:case 92:++a;break;case 59:t[t.length]=e.substr(n,a-n),n=a+1}if(t[t.length]=e.substr(n),r===!0)throw new Error(\"Format |\"+e+\"| unterminated string \");return t}var pn=/\\\\[[HhMmSs\\\\u0E0A\\\\u0E19\\\\u0E17]*\\\\]/;function mn(e){for(var t=0,r=\"\",a=\"\";t<e.length;)switch(r=e.charAt(t)){case\"G\":Zt(e,t)&&(t+=6),t++;break;case'\"':for(;e.charCodeAt(++t)!==34&&t<e.length;);++t;break;case\"\\\\\\\\\":t+=2;break;case\"_\":t+=2;break;case\"@\":++t;break;case\"B\":case\"b\":if(e.charAt(t+1)===\"1\"||e.charAt(t+1)===\"2\")return!0;case\"M\":case\"D\":case\"Y\":case\"H\":case\"S\":case\"E\":case\"m\":case\"d\":case\"y\":case\"h\":case\"s\":case\"e\":case\"g\":return!0;case\"A\":case\"a\":case\"\\\\u4E0A\":if(e.substr(t,3).toUpperCase()===\"A/P\"||e.substr(t,5).toUpperCase()===\"AM/PM\"||e.substr(t,5).toUpperCase()===\"\\\\u4E0A\\\\u5348/\\\\u4E0B\\\\u5348\")return!0;++t;break;case\"[\":for(a=r;e.charAt(t++)!==\"]\"&&t<e.length;)a+=e.charAt(t);if(a.match(pn))return!0;break;case\".\":case\"0\":case\"#\":for(;t<e.length&&(\"0#?.,E+-%\".indexOf(r=e.charAt(++t))>-1||r==\"\\\\\\\\\"&&e.charAt(t+1)==\"-\"&&\"0#\".indexOf(e.charAt(t+2))>-1););break;case\"?\":for(;e.charAt(++t)===r;);break;case\"*\":++t,(e.charAt(t)==\" \"||e.charAt(t)==\"*\")&&++t;break;case\"(\":case\")\":++t;break;case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":for(;t<e.length&&\"0123456789\".indexOf(e.charAt(++t))>-1;);break;case\" \":++t;break;default:++t;break}return!1}function Ts(e,t,r,a){for(var n=[],i=\"\",s=0,f=\"\",o=\"t\",c,l,v,h=\"H\";s<e.length;)switch(f=e.charAt(s)){case\"G\":if(!Zt(e,s))throw new Error(\"unrecognized character \"+f+\" in \"+e);n[n.length]={t:\"G\",v:\"General\"},s+=7;break;case'\"':for(i=\"\";(v=e.charCodeAt(++s))!==34&&s<e.length;)i+=String.fromCharCode(v);n[n.length]={t:\"t\",v:i},++s;break;case\"\\\\\\\\\":var d=e.charAt(++s),_=d===\"(\"||d===\")\"?d:\"t\";n[n.length]={t:_,v:d},++s;break;case\"_\":n[n.length]={t:\"t\",v:\" \"},s+=2;break;case\"@\":n[n.length]={t:\"T\",v:t},++s;break;case\"B\":case\"b\":if(e.charAt(s+1)===\"1\"||e.charAt(s+1)===\"2\"){if(c==null&&(c=Gt(t,r,e.charAt(s+1)===\"2\"),c==null))return\"\";n[n.length]={t:\"X\",v:e.substr(s,2)},o=f,s+=2;break}case\"M\":case\"D\":case\"Y\":case\"H\":case\"S\":case\"E\":f=f.toLowerCase();case\"m\":case\"d\":case\"y\":case\"h\":case\"s\":case\"e\":case\"g\":if(t<0||c==null&&(c=Gt(t,r),c==null))return\"\";for(i=f;++s<e.length&&e.charAt(s).toLowerCase()===f;)i+=f;f===\"m\"&&o.toLowerCase()===\"h\"&&(f=\"M\"),f===\"h\"&&(f=h),n[n.length]={t:f,v:i},o=f;break;case\"A\":case\"a\":case\"\\\\u4E0A\":var u={t:f,v:f};if(c==null&&(c=Gt(t,r)),e.substr(s,3).toUpperCase()===\"A/P\"?(c!=null&&(u.v=c.H>=12?\"P\":\"A\"),u.t=\"T\",h=\"h\",s+=3):e.substr(s,5).toUpperCase()===\"AM/PM\"?(c!=null&&(u.v=c.H>=12?\"PM\":\"AM\"),u.t=\"T\",s+=5,h=\"h\"):e.substr(s,5).toUpperCase()===\"\\\\u4E0A\\\\u5348/\\\\u4E0B\\\\u5348\"?(c!=null&&(u.v=c.H>=12?\"\\\\u4E0B\\\\u5348\":\"\\\\u4E0A\\\\u5348\"),u.t=\"T\",s+=5,h=\"h\"):(u.t=\"t\",++s),c==null&&u.t===\"T\")return\"\";n[n.length]=u,o=f;break;case\"[\":for(i=f;e.charAt(s++)!==\"]\"&&s<e.length;)i+=e.charAt(s);if(i.slice(-1)!==\"]\")throw'unterminated \"[\" block: |'+i+\"|\";if(i.match(pn)){if(c==null&&(c=Gt(t,r),c==null))return\"\";n[n.length]={t:\"Z\",v:i.toLowerCase()},o=i.charAt(1)}else i.indexOf(\"\\$\")>-1&&(i=(i.match(/\\\\\\$([^-\\\\[\\\\]]*)/)||[])[1]||\"\\$\",mn(e)||(n[n.length]={t:\"t\",v:i}));break;case\".\":if(c!=null){for(i=f;++s<e.length&&(f=e.charAt(s))===\"0\";)i+=f;n[n.length]={t:\"s\",v:i};break}case\"0\":case\"#\":for(i=f;++s<e.length&&\"0#?.,E+-%\".indexOf(f=e.charAt(s))>-1;)i+=f;n[n.length]={t:\"n\",v:i};break;case\"?\":for(i=f;e.charAt(++s)===f;)i+=f;n[n.length]={t:f,v:i},o=f;break;case\"*\":++s,(e.charAt(s)==\" \"||e.charAt(s)==\"*\")&&++s;break;case\"(\":case\")\":n[n.length]={t:a===1?\"t\":f,v:f},++s;break;case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":for(i=f;s<e.length&&\"0123456789\".indexOf(e.charAt(++s))>-1;)i+=e.charAt(s);n[n.length]={t:\"D\",v:i};break;case\" \":n[n.length]={t:f,v:f},++s;break;case\"\\$\":n[n.length]={t:\"t\",v:\"\\$\"},++s;break;default:if(\",\\$-+/():!^&'~{}<>=\\\\u20ACacfijklopqrtuvwxzP\".indexOf(f)===-1)throw new Error(\"unrecognized character \"+f+\" in \"+e);n[n.length]={t:\"t\",v:f},++s;break}var g=0,y=0,C;for(s=n.length-1,o=\"t\";s>=0;--s)switch(n[s].t){case\"h\":case\"H\":n[s].t=h,o=\"h\",g<1&&(g=1);break;case\"s\":(C=n[s].v.match(/\\\\.0+\\$/))&&(y=Math.max(y,C[0].length-1)),g<3&&(g=3);case\"d\":case\"y\":case\"M\":case\"e\":o=n[s].t;break;case\"m\":o===\"s\"&&(n[s].t=\"M\",g<2&&(g=2));break;case\"X\":break;case\"Z\":g<1&&n[s].v.match(/[Hh]/)&&(g=1),g<2&&n[s].v.match(/[Mm]/)&&(g=2),g<3&&n[s].v.match(/[Ss]/)&&(g=3)}switch(g){case 0:break;case 1:c.u>=.5&&(c.u=0,++c.S),c.S>=60&&(c.S=0,++c.M),c.M>=60&&(c.M=0,++c.H);break;case 2:c.u>=.5&&(c.u=0,++c.S),c.S>=60&&(c.S=0,++c.M);break}var D=\"\",B;for(s=0;s<n.length;++s)switch(n[s].t){case\"t\":case\"T\":case\" \":case\"D\":break;case\"X\":n[s].v=\"\",n[s].t=\";\";break;case\"d\":case\"m\":case\"y\":case\"h\":case\"H\":case\"M\":case\"s\":case\"e\":case\"b\":case\"Z\":n[s].v=xs(n[s].t.charCodeAt(0),n[s].v,c,y),n[s].t=\"t\";break;case\"n\":case\"?\":for(B=s+1;n[B]!=null&&((f=n[B].t)===\"?\"||f===\"D\"||(f===\" \"||f===\"t\")&&n[B+1]!=null&&(n[B+1].t===\"?\"||n[B+1].t===\"t\"&&n[B+1].v===\"/\")||n[s].t===\"(\"&&(f===\" \"||f===\"n\"||f===\")\")||f===\"t\"&&(n[B].v===\"/\"||n[B].v===\" \"&&n[B+1]!=null&&n[B+1].t==\"?\"));)n[s].v+=n[B].v,n[B]={v:\"\",t:\";\"},++B;D+=n[s].v,s=B-1;break;case\"G\":n[s].t=\"t\",n[s].v=Na(t,r);break}var G=\"\",te,A;if(D.length>0){D.charCodeAt(0)==40?(te=t<0&&D.charCodeAt(0)===45?-t:t,A=Ar(\"n\",D,te)):(te=t<0&&a>1?-t:t,A=Ar(\"n\",D,te),te<0&&n[0]&&n[0].t==\"t\"&&(A=A.substr(1),n[0].v=\"-\"+n[0].v)),B=A.length-1;var W=n.length;for(s=0;s<n.length;++s)if(n[s]!=null&&n[s].t!=\"t\"&&n[s].v.indexOf(\".\")>-1){W=s;break}var L=n.length;if(W===n.length&&A.indexOf(\"E\")===-1){for(s=n.length-1;s>=0;--s)n[s]==null||\"n?\".indexOf(n[s].t)===-1||(B>=n[s].v.length-1?(B-=n[s].v.length,n[s].v=A.substr(B+1,n[s].v.length)):B<0?n[s].v=\"\":(n[s].v=A.substr(0,B+1),B=-1),n[s].t=\"t\",L=s);B>=0&&L<n.length&&(n[L].v=A.substr(0,B+1)+n[L].v)}else if(W!==n.length&&A.indexOf(\"E\")===-1){for(B=A.indexOf(\".\")-1,s=W;s>=0;--s)if(!(n[s]==null||\"n?\".indexOf(n[s].t)===-1)){for(l=n[s].v.indexOf(\".\")>-1&&s===W?n[s].v.indexOf(\".\")-1:n[s].v.length-1,G=n[s].v.substr(l+1);l>=0;--l)B>=0&&(n[s].v.charAt(l)===\"0\"||n[s].v.charAt(l)===\"#\")&&(G=A.charAt(B--)+G);n[s].v=G,n[s].t=\"t\",L=s}for(B>=0&&L<n.length&&(n[L].v=A.substr(0,B+1)+n[L].v),B=A.indexOf(\".\")+1,s=W;s<n.length;++s)if(!(n[s]==null||\"n?(\".indexOf(n[s].t)===-1&&s!==W)){for(l=n[s].v.indexOf(\".\")>-1&&s===W?n[s].v.indexOf(\".\")+1:0,G=n[s].v.substr(0,l);l<n[s].v.length;++l)B<A.length&&(G+=A.charAt(B++));n[s].v=G,n[s].t=\"t\",L=s}}}for(s=0;s<n.length;++s)n[s]!=null&&\"n?\".indexOf(n[s].t)>-1&&(te=a>1&&t<0&&s>0&&n[s-1].v===\"-\"?-t:t,n[s].v=Ar(n[s].t,n[s].v,te),n[s].t=\"t\");var U=\"\";for(s=0;s!==n.length;++s)n[s]!=null&&(U+=n[s].v);return U}var y0=/\\\\[(=|>[=]?|<[>=]?)(-?\\\\d+(?:\\\\.\\\\d*)?)\\\\]/;function A0(e,t){if(t==null)return!1;var r=parseFloat(t[2]);switch(t[1]){case\"=\":if(e==r)return!0;break;case\">\":if(e>r)return!0;break;case\"<\":if(e<r)return!0;break;case\"<>\":if(e!=r)return!0;break;case\">=\":if(e>=r)return!0;break;case\"<=\":if(e<=r)return!0;break}return!1}function Ss(e,t){var r=Es(e),a=r.length,n=r[a-1].indexOf(\"@\");if(a<4&&n>-1&&--a,r.length>4)throw new Error(\"cannot find right format for |\"+r.join(\"|\")+\"|\");if(typeof t!=\"number\")return[4,r.length===4||n>-1?r[r.length-1]:\"@\"];switch(r.length){case 1:r=n>-1?[\"General\",\"General\",\"General\",r[0]]:[r[0],r[0],r[0],\"@\"];break;case 2:r=n>-1?[r[0],r[0],r[0],r[1]]:[r[0],r[1],r[0],\"@\"];break;case 3:r=n>-1?[r[0],r[1],r[0],r[2]]:[r[0],r[1],r[2],\"@\"];break;case 4:break}var i=t>0?r[0]:t<0?r[1]:r[2];if(r[0].indexOf(\"[\")===-1&&r[1].indexOf(\"[\")===-1)return[a,i];if(r[0].match(/\\\\[[=<>]/)!=null||r[1].match(/\\\\[[=<>]/)!=null){var s=r[0].match(y0),f=r[1].match(y0);return A0(t,s)?[a,r[0]]:A0(t,f)?[a,r[1]]:[a,r[s!=null&&f!=null?2:1]]}return[a,i]}function Lr(e,t,r){r==null&&(r={});var a=\"\";switch(typeof e){case\"string\":e==\"m/d/yy\"&&r.dateNF?a=r.dateNF:a=e;break;case\"number\":e==14&&r.dateNF?a=r.dateNF:a=(r.table!=null?r.table:ye)[e],a==null&&(a=r.table&&r.table[T0[e]]||ye[T0[e]]),a==null&&(a=is[e]||\"General\");break}if(Zt(a,0))return Na(t,r);t instanceof Date&&(t=cn(t,r.date1904));var n=Ss(a,t);if(Zt(n[1]))return Na(t,r);if(t===!0)t=\"TRUE\";else if(t===!1)t=\"FALSE\";else if(t===\"\"||t==null)return\"\";return Ts(n[1],t,r,n[0])}function gn(e,t){if(typeof t!=\"number\"){t=+t||-1;for(var r=0;r<392;++r){if(ye[r]==null){t<0&&(t=r);continue}if(ye[r]==e){t=r;break}}t<0&&(t=391)}return ye[t]=e,t}function ua(e){for(var t=0;t!=392;++t)e[t]!==void 0&&gn(e[t],t)}function ha(){ye=ns()}var _n=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function Fs(e){var t=typeof e==\"number\"?ye[e]:e;return t=t.replace(_n,\"(\\\\\\\\d+)\"),new RegExp(\"^\"+t+\"\\$\")}function ys(e,t,r){var a=-1,n=-1,i=-1,s=-1,f=-1,o=-1;(t.match(_n)||[]).forEach(function(v,h){var d=parseInt(r[h+1],10);switch(v.toLowerCase().charAt(0)){case\"y\":a=d;break;case\"d\":i=d;break;case\"h\":s=d;break;case\"s\":o=d;break;case\"m\":s>=0?f=d:n=d;break}}),o>=0&&f==-1&&n>=0&&(f=n,n=-1);var c=(\"\"+(a>=0?a:new Date().getFullYear())).slice(-4)+\"-\"+(\"00\"+(n>=1?n:1)).slice(-2)+\"-\"+(\"00\"+(i>=1?i:1)).slice(-2);c.length==7&&(c=\"0\"+c),c.length==8&&(c=\"20\"+c);var l=(\"00\"+(s>=0?s:0)).slice(-2)+\":\"+(\"00\"+(f>=0?f:0)).slice(-2)+\":\"+(\"00\"+(o>=0?o:0)).slice(-2);return s==-1&&f==-1&&o==-1?c:a==-1&&n==-1&&i==-1?l:c+\"T\"+l}var As=(function(){var e={};e.version=\"1.2.0\";function t(){for(var A=0,W=new Array(256),L=0;L!=256;++L)A=L,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,W[L]=A;return typeof Int32Array<\"u\"?new Int32Array(W):W}var r=t();function a(A){var W=0,L=0,U=0,X=typeof Int32Array<\"u\"?new Int32Array(4096):new Array(4096);for(U=0;U!=256;++U)X[U]=A[U];for(U=0;U!=256;++U)for(L=A[U],W=256+U;W<4096;W+=256)L=X[W]=L>>>8^A[L&255];var z=[];for(U=1;U!=16;++U)z[U-1]=typeof Int32Array<\"u\"?X.subarray(U*256,U*256+256):X.slice(U*256,U*256+256);return z}var n=a(r),i=n[0],s=n[1],f=n[2],o=n[3],c=n[4],l=n[5],v=n[6],h=n[7],d=n[8],_=n[9],u=n[10],g=n[11],y=n[12],C=n[13],D=n[14];function B(A,W){for(var L=W^-1,U=0,X=A.length;U<X;)L=L>>>8^r[(L^A.charCodeAt(U++))&255];return~L}function G(A,W){for(var L=W^-1,U=A.length-15,X=0;X<U;)L=D[A[X++]^L&255]^C[A[X++]^L>>8&255]^y[A[X++]^L>>16&255]^g[A[X++]^L>>>24]^u[A[X++]]^_[A[X++]]^d[A[X++]]^h[A[X++]]^v[A[X++]]^l[A[X++]]^c[A[X++]]^o[A[X++]]^f[A[X++]]^s[A[X++]]^i[A[X++]]^r[A[X++]];for(U+=15;X<U;)L=L>>>8^r[(L^A[X++])&255];return~L}function te(A,W){for(var L=W^-1,U=0,X=A.length,z=0,ie=0;U<X;)z=A.charCodeAt(U++),z<128?L=L>>>8^r[(L^z)&255]:z<2048?(L=L>>>8^r[(L^(192|z>>6&31))&255],L=L>>>8^r[(L^(128|z&63))&255]):z>=55296&&z<57344?(z=(z&1023)+64,ie=A.charCodeAt(U++)&1023,L=L>>>8^r[(L^(240|z>>8&7))&255],L=L>>>8^r[(L^(128|z>>2&63))&255],L=L>>>8^r[(L^(128|ie>>6&15|(z&3)<<4))&255],L=L>>>8^r[(L^(128|ie&63))&255]):(L=L>>>8^r[(L^(224|z>>12&15))&255],L=L>>>8^r[(L^(128|z>>6&63))&255],L=L>>>8^r[(L^(128|z&63))&255]);return~L}return e.table=r,e.bstr=B,e.buf=G,e.str=te,e})(),we=(function(){var t={};t.version=\"1.2.1\";function r(x,w){for(var p=x.split(\"/\"),m=w.split(\"/\"),k=0,E=0,O=Math.min(p.length,m.length);k<O;++k){if(E=p[k].length-m[k].length)return E;if(p[k]!=m[k])return p[k]<m[k]?-1:1}return p.length-m.length}function a(x){if(x.charAt(x.length-1)==\"/\")return x.slice(0,-1).indexOf(\"/\")===-1?x:a(x.slice(0,-1));var w=x.lastIndexOf(\"/\");return w===-1?x:x.slice(0,w+1)}function n(x){if(x.charAt(x.length-1)==\"/\")return n(x.slice(0,-1));var w=x.lastIndexOf(\"/\");return w===-1?x:x.slice(w+1)}function i(x,w){typeof w==\"string\"&&(w=new Date(w));var p=w.getHours();p=p<<6|w.getMinutes(),p=p<<5|w.getSeconds()>>>1,x.write_shift(2,p);var m=w.getFullYear()-1980;m=m<<4|w.getMonth()+1,m=m<<5|w.getDate(),x.write_shift(2,m)}function s(x){var w=x.read_shift(2)&65535,p=x.read_shift(2)&65535,m=new Date,k=p&31;p>>>=5;var E=p&15;p>>>=4,m.setMilliseconds(0),m.setFullYear(p+1980),m.setMonth(E-1),m.setDate(k);var O=w&31;w>>>=5;var P=w&63;return w>>>=6,m.setHours(w),m.setMinutes(P),m.setSeconds(O<<1),m}function f(x){sr(x,0);for(var w={},p=0;x.l<=x.length-4;){var m=x.read_shift(2),k=x.read_shift(2),E=x.l+k,O={};m===21589&&(p=x.read_shift(1),p&1&&(O.mtime=x.read_shift(4)),k>5&&(p&2&&(O.atime=x.read_shift(4)),p&4&&(O.ctime=x.read_shift(4))),O.mtime&&(O.mt=new Date(O.mtime*1e3))),x.l=E,w[m]=O}return w}var o;function c(){return o||(o={})}function l(x,w){if(x[0]==80&&x[1]==75)return g0(x,w);if((x[0]|32)==109&&(x[1]|32)==105)return Xi(x,w);if(x.length<512)throw new Error(\"CFB file size \"+x.length+\" < 512\");var p=3,m=512,k=0,E=0,O=0,P=0,R=0,I=[],N=x.slice(0,512);sr(N,0);var K=v(N);switch(p=K[0],p){case 3:m=512;break;case 4:m=4096;break;case 0:if(K[1]==0)return g0(x,w);default:throw new Error(\"Major Version: Expected 3 or 4 saw \"+p)}m!==512&&(N=x.slice(0,m),sr(N,28));var J=x.slice(0,m);h(N,p);var re=N.read_shift(4,\"i\");if(p===3&&re!==0)throw new Error(\"# Directory Sectors: Expected 0 saw \"+re);N.l+=4,O=N.read_shift(4,\"i\"),N.l+=4,N.chk(\"00100000\",\"Mini Stream Cutoff Size: \"),P=N.read_shift(4,\"i\"),k=N.read_shift(4,\"i\"),R=N.read_shift(4,\"i\"),E=N.read_shift(4,\"i\");for(var q=-1,Q=0;Q<109&&(q=N.read_shift(4,\"i\"),!(q<0));++Q)I[Q]=q;var ce=d(x,m);g(R,E,ce,m,I);var Ee=C(ce,O,I,m);Ee[O].name=\"!Directory\",k>0&&P!==ie&&(Ee[P].name=\"!MiniFAT\"),Ee[I[0]].name=\"!FAT\",Ee.fat_addrs=I,Ee.ssz=m;var er={},Ae=[],nr=[],gt=[];D(O,Ee,ce,Ae,k,er,nr,P),_(nr,gt,Ae),Ae.shift();var _t={FileIndex:nr,FullPaths:gt};return w&&w.raw&&(_t.raw={header:J,sectors:ce}),_t}function v(x){if(x[x.l]==80&&x[x.l+1]==75)return[0,0];x.chk(de,\"Header Signature: \"),x.l+=16;var w=x.read_shift(2,\"u\");return[x.read_shift(2,\"u\"),w]}function h(x,w){var p=9;switch(x.l+=2,p=x.read_shift(2)){case 9:if(w!=3)throw new Error(\"Sector Shift: Expected 9 saw \"+p);break;case 12:if(w!=4)throw new Error(\"Sector Shift: Expected 12 saw \"+p);break;default:throw new Error(\"Sector Shift: Expected 9 or 12 saw \"+p)}x.chk(\"0600\",\"Mini Sector Shift: \"),x.chk(\"000000000000\",\"Reserved: \")}function d(x,w){for(var p=Math.ceil(x.length/w)-1,m=[],k=1;k<p;++k)m[k-1]=x.slice(k*w,(k+1)*w);return m[p-1]=x.slice(p*w),m}function _(x,w,p){for(var m=0,k=0,E=0,O=0,P=0,R=p.length,I=[],N=[];m<R;++m)I[m]=N[m]=m,w[m]=p[m];for(;P<N.length;++P)m=N[P],k=x[m].L,E=x[m].R,O=x[m].C,I[m]===m&&(k!==-1&&I[k]!==k&&(I[m]=I[k]),E!==-1&&I[E]!==E&&(I[m]=I[E])),O!==-1&&(I[O]=m),k!==-1&&m!=I[m]&&(I[k]=I[m],N.lastIndexOf(k)<P&&N.push(k)),E!==-1&&m!=I[m]&&(I[E]=I[m],N.lastIndexOf(E)<P&&N.push(E));for(m=1;m<R;++m)I[m]===m&&(E!==-1&&I[E]!==E?I[m]=I[E]:k!==-1&&I[k]!==k&&(I[m]=I[k]));for(m=1;m<R;++m)if(x[m].type!==0){if(P=m,P!=I[P])do P=I[P],w[m]=w[P]+\"/\"+w[m];while(P!==0&&I[P]!==-1&&P!=I[P]);I[m]=-1}for(w[0]+=\"/\",m=1;m<R;++m)x[m].type!==2&&(w[m]+=\"/\")}function u(x,w,p){for(var m=x.start,k=x.size,E=[],O=m;p&&k>0&&O>=0;)E.push(w.slice(O*z,O*z+z)),k-=z,O=Xr(p,O*4);return E.length===0?b(0):Ve(E).slice(0,x.size)}function g(x,w,p,m,k){var E=ie;if(x===ie){if(w!==0)throw new Error(\"DIFAT chain shorter than expected\")}else if(x!==-1){var O=p[x],P=(m>>>2)-1;if(!O)return;for(var R=0;R<P&&(E=Xr(O,R*4))!==ie;++R)k.push(E);g(Xr(O,m-4),w-1,p,m,k)}}function y(x,w,p,m,k){var E=[],O=[];k||(k=[]);var P=m-1,R=0,I=0;for(R=w;R>=0;){k[R]=!0,E[E.length]=R,O.push(x[R]);var N=p[Math.floor(R*4/m)];if(I=R*4&P,m<4+I)throw new Error(\"FAT boundary crossed: \"+R+\" 4 \"+m);if(!x[N])break;R=Xr(x[N],I)}return{nodes:E,data:P0([O])}}function C(x,w,p,m){var k=x.length,E=[],O=[],P=[],R=[],I=m-1,N=0,K=0,J=0,re=0;for(N=0;N<k;++N)if(P=[],J=N+w,J>=k&&(J-=k),!O[J]){R=[];var q=[];for(K=J;K>=0;){q[K]=!0,O[K]=!0,P[P.length]=K,R.push(x[K]);var Q=p[Math.floor(K*4/m)];if(re=K*4&I,m<4+re)throw new Error(\"FAT boundary crossed: \"+K+\" 4 \"+m);if(!x[Q]||(K=Xr(x[Q],re),q[K]))break}E[J]={nodes:P,data:P0([R])}}return E}function D(x,w,p,m,k,E,O,P){for(var R=0,I=m.length?2:0,N=w[x].data,K=0,J=0,re;K<N.length;K+=128){var q=N.slice(K,K+128);sr(q,64),J=q.read_shift(2),re=va(q,0,J-I),m.push(re);var Q={name:re,type:q.read_shift(1),color:q.read_shift(1),L:q.read_shift(4,\"i\"),R:q.read_shift(4,\"i\"),C:q.read_shift(4,\"i\"),clsid:q.read_shift(16),state:q.read_shift(4,\"i\"),start:0,size:0},ce=q.read_shift(2)+q.read_shift(2)+q.read_shift(2)+q.read_shift(2);ce!==0&&(Q.ct=B(q,q.l-8));var Ee=q.read_shift(2)+q.read_shift(2)+q.read_shift(2)+q.read_shift(2);Ee!==0&&(Q.mt=B(q,q.l-8)),Q.start=q.read_shift(4,\"i\"),Q.size=q.read_shift(4,\"i\"),Q.size<0&&Q.start<0&&(Q.size=Q.type=0,Q.start=ie,Q.name=\"\"),Q.type===5?(R=Q.start,k>0&&R!==ie&&(w[R].name=\"!StreamData\")):Q.size>=4096?(Q.storage=\"fat\",w[Q.start]===void 0&&(w[Q.start]=y(p,Q.start,w.fat_addrs,w.ssz)),w[Q.start].name=Q.name,Q.content=w[Q.start].data.slice(0,Q.size)):(Q.storage=\"minifat\",Q.size<0?Q.size=0:R!==ie&&Q.start!==ie&&w[R]&&(Q.content=u(Q,w[R].data,(w[P]||{}).data))),Q.content&&sr(Q.content,0),E[re]=Q,O.push(Q)}}function B(x,w){return new Date((be(x,w+4)/1e7*Math.pow(2,32)+be(x,w)/1e7-11644473600)*1e3)}function G(x,w){return c(),l(o.readFileSync(x),w)}function te(x,w){var p=w&&w.type;switch(p||xe&&Buffer.isBuffer(x)&&(p=\"buffer\"),p||\"base64\"){case\"file\":return G(x,w);case\"base64\":return l(pr(Or(x)),w);case\"binary\":return l(pr(x),w)}return l(x,w)}function A(x,w){var p=w||{},m=p.root||\"Root Entry\";if(x.FullPaths||(x.FullPaths=[]),x.FileIndex||(x.FileIndex=[]),x.FullPaths.length!==x.FileIndex.length)throw new Error(\"inconsistent CFB structure\");x.FullPaths.length===0&&(x.FullPaths[0]=m+\"/\",x.FileIndex[0]={name:m,type:5}),p.CLSID&&(x.FileIndex[0].clsid=p.CLSID),W(x)}function W(x){var w=\"\u0001Sh33tJ5\";if(!we.find(x,\"/\"+w)){var p=b(4);p[0]=55,p[1]=p[3]=50,p[2]=54,x.FileIndex.push({name:w,type:2,content:p,size:4,L:69,R:69,C:69}),x.FullPaths.push(x.FullPaths[0]+w),L(x)}}function L(x,w){A(x);for(var p=!1,m=!1,k=x.FullPaths.length-1;k>=0;--k){var E=x.FileIndex[k];switch(E.type){case 0:m?p=!0:(x.FileIndex.pop(),x.FullPaths.pop());break;case 1:case 2:case 5:m=!0,isNaN(E.R*E.L*E.C)&&(p=!0),E.R>-1&&E.L>-1&&E.R==E.L&&(p=!0);break;default:p=!0;break}}if(!(!p&&!w)){var O=new Date(1987,1,19),P=0,R=Object.create?Object.create(null):{},I=[];for(k=0;k<x.FullPaths.length;++k)R[x.FullPaths[k]]=!0,x.FileIndex[k].type!==0&&I.push([x.FullPaths[k],x.FileIndex[k]]);for(k=0;k<I.length;++k){var N=a(I[k][0]);m=R[N],m||(I.push([N,{name:n(N).replace(\"/\",\"\"),type:1,clsid:Re,ct:O,mt:O,content:null}]),R[N]=!0)}for(I.sort(function(re,q){return r(re[0],q[0])}),x.FullPaths=[],x.FileIndex=[],k=0;k<I.length;++k)x.FullPaths[k]=I[k][0],x.FileIndex[k]=I[k][1];for(k=0;k<I.length;++k){var K=x.FileIndex[k],J=x.FullPaths[k];if(K.name=n(J).replace(\"/\",\"\"),K.L=K.R=K.C=-(K.color=1),K.size=K.content?K.content.length:0,K.start=0,K.clsid=K.clsid||Re,k===0)K.C=I.length>1?1:-1,K.size=0,K.type=5;else if(J.slice(-1)==\"/\"){for(P=k+1;P<I.length&&a(x.FullPaths[P])!=J;++P);for(K.C=P>=I.length?-1:P,P=k+1;P<I.length&&a(x.FullPaths[P])!=a(J);++P);K.R=P>=I.length?-1:P,K.type=1}else a(x.FullPaths[k+1]||\"\")==a(J)&&(K.R=k+1),K.type=2}}}function U(x,w){var p=w||{};if(p.fileType==\"mad\")return Gi(x,p);if(L(x),p.fileType===\"zip\")return Bi(x,p);var m=(function(re){for(var q=0,Q=0,ce=0;ce<re.FileIndex.length;++ce){var Ee=re.FileIndex[ce];if(Ee.content){var er=Ee.content.length;er>0&&(er<4096?q+=er+63>>6:Q+=er+511>>9)}}for(var Ae=re.FullPaths.length+3>>2,nr=q+7>>3,gt=q+127>>7,_t=nr+Q+Ae+gt,Vr=_t+127>>7,Sa=Vr<=109?0:Math.ceil((Vr-109)/127);_t+Vr+Sa+127>>7>Vr;)Sa=++Vr<=109?0:Math.ceil((Vr-109)/127);var Fr=[1,Sa,Vr,gt,Ae,Q,q,0];return re.FileIndex[0].size=q<<6,Fr[7]=(re.FileIndex[0].start=Fr[0]+Fr[1]+Fr[2]+Fr[3]+Fr[4]+Fr[5])+(Fr[6]+7>>3),Fr})(x),k=b(m[7]<<9),E=0,O=0;{for(E=0;E<8;++E)k.write_shift(1,se[E]);for(E=0;E<8;++E)k.write_shift(2,0);for(k.write_shift(2,62),k.write_shift(2,3),k.write_shift(2,65534),k.write_shift(2,9),k.write_shift(2,6),E=0;E<3;++E)k.write_shift(2,0);for(k.write_shift(4,0),k.write_shift(4,m[2]),k.write_shift(4,m[0]+m[1]+m[2]+m[3]-1),k.write_shift(4,0),k.write_shift(4,4096),k.write_shift(4,m[3]?m[0]+m[1]+m[2]-1:ie),k.write_shift(4,m[3]),k.write_shift(-4,m[1]?m[0]-1:ie),k.write_shift(4,m[1]),E=0;E<109;++E)k.write_shift(-4,E<m[2]?m[1]+E:-1)}if(m[1])for(O=0;O<m[1];++O){for(;E<236+O*127;++E)k.write_shift(-4,E<m[2]?m[1]+E:-1);k.write_shift(-4,O===m[1]-1?ie:O+1)}var P=function(re){for(O+=re;E<O-1;++E)k.write_shift(-4,E+1);re&&(++E,k.write_shift(-4,ie))};for(O=E=0,O+=m[1];E<O;++E)k.write_shift(-4,Ne.DIFSECT);for(O+=m[2];E<O;++E)k.write_shift(-4,Ne.FATSECT);P(m[3]),P(m[4]);for(var R=0,I=0,N=x.FileIndex[0];R<x.FileIndex.length;++R)N=x.FileIndex[R],N.content&&(I=N.content.length,!(I<4096)&&(N.start=O,P(I+511>>9)));for(P(m[6]+7>>3);k.l&511;)k.write_shift(-4,Ne.ENDOFCHAIN);for(O=E=0,R=0;R<x.FileIndex.length;++R)N=x.FileIndex[R],N.content&&(I=N.content.length,!(!I||I>=4096)&&(N.start=O,P(I+63>>6)));for(;k.l&511;)k.write_shift(-4,Ne.ENDOFCHAIN);for(E=0;E<m[4]<<2;++E){var K=x.FullPaths[E];if(!K||K.length===0){for(R=0;R<17;++R)k.write_shift(4,0);for(R=0;R<3;++R)k.write_shift(4,-1);for(R=0;R<12;++R)k.write_shift(4,0);continue}N=x.FileIndex[E],E===0&&(N.start=N.size?N.start-1:ie);var J=E===0&&p.root||N.name;if(I=2*(J.length+1),k.write_shift(64,J,\"utf16le\"),k.write_shift(2,I),k.write_shift(1,N.type),k.write_shift(1,N.color),k.write_shift(-4,N.L),k.write_shift(-4,N.R),k.write_shift(-4,N.C),N.clsid)k.write_shift(16,N.clsid,\"hex\");else for(R=0;R<4;++R)k.write_shift(4,0);k.write_shift(4,N.state||0),k.write_shift(4,0),k.write_shift(4,0),k.write_shift(4,0),k.write_shift(4,0),k.write_shift(4,N.start),k.write_shift(4,N.size),k.write_shift(4,0)}for(E=1;E<x.FileIndex.length;++E)if(N=x.FileIndex[E],N.size>=4096)if(k.l=N.start+1<<9,xe&&Buffer.isBuffer(N.content))N.content.copy(k,k.l,0,N.size),k.l+=N.size+511&-512;else{for(R=0;R<N.size;++R)k.write_shift(1,N.content[R]);for(;R&511;++R)k.write_shift(1,0)}for(E=1;E<x.FileIndex.length;++E)if(N=x.FileIndex[E],N.size>0&&N.size<4096)if(xe&&Buffer.isBuffer(N.content))N.content.copy(k,k.l,0,N.size),k.l+=N.size+63&-64;else{for(R=0;R<N.size;++R)k.write_shift(1,N.content[R]);for(;R&63;++R)k.write_shift(1,0)}if(xe)k.l=k.length;else for(;k.l<k.length;)k.write_shift(1,0);return k}function X(x,w){var p=x.FullPaths.map(function(R){return R.toUpperCase()}),m=p.map(function(R){var I=R.split(\"/\");return I[I.length-(R.slice(-1)==\"/\"?2:1)]}),k=!1;w.charCodeAt(0)===47?(k=!0,w=p[0].slice(0,-1)+w):k=w.indexOf(\"/\")!==-1;var E=w.toUpperCase(),O=k===!0?p.indexOf(E):m.indexOf(E);if(O!==-1)return x.FileIndex[O];var P=!E.match(Xt);for(E=E.replace(st,\"\"),P&&(E=E.replace(Xt,\"!\")),O=0;O<p.length;++O)if((P?p[O].replace(Xt,\"!\"):p[O]).replace(st,\"\")==E||(P?m[O].replace(Xt,\"!\"):m[O]).replace(st,\"\")==E)return x.FileIndex[O];return null}var z=64,ie=-2,de=\"d0cf11e0a1b11ae1\",se=[208,207,17,224,161,177,26,225],Re=\"00000000000000000000000000000000\",Ne={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ie,FREESECT:-1,HEADER_SIGNATURE:de,HEADER_MINOR_VERSION:\"3e00\",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:Re,EntryTypes:[\"unknown\",\"storage\",\"stream\",\"lockbytes\",\"property\",\"root\"]};function Ze(x,w,p){c();var m=U(x,p);o.writeFileSync(w,m)}function je(x){for(var w=new Array(x.length),p=0;p<x.length;++p)w[p]=String.fromCharCode(x[p]);return w.join(\"\")}function Me(x,w){var p=U(x,w);switch(w&&w.type||\"buffer\"){case\"file\":return c(),o.writeFileSync(w.filename,p),p;case\"binary\":return typeof p==\"string\"?p:je(p);case\"base64\":return Ot(typeof p==\"string\"?p:je(p));case\"buffer\":if(xe)return Buffer.isBuffer(p)?p:Rr(p);case\"array\":return typeof p==\"string\"?pr(p):p}return p}var Qe;function T(x){try{var w=x.InflateRaw,p=new w;if(p._processChunk(new Uint8Array([3,0]),p._finishFlushFlag),p.bytesRead)Qe=x;else throw new Error(\"zlib does not expose bytesRead\")}catch(m){console.error(\"cannot use native zlib: \"+(m.message||m))}}function M(x,w){if(!Qe)return p0(x,w);var p=Qe.InflateRaw,m=new p,k=m._processChunk(x.slice(x.l),m._finishFlushFlag);return x.l+=m.bytesRead,k}function F(x){return Qe?Qe.deflateRawSync(x):l0(x)}var S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],V=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],ne=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577];function fe(x){var w=(x<<1|x<<11)&139536|(x<<5|x<<15)&558144;return(w>>16|w>>8|w)&255}for(var ee=typeof Uint8Array<\"u\",Z=ee?new Uint8Array(256):[],_e=0;_e<256;++_e)Z[_e]=fe(_e);function le(x,w){var p=Z[x&255];return w<=8?p>>>8-w:(p=p<<8|Z[x>>8&255],w<=16?p>>>16-w:(p=p<<8|Z[x>>16&255],p>>>24-w))}function Ue(x,w){var p=w&7,m=w>>>3;return(x[m]|(p<=6?0:x[m+1]<<8))>>>p&3}function ue(x,w){var p=w&7,m=w>>>3;return(x[m]|(p<=5?0:x[m+1]<<8))>>>p&7}function xr(x,w){var p=w&7,m=w>>>3;return(x[m]|(p<=4?0:x[m+1]<<8))>>>p&15}function Se(x,w){var p=w&7,m=w>>>3;return(x[m]|(p<=3?0:x[m+1]<<8))>>>p&31}function ae(x,w){var p=w&7,m=w>>>3;return(x[m]|(p<=1?0:x[m+1]<<8))>>>p&127}function or(x,w,p){var m=w&7,k=w>>>3,E=(1<<p)-1,O=x[k]>>>m;return p<8-m||(O|=x[k+1]<<8-m,p<16-m)||(O|=x[k+2]<<16-m,p<24-m)||(O|=x[k+3]<<24-m),O&E}function Sr(x,w,p){var m=w&7,k=w>>>3;return m<=5?x[k]|=(p&7)<<m:(x[k]|=p<<m&255,x[k+1]=(p&7)>>8-m),w+3}function Wr(x,w,p){var m=w&7,k=w>>>3;return p=(p&1)<<m,x[k]|=p,w+1}function et(x,w,p){var m=w&7,k=w>>>3;return p<<=m,x[k]|=p&255,p>>>=8,x[k+1]=p,w+8}function o0(x,w,p){var m=w&7,k=w>>>3;return p<<=m,x[k]|=p&255,p>>>=8,x[k+1]=p&255,x[k+2]=p>>>8,w+16}function wa(x,w){var p=x.length,m=2*p>w?2*p:w+5,k=0;if(p>=w)return x;if(xe){var E=w0(m);if(x.copy)x.copy(E);else for(;k<x.length;++k)E[k]=x[k];return E}else if(ee){var O=new Uint8Array(m);if(O.set)O.set(x);else for(;k<p;++k)O[k]=x[k];return O}return x.length=m,x}function _r(x){for(var w=new Array(x),p=0;p<x;++p)w[p]=0;return w}function Wt(x,w,p){var m=1,k=0,E=0,O=0,P=0,R=x.length,I=ee?new Uint16Array(32):_r(32);for(E=0;E<32;++E)I[E]=0;for(E=R;E<p;++E)x[E]=0;R=x.length;var N=ee?new Uint16Array(R):_r(R);for(E=0;E<R;++E)I[k=x[E]]++,m<k&&(m=k),N[E]=0;for(I[0]=0,E=1;E<=m;++E)I[E+16]=P=P+I[E-1]<<1;for(E=0;E<R;++E)P=x[E],P!=0&&(N[E]=I[P+16]++);var K=0;for(E=0;E<R;++E)if(K=x[E],K!=0)for(P=le(N[E],m)>>m-K,O=(1<<m+4-K)-1;O>=0;--O)w[P|O<<K]=K&15|E<<4;return m}var ka=ee?new Uint16Array(512):_r(512),Ea=ee?new Uint16Array(32):_r(32);if(!ee){for(var Hr=0;Hr<512;++Hr)ka[Hr]=0;for(Hr=0;Hr<32;++Hr)Ea[Hr]=0}(function(){for(var x=[],w=0;w<32;w++)x.push(5);Wt(x,Ea,32);var p=[];for(w=0;w<=143;w++)p.push(8);for(;w<=255;w++)p.push(9);for(;w<=279;w++)p.push(7);for(;w<=287;w++)p.push(8);Wt(p,ka,288)})();var Ni=(function(){for(var w=ee?new Uint8Array(32768):[],p=0,m=0;p<ne.length-1;++p)for(;m<ne[p+1];++m)w[m]=p;for(;m<32768;++m)w[m]=29;var k=ee?new Uint8Array(259):[];for(p=0,m=0;p<V.length-1;++p)for(;m<V[p+1];++m)k[m]=p;function E(P,R){for(var I=0;I<P.length;){var N=Math.min(65535,P.length-I),K=I+N==P.length;for(R.write_shift(1,+K),R.write_shift(2,N),R.write_shift(2,~N&65535);N-- >0;)R[R.l++]=P[I++]}return R.l}function O(P,R){for(var I=0,N=0,K=ee?new Uint16Array(32768):[];N<P.length;){var J=Math.min(65535,P.length-N);if(J<10){for(I=Sr(R,I,+(N+J==P.length)),I&7&&(I+=8-(I&7)),R.l=I/8|0,R.write_shift(2,J),R.write_shift(2,~J&65535);J-- >0;)R[R.l++]=P[N++];I=R.l*8;continue}I=Sr(R,I,+(N+J==P.length)+2);for(var re=0;J-- >0;){var q=P[N];re=(re<<5^q)&32767;var Q=-1,ce=0;if((Q=K[re])&&(Q|=N&-32768,Q>N&&(Q-=32768),Q<N))for(;P[Q+ce]==P[N+ce]&&ce<250;)++ce;if(ce>2){q=k[ce],q<=22?I=et(R,I,Z[q+1]>>1)-1:(et(R,I,3),I+=5,et(R,I,Z[q-23]>>5),I+=3);var Ee=q<8?0:q-4>>2;Ee>0&&(o0(R,I,ce-V[q]),I+=Ee),q=w[N-Q],I=et(R,I,Z[q]>>3),I-=3;var er=q<4?0:q-2>>1;er>0&&(o0(R,I,N-Q-ne[q]),I+=er);for(var Ae=0;Ae<ce;++Ae)K[re]=N&32767,re=(re<<5^P[N])&32767,++N;J-=ce-1}else q<=143?q=q+48:I=Wr(R,I,1),I=et(R,I,Z[q]),K[re]=N&32767,++N}I=et(R,I,0)-1}return R.l=(I+7)/8|0,R.l}return function(R,I){return R.length<8?E(R,I):O(R,I)}})();function l0(x){var w=b(50+Math.floor(x.length*1.1)),p=Ni(x,w);return w.slice(0,p)}var u0=ee?new Uint16Array(32768):_r(32768),h0=ee?new Uint16Array(32768):_r(32768),x0=ee?new Uint16Array(128):_r(128),d0=1,v0=1;function bi(x,w){var p=Se(x,w)+257;w+=5;var m=Se(x,w)+1;w+=5;var k=xr(x,w)+4;w+=4;for(var E=0,O=ee?new Uint8Array(19):_r(19),P=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],R=1,I=ee?new Uint8Array(8):_r(8),N=ee?new Uint8Array(8):_r(8),K=O.length,J=0;J<k;++J)O[S[J]]=E=ue(x,w),R<E&&(R=E),I[E]++,w+=3;var re=0;for(I[0]=0,J=1;J<=R;++J)N[J]=re=re+I[J-1]<<1;for(J=0;J<K;++J)(re=O[J])!=0&&(P[J]=N[re]++);var q=0;for(J=0;J<K;++J)if(q=O[J],q!=0){re=Z[P[J]]>>8-q;for(var Q=(1<<7-q)-1;Q>=0;--Q)x0[re|Q<<q]=q&7|J<<3}var ce=[];for(R=1;ce.length<p+m;)switch(re=x0[ae(x,w)],w+=re&7,re>>>=3){case 16:for(E=3+Ue(x,w),w+=2,re=ce[ce.length-1];E-- >0;)ce.push(re);break;case 17:for(E=3+ue(x,w),w+=3;E-- >0;)ce.push(0);break;case 18:for(E=11+ae(x,w),w+=7;E-- >0;)ce.push(0);break;default:ce.push(re),R<re&&(R=re);break}var Ee=ce.slice(0,p),er=ce.slice(p);for(J=p;J<286;++J)Ee[J]=0;for(J=m;J<30;++J)er[J]=0;return d0=Wt(Ee,u0,286),v0=Wt(er,h0,30),w}function Pi(x,w){if(x[0]==3&&!(x[1]&3))return[\\$r(w),2];for(var p=0,m=0,k=w0(w||1<<18),E=0,O=k.length>>>0,P=0,R=0;(m&1)==0;){if(m=ue(x,p),p+=3,m>>>1)m>>1==1?(P=9,R=5):(p=bi(x,p),P=d0,R=v0);else{p&7&&(p+=8-(p&7));var I=x[p>>>3]|x[(p>>>3)+1]<<8;if(p+=32,I>0)for(!w&&O<E+I&&(k=wa(k,E+I),O=k.length);I-- >0;)k[E++]=x[p>>>3],p+=8;continue}for(;;){!w&&O<E+32767&&(k=wa(k,E+32767),O=k.length);var N=or(x,p,P),K=m>>>1==1?ka[N]:u0[N];if(p+=K&15,K>>>=4,(K>>>8&255)===0)k[E++]=K;else{if(K==256)break;K-=257;var J=K<8?0:K-4>>2;J>5&&(J=0);var re=E+V[K];J>0&&(re+=or(x,p,J),p+=J),N=or(x,p,R),K=m>>>1==1?Ea[N]:h0[N],p+=K&15,K>>>=4;var q=K<4?0:K-2>>1,Q=ne[K];for(q>0&&(Q+=or(x,p,q),p+=q),!w&&O<re&&(k=wa(k,re+100),O=k.length);E<re;)k[E]=k[E-Q],++E}}}return w?[k,p+7>>>3]:[k.slice(0,E),p+7>>>3]}function p0(x,w){var p=x.slice(x.l||0),m=Pi(p,w);return x.l+=m[1],m[0]}function m0(x,w){if(x)typeof console<\"u\"&&console.error(w);else throw new Error(w)}function g0(x,w){var p=x;sr(p,0);var m=[],k=[],E={FileIndex:m,FullPaths:k};A(E,{root:w.root});for(var O=p.length-4;(p[O]!=80||p[O+1]!=75||p[O+2]!=5||p[O+3]!=6)&&O>=0;)--O;p.l=O+4,p.l+=4;var P=p.read_shift(2);p.l+=6;var R=p.read_shift(4);for(p.l=R,O=0;O<P;++O){p.l+=20;var I=p.read_shift(4),N=p.read_shift(4),K=p.read_shift(2),J=p.read_shift(2),re=p.read_shift(2);p.l+=8;var q=p.read_shift(4),Q=f(p.slice(p.l+K,p.l+K+J));p.l+=K+J+re;var ce=p.l;p.l=q+4,Li(p,I,N,E,Q),p.l=ce}return E}function Li(x,w,p,m,k){x.l+=2;var E=x.read_shift(2),O=x.read_shift(2),P=s(x);if(E&8257)throw new Error(\"Unsupported ZIP encryption\");for(var R=x.read_shift(4),I=x.read_shift(4),N=x.read_shift(4),K=x.read_shift(2),J=x.read_shift(2),re=\"\",q=0;q<K;++q)re+=String.fromCharCode(x[x.l++]);if(J){var Q=f(x.slice(x.l,x.l+J));(Q[21589]||{}).mt&&(P=Q[21589].mt),((k||{})[21589]||{}).mt&&(P=k[21589].mt)}x.l+=J;var ce=x.slice(x.l,x.l+I);switch(O){case 8:ce=M(x,N);break;case 0:break;default:throw new Error(\"Unsupported ZIP Compression method \"+O)}var Ee=!1;E&8&&(R=x.read_shift(4),R==134695760&&(R=x.read_shift(4),Ee=!0),I=x.read_shift(4),N=x.read_shift(4)),I!=w&&m0(Ee,\"Bad compressed size: \"+w+\" != \"+I),N!=p&&m0(Ee,\"Bad uncompressed size: \"+p+\" != \"+N),Ta(m,re,ce,{unsafe:!0,mt:P})}function Bi(x,w){var p=w||{},m=[],k=[],E=b(1),O=p.compression?8:0,P=0,R=!1;R&&(P|=8);var I=0,N=0,K=0,J=0,re=x.FullPaths[0],q=re,Q=x.FileIndex[0],ce=[],Ee=0;for(I=1;I<x.FullPaths.length;++I)if(q=x.FullPaths[I].slice(re.length),Q=x.FileIndex[I],!(!Q.size||!Q.content||q==\"\u0001Sh33tJ5\")){var er=K,Ae=b(q.length);for(N=0;N<q.length;++N)Ae.write_shift(1,q.charCodeAt(N)&127);Ae=Ae.slice(0,Ae.l),ce[J]=As.buf(Q.content,0);var nr=Q.content;O==8&&(nr=F(nr)),E=b(30),E.write_shift(4,67324752),E.write_shift(2,20),E.write_shift(2,P),E.write_shift(2,O),Q.mt?i(E,Q.mt):E.write_shift(4,0),E.write_shift(-4,P&8?0:ce[J]),E.write_shift(4,P&8?0:nr.length),E.write_shift(4,P&8?0:Q.content.length),E.write_shift(2,Ae.length),E.write_shift(2,0),K+=E.length,m.push(E),K+=Ae.length,m.push(Ae),K+=nr.length,m.push(nr),P&8&&(E=b(12),E.write_shift(-4,ce[J]),E.write_shift(4,nr.length),E.write_shift(4,Q.content.length),K+=E.l,m.push(E)),E=b(46),E.write_shift(4,33639248),E.write_shift(2,0),E.write_shift(2,20),E.write_shift(2,P),E.write_shift(2,O),E.write_shift(4,0),E.write_shift(-4,ce[J]),E.write_shift(4,nr.length),E.write_shift(4,Q.content.length),E.write_shift(2,Ae.length),E.write_shift(2,0),E.write_shift(2,0),E.write_shift(2,0),E.write_shift(2,0),E.write_shift(4,0),E.write_shift(4,er),Ee+=E.l,k.push(E),Ee+=Ae.length,k.push(Ae),++J}return E=b(22),E.write_shift(4,101010256),E.write_shift(2,0),E.write_shift(2,0),E.write_shift(2,J),E.write_shift(2,J),E.write_shift(4,Ee),E.write_shift(4,K),E.write_shift(2,0),Ve([Ve(m),Ve(k),E])}var Ht={htm:\"text/html\",xml:\"text/xml\",gif:\"image/gif\",jpg:\"image/jpeg\",png:\"image/png\",mso:\"application/x-mso\",thmx:\"application/vnd.ms-officetheme\",sh33tj5:\"application/octet-stream\"};function Mi(x,w){if(x.ctype)return x.ctype;var p=x.name||\"\",m=p.match(/\\\\.([^\\\\.]+)\\$/);return m&&Ht[m[1]]||w&&(m=(p=w).match(/[\\\\.\\\\\\\\]([^\\\\.\\\\\\\\])+\\$/),m&&Ht[m[1]])?Ht[m[1]]:\"application/octet-stream\"}function Ui(x){for(var w=Ot(x),p=[],m=0;m<w.length;m+=76)p.push(w.slice(m,m+76));return p.join(\\`\\\\r\n\\`)+\\`\\\\r\n\\`}function Wi(x){var w=x.replace(/[\\\\x00-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7E-\\\\xFF=]/g,function(I){var N=I.charCodeAt(0).toString(16).toUpperCase();return\"=\"+(N.length==1?\"0\"+N:N)});w=w.replace(/ \\$/mg,\"=20\").replace(/\\\\t\\$/mg,\"=09\"),w.charAt(0)==\\`\n\\`&&(w=\"=0D\"+w.slice(1)),w=w.replace(/\\\\r(?!\\\\n)/mg,\"=0D\").replace(/\\\\n\\\\n/mg,\\`\n=0A\\`).replace(/([^\\\\r\\\\n])\\\\n/mg,\"\\$1=0A\");for(var p=[],m=w.split(\\`\\\\r\n\\`),k=0;k<m.length;++k){var E=m[k];if(E.length==0){p.push(\"\");continue}for(var O=0;O<E.length;){var P=76,R=E.slice(O,O+P);R.charAt(P-1)==\"=\"?P--:R.charAt(P-2)==\"=\"?P-=2:R.charAt(P-3)==\"=\"&&(P-=3),R=E.slice(O,O+P),O+=P,O<E.length&&(R+=\"=\"),p.push(R)}}return p.join(\\`\\\\r\n\\`)}function Hi(x){for(var w=[],p=0;p<x.length;++p){for(var m=x[p];p<=x.length&&m.charAt(m.length-1)==\"=\";)m=m.slice(0,m.length-1)+x[++p];w.push(m)}for(var k=0;k<w.length;++k)w[k]=w[k].replace(/[=][0-9A-Fa-f]{2}/g,function(E){return String.fromCharCode(parseInt(E.slice(1),16))});return pr(w.join(\\`\\\\r\n\\`))}function Vi(x,w,p){for(var m=\"\",k=\"\",E=\"\",O,P=0;P<10;++P){var R=w[P];if(!R||R.match(/^\\\\s*\\$/))break;var I=R.match(/^(.*?):\\\\s*([^\\\\s].*)\\$/);if(I)switch(I[1].toLowerCase()){case\"content-location\":m=I[2].trim();break;case\"content-type\":E=I[2].trim();break;case\"content-transfer-encoding\":k=I[2].trim();break}}switch(++P,k.toLowerCase()){case\"base64\":O=pr(Or(w.slice(P).join(\"\")));break;case\"quoted-printable\":O=Hi(w.slice(P));break;default:throw new Error(\"Unsupported Content-Transfer-Encoding \"+k)}var N=Ta(x,m.slice(p.length),O,{unsafe:!0});E&&(N.ctype=E)}function Xi(x,w){if(je(x.slice(0,13)).toLowerCase()!=\"mime-version:\")throw new Error(\"Unsupported MAD header\");var p=w&&w.root||\"\",m=(xe&&Buffer.isBuffer(x)?x.toString(\"binary\"):je(x)).split(\\`\\\\r\n\\`),k=0,E=\"\";for(k=0;k<m.length;++k)if(E=m[k],!!/^Content-Location:/i.test(E)&&(E=E.slice(E.indexOf(\"file\")),p||(p=E.slice(0,E.lastIndexOf(\"/\")+1)),E.slice(0,p.length)!=p))for(;p.length>0&&(p=p.slice(0,p.length-1),p=p.slice(0,p.lastIndexOf(\"/\")+1),E.slice(0,p.length)!=p););var O=(m[1]||\"\").match(/boundary=\"(.*?)\"/);if(!O)throw new Error(\"MAD cannot find boundary\");var P=\"--\"+(O[1]||\"\"),R=[],I=[],N={FileIndex:R,FullPaths:I};A(N);var K,J=0;for(k=0;k<m.length;++k){var re=m[k];re!==P&&re!==P+\"--\"||(J++&&Vi(N,m.slice(K,k),p),K=k)}return N}function Gi(x,w){var p=w||{},m=p.boundary||\"SheetJS\";m=\"------=\"+m;for(var k=[\"MIME-Version: 1.0\",'Content-Type: multipart/related; boundary=\"'+m.slice(2)+'\"',\"\",\"\",\"\"],E=x.FullPaths[0],O=E,P=x.FileIndex[0],R=1;R<x.FullPaths.length;++R)if(O=x.FullPaths[R].slice(E.length),P=x.FileIndex[R],!(!P.size||!P.content||O==\"\u0001Sh33tJ5\")){O=O.replace(/[\\\\x00-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7E-\\\\xFF]/g,function(ce){return\"_x\"+ce.charCodeAt(0).toString(16)+\"_\"}).replace(/[\\\\u0080-\\\\uFFFF]/g,function(ce){return\"_u\"+ce.charCodeAt(0).toString(16)+\"_\"});for(var I=P.content,N=xe&&Buffer.isBuffer(I)?I.toString(\"binary\"):je(I),K=0,J=Math.min(1024,N.length),re=0,q=0;q<=J;++q)(re=N.charCodeAt(q))>=32&&re<128&&++K;var Q=K>=J*4/5;k.push(m),k.push(\"Content-Location: \"+(p.root||\"file:///C:/SheetJS/\")+O),k.push(\"Content-Transfer-Encoding: \"+(Q?\"quoted-printable\":\"base64\")),k.push(\"Content-Type: \"+Mi(P,O)),k.push(\"\"),k.push(Q?Wi(N):Ui(N))}return k.push(m+\\`--\\\\r\n\\`),k.join(\\`\\\\r\n\\`)}function zi(x){var w={};return A(w,x),w}function Ta(x,w,p,m){var k=m&&m.unsafe;k||A(x);var E=!k&&we.find(x,w);if(!E){var O=x.FullPaths[0];w.slice(0,O.length)==O?O=w:(O.slice(-1)!=\"/\"&&(O+=\"/\"),O=(O+w).replace(\"//\",\"/\")),E={name:n(w),type:2},x.FileIndex.push(E),x.FullPaths.push(O),k||we.utils.cfb_gc(x)}return E.content=p,E.size=p?p.length:0,m&&(m.CLSID&&(E.clsid=m.CLSID),m.mt&&(E.mt=m.mt),m.ct&&(E.ct=m.ct)),E}function \\$i(x,w){A(x);var p=we.find(x,w);if(p){for(var m=0;m<x.FileIndex.length;++m)if(x.FileIndex[m]==p)return x.FileIndex.splice(m,1),x.FullPaths.splice(m,1),!0}return!1}function Ki(x,w,p){A(x);var m=we.find(x,w);if(m){for(var k=0;k<x.FileIndex.length;++k)if(x.FileIndex[k]==m)return x.FileIndex[k].name=n(p),x.FullPaths[k]=p,!0}return!1}function ji(x){L(x,!0)}return t.find=X,t.read=te,t.parse=l,t.write=Me,t.writeFile=Ze,t.utils={cfb_new:zi,cfb_add:Ta,cfb_del:\\$i,cfb_mov:Ki,cfb_gc:ji,ReadShift:St,CheckField:Rn,prep_blob:sr,bconcat:Ve,use_zlib:T,_deflateRaw:l0,_inflateRaw:p0,consts:Ne},t})(),zt;function Cs(e){return typeof e==\"string\"?la(e):Array.isArray(e)?es(e):e}function Lt(e,t,r){if(typeof zt<\"u\"&&zt.writeFileSync)return r?zt.writeFileSync(e,t,r):zt.writeFileSync(e,t);if(typeof Deno<\"u\"){if(r&&typeof t==\"string\")switch(r){case\"utf8\":t=new TextEncoder(r).encode(t);break;case\"binary\":t=la(t);break;default:throw new Error(\"Unsupported encoding \"+r)}return Deno.writeFileSync(e,t)}var a=r==\"utf8\"?yr(t):t;if(typeof IE_SaveFile<\"u\")return IE_SaveFile(a,e);if(typeof Blob<\"u\"){var n=new Blob([Cs(a)],{type:\"application/octet-stream\"});if(typeof navigator<\"u\"&&navigator.msSaveBlob)return navigator.msSaveBlob(n,e);if(typeof saveAs<\"u\")return saveAs(n,e);if(typeof URL<\"u\"&&typeof document<\"u\"&&document.createElement&&URL.createObjectURL){var i=URL.createObjectURL(n);if(typeof chrome==\"object\"&&typeof(chrome.downloads||{}).download==\"function\")return URL.revokeObjectURL&&typeof setTimeout<\"u\"&&setTimeout(function(){URL.revokeObjectURL(i)},6e4),chrome.downloads.download({url:i,filename:e,saveAs:!0});var s=document.createElement(\"a\");if(s.download!=null)return s.download=e,s.href=i,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL&&typeof setTimeout<\"u\"&&setTimeout(function(){URL.revokeObjectURL(i)},6e4),i}}if(typeof \\$<\"u\"&&typeof File<\"u\"&&typeof Folder<\"u\")try{var f=File(e);return f.open(\"w\"),f.encoding=\"binary\",Array.isArray(t)&&(t=Pt(t)),f.write(t),f.close(),t}catch(o){if(!o.message||!o.message.match(/onstruct/))throw o}throw new Error(\"cannot save file \"+e)}function ze(e){for(var t=Object.keys(e),r=[],a=0;a<t.length;++a)Object.prototype.hasOwnProperty.call(e,t[a])&&r.push(t[a]);return r}function C0(e,t){for(var r=[],a=ze(e),n=0;n!==a.length;++n)r[e[a[n]][t]]==null&&(r[e[a[n]][t]]=a[n]);return r}function Ua(e){for(var t=[],r=ze(e),a=0;a!==r.length;++a)t[e[r[a]]]=r[a];return t}function xa(e){for(var t=[],r=ze(e),a=0;a!==r.length;++a)t[e[r[a]]]=parseInt(r[a],10);return t}function Ds(e){for(var t=[],r=ze(e),a=0;a!==r.length;++a)t[e[r[a]]]==null&&(t[e[r[a]]]=[]),t[e[r[a]]].push(r[a]);return t}var ea=new Date(1899,11,30,0,0,0);function tr(e,t){var r=e.getTime();t&&(r-=1462*24*60*60*1e3);var a=ea.getTime()+(e.getTimezoneOffset()-ea.getTimezoneOffset())*6e4;return(r-a)/(1440*60*1e3)}var wn=new Date,Os=ea.getTime()+(wn.getTimezoneOffset()-ea.getTimezoneOffset())*6e4,D0=wn.getTimezoneOffset();function kn(e){var t=new Date;return t.setTime(e*24*60*60*1e3+Os),t.getTimezoneOffset()!==D0&&t.setTime(t.getTime()+(t.getTimezoneOffset()-D0)*6e4),t}var O0=new Date(\"2017-02-19T19:06:09.000Z\"),En=isNaN(O0.getFullYear())?new Date(\"2/19/17\"):O0,Is=En.getFullYear()==2017;function qe(e,t){var r=new Date(e);if(Is)return t>0?r.setTime(r.getTime()+r.getTimezoneOffset()*60*1e3):t<0&&r.setTime(r.getTime()-r.getTimezoneOffset()*60*1e3),r;if(e instanceof Date)return e;if(En.getFullYear()==1917&&!isNaN(r.getFullYear())){var a=r.getFullYear();return e.indexOf(\"\"+a)>-1||r.setFullYear(r.getFullYear()+100),r}var n=e.match(/\\\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"],i=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);return e.indexOf(\"Z\")>-1&&(i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3)),i}function da(e,t){if(xe&&Buffer.isBuffer(e)){if(t){if(e[0]==255&&e[1]==254)return yr(e.slice(2).toString(\"utf16le\"));if(e[1]==254&&e[2]==255)return yr(Qi(e.slice(2).toString(\"binary\")))}return e.toString(\"binary\")}if(typeof TextDecoder<\"u\")try{if(t){if(e[0]==255&&e[1]==254)return yr(new TextDecoder(\"utf-16le\").decode(e.slice(2)));if(e[0]==254&&e[1]==255)return yr(new TextDecoder(\"utf-16be\").decode(e.slice(2)))}var r={\"\\\\u20AC\":\"\\\\x80\",\"\\\\u201A\":\"\\\\x82\",\\\\u0192:\"\\\\x83\",\"\\\\u201E\":\"\\\\x84\",\"\\\\u2026\":\"\\\\x85\",\"\\\\u2020\":\"\\\\x86\",\"\\\\u2021\":\"\\\\x87\",\"\\\\u02C6\":\"\\\\x88\",\"\\\\u2030\":\"\\\\x89\",\\\\u0160:\"\\\\x8A\",\"\\\\u2039\":\"\\\\x8B\",\\\\u0152:\"\\\\x8C\",\\\\u017D:\"\\\\x8E\",\"\\\\u2018\":\"\\\\x91\",\"\\\\u2019\":\"\\\\x92\",\"\\\\u201C\":\"\\\\x93\",\"\\\\u201D\":\"\\\\x94\",\"\\\\u2022\":\"\\\\x95\",\"\\\\u2013\":\"\\\\x96\",\"\\\\u2014\":\"\\\\x97\",\"\\\\u02DC\":\"\\\\x98\",\"\\\\u2122\":\"\\\\x99\",\\\\u0161:\"\\\\x9A\",\"\\\\u203A\":\"\\\\x9B\",\\\\u0153:\"\\\\x9C\",\\\\u017E:\"\\\\x9E\",\\\\u0178:\"\\\\x9F\"};return Array.isArray(e)&&(e=new Uint8Array(e)),new TextDecoder(\"latin1\").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(i){return r[i]||i})}catch{}for(var a=[],n=0;n!=e.length;++n)a.push(String.fromCharCode(e[n]));return a.join(\"\")}function ar(e){if(typeof JSON<\"u\"&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(typeof e!=\"object\"||e==null)return e;if(e instanceof Date)return new Date(e.getTime());var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=ar(e[r]));return t}function Fe(e,t){for(var r=\"\";r.length<t;)r+=e;return r}function Cr(e){var t=Number(e);if(!isNaN(t))return isFinite(t)?t:NaN;if(!/\\\\d/.test(e))return t;var r=1,a=e.replace(/([\\\\d]),([\\\\d])/g,\"\\$1\\$2\").replace(/[\\$]/g,\"\").replace(/[%]/g,function(){return r*=100,\"\"});return!isNaN(t=Number(a))||(a=a.replace(/[(](.*)[)]/,function(n,i){return r=-r,i}),!isNaN(t=Number(a)))?t/r:t}var Rs=[\"january\",\"february\",\"march\",\"april\",\"may\",\"june\",\"july\",\"august\",\"september\",\"october\",\"november\",\"december\"];function It(e){var t=new Date(e),r=new Date(NaN),a=t.getYear(),n=t.getMonth(),i=t.getDate();if(isNaN(i))return r;var s=e.toLowerCase();if(s.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)){if(s=s.replace(/[^a-z]/g,\"\").replace(/([^a-z]|^)[ap]m?([^a-z]|\\$)/,\"\"),s.length>3&&Rs.indexOf(s)==-1)return r}else if(s.match(/[a-z]/))return r;return a<0||a>8099?r:(n>0||i>1)&&a!=101?t:e.match(/[^-0-9:,\\\\/\\\\\\\\]/)?r:t}function oe(e,t,r){if(e.FullPaths){if(typeof r==\"string\"){var a;return xe?a=Rr(r):a=rs(r),we.utils.cfb_add(e,t,a)}we.utils.cfb_add(e,t,r)}else e.file(t,r)}function Wa(){return we.utils.cfb_new()}var Oe=\\`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\\\r\n\\`;var Ns={\"&quot;\":'\"',\"&apos;\":\"'\",\"&gt;\":\">\",\"&lt;\":\"<\",\"&amp;\":\"&\"},Ha=Ua(Ns);var Va=/[&<>'\"]/g,bs=/[\\\\u0000-\\\\u0008\\\\u000b-\\\\u001f]/g;function me(e){var t=e+\"\";return t.replace(Va,function(r){return Ha[r]}).replace(bs,function(r){return\"_x\"+(\"000\"+r.charCodeAt(0).toString(16)).slice(-4)+\"_\"})}function I0(e){return me(e).replace(/ /g,\"_x0020_\")}var Tn=/[\\\\u0000-\\\\u001f]/g;function Ps(e){var t=e+\"\";return t.replace(Va,function(r){return Ha[r]}).replace(/\\\\n/g,\"<br/>\").replace(Tn,function(r){return\"&#x\"+(\"000\"+r.charCodeAt(0).toString(16)).slice(-4)+\";\"})}function Ls(e){var t=e+\"\";return t.replace(Va,function(r){return Ha[r]}).replace(Tn,function(r){return\"&#x\"+r.charCodeAt(0).toString(16).toUpperCase()+\";\"})}function Bs(e){return e.replace(/(\\\\r\\\\n|[\\\\r\\\\n])/g,\"&#10;\")}function Ms(e){switch(e){case 1:case!0:case\"1\":case\"true\":case\"TRUE\":return!0;default:return!1}}function ya(e){for(var t=\"\",r=0,a=0,n=0,i=0,s=0,f=0;r<e.length;){if(a=e.charCodeAt(r++),a<128){t+=String.fromCharCode(a);continue}if(n=e.charCodeAt(r++),a>191&&a<224){s=(a&31)<<6,s|=n&63,t+=String.fromCharCode(s);continue}if(i=e.charCodeAt(r++),a<240){t+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(r++),f=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536,t+=String.fromCharCode(55296+(f>>>10&1023)),t+=String.fromCharCode(56320+(f&1023))}return t}function R0(e){var t=\\$r(2*e.length),r,a,n=1,i=0,s=0,f;for(a=0;a<e.length;a+=n)n=1,(f=e.charCodeAt(a))<128?r=f:f<224?(r=(f&31)*64+(e.charCodeAt(a+1)&63),n=2):f<240?(r=(f&15)*4096+(e.charCodeAt(a+1)&63)*64+(e.charCodeAt(a+2)&63),n=3):(n=4,r=(f&7)*262144+(e.charCodeAt(a+1)&63)*4096+(e.charCodeAt(a+2)&63)*64+(e.charCodeAt(a+3)&63),r-=65536,s=55296+(r>>>10&1023),r=56320+(r&1023)),s!==0&&(t[i++]=s&255,t[i++]=s>>>8,s=0),t[i++]=r%256,t[i++]=r>>>8;return t.slice(0,i).toString(\"ucs2\")}function N0(e){return Rr(e,\"binary\").toString(\"utf8\")}var \\$t=\"foo bar baz\\\\xE2\\\\x98\\\\x83\\\\xF0\\\\x9F\\\\x8D\\\\xA3\",Tt=xe&&(N0(\\$t)==ya(\\$t)&&N0||R0(\\$t)==ya(\\$t)&&R0)||ya,yr=xe?function(e){return Rr(e,\"utf8\").toString(\"binary\")}:function(e){for(var t=[],r=0,a=0,n=0;r<e.length;)switch(a=e.charCodeAt(r++),!0){case a<128:t.push(String.fromCharCode(a));break;case a<2048:t.push(String.fromCharCode(192+(a>>6))),t.push(String.fromCharCode(128+(a&63)));break;case(a>=55296&&a<57344):a-=55296,n=e.charCodeAt(r++)-56320+(a<<10),t.push(String.fromCharCode(240+(n>>18&7))),t.push(String.fromCharCode(144+(n>>12&63))),t.push(String.fromCharCode(128+(n>>6&63))),t.push(String.fromCharCode(128+(n&63)));break;default:t.push(String.fromCharCode(224+(a>>12))),t.push(String.fromCharCode(128+(a>>6&63))),t.push(String.fromCharCode(128+(a&63)))}return t.join(\"\")};var Us=(function(){var e=[[\"nbsp\",\" \"],[\"middot\",\"\\\\xB7\"],[\"quot\",'\"'],[\"apos\",\"'\"],[\"gt\",\">\"],[\"lt\",\"<\"],[\"amp\",\"&\"]].map(function(t){return[new RegExp(\"&\"+t[0]+\";\",\"ig\"),t[1]]});return function(r){for(var a=r.replace(/^[\\\\t\\\\n\\\\r ]+/,\"\").replace(/[\\\\t\\\\n\\\\r ]+\\$/,\"\").replace(/>\\\\s+/g,\">\").replace(/\\\\s+</g,\"<\").replace(/[\\\\t\\\\n\\\\r ]+/g,\" \").replace(/<\\\\s*[bB][rR]\\\\s*\\\\/?>/g,\\`\n\\`).replace(/<[^>]*>/g,\"\"),n=0;n<e.length;++n)a=a.replace(e[n][0],e[n][1]);return a}})();var Sn=/(^\\\\s|\\\\s\\$|\\\\n)/;function Xe(e,t){return\"<\"+e+(t.match(Sn)?' xml:space=\"preserve\"':\"\")+\">\"+t+\"</\"+e+\">\"}function Rt(e){return ze(e).map(function(t){return\" \"+t+'=\"'+e[t]+'\"'}).join(\"\")}function j(e,t,r){return\"<\"+e+(r!=null?Rt(r):\"\")+(t!=null?(t.match(Sn)?' xml:space=\"preserve\"':\"\")+\">\"+t+\"</\"+e:\"/\")+\">\"}function ba(e,t){try{return e.toISOString().replace(/\\\\.\\\\d*/,\"\")}catch(r){if(t)throw r}return\"\"}function Ws(e,t){switch(typeof e){case\"string\":var r=j(\"vt:lpwstr\",me(e));return t&&(r=r.replace(/&quot;/g,\"_x0022_\")),r;case\"number\":return j((e|0)==e?\"vt:i4\":\"vt:r8\",me(String(e)));case\"boolean\":return j(\"vt:bool\",e?\"true\":\"false\")}if(e instanceof Date)return j(\"vt:filetime\",ba(e));throw new Error(\"Unable to serialize \"+e)}var Pe={CORE_PROPS:\"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\",CUST_PROPS:\"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\",EXT_PROPS:\"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",CT:\"http://schemas.openxmlformats.org/package/2006/content-types\",RELS:\"http://schemas.openxmlformats.org/package/2006/relationships\",TCMNT:\"http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments\",dc:\"http://purl.org/dc/elements/1.1/\",dcterms:\"http://purl.org/dc/terms/\",dcmitype:\"http://purl.org/dc/dcmitype/\",mx:\"http://schemas.microsoft.com/office/mac/excel/2008/main\",r:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",sjs:\"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties\",vt:\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\",xsi:\"http://www.w3.org/2001/XMLSchema-instance\",xsd:\"http://www.w3.org/2001/XMLSchema\"},xt=[\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\",\"http://purl.oclc.org/ooxml/spreadsheetml/main\",\"http://schemas.microsoft.com/office/excel/2006/main\",\"http://schemas.microsoft.com/office/excel/2006/2\"],fr={o:\"urn:schemas-microsoft-com:office:office\",x:\"urn:schemas-microsoft-com:office:excel\",ss:\"urn:schemas-microsoft-com:office:spreadsheet\",dt:\"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882\",mv:\"http://macVmlSchemaUri\",v:\"urn:schemas-microsoft-com:vml\",html:\"http://www.w3.org/TR/REC-html40\"};function Hs(e,t){for(var r=1-2*(e[t+7]>>>7),a=((e[t+7]&127)<<4)+(e[t+6]>>>4&15),n=e[t+6]&15,i=5;i>=0;--i)n=n*256+e[t+i];return a==2047?n==0?r*(1/0):NaN:(a==0?a=-1022:(a-=1023,n+=Math.pow(2,52)),r*Math.pow(2,a-52)*n)}function Vs(e,t,r){var a=(t<0||1/t==-1/0?1:0)<<7,n=0,i=0,s=a?-t:t;isFinite(s)?s==0?n=i=0:(n=Math.floor(Math.log(s)/Math.LN2),i=s*Math.pow(2,52-n),n<=-1023&&(!isFinite(i)||i<Math.pow(2,52))?n=-1022:(i-=Math.pow(2,52),n+=1023)):(n=2047,i=isNaN(t)?26985:0);for(var f=0;f<=5;++f,i/=256)e[r+f]=i&255;e[r+6]=(n&15)<<4|i&15,e[r+7]=n>>4|a}var b0=function(e){for(var t=[],r=10240,a=0;a<e[0].length;++a)if(e[0][a])for(var n=0,i=e[0][a].length;n<i;n+=r)t.push.apply(t,e[0][a].slice(n,n+r));return t},P0=xe?function(e){return e[0].length>0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(t){return Buffer.isBuffer(t)?t:Rr(t)})):b0(e)}:b0,L0=function(e,t,r){for(var a=[],n=t;n<r;n+=2)a.push(String.fromCharCode(Et(e,n)));return a.join(\"\").replace(st,\"\")},va=xe?function(e,t,r){return Buffer.isBuffer(e)?e.toString(\"utf16le\",t,r).replace(st,\"\"):L0(e,t,r)}:L0,B0=function(e,t,r){for(var a=[],n=t;n<t+r;++n)a.push((\"0\"+e[n].toString(16)).slice(-2));return a.join(\"\")},Fn=xe?function(e,t,r){return Buffer.isBuffer(e)?e.toString(\"hex\",t,t+r):B0(e,t,r)}:B0,M0=function(e,t,r){for(var a=[],n=t;n<r;n++)a.push(String.fromCharCode(nt(e,n)));return a.join(\"\")},dt=xe?function(t,r,a){return Buffer.isBuffer(t)?t.toString(\"utf8\",r,a):M0(t,r,a)}:M0,yn=function(e,t){var r=be(e,t);return r>0?dt(e,t+4,t+4+r-1):\"\"},Xa=yn,An=function(e,t){var r=be(e,t);return r>0?dt(e,t+4,t+4+r-1):\"\"},Ga=An,Cn=function(e,t){var r=2*be(e,t);return r>0?dt(e,t+4,t+4+r-1):\"\"},za=Cn,Dn=function(t,r){var a=be(t,r);return a>0?va(t,r+4,r+4+a):\"\"},\\$a=Dn,On=function(e,t){var r=be(e,t);return r>0?dt(e,t+4,t+4+r):\"\"},Ka=On,In=function(e,t){return Hs(e,t)},ra=In,ja=function(t){return Array.isArray(t)||typeof Uint8Array<\"u\"&&t instanceof Uint8Array};xe&&(Xa=function(t,r){if(!Buffer.isBuffer(t))return yn(t,r);var a=t.readUInt32LE(r);return a>0?t.toString(\"utf8\",r+4,r+4+a-1):\"\"},Ga=function(t,r){if(!Buffer.isBuffer(t))return An(t,r);var a=t.readUInt32LE(r);return a>0?t.toString(\"utf8\",r+4,r+4+a-1):\"\"},za=function(t,r){if(!Buffer.isBuffer(t))return Cn(t,r);var a=2*t.readUInt32LE(r);return t.toString(\"utf16le\",r+4,r+4+a-1)},\\$a=function(t,r){if(!Buffer.isBuffer(t))return Dn(t,r);var a=t.readUInt32LE(r);return t.toString(\"utf16le\",r+4,r+4+a)},Ka=function(t,r){if(!Buffer.isBuffer(t))return On(t,r);var a=t.readUInt32LE(r);return t.toString(\"utf8\",r+4,r+4+a)},ra=function(t,r){return Buffer.isBuffer(t)?t.readDoubleLE(r):In(t,r)},ja=function(t){return Buffer.isBuffer(t)||Array.isArray(t)||typeof Uint8Array<\"u\"&&t instanceof Uint8Array});function Xs(){va=function(e,t,r){return ke.utils.decode(1200,e.slice(t,r)).replace(st,\"\")},dt=function(e,t,r){return ke.utils.decode(65001,e.slice(t,r))},Xa=function(e,t){var r=be(e,t);return r>0?ke.utils.decode(ut,e.slice(t+4,t+4+r-1)):\"\"},Ga=function(e,t){var r=be(e,t);return r>0?ke.utils.decode(Gr,e.slice(t+4,t+4+r-1)):\"\"},za=function(e,t){var r=2*be(e,t);return r>0?ke.utils.decode(1200,e.slice(t+4,t+4+r-1)):\"\"},\\$a=function(e,t){var r=be(e,t);return r>0?ke.utils.decode(1200,e.slice(t+4,t+4+r)):\"\"},Ka=function(e,t){var r=be(e,t);return r>0?ke.utils.decode(65001,e.slice(t+4,t+4+r)):\"\"}}typeof ke<\"u\"&&Xs();var nt=function(e,t){return e[t]},Et=function(e,t){return e[t+1]*256+e[t]},Gs=function(e,t){var r=e[t+1]*256+e[t];return r<32768?r:(65535-r+1)*-1},be=function(e,t){return e[t+3]*(1<<24)+(e[t+2]<<16)+(e[t+1]<<8)+e[t]},Xr=function(e,t){return e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]},zs=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};function St(e,t){var r=\"\",a,n,i=[],s,f,o,c;switch(t){case\"dbcs\":if(c=this.l,xe&&Buffer.isBuffer(this))r=this.slice(this.l,this.l+2*e).toString(\"utf16le\");else for(o=0;o<e;++o)r+=String.fromCharCode(Et(this,c)),c+=2;e*=2;break;case\"utf8\":r=dt(this,this.l,this.l+e);break;case\"utf16le\":e*=2,r=va(this,this.l,this.l+e);break;case\"wstr\":if(typeof ke<\"u\")r=ke.utils.decode(Gr,this.slice(this.l,this.l+2*e));else return St.call(this,e,\"dbcs\");e=2*e;break;case\"lpstr-ansi\":r=Xa(this,this.l),e=4+be(this,this.l);break;case\"lpstr-cp\":r=Ga(this,this.l),e=4+be(this,this.l);break;case\"lpwstr\":r=za(this,this.l),e=4+2*be(this,this.l);break;case\"lpp4\":e=4+be(this,this.l),r=\\$a(this,this.l),e&2&&(e+=2);break;case\"8lpp4\":e=4+be(this,this.l),r=Ka(this,this.l),e&3&&(e+=4-(e&3));break;case\"cstr\":for(e=0,r=\"\";(s=nt(this,this.l+e++))!==0;)i.push(Vt(s));r=i.join(\"\");break;case\"_wstr\":for(e=0,r=\"\";(s=Et(this,this.l+e))!==0;)i.push(Vt(s)),e+=2;e+=2,r=i.join(\"\");break;case\"dbcs-cont\":for(r=\"\",c=this.l,o=0;o<e;++o){if(this.lens&&this.lens.indexOf(c)!==-1)return s=nt(this,c),this.l=c+1,f=St.call(this,e-o,s?\"dbcs-cont\":\"sbcs-cont\"),i.join(\"\")+f;i.push(Vt(Et(this,c))),c+=2}r=i.join(\"\"),e*=2;break;case\"cpstr\":if(typeof ke<\"u\"){r=ke.utils.decode(Gr,this.slice(this.l,this.l+e));break}case\"sbcs-cont\":for(r=\"\",c=this.l,o=0;o!=e;++o){if(this.lens&&this.lens.indexOf(c)!==-1)return s=nt(this,c),this.l=c+1,f=St.call(this,e-o,s?\"dbcs-cont\":\"sbcs-cont\"),i.join(\"\")+f;i.push(Vt(nt(this,c))),c+=1}r=i.join(\"\");break;default:switch(e){case 1:return a=nt(this,this.l),this.l++,a;case 2:return a=(t===\"i\"?Gs:Et)(this,this.l),this.l+=2,a;case 4:case-4:return t===\"i\"||(this[this.l+3]&128)===0?(a=(e>0?Xr:zs)(this,this.l),this.l+=4,a):(n=be(this,this.l),this.l+=4,n);case 8:case-8:if(t===\"f\")return e==8?n=ra(this,this.l):n=ra([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0),this.l+=8,n;e=8;case 16:r=Fn(this,this.l,e);break}}return this.l+=e,r}var \\$s=function(e,t,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24&255},Ks=function(e,t,r){e[r]=t&255,e[r+1]=t>>8&255,e[r+2]=t>>16&255,e[r+3]=t>>24&255},js=function(e,t,r){e[r]=t&255,e[r+1]=t>>>8&255};function Ys(e,t,r){var a=0,n=0;if(r===\"dbcs\"){for(n=0;n!=t.length;++n)js(this,t.charCodeAt(n),this.l+2*n);a=2*t.length}else if(r===\"sbcs\"){if(typeof ke<\"u\"&&ut==874)for(n=0;n!=t.length;++n){var i=ke.utils.encode(ut,t.charAt(n));this[this.l+n]=i[0]}else for(t=t.replace(/[^\\\\x00-\\\\x7F]/g,\"_\"),n=0;n!=t.length;++n)this[this.l+n]=t.charCodeAt(n)&255;a=t.length}else if(r===\"hex\"){for(;n<e;++n)this[this.l++]=parseInt(t.slice(2*n,2*n+2),16)||0;return this}else if(r===\"utf16le\"){var s=Math.min(this.l+e,this.length);for(n=0;n<Math.min(t.length,e);++n){var f=t.charCodeAt(n);this[this.l++]=f&255,this[this.l++]=f>>8}for(;this.l<s;)this[this.l++]=0;return this}else switch(e){case 1:a=1,this[this.l]=t&255;break;case 2:a=2,this[this.l]=t&255,t>>>=8,this[this.l+1]=t&255;break;case 3:a=3,this[this.l]=t&255,t>>>=8,this[this.l+1]=t&255,t>>>=8,this[this.l+2]=t&255;break;case 4:a=4,\\$s(this,t,this.l);break;case 8:if(a=8,r===\"f\"){Vs(this,t,this.l);break}case 16:break;case-4:a=4,Ks(this,t,this.l);break}return this.l+=a,this}function Rn(e,t){var r=Fn(this,this.l,e.length>>1);if(r!==e)throw new Error(t+\"Expected \"+e+\" saw \"+r);this.l+=e.length>>1}function sr(e,t){e.l=t,e.read_shift=St,e.chk=Rn,e.write_shift=Ys}function Tr(e,t){e.l+=t}function b(e){var t=\\$r(e);return sr(t,0),t}function rr(){var e=[],t=xe?256:2048,r=function(c){var l=b(c);return sr(l,0),l},a=r(t),n=function(){a&&(a.length>a.l&&(a=a.slice(0,a.l),a.l=a.length),a.length>0&&e.push(a),a=null)},i=function(c){return a&&c<a.length-a.l?a:(n(),a=r(Math.max(c+1,t)))},s=function(){return n(),Ve(e)},f=function(c){n(),a=c,a.l==null&&(a.l=a.length),i(t)};return{next:i,push:f,end:s,_bufs:e}}function H(e,t,r,a){var n=+t,i;if(!isNaN(n)){a||(a=Gh[n].p||(r||[]).length||0),i=1+(n>=128?1:0)+1,a>=128&&++i,a>=16384&&++i,a>=2097152&&++i;var s=e.next(i);n<=127?s.write_shift(1,n):(s.write_shift(1,(n&127)+128),s.write_shift(1,n>>7));for(var f=0;f!=4;++f)if(a>=128)s.write_shift(1,(a&127)+128),a>>=7;else{s.write_shift(1,a);break}a>0&&ja(r)&&e.push(r)}}function Ft(e,t,r){var a=ar(e);if(t.s?(a.cRel&&(a.c+=t.s.c),a.rRel&&(a.r+=t.s.r)):(a.cRel&&(a.c+=t.c),a.rRel&&(a.r+=t.r)),!r||r.biff<12){for(;a.c>=256;)a.c-=256;for(;a.r>=65536;)a.r-=65536}return a}function U0(e,t,r){var a=ar(e);return a.s=Ft(a.s,t.s,r),a.e=Ft(a.e,t.s,r),a}function yt(e,t){if(e.cRel&&e.c<0)for(e=ar(e);e.c<0;)e.c+=t>8?16384:256;if(e.rRel&&e.r<0)for(e=ar(e);e.r<0;)e.r+=t>8?1048576:t>5?65536:16384;var r=ge(e);return!e.cRel&&e.cRel!=null&&(r=Zs(r)),!e.rRel&&e.rRel!=null&&(r=Js(r)),r}function Aa(e,t){return e.s.r==0&&!e.s.rRel&&e.e.r==(t.biff>=12?1048575:t.biff>=8?65536:16384)&&!e.e.rRel?(e.s.cRel?\"\":\"\\$\")+\\$e(e.s.c)+\":\"+(e.e.cRel?\"\":\"\\$\")+\\$e(e.e.c):e.s.c==0&&!e.s.cRel&&e.e.c==(t.biff>=12?16383:255)&&!e.e.cRel?(e.s.rRel?\"\":\"\\$\")+Ge(e.s.r)+\":\"+(e.e.rRel?\"\":\"\\$\")+Ge(e.e.r):yt(e.s,t.biff)+\":\"+yt(e.e,t.biff)}function Ya(e){return parseInt(qs(e),10)-1}function Ge(e){return\"\"+(e+1)}function Js(e){return e.replace(/([A-Z]|^)(\\\\d+)\\$/,\"\\$1\\$\\$\\$2\")}function qs(e){return e.replace(/\\\\\\$(\\\\d+)\\$/,\"\\$1\")}function Ja(e){for(var t=Qs(e),r=0,a=0;a!==t.length;++a)r=26*r+t.charCodeAt(a)-64;return r-1}function \\$e(e){if(e<0)throw new Error(\"invalid column \"+e);var t=\"\";for(++e;e;e=Math.floor((e-1)/26))t=String.fromCharCode((e-1)%26+65)+t;return t}function Zs(e){return e.replace(/^([A-Z])/,\"\\$\\$\\$1\")}function Qs(e){return e.replace(/^\\\\\\$([A-Z])/,\"\\$1\")}function ef(e){return e.replace(/(\\\\\\$?[A-Z]*)(\\\\\\$?\\\\d*)/,\"\\$1,\\$2\").split(\",\")}function Le(e){for(var t=0,r=0,a=0;a<e.length;++a){var n=e.charCodeAt(a);n>=48&&n<=57?t=10*t+(n-48):n>=65&&n<=90&&(r=26*r+(n-64))}return{c:r-1,r:t-1}}function ge(e){for(var t=e.c+1,r=\"\";t;t=(t-1)/26|0)r=String.fromCharCode((t-1)%26+65)+r;return r+(e.r+1)}function cr(e){var t=e.indexOf(\":\");return t==-1?{s:Le(e),e:Le(e)}:{s:Le(e.slice(0,t)),e:Le(e.slice(t+1))}}function De(e,t){return typeof t>\"u\"||typeof t==\"number\"?De(e.s,e.e):(typeof e!=\"string\"&&(e=ge(e)),typeof t!=\"string\"&&(t=ge(t)),e==t?e:e+\":\"+t)}function Te(e){var t={s:{c:0,r:0},e:{c:0,r:0}},r=0,a=0,n=0,i=e.length;for(r=0;a<i&&!((n=e.charCodeAt(a)-64)<1||n>26);++a)r=26*r+n;for(t.s.c=--r,r=0;a<i&&!((n=e.charCodeAt(a)-48)<0||n>9);++a)r=10*r+n;if(t.s.r=--r,a===i||n!=10)return t.e.c=t.s.c,t.e.r=t.s.r,t;for(++a,r=0;a!=i&&!((n=e.charCodeAt(a)-64)<1||n>26);++a)r=26*r+n;for(t.e.c=--r,r=0;a!=i&&!((n=e.charCodeAt(a)-48)<0||n>9);++a)r=10*r+n;return t.e.r=--r,t}function W0(e,t){var r=e.t==\"d\"&&t instanceof Date;if(e.z!=null)try{return e.w=Lr(e.z,r?tr(t):t)}catch{}try{return e.w=Lr((e.XF||{}).numFmtId||(r?14:0),r?tr(t):t)}catch{return\"\"+t}}function Ir(e,t,r){return e==null||e.t==null||e.t==\"z\"?\"\":e.w!==void 0?e.w:(e.t==\"d\"&&!e.z&&r&&r.dateNF&&(e.z=r.dateNF),e.t==\"e\"?Bt[e.v]||e.v:t==null?W0(e,e.v):W0(e,t))}function Yr(e,t){var r=t&&t.sheet?t.sheet:\"Sheet1\",a={};return a[r]=e,{SheetNames:[r],Sheets:a}}function Nn(e,t,r){var a=r||{},n=e?Array.isArray(e):a.dense;Er!=null&&n==null&&(n=Er);var i=e||(n?[]:{}),s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin==\"number\")s=a.origin;else{var o=typeof a.origin==\"string\"?Le(a.origin):a.origin;s=o.r,f=o.c}i[\"!ref\"]||(i[\"!ref\"]=\"A1:A1\")}var c={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i[\"!ref\"]){var l=Te(i[\"!ref\"]);c.s.c=l.s.c,c.s.r=l.s.r,c.e.c=Math.max(c.e.c,l.e.c),c.e.r=Math.max(c.e.r,l.e.r),s==-1&&(c.e.r=s=l.e.r+1)}for(var v=0;v!=t.length;++v)if(t[v]){if(!Array.isArray(t[v]))throw new Error(\"aoa_to_sheet expects an array of arrays\");for(var h=0;h!=t[v].length;++h)if(!(typeof t[v][h]>\"u\")){var d={v:t[v][h]},_=s+v,u=f+h;if(c.s.r>_&&(c.s.r=_),c.s.c>u&&(c.s.c=u),c.e.r<_&&(c.e.r=_),c.e.c<u&&(c.e.c=u),t[v][h]&&typeof t[v][h]==\"object\"&&!Array.isArray(t[v][h])&&!(t[v][h]instanceof Date))d=t[v][h];else if(Array.isArray(d.v)&&(d.f=t[v][h][1],d.v=d.v[0]),d.v===null)if(d.f)d.t=\"n\";else if(a.nullError)d.t=\"e\",d.v=0;else if(a.sheetStubs)d.t=\"z\";else continue;else typeof d.v==\"number\"?d.t=\"n\":typeof d.v==\"boolean\"?d.t=\"b\":d.v instanceof Date?(d.z=a.dateNF||ye[14],a.cellDates?(d.t=\"d\",d.w=Lr(d.z,tr(d.v))):(d.t=\"n\",d.v=tr(d.v),d.w=Lr(d.z,d.v))):d.t=\"s\";if(n)i[_]||(i[_]=[]),i[_][u]&&i[_][u].z&&(d.z=i[_][u].z),i[_][u]=d;else{var g=ge({c:u,r:_});i[g]&&i[g].z&&(d.z=i[g].z),i[g]=d}}}return c.s.c<1e7&&(i[\"!ref\"]=De(c)),i}function vt(e,t){return Nn(null,e,t)}function rf(e){return e.read_shift(4,\"i\")}function gr(e,t){return t||(t=b(4)),t.write_shift(4,e),t}function Ke(e){var t=e.read_shift(4);return t===0?\"\":e.read_shift(t,\"dbcs\")}function Be(e,t){var r=!1;return t==null&&(r=!0,t=b(4+2*e.length)),t.write_shift(4,e.length),e.length>0&&t.write_shift(0,e,\"dbcs\"),r?t.slice(0,t.l):t}function tf(e){return{ich:e.read_shift(2),ifnt:e.read_shift(2)}}function af(e,t){return t||(t=b(4)),t.write_shift(2,e.ich||0),t.write_shift(2,e.ifnt||0),t}function qa(e,t){var r=e.l,a=e.read_shift(1),n=Ke(e),i=[],s={t:n,h:n};if((a&1)!==0){for(var f=e.read_shift(4),o=0;o!=f;++o)i.push(tf(e));s.r=i}else s.r=[{ich:0,ifnt:0}];return e.l=r+t,s}function nf(e,t){var r=!1;return t==null&&(r=!0,t=b(15+4*e.t.length)),t.write_shift(1,0),Be(e.t,t),r?t.slice(0,t.l):t}var sf=qa;function ff(e,t){var r=!1;return t==null&&(r=!0,t=b(23+4*e.t.length)),t.write_shift(1,1),Be(e.t,t),t.write_shift(4,1),af({ich:0,ifnt:0},t),r?t.slice(0,t.l):t}function hr(e){var t=e.read_shift(4),r=e.read_shift(2);return r+=e.read_shift(1)<<16,e.l++,{c:t,iStyleRef:r}}function Jr(e,t){return t==null&&(t=b(8)),t.write_shift(-4,e.c),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}function qr(e){var t=e.read_shift(2);return t+=e.read_shift(1)<<16,e.l++,{c:-1,iStyleRef:t}}function Zr(e,t){return t==null&&(t=b(4)),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}var cf=Ke,bn=Be;function Za(e){var t=e.read_shift(4);return t===0||t===4294967295?\"\":e.read_shift(t,\"dbcs\")}function ta(e,t){var r=!1;return t==null&&(r=!0,t=b(127)),t.write_shift(4,e.length>0?e.length:4294967295),e.length>0&&t.write_shift(0,e,\"dbcs\"),r?t.slice(0,t.l):t}var of=Ke,Pa=Za,Qa=ta;function Pn(e){var t=e.slice(e.l,e.l+4),r=t[0]&1,a=t[0]&2;e.l+=4;var n=a===0?ra([0,0,0,0,t[0]&252,t[1],t[2],t[3]],0):Xr(t,0)>>2;return r?n/100:n}function Ln(e,t){t==null&&(t=b(4));var r=0,a=0,n=e*100;if(e==(e|0)&&e>=-(1<<29)&&e<1<<29?a=1:n==(n|0)&&n>=-(1<<29)&&n<1<<29&&(a=1,r=1),a)t.write_shift(-4,((r?n:e)<<2)+(r+2));else throw new Error(\"unsupported RkNumber \"+e)}function Bn(e){var t={s:{},e:{}};return t.s.r=e.read_shift(4),t.e.r=e.read_shift(4),t.s.c=e.read_shift(4),t.e.c=e.read_shift(4),t}function lf(e,t){return t||(t=b(16)),t.write_shift(4,e.s.r),t.write_shift(4,e.e.r),t.write_shift(4,e.s.c),t.write_shift(4,e.e.c),t}var Qr=Bn,pt=lf;function mt(e){if(e.length-e.l<8)throw\"XLS Xnum Buffer underflow\";return e.read_shift(8,\"f\")}function Kr(e,t){return(t||b(8)).write_shift(8,e,\"f\")}function uf(e){var t={},r=e.read_shift(1),a=r>>>1,n=e.read_shift(1),i=e.read_shift(2,\"i\"),s=e.read_shift(1),f=e.read_shift(1),o=e.read_shift(1);switch(e.l++,a){case 0:t.auto=1;break;case 1:t.index=n;var c=wf[n];c&&(t.rgb=q0(c));break;case 2:t.rgb=q0([s,f,o]);break;case 3:t.theme=n;break}return i!=0&&(t.tint=i>0?i/32767:i/32768),t}function aa(e,t){if(t||(t=b(8)),!e||e.auto)return t.write_shift(4,0),t.write_shift(4,0),t;e.index!=null?(t.write_shift(1,2),t.write_shift(1,e.index)):e.theme!=null?(t.write_shift(1,6),t.write_shift(1,e.theme)):(t.write_shift(1,5),t.write_shift(1,0));var r=e.tint||0;if(r>0?r*=32767:r<0&&(r*=32768),t.write_shift(2,r),!e.rgb||e.theme!=null)t.write_shift(2,0),t.write_shift(1,0),t.write_shift(1,0);else{var a=e.rgb||\"FFFFFF\";typeof a==\"number\"&&(a=(\"000000\"+a.toString(16)).slice(-6)),t.write_shift(1,parseInt(a.slice(0,2),16)),t.write_shift(1,parseInt(a.slice(2,4),16)),t.write_shift(1,parseInt(a.slice(4,6),16)),t.write_shift(1,255)}return t}function hf(e){var t=e.read_shift(1);e.l++;var r={fBold:t&1,fItalic:t&2,fUnderline:t&4,fStrikeout:t&8,fOutline:t&16,fShadow:t&32,fCondense:t&64,fExtend:t&128};return r}function xf(e,t){t||(t=b(2));var r=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);return t.write_shift(1,r),t.write_shift(1,0),t}var Mn=2,ir=3,Kt=11;var na=19;var jt=64,df=65,vf=71;var pf=4108,mf=4126,He=80;var H0={1:{n:\"CodePage\",t:Mn},2:{n:\"Category\",t:He},3:{n:\"PresentationFormat\",t:He},4:{n:\"ByteCount\",t:ir},5:{n:\"LineCount\",t:ir},6:{n:\"ParagraphCount\",t:ir},7:{n:\"SlideCount\",t:ir},8:{n:\"NoteCount\",t:ir},9:{n:\"HiddenCount\",t:ir},10:{n:\"MultimediaClipCount\",t:ir},11:{n:\"ScaleCrop\",t:Kt},12:{n:\"HeadingPairs\",t:pf},13:{n:\"TitlesOfParts\",t:mf},14:{n:\"Manager\",t:He},15:{n:\"Company\",t:He},16:{n:\"LinksUpToDate\",t:Kt},17:{n:\"CharacterCount\",t:ir},19:{n:\"SharedDoc\",t:Kt},22:{n:\"HyperlinksChanged\",t:Kt},23:{n:\"AppVersion\",t:ir,p:\"version\"},24:{n:\"DigSig\",t:df},26:{n:\"ContentType\",t:He},27:{n:\"ContentStatus\",t:He},28:{n:\"Language\",t:He},29:{n:\"Version\",t:He},255:{},2147483648:{n:\"Locale\",t:na},2147483651:{n:\"Behavior\",t:na},1919054434:{}},V0={1:{n:\"CodePage\",t:Mn},2:{n:\"Title\",t:He},3:{n:\"Subject\",t:He},4:{n:\"Author\",t:He},5:{n:\"Keywords\",t:He},6:{n:\"Comments\",t:He},7:{n:\"Template\",t:He},8:{n:\"LastAuthor\",t:He},9:{n:\"RevNumber\",t:He},10:{n:\"EditTime\",t:jt},11:{n:\"LastPrinted\",t:jt},12:{n:\"CreatedDate\",t:jt},13:{n:\"ModifiedDate\",t:jt},14:{n:\"PageCount\",t:ir},15:{n:\"WordCount\",t:ir},16:{n:\"CharCount\",t:ir},17:{n:\"Thumbnail\",t:vf},18:{n:\"Application\",t:He},19:{n:\"DocSecurity\",t:ir},255:{},2147483648:{n:\"Locale\",t:na},2147483651:{n:\"Behavior\",t:na},1919054434:{}};function gf(e){return e.map(function(t){return[t>>16&255,t>>8&255,t&255]})}var _f=gf([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),wf=ar(_f),Bt={0:\"#NULL!\",7:\"#DIV/0!\",15:\"#VALUE!\",23:\"#REF!\",29:\"#NAME?\",36:\"#NUM!\",42:\"#N/A\",43:\"#GETTING_DATA\",255:\"#WTF?\"};var kf={\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\":\"workbooks\",\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\":\"workbooks\",\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\":\"workbooks\",\"application/vnd.ms-excel.addin.macroEnabled.main+xml\":\"workbooks\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\":\"workbooks\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\":\"sheets\",\"application/vnd.ms-excel.worksheet\":\"sheets\",\"application/vnd.ms-excel.binIndexWs\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\":\"charts\",\"application/vnd.ms-excel.chartsheet\":\"charts\",\"application/vnd.ms-excel.macrosheet+xml\":\"macros\",\"application/vnd.ms-excel.macrosheet\":\"macros\",\"application/vnd.ms-excel.intlmacrosheet\":\"TODO\",\"application/vnd.ms-excel.binIndexMs\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\":\"dialogs\",\"application/vnd.ms-excel.dialogsheet\":\"dialogs\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\":\"strs\",\"application/vnd.ms-excel.sharedStrings\":\"strs\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\":\"styles\",\"application/vnd.ms-excel.styles\":\"styles\",\"application/vnd.openxmlformats-package.core-properties+xml\":\"coreprops\",\"application/vnd.openxmlformats-officedocument.custom-properties+xml\":\"custprops\",\"application/vnd.openxmlformats-officedocument.extended-properties+xml\":\"extprops\",\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\":\"comments\",\"application/vnd.ms-excel.comments\":\"comments\",\"application/vnd.ms-excel.threadedcomments+xml\":\"threadedcomments\",\"application/vnd.ms-excel.person+xml\":\"people\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\":\"metadata\",\"application/vnd.ms-excel.sheetMetadata\":\"metadata\",\"application/vnd.ms-excel.pivotTable\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\":\"TODO\",\"application/vnd.ms-office.chartcolorstyle+xml\":\"TODO\",\"application/vnd.ms-office.chartstyle+xml\":\"TODO\",\"application/vnd.ms-office.chartex+xml\":\"TODO\",\"application/vnd.ms-excel.calcChain\":\"calcchains\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\":\"calcchains\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\":\"TODO\",\"application/vnd.ms-office.activeX\":\"TODO\",\"application/vnd.ms-office.activeX+xml\":\"TODO\",\"application/vnd.ms-excel.attachedToolbars\":\"TODO\",\"application/vnd.ms-excel.connections\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\":\"TODO\",\"application/vnd.ms-excel.externalLink\":\"links\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\":\"links\",\"application/vnd.ms-excel.pivotCacheDefinition\":\"TODO\",\"application/vnd.ms-excel.pivotCacheRecords\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\":\"TODO\",\"application/vnd.ms-excel.queryTable\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\":\"TODO\",\"application/vnd.ms-excel.userNames\":\"TODO\",\"application/vnd.ms-excel.revisionHeaders\":\"TODO\",\"application/vnd.ms-excel.revisionLog\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\":\"TODO\",\"application/vnd.ms-excel.tableSingleCells\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\":\"TODO\",\"application/vnd.ms-excel.slicer\":\"TODO\",\"application/vnd.ms-excel.slicerCache\":\"TODO\",\"application/vnd.ms-excel.slicer+xml\":\"TODO\",\"application/vnd.ms-excel.slicerCache+xml\":\"TODO\",\"application/vnd.ms-excel.wsSortMap\":\"TODO\",\"application/vnd.ms-excel.table\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.theme+xml\":\"themes\",\"application/vnd.openxmlformats-officedocument.themeOverride+xml\":\"TODO\",\"application/vnd.ms-excel.Timeline+xml\":\"TODO\",\"application/vnd.ms-excel.TimelineCache+xml\":\"TODO\",\"application/vnd.ms-office.vbaProject\":\"vba\",\"application/vnd.ms-office.vbaProjectSignature\":\"TODO\",\"application/vnd.ms-office.volatileDependencies\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\":\"TODO\",\"application/vnd.ms-excel.controlproperties+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.model+data\":\"TODO\",\"application/vnd.ms-excel.Survey+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawing+xml\":\"drawings\",\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.vmlDrawing\":\"TODO\",\"application/vnd.openxmlformats-package.relationships+xml\":\"rels\",\"application/vnd.openxmlformats-officedocument.oleObject\":\"TODO\",\"image/png\":\"TODO\",sheet:\"js\"},Yt={workbooks:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",xlsm:\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",xlsb:\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",xlam:\"application/vnd.ms-excel.addin.macroEnabled.main+xml\",xltx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"},strs:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",xlsb:\"application/vnd.ms-excel.sharedStrings\"},comments:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",xlsb:\"application/vnd.ms-excel.comments\"},sheets:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",xlsb:\"application/vnd.ms-excel.worksheet\"},charts:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",xlsb:\"application/vnd.ms-excel.chartsheet\"},dialogs:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",xlsb:\"application/vnd.ms-excel.dialogsheet\"},macros:{xlsx:\"application/vnd.ms-excel.macrosheet+xml\",xlsb:\"application/vnd.ms-excel.macrosheet\"},metadata:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\",xlsb:\"application/vnd.ms-excel.sheetMetadata\"},styles:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",xlsb:\"application/vnd.ms-excel.styles\"}};function Un(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:\"\"}}function Wn(e,t){var r=Ds(kf),a=[],n;a[a.length]=Oe,a[a.length]=j(\"Types\",null,{xmlns:Pe.CT,\"xmlns:xsd\":Pe.xsd,\"xmlns:xsi\":Pe.xsi}),a=a.concat([[\"xml\",\"application/xml\"],[\"bin\",\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\"],[\"vml\",\"application/vnd.openxmlformats-officedocument.vmlDrawing\"],[\"data\",\"application/vnd.openxmlformats-officedocument.model+data\"],[\"bmp\",\"image/bmp\"],[\"png\",\"image/png\"],[\"gif\",\"image/gif\"],[\"emf\",\"image/x-emf\"],[\"wmf\",\"image/x-wmf\"],[\"jpg\",\"image/jpeg\"],[\"jpeg\",\"image/jpeg\"],[\"tif\",\"image/tiff\"],[\"tiff\",\"image/tiff\"],[\"pdf\",\"application/pdf\"],[\"rels\",\"application/vnd.openxmlformats-package.relationships+xml\"]].map(function(o){return j(\"Default\",null,{Extension:o[0],ContentType:o[1]})}));var i=function(o){e[o]&&e[o].length>0&&(n=e[o][0],a[a.length]=j(\"Override\",null,{PartName:(n[0]==\"/\"?\"\":\"/\")+n,ContentType:Yt[o][t.bookType]||Yt[o].xlsx}))},s=function(o){(e[o]||[]).forEach(function(c){a[a.length]=j(\"Override\",null,{PartName:(c[0]==\"/\"?\"\":\"/\")+c,ContentType:Yt[o][t.bookType]||Yt[o].xlsx})})},f=function(o){(e[o]||[]).forEach(function(c){a[a.length]=j(\"Override\",null,{PartName:(c[0]==\"/\"?\"\":\"/\")+c,ContentType:r[o][0]})})};return i(\"workbooks\"),s(\"sheets\"),s(\"charts\"),f(\"themes\"),[\"strs\",\"styles\"].forEach(i),[\"coreprops\",\"extprops\",\"custprops\"].forEach(f),f(\"vba\"),f(\"comments\"),f(\"threadedcomments\"),f(\"drawings\"),s(\"metadata\"),f(\"people\"),a.length>2&&(a[a.length]=\"</Types>\",a[1]=a[1].replace(\"/>\",\">\")),a.join(\"\")}var he={WB:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",SHEET:\"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",HLINK:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",VML:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",XPATH:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",XMISS:\"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",XLINK:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",CXML:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\",CXMLP:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\",CMNT:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",CORE_PROPS:\"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",EXT_PROPS:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\",CUST_PROPS:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties\",SST:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\",STY:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",THEME:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\",CHART:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",CHARTEX:\"http://schemas.microsoft.com/office/2014/relationships/chartEx\",CS:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\",WS:[\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"],DS:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\",MS:\"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\",IMG:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",DRAW:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",XLMETA:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata\",TCMNT:\"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment\",PEOPLE:\"http://schemas.microsoft.com/office/2017/10/relationships/person\",VBA:\"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"};function Hn(e){var t=e.lastIndexOf(\"/\");return e.slice(0,t+1)+\"_rels/\"+e.slice(t+1)+\".rels\"}function ct(e){var t=[Oe,j(\"Relationships\",null,{xmlns:Pe.RELS})];return ze(e[\"!id\"]).forEach(function(r){t[t.length]=j(\"Relationship\",null,e[\"!id\"][r])}),t.length>2&&(t[t.length]=\"</Relationships>\",t[1]=t[1].replace(\"/>\",\">\")),t.join(\"\")}function pe(e,t,r,a,n,i){if(n||(n={}),e[\"!id\"]||(e[\"!id\"]={}),e[\"!idx\"]||(e[\"!idx\"]=1),t<0)for(t=e[\"!idx\"];e[\"!id\"][\"rId\"+t];++t);if(e[\"!idx\"]=t+1,n.Id=\"rId\"+t,n.Type=a,n.Target=r,i?n.TargetMode=i:[he.HLINK,he.XPATH,he.XMISS].indexOf(n.Type)>-1&&(n.TargetMode=\"External\"),e[\"!id\"][n.Id])throw new Error(\"Cannot rewrite rId \"+t);return e[\"!id\"][n.Id]=n,e[(\"/\"+n.Target).replace(\"//\",\"/\")]=n,t}function Ef(e){var t=[Oe];t.push(\\`<manifest:manifest xmlns:manifest=\"urn:oasis:names:tc:opendocument:xmlns:manifest:1.0\" manifest:version=\"1.2\">\n\\`),t.push(\\` <manifest:file-entry manifest:full-path=\"/\" manifest:version=\"1.2\" manifest:media-type=\"application/vnd.oasis.opendocument.spreadsheet\"/>\n\\`);for(var r=0;r<e.length;++r)t.push(' <manifest:file-entry manifest:full-path=\"'+e[r][0]+'\" manifest:media-type=\"'+e[r][1]+\\`\"/>\n\\`);return t.push(\"</manifest:manifest>\"),t.join(\"\")}function X0(e,t,r){return[' <rdf:Description rdf:about=\"'+e+\\`\">\n\\`,' <rdf:type rdf:resource=\"http://docs.oasis-open.org/ns/office/1.2/meta/'+(r||\"odf\")+\"#\"+t+\\`\"/>\n\\`,\\` </rdf:Description>\n\\`].join(\"\")}function Tf(e,t){return[' <rdf:Description rdf:about=\"'+e+\\`\">\n\\`,' <ns0:hasPart xmlns:ns0=\"http://docs.oasis-open.org/ns/office/1.2/meta/pkg#\" rdf:resource=\"'+t+\\`\"/>\n\\`,\\` </rdf:Description>\n\\`].join(\"\")}function Sf(e){var t=[Oe];t.push(\\`<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n\\`);for(var r=0;r!=e.length;++r)t.push(X0(e[r][0],e[r][1])),t.push(Tf(\"\",e[r][0]));return t.push(X0(\"\",\"Document\",\"pkg\")),t.push(\"</rdf:RDF>\"),t.join(\"\")}function Vn(){return'<office:document-meta xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" xmlns:meta=\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" office:version=\"1.2\"><office:meta><meta:generator>SheetJS '+Ct.version+\"</meta:generator></office:meta></office:document-meta>\"}var zr=[[\"cp:category\",\"Category\"],[\"cp:contentStatus\",\"ContentStatus\"],[\"cp:keywords\",\"Keywords\"],[\"cp:lastModifiedBy\",\"LastAuthor\"],[\"cp:lastPrinted\",\"LastPrinted\"],[\"cp:revision\",\"RevNumber\"],[\"cp:version\",\"Version\"],[\"dc:creator\",\"Author\"],[\"dc:description\",\"Comments\"],[\"dc:identifier\",\"Identifier\"],[\"dc:language\",\"Language\"],[\"dc:subject\",\"Subject\"],[\"dc:title\",\"Title\"],[\"dcterms:created\",\"CreatedDate\",\"date\"],[\"dcterms:modified\",\"ModifiedDate\",\"date\"]];function Ca(e,t,r,a,n){n[e]!=null||t==null||t===\"\"||(n[e]=t,t=me(t),a[a.length]=r?j(e,t,r):Xe(e,t))}function Xn(e,t){var r=t||{},a=[Oe,j(\"cp:coreProperties\",null,{\"xmlns:cp\":Pe.CORE_PROPS,\"xmlns:dc\":Pe.dc,\"xmlns:dcterms\":Pe.dcterms,\"xmlns:dcmitype\":Pe.dcmitype,\"xmlns:xsi\":Pe.xsi})],n={};if(!e&&!r.Props)return a.join(\"\");e&&(e.CreatedDate!=null&&Ca(\"dcterms:created\",typeof e.CreatedDate==\"string\"?e.CreatedDate:ba(e.CreatedDate,r.WTF),{\"xsi:type\":\"dcterms:W3CDTF\"},a,n),e.ModifiedDate!=null&&Ca(\"dcterms:modified\",typeof e.ModifiedDate==\"string\"?e.ModifiedDate:ba(e.ModifiedDate,r.WTF),{\"xsi:type\":\"dcterms:W3CDTF\"},a,n));for(var i=0;i!=zr.length;++i){var s=zr[i],f=r.Props&&r.Props[s[1]]!=null?r.Props[s[1]]:e?e[s[1]]:null;f===!0?f=\"1\":f===!1?f=\"0\":typeof f==\"number\"&&(f=String(f)),f!=null&&Ca(s[0],f,null,a,n)}return a.length>2&&(a[a.length]=\"</cp:coreProperties>\",a[1]=a[1].replace(\"/>\",\">\")),a.join(\"\")}var ot=[[\"Application\",\"Application\",\"string\"],[\"AppVersion\",\"AppVersion\",\"string\"],[\"Company\",\"Company\",\"string\"],[\"DocSecurity\",\"DocSecurity\",\"string\"],[\"Manager\",\"Manager\",\"string\"],[\"HyperlinksChanged\",\"HyperlinksChanged\",\"bool\"],[\"SharedDoc\",\"SharedDoc\",\"bool\"],[\"LinksUpToDate\",\"LinksUpToDate\",\"bool\"],[\"ScaleCrop\",\"ScaleCrop\",\"bool\"],[\"HeadingPairs\",\"HeadingPairs\",\"raw\"],[\"TitlesOfParts\",\"TitlesOfParts\",\"raw\"]],Gn=[\"Worksheets\",\"SheetNames\",\"NamedRanges\",\"DefinedNames\",\"Chartsheets\",\"ChartNames\"];function zn(e){var t=[],r=j;return e||(e={}),e.Application=\"SheetJS\",t[t.length]=Oe,t[t.length]=j(\"Properties\",null,{xmlns:Pe.EXT_PROPS,\"xmlns:vt\":Pe.vt}),ot.forEach(function(a){if(e[a[1]]!==void 0){var n;switch(a[2]){case\"string\":n=me(String(e[a[1]]));break;case\"bool\":n=e[a[1]]?\"true\":\"false\";break}n!==void 0&&(t[t.length]=r(a[0],n))}}),t[t.length]=r(\"HeadingPairs\",r(\"vt:vector\",r(\"vt:variant\",\"<vt:lpstr>Worksheets</vt:lpstr>\")+r(\"vt:variant\",r(\"vt:i4\",String(e.Worksheets))),{size:2,baseType:\"variant\"})),t[t.length]=r(\"TitlesOfParts\",r(\"vt:vector\",e.SheetNames.map(function(a){return\"<vt:lpstr>\"+me(a)+\"</vt:lpstr>\"}).join(\"\"),{size:e.Worksheets,baseType:\"lpstr\"})),t.length>2&&(t[t.length]=\"</Properties>\",t[1]=t[1].replace(\"/>\",\">\")),t.join(\"\")}function \\$n(e){var t=[Oe,j(\"Properties\",null,{xmlns:Pe.CUST_PROPS,\"xmlns:vt\":Pe.vt})];if(!e)return t.join(\"\");var r=1;return ze(e).forEach(function(n){++r,t[t.length]=j(\"property\",Ws(e[n],!0),{fmtid:\"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}\",pid:r,name:me(n)})}),t.length>2&&(t[t.length]=\"</Properties>\",t[1]=t[1].replace(\"/>\",\">\")),t.join(\"\")}var G0={Title:\"Title\",Subject:\"Subject\",Author:\"Author\",Keywords:\"Keywords\",Comments:\"Description\",LastAuthor:\"LastAuthor\",RevNumber:\"Revision\",Application:\"AppName\",LastPrinted:\"LastPrinted\",CreatedDate:\"Created\",ModifiedDate:\"LastSaved\",Category:\"Category\",Manager:\"Manager\",Company:\"Company\",AppVersion:\"Version\",ContentStatus:\"ContentStatus\",Identifier:\"Identifier\",Language:\"Language\"};function Ff(e,t){var r=[];return ze(G0).map(function(a){for(var n=0;n<zr.length;++n)if(zr[n][1]==a)return zr[n];for(n=0;n<ot.length;++n)if(ot[n][1]==a)return ot[n];throw a}).forEach(function(a){if(e[a[1]]!=null){var n=t&&t.Props&&t.Props[a[1]]!=null?t.Props[a[1]]:e[a[1]];a[2]===\"date\"&&(n=new Date(n).toISOString().replace(/\\\\.\\\\d*Z/,\"Z\")),typeof n==\"number\"?n=String(n):n===!0||n===!1?n=n?\"1\":\"0\":n instanceof Date&&(n=new Date(n).toISOString().replace(/\\\\.\\\\d*Z/,\"\")),r.push(Xe(G0[a[1]]||a[1],n))}}),j(\"DocumentProperties\",r.join(\"\"),{xmlns:fr.o})}function yf(e,t){var r=[\"Worksheets\",\"SheetNames\"],a=\"CustomDocumentProperties\",n=[];return e&&ze(e).forEach(function(i){if(Object.prototype.hasOwnProperty.call(e,i)){for(var s=0;s<zr.length;++s)if(i==zr[s][1])return;for(s=0;s<ot.length;++s)if(i==ot[s][1])return;for(s=0;s<r.length;++s)if(i==r[s])return;var f=e[i],o=\"string\";typeof f==\"number\"?(o=\"float\",f=String(f)):f===!0||f===!1?(o=\"boolean\",f=f?\"1\":\"0\"):f=String(f),n.push(j(I0(i),f,{\"dt:dt\":o}))}}),t&&ze(t).forEach(function(i){if(Object.prototype.hasOwnProperty.call(t,i)&&!(e&&Object.prototype.hasOwnProperty.call(e,i))){var s=t[i],f=\"string\";typeof s==\"number\"?(f=\"float\",s=String(s)):s===!0||s===!1?(f=\"boolean\",s=s?\"1\":\"0\"):s instanceof Date?(f=\"dateTime.tz\",s=s.toISOString()):s=String(s),n.push(j(I0(i),s,{\"dt:dt\":f}))}}),\"<\"+a+' xmlns=\"'+fr.o+'\">'+n.join(\"\")+\"</\"+a+\">\"}function Af(e){var t=typeof e==\"string\"?new Date(Date.parse(e)):e,r=t.getTime()/1e3+11644473600,a=r%Math.pow(2,32),n=(r-a)/Math.pow(2,32);a*=1e7,n*=1e7;var i=a/Math.pow(2,32)|0;i>0&&(a=a%Math.pow(2,32),n+=i);var s=b(8);return s.write_shift(4,a),s.write_shift(4,n),s}function z0(e,t){var r=b(4),a=b(4);switch(r.write_shift(4,e==80?31:e),e){case 3:a.write_shift(-4,t);break;case 5:a=b(8),a.write_shift(8,t,\"f\");break;case 11:a.write_shift(4,t?1:0);break;case 64:a=Af(t);break;case 31:case 80:for(a=b(4+2*(t.length+1)+(t.length%2?0:2)),a.write_shift(4,t.length+1),a.write_shift(0,t,\"dbcs\");a.l!=a.length;)a.write_shift(1,0);break;default:throw new Error(\"TypedPropertyValue unrecognized type \"+e+\" \"+t)}return Ve([r,a])}var Kn=[\"CodePage\",\"Thumbnail\",\"_PID_LINKBASE\",\"_PID_HLINKS\",\"SystemIdentifier\",\"FMTID\"];function Cf(e){switch(typeof e){case\"boolean\":return 11;case\"number\":return(e|0)==e?3:5;case\"string\":return 31;case\"object\":if(e instanceof Date)return 64;break}return-1}function \\$0(e,t,r){var a=b(8),n=[],i=[],s=8,f=0,o=b(8),c=b(8);if(o.write_shift(4,2),o.write_shift(4,1200),c.write_shift(4,1),i.push(o),n.push(c),s+=8+o.length,!t){c=b(8),c.write_shift(4,0),n.unshift(c);var l=[b(4)];for(l[0].write_shift(4,e.length),f=0;f<e.length;++f){var v=e[f][0];for(o=b(8+2*(v.length+1)+(v.length%2?0:2)),o.write_shift(4,f+2),o.write_shift(4,v.length+1),o.write_shift(0,v,\"dbcs\");o.l!=o.length;)o.write_shift(1,0);l.push(o)}o=Ve(l),i.unshift(o),s+=8+o.length}for(f=0;f<e.length;++f)if(!(t&&!t[e[f][0]])&&!(Kn.indexOf(e[f][0])>-1||Gn.indexOf(e[f][0])>-1)&&e[f][1]!=null){var h=e[f][1],d=0;if(t){d=+t[e[f][0]];var _=r[d];if(_.p==\"version\"&&typeof h==\"string\"){var u=h.split(\".\");h=(+u[0]<<16)+(+u[1]||0)}o=z0(_.t,h)}else{var g=Cf(h);g==-1&&(g=31,h=String(h)),o=z0(g,h)}i.push(o),c=b(8),c.write_shift(4,t?d:2+f),n.push(c),s+=8+o.length}var y=8*(i.length+1);for(f=0;f<i.length;++f)n[f].write_shift(4,y),y+=i[f].length;return a.write_shift(4,s),a.write_shift(4,i.length),Ve([a].concat(n).concat(i))}function K0(e,t,r,a,n,i){var s=b(n?68:48),f=[s];s.write_shift(2,65534),s.write_shift(2,0),s.write_shift(4,842412599),s.write_shift(16,we.utils.consts.HEADER_CLSID,\"hex\"),s.write_shift(4,n?2:1),s.write_shift(16,t,\"hex\"),s.write_shift(4,n?68:48);var o=\\$0(e,r,a);if(f.push(o),n){var c=\\$0(n,null,null);s.write_shift(16,i,\"hex\"),s.write_shift(4,68+o.length),f.push(c)}return Ve(f)}function Df(e,t){t||(t=b(e));for(var r=0;r<e;++r)t.write_shift(1,0);return t}function Of(e,t){return e.read_shift(t)===1}function Je(e,t){return t||(t=b(2)),t.write_shift(2,+!!e),t}function jn(e){return e.read_shift(2,\"u\")}function ur(e,t){return t||(t=b(2)),t.write_shift(2,e),t}function Yn(e,t,r){return r||(r=b(2)),r.write_shift(1,t==\"e\"?+e:+!!e),r.write_shift(1,t==\"e\"?1:0),r}function Jn(e,t,r){var a=e.read_shift(r&&r.biff>=12?2:1),n=\"sbcs-cont\",i=Gr;if(r&&r.biff>=8&&(Gr=1200),!r||r.biff==8){var s=e.read_shift(1);s&&(n=\"dbcs-cont\")}else r.biff==12&&(n=\"wstr\");r.biff>=2&&r.biff<=5&&(n=\"cpstr\");var f=a?e.read_shift(a,n):\"\";return Gr=i,f}function If(e){var t=e.t||\"\",r=1,a=b(3+(r>1?2:0));a.write_shift(2,t.length),a.write_shift(1,(r>1?8:0)|1),r>1&&a.write_shift(2,r);var n=b(2*t.length);n.write_shift(2*t.length,t,\"utf16le\");var i=[a,n];return Ve(i)}function Rf(e,t,r){var a;if(r){if(r.biff>=2&&r.biff<=5)return e.read_shift(t,\"cpstr\");if(r.biff>=12)return e.read_shift(t,\"dbcs-cont\")}var n=e.read_shift(1);return n===0?a=e.read_shift(t,\"sbcs-cont\"):a=e.read_shift(t,\"dbcs-cont\"),a}function Nf(e,t,r){var a=e.read_shift(r&&r.biff==2?1:2);return a===0?(e.l++,\"\"):Rf(e,a,r)}function bf(e,t,r){if(r.biff>5)return Nf(e,t,r);var a=e.read_shift(1);return a===0?(e.l++,\"\"):e.read_shift(a,r.biff<=4||!e.lens?\"cpstr\":\"sbcs-cont\")}function qn(e,t,r){return r||(r=b(3+2*e.length)),r.write_shift(2,e.length),r.write_shift(1,1),r.write_shift(31,e,\"utf16le\"),r}function j0(e,t){t||(t=b(6+e.length*2)),t.write_shift(4,1+e.length);for(var r=0;r<e.length;++r)t.write_shift(2,e.charCodeAt(r));return t.write_shift(2,0),t}function Pf(e){var t=b(512),r=0,a=e.Target;a.slice(0,7)==\"file://\"&&(a=a.slice(7));var n=a.indexOf(\"#\"),i=n>-1?31:23;switch(a.charAt(0)){case\"#\":i=28;break;case\".\":i&=-3;break}t.write_shift(4,2),t.write_shift(4,i);var s=[8,6815827,6619237,4849780,83];for(r=0;r<s.length;++r)t.write_shift(4,s[r]);if(i==28)a=a.slice(1),j0(a,t);else if(i&2){for(s=\"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \"),r=0;r<s.length;++r)t.write_shift(1,parseInt(s[r],16));var f=n>-1?a.slice(0,n):a;for(t.write_shift(4,2*(f.length+1)),r=0;r<f.length;++r)t.write_shift(2,f.charCodeAt(r));t.write_shift(2,0),i&8&&j0(n>-1?a.slice(n+1):\"\",t)}else{for(s=\"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \"),r=0;r<s.length;++r)t.write_shift(1,parseInt(s[r],16));for(var o=0;a.slice(o*3,o*3+3)==\"../\"||a.slice(o*3,o*3+3)==\"..\\\\\\\\\";)++o;for(t.write_shift(2,o),t.write_shift(4,a.length-3*o+1),r=0;r<a.length-3*o;++r)t.write_shift(1,a.charCodeAt(r+3*o)&255);for(t.write_shift(1,0),t.write_shift(2,65535),t.write_shift(2,57005),r=0;r<6;++r)t.write_shift(4,0)}return t.slice(0,t.l)}function jr(e,t,r,a){return a||(a=b(6)),a.write_shift(2,e),a.write_shift(2,t),a.write_shift(2,r||0),a}function Lf(e,t,r){var a=r.biff>8?4:2,n=e.read_shift(a),i=e.read_shift(a,\"i\"),s=e.read_shift(a,\"i\");return[n,i,s]}function Bf(e){var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(2),n=e.read_shift(2);return{s:{c:a,r:t},e:{c:n,r}}}function Zn(e,t){return t||(t=b(8)),t.write_shift(2,e.s.r),t.write_shift(2,e.e.r),t.write_shift(2,e.s.c),t.write_shift(2,e.e.c),t}function e0(e,t,r){var a=1536,n=16;switch(r.bookType){case\"biff8\":break;case\"biff5\":a=1280,n=8;break;case\"biff4\":a=4,n=6;break;case\"biff3\":a=3,n=6;break;case\"biff2\":a=2,n=4;break;case\"xla\":break;default:throw new Error(\"unsupported BIFF version\")}var i=b(n);return i.write_shift(2,a),i.write_shift(2,t),n>4&&i.write_shift(2,29282),n>6&&i.write_shift(2,1997),n>8&&(i.write_shift(2,49161),i.write_shift(2,1),i.write_shift(2,1798),i.write_shift(2,0)),i}function Mf(e,t){var r=!t||t.biff==8,a=b(r?112:54);for(a.write_shift(t.biff==8?2:1,7),r&&a.write_shift(1,0),a.write_shift(4,859007059),a.write_shift(4,5458548|(r?0:536870912));a.l<a.length;)a.write_shift(1,r?0:32);return a}function Uf(e,t){var r=!t||t.biff>=8?2:1,a=b(8+r*e.name.length);a.write_shift(4,e.pos),a.write_shift(1,e.hs||0),a.write_shift(1,e.dt),a.write_shift(1,e.name.length),t.biff>=8&&a.write_shift(1,1),a.write_shift(r*e.name.length,e.name,t.biff<8?\"sbcs\":\"utf16le\");var n=a.slice(0,a.l);return n.l=a.l,n}function Wf(e,t){var r=b(8);r.write_shift(4,e.Count),r.write_shift(4,e.Unique);for(var a=[],n=0;n<e.length;++n)a[n]=If(e[n],t);var i=Ve([r].concat(a));return i.parts=[r.length].concat(a.map(function(s){return s.length})),i}function Hf(){var e=b(18);return e.write_shift(2,0),e.write_shift(2,0),e.write_shift(2,29280),e.write_shift(2,17600),e.write_shift(2,56),e.write_shift(2,0),e.write_shift(2,0),e.write_shift(2,1),e.write_shift(2,500),e}function Vf(e){var t=b(18),r=1718;return e&&e.RTL&&(r|=64),t.write_shift(2,r),t.write_shift(4,0),t.write_shift(4,64),t.write_shift(4,0),t.write_shift(4,0),t}function Xf(e,t){var r=e.name||\"Arial\",a=t&&t.biff==5,n=a?15+r.length:16+2*r.length,i=b(n);return i.write_shift(2,(e.sz||12)*20),i.write_shift(4,0),i.write_shift(2,400),i.write_shift(4,0),i.write_shift(2,0),i.write_shift(1,r.length),a||i.write_shift(1,1),i.write_shift((a?1:2)*r.length,r,a?\"sbcs\":\"utf16le\"),i}function Gf(e,t,r,a){var n=b(10);return jr(e,t,a,n),n.write_shift(4,r),n}function zf(e,t,r,a,n){var i=!n||n.biff==8,s=b(8+ +i+(1+i)*r.length);return jr(e,t,a,s),s.write_shift(2,r.length),i&&s.write_shift(1,1),s.write_shift((1+i)*r.length,r,i?\"utf16le\":\"sbcs\"),s}function \\$f(e,t,r,a){var n=r&&r.biff==5;a||(a=b(n?3+t.length:5+2*t.length)),a.write_shift(2,e),a.write_shift(n?1:2,t.length),n||a.write_shift(1,1),a.write_shift((n?1:2)*t.length,t,n?\"sbcs\":\"utf16le\");var i=a.length>a.l?a.slice(0,a.l):a;return i.l==null&&(i.l=i.length),i}function Kf(e,t){var r=t.biff==8||!t.biff?4:2,a=b(2*r+6);return a.write_shift(r,e.s.r),a.write_shift(r,e.e.r+1),a.write_shift(2,e.s.c),a.write_shift(2,e.e.c+1),a.write_shift(2,0),a}function Y0(e,t,r,a){var n=r&&r.biff==5;a||(a=b(n?16:20)),a.write_shift(2,0),e.style?(a.write_shift(2,e.numFmtId||0),a.write_shift(2,65524)):(a.write_shift(2,e.numFmtId||0),a.write_shift(2,t<<4));var i=0;return e.numFmtId>0&&n&&(i|=1024),a.write_shift(4,i),a.write_shift(4,0),n||a.write_shift(4,0),a.write_shift(2,0),a}function jf(e){var t=b(8);return t.write_shift(4,0),t.write_shift(2,e[0]?e[0]+1:0),t.write_shift(2,e[1]?e[1]+1:0),t}function Yf(e,t,r,a,n,i){var s=b(8);return jr(e,t,a,s),Yn(r,i,s),s}function Jf(e,t,r,a){var n=b(14);return jr(e,t,a,n),Kr(r,n),n}function qf(e,t,r){if(r.biff<8)return Zf(e,t,r);for(var a=[],n=e.l+t,i=e.read_shift(r.biff>8?4:2);i--!==0;)a.push(Lf(e,r.biff>8?12:6,r));if(e.l!=n)throw new Error(\"Bad ExternSheet: \"+e.l+\" != \"+n);return a}function Zf(e,t,r){e[e.l+1]==3&&e[e.l]++;var a=Jn(e,t,r);return a.charCodeAt(0)==3?a.slice(1):a}function Qf(e){var t=b(2+e.length*8);t.write_shift(2,e.length);for(var r=0;r<e.length;++r)Zn(e[r],t);return t}function ec(e){var t=b(24),r=Le(e[0]);t.write_shift(2,r.r),t.write_shift(2,r.r),t.write_shift(2,r.c),t.write_shift(2,r.c);for(var a=\"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \"),n=0;n<16;++n)t.write_shift(1,parseInt(a[n],16));return Ve([t,Pf(e[1])])}function rc(e){var t=e[1].Tooltip,r=b(10+2*(t.length+1));r.write_shift(2,2048);var a=Le(e[0]);r.write_shift(2,a.r),r.write_shift(2,a.r),r.write_shift(2,a.c),r.write_shift(2,a.c);for(var n=0;n<t.length;++n)r.write_shift(2,t.charCodeAt(n));return r.write_shift(2,0),r}function tc(e){return e||(e=b(4)),e.write_shift(2,1),e.write_shift(2,1),e}function ac(e,t,r){if(!r.cellStyles)return Tr(e,t);var a=r&&r.biff>=12?4:2,n=e.read_shift(a),i=e.read_shift(a),s=e.read_shift(a),f=e.read_shift(a),o=e.read_shift(2);a==2&&(e.l+=2);var c={s:n,e:i,w:s,ixfe:f,flags:o};return(r.biff>=5||!r.biff)&&(c.level=o>>8&7),c}function nc(e,t){var r=b(12);r.write_shift(2,t),r.write_shift(2,t),r.write_shift(2,e.width*256),r.write_shift(2,0);var a=0;return e.hidden&&(a|=1),r.write_shift(1,a),a=e.level||0,r.write_shift(1,a),r.write_shift(2,0),r}function ic(e){for(var t=b(2*e),r=0;r<e;++r)t.write_shift(2,r+1);return t}function sc(e,t,r){var a=b(15);return Ut(a,e,t),a.write_shift(8,r,\"f\"),a}function fc(e,t,r){var a=b(9);return Ut(a,e,t),a.write_shift(2,r),a}var cc=(function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,108:863,134:737,135:852,136:857,204:1257,255:16969},t=Ua({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});function r(f,o){var c=[],l=\\$r(1);switch(o.type){case\"base64\":l=pr(Or(f));break;case\"binary\":l=pr(f);break;case\"buffer\":case\"array\":l=f;break}sr(l,0);var v=l.read_shift(1),h=!!(v&136),d=!1,_=!1;switch(v){case 2:break;case 3:break;case 48:d=!0,h=!0;break;case 49:d=!0,h=!0;break;case 131:break;case 139:break;case 140:_=!0;break;case 245:break;default:throw new Error(\"DBF Unsupported Version: \"+v.toString(16))}var u=0,g=521;v==2&&(u=l.read_shift(2)),l.l+=3,v!=2&&(u=l.read_shift(4)),u>1048576&&(u=1e6),v!=2&&(g=l.read_shift(2));var y=l.read_shift(2),C=o.codepage||1252;v!=2&&(l.l+=16,l.read_shift(1),l[l.l]!==0&&(C=e[l[l.l]]),l.l+=1,l.l+=2),_&&(l.l+=36);for(var D=[],B={},G=Math.min(l.length,v==2?521:g-10-(d?264:0)),te=_?32:11;l.l<G&&l[l.l]!=13;)switch(B={},B.name=ke.utils.decode(C,l.slice(l.l,l.l+te)).replace(/[\\\\u0000\\\\r\\\\n].*\\$/g,\"\"),l.l+=te,B.type=String.fromCharCode(l.read_shift(1)),v!=2&&!_&&(B.offset=l.read_shift(4)),B.len=l.read_shift(1),v==2&&(B.offset=l.read_shift(2)),B.dec=l.read_shift(1),B.name.length&&D.push(B),v!=2&&(l.l+=_?13:14),B.type){case\"B\":(!d||B.len!=8)&&o.WTF&&console.log(\"Skipping \"+B.name+\":\"+B.type);break;case\"G\":case\"P\":o.WTF&&console.log(\"Skipping \"+B.name+\":\"+B.type);break;case\"+\":case\"0\":case\"@\":case\"C\":case\"D\":case\"F\":case\"I\":case\"L\":case\"M\":case\"N\":case\"O\":case\"T\":case\"Y\":break;default:throw new Error(\"Unknown Field Type: \"+B.type)}if(l[l.l]!==13&&(l.l=g-1),l.read_shift(1)!==13)throw new Error(\"DBF Terminator not found \"+l.l+\" \"+l[l.l]);l.l=g;var A=0,W=0;for(c[0]=[],W=0;W!=D.length;++W)c[0][W]=D[W].name;for(;u-- >0;){if(l[l.l]===42){l.l+=y;continue}for(++l.l,c[++A]=[],W=0,W=0;W!=D.length;++W){var L=l.slice(l.l,l.l+D[W].len);l.l+=D[W].len,sr(L,0);var U=ke.utils.decode(C,L);switch(D[W].type){case\"C\":U.trim().length&&(c[A][W]=U.replace(/\\\\s+\\$/,\"\"));break;case\"D\":U.length===8?c[A][W]=new Date(+U.slice(0,4),+U.slice(4,6)-1,+U.slice(6,8)):c[A][W]=U;break;case\"F\":c[A][W]=parseFloat(U.trim());break;case\"+\":case\"I\":c[A][W]=_?L.read_shift(-4,\"i\")^2147483648:L.read_shift(4,\"i\");break;case\"L\":switch(U.trim().toUpperCase()){case\"Y\":case\"T\":c[A][W]=!0;break;case\"N\":case\"F\":c[A][W]=!1;break;case\"\":case\"?\":break;default:throw new Error(\"DBF Unrecognized L:|\"+U+\"|\")}break;case\"M\":if(!h)throw new Error(\"DBF Unexpected MEMO for type \"+v.toString(16));c[A][W]=\"##MEMO##\"+(_?parseInt(U.trim(),10):L.read_shift(4));break;case\"N\":U=U.replace(/\\\\u0000/g,\"\").trim(),U&&U!=\".\"&&(c[A][W]=+U||0);break;case\"@\":c[A][W]=new Date(L.read_shift(-8,\"f\")-621356832e5);break;case\"T\":c[A][W]=new Date((L.read_shift(4)-2440588)*864e5+L.read_shift(4));break;case\"Y\":c[A][W]=L.read_shift(4,\"i\")/1e4+L.read_shift(4,\"i\")/1e4*Math.pow(2,32);break;case\"O\":c[A][W]=-L.read_shift(-8,\"f\");break;case\"B\":if(d&&D[W].len==8){c[A][W]=L.read_shift(8,\"f\");break}case\"G\":case\"P\":L.l+=D[W].len;break;case\"0\":if(D[W].name===\"_NullFlags\")break;default:throw new Error(\"DBF Unsupported data type \"+D[W].type)}}}if(v!=2&&l.l<l.length&&l[l.l++]!=26)throw new Error(\"DBF EOF Marker missing \"+(l.l-1)+\" of \"+l.length+\" \"+l[l.l-1].toString(16));return o&&o.sheetRows&&(c=c.slice(0,o.sheetRows)),o.DBF=D,c}function a(f,o){var c=o||{};c.dateNF||(c.dateNF=\"yyyymmdd\");var l=vt(r(f,c),c);return l[\"!cols\"]=c.DBF.map(function(v){return{wch:v.len,DBF:v}}),delete c.DBF,l}function n(f,o){try{return Yr(a(f,o),o)}catch(c){if(o&&o.WTF)throw c}return{SheetNames:[],Sheets:{}}}var i={B:8,C:250,L:1,D:8,\"?\":0,\"\":0};function s(f,o){var c=o||{};if(+c.codepage>=0&&Dt(+c.codepage),c.type==\"string\")throw new Error(\"Cannot write DBF to JS string\");var l=rr(),v=oa(f,{header:1,raw:!0,cellDates:!0}),h=v[0],d=v.slice(1),_=f[\"!cols\"]||[],u=0,g=0,y=0,C=1;for(u=0;u<h.length;++u){if(((_[u]||{}).DBF||{}).name){h[u]=_[u].DBF.name,++y;continue}if(h[u]!=null){if(++y,typeof h[u]==\"number\"&&(h[u]=h[u].toString(10)),typeof h[u]!=\"string\")throw new Error(\"DBF Invalid column name \"+h[u]+\" |\"+typeof h[u]+\"|\");if(h.indexOf(h[u])!==u){for(g=0;g<1024;++g)if(h.indexOf(h[u]+\"_\"+g)==-1){h[u]+=\"_\"+g;break}}}}var D=Te(f[\"!ref\"]),B=[],G=[],te=[];for(u=0;u<=D.e.c-D.s.c;++u){var A=\"\",W=\"\",L=0,U=[];for(g=0;g<d.length;++g)d[g][u]!=null&&U.push(d[g][u]);if(U.length==0||h[u]==null){B[u]=\"?\";continue}for(g=0;g<U.length;++g){switch(typeof U[g]){case\"number\":W=\"B\";break;case\"string\":W=\"C\";break;case\"boolean\":W=\"L\";break;case\"object\":W=U[g]instanceof Date?\"D\":\"C\";break;default:W=\"C\"}L=Math.max(L,String(U[g]).length),A=A&&A!=W?\"C\":W}L>250&&(L=250),W=((_[u]||{}).DBF||{}).type,W==\"C\"&&_[u].DBF.len>L&&(L=_[u].DBF.len),A==\"B\"&&W==\"N\"&&(A=\"N\",te[u]=_[u].DBF.dec,L=_[u].DBF.len),G[u]=A==\"C\"||W==\"N\"?L:i[A]||0,C+=G[u],B[u]=A}var X=l.next(32);for(X.write_shift(4,318902576),X.write_shift(4,d.length),X.write_shift(2,296+32*y),X.write_shift(2,C),u=0;u<4;++u)X.write_shift(4,0);for(X.write_shift(4,0|(+t[ut]||3)<<8),u=0,g=0;u<h.length;++u)if(h[u]!=null){var z=l.next(32),ie=(h[u].slice(-10)+\"\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\").slice(0,11);z.write_shift(1,ie,\"sbcs\"),z.write_shift(1,B[u]==\"?\"?\"C\":B[u],\"sbcs\"),z.write_shift(4,g),z.write_shift(1,G[u]||i[B[u]]||0),z.write_shift(1,te[u]||0),z.write_shift(1,2),z.write_shift(4,0),z.write_shift(1,0),z.write_shift(4,0),z.write_shift(4,0),g+=G[u]||i[B[u]]||0}var de=l.next(264);for(de.write_shift(4,13),u=0;u<65;++u)de.write_shift(4,0);for(u=0;u<d.length;++u){var se=l.next(C);for(se.write_shift(1,0),g=0;g<h.length;++g)if(h[g]!=null)switch(B[g]){case\"L\":se.write_shift(1,d[u][g]==null?63:d[u][g]?84:70);break;case\"B\":se.write_shift(8,d[u][g]||0,\"f\");break;case\"N\":var Re=\"0\";for(typeof d[u][g]==\"number\"&&(Re=d[u][g].toFixed(te[g]||0)),y=0;y<G[g]-Re.length;++y)se.write_shift(1,32);se.write_shift(1,Re,\"sbcs\");break;case\"D\":d[u][g]?(se.write_shift(4,(\"0000\"+d[u][g].getFullYear()).slice(-4),\"sbcs\"),se.write_shift(2,(\"00\"+(d[u][g].getMonth()+1)).slice(-2),\"sbcs\"),se.write_shift(2,(\"00\"+d[u][g].getDate()).slice(-2),\"sbcs\")):se.write_shift(8,\"00000000\",\"sbcs\");break;case\"C\":var Ne=String(d[u][g]!=null?d[u][g]:\"\").slice(0,G[g]);for(se.write_shift(1,Ne,\"sbcs\"),y=0;y<G[g]-Ne.length;++y)se.write_shift(1,32);break}}return l.next(1).write_shift(1,26),l.end()}return{to_workbook:n,to_sheet:a,from_sheet:s}})(),oc=(function(){var e={AA:\"\\\\xC0\",BA:\"\\\\xC1\",CA:\"\\\\xC2\",DA:195,HA:\"\\\\xC4\",JA:197,AE:\"\\\\xC8\",BE:\"\\\\xC9\",CE:\"\\\\xCA\",HE:\"\\\\xCB\",AI:\"\\\\xCC\",BI:\"\\\\xCD\",CI:\"\\\\xCE\",HI:\"\\\\xCF\",AO:\"\\\\xD2\",BO:\"\\\\xD3\",CO:\"\\\\xD4\",DO:213,HO:\"\\\\xD6\",AU:\"\\\\xD9\",BU:\"\\\\xDA\",CU:\"\\\\xDB\",HU:\"\\\\xDC\",Aa:\"\\\\xE0\",Ba:\"\\\\xE1\",Ca:\"\\\\xE2\",Da:227,Ha:\"\\\\xE4\",Ja:229,Ae:\"\\\\xE8\",Be:\"\\\\xE9\",Ce:\"\\\\xEA\",He:\"\\\\xEB\",Ai:\"\\\\xEC\",Bi:\"\\\\xED\",Ci:\"\\\\xEE\",Hi:\"\\\\xEF\",Ao:\"\\\\xF2\",Bo:\"\\\\xF3\",Co:\"\\\\xF4\",Do:245,Ho:\"\\\\xF6\",Au:\"\\\\xF9\",Bu:\"\\\\xFA\",Cu:\"\\\\xFB\",Hu:\"\\\\xFC\",KC:\"\\\\xC7\",Kc:\"\\\\xE7\",q:\"\\\\xE6\",z:\"\\\\u0153\",a:\"\\\\xC6\",j:\"\\\\u0152\",DN:209,Dn:241,Hy:255,S:169,c:170,R:174,\"B \":180,0:176,1:177,2:178,3:179,5:181,6:182,7:183,Q:185,k:186,b:208,i:216,l:222,s:240,y:248,\"!\":161,'\"':162,\"#\":163,\"(\":164,\"%\":165,\"'\":167,\"H \":168,\"+\":171,\";\":187,\"<\":188,\"=\":189,\">\":190,\"?\":191,\"{\":223},t=new RegExp(\"\\\\x1BN(\"+ze(e).join(\"|\").replace(/\\\\|\\\\|\\\\|/,\"|\\\\\\\\||\").replace(/([?()+])/g,\"\\\\\\\\\\$1\")+\"|\\\\\\\\|)\",\"gm\"),r=function(h,d){var _=e[d];return typeof _==\"number\"?_0(_):_},a=function(h,d,_){var u=d.charCodeAt(0)-32<<4|_.charCodeAt(0)-48;return u==59?h:_0(u)};e[\"|\"]=254;function n(h,d){switch(d.type){case\"base64\":return i(Or(h),d);case\"binary\":return i(h,d);case\"buffer\":return i(xe&&Buffer.isBuffer(h)?h.toString(\"binary\"):Pt(h),d);case\"array\":return i(da(h),d)}throw new Error(\"Unrecognized type \"+d.type)}function i(h,d){var _=h.split(/[\\\\n\\\\r]+/),u=-1,g=-1,y=0,C=0,D=[],B=[],G=null,te={},A=[],W=[],L=[],U=0,X;for(+d.codepage>=0&&Dt(+d.codepage);y!==_.length;++y){U=0;var z=_[y].trim().replace(/\\\\x1B([\\\\x20-\\\\x2F])([\\\\x30-\\\\x3F])/g,a).replace(t,r),ie=z.replace(/;;/g,\"\\\\0\").split(\";\").map(function(S){return S.replace(/\\\\u0000/g,\";\")}),de=ie[0],se;if(z.length>0)switch(de){case\"ID\":break;case\"E\":break;case\"B\":break;case\"O\":break;case\"W\":break;case\"P\":ie[1].charAt(0)==\"P\"&&B.push(z.slice(3).replace(/;;/g,\";\"));break;case\"C\":var Re=!1,Ne=!1,Ze=!1,je=!1,Me=-1,Qe=-1;for(C=1;C<ie.length;++C)switch(ie[C].charAt(0)){case\"A\":break;case\"X\":g=parseInt(ie[C].slice(1))-1,Ne=!0;break;case\"Y\":for(u=parseInt(ie[C].slice(1))-1,Ne||(g=0),X=D.length;X<=u;++X)D[X]=[];break;case\"K\":se=ie[C].slice(1),se.charAt(0)==='\"'?se=se.slice(1,se.length-1):se===\"TRUE\"?se=!0:se===\"FALSE\"?se=!1:isNaN(Cr(se))?isNaN(It(se).getDate())||(se=qe(se)):(se=Cr(se),G!==null&&mn(G)&&(se=kn(se))),typeof ke<\"u\"&&typeof se==\"string\"&&(d||{}).type!=\"string\"&&(d||{}).codepage&&(se=ke.utils.decode(d.codepage,se)),Re=!0;break;case\"E\":je=!0;var T=fo(ie[C].slice(1),{r:u,c:g});D[u][g]=[D[u][g],T];break;case\"S\":Ze=!0,D[u][g]=[D[u][g],\"S5S\"];break;case\"G\":break;case\"R\":Me=parseInt(ie[C].slice(1))-1;break;case\"C\":Qe=parseInt(ie[C].slice(1))-1;break;default:if(d&&d.WTF)throw new Error(\"SYLK bad record \"+z)}if(Re&&(D[u][g]&&D[u][g].length==2?D[u][g][0]=se:D[u][g]=se,G=null),Ze){if(je)throw new Error(\"SYLK shared formula cannot have own formula\");var M=Me>-1&&D[Me][Qe];if(!M||!M[1])throw new Error(\"SYLK shared formula cannot find base\");D[u][g][1]=co(M[1],{r:u-Me,c:g-Qe})}break;case\"F\":var F=0;for(C=1;C<ie.length;++C)switch(ie[C].charAt(0)){case\"X\":g=parseInt(ie[C].slice(1))-1,++F;break;case\"Y\":for(u=parseInt(ie[C].slice(1))-1,X=D.length;X<=u;++X)D[X]=[];break;case\"M\":U=parseInt(ie[C].slice(1))/20;break;case\"F\":break;case\"G\":break;case\"P\":G=B[parseInt(ie[C].slice(1))];break;case\"S\":break;case\"D\":break;case\"N\":break;case\"W\":for(L=ie[C].slice(1).split(\" \"),X=parseInt(L[0],10);X<=parseInt(L[1],10);++X)U=parseInt(L[2],10),W[X-1]=U===0?{hidden:!0}:{wch:U},r0(W[X-1]);break;case\"C\":g=parseInt(ie[C].slice(1))-1,W[g]||(W[g]={});break;case\"R\":u=parseInt(ie[C].slice(1))-1,A[u]||(A[u]={}),U>0?(A[u].hpt=U,A[u].hpx=ai(U)):U===0&&(A[u].hidden=!0);break;default:if(d&&d.WTF)throw new Error(\"SYLK bad record \"+z)}F<1&&(G=null);break;default:if(d&&d.WTF)throw new Error(\"SYLK bad record \"+z)}}return A.length>0&&(te[\"!rows\"]=A),W.length>0&&(te[\"!cols\"]=W),d&&d.sheetRows&&(D=D.slice(0,d.sheetRows)),[D,te]}function s(h,d){var _=n(h,d),u=_[0],g=_[1],y=vt(u,d);return ze(g).forEach(function(C){y[C]=g[C]}),y}function f(h,d){return Yr(s(h,d),d)}function o(h,d,_,u){var g=\"C;Y\"+(_+1)+\";X\"+(u+1)+\";K\";switch(h.t){case\"n\":g+=h.v||0,h.f&&!h.F&&(g+=\";E\"+a0(h.f,{r:_,c:u}));break;case\"b\":g+=h.v?\"TRUE\":\"FALSE\";break;case\"e\":g+=h.w||h.v;break;case\"d\":g+='\"'+(h.w||h.v)+'\"';break;case\"s\":g+='\"'+h.v.replace(/\"/g,\"\").replace(/;/g,\";;\")+'\"';break}return g}function c(h,d){d.forEach(function(_,u){var g=\"F;W\"+(u+1)+\" \"+(u+1)+\" \";_.hidden?g+=\"0\":(typeof _.width==\"number\"&&!_.wpx&&(_.wpx=ia(_.width)),typeof _.wpx==\"number\"&&!_.wch&&(_.wch=sa(_.wpx)),typeof _.wch==\"number\"&&(g+=Math.round(_.wch))),g.charAt(g.length-1)!=\" \"&&h.push(g)})}function l(h,d){d.forEach(function(_,u){var g=\"F;\";_.hidden?g+=\"M0;\":_.hpt?g+=\"M\"+20*_.hpt+\";\":_.hpx&&(g+=\"M\"+20*fa(_.hpx)+\";\"),g.length>2&&h.push(g+\"R\"+(u+1))})}function v(h,d){var _=[\"ID;PWXL;N;E\"],u=[],g=Te(h[\"!ref\"]),y,C=Array.isArray(h),D=\\`\\\\r\n\\`;_.push(\"P;PGeneral\"),_.push(\"F;P0;DG0G8;M255\"),h[\"!cols\"]&&c(_,h[\"!cols\"]),h[\"!rows\"]&&l(_,h[\"!rows\"]),_.push(\"B;Y\"+(g.e.r-g.s.r+1)+\";X\"+(g.e.c-g.s.c+1)+\";D\"+[g.s.c,g.s.r,g.e.c,g.e.r].join(\" \"));for(var B=g.s.r;B<=g.e.r;++B)for(var G=g.s.c;G<=g.e.c;++G){var te=ge({r:B,c:G});y=C?(h[B]||[])[G]:h[te],!(!y||y.v==null&&(!y.f||y.F))&&u.push(o(y,h,B,G,d))}return _.join(D)+D+u.join(D)+D+\"E\"+D}return{to_workbook:f,to_sheet:s,from_sheet:v}})(),lc=(function(){function e(i,s){switch(s.type){case\"base64\":return t(Or(i),s);case\"binary\":return t(i,s);case\"buffer\":return t(xe&&Buffer.isBuffer(i)?i.toString(\"binary\"):Pt(i),s);case\"array\":return t(da(i),s)}throw new Error(\"Unrecognized type \"+s.type)}function t(i,s){for(var f=i.split(\\`\n\\`),o=-1,c=-1,l=0,v=[];l!==f.length;++l){if(f[l].trim()===\"BOT\"){v[++o]=[],c=0;continue}if(!(o<0)){var h=f[l].trim().split(\",\"),d=h[0],_=h[1];++l;for(var u=f[l]||\"\";(u.match(/[\"]/g)||[]).length&1&&l<f.length-1;)u+=\\`\n\\`+f[++l];switch(u=u.trim(),+d){case-1:if(u===\"BOT\"){v[++o]=[],c=0;continue}else if(u!==\"EOD\")throw new Error(\"Unrecognized DIF special command \"+u);break;case 0:u===\"TRUE\"?v[o][c]=!0:u===\"FALSE\"?v[o][c]=!1:isNaN(Cr(_))?isNaN(It(_).getDate())?v[o][c]=_:v[o][c]=qe(_):v[o][c]=Cr(_),++c;break;case 1:u=u.slice(1,u.length-1),u=u.replace(/\"\"/g,'\"'),wt&&u&&u.match(/^=\".*\"\\$/)&&(u=u.slice(2,-1)),v[o][c++]=u!==\"\"?u:null;break}if(u===\"EOD\")break}}return s&&s.sheetRows&&(v=v.slice(0,s.sheetRows)),v}function r(i,s){return vt(e(i,s),s)}function a(i,s){return Yr(r(i,s),s)}var n=(function(){var i=function(o,c,l,v,h){o.push(c),o.push(l+\",\"+v),o.push('\"'+h.replace(/\"/g,'\"\"')+'\"')},s=function(o,c,l,v){o.push(c+\",\"+l),o.push(c==1?'\"'+v.replace(/\"/g,'\"\"')+'\"':v)};return function(o){var c=[],l=Te(o[\"!ref\"]),v,h=Array.isArray(o);i(c,\"TABLE\",0,1,\"sheetjs\"),i(c,\"VECTORS\",0,l.e.r-l.s.r+1,\"\"),i(c,\"TUPLES\",0,l.e.c-l.s.c+1,\"\"),i(c,\"DATA\",0,0,\"\");for(var d=l.s.r;d<=l.e.r;++d){s(c,-1,0,\"BOT\");for(var _=l.s.c;_<=l.e.c;++_){var u=ge({r:d,c:_});if(v=h?(o[d]||[])[_]:o[u],!v){s(c,1,0,\"\");continue}switch(v.t){case\"n\":var g=wt?v.w:v.v;!g&&v.v!=null&&(g=v.v),g==null?wt&&v.f&&!v.F?s(c,1,0,\"=\"+v.f):s(c,1,0,\"\"):s(c,0,g,\"V\");break;case\"b\":s(c,0,v.v?1:0,v.v?\"TRUE\":\"FALSE\");break;case\"s\":s(c,1,0,!wt||isNaN(v.v)?v.v:'=\"'+v.v+'\"');break;case\"d\":v.w||(v.w=Lr(v.z||ye[14],tr(qe(v.v)))),wt?s(c,0,v.w,\"V\"):s(c,1,0,v.w);break;default:s(c,1,0,\"\")}}}s(c,-1,0,\"EOD\");var y=\\`\\\\r\n\\`,C=c.join(y);return C}})();return{to_workbook:a,to_sheet:r,from_sheet:n}})(),Qn=(function(){function e(v){return v.replace(/\\\\\\\\b/g,\"\\\\\\\\\").replace(/\\\\\\\\c/g,\":\").replace(/\\\\\\\\n/g,\\`\n\\`)}function t(v){return v.replace(/\\\\\\\\/g,\"\\\\\\\\b\").replace(/:/g,\"\\\\\\\\c\").replace(/\\\\n/g,\"\\\\\\\\n\")}function r(v,h){for(var d=v.split(\\`\n\\`),_=-1,u=-1,g=0,y=[];g!==d.length;++g){var C=d[g].trim().split(\":\");if(C[0]===\"cell\"){var D=Le(C[1]);if(y.length<=D.r)for(_=y.length;_<=D.r;++_)y[_]||(y[_]=[]);switch(_=D.r,u=D.c,C[2]){case\"t\":y[_][u]=e(C[3]);break;case\"v\":y[_][u]=+C[3];break;case\"vtf\":var B=C[C.length-1];case\"vtc\":C[3]===\"nl\"?y[_][u]=!!+C[4]:y[_][u]=+C[4],C[2]==\"vtf\"&&(y[_][u]=[y[_][u],B])}}}return h&&h.sheetRows&&(y=y.slice(0,h.sheetRows)),y}function a(v,h){return vt(r(v,h),h)}function n(v,h){return Yr(a(v,h),h)}var i=[\"socialcalc:version:1.5\",\"MIME-Version: 1.0\",\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"].join(\\`\n\\`),s=[\"--SocialCalcSpreadsheetControlSave\",\"Content-type: text/plain; charset=UTF-8\"].join(\\`\n\\`)+\\`\n\\`,f=[\"# SocialCalc Spreadsheet Control Save\",\"part:sheet\"].join(\\`\n\\`),o=\"--SocialCalcSpreadsheetControlSave--\";function c(v){if(!v||!v[\"!ref\"])return\"\";for(var h=[],d=[],_,u=\"\",g=cr(v[\"!ref\"]),y=Array.isArray(v),C=g.s.r;C<=g.e.r;++C)for(var D=g.s.c;D<=g.e.c;++D)if(u=ge({r:C,c:D}),_=y?(v[C]||[])[D]:v[u],!(!_||_.v==null||_.t===\"z\")){switch(d=[\"cell\",u,\"t\"],_.t){case\"s\":case\"str\":d.push(t(_.v));break;case\"n\":_.f?(d[2]=\"vtf\",d[3]=\"n\",d[4]=_.v,d[5]=t(_.f)):(d[2]=\"v\",d[3]=_.v);break;case\"b\":d[2]=\"vt\"+(_.f?\"f\":\"c\"),d[3]=\"nl\",d[4]=_.v?\"1\":\"0\",d[5]=t(_.f||(_.v?\"TRUE\":\"FALSE\"));break;case\"d\":var B=tr(qe(_.v));d[2]=\"vtc\",d[3]=\"nd\",d[4]=\"\"+B,d[5]=_.w||Lr(_.z||ye[14],B);break;case\"e\":continue}h.push(d.join(\":\"))}return h.push(\"sheet:c:\"+(g.e.c-g.s.c+1)+\":r:\"+(g.e.r-g.s.r+1)+\":tvf:1\"),h.push(\"valueformat:1:text-wiki\"),h.join(\\`\n\\`)}function l(v){return[i,s,f,s,c(v),o].join(\\`\n\\`)}return{to_workbook:n,to_sheet:a,from_sheet:l}})(),uc=(function(){function e(l,v,h,d,_){_.raw?v[h][d]=l:l===\"\"||(l===\"TRUE\"?v[h][d]=!0:l===\"FALSE\"?v[h][d]=!1:isNaN(Cr(l))?isNaN(It(l).getDate())?v[h][d]=l:v[h][d]=qe(l):v[h][d]=Cr(l))}function t(l,v){var h=v||{},d=[];if(!l||l.length===0)return d;for(var _=l.split(/[\\\\r\\\\n]/),u=_.length-1;u>=0&&_[u].length===0;)--u;for(var g=10,y=0,C=0;C<=u;++C)y=_[C].indexOf(\" \"),y==-1?y=_[C].length:y++,g=Math.max(g,y);for(C=0;C<=u;++C){d[C]=[];var D=0;for(e(_[C].slice(0,g).trim(),d,C,D,h),D=1;D<=(_[C].length-g)/10+1;++D)e(_[C].slice(g+(D-1)*10,g+D*10).trim(),d,C,D,h)}return h.sheetRows&&(d=d.slice(0,h.sheetRows)),d}var r={44:\",\",9:\"\t\",59:\";\",124:\"|\"},a={44:3,9:2,59:1,124:0};function n(l){for(var v={},h=!1,d=0,_=0;d<l.length;++d)(_=l.charCodeAt(d))==34?h=!h:!h&&_ in r&&(v[_]=(v[_]||0)+1);_=[];for(d in v)Object.prototype.hasOwnProperty.call(v,d)&&_.push([v[d],d]);if(!_.length){v=a;for(d in v)Object.prototype.hasOwnProperty.call(v,d)&&_.push([v[d],d])}return _.sort(function(u,g){return u[0]-g[0]||a[u[1]]-a[g[1]]}),r[_.pop()[1]]||44}function i(l,v){var h=v||{},d=\"\";Er!=null&&h.dense==null&&(h.dense=Er);var _=h.dense?[]:{},u={s:{c:0,r:0},e:{c:0,r:0}};l.slice(0,4)==\"sep=\"?l.charCodeAt(5)==13&&l.charCodeAt(6)==10?(d=l.charAt(4),l=l.slice(7)):l.charCodeAt(5)==13||l.charCodeAt(5)==10?(d=l.charAt(4),l=l.slice(6)):d=n(l.slice(0,1024)):h&&h.FS?d=h.FS:d=n(l.slice(0,1024));var g=0,y=0,C=0,D=0,B=0,G=d.charCodeAt(0),te=!1,A=0,W=l.charCodeAt(0);l=l.replace(/\\\\r\\\\n/mg,\\`\n\\`);var L=h.dateNF!=null?Fs(h.dateNF):null;function U(){var X=l.slice(D,B),z={};if(X.charAt(0)=='\"'&&X.charAt(X.length-1)=='\"'&&(X=X.slice(1,-1).replace(/\"\"/g,'\"')),X.length===0)z.t=\"z\";else if(h.raw)z.t=\"s\",z.v=X;else if(X.trim().length===0)z.t=\"s\",z.v=X;else if(X.charCodeAt(0)==61)X.charCodeAt(1)==34&&X.charCodeAt(X.length-1)==34?(z.t=\"s\",z.v=X.slice(2,-1).replace(/\"\"/g,'\"')):oo(X)?(z.t=\"n\",z.f=X.slice(1)):(z.t=\"s\",z.v=X);else if(X==\"TRUE\")z.t=\"b\",z.v=!0;else if(X==\"FALSE\")z.t=\"b\",z.v=!1;else if(!isNaN(C=Cr(X)))z.t=\"n\",h.cellText!==!1&&(z.w=X),z.v=C;else if(!isNaN(It(X).getDate())||L&&X.match(L)){z.z=h.dateNF||ye[14];var ie=0;L&&X.match(L)&&(X=ys(X,h.dateNF,X.match(L)||[]),ie=1),h.cellDates?(z.t=\"d\",z.v=qe(X,ie)):(z.t=\"n\",z.v=tr(qe(X,ie))),h.cellText!==!1&&(z.w=Lr(z.z,z.v instanceof Date?tr(z.v):z.v)),h.cellNF||delete z.z}else z.t=\"s\",z.v=X;if(z.t==\"z\"||(h.dense?(_[g]||(_[g]=[]),_[g][y]=z):_[ge({c:y,r:g})]=z),D=B+1,W=l.charCodeAt(D),u.e.c<y&&(u.e.c=y),u.e.r<g&&(u.e.r=g),A==G)++y;else if(y=0,++g,h.sheetRows&&h.sheetRows<=g)return!0}e:for(;B<l.length;++B)switch(A=l.charCodeAt(B)){case 34:W===34&&(te=!te);break;case G:case 10:case 13:if(!te&&U())break e;break;default:break}return B-D>0&&U(),_[\"!ref\"]=De(u),_}function s(l,v){return!(v&&v.PRN)||v.FS||l.slice(0,4)==\"sep=\"||l.indexOf(\"\t\")>=0||l.indexOf(\",\")>=0||l.indexOf(\";\")>=0?i(l,v):vt(t(l,v),v)}function f(l,v){var h=\"\",d=v.type==\"string\"?[0,0,0,0]:S1(l,v);switch(v.type){case\"base64\":h=Or(l);break;case\"binary\":h=l;break;case\"buffer\":v.codepage==65001?h=l.toString(\"utf8\"):v.codepage&&typeof ke<\"u\"?h=ke.utils.decode(v.codepage,l):h=xe&&Buffer.isBuffer(l)?l.toString(\"binary\"):Pt(l);break;case\"array\":h=da(l);break;case\"string\":h=l;break;default:throw new Error(\"Unrecognized type \"+v.type)}return d[0]==239&&d[1]==187&&d[2]==191?h=Tt(h.slice(3)):v.type!=\"string\"&&v.type!=\"buffer\"&&v.codepage==65001?h=Tt(h):v.type==\"binary\"&&typeof ke<\"u\"&&v.codepage&&(h=ke.utils.decode(v.codepage,ke.utils.encode(28591,h))),h.slice(0,19)==\"socialcalc:version:\"?Qn.to_sheet(v.type==\"string\"?h:Tt(h),v):s(h,v)}function o(l,v){return Yr(f(l,v),v)}function c(l){for(var v=[],h=Te(l[\"!ref\"]),d,_=Array.isArray(l),u=h.s.r;u<=h.e.r;++u){for(var g=[],y=h.s.c;y<=h.e.c;++y){var C=ge({r:u,c:y});if(d=_?(l[u]||[])[y]:l[C],!d||d.v==null){g.push(\" \");continue}for(var D=(d.w||(Ir(d),d.w)||\"\").slice(0,10);D.length<10;)D+=\" \";g.push(D+(y===0?\" \":\"\"))}v.push(g.join(\"\"))}return v.join(\\`\n\\`)}return{to_workbook:o,to_sheet:f,from_sheet:c}})();var J0=(function(){function e(T,M,F){if(T){sr(T,T.l||0);for(var S=F.Enum||Me;T.l<T.length;){var V=T.read_shift(2),ne=S[V]||S[65535],fe=T.read_shift(2),ee=T.l+fe,Z=ne.f&&ne.f(T,fe,F);if(T.l=ee,M(Z,ne,V))return}}}function t(T,M){switch(M.type){case\"base64\":return r(pr(Or(T)),M);case\"binary\":return r(pr(T),M);case\"buffer\":case\"array\":return r(T,M)}throw\"Unsupported type \"+M.type}function r(T,M){if(!T)return T;var F=M||{};Er!=null&&F.dense==null&&(F.dense=Er);var S=F.dense?[]:{},V=\"Sheet1\",ne=\"\",fe=0,ee={},Z=[],_e=[],le={s:{r:0,c:0},e:{r:0,c:0}},Ue=F.sheetRows||0;if(T[2]==0&&(T[3]==8||T[3]==9)&&T.length>=16&&T[14]==5&&T[15]===108)throw new Error(\"Unsupported Works 3 for Mac file\");if(T[2]==2)F.Enum=Me,e(T,function(ae,or,Sr){switch(Sr){case 0:F.vers=ae,ae>=4096&&(F.qpro=!0);break;case 6:le=ae;break;case 204:ae&&(ne=ae);break;case 222:ne=ae;break;case 15:case 51:F.qpro||(ae[1].v=ae[1].v.slice(1));case 13:case 14:case 16:Sr==14&&(ae[2]&112)==112&&(ae[2]&15)>1&&(ae[2]&15)<15&&(ae[1].z=F.dateNF||ye[14],F.cellDates&&(ae[1].t=\"d\",ae[1].v=kn(ae[1].v))),F.qpro&&ae[3]>fe&&(S[\"!ref\"]=De(le),ee[V]=S,Z.push(V),S=F.dense?[]:{},le={s:{r:0,c:0},e:{r:0,c:0}},fe=ae[3],V=ne||\"Sheet\"+(fe+1),ne=\"\");var Wr=F.dense?(S[ae[0].r]||[])[ae[0].c]:S[ge(ae[0])];if(Wr){Wr.t=ae[1].t,Wr.v=ae[1].v,ae[1].z!=null&&(Wr.z=ae[1].z),ae[1].f!=null&&(Wr.f=ae[1].f);break}F.dense?(S[ae[0].r]||(S[ae[0].r]=[]),S[ae[0].r][ae[0].c]=ae[1]):S[ge(ae[0])]=ae[1];break;default:}},F);else if(T[2]==26||T[2]==14)F.Enum=Qe,T[2]==14&&(F.qpro=!0,T.l=0),e(T,function(ae,or,Sr){switch(Sr){case 204:V=ae;break;case 22:ae[1].v=ae[1].v.slice(1);case 23:case 24:case 25:case 37:case 39:case 40:if(ae[3]>fe&&(S[\"!ref\"]=De(le),ee[V]=S,Z.push(V),S=F.dense?[]:{},le={s:{r:0,c:0},e:{r:0,c:0}},fe=ae[3],V=\"Sheet\"+(fe+1)),Ue>0&&ae[0].r>=Ue)break;F.dense?(S[ae[0].r]||(S[ae[0].r]=[]),S[ae[0].r][ae[0].c]=ae[1]):S[ge(ae[0])]=ae[1],le.e.c<ae[0].c&&(le.e.c=ae[0].c),le.e.r<ae[0].r&&(le.e.r=ae[0].r);break;case 27:ae[14e3]&&(_e[ae[14e3][0]]=ae[14e3][1]);break;case 1537:_e[ae[0]]=ae[1],ae[0]==fe&&(V=ae[1]);break;default:break}},F);else throw new Error(\"Unrecognized LOTUS BOF \"+T[2]);if(S[\"!ref\"]=De(le),ee[ne||V]=S,Z.push(ne||V),!_e.length)return{SheetNames:Z,Sheets:ee};for(var ue={},xr=[],Se=0;Se<_e.length;++Se)ee[Z[Se]]?(xr.push(_e[Se]||Z[Se]),ue[_e[Se]]=ee[_e[Se]]||ee[Z[Se]]):(xr.push(_e[Se]),ue[_e[Se]]={\"!ref\":\"A1\"});return{SheetNames:xr,Sheets:ue}}function a(T,M){var F=M||{};if(+F.codepage>=0&&Dt(+F.codepage),F.type==\"string\")throw new Error(\"Cannot write WK1 to JS string\");var S=rr(),V=Te(T[\"!ref\"]),ne=Array.isArray(T),fe=[];Y(S,0,i(1030)),Y(S,6,o(V));for(var ee=Math.min(V.e.r,8191),Z=V.s.r;Z<=ee;++Z)for(var _e=Ge(Z),le=V.s.c;le<=V.e.c;++le){Z===V.s.r&&(fe[le]=\\$e(le));var Ue=fe[le]+_e,ue=ne?(T[Z]||[])[le]:T[Ue];if(!(!ue||ue.t==\"z\"))if(ue.t==\"n\")(ue.v|0)==ue.v&&ue.v>=-32768&&ue.v<=32767?Y(S,13,d(Z,le,ue.v)):Y(S,14,u(Z,le,ue.v));else{var xr=Ir(ue);Y(S,15,v(Z,le,xr.slice(0,239)))}}return Y(S,1),S.end()}function n(T,M){var F=M||{};if(+F.codepage>=0&&Dt(+F.codepage),F.type==\"string\")throw new Error(\"Cannot write WK3 to JS string\");var S=rr();Y(S,0,s(T));for(var V=0,ne=0;V<T.SheetNames.length;++V)(T.Sheets[T.SheetNames[V]]||{})[\"!ref\"]&&Y(S,27,je(T.SheetNames[V],ne++));var fe=0;for(V=0;V<T.SheetNames.length;++V){var ee=T.Sheets[T.SheetNames[V]];if(!(!ee||!ee[\"!ref\"])){for(var Z=Te(ee[\"!ref\"]),_e=Array.isArray(ee),le=[],Ue=Math.min(Z.e.r,8191),ue=Z.s.r;ue<=Ue;++ue)for(var xr=Ge(ue),Se=Z.s.c;Se<=Z.e.c;++Se){ue===Z.s.r&&(le[Se]=\\$e(Se));var ae=le[Se]+xr,or=_e?(ee[ue]||[])[Se]:ee[ae];if(!(!or||or.t==\"z\"))if(or.t==\"n\")Y(S,23,U(ue,Se,fe,or.v));else{var Sr=Ir(or);Y(S,22,A(ue,Se,fe,Sr.slice(0,239)))}}++fe}}return Y(S,1),S.end()}function i(T){var M=b(2);return M.write_shift(2,T),M}function s(T){var M=b(26);M.write_shift(2,4096),M.write_shift(2,4),M.write_shift(4,0);for(var F=0,S=0,V=0,ne=0;ne<T.SheetNames.length;++ne){var fe=T.SheetNames[ne],ee=T.Sheets[fe];if(!(!ee||!ee[\"!ref\"])){++V;var Z=cr(ee[\"!ref\"]);F<Z.e.r&&(F=Z.e.r),S<Z.e.c&&(S=Z.e.c)}}return F>8191&&(F=8191),M.write_shift(2,F),M.write_shift(1,V),M.write_shift(1,S),M.write_shift(2,0),M.write_shift(2,0),M.write_shift(1,1),M.write_shift(1,2),M.write_shift(4,0),M.write_shift(4,0),M}function f(T,M,F){var S={s:{c:0,r:0},e:{c:0,r:0}};return M==8&&F.qpro?(S.s.c=T.read_shift(1),T.l++,S.s.r=T.read_shift(2),S.e.c=T.read_shift(1),T.l++,S.e.r=T.read_shift(2),S):(S.s.c=T.read_shift(2),S.s.r=T.read_shift(2),M==12&&F.qpro&&(T.l+=2),S.e.c=T.read_shift(2),S.e.r=T.read_shift(2),M==12&&F.qpro&&(T.l+=2),S.s.c==65535&&(S.s.c=S.e.c=S.s.r=S.e.r=0),S)}function o(T){var M=b(8);return M.write_shift(2,T.s.c),M.write_shift(2,T.s.r),M.write_shift(2,T.e.c),M.write_shift(2,T.e.r),M}function c(T,M,F){var S=[{c:0,r:0},{t:\"n\",v:0},0,0];return F.qpro&&F.vers!=20768?(S[0].c=T.read_shift(1),S[3]=T.read_shift(1),S[0].r=T.read_shift(2),T.l+=2):(S[2]=T.read_shift(1),S[0].c=T.read_shift(2),S[0].r=T.read_shift(2)),S}function l(T,M,F){var S=T.l+M,V=c(T,M,F);if(V[1].t=\"s\",F.vers==20768){T.l++;var ne=T.read_shift(1);return V[1].v=T.read_shift(ne,\"utf8\"),V}return F.qpro&&T.l++,V[1].v=T.read_shift(S-T.l,\"cstr\"),V}function v(T,M,F){var S=b(7+F.length);S.write_shift(1,255),S.write_shift(2,M),S.write_shift(2,T),S.write_shift(1,39);for(var V=0;V<S.length;++V){var ne=F.charCodeAt(V);S.write_shift(1,ne>=128?95:ne)}return S.write_shift(1,0),S}function h(T,M,F){var S=c(T,M,F);return S[1].v=T.read_shift(2,\"i\"),S}function d(T,M,F){var S=b(7);return S.write_shift(1,255),S.write_shift(2,M),S.write_shift(2,T),S.write_shift(2,F,\"i\"),S}function _(T,M,F){var S=c(T,M,F);return S[1].v=T.read_shift(8,\"f\"),S}function u(T,M,F){var S=b(13);return S.write_shift(1,255),S.write_shift(2,M),S.write_shift(2,T),S.write_shift(8,F,\"f\"),S}function g(T,M,F){var S=T.l+M,V=c(T,M,F);if(V[1].v=T.read_shift(8,\"f\"),F.qpro)T.l=S;else{var ne=T.read_shift(2);B(T.slice(T.l,T.l+ne),V),T.l+=ne}return V}function y(T,M,F){var S=M&32768;return M&=-32769,M=(S?T:0)+(M>=8192?M-16384:M),(S?\"\":\"\\$\")+(F?\\$e(M):Ge(M))}var C={51:[\"FALSE\",0],52:[\"TRUE\",0],70:[\"LEN\",1],80:[\"SUM\",69],81:[\"AVERAGEA\",69],82:[\"COUNTA\",69],83:[\"MINA\",69],84:[\"MAXA\",69],111:[\"T\",1]},D=[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"+\",\"-\",\"*\",\"/\",\"^\",\"=\",\"<>\",\"<=\",\">=\",\"<\",\">\",\"\",\"\",\"\",\"\",\"&\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"];function B(T,M){sr(T,0);for(var F=[],S=0,V=\"\",ne=\"\",fe=\"\",ee=\"\";T.l<T.length;){var Z=T[T.l++];switch(Z){case 0:F.push(T.read_shift(8,\"f\"));break;case 1:ne=y(M[0].c,T.read_shift(2),!0),V=y(M[0].r,T.read_shift(2),!1),F.push(ne+V);break;case 2:{var _e=y(M[0].c,T.read_shift(2),!0),le=y(M[0].r,T.read_shift(2),!1);ne=y(M[0].c,T.read_shift(2),!0),V=y(M[0].r,T.read_shift(2),!1),F.push(_e+le+\":\"+ne+V)}break;case 3:if(T.l<T.length){console.error(\"WK1 premature formula end\");return}break;case 4:F.push(\"(\"+F.pop()+\")\");break;case 5:F.push(T.read_shift(2));break;case 6:{for(var Ue=\"\";Z=T[T.l++];)Ue+=String.fromCharCode(Z);F.push('\"'+Ue.replace(/\"/g,'\"\"')+'\"')}break;case 8:F.push(\"-\"+F.pop());break;case 23:F.push(\"+\"+F.pop());break;case 22:F.push(\"NOT(\"+F.pop()+\")\");break;case 20:case 21:ee=F.pop(),fe=F.pop(),F.push([\"AND\",\"OR\"][Z-20]+\"(\"+fe+\",\"+ee+\")\");break;default:if(Z<32&&D[Z])ee=F.pop(),fe=F.pop(),F.push(fe+D[Z]+ee);else if(C[Z]){if(S=C[Z][1],S==69&&(S=T[T.l++]),S>F.length){console.error(\"WK1 bad formula parse 0x\"+Z.toString(16)+\":|\"+F.join(\"|\")+\"|\");return}var ue=F.slice(-S);F.length-=S,F.push(C[Z][0]+\"(\"+ue.join(\",\")+\")\")}else return Z<=7?console.error(\"WK1 invalid opcode \"+Z.toString(16)):Z<=24?console.error(\"WK1 unsupported op \"+Z.toString(16)):Z<=30?console.error(\"WK1 invalid opcode \"+Z.toString(16)):Z<=115?console.error(\"WK1 unsupported function opcode \"+Z.toString(16)):console.error(\"WK1 unrecognized opcode \"+Z.toString(16))}}F.length==1?M[1].f=\"\"+F[0]:console.error(\"WK1 bad formula parse |\"+F.join(\"|\")+\"|\")}function G(T){var M=[{c:0,r:0},{t:\"n\",v:0},0];return M[0].r=T.read_shift(2),M[3]=T[T.l++],M[0].c=T[T.l++],M}function te(T,M){var F=G(T,M);return F[1].t=\"s\",F[1].v=T.read_shift(M-4,\"cstr\"),F}function A(T,M,F,S){var V=b(6+S.length);V.write_shift(2,T),V.write_shift(1,F),V.write_shift(1,M),V.write_shift(1,39);for(var ne=0;ne<S.length;++ne){var fe=S.charCodeAt(ne);V.write_shift(1,fe>=128?95:fe)}return V.write_shift(1,0),V}function W(T,M){var F=G(T,M);F[1].v=T.read_shift(2);var S=F[1].v>>1;if(F[1].v&1)switch(S&7){case 0:S=(S>>3)*5e3;break;case 1:S=(S>>3)*500;break;case 2:S=(S>>3)/20;break;case 3:S=(S>>3)/200;break;case 4:S=(S>>3)/2e3;break;case 5:S=(S>>3)/2e4;break;case 6:S=(S>>3)/16;break;case 7:S=(S>>3)/64;break}return F[1].v=S,F}function L(T,M){var F=G(T,M),S=T.read_shift(4),V=T.read_shift(4),ne=T.read_shift(2);if(ne==65535)return S===0&&V===3221225472?(F[1].t=\"e\",F[1].v=15):S===0&&V===3489660928?(F[1].t=\"e\",F[1].v=42):F[1].v=0,F;var fe=ne&32768;return ne=(ne&32767)-16446,F[1].v=(1-fe*2)*(V*Math.pow(2,ne+32)+S*Math.pow(2,ne)),F}function U(T,M,F,S){var V=b(14);if(V.write_shift(2,T),V.write_shift(1,F),V.write_shift(1,M),S==0)return V.write_shift(4,0),V.write_shift(4,0),V.write_shift(2,65535),V;var ne=0,fe=0,ee=0,Z=0;return S<0&&(ne=1,S=-S),fe=Math.log2(S)|0,S/=Math.pow(2,fe-31),Z=S>>>0,(Z&2147483648)==0&&(S/=2,++fe,Z=S>>>0),S-=Z,Z|=2147483648,Z>>>=0,S*=Math.pow(2,32),ee=S>>>0,V.write_shift(4,ee),V.write_shift(4,Z),fe+=16383+(ne?32768:0),V.write_shift(2,fe),V}function X(T,M){var F=L(T,14);return T.l+=M-14,F}function z(T,M){var F=G(T,M),S=T.read_shift(4);return F[1].v=S>>6,F}function ie(T,M){var F=G(T,M),S=T.read_shift(8,\"f\");return F[1].v=S,F}function de(T,M){var F=ie(T,14);return T.l+=M-10,F}function se(T,M){return T[T.l+M-1]==0?T.read_shift(M,\"cstr\"):\"\"}function Re(T,M){var F=T[T.l++];F>M-1&&(F=M-1);for(var S=\"\";S.length<F;)S+=String.fromCharCode(T[T.l++]);return S}function Ne(T,M,F){if(!(!F.qpro||M<21)){var S=T.read_shift(1);T.l+=17,T.l+=1,T.l+=2;var V=T.read_shift(M-21,\"cstr\");return[S,V]}}function Ze(T,M){for(var F={},S=T.l+M;T.l<S;){var V=T.read_shift(2);if(V==14e3){for(F[V]=[0,\"\"],F[V][0]=T.read_shift(2);T[T.l];)F[V][1]+=String.fromCharCode(T[T.l]),T.l++;T.l++}}return F}function je(T,M){var F=b(5+T.length);F.write_shift(2,14e3),F.write_shift(2,M);for(var S=0;S<T.length;++S){var V=T.charCodeAt(S);F[F.l++]=V>127?95:V}return F[F.l++]=0,F}var Me={0:{n:\"BOF\",f:jn},1:{n:\"EOF\"},2:{n:\"CALCMODE\"},3:{n:\"CALCORDER\"},4:{n:\"SPLIT\"},5:{n:\"SYNC\"},6:{n:\"RANGE\",f},7:{n:\"WINDOW1\"},8:{n:\"COLW1\"},9:{n:\"WINTWO\"},10:{n:\"COLW2\"},11:{n:\"NAME\"},12:{n:\"BLANK\"},13:{n:\"INTEGER\",f:h},14:{n:\"NUMBER\",f:_},15:{n:\"LABEL\",f:l},16:{n:\"FORMULA\",f:g},24:{n:\"TABLE\"},25:{n:\"ORANGE\"},26:{n:\"PRANGE\"},27:{n:\"SRANGE\"},28:{n:\"FRANGE\"},29:{n:\"KRANGE1\"},32:{n:\"HRANGE\"},35:{n:\"KRANGE2\"},36:{n:\"PROTEC\"},37:{n:\"FOOTER\"},38:{n:\"HEADER\"},39:{n:\"SETUP\"},40:{n:\"MARGINS\"},41:{n:\"LABELFMT\"},42:{n:\"TITLES\"},43:{n:\"SHEETJS\"},45:{n:\"GRAPH\"},46:{n:\"NGRAPH\"},47:{n:\"CALCCOUNT\"},48:{n:\"UNFORMATTED\"},49:{n:\"CURSORW12\"},50:{n:\"WINDOW\"},51:{n:\"STRING\",f:l},55:{n:\"PASSWORD\"},56:{n:\"LOCKED\"},60:{n:\"QUERY\"},61:{n:\"QUERYNAME\"},62:{n:\"PRINT\"},63:{n:\"PRINTNAME\"},64:{n:\"GRAPH2\"},65:{n:\"GRAPHNAME\"},66:{n:\"ZOOM\"},67:{n:\"SYMSPLIT\"},68:{n:\"NSROWS\"},69:{n:\"NSCOLS\"},70:{n:\"RULER\"},71:{n:\"NNAME\"},72:{n:\"ACOMM\"},73:{n:\"AMACRO\"},74:{n:\"PARSE\"},102:{n:\"PRANGES??\"},103:{n:\"RRANGES??\"},104:{n:\"FNAME??\"},105:{n:\"MRANGES??\"},204:{n:\"SHEETNAMECS\",f:se},222:{n:\"SHEETNAMELP\",f:Re},65535:{n:\"\"}},Qe={0:{n:\"BOF\"},1:{n:\"EOF\"},2:{n:\"PASSWORD\"},3:{n:\"CALCSET\"},4:{n:\"WINDOWSET\"},5:{n:\"SHEETCELLPTR\"},6:{n:\"SHEETLAYOUT\"},7:{n:\"COLUMNWIDTH\"},8:{n:\"HIDDENCOLUMN\"},9:{n:\"USERRANGE\"},10:{n:\"SYSTEMRANGE\"},11:{n:\"ZEROFORCE\"},12:{n:\"SORTKEYDIR\"},13:{n:\"FILESEAL\"},14:{n:\"DATAFILLNUMS\"},15:{n:\"PRINTMAIN\"},16:{n:\"PRINTSTRING\"},17:{n:\"GRAPHMAIN\"},18:{n:\"GRAPHSTRING\"},19:{n:\"??\"},20:{n:\"ERRCELL\"},21:{n:\"NACELL\"},22:{n:\"LABEL16\",f:te},23:{n:\"NUMBER17\",f:L},24:{n:\"NUMBER18\",f:W},25:{n:\"FORMULA19\",f:X},26:{n:\"FORMULA1A\"},27:{n:\"XFORMAT\",f:Ze},28:{n:\"DTLABELMISC\"},29:{n:\"DTLABELCELL\"},30:{n:\"GRAPHWINDOW\"},31:{n:\"CPA\"},32:{n:\"LPLAUTO\"},33:{n:\"QUERY\"},34:{n:\"HIDDENSHEET\"},35:{n:\"??\"},37:{n:\"NUMBER25\",f:z},38:{n:\"??\"},39:{n:\"NUMBER27\",f:ie},40:{n:\"FORMULA28\",f:de},142:{n:\"??\"},147:{n:\"??\"},150:{n:\"??\"},151:{n:\"??\"},152:{n:\"??\"},153:{n:\"??\"},154:{n:\"??\"},155:{n:\"??\"},156:{n:\"??\"},163:{n:\"??\"},174:{n:\"??\"},175:{n:\"??\"},176:{n:\"??\"},177:{n:\"??\"},184:{n:\"??\"},185:{n:\"??\"},186:{n:\"??\"},187:{n:\"??\"},188:{n:\"??\"},195:{n:\"??\"},201:{n:\"??\"},204:{n:\"SHEETNAMECS\",f:se},205:{n:\"??\"},206:{n:\"??\"},207:{n:\"??\"},208:{n:\"??\"},256:{n:\"??\"},259:{n:\"??\"},260:{n:\"??\"},261:{n:\"??\"},262:{n:\"??\"},263:{n:\"??\"},265:{n:\"??\"},266:{n:\"??\"},267:{n:\"??\"},268:{n:\"??\"},270:{n:\"??\"},271:{n:\"??\"},384:{n:\"??\"},389:{n:\"??\"},390:{n:\"??\"},393:{n:\"??\"},396:{n:\"??\"},512:{n:\"??\"},514:{n:\"??\"},513:{n:\"??\"},516:{n:\"??\"},517:{n:\"??\"},640:{n:\"??\"},641:{n:\"??\"},642:{n:\"??\"},643:{n:\"??\"},644:{n:\"??\"},645:{n:\"??\"},646:{n:\"??\"},647:{n:\"??\"},648:{n:\"??\"},658:{n:\"??\"},659:{n:\"??\"},660:{n:\"??\"},661:{n:\"??\"},662:{n:\"??\"},665:{n:\"??\"},666:{n:\"??\"},768:{n:\"??\"},772:{n:\"??\"},1537:{n:\"SHEETINFOQP\",f:Ne},1600:{n:\"??\"},1602:{n:\"??\"},1793:{n:\"??\"},1794:{n:\"??\"},1795:{n:\"??\"},1796:{n:\"??\"},1920:{n:\"??\"},2048:{n:\"??\"},2049:{n:\"??\"},2052:{n:\"??\"},2688:{n:\"??\"},10998:{n:\"??\"},12849:{n:\"??\"},28233:{n:\"??\"},28484:{n:\"??\"},65535:{n:\"\"}};return{sheet_to_wk1:a,book_to_wk3:n,to_workbook:t}})();var hc=/^\\\\s|\\\\s\\$|[\\\\t\\\\n\\\\r]/;function ei(e,t){if(!t.bookSST)return\"\";var r=[Oe];r[r.length]=j(\"sst\",null,{xmlns:xt[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a)if(e[a]!=null){var n=e[a],i=\"<si>\";n.r?i+=n.r:(i+=\"<t\",n.t||(n.t=\"\"),n.t.match(hc)&&(i+=' xml:space=\"preserve\"'),i+=\">\"+me(n.t)+\"</t>\"),i+=\"</si>\",r[r.length]=i}return r.length>2&&(r[r.length]=\"</sst>\",r[1]=r[1].replace(\"/>\",\">\")),r.join(\"\")}function xc(e){return[e.read_shift(4),e.read_shift(4)]}function dc(e,t){return t||(t=b(8)),t.write_shift(4,e.Count),t.write_shift(4,e.Unique),t}var vc=nf;function pc(e){var t=rr();H(t,159,dc(e));for(var r=0;r<e.length;++r)H(t,19,vc(e[r]));return H(t,160),t.end()}function mc(e){if(typeof ke<\"u\")return ke.utils.encode(ut,e);for(var t=[],r=e.split(\"\"),a=0;a<r.length;++a)t[a]=r[a].charCodeAt(0);return t}function ri(e){var t=0,r,a=mc(e),n=a.length+1,i,s,f,o,c;for(r=\\$r(n),r[0]=a.length,i=1;i!=n;++i)r[i]=a[i-1];for(i=n-1;i>=0;--i)s=r[i],f=(t&16384)===0?0:1,o=t<<1&32767,c=f|o,t=c^s;return t^52811}var gc=(function(){function e(n,i){switch(i.type){case\"base64\":return t(Or(n),i);case\"binary\":return t(n,i);case\"buffer\":return t(xe&&Buffer.isBuffer(n)?n.toString(\"binary\"):Pt(n),i);case\"array\":return t(da(n),i)}throw new Error(\"Unrecognized type \"+i.type)}function t(n,i){var s=i||{},f=s.dense?[]:{},o=n.match(/\\\\\\\\trowd.*?\\\\\\\\row\\\\b/g);if(!o.length)throw new Error(\"RTF missing table\");var c={s:{c:0,r:0},e:{c:0,r:o.length-1}};return o.forEach(function(l,v){Array.isArray(f)&&(f[v]=[]);for(var h=/\\\\\\\\\\\\w+\\\\b/g,d=0,_,u=-1;_=h.exec(l);){switch(_[0]){case\"\\\\\\\\cell\":var g=l.slice(d,h.lastIndex-_[0].length);if(g[0]==\" \"&&(g=g.slice(1)),++u,g.length){var y={v:g,t:\"s\"};Array.isArray(f)?f[v][u]=y:f[ge({r:v,c:u})]=y}break}d=h.lastIndex}u>c.e.c&&(c.e.c=u)}),f[\"!ref\"]=De(c),f}function r(n,i){return Yr(e(n,i),i)}function a(n){for(var i=[\"{\\\\\\\\rtf1\\\\\\\\ansi\"],s=Te(n[\"!ref\"]),f,o=Array.isArray(n),c=s.s.r;c<=s.e.r;++c){i.push(\"\\\\\\\\trowd\\\\\\\\trautofit1\");for(var l=s.s.c;l<=s.e.c;++l)i.push(\"\\\\\\\\cellx\"+(l+1));for(i.push(\"\\\\\\\\pard\\\\\\\\intbl\"),l=s.s.c;l<=s.e.c;++l){var v=ge({r:c,c:l});f=o?(n[c]||[])[l]:n[v],!(!f||f.v==null&&(!f.f||f.F))&&(i.push(\" \"+(f.w||(Ir(f),f.w))),i.push(\"\\\\\\\\cell\"))}i.push(\"\\\\\\\\pard\\\\\\\\intbl\\\\\\\\row\")}return i.join(\"\")+\"}\"}return{to_workbook:r,to_sheet:e,from_sheet:a}})();function q0(e){for(var t=0,r=1;t!=3;++t)r=r*256+(e[t]>255?255:e[t]<0?0:e[t]);return r.toString(16).toUpperCase().slice(1)}var _c=6;var Dr=_c;function ia(e){return Math.floor((e+Math.round(128/Dr)/256)*Dr)}function sa(e){return Math.floor((e-5)/Dr*100+.5)/100}function La(e){return Math.round((e*Dr+5)/Dr*256)/256}function r0(e){e.width?(e.wpx=ia(e.width),e.wch=sa(e.wpx),e.MDW=Dr):e.wpx?(e.wch=sa(e.wpx),e.width=La(e.wch),e.MDW=Dr):typeof e.wch==\"number\"&&(e.width=La(e.wch),e.wpx=ia(e.width),e.MDW=Dr),e.customWidth&&delete e.customWidth}var wc=96,ti=wc;function fa(e){return e*96/ti}function ai(e){return e*ti/96}function kc(e){var t=[\"<numFmts>\"];return[[5,8],[23,26],[41,44],[50,392]].forEach(function(r){for(var a=r[0];a<=r[1];++a)e[a]!=null&&(t[t.length]=j(\"numFmt\",null,{numFmtId:a,formatCode:me(e[a])}))}),t.length===1?\"\":(t[t.length]=\"</numFmts>\",t[0]=j(\"numFmts\",null,{count:t.length-2}).replace(\"/>\",\">\"),t.join(\"\"))}function Ec(e){var t=[];return t[t.length]=j(\"cellXfs\",null),e.forEach(function(r){t[t.length]=j(\"xf\",null,r)}),t[t.length]=\"</cellXfs>\",t.length===2?\"\":(t[0]=j(\"cellXfs\",null,{count:t.length-2}).replace(\"/>\",\">\"),t.join(\"\"))}function ni(e,t){var r=[Oe,j(\"styleSheet\",null,{xmlns:xt[0],\"xmlns:vt\":Pe.vt})],a;return e.SSF&&(a=kc(e.SSF))!=null&&(r[r.length]=a),r[r.length]='<fonts count=\"1\"><font><sz val=\"12\"/><color theme=\"1\"/><name val=\"Calibri\"/><family val=\"2\"/><scheme val=\"minor\"/></font></fonts>',r[r.length]='<fills count=\"2\"><fill><patternFill patternType=\"none\"/></fill><fill><patternFill patternType=\"gray125\"/></fill></fills>',r[r.length]='<borders count=\"1\"><border><left/><right/><top/><bottom/><diagonal/></border></borders>',r[r.length]='<cellStyleXfs count=\"1\"><xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\"/></cellStyleXfs>',(a=Ec(t.cellXfs))&&(r[r.length]=a),r[r.length]='<cellStyles count=\"1\"><cellStyle name=\"Normal\" xfId=\"0\" builtinId=\"0\"/></cellStyles>',r[r.length]='<dxfs count=\"0\"/>',r[r.length]='<tableStyles count=\"0\" defaultTableStyle=\"TableStyleMedium9\" defaultPivotStyle=\"PivotStyleMedium4\"/>',r.length>2&&(r[r.length]=\"</styleSheet>\",r[1]=r[1].replace(\"/>\",\">\")),r.join(\"\")}function Tc(e,t){var r=e.read_shift(2),a=Ke(e,t-2);return[r,a]}function Sc(e,t,r){r||(r=b(6+4*t.length)),r.write_shift(2,e),Be(t,r);var a=r.length>r.l?r.slice(0,r.l):r;return r.l==null&&(r.l=r.length),a}function Fc(e,t,r){var a={};a.sz=e.read_shift(2)/20;var n=hf(e,2,r);n.fItalic&&(a.italic=1),n.fCondense&&(a.condense=1),n.fExtend&&(a.extend=1),n.fShadow&&(a.shadow=1),n.fOutline&&(a.outline=1),n.fStrikeout&&(a.strike=1);var i=e.read_shift(2);switch(i===700&&(a.bold=1),e.read_shift(2)){case 1:a.vertAlign=\"superscript\";break;case 2:a.vertAlign=\"subscript\";break}var s=e.read_shift(1);s!=0&&(a.underline=s);var f=e.read_shift(1);f>0&&(a.family=f);var o=e.read_shift(1);switch(o>0&&(a.charset=o),e.l++,a.color=uf(e,8),e.read_shift(1)){case 1:a.scheme=\"major\";break;case 2:a.scheme=\"minor\";break}return a.name=Ke(e,t-21),a}function yc(e,t){t||(t=b(153)),t.write_shift(2,e.sz*20),xf(e,t),t.write_shift(2,e.bold?700:400);var r=0;e.vertAlign==\"superscript\"?r=1:e.vertAlign==\"subscript\"&&(r=2),t.write_shift(2,r),t.write_shift(1,e.underline||0),t.write_shift(1,e.family||0),t.write_shift(1,e.charset||0),t.write_shift(1,0),aa(e.color,t);var a=0;return e.scheme==\"major\"&&(a=1),e.scheme==\"minor\"&&(a=2),t.write_shift(1,a),Be(e.name,t),t.length>t.l?t.slice(0,t.l):t}var Ac=[\"none\",\"solid\",\"mediumGray\",\"darkGray\",\"lightGray\",\"darkHorizontal\",\"darkVertical\",\"darkDown\",\"darkUp\",\"darkGrid\",\"darkTrellis\",\"lightHorizontal\",\"lightVertical\",\"lightDown\",\"lightUp\",\"lightGrid\",\"lightTrellis\",\"gray125\",\"gray0625\"],Da,Cc=Tr;function Z0(e,t){t||(t=b(84)),Da||(Da=Ua(Ac));var r=Da[e.patternType];r==null&&(r=40),t.write_shift(4,r);var a=0;if(r!=40)for(aa({auto:1},t),aa({auto:1},t);a<12;++a)t.write_shift(4,0);else{for(;a<4;++a)t.write_shift(4,0);for(;a<12;++a)t.write_shift(4,0)}return t.length>t.l?t.slice(0,t.l):t}function Dc(e,t){var r=e.l+t,a=e.read_shift(2),n=e.read_shift(2);return e.l=r,{ixfe:a,numFmtId:n}}function ii(e,t,r){r||(r=b(16)),r.write_shift(2,t||0),r.write_shift(2,e.numFmtId||0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(1,0),r.write_shift(1,0);var a=0;return r.write_shift(1,a),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r}function kt(e,t){return t||(t=b(10)),t.write_shift(1,0),t.write_shift(1,0),t.write_shift(4,0),t.write_shift(4,0),t}var Oc=Tr;function Ic(e,t){return t||(t=b(51)),t.write_shift(1,0),kt(null,t),kt(null,t),kt(null,t),kt(null,t),kt(null,t),t.length>t.l?t.slice(0,t.l):t}function Rc(e,t){return t||(t=b(52)),t.write_shift(4,e.xfId),t.write_shift(2,1),t.write_shift(1,+e.builtinId),t.write_shift(1,0),ta(e.name||\"\",t),t.length>t.l?t.slice(0,t.l):t}function Nc(e,t,r){var a=b(2052);return a.write_shift(4,e),ta(t,a),ta(r,a),a.length>a.l?a.slice(0,a.l):a}function bc(e,t){if(t){var r=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(a){for(var n=a[0];n<=a[1];++n)t[n]!=null&&++r}),r!=0&&(H(e,615,gr(r)),[[5,8],[23,26],[41,44],[50,392]].forEach(function(a){for(var n=a[0];n<=a[1];++n)t[n]!=null&&H(e,44,Sc(n,t[n]))}),H(e,616))}}function Pc(e){var t=1;t!=0&&(H(e,611,gr(t)),H(e,43,yc({sz:12,color:{theme:1},name:\"Calibri\",family:2,scheme:\"minor\"})),H(e,612))}function Lc(e){var t=2;t!=0&&(H(e,603,gr(t)),H(e,45,Z0({patternType:\"none\"})),H(e,45,Z0({patternType:\"gray125\"})),H(e,604))}function Bc(e){var t=1;t!=0&&(H(e,613,gr(t)),H(e,46,Ic({})),H(e,614))}function Mc(e){var t=1;H(e,626,gr(t)),H(e,47,ii({numFmtId:0,fontId:0,fillId:0,borderId:0},65535)),H(e,627)}function Uc(e,t){H(e,617,gr(t.length)),t.forEach(function(r){H(e,47,ii(r,0))}),H(e,618)}function Wc(e){var t=1;H(e,619,gr(t)),H(e,48,Rc({xfId:0,builtinId:0,name:\"Normal\"})),H(e,620)}function Hc(e){var t=0;H(e,505,gr(t)),H(e,506)}function Vc(e){var t=0;H(e,508,Nc(t,\"TableStyleMedium9\",\"PivotStyleMedium4\")),H(e,509)}function Xc(e,t){var r=rr();return H(r,278),bc(r,e.SSF),Pc(r,e),Lc(r,e),Bc(r,e),Mc(r,e),Uc(r,t.cellXfs),Wc(r,e),Hc(r,e),Vc(r,e),H(r,279),r.end()}function si(e,t){if(t&&t.themeXLSX)return t.themeXLSX;if(e&&typeof e.raw==\"string\")return e.raw;var r=[Oe];return r[r.length]='<a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"Office Theme\">',r[r.length]=\"<a:themeElements>\",r[r.length]='<a:clrScheme name=\"Office\">',r[r.length]='<a:dk1><a:sysClr val=\"windowText\" lastClr=\"000000\"/></a:dk1>',r[r.length]='<a:lt1><a:sysClr val=\"window\" lastClr=\"FFFFFF\"/></a:lt1>',r[r.length]='<a:dk2><a:srgbClr val=\"1F497D\"/></a:dk2>',r[r.length]='<a:lt2><a:srgbClr val=\"EEECE1\"/></a:lt2>',r[r.length]='<a:accent1><a:srgbClr val=\"4F81BD\"/></a:accent1>',r[r.length]='<a:accent2><a:srgbClr val=\"C0504D\"/></a:accent2>',r[r.length]='<a:accent3><a:srgbClr val=\"9BBB59\"/></a:accent3>',r[r.length]='<a:accent4><a:srgbClr val=\"8064A2\"/></a:accent4>',r[r.length]='<a:accent5><a:srgbClr val=\"4BACC6\"/></a:accent5>',r[r.length]='<a:accent6><a:srgbClr val=\"F79646\"/></a:accent6>',r[r.length]='<a:hlink><a:srgbClr val=\"0000FF\"/></a:hlink>',r[r.length]='<a:folHlink><a:srgbClr val=\"800080\"/></a:folHlink>',r[r.length]=\"</a:clrScheme>\",r[r.length]='<a:fontScheme name=\"Office\">',r[r.length]=\"<a:majorFont>\",r[r.length]='<a:latin typeface=\"Cambria\"/>',r[r.length]='<a:ea typeface=\"\"/>',r[r.length]='<a:cs typeface=\"\"/>',r[r.length]='<a:font script=\"Jpan\" typeface=\"\\\\uFF2D\\\\uFF33 \\\\uFF30\\\\u30B4\\\\u30B7\\\\u30C3\\\\u30AF\"/>',r[r.length]='<a:font script=\"Hang\" typeface=\"\\\\uB9D1\\\\uC740 \\\\uACE0\\\\uB515\"/>',r[r.length]='<a:font script=\"Hans\" typeface=\"\\\\u5B8B\\\\u4F53\"/>',r[r.length]='<a:font script=\"Hant\" typeface=\"\\\\u65B0\\\\u7D30\\\\u660E\\\\u9AD4\"/>',r[r.length]='<a:font script=\"Arab\" typeface=\"Times New Roman\"/>',r[r.length]='<a:font script=\"Hebr\" typeface=\"Times New Roman\"/>',r[r.length]='<a:font script=\"Thai\" typeface=\"Tahoma\"/>',r[r.length]='<a:font script=\"Ethi\" typeface=\"Nyala\"/>',r[r.length]='<a:font script=\"Beng\" typeface=\"Vrinda\"/>',r[r.length]='<a:font script=\"Gujr\" typeface=\"Shruti\"/>',r[r.length]='<a:font script=\"Khmr\" typeface=\"MoolBoran\"/>',r[r.length]='<a:font script=\"Knda\" typeface=\"Tunga\"/>',r[r.length]='<a:font script=\"Guru\" typeface=\"Raavi\"/>',r[r.length]='<a:font script=\"Cans\" typeface=\"Euphemia\"/>',r[r.length]='<a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/>',r[r.length]='<a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/>',r[r.length]='<a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/>',r[r.length]='<a:font script=\"Thaa\" typeface=\"MV Boli\"/>',r[r.length]='<a:font script=\"Deva\" typeface=\"Mangal\"/>',r[r.length]='<a:font script=\"Telu\" typeface=\"Gautami\"/>',r[r.length]='<a:font script=\"Taml\" typeface=\"Latha\"/>',r[r.length]='<a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/>',r[r.length]='<a:font script=\"Orya\" typeface=\"Kalinga\"/>',r[r.length]='<a:font script=\"Mlym\" typeface=\"Kartika\"/>',r[r.length]='<a:font script=\"Laoo\" typeface=\"DokChampa\"/>',r[r.length]='<a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/>',r[r.length]='<a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/>',r[r.length]='<a:font script=\"Viet\" typeface=\"Times New Roman\"/>',r[r.length]='<a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/>',r[r.length]='<a:font script=\"Geor\" typeface=\"Sylfaen\"/>',r[r.length]=\"</a:majorFont>\",r[r.length]=\"<a:minorFont>\",r[r.length]='<a:latin typeface=\"Calibri\"/>',r[r.length]='<a:ea typeface=\"\"/>',r[r.length]='<a:cs typeface=\"\"/>',r[r.length]='<a:font script=\"Jpan\" typeface=\"\\\\uFF2D\\\\uFF33 \\\\uFF30\\\\u30B4\\\\u30B7\\\\u30C3\\\\u30AF\"/>',r[r.length]='<a:font script=\"Hang\" typeface=\"\\\\uB9D1\\\\uC740 \\\\uACE0\\\\uB515\"/>',r[r.length]='<a:font script=\"Hans\" typeface=\"\\\\u5B8B\\\\u4F53\"/>',r[r.length]='<a:font script=\"Hant\" typeface=\"\\\\u65B0\\\\u7D30\\\\u660E\\\\u9AD4\"/>',r[r.length]='<a:font script=\"Arab\" typeface=\"Arial\"/>',r[r.length]='<a:font script=\"Hebr\" typeface=\"Arial\"/>',r[r.length]='<a:font script=\"Thai\" typeface=\"Tahoma\"/>',r[r.length]='<a:font script=\"Ethi\" typeface=\"Nyala\"/>',r[r.length]='<a:font script=\"Beng\" typeface=\"Vrinda\"/>',r[r.length]='<a:font script=\"Gujr\" typeface=\"Shruti\"/>',r[r.length]='<a:font script=\"Khmr\" typeface=\"DaunPenh\"/>',r[r.length]='<a:font script=\"Knda\" typeface=\"Tunga\"/>',r[r.length]='<a:font script=\"Guru\" typeface=\"Raavi\"/>',r[r.length]='<a:font script=\"Cans\" typeface=\"Euphemia\"/>',r[r.length]='<a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/>',r[r.length]='<a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/>',r[r.length]='<a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/>',r[r.length]='<a:font script=\"Thaa\" typeface=\"MV Boli\"/>',r[r.length]='<a:font script=\"Deva\" typeface=\"Mangal\"/>',r[r.length]='<a:font script=\"Telu\" typeface=\"Gautami\"/>',r[r.length]='<a:font script=\"Taml\" typeface=\"Latha\"/>',r[r.length]='<a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/>',r[r.length]='<a:font script=\"Orya\" typeface=\"Kalinga\"/>',r[r.length]='<a:font script=\"Mlym\" typeface=\"Kartika\"/>',r[r.length]='<a:font script=\"Laoo\" typeface=\"DokChampa\"/>',r[r.length]='<a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/>',r[r.length]='<a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/>',r[r.length]='<a:font script=\"Viet\" typeface=\"Arial\"/>',r[r.length]='<a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/>',r[r.length]='<a:font script=\"Geor\" typeface=\"Sylfaen\"/>',r[r.length]=\"</a:minorFont>\",r[r.length]=\"</a:fontScheme>\",r[r.length]='<a:fmtScheme name=\"Office\">',r[r.length]=\"<a:fillStyleLst>\",r[r.length]='<a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill>',r[r.length]='<a:gradFill rotWithShape=\"1\">',r[r.length]=\"<a:gsLst>\",r[r.length]='<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"50000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"35000\"><a:schemeClr val=\"phClr\"><a:tint val=\"37000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:tint val=\"15000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>',r[r.length]=\"</a:gsLst>\",r[r.length]='<a:lin ang=\"16200000\" scaled=\"1\"/>',r[r.length]=\"</a:gradFill>\",r[r.length]='<a:gradFill rotWithShape=\"1\">',r[r.length]=\"<a:gsLst>\",r[r.length]='<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"100000\"/><a:shade val=\"100000\"/><a:satMod val=\"130000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:tint val=\"50000\"/><a:shade val=\"100000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>',r[r.length]=\"</a:gsLst>\",r[r.length]='<a:lin ang=\"16200000\" scaled=\"0\"/>',r[r.length]=\"</a:gradFill>\",r[r.length]=\"</a:fillStyleLst>\",r[r.length]=\"<a:lnStyleLst>\",r[r.length]='<a:ln w=\"9525\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"><a:shade val=\"95000\"/><a:satMod val=\"105000\"/></a:schemeClr></a:solidFill><a:prstDash val=\"solid\"/></a:ln>',r[r.length]='<a:ln w=\"25400\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/></a:ln>',r[r.length]='<a:ln w=\"38100\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/></a:ln>',r[r.length]=\"</a:lnStyleLst>\",r[r.length]=\"<a:effectStyleLst>\",r[r.length]=\"<a:effectStyle>\",r[r.length]=\"<a:effectLst>\",r[r.length]='<a:outerShdw blurRad=\"40000\" dist=\"20000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"38000\"/></a:srgbClr></a:outerShdw>',r[r.length]=\"</a:effectLst>\",r[r.length]=\"</a:effectStyle>\",r[r.length]=\"<a:effectStyle>\",r[r.length]=\"<a:effectLst>\",r[r.length]='<a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"35000\"/></a:srgbClr></a:outerShdw>',r[r.length]=\"</a:effectLst>\",r[r.length]=\"</a:effectStyle>\",r[r.length]=\"<a:effectStyle>\",r[r.length]=\"<a:effectLst>\",r[r.length]='<a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"35000\"/></a:srgbClr></a:outerShdw>',r[r.length]=\"</a:effectLst>\",r[r.length]='<a:scene3d><a:camera prst=\"orthographicFront\"><a:rot lat=\"0\" lon=\"0\" rev=\"0\"/></a:camera><a:lightRig rig=\"threePt\" dir=\"t\"><a:rot lat=\"0\" lon=\"0\" rev=\"1200000\"/></a:lightRig></a:scene3d>',r[r.length]='<a:sp3d><a:bevelT w=\"63500\" h=\"25400\"/></a:sp3d>',r[r.length]=\"</a:effectStyle>\",r[r.length]=\"</a:effectStyleLst>\",r[r.length]=\"<a:bgFillStyleLst>\",r[r.length]='<a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill>',r[r.length]='<a:gradFill rotWithShape=\"1\">',r[r.length]=\"<a:gsLst>\",r[r.length]='<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"40000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"40000\"><a:schemeClr val=\"phClr\"><a:tint val=\"45000\"/><a:shade val=\"99000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"20000\"/><a:satMod val=\"255000\"/></a:schemeClr></a:gs>',r[r.length]=\"</a:gsLst>\",r[r.length]='<a:path path=\"circle\"><a:fillToRect l=\"50000\" t=\"-80000\" r=\"50000\" b=\"180000\"/></a:path>',r[r.length]=\"</a:gradFill>\",r[r.length]='<a:gradFill rotWithShape=\"1\">',r[r.length]=\"<a:gsLst>\",r[r.length]='<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"80000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"30000\"/><a:satMod val=\"200000\"/></a:schemeClr></a:gs>',r[r.length]=\"</a:gsLst>\",r[r.length]='<a:path path=\"circle\"><a:fillToRect l=\"50000\" t=\"50000\" r=\"50000\" b=\"50000\"/></a:path>',r[r.length]=\"</a:gradFill>\",r[r.length]=\"</a:bgFillStyleLst>\",r[r.length]=\"</a:fmtScheme>\",r[r.length]=\"</a:themeElements>\",r[r.length]=\"<a:objectDefaults>\",r[r.length]=\"<a:spDef>\",r[r.length]='<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\"1\"><a:schemeClr val=\"accent1\"/></a:lnRef><a:fillRef idx=\"3\"><a:schemeClr val=\"accent1\"/></a:fillRef><a:effectRef idx=\"2\"><a:schemeClr val=\"accent1\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></a:style>',r[r.length]=\"</a:spDef>\",r[r.length]=\"<a:lnDef>\",r[r.length]='<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\"2\"><a:schemeClr val=\"accent1\"/></a:lnRef><a:fillRef idx=\"0\"><a:schemeClr val=\"accent1\"/></a:fillRef><a:effectRef idx=\"1\"><a:schemeClr val=\"accent1\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"tx1\"/></a:fontRef></a:style>',r[r.length]=\"</a:lnDef>\",r[r.length]=\"</a:objectDefaults>\",r[r.length]=\"<a:extraClrSchemeLst/>\",r[r.length]=\"</a:theme>\",r.join(\"\")}function Gc(e,t){return{flags:e.read_shift(4),version:e.read_shift(4),name:Ke(e,t-8)}}function zc(e){var t=b(12+2*e.name.length);return t.write_shift(4,e.flags),t.write_shift(4,e.version),Be(e.name,t),t.slice(0,t.l)}function \\$c(e){for(var t=[],r=e.read_shift(4);r-- >0;)t.push([e.read_shift(4),e.read_shift(4)]);return t}function Kc(e){var t=b(4+8*e.length);t.write_shift(4,e.length);for(var r=0;r<e.length;++r)t.write_shift(4,e[r][0]),t.write_shift(4,e[r][1]);return t}function jc(e,t){var r=b(8+2*t.length);return r.write_shift(4,e),Be(t,r),r.slice(0,r.l)}function Yc(e){return e.l+=4,e.read_shift(4)!=0}function Jc(e,t){var r=b(8);return r.write_shift(4,e),r.write_shift(4,t?1:0),r}function qc(){var e=rr();return H(e,332),H(e,334,gr(1)),H(e,335,zc({name:\"XLDAPR\",version:12e4,flags:3496657072})),H(e,336),H(e,339,jc(1,\"XLDAPR\")),H(e,52),H(e,35,gr(514)),H(e,4096,gr(0)),H(e,4097,ur(1)),H(e,36),H(e,53),H(e,340),H(e,337,Jc(1,!0)),H(e,51,Kc([[1,0]])),H(e,338),H(e,333),e.end()}function fi(){var e=[Oe];return e.push(\\`<metadata xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:xlrd=\"http://schemas.microsoft.com/office/spreadsheetml/2017/richdata\" xmlns:xda=\"http://schemas.microsoft.com/office/spreadsheetml/2017/dynamicarray\">\n <metadataTypes count=\"1\">\n <metadataType name=\"XLDAPR\" minSupportedVersion=\"120000\" copy=\"1\" pasteAll=\"1\" pasteValues=\"1\" merge=\"1\" splitFirst=\"1\" rowColShift=\"1\" clearFormats=\"1\" clearComments=\"1\" assign=\"1\" coerce=\"1\" cellMeta=\"1\"/>\n </metadataTypes>\n <futureMetadata name=\"XLDAPR\" count=\"1\">\n <bk>\n <extLst>\n <ext uri=\"{bdbb8cdc-fa1e-496e-a857-3c3f30c029c3}\">\n <xda:dynamicArrayProperties fDynamic=\"1\" fCollapsed=\"0\"/>\n </ext>\n </extLst>\n </bk>\n </futureMetadata>\n <cellMetadata count=\"1\">\n <bk>\n <rc t=\"1\" v=\"0\"/>\n </bk>\n </cellMetadata>\n</metadata>\\`),e.join(\"\")}function Zc(e){var t={};t.i=e.read_shift(4);var r={};r.r=e.read_shift(4),r.c=e.read_shift(4),t.r=ge(r);var a=e.read_shift(1);return a&2&&(t.l=\"1\"),a&8&&(t.a=\"1\"),t}var it=1024;function ci(e,t){for(var r=[21600,21600],a=[\"m0,0l0\",r[1],r[0],r[1],r[0],\"0xe\"].join(\",\"),n=[j(\"xml\",null,{\"xmlns:v\":fr.v,\"xmlns:o\":fr.o,\"xmlns:x\":fr.x,\"xmlns:mv\":fr.mv}).replace(/\\\\/>/,\">\"),j(\"o:shapelayout\",j(\"o:idmap\",null,{\"v:ext\":\"edit\",data:e}),{\"v:ext\":\"edit\"}),j(\"v:shapetype\",[j(\"v:stroke\",null,{joinstyle:\"miter\"}),j(\"v:path\",null,{gradientshapeok:\"t\",\"o:connecttype\":\"rect\"})].join(\"\"),{id:\"_x0000_t202\",\"o:spt\":202,coordsize:r.join(\",\"),path:a})];it<e*1e3;)it+=1e3;return t.forEach(function(i){var s=Le(i[0]),f={color2:\"#BEFF82\",type:\"gradient\"};f.type==\"gradient\"&&(f.angle=\"-180\");var o=f.type==\"gradient\"?j(\"o:fill\",null,{type:\"gradientUnscaled\",\"v:ext\":\"view\"}):null,c=j(\"v:fill\",o,f),l={on:\"t\",obscured:\"t\"};++it,n=n.concat([\"<v:shape\"+Rt({id:\"_x0000_s\"+it,type:\"#_x0000_t202\",style:\"position:absolute; margin-left:80pt;margin-top:5pt;width:104pt;height:64pt;z-index:10\"+(i[1].hidden?\";visibility:hidden\":\"\"),fillcolor:\"#ECFAD4\",strokecolor:\"#edeaa1\"})+\">\",c,j(\"v:shadow\",null,l),j(\"v:path\",null,{\"o:connecttype\":\"none\"}),'<v:textbox><div style=\"text-align:left\"></div></v:textbox>','<x:ClientData ObjectType=\"Note\">',\"<x:MoveWithCells/>\",\"<x:SizeWithCells/>\",Xe(\"x:Anchor\",[s.c+1,0,s.r+1,0,s.c+3,20,s.r+5,20].join(\",\")),Xe(\"x:AutoFill\",\"False\"),Xe(\"x:Row\",String(s.r)),Xe(\"x:Column\",String(s.c)),i[1].hidden?\"\":\"<x:Visible/>\",\"</x:ClientData>\",\"</v:shape>\"])}),n.push(\"</xml>\"),n.join(\"\")}function oi(e){var t=[Oe,j(\"comments\",null,{xmlns:xt[0]})],r=[];return t.push(\"<authors>\"),e.forEach(function(a){a[1].forEach(function(n){var i=me(n.a);r.indexOf(i)==-1&&(r.push(i),t.push(\"<author>\"+i+\"</author>\")),n.T&&n.ID&&r.indexOf(\"tc=\"+n.ID)==-1&&(r.push(\"tc=\"+n.ID),t.push(\"<author>tc=\"+n.ID+\"</author>\"))})}),r.length==0&&(r.push(\"SheetJ5\"),t.push(\"<author>SheetJ5</author>\")),t.push(\"</authors>\"),t.push(\"<commentList>\"),e.forEach(function(a){var n=0,i=[];if(a[1][0]&&a[1][0].T&&a[1][0].ID?n=r.indexOf(\"tc=\"+a[1][0].ID):a[1].forEach(function(o){o.a&&(n=r.indexOf(me(o.a))),i.push(o.t||\"\")}),t.push('<comment ref=\"'+a[0]+'\" authorId=\"'+n+'\"><text>'),i.length<=1)t.push(Xe(\"t\",me(i[0]||\"\")));else{for(var s=\\`Comment:\n \\`+i[0]+\\`\n\\`,f=1;f<i.length;++f)s+=\\`Reply:\n \\`+i[f]+\\`\n\\`;t.push(Xe(\"t\",me(s)))}t.push(\"</text></comment>\")}),t.push(\"</commentList>\"),t.length>2&&(t[t.length]=\"</comments>\",t[1]=t[1].replace(\"/>\",\">\")),t.join(\"\")}function Qc(e,t,r){var a=[Oe,j(\"ThreadedComments\",null,{xmlns:Pe.TCMNT}).replace(/[\\\\/]>/,\">\")];return e.forEach(function(n){var i=\"\";(n[1]||[]).forEach(function(s,f){if(!s.T){delete s.ID;return}s.a&&t.indexOf(s.a)==-1&&t.push(s.a);var o={ref:n[0],id:\"{54EE7951-7262-4200-6969-\"+(\"000000000000\"+r.tcid++).slice(-12)+\"}\"};f==0?i=o.id:o.parentId=i,s.ID=o.id,s.a&&(o.personId=\"{54EE7950-7262-4200-6969-\"+(\"000000000000\"+t.indexOf(s.a)).slice(-12)+\"}\"),a.push(j(\"threadedComment\",Xe(\"text\",s.t||\"\"),o))})}),a.push(\"</ThreadedComments>\"),a.join(\"\")}function eo(e){var t=[Oe,j(\"personList\",null,{xmlns:Pe.TCMNT,\"xmlns:x\":xt[0]}).replace(/[\\\\/]>/,\">\")];return e.forEach(function(r,a){t.push(j(\"person\",null,{displayName:r,id:\"{54EE7950-7262-4200-6969-\"+(\"000000000000\"+a).slice(-12)+\"}\",userId:r,providerId:\"None\"}))}),t.push(\"</personList>\"),t.join(\"\")}function ro(e){var t={};t.iauthor=e.read_shift(4);var r=Qr(e,16);return t.rfx=r.s,t.ref=ge(r.s),e.l+=16,t}function to(e,t){return t==null&&(t=b(36)),t.write_shift(4,e[1].iauthor),pt(e[0],t),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t}var ao=Ke;function no(e){return Be(e.slice(0,54))}function io(e){var t=rr(),r=[];return H(t,628),H(t,630),e.forEach(function(a){a[1].forEach(function(n){r.indexOf(n.a)>-1||(r.push(n.a.slice(0,54)),H(t,632,no(n.a)))})}),H(t,631),H(t,633),e.forEach(function(a){a[1].forEach(function(n){n.iauthor=r.indexOf(n.a);var i={s:Le(a[0]),e:Le(a[0])};H(t,635,to([i,n])),n.t&&n.t.length>0&&H(t,637,ff(n)),H(t,636),delete n.iauthor})}),H(t,634),H(t,629),t.end()}function so(e,t){t.FullPaths.forEach(function(r,a){if(a!=0){var n=r.replace(/[^\\\\/]*[\\\\/]/,\"/_VBA_PROJECT_CUR/\");n.slice(-1)!==\"/\"&&we.utils.cfb_add(e,n,t.FileIndex[a].content)}})}var li=[\"xlsb\",\"xlsm\",\"xlam\",\"biff8\",\"xla\"];var fo=(function(){var e=/(^|[^A-Za-z_])R(\\\\[?-?\\\\d+\\\\]|[1-9]\\\\d*|)C(\\\\[?-?\\\\d+\\\\]|[1-9]\\\\d*|)(?![A-Za-z0-9_])/g,t={r:0,c:0};function r(a,n,i,s){var f=!1,o=!1;i.length==0?o=!0:i.charAt(0)==\"[\"&&(o=!0,i=i.slice(1,-1)),s.length==0?f=!0:s.charAt(0)==\"[\"&&(f=!0,s=s.slice(1,-1));var c=i.length>0?parseInt(i,10)|0:0,l=s.length>0?parseInt(s,10)|0:0;return f?l+=t.c:--l,o?c+=t.r:--c,n+(f?\"\":\"\\$\")+\\$e(l)+(o?\"\":\"\\$\")+Ge(c)}return function(n,i){return t=i,n.replace(e,r)}})(),t0=/(^|[^._A-Z0-9])([\\$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([\\$]?)(10[0-3]\\\\d{4}|104[0-7]\\\\d{3}|1048[0-4]\\\\d{2}|10485[0-6]\\\\d|104857[0-6]|[1-9]\\\\d{0,5})(?![_.\\\\(A-Za-z0-9])/g,a0=(function(){return function(t,r){return t.replace(t0,function(a,n,i,s,f,o){var c=Ja(s)-(i?0:r.c),l=Ya(o)-(f?0:r.r),v=l==0?\"\":f?l+1:\"[\"+l+\"]\",h=c==0?\"\":i?c+1:\"[\"+c+\"]\";return n+\"R\"+v+\"C\"+h})}})();function co(e,t){return e.replace(t0,function(r,a,n,i,s,f){return a+(n==\"\\$\"?n+i:\\$e(Ja(i)+t.c))+(s==\"\\$\"?s+f:Ge(Ya(f)+t.r))})}function oo(e){return e.length!=1}function Ce(e){e.l+=1}function Br(e,t){var r=e.read_shift(t==1?1:2);return[r&16383,r>>14&1,r>>15&1]}function ui(e,t,r){var a=2;if(r){if(r.biff>=2&&r.biff<=5)return hi(e,t,r);r.biff==12&&(a=4)}var n=e.read_shift(a),i=e.read_shift(a),s=Br(e,2),f=Br(e,2);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:i,c:f[0],cRel:f[1],rRel:f[2]}}}function hi(e){var t=Br(e,2),r=Br(e,2),a=e.read_shift(1),n=e.read_shift(1);return{s:{r:t[0],c:a,cRel:t[1],rRel:t[2]},e:{r:r[0],c:n,cRel:r[1],rRel:r[2]}}}function lo(e,t,r){if(r.biff<8)return hi(e,t,r);var a=e.read_shift(r.biff==12?4:2),n=e.read_shift(r.biff==12?4:2),i=Br(e,2),s=Br(e,2);return{s:{r:a,c:i[0],cRel:i[1],rRel:i[2]},e:{r:n,c:s[0],cRel:s[1],rRel:s[2]}}}function xi(e,t,r){if(r&&r.biff>=2&&r.biff<=5)return uo(e,t,r);var a=e.read_shift(r&&r.biff==12?4:2),n=Br(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function uo(e){var t=Br(e,2),r=e.read_shift(1);return{r:t[0],c:r,cRel:t[1],rRel:t[2]}}function ho(e){var t=e.read_shift(2),r=e.read_shift(2);return{r:t,c:r&255,fQuoted:!!(r&16384),cRel:r>>15,rRel:r>>15}}function xo(e,t,r){var a=r&&r.biff?r.biff:8;if(a>=2&&a<=5)return vo(e,t,r);var n=e.read_shift(a>=12?4:2),i=e.read_shift(2),s=(i&16384)>>14,f=(i&32768)>>15;if(i&=16383,f==1)for(;n>524287;)n-=1048576;if(s==1)for(;i>8191;)i=i-16384;return{r:n,c:i,cRel:s,rRel:f}}function vo(e){var t=e.read_shift(2),r=e.read_shift(1),a=(t&32768)>>15,n=(t&16384)>>14;return t&=16383,a==1&&t>=8192&&(t=t-16384),n==1&&r>=128&&(r=r-256),{r:t,c:r,cRel:n,rRel:a}}function po(e,t,r){var a=(e[e.l++]&96)>>5,n=ui(e,r.biff>=2&&r.biff<=5?6:8,r);return[a,n]}function mo(e,t,r){var a=(e[e.l++]&96)>>5,n=e.read_shift(2,\"i\"),i=8;if(r)switch(r.biff){case 5:e.l+=12,i=6;break;case 12:i=12;break}var s=ui(e,i,r);return[a,n,s]}function go(e,t,r){var a=(e[e.l++]&96)>>5;return e.l+=r&&r.biff>8?12:r.biff<8?6:8,[a]}function _o(e,t,r){var a=(e[e.l++]&96)>>5,n=e.read_shift(2),i=8;if(r)switch(r.biff){case 5:e.l+=12,i=6;break;case 12:i=12;break}return e.l+=i,[a,n]}function wo(e,t,r){var a=(e[e.l++]&96)>>5,n=lo(e,t-1,r);return[a,n]}function ko(e,t,r){var a=(e[e.l++]&96)>>5;return e.l+=r.biff==2?6:r.biff==12?14:7,[a]}function Q0(e){var t=e[e.l+1]&1,r=1;return e.l+=4,[t,r]}function Eo(e,t,r){e.l+=2;for(var a=e.read_shift(r&&r.biff==2?1:2),n=[],i=0;i<=a;++i)n.push(e.read_shift(r&&r.biff==2?1:2));return n}function To(e,t,r){var a=e[e.l+1]&255?1:0;return e.l+=2,[a,e.read_shift(r&&r.biff==2?1:2)]}function So(e,t,r){var a=e[e.l+1]&255?1:0;return e.l+=2,[a,e.read_shift(r&&r.biff==2?1:2)]}function Fo(e){var t=e[e.l+1]&255?1:0;return e.l+=2,[t,e.read_shift(2)]}function yo(e,t,r){var a=e[e.l+1]&255?1:0;return e.l+=r&&r.biff==2?3:4,[a]}function di(e){var t=e.read_shift(1),r=e.read_shift(1);return[t,r]}function Ao(e){return e.read_shift(2),di(e,2)}function Co(e){return e.read_shift(2),di(e,2)}function Do(e,t,r){var a=(e[e.l]&96)>>5;e.l+=1;var n=xi(e,0,r);return[a,n]}function Oo(e,t,r){var a=(e[e.l]&96)>>5;e.l+=1;var n=xo(e,0,r);return[a,n]}function Io(e,t,r){var a=(e[e.l]&96)>>5;e.l+=1;var n=e.read_shift(2);r&&r.biff==5&&(e.l+=12);var i=xi(e,0,r);return[a,n,i]}function Ro(e,t,r){var a=(e[e.l]&96)>>5;e.l+=1;var n=e.read_shift(r&&r.biff<=3?1:2);return[Rl[n],mi[n],a]}function No(e,t,r){var a=e[e.l++],n=e.read_shift(1),i=r&&r.biff<=3?[a==88?-1:0,e.read_shift(1)]:bo(e);return[n,(i[0]===0?mi:Il)[i[1]]]}function bo(e){return[e[e.l+1]>>7,e.read_shift(2)&32767]}function Po(e,t,r){e.l+=r&&r.biff==2?3:4}function Lo(e,t,r){if(e.l++,r&&r.biff==12)return[e.read_shift(4,\"i\"),0];var a=e.read_shift(2),n=e.read_shift(r&&r.biff==2?1:2);return[a,n]}function Bo(e){return e.l++,Bt[e.read_shift(1)]}function Mo(e){return e.l++,e.read_shift(2)}function Uo(e){return e.l++,e.read_shift(1)!==0}function Wo(e){return e.l++,mt(e,8)}function Ho(e,t,r){return e.l++,Jn(e,t-1,r)}function Vo(e,t){var r=[e.read_shift(1)];if(t==12)switch(r[0]){case 2:r[0]=4;break;case 4:r[0]=16;break;case 0:r[0]=1;break;case 1:r[0]=2;break}switch(r[0]){case 4:r[1]=Of(e,1)?\"TRUE\":\"FALSE\",t!=12&&(e.l+=7);break;case 37:case 16:r[1]=Bt[e[e.l]],e.l+=t==12?4:8;break;case 0:e.l+=8;break;case 1:r[1]=mt(e,8);break;case 2:r[1]=bf(e,0,{biff:t>0&&t<8?2:t});break;default:throw new Error(\"Bad SerAr: \"+r[0])}return r}function Xo(e,t,r){for(var a=e.read_shift(r.biff==12?4:2),n=[],i=0;i!=a;++i)n.push((r.biff==12?Qr:Bf)(e,8));return n}function Go(e,t,r){var a=0,n=0;r.biff==12?(a=e.read_shift(4),n=e.read_shift(4)):(n=1+e.read_shift(1),a=1+e.read_shift(2)),r.biff>=2&&r.biff<8&&(--a,--n==0&&(n=256));for(var i=0,s=[];i!=a&&(s[i]=[]);++i)for(var f=0;f!=n;++f)s[i][f]=Vo(e,r.biff);return s}function zo(e,t,r){var a=e.read_shift(1)>>>5&3,n=!r||r.biff>=8?4:2,i=e.read_shift(n);switch(r.biff){case 2:e.l+=5;break;case 3:case 4:e.l+=8;break;case 5:e.l+=12;break}return[a,0,i]}function \\$o(e,t,r){if(r.biff==5)return Ko(e,t,r);var a=e.read_shift(1)>>>5&3,n=e.read_shift(2),i=e.read_shift(4);return[a,n,i]}function Ko(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2,\"i\");e.l+=8;var a=e.read_shift(2);return e.l+=12,[t,r,a]}function jo(e,t,r){var a=e.read_shift(1)>>>5&3;e.l+=r&&r.biff==2?3:4;var n=e.read_shift(r&&r.biff==2?1:2);return[a,n]}function Yo(e,t,r){var a=e.read_shift(1)>>>5&3,n=e.read_shift(r&&r.biff==2?1:2);return[a,n]}function Jo(e,t,r){var a=e.read_shift(1)>>>5&3;return e.l+=4,r.biff<8&&e.l--,r.biff==12&&(e.l+=2),[a]}function qo(e,t,r){var a=(e[e.l++]&96)>>5,n=e.read_shift(2),i=4;if(r)switch(r.biff){case 5:i=15;break;case 12:i=6;break}return e.l+=i,[a,n]}var Zo=Tr,Qo=Tr,el=Tr;function Mt(e,t,r){return e.l+=2,[ho(e,4,r)]}function n0(e){return e.l+=6,[]}var rl=Mt,tl=n0,al=n0,nl=Mt;function vi(e){return e.l+=2,[jn(e),e.read_shift(2)&1]}var il=Mt,sl=vi,fl=n0,cl=Mt,ol=Mt,ll=[\"Data\",\"All\",\"Headers\",\"??\",\"?Data2\",\"??\",\"?DataHeaders\",\"??\",\"Totals\",\"??\",\"??\",\"??\",\"?DataTotals\",\"??\",\"??\",\"??\",\"?Current\"];function ul(e){e.l+=2;var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(4),n=e.read_shift(2),i=e.read_shift(2),s=ll[r>>2&31];return{ixti:t,coltype:r&3,rt:s,idx:a,c:n,C:i}}function hl(e){return e.l+=2,[e.read_shift(4)]}function xl(e,t,r){return e.l+=5,e.l+=2,e.l+=r.biff==2?1:4,[\"PTGSHEET\"]}function dl(e,t,r){return e.l+=r.biff==2?4:5,[\"PTGENDSHEET\"]}function vl(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2);return[t,r]}function pl(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2);return[t,r]}function ml(e){return e.l+=4,[0,0]}var en={1:{n:\"PtgExp\",f:Lo},2:{n:\"PtgTbl\",f:el},3:{n:\"PtgAdd\",f:Ce},4:{n:\"PtgSub\",f:Ce},5:{n:\"PtgMul\",f:Ce},6:{n:\"PtgDiv\",f:Ce},7:{n:\"PtgPower\",f:Ce},8:{n:\"PtgConcat\",f:Ce},9:{n:\"PtgLt\",f:Ce},10:{n:\"PtgLe\",f:Ce},11:{n:\"PtgEq\",f:Ce},12:{n:\"PtgGe\",f:Ce},13:{n:\"PtgGt\",f:Ce},14:{n:\"PtgNe\",f:Ce},15:{n:\"PtgIsect\",f:Ce},16:{n:\"PtgUnion\",f:Ce},17:{n:\"PtgRange\",f:Ce},18:{n:\"PtgUplus\",f:Ce},19:{n:\"PtgUminus\",f:Ce},20:{n:\"PtgPercent\",f:Ce},21:{n:\"PtgParen\",f:Ce},22:{n:\"PtgMissArg\",f:Ce},23:{n:\"PtgStr\",f:Ho},26:{n:\"PtgSheet\",f:xl},27:{n:\"PtgEndSheet\",f:dl},28:{n:\"PtgErr\",f:Bo},29:{n:\"PtgBool\",f:Uo},30:{n:\"PtgInt\",f:Mo},31:{n:\"PtgNum\",f:Wo},32:{n:\"PtgArray\",f:ko},33:{n:\"PtgFunc\",f:Ro},34:{n:\"PtgFuncVar\",f:No},35:{n:\"PtgName\",f:zo},36:{n:\"PtgRef\",f:Do},37:{n:\"PtgArea\",f:po},38:{n:\"PtgMemArea\",f:jo},39:{n:\"PtgMemErr\",f:Zo},40:{n:\"PtgMemNoMem\",f:Qo},41:{n:\"PtgMemFunc\",f:Yo},42:{n:\"PtgRefErr\",f:Jo},43:{n:\"PtgAreaErr\",f:go},44:{n:\"PtgRefN\",f:Oo},45:{n:\"PtgAreaN\",f:wo},46:{n:\"PtgMemAreaN\",f:vl},47:{n:\"PtgMemNoMemN\",f:pl},57:{n:\"PtgNameX\",f:\\$o},58:{n:\"PtgRef3d\",f:Io},59:{n:\"PtgArea3d\",f:mo},60:{n:\"PtgRefErr3d\",f:qo},61:{n:\"PtgAreaErr3d\",f:_o},255:{}},gl={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61},_l={1:{n:\"PtgElfLel\",f:vi},2:{n:\"PtgElfRw\",f:cl},3:{n:\"PtgElfCol\",f:rl},6:{n:\"PtgElfRwV\",f:ol},7:{n:\"PtgElfColV\",f:nl},10:{n:\"PtgElfRadical\",f:il},11:{n:\"PtgElfRadicalS\",f:fl},13:{n:\"PtgElfColS\",f:tl},15:{n:\"PtgElfColSV\",f:al},16:{n:\"PtgElfRadicalLel\",f:sl},25:{n:\"PtgList\",f:ul},29:{n:\"PtgSxName\",f:hl},255:{}},wl={0:{n:\"PtgAttrNoop\",f:ml},1:{n:\"PtgAttrSemi\",f:yo},2:{n:\"PtgAttrIf\",f:So},4:{n:\"PtgAttrChoose\",f:Eo},8:{n:\"PtgAttrGoto\",f:To},16:{n:\"PtgAttrSum\",f:Po},32:{n:\"PtgAttrBaxcel\",f:Q0},33:{n:\"PtgAttrBaxcel\",f:Q0},64:{n:\"PtgAttrSpace\",f:Ao},65:{n:\"PtgAttrSpaceSemi\",f:Co},128:{n:\"PtgAttrIfError\",f:Fo},255:{}};function kl(e,t,r,a){if(a.biff<8)return Tr(e,t);for(var n=e.l+t,i=[],s=0;s!==r.length;++s)switch(r[s][0]){case\"PtgArray\":r[s][1]=Go(e,0,a),i.push(r[s][1]);break;case\"PtgMemArea\":r[s][2]=Xo(e,r[s][1],a),i.push(r[s][2]);break;case\"PtgExp\":a&&a.biff==12&&(r[s][1][1]=e.read_shift(4),i.push(r[s][1]));break;case\"PtgList\":case\"PtgElfRadicalS\":case\"PtgElfColS\":case\"PtgElfColSV\":throw\"Unsupported \"+r[s][0];default:break}return t=n-e.l,t!==0&&i.push(Tr(e,t)),i}function El(e,t,r){for(var a=e.l+t,n,i,s=[];a!=e.l;)t=a-e.l,i=e[e.l],n=en[i]||en[gl[i]],(i===24||i===25)&&(n=(i===24?_l:wl)[e[e.l+1]]),!n||!n.f?Tr(e,t):s.push([n.n,n.f(e,t,r)]);return s}function Tl(e){for(var t=[],r=0;r<e.length;++r){for(var a=e[r],n=[],i=0;i<a.length;++i){var s=a[i];s?s[0]===2?n.push('\"'+s[1].replace(/\"/g,'\"\"')+'\"'):n.push(s[1]):n.push(\"\")}t.push(n.join(\",\"))}return t.join(\";\")}var Sl={PtgAdd:\"+\",PtgConcat:\"&\",PtgDiv:\"/\",PtgEq:\"=\",PtgGe:\">=\",PtgGt:\">\",PtgLe:\"<=\",PtgLt:\"<\",PtgMul:\"*\",PtgNe:\"<>\",PtgPower:\"^\",PtgSub:\"-\"};function Fl(e,t){if(!e&&!(t&&t.biff<=5&&t.biff>=2))throw new Error(\"empty sheet name\");return/[^\\\\w\\\\u4E00-\\\\u9FFF\\\\u3040-\\\\u30FF]/.test(e)?\"'\"+e+\"'\":e}function pi(e,t,r){if(!e)return\"SH33TJSERR0\";if(r.biff>8&&(!e.XTI||!e.XTI[t]))return e.SheetNames[t];if(!e.XTI)return\"SH33TJSERR6\";var a=e.XTI[t];if(r.biff<8)return t>1e4&&(t-=65536),t<0&&(t=-t),t==0?\"\":e.XTI[t-1];if(!a)return\"SH33TJSERR1\";var n=\"\";if(r.biff>8)switch(e[a[0]][0]){case 357:return n=a[1]==-1?\"#REF\":e.SheetNames[a[1]],a[1]==a[2]?n:n+\":\"+e.SheetNames[a[2]];case 358:return r.SID!=null?e.SheetNames[r.SID]:\"SH33TJSSAME\"+e[a[0]][0];default:return\"SH33TJSSRC\"+e[a[0]][0]}switch(e[a[0]][0][0]){case 1025:return n=a[1]==-1?\"#REF\":e.SheetNames[a[1]]||\"SH33TJSERR3\",a[1]==a[2]?n:n+\":\"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(i){return i.Name}).join(\";;\");default:return e[a[0]][0][3]?(n=a[1]==-1?\"#REF\":e[a[0]][0][3][a[1]]||\"SH33TJSERR4\",a[1]==a[2]?n:n+\":\"+e[a[0]][0][3][a[2]]):\"SH33TJSERR2\"}}function rn(e,t,r){var a=pi(e,t,r);return a==\"#REF\"?a:Fl(a,r)}function ht(e,t,r,a,n){var i=n&&n.biff||8,s={s:{c:0,r:0},e:{c:0,r:0}},f=[],o,c,l,v=0,h=0,d,_=\"\";if(!e[0]||!e[0][0])return\"\";for(var u=-1,g=\"\",y=0,C=e[0].length;y<C;++y){var D=e[0][y];switch(D[0]){case\"PtgUminus\":f.push(\"-\"+f.pop());break;case\"PtgUplus\":f.push(\"+\"+f.pop());break;case\"PtgPercent\":f.push(f.pop()+\"%\");break;case\"PtgAdd\":case\"PtgConcat\":case\"PtgDiv\":case\"PtgEq\":case\"PtgGe\":case\"PtgGt\":case\"PtgLe\":case\"PtgLt\":case\"PtgMul\":case\"PtgNe\":case\"PtgPower\":case\"PtgSub\":if(o=f.pop(),c=f.pop(),u>=0){switch(e[0][u][1][0]){case 0:g=Fe(\" \",e[0][u][1][1]);break;case 1:g=Fe(\"\\\\r\",e[0][u][1][1]);break;default:if(g=\"\",n.WTF)throw new Error(\"Unexpected PtgAttrSpaceType \"+e[0][u][1][0])}c=c+g,u=-1}f.push(c+Sl[D[0]]+o);break;case\"PtgIsect\":o=f.pop(),c=f.pop(),f.push(c+\" \"+o);break;case\"PtgUnion\":o=f.pop(),c=f.pop(),f.push(c+\",\"+o);break;case\"PtgRange\":o=f.pop(),c=f.pop(),f.push(c+\":\"+o);break;case\"PtgAttrChoose\":break;case\"PtgAttrGoto\":break;case\"PtgAttrIf\":break;case\"PtgAttrIfError\":break;case\"PtgRef\":l=Ft(D[1][1],s,n),f.push(yt(l,i));break;case\"PtgRefN\":l=r?Ft(D[1][1],r,n):D[1][1],f.push(yt(l,i));break;case\"PtgRef3d\":v=D[1][1],l=Ft(D[1][2],s,n),_=rn(a,v,n);var B=_;f.push(_+\"!\"+yt(l,i));break;case\"PtgFunc\":case\"PtgFuncVar\":var G=D[1][0],te=D[1][1];G||(G=0),G&=127;var A=G==0?[]:f.slice(-G);f.length-=G,te===\"User\"&&(te=A.shift()),f.push(te+\"(\"+A.join(\",\")+\")\");break;case\"PtgBool\":f.push(D[1]?\"TRUE\":\"FALSE\");break;case\"PtgInt\":f.push(D[1]);break;case\"PtgNum\":f.push(String(D[1]));break;case\"PtgStr\":f.push('\"'+D[1].replace(/\"/g,'\"\"')+'\"');break;case\"PtgErr\":f.push(D[1]);break;case\"PtgAreaN\":d=U0(D[1][1],r?{s:r}:s,n),f.push(Aa(d,n));break;case\"PtgArea\":d=U0(D[1][1],s,n),f.push(Aa(d,n));break;case\"PtgArea3d\":v=D[1][1],d=D[1][2],_=rn(a,v,n),f.push(_+\"!\"+Aa(d,n));break;case\"PtgAttrSum\":f.push(\"SUM(\"+f.pop()+\")\");break;case\"PtgAttrBaxcel\":case\"PtgAttrSemi\":break;case\"PtgName\":h=D[1][2];var W=(a.names||[])[h-1]||(a[0]||[])[h],L=W?W.Name:\"SH33TJSNAME\"+String(h);L&&L.slice(0,6)==\"_xlfn.\"&&!n.xlfn&&(L=L.slice(6)),f.push(L);break;case\"PtgNameX\":var U=D[1][1];h=D[1][2];var X;if(n.biff<=5)U<0&&(U=-U),a[U]&&(X=a[U][h]);else{var z=\"\";if(((a[U]||[])[0]||[])[0]==14849||(((a[U]||[])[0]||[])[0]==1025?a[U][h]&&a[U][h].itab>0&&(z=a.SheetNames[a[U][h].itab-1]+\"!\"):z=a.SheetNames[h-1]+\"!\"),a[U]&&a[U][h])z+=a[U][h].Name;else if(a[0]&&a[0][h])z+=a[0][h].Name;else{var ie=(pi(a,U,n)||\"\").split(\";;\");ie[h-1]?z=ie[h-1]:z+=\"SH33TJSERRX\"}f.push(z);break}X||(X={Name:\"SH33TJSERRY\"}),f.push(X.Name);break;case\"PtgParen\":var de=\"(\",se=\")\";if(u>=0){switch(g=\"\",e[0][u][1][0]){case 2:de=Fe(\" \",e[0][u][1][1])+de;break;case 3:de=Fe(\"\\\\r\",e[0][u][1][1])+de;break;case 4:se=Fe(\" \",e[0][u][1][1])+se;break;case 5:se=Fe(\"\\\\r\",e[0][u][1][1])+se;break;default:if(n.WTF)throw new Error(\"Unexpected PtgAttrSpaceType \"+e[0][u][1][0])}u=-1}f.push(de+f.pop()+se);break;case\"PtgRefErr\":f.push(\"#REF!\");break;case\"PtgRefErr3d\":f.push(\"#REF!\");break;case\"PtgExp\":l={c:D[1][1],r:D[1][0]};var Re={c:r.c,r:r.r};if(a.sharedf[ge(l)]){var Ne=a.sharedf[ge(l)];f.push(ht(Ne,s,Re,a,n))}else{var Ze=!1;for(o=0;o!=a.arrayf.length;++o)if(c=a.arrayf[o],!(l.c<c[0].s.c||l.c>c[0].e.c)&&!(l.r<c[0].s.r||l.r>c[0].e.r)){f.push(ht(c[1],s,Re,a,n)),Ze=!0;break}Ze||f.push(D[1])}break;case\"PtgArray\":f.push(\"{\"+Tl(D[1])+\"}\");break;case\"PtgMemArea\":break;case\"PtgAttrSpace\":case\"PtgAttrSpaceSemi\":u=y;break;case\"PtgTbl\":break;case\"PtgMemErr\":break;case\"PtgMissArg\":f.push(\"\");break;case\"PtgAreaErr\":f.push(\"#REF!\");break;case\"PtgAreaErr3d\":f.push(\"#REF!\");break;case\"PtgList\":f.push(\"Table\"+D[1].idx+\"[#\"+D[1].rt+\"]\");break;case\"PtgMemAreaN\":case\"PtgMemNoMemN\":case\"PtgAttrNoop\":case\"PtgSheet\":case\"PtgEndSheet\":break;case\"PtgMemFunc\":break;case\"PtgMemNoMem\":break;case\"PtgElfCol\":case\"PtgElfColS\":case\"PtgElfColSV\":case\"PtgElfColV\":case\"PtgElfLel\":case\"PtgElfRadical\":case\"PtgElfRadicalLel\":case\"PtgElfRadicalS\":case\"PtgElfRw\":case\"PtgElfRwV\":throw new Error(\"Unsupported ELFs\");case\"PtgSxName\":throw new Error(\"Unrecognized Formula Token: \"+String(D));default:throw new Error(\"Unrecognized Formula Token: \"+String(D))}var je=[\"PtgAttrSpace\",\"PtgAttrSpaceSemi\",\"PtgAttrGoto\"];if(n.biff!=3&&u>=0&&je.indexOf(e[0][y][0])==-1){D=e[0][u];var Me=!0;switch(D[1][0]){case 4:Me=!1;case 0:g=Fe(\" \",D[1][1]);break;case 5:Me=!1;case 1:g=Fe(\"\\\\r\",D[1][1]);break;default:if(g=\"\",n.WTF)throw new Error(\"Unexpected PtgAttrSpaceType \"+D[1][0])}f.push((Me?g:\"\")+f.pop()+(Me?\"\":g)),u=-1}}if(f.length>1&&n.WTF)throw new Error(\"bad formula stack\");return f[0]}function yl(e){if(e==null){var t=b(8);return t.write_shift(1,3),t.write_shift(1,0),t.write_shift(2,0),t.write_shift(2,0),t.write_shift(2,65535),t}else if(typeof e==\"number\")return Kr(e);return Kr(0)}function Al(e,t,r,a,n){var i=jr(t,r,n),s=yl(e.v),f=b(6),o=33;f.write_shift(2,o),f.write_shift(4,0);for(var c=b(e.bf.length),l=0;l<e.bf.length;++l)c[l]=e.bf[l];var v=Ve([i,s,f,c]);return v}function pa(e,t,r){var a=e.read_shift(4),n=El(e,a,r),i=e.read_shift(4),s=i>0?kl(e,i,n,r):null;return[n,s]}var Cl=pa,ma=pa,Dl=pa,Ol=pa,Il={0:\"BEEP\",1:\"OPEN\",2:\"OPEN.LINKS\",3:\"CLOSE.ALL\",4:\"SAVE\",5:\"SAVE.AS\",6:\"FILE.DELETE\",7:\"PAGE.SETUP\",8:\"PRINT\",9:\"PRINTER.SETUP\",10:\"QUIT\",11:\"NEW.WINDOW\",12:\"ARRANGE.ALL\",13:\"WINDOW.SIZE\",14:\"WINDOW.MOVE\",15:\"FULL\",16:\"CLOSE\",17:\"RUN\",22:\"SET.PRINT.AREA\",23:\"SET.PRINT.TITLES\",24:\"SET.PAGE.BREAK\",25:\"REMOVE.PAGE.BREAK\",26:\"FONT\",27:\"DISPLAY\",28:\"PROTECT.DOCUMENT\",29:\"PRECISION\",30:\"A1.R1C1\",31:\"CALCULATE.NOW\",32:\"CALCULATION\",34:\"DATA.FIND\",35:\"EXTRACT\",36:\"DATA.DELETE\",37:\"SET.DATABASE\",38:\"SET.CRITERIA\",39:\"SORT\",40:\"DATA.SERIES\",41:\"TABLE\",42:\"FORMAT.NUMBER\",43:\"ALIGNMENT\",44:\"STYLE\",45:\"BORDER\",46:\"CELL.PROTECTION\",47:\"COLUMN.WIDTH\",48:\"UNDO\",49:\"CUT\",50:\"COPY\",51:\"PASTE\",52:\"CLEAR\",53:\"PASTE.SPECIAL\",54:\"EDIT.DELETE\",55:\"INSERT\",56:\"FILL.RIGHT\",57:\"FILL.DOWN\",61:\"DEFINE.NAME\",62:\"CREATE.NAMES\",63:\"FORMULA.GOTO\",64:\"FORMULA.FIND\",65:\"SELECT.LAST.CELL\",66:\"SHOW.ACTIVE.CELL\",67:\"GALLERY.AREA\",68:\"GALLERY.BAR\",69:\"GALLERY.COLUMN\",70:\"GALLERY.LINE\",71:\"GALLERY.PIE\",72:\"GALLERY.SCATTER\",73:\"COMBINATION\",74:\"PREFERRED\",75:\"ADD.OVERLAY\",76:\"GRIDLINES\",77:\"SET.PREFERRED\",78:\"AXES\",79:\"LEGEND\",80:\"ATTACH.TEXT\",81:\"ADD.ARROW\",82:\"SELECT.CHART\",83:\"SELECT.PLOT.AREA\",84:\"PATTERNS\",85:\"MAIN.CHART\",86:\"OVERLAY\",87:\"SCALE\",88:\"FORMAT.LEGEND\",89:\"FORMAT.TEXT\",90:\"EDIT.REPEAT\",91:\"PARSE\",92:\"JUSTIFY\",93:\"HIDE\",94:\"UNHIDE\",95:\"WORKSPACE\",96:\"FORMULA\",97:\"FORMULA.FILL\",98:\"FORMULA.ARRAY\",99:\"DATA.FIND.NEXT\",100:\"DATA.FIND.PREV\",101:\"FORMULA.FIND.NEXT\",102:\"FORMULA.FIND.PREV\",103:\"ACTIVATE\",104:\"ACTIVATE.NEXT\",105:\"ACTIVATE.PREV\",106:\"UNLOCKED.NEXT\",107:\"UNLOCKED.PREV\",108:\"COPY.PICTURE\",109:\"SELECT\",110:\"DELETE.NAME\",111:\"DELETE.FORMAT\",112:\"VLINE\",113:\"HLINE\",114:\"VPAGE\",115:\"HPAGE\",116:\"VSCROLL\",117:\"HSCROLL\",118:\"ALERT\",119:\"NEW\",120:\"CANCEL.COPY\",121:\"SHOW.CLIPBOARD\",122:\"MESSAGE\",124:\"PASTE.LINK\",125:\"APP.ACTIVATE\",126:\"DELETE.ARROW\",127:\"ROW.HEIGHT\",128:\"FORMAT.MOVE\",129:\"FORMAT.SIZE\",130:\"FORMULA.REPLACE\",131:\"SEND.KEYS\",132:\"SELECT.SPECIAL\",133:\"APPLY.NAMES\",134:\"REPLACE.FONT\",135:\"FREEZE.PANES\",136:\"SHOW.INFO\",137:\"SPLIT\",138:\"ON.WINDOW\",139:\"ON.DATA\",140:\"DISABLE.INPUT\",142:\"OUTLINE\",143:\"LIST.NAMES\",144:\"FILE.CLOSE\",145:\"SAVE.WORKBOOK\",146:\"DATA.FORM\",147:\"COPY.CHART\",148:\"ON.TIME\",149:\"WAIT\",150:\"FORMAT.FONT\",151:\"FILL.UP\",152:\"FILL.LEFT\",153:\"DELETE.OVERLAY\",155:\"SHORT.MENUS\",159:\"SET.UPDATE.STATUS\",161:\"COLOR.PALETTE\",162:\"DELETE.STYLE\",163:\"WINDOW.RESTORE\",164:\"WINDOW.MAXIMIZE\",166:\"CHANGE.LINK\",167:\"CALCULATE.DOCUMENT\",168:\"ON.KEY\",169:\"APP.RESTORE\",170:\"APP.MOVE\",171:\"APP.SIZE\",172:\"APP.MINIMIZE\",173:\"APP.MAXIMIZE\",174:\"BRING.TO.FRONT\",175:\"SEND.TO.BACK\",185:\"MAIN.CHART.TYPE\",186:\"OVERLAY.CHART.TYPE\",187:\"SELECT.END\",188:\"OPEN.MAIL\",189:\"SEND.MAIL\",190:\"STANDARD.FONT\",191:\"CONSOLIDATE\",192:\"SORT.SPECIAL\",193:\"GALLERY.3D.AREA\",194:\"GALLERY.3D.COLUMN\",195:\"GALLERY.3D.LINE\",196:\"GALLERY.3D.PIE\",197:\"VIEW.3D\",198:\"GOAL.SEEK\",199:\"WORKGROUP\",200:\"FILL.GROUP\",201:\"UPDATE.LINK\",202:\"PROMOTE\",203:\"DEMOTE\",204:\"SHOW.DETAIL\",206:\"UNGROUP\",207:\"OBJECT.PROPERTIES\",208:\"SAVE.NEW.OBJECT\",209:\"SHARE\",210:\"SHARE.NAME\",211:\"DUPLICATE\",212:\"APPLY.STYLE\",213:\"ASSIGN.TO.OBJECT\",214:\"OBJECT.PROTECTION\",215:\"HIDE.OBJECT\",216:\"SET.EXTRACT\",217:\"CREATE.PUBLISHER\",218:\"SUBSCRIBE.TO\",219:\"ATTRIBUTES\",220:\"SHOW.TOOLBAR\",222:\"PRINT.PREVIEW\",223:\"EDIT.COLOR\",224:\"SHOW.LEVELS\",225:\"FORMAT.MAIN\",226:\"FORMAT.OVERLAY\",227:\"ON.RECALC\",228:\"EDIT.SERIES\",229:\"DEFINE.STYLE\",240:\"LINE.PRINT\",243:\"ENTER.DATA\",249:\"GALLERY.RADAR\",250:\"MERGE.STYLES\",251:\"EDITION.OPTIONS\",252:\"PASTE.PICTURE\",253:\"PASTE.PICTURE.LINK\",254:\"SPELLING\",256:\"ZOOM\",259:\"INSERT.OBJECT\",260:\"WINDOW.MINIMIZE\",265:\"SOUND.NOTE\",266:\"SOUND.PLAY\",267:\"FORMAT.SHAPE\",268:\"EXTEND.POLYGON\",269:\"FORMAT.AUTO\",272:\"GALLERY.3D.BAR\",273:\"GALLERY.3D.SURFACE\",274:\"FILL.AUTO\",276:\"CUSTOMIZE.TOOLBAR\",277:\"ADD.TOOL\",278:\"EDIT.OBJECT\",279:\"ON.DOUBLECLICK\",280:\"ON.ENTRY\",281:\"WORKBOOK.ADD\",282:\"WORKBOOK.MOVE\",283:\"WORKBOOK.COPY\",284:\"WORKBOOK.OPTIONS\",285:\"SAVE.WORKSPACE\",288:\"CHART.WIZARD\",289:\"DELETE.TOOL\",290:\"MOVE.TOOL\",291:\"WORKBOOK.SELECT\",292:\"WORKBOOK.ACTIVATE\",293:\"ASSIGN.TO.TOOL\",295:\"COPY.TOOL\",296:\"RESET.TOOL\",297:\"CONSTRAIN.NUMERIC\",298:\"PASTE.TOOL\",302:\"WORKBOOK.NEW\",305:\"SCENARIO.CELLS\",306:\"SCENARIO.DELETE\",307:\"SCENARIO.ADD\",308:\"SCENARIO.EDIT\",309:\"SCENARIO.SHOW\",310:\"SCENARIO.SHOW.NEXT\",311:\"SCENARIO.SUMMARY\",312:\"PIVOT.TABLE.WIZARD\",313:\"PIVOT.FIELD.PROPERTIES\",314:\"PIVOT.FIELD\",315:\"PIVOT.ITEM\",316:\"PIVOT.ADD.FIELDS\",318:\"OPTIONS.CALCULATION\",319:\"OPTIONS.EDIT\",320:\"OPTIONS.VIEW\",321:\"ADDIN.MANAGER\",322:\"MENU.EDITOR\",323:\"ATTACH.TOOLBARS\",324:\"VBAActivate\",325:\"OPTIONS.CHART\",328:\"VBA.INSERT.FILE\",330:\"VBA.PROCEDURE.DEFINITION\",336:\"ROUTING.SLIP\",338:\"ROUTE.DOCUMENT\",339:\"MAIL.LOGON\",342:\"INSERT.PICTURE\",343:\"EDIT.TOOL\",344:\"GALLERY.DOUGHNUT\",350:\"CHART.TREND\",352:\"PIVOT.ITEM.PROPERTIES\",354:\"WORKBOOK.INSERT\",355:\"OPTIONS.TRANSITION\",356:\"OPTIONS.GENERAL\",370:\"FILTER.ADVANCED\",373:\"MAIL.ADD.MAILER\",374:\"MAIL.DELETE.MAILER\",375:\"MAIL.REPLY\",376:\"MAIL.REPLY.ALL\",377:\"MAIL.FORWARD\",378:\"MAIL.NEXT.LETTER\",379:\"DATA.LABEL\",380:\"INSERT.TITLE\",381:\"FONT.PROPERTIES\",382:\"MACRO.OPTIONS\",383:\"WORKBOOK.HIDE\",384:\"WORKBOOK.UNHIDE\",385:\"WORKBOOK.DELETE\",386:\"WORKBOOK.NAME\",388:\"GALLERY.CUSTOM\",390:\"ADD.CHART.AUTOFORMAT\",391:\"DELETE.CHART.AUTOFORMAT\",392:\"CHART.ADD.DATA\",393:\"AUTO.OUTLINE\",394:\"TAB.ORDER\",395:\"SHOW.DIALOG\",396:\"SELECT.ALL\",397:\"UNGROUP.SHEETS\",398:\"SUBTOTAL.CREATE\",399:\"SUBTOTAL.REMOVE\",400:\"RENAME.OBJECT\",412:\"WORKBOOK.SCROLL\",413:\"WORKBOOK.NEXT\",414:\"WORKBOOK.PREV\",415:\"WORKBOOK.TAB.SPLIT\",416:\"FULL.SCREEN\",417:\"WORKBOOK.PROTECT\",420:\"SCROLLBAR.PROPERTIES\",421:\"PIVOT.SHOW.PAGES\",422:\"TEXT.TO.COLUMNS\",423:\"FORMAT.CHARTTYPE\",424:\"LINK.FORMAT\",425:\"TRACER.DISPLAY\",430:\"TRACER.NAVIGATE\",431:\"TRACER.CLEAR\",432:\"TRACER.ERROR\",433:\"PIVOT.FIELD.GROUP\",434:\"PIVOT.FIELD.UNGROUP\",435:\"CHECKBOX.PROPERTIES\",436:\"LABEL.PROPERTIES\",437:\"LISTBOX.PROPERTIES\",438:\"EDITBOX.PROPERTIES\",439:\"PIVOT.REFRESH\",440:\"LINK.COMBO\",441:\"OPEN.TEXT\",442:\"HIDE.DIALOG\",443:\"SET.DIALOG.FOCUS\",444:\"ENABLE.OBJECT\",445:\"PUSHBUTTON.PROPERTIES\",446:\"SET.DIALOG.DEFAULT\",447:\"FILTER\",448:\"FILTER.SHOW.ALL\",449:\"CLEAR.OUTLINE\",450:\"FUNCTION.WIZARD\",451:\"ADD.LIST.ITEM\",452:\"SET.LIST.ITEM\",453:\"REMOVE.LIST.ITEM\",454:\"SELECT.LIST.ITEM\",455:\"SET.CONTROL.VALUE\",456:\"SAVE.COPY.AS\",458:\"OPTIONS.LISTS.ADD\",459:\"OPTIONS.LISTS.DELETE\",460:\"SERIES.AXES\",461:\"SERIES.X\",462:\"SERIES.Y\",463:\"ERRORBAR.X\",464:\"ERRORBAR.Y\",465:\"FORMAT.CHART\",466:\"SERIES.ORDER\",467:\"MAIL.LOGOFF\",468:\"CLEAR.ROUTING.SLIP\",469:\"APP.ACTIVATE.MICROSOFT\",470:\"MAIL.EDIT.MAILER\",471:\"ON.SHEET\",472:\"STANDARD.WIDTH\",473:\"SCENARIO.MERGE\",474:\"SUMMARY.INFO\",475:\"FIND.FILE\",476:\"ACTIVE.CELL.FONT\",477:\"ENABLE.TIPWIZARD\",478:\"VBA.MAKE.ADDIN\",480:\"INSERTDATATABLE\",481:\"WORKGROUP.OPTIONS\",482:\"MAIL.SEND.MAILER\",485:\"AUTOCORRECT\",489:\"POST.DOCUMENT\",491:\"PICKLIST\",493:\"VIEW.SHOW\",494:\"VIEW.DEFINE\",495:\"VIEW.DELETE\",509:\"SHEET.BACKGROUND\",510:\"INSERT.MAP.OBJECT\",511:\"OPTIONS.MENONO\",517:\"MSOCHECKS\",518:\"NORMAL\",519:\"LAYOUT\",520:\"RM.PRINT.AREA\",521:\"CLEAR.PRINT.AREA\",522:\"ADD.PRINT.AREA\",523:\"MOVE.BRK\",545:\"HIDECURR.NOTE\",546:\"HIDEALL.NOTES\",547:\"DELETE.NOTE\",548:\"TRAVERSE.NOTES\",549:\"ACTIVATE.NOTES\",620:\"PROTECT.REVISIONS\",621:\"UNPROTECT.REVISIONS\",647:\"OPTIONS.ME\",653:\"WEB.PUBLISH\",667:\"NEWWEBQUERY\",673:\"PIVOT.TABLE.CHART\",753:\"OPTIONS.SAVE\",755:\"OPTIONS.SPELL\",808:\"HIDEALL.INKANNOTS\"},mi={0:\"COUNT\",1:\"IF\",2:\"ISNA\",3:\"ISERROR\",4:\"SUM\",5:\"AVERAGE\",6:\"MIN\",7:\"MAX\",8:\"ROW\",9:\"COLUMN\",10:\"NA\",11:\"NPV\",12:\"STDEV\",13:\"DOLLAR\",14:\"FIXED\",15:\"SIN\",16:\"COS\",17:\"TAN\",18:\"ATAN\",19:\"PI\",20:\"SQRT\",21:\"EXP\",22:\"LN\",23:\"LOG10\",24:\"ABS\",25:\"INT\",26:\"SIGN\",27:\"ROUND\",28:\"LOOKUP\",29:\"INDEX\",30:\"REPT\",31:\"MID\",32:\"LEN\",33:\"VALUE\",34:\"TRUE\",35:\"FALSE\",36:\"AND\",37:\"OR\",38:\"NOT\",39:\"MOD\",40:\"DCOUNT\",41:\"DSUM\",42:\"DAVERAGE\",43:\"DMIN\",44:\"DMAX\",45:\"DSTDEV\",46:\"VAR\",47:\"DVAR\",48:\"TEXT\",49:\"LINEST\",50:\"TREND\",51:\"LOGEST\",52:\"GROWTH\",53:\"GOTO\",54:\"HALT\",55:\"RETURN\",56:\"PV\",57:\"FV\",58:\"NPER\",59:\"PMT\",60:\"RATE\",61:\"MIRR\",62:\"IRR\",63:\"RAND\",64:\"MATCH\",65:\"DATE\",66:\"TIME\",67:\"DAY\",68:\"MONTH\",69:\"YEAR\",70:\"WEEKDAY\",71:\"HOUR\",72:\"MINUTE\",73:\"SECOND\",74:\"NOW\",75:\"AREAS\",76:\"ROWS\",77:\"COLUMNS\",78:\"OFFSET\",79:\"ABSREF\",80:\"RELREF\",81:\"ARGUMENT\",82:\"SEARCH\",83:\"TRANSPOSE\",84:\"ERROR\",85:\"STEP\",86:\"TYPE\",87:\"ECHO\",88:\"SET.NAME\",89:\"CALLER\",90:\"DEREF\",91:\"WINDOWS\",92:\"SERIES\",93:\"DOCUMENTS\",94:\"ACTIVE.CELL\",95:\"SELECTION\",96:\"RESULT\",97:\"ATAN2\",98:\"ASIN\",99:\"ACOS\",100:\"CHOOSE\",101:\"HLOOKUP\",102:\"VLOOKUP\",103:\"LINKS\",104:\"INPUT\",105:\"ISREF\",106:\"GET.FORMULA\",107:\"GET.NAME\",108:\"SET.VALUE\",109:\"LOG\",110:\"EXEC\",111:\"CHAR\",112:\"LOWER\",113:\"UPPER\",114:\"PROPER\",115:\"LEFT\",116:\"RIGHT\",117:\"EXACT\",118:\"TRIM\",119:\"REPLACE\",120:\"SUBSTITUTE\",121:\"CODE\",122:\"NAMES\",123:\"DIRECTORY\",124:\"FIND\",125:\"CELL\",126:\"ISERR\",127:\"ISTEXT\",128:\"ISNUMBER\",129:\"ISBLANK\",130:\"T\",131:\"N\",132:\"FOPEN\",133:\"FCLOSE\",134:\"FSIZE\",135:\"FREADLN\",136:\"FREAD\",137:\"FWRITELN\",138:\"FWRITE\",139:\"FPOS\",140:\"DATEVALUE\",141:\"TIMEVALUE\",142:\"SLN\",143:\"SYD\",144:\"DDB\",145:\"GET.DEF\",146:\"REFTEXT\",147:\"TEXTREF\",148:\"INDIRECT\",149:\"REGISTER\",150:\"CALL\",151:\"ADD.BAR\",152:\"ADD.MENU\",153:\"ADD.COMMAND\",154:\"ENABLE.COMMAND\",155:\"CHECK.COMMAND\",156:\"RENAME.COMMAND\",157:\"SHOW.BAR\",158:\"DELETE.MENU\",159:\"DELETE.COMMAND\",160:\"GET.CHART.ITEM\",161:\"DIALOG.BOX\",162:\"CLEAN\",163:\"MDETERM\",164:\"MINVERSE\",165:\"MMULT\",166:\"FILES\",167:\"IPMT\",168:\"PPMT\",169:\"COUNTA\",170:\"CANCEL.KEY\",171:\"FOR\",172:\"WHILE\",173:\"BREAK\",174:\"NEXT\",175:\"INITIATE\",176:\"REQUEST\",177:\"POKE\",178:\"EXECUTE\",179:\"TERMINATE\",180:\"RESTART\",181:\"HELP\",182:\"GET.BAR\",183:\"PRODUCT\",184:\"FACT\",185:\"GET.CELL\",186:\"GET.WORKSPACE\",187:\"GET.WINDOW\",188:\"GET.DOCUMENT\",189:\"DPRODUCT\",190:\"ISNONTEXT\",191:\"GET.NOTE\",192:\"NOTE\",193:\"STDEVP\",194:\"VARP\",195:\"DSTDEVP\",196:\"DVARP\",197:\"TRUNC\",198:\"ISLOGICAL\",199:\"DCOUNTA\",200:\"DELETE.BAR\",201:\"UNREGISTER\",204:\"USDOLLAR\",205:\"FINDB\",206:\"SEARCHB\",207:\"REPLACEB\",208:\"LEFTB\",209:\"RIGHTB\",210:\"MIDB\",211:\"LENB\",212:\"ROUNDUP\",213:\"ROUNDDOWN\",214:\"ASC\",215:\"DBCS\",216:\"RANK\",219:\"ADDRESS\",220:\"DAYS360\",221:\"TODAY\",222:\"VDB\",223:\"ELSE\",224:\"ELSE.IF\",225:\"END.IF\",226:\"FOR.CELL\",227:\"MEDIAN\",228:\"SUMPRODUCT\",229:\"SINH\",230:\"COSH\",231:\"TANH\",232:\"ASINH\",233:\"ACOSH\",234:\"ATANH\",235:\"DGET\",236:\"CREATE.OBJECT\",237:\"VOLATILE\",238:\"LAST.ERROR\",239:\"CUSTOM.UNDO\",240:\"CUSTOM.REPEAT\",241:\"FORMULA.CONVERT\",242:\"GET.LINK.INFO\",243:\"TEXT.BOX\",244:\"INFO\",245:\"GROUP\",246:\"GET.OBJECT\",247:\"DB\",248:\"PAUSE\",251:\"RESUME\",252:\"FREQUENCY\",253:\"ADD.TOOLBAR\",254:\"DELETE.TOOLBAR\",255:\"User\",256:\"RESET.TOOLBAR\",257:\"EVALUATE\",258:\"GET.TOOLBAR\",259:\"GET.TOOL\",260:\"SPELLING.CHECK\",261:\"ERROR.TYPE\",262:\"APP.TITLE\",263:\"WINDOW.TITLE\",264:\"SAVE.TOOLBAR\",265:\"ENABLE.TOOL\",266:\"PRESS.TOOL\",267:\"REGISTER.ID\",268:\"GET.WORKBOOK\",269:\"AVEDEV\",270:\"BETADIST\",271:\"GAMMALN\",272:\"BETAINV\",273:\"BINOMDIST\",274:\"CHIDIST\",275:\"CHIINV\",276:\"COMBIN\",277:\"CONFIDENCE\",278:\"CRITBINOM\",279:\"EVEN\",280:\"EXPONDIST\",281:\"FDIST\",282:\"FINV\",283:\"FISHER\",284:\"FISHERINV\",285:\"FLOOR\",286:\"GAMMADIST\",287:\"GAMMAINV\",288:\"CEILING\",289:\"HYPGEOMDIST\",290:\"LOGNORMDIST\",291:\"LOGINV\",292:\"NEGBINOMDIST\",293:\"NORMDIST\",294:\"NORMSDIST\",295:\"NORMINV\",296:\"NORMSINV\",297:\"STANDARDIZE\",298:\"ODD\",299:\"PERMUT\",300:\"POISSON\",301:\"TDIST\",302:\"WEIBULL\",303:\"SUMXMY2\",304:\"SUMX2MY2\",305:\"SUMX2PY2\",306:\"CHITEST\",307:\"CORREL\",308:\"COVAR\",309:\"FORECAST\",310:\"FTEST\",311:\"INTERCEPT\",312:\"PEARSON\",313:\"RSQ\",314:\"STEYX\",315:\"SLOPE\",316:\"TTEST\",317:\"PROB\",318:\"DEVSQ\",319:\"GEOMEAN\",320:\"HARMEAN\",321:\"SUMSQ\",322:\"KURT\",323:\"SKEW\",324:\"ZTEST\",325:\"LARGE\",326:\"SMALL\",327:\"QUARTILE\",328:\"PERCENTILE\",329:\"PERCENTRANK\",330:\"MODE\",331:\"TRIMMEAN\",332:\"TINV\",334:\"MOVIE.COMMAND\",335:\"GET.MOVIE\",336:\"CONCATENATE\",337:\"POWER\",338:\"PIVOT.ADD.DATA\",339:\"GET.PIVOT.TABLE\",340:\"GET.PIVOT.FIELD\",341:\"GET.PIVOT.ITEM\",342:\"RADIANS\",343:\"DEGREES\",344:\"SUBTOTAL\",345:\"SUMIF\",346:\"COUNTIF\",347:\"COUNTBLANK\",348:\"SCENARIO.GET\",349:\"OPTIONS.LISTS.GET\",350:\"ISPMT\",351:\"DATEDIF\",352:\"DATESTRING\",353:\"NUMBERSTRING\",354:\"ROMAN\",355:\"OPEN.DIALOG\",356:\"SAVE.DIALOG\",357:\"VIEW.GET\",358:\"GETPIVOTDATA\",359:\"HYPERLINK\",360:\"PHONETIC\",361:\"AVERAGEA\",362:\"MAXA\",363:\"MINA\",364:\"STDEVPA\",365:\"VARPA\",366:\"STDEVA\",367:\"VARA\",368:\"BAHTTEXT\",369:\"THAIDAYOFWEEK\",370:\"THAIDIGIT\",371:\"THAIMONTHOFYEAR\",372:\"THAINUMSOUND\",373:\"THAINUMSTRING\",374:\"THAISTRINGLENGTH\",375:\"ISTHAIDIGIT\",376:\"ROUNDBAHTDOWN\",377:\"ROUNDBAHTUP\",378:\"THAIYEAR\",379:\"RTD\",380:\"CUBEVALUE\",381:\"CUBEMEMBER\",382:\"CUBEMEMBERPROPERTY\",383:\"CUBERANKEDMEMBER\",384:\"HEX2BIN\",385:\"HEX2DEC\",386:\"HEX2OCT\",387:\"DEC2BIN\",388:\"DEC2HEX\",389:\"DEC2OCT\",390:\"OCT2BIN\",391:\"OCT2HEX\",392:\"OCT2DEC\",393:\"BIN2DEC\",394:\"BIN2OCT\",395:\"BIN2HEX\",396:\"IMSUB\",397:\"IMDIV\",398:\"IMPOWER\",399:\"IMABS\",400:\"IMSQRT\",401:\"IMLN\",402:\"IMLOG2\",403:\"IMLOG10\",404:\"IMSIN\",405:\"IMCOS\",406:\"IMEXP\",407:\"IMARGUMENT\",408:\"IMCONJUGATE\",409:\"IMAGINARY\",410:\"IMREAL\",411:\"COMPLEX\",412:\"IMSUM\",413:\"IMPRODUCT\",414:\"SERIESSUM\",415:\"FACTDOUBLE\",416:\"SQRTPI\",417:\"QUOTIENT\",418:\"DELTA\",419:\"GESTEP\",420:\"ISEVEN\",421:\"ISODD\",422:\"MROUND\",423:\"ERF\",424:\"ERFC\",425:\"BESSELJ\",426:\"BESSELK\",427:\"BESSELY\",428:\"BESSELI\",429:\"XIRR\",430:\"XNPV\",431:\"PRICEMAT\",432:\"YIELDMAT\",433:\"INTRATE\",434:\"RECEIVED\",435:\"DISC\",436:\"PRICEDISC\",437:\"YIELDDISC\",438:\"TBILLEQ\",439:\"TBILLPRICE\",440:\"TBILLYIELD\",441:\"PRICE\",442:\"YIELD\",443:\"DOLLARDE\",444:\"DOLLARFR\",445:\"NOMINAL\",446:\"EFFECT\",447:\"CUMPRINC\",448:\"CUMIPMT\",449:\"EDATE\",450:\"EOMONTH\",451:\"YEARFRAC\",452:\"COUPDAYBS\",453:\"COUPDAYS\",454:\"COUPDAYSNC\",455:\"COUPNCD\",456:\"COUPNUM\",457:\"COUPPCD\",458:\"DURATION\",459:\"MDURATION\",460:\"ODDLPRICE\",461:\"ODDLYIELD\",462:\"ODDFPRICE\",463:\"ODDFYIELD\",464:\"RANDBETWEEN\",465:\"WEEKNUM\",466:\"AMORDEGRC\",467:\"AMORLINC\",468:\"CONVERT\",724:\"SHEETJS\",469:\"ACCRINT\",470:\"ACCRINTM\",471:\"WORKDAY\",472:\"NETWORKDAYS\",473:\"GCD\",474:\"MULTINOMIAL\",475:\"LCM\",476:\"FVSCHEDULE\",477:\"CUBEKPIMEMBER\",478:\"CUBESET\",479:\"CUBESETCOUNT\",480:\"IFERROR\",481:\"COUNTIFS\",482:\"SUMIFS\",483:\"AVERAGEIF\",484:\"AVERAGEIFS\"},Rl={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function Nl(e){var t=\"of:=\"+e.replace(t0,\"\\$1[.\\$2\\$3\\$4\\$5]\").replace(/\\\\]:\\\\[/g,\":\");return t.replace(/;/g,\"|\").replace(/,/g,\";\")}function bl(e){return e.replace(/\\\\./,\"!\")}var At=typeof Map<\"u\";function i0(e,t,r){var a=0,n=e.length;if(r){if(At?r.has(t):Object.prototype.hasOwnProperty.call(r,t)){for(var i=At?r.get(t):r[t];a<i.length;++a)if(e[i[a]].t===t)return e.Count++,i[a]}}else for(;a<n;++a)if(e[a].t===t)return e.Count++,a;return e[n]={t},e.Count++,e.Unique++,r&&(At?(r.has(t)||r.set(t,[]),r.get(t).push(n)):(Object.prototype.hasOwnProperty.call(r,t)||(r[t]=[]),r[t].push(n))),n}function ga(e,t){var r={min:e+1,max:e+1},a=-1;return t.MDW&&(Dr=t.MDW),t.width!=null?r.customWidth=1:t.wpx!=null?a=sa(t.wpx):t.wch!=null&&(a=t.wch),a>-1?(r.width=La(a),r.customWidth=1):t.width!=null&&(r.width=t.width),t.hidden&&(r.hidden=!0),t.level!=null&&(r.outlineLevel=r.level=t.level),r}function gi(e,t){if(e){var r=[.7,.7,.75,.75,.3,.3];t==\"xlml\"&&(r=[1,1,1,1,.5,.5]),e.left==null&&(e.left=r[0]),e.right==null&&(e.right=r[1]),e.top==null&&(e.top=r[2]),e.bottom==null&&(e.bottom=r[3]),e.header==null&&(e.header=r[4]),e.footer==null&&(e.footer=r[5])}}function Ur(e,t,r){var a=r.revssf[t.z!=null?t.z:\"General\"],n=60,i=e.length;if(a==null&&r.ssf){for(;n<392;++n)if(r.ssf[n]==null){gn(t.z,n),r.ssf[n]=t.z,r.revssf[t.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;return e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1},i}function Pl(e,t,r){if(e&&e[\"!ref\"]){var a=Te(e[\"!ref\"]);if(a.e.c<a.s.c||a.e.r<a.s.r)throw new Error(\"Bad range (\"+r+\"): \"+e[\"!ref\"])}}function Ll(e){if(e.length===0)return\"\";for(var t='<mergeCells count=\"'+e.length+'\">',r=0;r!=e.length;++r)t+='<mergeCell ref=\"'+De(e[r])+'\"/>';return t+\"</mergeCells>\"}function Bl(e,t,r,a,n){var i=!1,s={},f=null;if(a.bookType!==\"xlsx\"&&t.vbaraw){var o=t.SheetNames[r];try{t.Workbook&&(o=t.Workbook.Sheets[r].CodeName||o)}catch{}i=!0,s.codeName=yr(me(o))}if(e&&e[\"!outline\"]){var c={summaryBelow:1,summaryRight:1};e[\"!outline\"].above&&(c.summaryBelow=0),e[\"!outline\"].left&&(c.summaryRight=0),f=(f||\"\")+j(\"outlinePr\",null,c)}!i&&!f||(n[n.length]=j(\"sheetPr\",f,s))}var Ml=[\"objects\",\"scenarios\",\"selectLockedCells\",\"selectUnlockedCells\"],Ul=[\"formatColumns\",\"formatRows\",\"formatCells\",\"insertColumns\",\"insertRows\",\"insertHyperlinks\",\"deleteColumns\",\"deleteRows\",\"sort\",\"autoFilter\",\"pivotTables\"];function Wl(e){var t={sheet:1};return Ml.forEach(function(r){e[r]!=null&&e[r]&&(t[r]=\"1\")}),Ul.forEach(function(r){e[r]!=null&&!e[r]&&(t[r]=\"0\")}),e.password&&(t.password=ri(e.password).toString(16).toUpperCase()),j(\"sheetProtection\",null,t)}function Hl(e){return gi(e),j(\"pageMargins\",null,e)}function Vl(e,t){for(var r=[\"<cols>\"],a,n=0;n!=t.length;++n)(a=t[n])&&(r[r.length]=j(\"col\",null,ga(n,a)));return r[r.length]=\"</cols>\",r.join(\"\")}function Xl(e,t,r,a){var n=typeof e.ref==\"string\"?e.ref:De(e.ref);r.Workbook||(r.Workbook={Sheets:[]}),r.Workbook.Names||(r.Workbook.Names=[]);var i=r.Workbook.Names,s=cr(n);s.s.r==s.e.r&&(s.e.r=cr(t[\"!ref\"]).e.r,n=De(s));for(var f=0;f<i.length;++f){var o=i[f];if(o.Name==\"_xlnm._FilterDatabase\"&&o.Sheet==a){o.Ref=\"'\"+r.SheetNames[a]+\"'!\"+n;break}}return f==i.length&&i.push({Name:\"_xlnm._FilterDatabase\",Sheet:a,Ref:\"'\"+r.SheetNames[a]+\"'!\"+n}),j(\"autoFilter\",null,{ref:n})}function Gl(e,t,r,a){var n={workbookViewId:\"0\"};return(((a||{}).Workbook||{}).Views||[])[0]&&(n.rightToLeft=a.Workbook.Views[0].RTL?\"1\":\"0\"),j(\"sheetViews\",j(\"sheetView\",null,n),{})}function zl(e,t,r,a){if(e.c&&r[\"!comments\"].push([t,e.c]),e.v===void 0&&typeof e.f!=\"string\"||e.t===\"z\"&&!e.f)return\"\";var n=\"\",i=e.t,s=e.v;if(e.t!==\"z\")switch(e.t){case\"b\":n=e.v?\"1\":\"0\";break;case\"n\":n=\"\"+e.v;break;case\"e\":n=Bt[e.v];break;case\"d\":a&&a.cellDates?n=qe(e.v,-1).toISOString():(e=ar(e),e.t=\"n\",n=\"\"+(e.v=tr(qe(e.v)))),typeof e.z>\"u\"&&(e.z=ye[14]);break;default:n=e.v;break}var f=Xe(\"v\",me(n)),o={r:t},c=Ur(a.cellXfs,e,a);switch(c!==0&&(o.s=c),e.t){case\"n\":break;case\"d\":o.t=\"d\";break;case\"b\":o.t=\"b\";break;case\"e\":o.t=\"e\";break;case\"z\":break;default:if(e.v==null){delete e.t;break}if(e.v.length>32767)throw new Error(\"Text length must not exceed 32767 characters\");if(a&&a.bookSST){f=Xe(\"v\",\"\"+i0(a.Strings,e.v,a.revStrings)),o.t=\"s\";break}o.t=\"str\";break}if(e.t!=i&&(e.t=i,e.v=s),typeof e.f==\"string\"&&e.f){var l=e.F&&e.F.slice(0,t.length)==t?{t:\"array\",ref:e.F}:null;f=j(\"f\",me(e.f),l)+(e.v!=null?f:\"\")}return e.l&&r[\"!links\"].push([t,e.l]),e.D&&(o.cm=1),j(\"c\",f,o)}function \\$l(e,t,r,a){var n=[],i=[],s=Te(e[\"!ref\"]),f=\"\",o,c=\"\",l=[],v=0,h=0,d=e[\"!rows\"],_=Array.isArray(e),u={r:c},g,y=-1;for(h=s.s.c;h<=s.e.c;++h)l[h]=\\$e(h);for(v=s.s.r;v<=s.e.r;++v){for(i=[],c=Ge(v),h=s.s.c;h<=s.e.c;++h){o=l[h]+c;var C=_?(e[v]||[])[h]:e[o];C!==void 0&&(f=zl(C,o,e,t,r,a))!=null&&i.push(f)}(i.length>0||d&&d[v])&&(u={r:c},d&&d[v]&&(g=d[v],g.hidden&&(u.hidden=1),y=-1,g.hpx?y=fa(g.hpx):g.hpt&&(y=g.hpt),y>-1&&(u.ht=y,u.customHeight=1),g.level&&(u.outlineLevel=g.level)),n[n.length]=j(\"row\",i.join(\"\"),u))}if(d)for(;v<d.length;++v)d&&d[v]&&(u={r:v+1},g=d[v],g.hidden&&(u.hidden=1),y=-1,g.hpx?y=fa(g.hpx):g.hpt&&(y=g.hpt),y>-1&&(u.ht=y,u.customHeight=1),g.level&&(u.outlineLevel=g.level),n[n.length]=j(\"row\",\"\",u));return n.join(\"\")}function _i(e,t,r,a){var n=[Oe,j(\"worksheet\",null,{xmlns:xt[0],\"xmlns:r\":Pe.r})],i=r.SheetNames[e],s=0,f=\"\",o=r.Sheets[i];o==null&&(o={});var c=o[\"!ref\"]||\"A1\",l=Te(c);if(l.e.c>16383||l.e.r>1048575){if(t.WTF)throw new Error(\"Range \"+c+\" exceeds format limit A1:XFD1048576\");l.e.c=Math.min(l.e.c,16383),l.e.r=Math.min(l.e.c,1048575),c=De(l)}a||(a={}),o[\"!comments\"]=[];var v=[];Bl(o,r,e,t,n),n[n.length]=j(\"dimension\",null,{ref:c}),n[n.length]=Gl(o,t,e,r),t.sheetFormat&&(n[n.length]=j(\"sheetFormatPr\",null,{defaultRowHeight:t.sheetFormat.defaultRowHeight||\"16\",baseColWidth:t.sheetFormat.baseColWidth||\"10\",outlineLevelRow:t.sheetFormat.outlineLevelRow||\"7\"})),o[\"!cols\"]!=null&&o[\"!cols\"].length>0&&(n[n.length]=Vl(o,o[\"!cols\"])),n[s=n.length]=\"<sheetData/>\",o[\"!links\"]=[],o[\"!ref\"]!=null&&(f=\\$l(o,t,e,r,a),f.length>0&&(n[n.length]=f)),n.length>s+1&&(n[n.length]=\"</sheetData>\",n[s]=n[s].replace(\"/>\",\">\")),o[\"!protect\"]&&(n[n.length]=Wl(o[\"!protect\"])),o[\"!autofilter\"]!=null&&(n[n.length]=Xl(o[\"!autofilter\"],o,r,e)),o[\"!merges\"]!=null&&o[\"!merges\"].length>0&&(n[n.length]=Ll(o[\"!merges\"]));var h=-1,d,_=-1;return o[\"!links\"].length>0&&(n[n.length]=\"<hyperlinks>\",o[\"!links\"].forEach(function(u){u[1].Target&&(d={ref:u[0]},u[1].Target.charAt(0)!=\"#\"&&(_=pe(a,-1,me(u[1].Target).replace(/#.*\\$/,\"\"),he.HLINK),d[\"r:id\"]=\"rId\"+_),(h=u[1].Target.indexOf(\"#\"))>-1&&(d.location=me(u[1].Target.slice(h+1))),u[1].Tooltip&&(d.tooltip=me(u[1].Tooltip)),n[n.length]=j(\"hyperlink\",null,d))}),n[n.length]=\"</hyperlinks>\"),delete o[\"!links\"],o[\"!margins\"]!=null&&(n[n.length]=Hl(o[\"!margins\"])),(!t||t.ignoreEC||t.ignoreEC==null)&&(n[n.length]=Xe(\"ignoredErrors\",j(\"ignoredError\",null,{numberStoredAsText:1,sqref:c}))),v.length>0&&(_=pe(a,-1,\"../drawings/drawing\"+(e+1)+\".xml\",he.DRAW),n[n.length]=j(\"drawing\",null,{\"r:id\":\"rId\"+_}),o[\"!drawing\"]=v),o[\"!comments\"].length>0&&(_=pe(a,-1,\"../drawings/vmlDrawing\"+(e+1)+\".vml\",he.VML),n[n.length]=j(\"legacyDrawing\",null,{\"r:id\":\"rId\"+_}),o[\"!legacy\"]=_),n.length>1&&(n[n.length]=\"</worksheet>\",n[1]=n[1].replace(\"/>\",\">\")),n.join(\"\")}function Kl(e,t){var r={},a=e.l+t;r.r=e.read_shift(4),e.l+=4;var n=e.read_shift(2);e.l+=1;var i=e.read_shift(1);return e.l=a,i&7&&(r.level=i&7),i&16&&(r.hidden=!0),i&32&&(r.hpt=n/20),r}function jl(e,t,r){var a=b(145),n=(r[\"!rows\"]||[])[e]||{};a.write_shift(4,e),a.write_shift(4,0);var i=320;n.hpx?i=fa(n.hpx)*20:n.hpt&&(i=n.hpt*20),a.write_shift(2,i),a.write_shift(1,0);var s=0;n.level&&(s|=n.level),n.hidden&&(s|=16),(n.hpx||n.hpt)&&(s|=32),a.write_shift(1,s),a.write_shift(1,0);var f=0,o=a.l;a.l+=4;for(var c={r:e,c:0},l=0;l<16;++l)if(!(t.s.c>l+1<<10||t.e.c<l<<10)){for(var v=-1,h=-1,d=l<<10;d<l+1<<10;++d){c.c=d;var _=Array.isArray(r)?(r[c.r]||[])[c.c]:r[ge(c)];_&&(v<0&&(v=d),h=d)}v<0||(++f,a.write_shift(4,v),a.write_shift(4,h))}var u=a.l;return a.l=o,a.write_shift(4,f),a.l=u,a.length>a.l?a.slice(0,a.l):a}function Yl(e,t,r,a){var n=jl(a,r,t);(n.length>17||(t[\"!rows\"]||[])[a])&&H(e,0,n)}var Jl=Qr,ql=pt;function Zl(){}function Ql(e,t){var r={},a=e[e.l];return++e.l,r.above=!(a&64),r.left=!(a&128),e.l+=18,r.name=cf(e,t-19),r}function eu(e,t,r){r==null&&(r=b(84+4*e.length));var a=192;t&&(t.above&&(a&=-65),t.left&&(a&=-129)),r.write_shift(1,a);for(var n=1;n<3;++n)r.write_shift(1,0);return aa({auto:1},r),r.write_shift(-4,-1),r.write_shift(-4,-1),bn(e,r),r.slice(0,r.l)}function ru(e){var t=hr(e);return[t]}function tu(e,t,r){return r==null&&(r=b(8)),Jr(t,r)}function au(e){var t=qr(e);return[t]}function nu(e,t,r){return r==null&&(r=b(4)),Zr(t,r)}function iu(e){var t=hr(e),r=e.read_shift(1);return[t,r,\"b\"]}function su(e,t,r){return r==null&&(r=b(9)),Jr(t,r),r.write_shift(1,e.v?1:0),r}function fu(e){var t=qr(e),r=e.read_shift(1);return[t,r,\"b\"]}function cu(e,t,r){return r==null&&(r=b(5)),Zr(t,r),r.write_shift(1,e.v?1:0),r}function ou(e){var t=hr(e),r=e.read_shift(1);return[t,r,\"e\"]}function lu(e,t,r){return r==null&&(r=b(9)),Jr(t,r),r.write_shift(1,e.v),r}function uu(e){var t=qr(e),r=e.read_shift(1);return[t,r,\"e\"]}function hu(e,t,r){return r==null&&(r=b(8)),Zr(t,r),r.write_shift(1,e.v),r.write_shift(2,0),r.write_shift(1,0),r}function xu(e){var t=hr(e),r=e.read_shift(4);return[t,r,\"s\"]}function du(e,t,r){return r==null&&(r=b(12)),Jr(t,r),r.write_shift(4,t.v),r}function vu(e){var t=qr(e),r=e.read_shift(4);return[t,r,\"s\"]}function pu(e,t,r){return r==null&&(r=b(8)),Zr(t,r),r.write_shift(4,t.v),r}function mu(e){var t=hr(e),r=mt(e);return[t,r,\"n\"]}function gu(e,t,r){return r==null&&(r=b(16)),Jr(t,r),Kr(e.v,r),r}function _u(e){var t=qr(e),r=mt(e);return[t,r,\"n\"]}function wu(e,t,r){return r==null&&(r=b(12)),Zr(t,r),Kr(e.v,r),r}function ku(e){var t=hr(e),r=Pn(e);return[t,r,\"n\"]}function Eu(e,t,r){return r==null&&(r=b(12)),Jr(t,r),Ln(e.v,r),r}function Tu(e){var t=qr(e),r=Pn(e);return[t,r,\"n\"]}function Su(e,t,r){return r==null&&(r=b(8)),Zr(t,r),Ln(e.v,r),r}function Fu(e){var t=hr(e),r=qa(e);return[t,r,\"is\"]}function yu(e){var t=hr(e),r=Ke(e);return[t,r,\"str\"]}function Au(e,t,r){return r==null&&(r=b(12+4*e.v.length)),Jr(t,r),Be(e.v,r),r.length>r.l?r.slice(0,r.l):r}function Cu(e){var t=qr(e),r=Ke(e);return[t,r,\"str\"]}function Du(e,t,r){return r==null&&(r=b(8+4*e.v.length)),Zr(t,r),Be(e.v,r),r.length>r.l?r.slice(0,r.l):r}function Ou(e,t,r){var a=e.l+t,n=hr(e);n.r=r[\"!row\"];var i=e.read_shift(1),s=[n,i,\"b\"];if(r.cellFormula){e.l+=2;var f=ma(e,a-e.l,r);s[3]=ht(f,null,n,r.supbooks,r)}else e.l=a;return s}function Iu(e,t,r){var a=e.l+t,n=hr(e);n.r=r[\"!row\"];var i=e.read_shift(1),s=[n,i,\"e\"];if(r.cellFormula){e.l+=2;var f=ma(e,a-e.l,r);s[3]=ht(f,null,n,r.supbooks,r)}else e.l=a;return s}function Ru(e,t,r){var a=e.l+t,n=hr(e);n.r=r[\"!row\"];var i=mt(e),s=[n,i,\"n\"];if(r.cellFormula){e.l+=2;var f=ma(e,a-e.l,r);s[3]=ht(f,null,n,r.supbooks,r)}else e.l=a;return s}function Nu(e,t,r){var a=e.l+t,n=hr(e);n.r=r[\"!row\"];var i=Ke(e),s=[n,i,\"str\"];if(r.cellFormula){e.l+=2;var f=ma(e,a-e.l,r);s[3]=ht(f,null,n,r.supbooks,r)}else e.l=a;return s}var bu=Qr,Pu=pt;function Lu(e,t){return t==null&&(t=b(4)),t.write_shift(4,e),t}function Bu(e,t){var r=e.l+t,a=Qr(e,16),n=Za(e),i=Ke(e),s=Ke(e),f=Ke(e);e.l=r;var o={rfx:a,relId:n,loc:i,display:f};return s&&(o.Tooltip=s),o}function Mu(e,t){var r=b(50+4*(e[1].Target.length+(e[1].Tooltip||\"\").length));pt({s:Le(e[0]),e:Le(e[0])},r),Qa(\"rId\"+t,r);var a=e[1].Target.indexOf(\"#\"),n=a==-1?\"\":e[1].Target.slice(a+1);return Be(n||\"\",r),Be(e[1].Tooltip||\"\",r),Be(\"\",r),r.slice(0,r.l)}function Uu(){}function Wu(e,t,r){var a=e.l+t,n=Bn(e,16),i=e.read_shift(1),s=[n];if(s[2]=i,r.cellFormula){var f=Cl(e,a-e.l,r);s[1]=f}else e.l=a;return s}function Hu(e,t,r){var a=e.l+t,n=Qr(e,16),i=[n];if(r.cellFormula){var s=Ol(e,a-e.l,r);i[1]=s,e.l=a}else e.l=a;return i}function Vu(e,t,r){r==null&&(r=b(18));var a=ga(e,t);r.write_shift(-4,e),r.write_shift(-4,e),r.write_shift(4,(a.width||10)*256),r.write_shift(4,0);var n=0;return t.hidden&&(n|=1),typeof a.width==\"number\"&&(n|=2),t.level&&(n|=t.level<<8),r.write_shift(2,n),r}var wi=[\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];function Xu(e){var t={};return wi.forEach(function(r){t[r]=mt(e,8)}),t}function Gu(e,t){return t==null&&(t=b(48)),gi(e),wi.forEach(function(r){Kr(e[r],t)}),t}function zu(e){var t=e.read_shift(2);return e.l+=28,{RTL:t&32}}function \\$u(e,t,r){r==null&&(r=b(30));var a=924;return(((t||{}).Views||[])[0]||{}).RTL&&(a|=32),r.write_shift(2,a),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(2,0),r.write_shift(2,100),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(4,0),r}function Ku(e){var t=b(24);return t.write_shift(4,4),t.write_shift(4,1),pt(e,t),t}function ju(e,t){return t==null&&(t=b(66)),t.write_shift(2,e.password?ri(e.password):0),t.write_shift(4,1),[[\"objects\",!1],[\"scenarios\",!1],[\"formatCells\",!0],[\"formatColumns\",!0],[\"formatRows\",!0],[\"insertColumns\",!0],[\"insertRows\",!0],[\"insertHyperlinks\",!0],[\"deleteColumns\",!0],[\"deleteRows\",!0],[\"selectLockedCells\",!1],[\"sort\",!0],[\"autoFilter\",!0],[\"pivotTables\",!0],[\"selectUnlockedCells\",!1]].forEach(function(r){r[1]?t.write_shift(4,e[r[0]]!=null&&!e[r[0]]?1:0):t.write_shift(4,e[r[0]]!=null&&e[r[0]]?0:1)}),t}function Yu(){}function Ju(){}function qu(e,t,r,a,n,i,s){if(t.v===void 0)return!1;var f=\"\";switch(t.t){case\"b\":f=t.v?\"1\":\"0\";break;case\"d\":t=ar(t),t.z=t.z||ye[14],t.v=tr(qe(t.v)),t.t=\"n\";break;case\"n\":case\"e\":f=\"\"+t.v;break;default:f=t.v;break}var o={r,c:a};switch(o.s=Ur(n.cellXfs,t,n),t.l&&i[\"!links\"].push([ge(o),t.l]),t.c&&i[\"!comments\"].push([ge(o),t.c]),t.t){case\"s\":case\"str\":return n.bookSST?(f=i0(n.Strings,t.v,n.revStrings),o.t=\"s\",o.v=f,s?H(e,18,pu(t,o)):H(e,7,du(t,o))):(o.t=\"str\",s?H(e,17,Du(t,o)):H(e,6,Au(t,o))),!0;case\"n\":return t.v==(t.v|0)&&t.v>-1e3&&t.v<1e3?s?H(e,13,Su(t,o)):H(e,2,Eu(t,o)):s?H(e,16,wu(t,o)):H(e,5,gu(t,o)),!0;case\"b\":return o.t=\"b\",s?H(e,15,cu(t,o)):H(e,4,su(t,o)),!0;case\"e\":return o.t=\"e\",s?H(e,14,hu(t,o)):H(e,3,lu(t,o)),!0}return s?H(e,12,nu(t,o)):H(e,1,tu(t,o)),!0}function Zu(e,t,r,a){var n=Te(t[\"!ref\"]||\"A1\"),i,s=\"\",f=[];H(e,145);var o=Array.isArray(t),c=n.e.r;t[\"!rows\"]&&(c=Math.max(n.e.r,t[\"!rows\"].length-1));for(var l=n.s.r;l<=c;++l){s=Ge(l),Yl(e,t,n,l);var v=!1;if(l<=n.e.r)for(var h=n.s.c;h<=n.e.c;++h){l===n.s.r&&(f[h]=\\$e(h)),i=f[h]+s;var d=o?(t[l]||[])[h]:t[i];if(!d){v=!1;continue}v=qu(e,d,l,h,a,t,v)}}H(e,146)}function Qu(e,t){!t||!t[\"!merges\"]||(H(e,177,Lu(t[\"!merges\"].length)),t[\"!merges\"].forEach(function(r){H(e,176,Pu(r))}),H(e,178))}function eh(e,t){!t||!t[\"!cols\"]||(H(e,390),t[\"!cols\"].forEach(function(r,a){r&&H(e,60,Vu(a,r))}),H(e,391))}function rh(e,t){!t||!t[\"!ref\"]||(H(e,648),H(e,649,Ku(Te(t[\"!ref\"]))),H(e,650))}function th(e,t,r){t[\"!links\"].forEach(function(a){if(a[1].Target){var n=pe(r,-1,a[1].Target.replace(/#.*\\$/,\"\"),he.HLINK);H(e,494,Mu(a,n))}}),delete t[\"!links\"]}function ah(e,t,r,a){if(t[\"!comments\"].length>0){var n=pe(a,-1,\"../drawings/vmlDrawing\"+(r+1)+\".vml\",he.VML);H(e,551,Qa(\"rId\"+n)),t[\"!legacy\"]=n}}function nh(e,t,r,a){if(t[\"!autofilter\"]){var n=t[\"!autofilter\"],i=typeof n.ref==\"string\"?n.ref:De(n.ref);r.Workbook||(r.Workbook={Sheets:[]}),r.Workbook.Names||(r.Workbook.Names=[]);var s=r.Workbook.Names,f=cr(i);f.s.r==f.e.r&&(f.e.r=cr(t[\"!ref\"]).e.r,i=De(f));for(var o=0;o<s.length;++o){var c=s[o];if(c.Name==\"_xlnm._FilterDatabase\"&&c.Sheet==a){c.Ref=\"'\"+r.SheetNames[a]+\"'!\"+i;break}}o==s.length&&s.push({Name:\"_xlnm._FilterDatabase\",Sheet:a,Ref:\"'\"+r.SheetNames[a]+\"'!\"+i}),H(e,161,pt(Te(i))),H(e,162)}}function ih(e,t,r){H(e,133),H(e,137,\\$u(t,r)),H(e,138),H(e,134)}function sh(e,t){t[\"!protect\"]&&H(e,535,ju(t[\"!protect\"]))}function fh(e,t,r,a){var n=rr(),i=r.SheetNames[e],s=r.Sheets[i]||{},f=i;try{r&&r.Workbook&&(f=r.Workbook.Sheets[e].CodeName||f)}catch{}var o=Te(s[\"!ref\"]||\"A1\");if(o.e.c>16383||o.e.r>1048575){if(t.WTF)throw new Error(\"Range \"+(s[\"!ref\"]||\"A1\")+\" exceeds format limit A1:XFD1048576\");o.e.c=Math.min(o.e.c,16383),o.e.r=Math.min(o.e.c,1048575)}return s[\"!links\"]=[],s[\"!comments\"]=[],H(n,129),(r.vbaraw||s[\"!outline\"])&&H(n,147,eu(f,s[\"!outline\"])),H(n,148,ql(o)),ih(n,s,r.Workbook),eh(n,s,e,t,r),Zu(n,s,e,t,r),sh(n,s),nh(n,s,r,e),Qu(n,s),th(n,s,a),s[\"!margins\"]&&H(n,476,Gu(s[\"!margins\"])),(!t||t.ignoreEC||t.ignoreEC==null)&&rh(n,s),ah(n,s,e,a),H(n,130),n.end()}function ch(e,t){e.l+=10;var r=Ke(e,t-10);return{name:r}}var oh=[[\"allowRefreshQuery\",!1,\"bool\"],[\"autoCompressPictures\",!0,\"bool\"],[\"backupFile\",!1,\"bool\"],[\"checkCompatibility\",!1,\"bool\"],[\"CodeName\",\"\"],[\"date1904\",!1,\"bool\"],[\"defaultThemeVersion\",0,\"int\"],[\"filterPrivacy\",!1,\"bool\"],[\"hidePivotFieldList\",!1,\"bool\"],[\"promptedSolutions\",!1,\"bool\"],[\"publishItems\",!1,\"bool\"],[\"refreshAllConnections\",!1,\"bool\"],[\"saveExternalLinkValues\",!0,\"bool\"],[\"showBorderUnselectedTables\",!0,\"bool\"],[\"showInkAnnotation\",!0,\"bool\"],[\"showObjects\",\"all\"],[\"showPivotChartFilter\",!1,\"bool\"],[\"updateLinks\",\"userSet\"]];function lh(e){return!e.Workbook||!e.Workbook.WBProps?\"false\":Ms(e.Workbook.WBProps.date1904)?\"true\":\"false\"}var uh=\"][*?/\\\\\\\\\".split(\"\");function ki(e,t){if(e.length>31){if(t)return!1;throw new Error(\"Sheet names cannot exceed 31 chars\")}var r=!0;return uh.forEach(function(a){if(e.indexOf(a)!=-1){if(!t)throw new Error(\"Sheet name cannot contain : \\\\\\\\ / ? * [ ]\");r=!1}}),r}function hh(e,t,r){e.forEach(function(a,n){ki(a);for(var i=0;i<n;++i)if(a==e[i])throw new Error(\"Duplicate Sheet Name: \"+a);if(r){var s=t&&t[n]&&t[n].CodeName||a;if(s.charCodeAt(0)==95&&s.length>22)throw new Error(\"Bad Code Name: Worksheet\"+s)}})}function xh(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error(\"Invalid Workbook\");if(!e.SheetNames.length)throw new Error(\"Workbook is empty\");var t=e.Workbook&&e.Workbook.Sheets||[];hh(e.SheetNames,t,!!e.vbaraw);for(var r=0;r<e.SheetNames.length;++r)Pl(e.Sheets[e.SheetNames[r]],e.SheetNames[r],r)}function Ei(e){var t=[Oe];t[t.length]=j(\"workbook\",null,{xmlns:xt[0],\"xmlns:r\":Pe.r});var r=e.Workbook&&(e.Workbook.Names||[]).length>0,a={codeName:\"ThisWorkbook\"};e.Workbook&&e.Workbook.WBProps&&(oh.forEach(function(f){e.Workbook.WBProps[f[0]]!=null&&e.Workbook.WBProps[f[0]]!=f[1]&&(a[f[0]]=e.Workbook.WBProps[f[0]])}),e.Workbook.WBProps.CodeName&&(a.codeName=e.Workbook.WBProps.CodeName,delete a.CodeName)),t[t.length]=j(\"workbookPr\",null,a);var n=e.Workbook&&e.Workbook.Sheets||[],i=0;if(n&&n[0]&&n[0].Hidden){for(t[t.length]=\"<bookViews>\",i=0;i!=e.SheetNames.length&&!(!n[i]||!n[i].Hidden);++i);i==e.SheetNames.length&&(i=0),t[t.length]='<workbookView firstSheet=\"'+i+'\" activeTab=\"'+i+'\"/>',t[t.length]=\"</bookViews>\"}for(t[t.length]=\"<sheets>\",i=0;i!=e.SheetNames.length;++i){var s={name:me(e.SheetNames[i].slice(0,31))};if(s.sheetId=\"\"+(i+1),s[\"r:id\"]=\"rId\"+(i+1),n[i])switch(n[i].Hidden){case 1:s.state=\"hidden\";break;case 2:s.state=\"veryHidden\";break}t[t.length]=j(\"sheet\",null,s)}return t[t.length]=\"</sheets>\",r&&(t[t.length]=\"<definedNames>\",e.Workbook&&e.Workbook.Names&&e.Workbook.Names.forEach(function(f){var o={name:f.Name};f.Comment&&(o.comment=f.Comment),f.Sheet!=null&&(o.localSheetId=\"\"+f.Sheet),f.Hidden&&(o.hidden=\"1\"),f.Ref&&(t[t.length]=j(\"definedName\",me(f.Ref),o))}),t[t.length]=\"</definedNames>\"),t.length>2&&(t[t.length]=\"</workbook>\",t[1]=t[1].replace(\"/>\",\">\")),t.join(\"\")}function dh(e,t){var r={};return r.Hidden=e.read_shift(4),r.iTabID=e.read_shift(4),r.strRelID=Pa(e,t-8),r.name=Ke(e),r}function vh(e,t){return t||(t=b(127)),t.write_shift(4,e.Hidden),t.write_shift(4,e.iTabID),Qa(e.strRelID,t),Be(e.name.slice(0,31),t),t.length>t.l?t.slice(0,t.l):t}function ph(e,t){var r={},a=e.read_shift(4);r.defaultThemeVersion=e.read_shift(4);var n=t>8?Ke(e):\"\";return n.length>0&&(r.CodeName=n),r.autoCompressPictures=!!(a&65536),r.backupFile=!!(a&64),r.checkCompatibility=!!(a&4096),r.date1904=!!(a&1),r.filterPrivacy=!!(a&8),r.hidePivotFieldList=!!(a&1024),r.promptedSolutions=!!(a&16),r.publishItems=!!(a&2048),r.refreshAllConnections=!!(a&262144),r.saveExternalLinkValues=!!(a&128),r.showBorderUnselectedTables=!!(a&4),r.showInkAnnotation=!!(a&32),r.showObjects=[\"all\",\"placeholders\",\"none\"][a>>13&3],r.showPivotChartFilter=!!(a&32768),r.updateLinks=[\"userSet\",\"never\",\"always\"][a>>8&3],r}function mh(e,t){t||(t=b(72));var r=0;return e&&e.filterPrivacy&&(r|=8),t.write_shift(4,r),t.write_shift(4,0),bn(e&&e.CodeName||\"ThisWorkbook\",t),t.slice(0,t.l)}function gh(e,t,r){var a=e.l+t;e.l+=4,e.l+=1;var n=e.read_shift(4),i=of(e),s=Dl(e,0,r),f=Za(e);e.l=a;var o={Name:i,Ptg:s};return n<268435455&&(o.Sheet=n),f&&(o.Comment=f),o}function _h(e,t){H(e,143);for(var r=0;r!=t.SheetNames.length;++r){var a=t.Workbook&&t.Workbook.Sheets&&t.Workbook.Sheets[r]&&t.Workbook.Sheets[r].Hidden||0,n={Hidden:a,iTabID:r+1,strRelID:\"rId\"+(r+1),name:t.SheetNames[r]};H(e,156,vh(n))}H(e,144)}function wh(e,t){t||(t=b(127));for(var r=0;r!=4;++r)t.write_shift(4,0);return Be(\"SheetJS\",t),Be(Ct.version,t),Be(Ct.version,t),Be(\"7262\",t),t.length>t.l?t.slice(0,t.l):t}function kh(e,t){t||(t=b(29)),t.write_shift(-4,0),t.write_shift(-4,460),t.write_shift(4,28800),t.write_shift(4,17600),t.write_shift(4,500),t.write_shift(4,e),t.write_shift(4,e);var r=120;return t.write_shift(1,r),t.length>t.l?t.slice(0,t.l):t}function Eh(e,t){if(!(!t.Workbook||!t.Workbook.Sheets)){for(var r=t.Workbook.Sheets,a=0,n=-1,i=-1;a<r.length;++a)!r[a]||!r[a].Hidden&&n==-1?n=a:r[a].Hidden==1&&i==-1&&(i=a);i>n||(H(e,135),H(e,158,kh(n)),H(e,136))}}function Th(e,t){var r=rr();return H(r,131),H(r,128,wh()),H(r,153,mh(e.Workbook&&e.Workbook.WBProps||null)),Eh(r,e,t),_h(r,e,t),H(r,132),r.end()}function Sh(e,t,r){return(t.slice(-4)===\".bin\"?Th:Ei)(e,r)}function Fh(e,t,r,a,n){return(t.slice(-4)===\".bin\"?fh:_i)(e,r,a,n)}function yh(e,t,r){return(t.slice(-4)===\".bin\"?Xc:ni)(e,r)}function Ah(e,t,r){return(t.slice(-4)===\".bin\"?pc:ei)(e,r)}function Ch(e,t,r){return(t.slice(-4)===\".bin\"?io:oi)(e,r)}function Dh(e){return(e.slice(-4)===\".bin\"?qc:fi)()}function Oh(e,t){var r=[];return e.Props&&r.push(Ff(e.Props,t)),e.Custprops&&r.push(yf(e.Props,e.Custprops,t)),r.join(\"\")}function Ih(){return\"\"}function Rh(e,t){var r=['<Style ss:ID=\"Default\" ss:Name=\"Normal\"><NumberFormat/></Style>'];return t.cellXfs.forEach(function(a,n){var i=[];i.push(j(\"NumberFormat\",null,{\"ss:Format\":me(ye[a.numFmtId])}));var s={\"ss:ID\":\"s\"+(21+n)};r.push(j(\"Style\",i.join(\"\"),s))}),j(\"Styles\",r.join(\"\"))}function Ti(e){return j(\"NamedRange\",null,{\"ss:Name\":e.Name,\"ss:RefersTo\":\"=\"+a0(e.Ref,{r:0,c:0})})}function Nh(e){if(!((e||{}).Workbook||{}).Names)return\"\";for(var t=e.Workbook.Names,r=[],a=0;a<t.length;++a){var n=t[a];n.Sheet==null&&(n.Name.match(/^_xlfn\\\\./)||r.push(Ti(n)))}return j(\"Names\",r.join(\"\"))}function bh(e,t,r,a){if(!e||!((a||{}).Workbook||{}).Names)return\"\";for(var n=a.Workbook.Names,i=[],s=0;s<n.length;++s){var f=n[s];f.Sheet==r&&(f.Name.match(/^_xlfn\\\\./)||i.push(Ti(f)))}return i.join(\"\")}function Ph(e,t,r,a){if(!e)return\"\";var n=[];if(e[\"!margins\"]&&(n.push(\"<PageSetup>\"),e[\"!margins\"].header&&n.push(j(\"Header\",null,{\"x:Margin\":e[\"!margins\"].header})),e[\"!margins\"].footer&&n.push(j(\"Footer\",null,{\"x:Margin\":e[\"!margins\"].footer})),n.push(j(\"PageMargins\",null,{\"x:Bottom\":e[\"!margins\"].bottom||\"0.75\",\"x:Left\":e[\"!margins\"].left||\"0.7\",\"x:Right\":e[\"!margins\"].right||\"0.7\",\"x:Top\":e[\"!margins\"].top||\"0.75\"})),n.push(\"</PageSetup>\")),a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[r])if(a.Workbook.Sheets[r].Hidden)n.push(j(\"Visible\",a.Workbook.Sheets[r].Hidden==1?\"SheetHidden\":\"SheetVeryHidden\",{}));else{for(var i=0;i<r&&!(a.Workbook.Sheets[i]&&!a.Workbook.Sheets[i].Hidden);++i);i==r&&n.push(\"<Selected/>\")}return((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL&&n.push(\"<DisplayRightToLeft/>\"),e[\"!protect\"]&&(n.push(Xe(\"ProtectContents\",\"True\")),e[\"!protect\"].objects&&n.push(Xe(\"ProtectObjects\",\"True\")),e[\"!protect\"].scenarios&&n.push(Xe(\"ProtectScenarios\",\"True\")),e[\"!protect\"].selectLockedCells!=null&&!e[\"!protect\"].selectLockedCells?n.push(Xe(\"EnableSelection\",\"NoSelection\")):e[\"!protect\"].selectUnlockedCells!=null&&!e[\"!protect\"].selectUnlockedCells&&n.push(Xe(\"EnableSelection\",\"UnlockedCells\")),[[\"formatCells\",\"AllowFormatCells\"],[\"formatColumns\",\"AllowSizeCols\"],[\"formatRows\",\"AllowSizeRows\"],[\"insertColumns\",\"AllowInsertCols\"],[\"insertRows\",\"AllowInsertRows\"],[\"insertHyperlinks\",\"AllowInsertHyperlinks\"],[\"deleteColumns\",\"AllowDeleteCols\"],[\"deleteRows\",\"AllowDeleteRows\"],[\"sort\",\"AllowSort\"],[\"autoFilter\",\"AllowFilter\"],[\"pivotTables\",\"AllowUsePivotTables\"]].forEach(function(s){e[\"!protect\"][s[0]]&&n.push(\"<\"+s[1]+\"/>\")})),n.length==0?\"\":j(\"WorksheetOptions\",n.join(\"\"),{xmlns:fr.x})}function Lh(e){return e.map(function(t){var r=Bs(t.t||\"\"),a=j(\"ss:Data\",r,{xmlns:\"http://www.w3.org/TR/REC-html40\"});return j(\"Comment\",a,{\"ss:Author\":t.a})}).join(\"\")}function Bh(e,t,r,a,n,i,s){if(!e||e.v==null&&e.f==null)return\"\";var f={};if(e.f&&(f[\"ss:Formula\"]=\"=\"+me(a0(e.f,s))),e.F&&e.F.slice(0,t.length)==t){var o=Le(e.F.slice(t.length+1));f[\"ss:ArrayRange\"]=\"RC:R\"+(o.r==s.r?\"\":\"[\"+(o.r-s.r)+\"]\")+\"C\"+(o.c==s.c?\"\":\"[\"+(o.c-s.c)+\"]\")}if(e.l&&e.l.Target&&(f[\"ss:HRef\"]=me(e.l.Target),e.l.Tooltip&&(f[\"x:HRefScreenTip\"]=me(e.l.Tooltip))),r[\"!merges\"])for(var c=r[\"!merges\"],l=0;l!=c.length;++l)c[l].s.c!=s.c||c[l].s.r!=s.r||(c[l].e.c>c[l].s.c&&(f[\"ss:MergeAcross\"]=c[l].e.c-c[l].s.c),c[l].e.r>c[l].s.r&&(f[\"ss:MergeDown\"]=c[l].e.r-c[l].s.r));var v=\"\",h=\"\";switch(e.t){case\"z\":if(!a.sheetStubs)return\"\";break;case\"n\":v=\"Number\",h=String(e.v);break;case\"b\":v=\"Boolean\",h=e.v?\"1\":\"0\";break;case\"e\":v=\"Error\",h=Bt[e.v];break;case\"d\":v=\"DateTime\",h=new Date(e.v).toISOString(),e.z==null&&(e.z=e.z||ye[14]);break;case\"s\":v=\"String\",h=Ls(e.v||\"\");break}var d=Ur(a.cellXfs,e,a);f[\"ss:StyleID\"]=\"s\"+(21+d),f[\"ss:Index\"]=s.c+1;var _=e.v!=null?h:\"\",u=e.t==\"z\"?\"\":'<Data ss:Type=\"'+v+'\">'+_+\"</Data>\";return(e.c||[]).length>0&&(u+=Lh(e.c)),j(\"Cell\",u,f)}function Mh(e,t){var r='<Row ss:Index=\"'+(e+1)+'\"';return t&&(t.hpt&&!t.hpx&&(t.hpx=ai(t.hpt)),t.hpx&&(r+=' ss:AutoFitHeight=\"0\" ss:Height=\"'+t.hpx+'\"'),t.hidden&&(r+=' ss:Hidden=\"1\"')),r+\">\"}function Uh(e,t,r,a){if(!e[\"!ref\"])return\"\";var n=Te(e[\"!ref\"]),i=e[\"!merges\"]||[],s=0,f=[];e[\"!cols\"]&&e[\"!cols\"].forEach(function(g,y){r0(g);var C=!!g.width,D=ga(y,g),B={\"ss:Index\":y+1};C&&(B[\"ss:Width\"]=ia(D.width)),g.hidden&&(B[\"ss:Hidden\"]=\"1\"),f.push(j(\"Column\",null,B))});for(var o=Array.isArray(e),c=n.s.r;c<=n.e.r;++c){for(var l=[Mh(c,(e[\"!rows\"]||[])[c])],v=n.s.c;v<=n.e.c;++v){var h=!1;for(s=0;s!=i.length;++s)if(!(i[s].s.c>v)&&!(i[s].s.r>c)&&!(i[s].e.c<v)&&!(i[s].e.r<c)){(i[s].s.c!=v||i[s].s.r!=c)&&(h=!0);break}if(!h){var d={r:c,c:v},_=ge(d),u=o?(e[c]||[])[v]:e[_];l.push(Bh(u,_,e,t,r,a,d))}}l.push(\"</Row>\"),l.length>2&&f.push(l.join(\"\"))}return f.join(\"\")}function Wh(e,t,r){var a=[],n=r.SheetNames[e],i=r.Sheets[n],s=i?bh(i,t,e,r):\"\";return s.length>0&&a.push(\"<Names>\"+s+\"</Names>\"),s=i?Uh(i,t,e,r):\"\",s.length>0&&a.push(\"<Table>\"+s+\"</Table>\"),a.push(Ph(i,t,e,r)),a.join(\"\")}function Hh(e,t){t||(t={}),e.SSF||(e.SSF=ar(ye)),e.SSF&&(ha(),ua(e.SSF),t.revssf=xa(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF,t.cellXfs=[],Ur(t.cellXfs,{},{revssf:{General:0}}));var r=[];r.push(Oh(e,t)),r.push(Ih(e,t)),r.push(\"\"),r.push(\"\");for(var a=0;a<e.SheetNames.length;++a)r.push(j(\"Worksheet\",Wh(a,t,e),{\"ss:Name\":me(e.SheetNames[a])}));return r[2]=Rh(e,t),r[3]=Nh(e,t),Oe+j(\"Workbook\",r.join(\"\"),{xmlns:fr.ss,\"xmlns:o\":fr.o,\"xmlns:x\":fr.x,\"xmlns:ss\":fr.ss,\"xmlns:dt\":fr.dt,\"xmlns:html\":fr.html})}var Oa={SI:\"e0859ff2f94f6810ab9108002b27b3d9\",DSI:\"02d5cdd59c2e1b10939708002b2cf9ae\",UDI:\"05d5cdd59c2e1b10939708002b2cf9ae\"};function Vh(e,t){var r=[],a=[],n=[],i=0,s,f=C0(H0,\"n\"),o=C0(V0,\"n\");if(e.Props)for(s=ze(e.Props),i=0;i<s.length;++i)(Object.prototype.hasOwnProperty.call(f,s[i])?r:Object.prototype.hasOwnProperty.call(o,s[i])?a:n).push([s[i],e.Props[s[i]]]);if(e.Custprops)for(s=ze(e.Custprops),i=0;i<s.length;++i)Object.prototype.hasOwnProperty.call(e.Props||{},s[i])||(Object.prototype.hasOwnProperty.call(f,s[i])?r:Object.prototype.hasOwnProperty.call(o,s[i])?a:n).push([s[i],e.Custprops[s[i]]]);var c=[];for(i=0;i<n.length;++i)Kn.indexOf(n[i][0])>-1||Gn.indexOf(n[i][0])>-1||n[i][1]!=null&&c.push(n[i]);a.length&&we.utils.cfb_add(t,\"/\u0005SummaryInformation\",K0(a,Oa.SI,o,V0)),(r.length||c.length)&&we.utils.cfb_add(t,\"/\u0005DocumentSummaryInformation\",K0(r,Oa.DSI,f,H0,c.length?c:null,Oa.UDI))}function Xh(e,t){var r=t||{},a=we.utils.cfb_new({root:\"R\"}),n=\"/Workbook\";switch(r.bookType||\"xls\"){case\"xls\":r.bookType=\"biff8\";case\"xla\":r.bookType||(r.bookType=\"xla\");case\"biff8\":n=\"/Workbook\",r.biff=8;break;case\"biff5\":n=\"/Book\",r.biff=5;break;default:throw new Error(\"invalid type \"+r.bookType+\" for XLS CFB\")}return we.utils.cfb_add(a,n,Si(e,r)),r.biff==8&&(e.Props||e.Custprops)&&Vh(e,a),r.biff==8&&e.vbaraw&&so(a,we.read(e.vbaraw,{type:typeof e.vbaraw==\"string\"?\"binary\":\"buffer\"})),a}var Gh={0:{f:Kl},1:{f:ru},2:{f:ku},3:{f:ou},4:{f:iu},5:{f:mu},6:{f:yu},7:{f:xu},8:{f:Nu},9:{f:Ru},10:{f:Ou},11:{f:Iu},12:{f:au},13:{f:Tu},14:{f:uu},15:{f:fu},16:{f:_u},17:{f:Cu},18:{f:vu},19:{f:qa},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:gh},40:{},42:{},43:{f:Fc},44:{f:Tc},45:{f:Cc},46:{f:Oc},47:{f:Dc},48:{},49:{f:rf},50:{},51:{f:\\$c},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:ac},62:{f:Fu},63:{f:Zc},64:{f:Yu},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:Tr,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:zu},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:Ql},148:{f:Jl,p:16},151:{f:Uu},152:{},153:{f:ph},154:{},155:{},156:{f:dh},157:{},158:{},159:{T:1,f:xc},160:{T:-1},161:{T:1,f:Qr},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:bu},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:Gc},336:{T:-1},337:{f:Yc,T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:Pa},357:{},358:{},359:{},360:{T:1},361:{},362:{f:qf},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:Wu},427:{f:Hu},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:Xu},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:Zl},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:Bu},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:Pa},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:ao},633:{T:1},634:{T:-1},635:{T:1,f:ro},636:{T:-1},637:{f:sf},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:ch},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:Ju},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:\"\"}};function Y(e,t,r,a){var n=t;if(!isNaN(n)){var i=a||(r||[]).length||0,s=e.next(4);s.write_shift(2,n),s.write_shift(2,i),i>0&&ja(r)&&e.push(r)}}function zh(e,t,r,a){var n=a||(r||[]).length||0;if(n<=8224)return Y(e,t,r,n);var i=t;if(!isNaN(i)){for(var s=r.parts||[],f=0,o=0,c=0;c+(s[f]||8224)<=8224;)c+=s[f]||8224,f++;var l=e.next(4);for(l.write_shift(2,i),l.write_shift(2,c),e.push(r.slice(o,o+c)),o+=c;o<n;){for(l=e.next(4),l.write_shift(2,60),c=0;c+(s[f]||8224)<=8224;)c+=s[f]||8224,f++;l.write_shift(2,c),e.push(r.slice(o,o+c)),o+=c}}}function Ut(e,t,r){return e||(e=b(7)),e.write_shift(2,t),e.write_shift(2,r),e.write_shift(2,0),e.write_shift(1,0),e}function \\$h(e,t,r,a){var n=b(9);return Ut(n,e,t),Yn(r,a||\"b\",n),n}function Kh(e,t,r){var a=b(8+2*r.length);return Ut(a,e,t),a.write_shift(1,r.length),a.write_shift(r.length,r,\"sbcs\"),a.l<a.length?a.slice(0,a.l):a}function jh(e,t,r,a){if(t.v!=null)switch(t.t){case\"d\":case\"n\":var n=t.t==\"d\"?tr(qe(t.v)):t.v;n==(n|0)&&n>=0&&n<65536?Y(e,2,fc(r,a,n)):Y(e,3,sc(r,a,n));return;case\"b\":case\"e\":Y(e,5,\\$h(r,a,t.v,t.t));return;case\"s\":case\"str\":Y(e,4,Kh(r,a,(t.v||\"\").slice(0,255)));return}Y(e,1,Ut(null,r,a))}function Yh(e,t,r,a){var n=Array.isArray(t),i=Te(t[\"!ref\"]||\"A1\"),s,f=\"\",o=[];if(i.e.c>255||i.e.r>16383){if(a.WTF)throw new Error(\"Range \"+(t[\"!ref\"]||\"A1\")+\" exceeds format limit A1:IV16384\");i.e.c=Math.min(i.e.c,255),i.e.r=Math.min(i.e.c,16383),s=De(i)}for(var c=i.s.r;c<=i.e.r;++c){f=Ge(c);for(var l=i.s.c;l<=i.e.c;++l){c===i.s.r&&(o[l]=\\$e(l)),s=o[l]+f;var v=n?(t[c]||[])[l]:t[s];v&&jh(e,v,c,l,a)}}}function Jh(e,t){var r=t||{};Er!=null&&r.dense==null&&(r.dense=Er);for(var a=rr(),n=0,i=0;i<e.SheetNames.length;++i)e.SheetNames[i]==r.sheet&&(n=i);if(n==0&&r.sheet&&e.SheetNames[0]!=r.sheet)throw new Error(\"Sheet not found: \"+r.sheet);return Y(a,r.biff==4?1033:r.biff==3?521:9,e0(e,16,r)),Yh(a,e.Sheets[e.SheetNames[n]],n,r,e),Y(a,10),a.end()}function qh(e,t,r){Y(e,49,Xf({sz:12,color:{theme:1},name:\"Arial\",family:2,scheme:\"minor\"},r))}function Zh(e,t,r){t&&[[5,8],[23,26],[41,44],[50,392]].forEach(function(a){for(var n=a[0];n<=a[1];++n)t[n]!=null&&Y(e,1054,\\$f(n,t[n],r))})}function Qh(e,t){var r=b(19);r.write_shift(4,2151),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(2,3),r.write_shift(1,1),r.write_shift(4,0),Y(e,2151,r),r=b(39),r.write_shift(4,2152),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(2,3),r.write_shift(1,0),r.write_shift(4,0),r.write_shift(2,1),r.write_shift(4,4),r.write_shift(2,0),Zn(Te(t[\"!ref\"]||\"A1\"),r),r.write_shift(4,4),Y(e,2152,r)}function e1(e,t){for(var r=0;r<16;++r)Y(e,224,Y0({numFmtId:0,style:!0},0,t));t.cellXfs.forEach(function(a){Y(e,224,Y0(a,0,t))})}function r1(e,t){for(var r=0;r<t[\"!links\"].length;++r){var a=t[\"!links\"][r];Y(e,440,ec(a)),a[1].Tooltip&&Y(e,2048,rc(a))}delete t[\"!links\"]}function t1(e,t){if(t){var r=0;t.forEach(function(a,n){++r<=256&&a&&Y(e,125,nc(ga(n,a),n))})}}function a1(e,t,r,a,n){var i=16+Ur(n.cellXfs,t,n);if(t.v==null&&!t.bf){Y(e,513,jr(r,a,i));return}if(t.bf)Y(e,6,Al(t,r,a,n,i));else switch(t.t){case\"d\":case\"n\":var s=t.t==\"d\"?tr(qe(t.v)):t.v;Y(e,515,Jf(r,a,s,i,n));break;case\"b\":case\"e\":Y(e,517,Yf(r,a,t.v,i,n,t.t));break;case\"s\":case\"str\":if(n.bookSST){var f=i0(n.Strings,t.v,n.revStrings);Y(e,253,Gf(r,a,f,i,n))}else Y(e,516,zf(r,a,(t.v||\"\").slice(0,255),i,n));break;default:Y(e,513,jr(r,a,i))}}function n1(e,t,r){var a=rr(),n=r.SheetNames[e],i=r.Sheets[n]||{},s=(r||{}).Workbook||{},f=(s.Sheets||[])[e]||{},o=Array.isArray(i),c=t.biff==8,l,v=\"\",h=[],d=Te(i[\"!ref\"]||\"A1\"),_=c?65536:16384;if(d.e.c>255||d.e.r>=_){if(t.WTF)throw new Error(\"Range \"+(i[\"!ref\"]||\"A1\")+\" exceeds format limit A1:IV16384\");d.e.c=Math.min(d.e.c,255),d.e.r=Math.min(d.e.c,_-1)}Y(a,2057,e0(r,16,t)),Y(a,13,ur(1)),Y(a,12,ur(100)),Y(a,15,Je(!0)),Y(a,17,Je(!1)),Y(a,16,Kr(.001)),Y(a,95,Je(!0)),Y(a,42,Je(!1)),Y(a,43,Je(!1)),Y(a,130,ur(1)),Y(a,128,jf([0,0])),Y(a,131,Je(!1)),Y(a,132,Je(!1)),c&&t1(a,i[\"!cols\"]),Y(a,512,Kf(d,t)),c&&(i[\"!links\"]=[]);for(var u=d.s.r;u<=d.e.r;++u){v=Ge(u);for(var g=d.s.c;g<=d.e.c;++g){u===d.s.r&&(h[g]=\\$e(g)),l=h[g]+v;var y=o?(i[u]||[])[g]:i[l];y&&(a1(a,y,u,g,t),c&&y.l&&i[\"!links\"].push([l,y.l]))}}var C=f.CodeName||f.name||n;return c&&Y(a,574,Vf((s.Views||[])[0])),c&&(i[\"!merges\"]||[]).length&&Y(a,229,Qf(i[\"!merges\"])),c&&r1(a,i),Y(a,442,qn(C,t)),c&&Qh(a,i),Y(a,10),a.end()}function i1(e,t,r){var a=rr(),n=(e||{}).Workbook||{},i=n.Sheets||[],s=n.WBProps||{},f=r.biff==8,o=r.biff==5;if(Y(a,2057,e0(e,5,r)),r.bookType==\"xla\"&&Y(a,135),Y(a,225,f?ur(1200):null),Y(a,193,Df(2)),o&&Y(a,191),o&&Y(a,192),Y(a,226),Y(a,92,Mf(\"SheetJS\",r)),Y(a,66,ur(f?1200:1252)),f&&Y(a,353,ur(0)),f&&Y(a,448),Y(a,317,ic(e.SheetNames.length)),f&&e.vbaraw&&Y(a,211),f&&e.vbaraw){var c=s.CodeName||\"ThisWorkbook\";Y(a,442,qn(c,r))}Y(a,156,ur(17)),Y(a,25,Je(!1)),Y(a,18,Je(!1)),Y(a,19,ur(0)),f&&Y(a,431,Je(!1)),f&&Y(a,444,ur(0)),Y(a,61,Hf(r)),Y(a,64,Je(!1)),Y(a,141,ur(0)),Y(a,34,Je(lh(e)==\"true\")),Y(a,14,Je(!0)),f&&Y(a,439,Je(!1)),Y(a,218,ur(0)),qh(a,e,r),Zh(a,e.SSF,r),e1(a,r),f&&Y(a,352,Je(!1));var l=a.end(),v=rr();f&&Y(v,140,tc()),f&&r.Strings&&zh(v,252,Wf(r.Strings,r)),Y(v,10);var h=v.end(),d=rr(),_=0,u=0;for(u=0;u<e.SheetNames.length;++u)_+=(f?12:11)+(f?2:1)*e.SheetNames[u].length;var g=l.length+_+h.length;for(u=0;u<e.SheetNames.length;++u){var y=i[u]||{};Y(d,133,Uf({pos:g,hs:y.Hidden||0,dt:0,name:e.SheetNames[u]},r)),g+=t[u].length}var C=d.end();if(_!=C.length)throw new Error(\"BS8 \"+_+\" != \"+C.length);var D=[];return l.length&&D.push(l),C.length&&D.push(C),h.length&&D.push(h),Ve(D)}function s1(e,t){var r=t||{},a=[];e&&!e.SSF&&(e.SSF=ar(ye)),e&&e.SSF&&(ha(),ua(e.SSF),r.revssf=xa(e.SSF),r.revssf[e.SSF[65535]]=0,r.ssf=e.SSF),r.Strings=[],r.Strings.Count=0,r.Strings.Unique=0,s0(r),r.cellXfs=[],Ur(r.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={});for(var n=0;n<e.SheetNames.length;++n)a[a.length]=n1(n,r,e);return a.unshift(i1(e,a,r)),Ve(a)}function Si(e,t){for(var r=0;r<=e.SheetNames.length;++r){var a=e.Sheets[e.SheetNames[r]];if(!(!a||!a[\"!ref\"])){var n=cr(a[\"!ref\"]);n.e.c>255&&typeof console<\"u\"&&console.error&&console.error(\"Worksheet '\"+e.SheetNames[r]+\"' extends beyond column IV (255). Data may be lost.\")}}var i=t||{};switch(i.biff||2){case 8:case 5:return s1(e,t);case 4:case 3:case 2:return Jh(e,t)}throw new Error(\"invalid type \"+i.bookType+\" for BIFF\")}function f1(e,t,r,a){for(var n=e[\"!merges\"]||[],i=[],s=t.s.c;s<=t.e.c;++s){for(var f=0,o=0,c=0;c<n.length;++c)if(!(n[c].s.r>r||n[c].s.c>s)&&!(n[c].e.r<r||n[c].e.c<s)){if(n[c].s.r<r||n[c].s.c<s){f=-1;break}f=n[c].e.r-n[c].s.r+1,o=n[c].e.c-n[c].s.c+1;break}if(!(f<0)){var l=ge({r,c:s}),v=a.dense?(e[r]||[])[s]:e[l],h=v&&v.v!=null&&(v.h||Ps(v.w||(Ir(v),v.w)||\"\"))||\"\",d={};f>1&&(d.rowspan=f),o>1&&(d.colspan=o),a.editable?h='<span contenteditable=\"true\">'+h+\"</span>\":v&&(d[\"data-t\"]=v&&v.t||\"z\",v.v!=null&&(d[\"data-v\"]=v.v),v.z!=null&&(d[\"data-z\"]=v.z),v.l&&(v.l.Target||\"#\").charAt(0)!=\"#\"&&(h='<a href=\"'+v.l.Target+'\">'+h+\"</a>\")),d.id=(a.id||\"sjs\")+\"-\"+l,i.push(j(\"td\",h,d))}}var _=\"<tr>\";return _+i.join(\"\")+\"</tr>\"}var c1='<html><head><meta charset=\"utf-8\"/><title>SheetJS Table Export</title></head><body>',o1=\"</body></html>\";function l1(e,t,r){var a=[];return a.join(\"\")+\"<table\"+(r&&r.id?' id=\"'+r.id+'\"':\"\")+\">\"}function Fi(e,t){var r=t||{},a=r.header!=null?r.header:c1,n=r.footer!=null?r.footer:o1,i=[a],s=cr(e[\"!ref\"]);r.dense=Array.isArray(e),i.push(l1(e,s,r));for(var f=s.s.r;f<=s.e.r;++f)i.push(f1(e,s,f,r));return i.push(\"</table>\"+n),i.join(\"\")}function yi(e,t,r){var a=r||{};Er!=null&&(a.dense=Er);var n=0,i=0;if(a.origin!=null)if(typeof a.origin==\"number\")n=a.origin;else{var s=typeof a.origin==\"string\"?Le(a.origin):a.origin;n=s.r,i=s.c}var f=t.getElementsByTagName(\"tr\"),o=Math.min(a.sheetRows||1e7,f.length),c={s:{r:0,c:0},e:{r:n,c:i}};if(e[\"!ref\"]){var l=cr(e[\"!ref\"]);c.s.r=Math.min(c.s.r,l.s.r),c.s.c=Math.min(c.s.c,l.s.c),c.e.r=Math.max(c.e.r,l.e.r),c.e.c=Math.max(c.e.c,l.e.c),n==-1&&(c.e.r=n=l.e.r+1)}var v=[],h=0,d=e[\"!rows\"]||(e[\"!rows\"]=[]),_=0,u=0,g=0,y=0,C=0,D=0;for(e[\"!cols\"]||(e[\"!cols\"]=[]);_<f.length&&u<o;++_){var B=f[_];if(tn(B)){if(a.display)continue;d[u]={hidden:!0}}var G=B.children;for(g=y=0;g<G.length;++g){var te=G[g];if(!(a.display&&tn(te))){var A=te.hasAttribute(\"data-v\")?te.getAttribute(\"data-v\"):te.hasAttribute(\"v\")?te.getAttribute(\"v\"):Us(te.innerHTML),W=te.getAttribute(\"data-z\")||te.getAttribute(\"z\");for(h=0;h<v.length;++h){var L=v[h];L.s.c==y+i&&L.s.r<u+n&&u+n<=L.e.r&&(y=L.e.c+1-i,h=-1)}D=+te.getAttribute(\"colspan\")||1,((C=+te.getAttribute(\"rowspan\")||1)>1||D>1)&&v.push({s:{r:u+n,c:y+i},e:{r:u+n+(C||1)-1,c:y+i+(D||1)-1}});var U={t:\"s\",v:A},X=te.getAttribute(\"data-t\")||te.getAttribute(\"t\")||\"\";A!=null&&(A.length==0?U.t=X||\"z\":a.raw||A.trim().length==0||X==\"s\"||(A===\"TRUE\"?U={t:\"b\",v:!0}:A===\"FALSE\"?U={t:\"b\",v:!1}:isNaN(Cr(A))?isNaN(It(A).getDate())||(U={t:\"d\",v:qe(A)},a.cellDates||(U={t:\"n\",v:tr(U.v)}),U.z=a.dateNF||ye[14]):U={t:\"n\",v:Cr(A)})),U.z===void 0&&W!=null&&(U.z=W);var z=\"\",ie=te.getElementsByTagName(\"A\");if(ie&&ie.length)for(var de=0;de<ie.length&&!(ie[de].hasAttribute(\"href\")&&(z=ie[de].getAttribute(\"href\"),z.charAt(0)!=\"#\"));++de);z&&z.charAt(0)!=\"#\"&&(U.l={Target:z}),a.dense?(e[u+n]||(e[u+n]=[]),e[u+n][y+i]=U):e[ge({c:y+i,r:u+n})]=U,c.e.c<y+i&&(c.e.c=y+i),y+=D}}++u}return v.length&&(e[\"!merges\"]=(e[\"!merges\"]||[]).concat(v)),c.e.r=Math.max(c.e.r,u-1+n),e[\"!ref\"]=De(c),u>=o&&(e[\"!fullref\"]=De((c.e.r=f.length-_+u-1+n,c))),e}function Ai(e,t){var r=t||{},a=r.dense?[]:{};return yi(a,e,t)}function u1(e,t){return Yr(Ai(e,t),t)}function tn(e){var t=\"\",r=h1(e);return r&&(t=r(e).getPropertyValue(\"display\")),t||(t=e.style&&e.style.display),t===\"none\"}function h1(e){return e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle==\"function\"?e.ownerDocument.defaultView.getComputedStyle:typeof getComputedStyle==\"function\"?getComputedStyle:null}var x1=(function(){var e=[\"<office:master-styles>\",'<style:master-page style:name=\"mp1\" style:page-layout-name=\"mp1\">',\"<style:header/>\",'<style:header-left style:display=\"false\"/>',\"<style:footer/>\",'<style:footer-left style:display=\"false\"/>',\"</style:master-page>\",\"</office:master-styles>\"].join(\"\"),t=\"<office:document-styles \"+Rt({\"xmlns:office\":\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\"xmlns:table\":\"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\"xmlns:style\":\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\"xmlns:text\":\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\"xmlns:draw\":\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\"xmlns:fo\":\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"xmlns:dc\":\"http://purl.org/dc/elements/1.1/\",\"xmlns:number\":\"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\"xmlns:svg\":\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\"xmlns:of\":\"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\"office:version\":\"1.2\"})+\">\"+e+\"</office:document-styles>\";return function(){return Oe+t}})(),an=(function(){var e=function(i){return me(i).replace(/ +/g,function(s){return'<text:s text:c=\"'+s.length+'\"/>'}).replace(/\\\\t/g,\"<text:tab/>\").replace(/\\\\n/g,\"</text:p><text:p>\").replace(/^ /,\"<text:s/>\").replace(/ \\$/,\"<text:s/>\")},t=\\` <table:table-cell />\n\\`,r=\\` <table:covered-table-cell/>\n\\`,a=function(i,s,f){var o=[];o.push(' <table:table table:name=\"'+me(s.SheetNames[f])+\\`\" table:style-name=\"ta1\">\n\\`);var c=0,l=0,v=cr(i[\"!ref\"]||\"A1\"),h=i[\"!merges\"]||[],d=0,_=Array.isArray(i);if(i[\"!cols\"])for(l=0;l<=v.e.c;++l)o.push(\" <table:table-column\"+(i[\"!cols\"][l]?' table:style-name=\"co'+i[\"!cols\"][l].ods+'\"':\"\")+\\`></table:table-column>\n\\`);var u=\"\",g=i[\"!rows\"]||[];for(c=0;c<v.s.r;++c)u=g[c]?' table:style-name=\"ro'+g[c].ods+'\"':\"\",o.push(\" <table:table-row\"+u+\\`></table:table-row>\n\\`);for(;c<=v.e.r;++c){for(u=g[c]?' table:style-name=\"ro'+g[c].ods+'\"':\"\",o.push(\" <table:table-row\"+u+\\`>\n\\`),l=0;l<v.s.c;++l)o.push(t);for(;l<=v.e.c;++l){var y=!1,C={},D=\"\";for(d=0;d!=h.length;++d)if(!(h[d].s.c>l)&&!(h[d].s.r>c)&&!(h[d].e.c<l)&&!(h[d].e.r<c)){(h[d].s.c!=l||h[d].s.r!=c)&&(y=!0),C[\"table:number-columns-spanned\"]=h[d].e.c-h[d].s.c+1,C[\"table:number-rows-spanned\"]=h[d].e.r-h[d].s.r+1;break}if(y){o.push(r);continue}var B=ge({r:c,c:l}),G=_?(i[c]||[])[l]:i[B];if(G&&G.f&&(C[\"table:formula\"]=me(Nl(G.f)),G.F&&G.F.slice(0,B.length)==B)){var te=cr(G.F);C[\"table:number-matrix-columns-spanned\"]=te.e.c-te.s.c+1,C[\"table:number-matrix-rows-spanned\"]=te.e.r-te.s.r+1}if(!G){o.push(t);continue}switch(G.t){case\"b\":D=G.v?\"TRUE\":\"FALSE\",C[\"office:value-type\"]=\"boolean\",C[\"office:boolean-value\"]=G.v?\"true\":\"false\";break;case\"n\":D=G.w||String(G.v||0),C[\"office:value-type\"]=\"float\",C[\"office:value\"]=G.v||0;break;case\"s\":case\"str\":D=G.v==null?\"\":G.v,C[\"office:value-type\"]=\"string\";break;case\"d\":D=G.w||qe(G.v).toISOString(),C[\"office:value-type\"]=\"date\",C[\"office:date-value\"]=qe(G.v).toISOString(),C[\"table:style-name\"]=\"ce1\";break;default:o.push(t);continue}var A=e(D);if(G.l&&G.l.Target){var W=G.l.Target;W=W.charAt(0)==\"#\"?\"#\"+bl(W.slice(1)):W,W.charAt(0)!=\"#\"&&!W.match(/^\\\\w+:/)&&(W=\"../\"+W),A=j(\"text:a\",A,{\"xlink:href\":W.replace(/&/g,\"&amp;\")})}o.push(\" \"+j(\"table:table-cell\",j(\"text:p\",A,{}),C)+\\`\n\\`)}o.push(\\` </table:table-row>\n\\`)}return o.push(\\` </table:table>\n\\`),o.join(\"\")},n=function(i,s){i.push(\\` <office:automatic-styles>\n\\`),i.push(\\` <number:date-style style:name=\"N37\" number:automatic-order=\"true\">\n\\`),i.push(\\` <number:month number:style=\"long\"/>\n\\`),i.push(\\` <number:text>/</number:text>\n\\`),i.push(\\` <number:day number:style=\"long\"/>\n\\`),i.push(\\` <number:text>/</number:text>\n\\`),i.push(\\` <number:year/>\n\\`),i.push(\\` </number:date-style>\n\\`);var f=0;s.SheetNames.map(function(c){return s.Sheets[c]}).forEach(function(c){if(c&&c[\"!cols\"]){for(var l=0;l<c[\"!cols\"].length;++l)if(c[\"!cols\"][l]){var v=c[\"!cols\"][l];if(v.width==null&&v.wpx==null&&v.wch==null)continue;r0(v),v.ods=f;var h=c[\"!cols\"][l].wpx+\"px\";i.push(' <style:style style:name=\"co'+f+\\`\" style:family=\"table-column\">\n\\`),i.push(' <style:table-column-properties fo:break-before=\"auto\" style:column-width=\"'+h+\\`\"/>\n\\`),i.push(\\` </style:style>\n\\`),++f}}});var o=0;s.SheetNames.map(function(c){return s.Sheets[c]}).forEach(function(c){if(c&&c[\"!rows\"]){for(var l=0;l<c[\"!rows\"].length;++l)if(c[\"!rows\"][l]){c[\"!rows\"][l].ods=o;var v=c[\"!rows\"][l].hpx+\"px\";i.push(' <style:style style:name=\"ro'+o+\\`\" style:family=\"table-row\">\n\\`),i.push(' <style:table-row-properties fo:break-before=\"auto\" style:row-height=\"'+v+\\`\"/>\n\\`),i.push(\\` </style:style>\n\\`),++o}}}),i.push(\\` <style:style style:name=\"ta1\" style:family=\"table\" style:master-page-name=\"mp1\">\n\\`),i.push(\\` <style:table-properties table:display=\"true\" style:writing-mode=\"lr-tb\"/>\n\\`),i.push(\\` </style:style>\n\\`),i.push(\\` <style:style style:name=\"ce1\" style:family=\"table-cell\" style:parent-style-name=\"Default\" style:data-style-name=\"N37\"/>\n\\`),i.push(\\` </office:automatic-styles>\n\\`)};return function(s,f){var o=[Oe],c=Rt({\"xmlns:office\":\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\"xmlns:table\":\"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\"xmlns:style\":\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\"xmlns:text\":\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\"xmlns:draw\":\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\"xmlns:fo\":\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"xmlns:dc\":\"http://purl.org/dc/elements/1.1/\",\"xmlns:meta\":\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\"xmlns:number\":\"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\"xmlns:presentation\":\"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\"xmlns:svg\":\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\"xmlns:chart\":\"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\"xmlns:dr3d\":\"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\"xmlns:math\":\"http://www.w3.org/1998/Math/MathML\",\"xmlns:form\":\"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\"xmlns:script\":\"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\"xmlns:ooo\":\"http://openoffice.org/2004/office\",\"xmlns:ooow\":\"http://openoffice.org/2004/writer\",\"xmlns:oooc\":\"http://openoffice.org/2004/calc\",\"xmlns:dom\":\"http://www.w3.org/2001/xml-events\",\"xmlns:xforms\":\"http://www.w3.org/2002/xforms\",\"xmlns:xsd\":\"http://www.w3.org/2001/XMLSchema\",\"xmlns:xsi\":\"http://www.w3.org/2001/XMLSchema-instance\",\"xmlns:sheet\":\"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\"xmlns:rpt\":\"http://openoffice.org/2005/report\",\"xmlns:of\":\"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\"xmlns:xhtml\":\"http://www.w3.org/1999/xhtml\",\"xmlns:grddl\":\"http://www.w3.org/2003/g/data-view#\",\"xmlns:tableooo\":\"http://openoffice.org/2009/table\",\"xmlns:drawooo\":\"http://openoffice.org/2010/draw\",\"xmlns:calcext\":\"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\"xmlns:loext\":\"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\"xmlns:field\":\"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\"xmlns:formx\":\"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\"xmlns:css3t\":\"http://www.w3.org/TR/css3-text/\",\"office:version\":\"1.2\"}),l=Rt({\"xmlns:config\":\"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\"office:mimetype\":\"application/vnd.oasis.opendocument.spreadsheet\"});f.bookType==\"fods\"?(o.push(\"<office:document\"+c+l+\\`>\n\\`),o.push(Vn().replace(/office:document-meta/g,\"office:meta\"))):o.push(\"<office:document-content\"+c+\\`>\n\\`),n(o,s),o.push(\\` <office:body>\n\\`),o.push(\\` <office:spreadsheet>\n\\`);for(var v=0;v!=s.SheetNames.length;++v)o.push(a(s.Sheets[s.SheetNames[v]],s,v,f));return o.push(\\` </office:spreadsheet>\n\\`),o.push(\\` </office:body>\n\\`),f.bookType==\"fods\"?o.push(\"</office:document>\"):o.push(\"</office:document-content>\"),o.join(\"\")}})();function Ci(e,t){if(t.bookType==\"fods\")return an(e,t);var r=Wa(),a=\"\",n=[],i=[];return a=\"mimetype\",oe(r,a,\"application/vnd.oasis.opendocument.spreadsheet\"),a=\"content.xml\",oe(r,a,an(e,t)),n.push([a,\"text/xml\"]),i.push([a,\"ContentFile\"]),a=\"styles.xml\",oe(r,a,x1(e,t)),n.push([a,\"text/xml\"]),i.push([a,\"StylesFile\"]),a=\"meta.xml\",oe(r,a,Oe+Vn()),n.push([a,\"text/xml\"]),i.push([a,\"MetadataFile\"]),a=\"manifest.rdf\",oe(r,a,Sf(i)),n.push([a,\"application/rdf+xml\"]),a=\"META-INF/manifest.xml\",oe(r,a,Ef(n)),r}function ca(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function d1(e){return typeof TextEncoder<\"u\"?new TextEncoder().encode(e):pr(yr(e))}function v1(e,t){e:for(var r=0;r<=e.length-t.length;++r){for(var a=0;a<t.length;++a)if(e[r+a]!=t[a])continue e;return!0}return!1}function Mr(e){var t=e.reduce(function(n,i){return n+i.length},0),r=new Uint8Array(t),a=0;return e.forEach(function(n){r.set(n,a),a+=n.length}),r}function p1(e,t,r){var a=Math.floor(r==0?0:Math.LOG10E*Math.log(Math.abs(r)))+6176-20,n=r/Math.pow(10,a-6176);e[t+15]|=a>>7,e[t+14]|=(a&127)<<1;for(var i=0;n>=1;++i,n/=256)e[t+i]=n&255;e[t+15]|=r>=0?0:128}function Nt(e,t){var r=t?t[0]:0,a=e[r]&127;e:if(e[r++]>=128&&(a|=(e[r]&127)<<7,e[r++]<128||(a|=(e[r]&127)<<14,e[r++]<128)||(a|=(e[r]&127)<<21,e[r++]<128)||(a+=(e[r]&127)*Math.pow(2,28),++r,e[r++]<128)||(a+=(e[r]&127)*Math.pow(2,35),++r,e[r++]<128)||(a+=(e[r]&127)*Math.pow(2,42),++r,e[r++]<128)))break e;return t&&(t[0]=r),a}function ve(e){var t=new Uint8Array(7);t[0]=e&127;var r=1;e:if(e>127){if(t[r-1]|=128,t[r]=e>>7&127,++r,e<=16383||(t[r-1]|=128,t[r]=e>>14&127,++r,e<=2097151)||(t[r-1]|=128,t[r]=e>>21&127,++r,e<=268435455)||(t[r-1]|=128,t[r]=e/256>>>21&127,++r,e<=34359738367)||(t[r-1]|=128,t[r]=e/65536>>>21&127,++r,e<=4398046511103))break e;t[r-1]|=128,t[r]=e/16777216>>>21&127,++r}return t.slice(0,r)}function lt(e){var t=0,r=e[t]&127;e:if(e[t++]>=128){if(r|=(e[t]&127)<<7,e[t++]<128||(r|=(e[t]&127)<<14,e[t++]<128)||(r|=(e[t]&127)<<21,e[t++]<128))break e;r|=(e[t]&127)<<28}return r}function Ie(e){for(var t=[],r=[0];r[0]<e.length;){var a=r[0],n=Nt(e,r),i=n&7;n=Math.floor(n/8);var s=0,f;if(n==0)break;switch(i){case 0:{for(var o=r[0];e[r[0]++]>=128;);f=e.slice(o,r[0])}break;case 5:s=4,f=e.slice(r[0],r[0]+s),r[0]+=s;break;case 1:s=8,f=e.slice(r[0],r[0]+s),r[0]+=s;break;case 2:s=Nt(e,r),f=e.slice(r[0],r[0]+s),r[0]+=s;break;default:throw new Error(\"PB Type \".concat(i,\" for Field \").concat(n,\" at offset \").concat(a))}var c={data:f,type:i};t[n]==null?t[n]=[c]:t[n].push(c)}return t}function We(e){var t=[];return e.forEach(function(r,a){r.forEach(function(n){n.data&&(t.push(ve(a*8+n.type)),n.type==2&&t.push(ve(n.data.length)),t.push(n.data))})}),Mr(t)}function dr(e){for(var t,r=[],a=[0];a[0]<e.length;){var n=Nt(e,a),i=Ie(e.slice(a[0],a[0]+n));a[0]+=n;var s={id:lt(i[1][0].data),messages:[]};i[2].forEach(function(f){var o=Ie(f.data),c=lt(o[3][0].data);s.messages.push({meta:o,data:e.slice(a[0],a[0]+c)}),a[0]+=c}),(t=i[3])!=null&&t[0]&&(s.merge=lt(i[3][0].data)>>>0>0),r.push(s)}return r}function tt(e){var t=[];return e.forEach(function(r){var a=[];a[1]=[{data:ve(r.id),type:0}],a[2]=[],r.merge!=null&&(a[3]=[{data:ve(+!!r.merge),type:0}]);var n=[];r.messages.forEach(function(s){n.push(s.data),s.meta[3]=[{type:0,data:ve(s.data.length)}],a[2].push({data:We(s.meta),type:2})});var i=We(a);t.push(ve(i.length)),t.push(i),n.forEach(function(s){return t.push(s)})}),Mr(t)}function m1(e,t){if(e!=0)throw new Error(\"Unexpected Snappy chunk type \".concat(e));for(var r=[0],a=Nt(t,r),n=[];r[0]<t.length;){var i=t[r[0]]&3;if(i==0){var s=t[r[0]++]>>2;if(s<60)++s;else{var f=s-59;s=t[r[0]],f>1&&(s|=t[r[0]+1]<<8),f>2&&(s|=t[r[0]+2]<<16),f>3&&(s|=t[r[0]+3]<<24),s>>>=0,s++,r[0]+=f}n.push(t.slice(r[0],r[0]+s)),r[0]+=s;continue}else{var o=0,c=0;if(i==1?(c=(t[r[0]]>>2&7)+4,o=(t[r[0]++]&224)<<3,o|=t[r[0]++]):(c=(t[r[0]++]>>2)+1,i==2?(o=t[r[0]]|t[r[0]+1]<<8,r[0]+=2):(o=(t[r[0]]|t[r[0]+1]<<8|t[r[0]+2]<<16|t[r[0]+3]<<24)>>>0,r[0]+=4)),n=[Mr(n)],o==0)throw new Error(\"Invalid offset 0\");if(o>n[0].length)throw new Error(\"Invalid offset beyond length\");if(c>=o)for(n.push(n[0].slice(-o)),c-=o;c>=n[n.length-1].length;)n.push(n[n.length-1]),c-=n[n.length-1].length;n.push(n[0].slice(-o,-o+c))}}var l=Mr(n);if(l.length!=a)throw new Error(\"Unexpected length: \".concat(l.length,\" != \").concat(a));return l}function vr(e){for(var t=[],r=0;r<e.length;){var a=e[r++],n=e[r]|e[r+1]<<8|e[r+2]<<16;r+=3,t.push(m1(a,e.slice(r,r+n))),r+=n}if(r!==e.length)throw new Error(\"data is not a valid framed stream!\");return Mr(t)}function at(e){for(var t=[],r=0;r<e.length;){var a=Math.min(e.length-r,268435455),n=new Uint8Array(4);t.push(n);var i=ve(a),s=i.length;t.push(i),a<=60?(s++,t.push(new Uint8Array([a-1<<2]))):a<=256?(s+=2,t.push(new Uint8Array([240,a-1&255]))):a<=65536?(s+=3,t.push(new Uint8Array([244,a-1&255,a-1>>8&255]))):a<=16777216?(s+=4,t.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))):a<=4294967296&&(s+=5,t.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))),t.push(e.slice(r,r+a)),s+=a,n[0]=0,n[1]=s&255,n[2]=s>>8&255,n[3]=s>>16&255,r+=a}return Mr(t)}function Ia(e,t){var r=new Uint8Array(32),a=ca(r),n=12,i=0;switch(r[0]=5,e.t){case\"n\":r[1]=2,p1(r,n,e.v),i|=1,n+=16;break;case\"b\":r[1]=6,a.setFloat64(n,e.v?1:0,!0),i|=2,n+=8;break;case\"s\":if(t.indexOf(e.v)==-1)throw new Error(\"Value \".concat(e.v,\" missing from SST!\"));r[1]=3,a.setUint32(n,t.indexOf(e.v),!0),i|=8,n+=4;break;default:throw\"unsupported cell type \"+e.t}return a.setUint32(8,i,!0),r.slice(0,n)}function Ra(e,t){var r=new Uint8Array(32),a=ca(r),n=12,i=0;switch(r[0]=3,e.t){case\"n\":r[2]=2,a.setFloat64(n,e.v,!0),i|=32,n+=8;break;case\"b\":r[2]=6,a.setFloat64(n,e.v?1:0,!0),i|=32,n+=8;break;case\"s\":if(t.indexOf(e.v)==-1)throw new Error(\"Value \".concat(e.v,\" missing from SST!\"));r[2]=3,a.setUint32(n,t.indexOf(e.v),!0),i|=16,n+=4;break;default:throw\"unsupported cell type \"+e.t}return a.setUint32(4,i,!0),r.slice(0,n)}function Nr(e){var t=Ie(e);return Nt(t[1][0].data)}function g1(e,t,r){var a,n,i,s;if(!((a=e[6])!=null&&a[0])||!((n=e[7])!=null&&n[0]))throw\"Mutation only works on post-BNC storages!\";var f=((s=(i=e[8])==null?void 0:i[0])==null?void 0:s.data)&&lt(e[8][0].data)>0||!1;if(f)throw\"Math only works with normal offsets\";for(var o=0,c=ca(e[7][0].data),l=0,v=[],h=ca(e[4][0].data),d=0,_=[],u=0;u<t.length;++u){if(t[u]==null){c.setUint16(u*2,65535,!0),h.setUint16(u*2,65535);continue}c.setUint16(u*2,l,!0),h.setUint16(u*2,d,!0);var g,y;switch(typeof t[u]){case\"string\":g=Ia({t:\"s\",v:t[u]},r),y=Ra({t:\"s\",v:t[u]},r);break;case\"number\":g=Ia({t:\"n\",v:t[u]},r),y=Ra({t:\"n\",v:t[u]},r);break;case\"boolean\":g=Ia({t:\"b\",v:t[u]},r),y=Ra({t:\"b\",v:t[u]},r);break;default:throw new Error(\"Unsupported value \"+t[u])}v.push(g),l+=g.length,_.push(y),d+=y.length,++o}for(e[2][0].data=ve(o);u<e[7][0].data.length/2;++u)c.setUint16(u*2,65535,!0),h.setUint16(u*2,65535,!0);return e[6][0].data=Mr(v),e[3][0].data=Mr(_),o}function _1(e,t){if(!t||!t.numbers)throw new Error(\"Must pass a \\`numbers\\` option -- check the README\");var r=e.Sheets[e.SheetNames[0]];e.SheetNames.length>1&&console.error(\"The Numbers writer currently writes only the first table\");var a=cr(r[\"!ref\"]);a.s.r=a.s.c=0;var n=!1;a.e.c>9&&(n=!0,a.e.c=9),a.e.r>49&&(n=!0,a.e.r=49),n&&console.error(\"The Numbers writer is currently limited to \".concat(De(a)));var i=oa(r,{range:a,header:1}),s=[\"~Sh33tJ5~\"];i.forEach(function(F){return F.forEach(function(S){typeof S==\"string\"&&s.push(S)})});var f={},o=[],c=we.read(t.numbers,{type:\"base64\"});c.FileIndex.map(function(F,S){return[F,c.FullPaths[S]]}).forEach(function(F){var S=F[0],V=F[1];if(S.type==2&&S.name.match(/\\\\.iwa/)){var ne=S.content,fe=vr(ne),ee=dr(fe);ee.forEach(function(Z){o.push(Z.id),f[Z.id]={deps:[],location:V,type:lt(Z.messages[0].meta[1][0].data)}})}}),o.sort(function(F,S){return F-S});var l=o.filter(function(F){return F>1}).map(function(F){return[F,ve(F)]});c.FileIndex.map(function(F,S){return[F,c.FullPaths[S]]}).forEach(function(F){var S=F[0],V=F[1];if(S.name.match(/\\\\.iwa/)){var ne=dr(vr(S.content));ne.forEach(function(fe){fe.messages.forEach(function(ee){l.forEach(function(Z){fe.messages.some(function(_e){return lt(_e.meta[1][0].data)!=11006&&v1(_e.data,Z[1])})&&f[Z[0]].deps.push(fe.id)})})})}});function v(){for(var F=927262;F<2e6;++F)if(!f[F])return F;throw new Error(\"Too many messages\")}for(var h=we.find(c,f[1].location),d=dr(vr(h.content)),_,u=0;u<d.length;++u){var g=d[u];g.id==1&&(_=g)}var y=Nr(Ie(_.messages[0].data)[1][0].data);for(h=we.find(c,f[y].location),d=dr(vr(h.content)),u=0;u<d.length;++u)g=d[u],g.id==y&&(_=g);for(y=Nr(Ie(_.messages[0].data)[2][0].data),h=we.find(c,f[y].location),d=dr(vr(h.content)),u=0;u<d.length;++u)g=d[u],g.id==y&&(_=g);for(y=Nr(Ie(_.messages[0].data)[2][0].data),h=we.find(c,f[y].location),d=dr(vr(h.content)),u=0;u<d.length;++u)g=d[u],g.id==y&&(_=g);var C=Ie(_.messages[0].data);{C[6][0].data=ve(a.e.r+1),C[7][0].data=ve(a.e.c+1);var D=Nr(C[46][0].data),B=we.find(c,f[D].location),G=dr(vr(B.content));{for(var te=0;te<G.length&&G[te].id!=D;++te);if(G[te].id!=D)throw\"Bad ColumnRowUIDMapArchive\";var A=Ie(G[te].messages[0].data);A[1]=[],A[2]=[],A[3]=[];for(var W=0;W<=a.e.c;++W){var L=[];L[1]=L[2]=[{type:0,data:ve(W+420690)}],A[1].push({type:2,data:We(L)}),A[2].push({type:0,data:ve(W)}),A[3].push({type:0,data:ve(W)})}A[4]=[],A[5]=[],A[6]=[];for(var U=0;U<=a.e.r;++U)L=[],L[1]=L[2]=[{type:0,data:ve(U+726270)}],A[4].push({type:2,data:We(L)}),A[5].push({type:0,data:ve(U)}),A[6].push({type:0,data:ve(U)});G[te].messages[0].data=We(A)}B.content=at(tt(G)),B.size=B.content.length,delete C[46];var X=Ie(C[4][0].data);{X[7][0].data=ve(a.e.r+1);var z=Ie(X[1][0].data),ie=Nr(z[2][0].data);B=we.find(c,f[ie].location),G=dr(vr(B.content));{if(G[0].id!=ie)throw\"Bad HeaderStorageBucket\";var de=Ie(G[0].messages[0].data);for(U=0;U<i.length;++U){var se=Ie(de[2][0].data);se[1][0].data=ve(U),se[4][0].data=ve(i[U].length),de[2][U]={type:de[2][0].type,data:We(se)}}G[0].messages[0].data=We(de)}B.content=at(tt(G)),B.size=B.content.length;var Re=Nr(X[2][0].data);B=we.find(c,f[Re].location),G=dr(vr(B.content));{if(G[0].id!=Re)throw\"Bad HeaderStorageBucket\";for(de=Ie(G[0].messages[0].data),W=0;W<=a.e.c;++W)se=Ie(de[2][0].data),se[1][0].data=ve(W),se[4][0].data=ve(a.e.r+1),de[2][W]={type:de[2][0].type,data:We(se)};G[0].messages[0].data=We(de)}B.content=at(tt(G)),B.size=B.content.length;var Ne=Nr(X[4][0].data);(function(){for(var F=we.find(c,f[Ne].location),S=dr(vr(F.content)),V,ne=0;ne<S.length;++ne){var fe=S[ne];fe.id==Ne&&(V=fe)}var ee=Ie(V.messages[0].data);{ee[3]=[];var Z=[];s.forEach(function(Ue,ue){Z[1]=[{type:0,data:ve(ue)}],Z[2]=[{type:0,data:ve(1)}],Z[3]=[{type:2,data:d1(Ue)}],ee[3].push({type:2,data:We(Z)})})}V.messages[0].data=We(ee);var _e=tt(S),le=at(_e);F.content=le,F.size=F.content.length})();var Ze=Ie(X[3][0].data);{var je=Ze[1][0];delete Ze[2];var Me=Ie(je.data);{var Qe=Nr(Me[2][0].data);(function(){for(var F=we.find(c,f[Qe].location),S=dr(vr(F.content)),V,ne=0;ne<S.length;++ne){var fe=S[ne];fe.id==Qe&&(V=fe)}var ee=Ie(V.messages[0].data);{delete ee[6],delete Ze[7];var Z=new Uint8Array(ee[5][0].data);ee[5]=[];for(var _e=0,le=0;le<=a.e.r;++le){var Ue=Ie(Z);_e+=g1(Ue,i[le],s),Ue[1][0].data=ve(le),ee[5].push({data:We(Ue),type:2})}ee[1]=[{type:0,data:ve(a.e.c+1)}],ee[2]=[{type:0,data:ve(a.e.r+1)}],ee[3]=[{type:0,data:ve(_e)}],ee[4]=[{type:0,data:ve(a.e.r+1)}]}V.messages[0].data=We(ee);var ue=tt(S),xr=at(ue);F.content=xr,F.size=F.content.length})()}je.data=We(Me)}X[3][0].data=We(Ze)}C[4][0].data=We(X)}_.messages[0].data=We(C);var T=tt(d),M=at(T);return h.content=M,h.size=h.content.length,c}function w1(e){return function(r){for(var a=0;a!=e.length;++a){var n=e[a];r[n[0]]===void 0&&(r[n[0]]=n[1]),n[2]===\"n\"&&(r[n[0]]=Number(r[n[0]]))}}}function s0(e){w1([[\"cellDates\",!1],[\"bookSST\",!1],[\"bookType\",\"xlsx\"],[\"compression\",!1],[\"WTF\",!1]])(e)}function k1(e,t){return t.bookType==\"ods\"?Ci(e,t):t.bookType==\"numbers\"?_1(e,t):t.bookType==\"xlsb\"?E1(e,t):T1(e,t)}function E1(e,t){it=1024,e&&!e.SSF&&(e.SSF=ar(ye)),e&&e.SSF&&(ha(),ua(e.SSF),t.revssf=xa(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF),t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0,At?t.revStrings=new Map:(t.revStrings={},t.revStrings.foo=[],delete t.revStrings.foo);var r=t.bookType==\"xlsb\"?\"bin\":\"xml\",a=li.indexOf(t.bookType)>-1,n=Un();s0(t=t||{});var i=Wa(),s=\"\",f=0;if(t.cellXfs=[],Ur(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),s=\"docProps/core.xml\",oe(i,s,Xn(e.Props,t)),n.coreprops.push(s),pe(t.rels,2,s,he.CORE_PROPS),s=\"docProps/app.xml\",!(e.Props&&e.Props.SheetNames))if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{for(var o=[],c=0;c<e.SheetNames.length;++c)(e.Workbook.Sheets[c]||{}).Hidden!=2&&o.push(e.SheetNames[c]);e.Props.SheetNames=o}for(e.Props.Worksheets=e.Props.SheetNames.length,oe(i,s,zn(e.Props,t)),n.extprops.push(s),pe(t.rels,3,s,he.EXT_PROPS),e.Custprops!==e.Props&&ze(e.Custprops||{}).length>0&&(s=\"docProps/custom.xml\",oe(i,s,\\$n(e.Custprops,t)),n.custprops.push(s),pe(t.rels,4,s,he.CUST_PROPS)),f=1;f<=e.SheetNames.length;++f){var l={\"!id\":{}},v=e.Sheets[e.SheetNames[f-1]],h=(v||{})[\"!type\"]||\"sheet\";if(s=\"xl/worksheets/sheet\"+f+\".\"+r,oe(i,s,Fh(f-1,s,t,e,l)),n.sheets.push(s),pe(t.wbrels,-1,\"worksheets/sheet\"+f+\".\"+r,he.WS[0]),v){var d=v[\"!comments\"],_=!1,u=\"\";d&&d.length>0&&(u=\"xl/comments\"+f+\".\"+r,oe(i,u,Ch(d,u,t)),n.comments.push(u),pe(l,-1,\"../comments\"+f+\".\"+r,he.CMNT),_=!0),v[\"!legacy\"]&&_&&oe(i,\"xl/drawings/vmlDrawing\"+f+\".vml\",ci(f,v[\"!comments\"])),delete v[\"!comments\"],delete v[\"!legacy\"]}l[\"!id\"].rId1&&oe(i,Hn(s),ct(l))}return t.Strings!=null&&t.Strings.length>0&&(s=\"xl/sharedStrings.\"+r,oe(i,s,Ah(t.Strings,s,t)),n.strs.push(s),pe(t.wbrels,-1,\"sharedStrings.\"+r,he.SST)),s=\"xl/workbook.\"+r,oe(i,s,Sh(e,s,t)),n.workbooks.push(s),pe(t.rels,1,s,he.WB),s=\"xl/theme/theme1.xml\",oe(i,s,si(e.Themes,t)),n.themes.push(s),pe(t.wbrels,-1,\"theme/theme1.xml\",he.THEME),s=\"xl/styles.\"+r,oe(i,s,yh(e,s,t)),n.styles.push(s),pe(t.wbrels,-1,\"styles.\"+r,he.STY),e.vbaraw&&a&&(s=\"xl/vbaProject.bin\",oe(i,s,e.vbaraw),n.vba.push(s),pe(t.wbrels,-1,\"vbaProject.bin\",he.VBA)),s=\"xl/metadata.\"+r,oe(i,s,Dh(s)),n.metadata.push(s),pe(t.wbrels,-1,\"metadata.\"+r,he.XLMETA),oe(i,\"[Content_Types].xml\",Wn(n,t)),oe(i,\"_rels/.rels\",ct(t.rels)),oe(i,\"xl/_rels/workbook.\"+r+\".rels\",ct(t.wbrels)),delete t.revssf,delete t.ssf,i}function T1(e,t){it=1024,e&&!e.SSF&&(e.SSF=ar(ye)),e&&e.SSF&&(ha(),ua(e.SSF),t.revssf=xa(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF),t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0,At?t.revStrings=new Map:(t.revStrings={},t.revStrings.foo=[],delete t.revStrings.foo);var r=\"xml\",a=li.indexOf(t.bookType)>-1,n=Un();s0(t=t||{});var i=Wa(),s=\"\",f=0;if(t.cellXfs=[],Ur(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),s=\"docProps/core.xml\",oe(i,s,Xn(e.Props,t)),n.coreprops.push(s),pe(t.rels,2,s,he.CORE_PROPS),s=\"docProps/app.xml\",!(e.Props&&e.Props.SheetNames))if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{for(var o=[],c=0;c<e.SheetNames.length;++c)(e.Workbook.Sheets[c]||{}).Hidden!=2&&o.push(e.SheetNames[c]);e.Props.SheetNames=o}e.Props.Worksheets=e.Props.SheetNames.length,oe(i,s,zn(e.Props,t)),n.extprops.push(s),pe(t.rels,3,s,he.EXT_PROPS),e.Custprops!==e.Props&&ze(e.Custprops||{}).length>0&&(s=\"docProps/custom.xml\",oe(i,s,\\$n(e.Custprops,t)),n.custprops.push(s),pe(t.rels,4,s,he.CUST_PROPS));var l=[\"SheetJ5\"];for(t.tcid=0,f=1;f<=e.SheetNames.length;++f){var v={\"!id\":{}},h=e.Sheets[e.SheetNames[f-1]],d=(h||{})[\"!type\"]||\"sheet\";if(s=\"xl/worksheets/sheet\"+f+\".\"+r,oe(i,s,_i(f-1,t,e,v)),n.sheets.push(s),pe(t.wbrels,-1,\"worksheets/sheet\"+f+\".\"+r,he.WS[0]),h){var _=h[\"!comments\"],u=!1,g=\"\";if(_&&_.length>0){var y=!1;_.forEach(function(C){C[1].forEach(function(D){D.T==!0&&(y=!0)})}),y&&(g=\"xl/threadedComments/threadedComment\"+f+\".\"+r,oe(i,g,Qc(_,l,t)),n.threadedcomments.push(g),pe(v,-1,\"../threadedComments/threadedComment\"+f+\".\"+r,he.TCMNT)),g=\"xl/comments\"+f+\".\"+r,oe(i,g,oi(_,t)),n.comments.push(g),pe(v,-1,\"../comments\"+f+\".\"+r,he.CMNT),u=!0}h[\"!legacy\"]&&u&&oe(i,\"xl/drawings/vmlDrawing\"+f+\".vml\",ci(f,h[\"!comments\"])),delete h[\"!comments\"],delete h[\"!legacy\"]}v[\"!id\"].rId1&&oe(i,Hn(s),ct(v))}return t.Strings!=null&&t.Strings.length>0&&(s=\"xl/sharedStrings.\"+r,oe(i,s,ei(t.Strings,t)),n.strs.push(s),pe(t.wbrels,-1,\"sharedStrings.\"+r,he.SST)),s=\"xl/workbook.\"+r,oe(i,s,Ei(e,t)),n.workbooks.push(s),pe(t.rels,1,s,he.WB),s=\"xl/theme/theme1.xml\",oe(i,s,si(e.Themes,t)),n.themes.push(s),pe(t.wbrels,-1,\"theme/theme1.xml\",he.THEME),s=\"xl/styles.\"+r,oe(i,s,ni(e,t)),n.styles.push(s),pe(t.wbrels,-1,\"styles.\"+r,he.STY),e.vbaraw&&a&&(s=\"xl/vbaProject.bin\",oe(i,s,e.vbaraw),n.vba.push(s),pe(t.wbrels,-1,\"vbaProject.bin\",he.VBA)),s=\"xl/metadata.\"+r,oe(i,s,fi()),n.metadata.push(s),pe(t.wbrels,-1,\"metadata.\"+r,he.XLMETA),l.length>1&&(s=\"xl/persons/person.xml\",oe(i,s,eo(l,t)),n.people.push(s),pe(t.wbrels,-1,\"persons/person.xml\",he.PEOPLE)),oe(i,\"[Content_Types].xml\",Wn(n,t)),oe(i,\"_rels/.rels\",ct(t.rels)),oe(i,\"xl/_rels/workbook.\"+r+\".rels\",ct(t.wbrels)),delete t.revssf,delete t.ssf,i}function S1(e,t){var r=\"\";switch((t||{}).type||\"base64\"){case\"buffer\":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case\"base64\":r=Or(e.slice(0,12));break;case\"binary\":r=e;break;case\"array\":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error(\"Unrecognized type \"+(t&&t.type||\"undefined\"))}return[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3),r.charCodeAt(4),r.charCodeAt(5),r.charCodeAt(6),r.charCodeAt(7)]}function Di(e,t){switch(t.type){case\"base64\":case\"binary\":break;case\"buffer\":case\"array\":t.type=\"\";break;case\"file\":return Lt(t.file,we.write(e,{type:xe?\"buffer\":\"\"}));case\"string\":throw new Error(\"'string' output type invalid for '\"+t.bookType+\"' files\");default:throw new Error(\"Unrecognized type \"+t.type)}return we.write(e,t)}function F1(e,t){var r=ar(t||{}),a=k1(e,r);return y1(a,r)}function y1(e,t){var r={},a=xe?\"nodebuffer\":typeof Uint8Array<\"u\"?\"array\":\"string\";if(t.compression&&(r.compression=\"DEFLATE\"),t.password)r.type=a;else switch(t.type){case\"base64\":r.type=\"base64\";break;case\"binary\":r.type=\"string\";break;case\"string\":throw new Error(\"'string' output type invalid for '\"+t.bookType+\"' files\");case\"buffer\":case\"file\":r.type=a;break;default:throw new Error(\"Unrecognized type \"+t.type)}var n=e.FullPaths?we.write(e,{fileType:\"zip\",type:{nodebuffer:\"buffer\",string:\"binary\"}[r.type]||r.type,compression:!!t.compression}):e.generate(r);if(typeof Deno<\"u\"&&typeof n==\"string\"){if(t.type==\"binary\"||t.type==\"base64\")return n;n=new Uint8Array(la(n))}return t.password&&typeof encrypt_agile<\"u\"?Di(encrypt_agile(n,t.password),t):t.type===\"file\"?Lt(t.file,n):t.type==\"string\"?Tt(n):n}function A1(e,t){var r=t||{},a=Xh(e,r);return Di(a,r)}function kr(e,t,r){r||(r=\"\");var a=r+e;switch(t.type){case\"base64\":return Ot(yr(a));case\"binary\":return yr(a);case\"string\":return e;case\"file\":return Lt(t.file,a,\"utf8\");case\"buffer\":return xe?Rr(a,\"utf8\"):typeof TextEncoder<\"u\"?new TextEncoder().encode(a):kr(a,{type:\"binary\"}).split(\"\").map(function(n){return n.charCodeAt(0)})}throw new Error(\"Unrecognized type \"+t.type)}function C1(e,t){switch(t.type){case\"base64\":return Ot(e);case\"binary\":return e;case\"string\":return e;case\"file\":return Lt(t.file,e,\"binary\");case\"buffer\":return xe?Rr(e,\"binary\"):e.split(\"\").map(function(r){return r.charCodeAt(0)})}throw new Error(\"Unrecognized type \"+t.type)}function Jt(e,t){switch(t.type){case\"string\":case\"base64\":case\"binary\":for(var r=\"\",a=0;a<e.length;++a)r+=String.fromCharCode(e[a]);return t.type==\"base64\"?Ot(r):t.type==\"string\"?Tt(r):r;case\"file\":return Lt(t.file,e);case\"buffer\":return e;default:throw new Error(\"Unrecognized type \"+t.type)}}function f0(e,t){Zi(),xh(e);var r=ar(t||{});if(r.cellStyles&&(r.cellNF=!0,r.sheetStubs=!0),r.type==\"array\"){r.type=\"binary\";var a=f0(e,r);return r.type=\"array\",la(a)}var n=0;if(r.sheet&&(typeof r.sheet==\"number\"?n=r.sheet:n=e.SheetNames.indexOf(r.sheet),!e.SheetNames[n]))throw new Error(\"Sheet not found: \"+r.sheet+\" : \"+typeof r.sheet);switch(r.bookType||\"xlsb\"){case\"xml\":case\"xlml\":return kr(Hh(e,r),r);case\"slk\":case\"sylk\":return kr(oc.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case\"htm\":case\"html\":return kr(Fi(e.Sheets[e.SheetNames[n]],r),r);case\"txt\":return C1(Oi(e.Sheets[e.SheetNames[n]],r),r);case\"csv\":return kr(c0(e.Sheets[e.SheetNames[n]],r),r,\"\\\\uFEFF\");case\"dif\":return kr(lc.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case\"dbf\":return Jt(cc.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case\"prn\":return kr(uc.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case\"rtf\":return kr(gc.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case\"eth\":return kr(Qn.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case\"fods\":return kr(Ci(e,r),r);case\"wk1\":return Jt(J0.sheet_to_wk1(e.Sheets[e.SheetNames[n]],r),r);case\"wk3\":return Jt(J0.book_to_wk3(e,r),r);case\"biff2\":r.biff||(r.biff=2);case\"biff3\":r.biff||(r.biff=3);case\"biff4\":return r.biff||(r.biff=4),Jt(Si(e,r),r);case\"biff5\":r.biff||(r.biff=5);case\"biff8\":case\"xla\":case\"xls\":return r.biff||(r.biff=8),A1(e,r);case\"xlsx\":case\"xlsm\":case\"xlam\":case\"xlsb\":case\"numbers\":case\"ods\":return F1(e,r);default:throw new Error(\"Unrecognized bookType |\"+r.bookType+\"|\")}}function D1(e,t,r,a,n,i,s,f){var o=Ge(r),c=f.defval,l=f.raw||!Object.prototype.hasOwnProperty.call(f,\"raw\"),v=!0,h=n===1?[]:{};if(n!==1)if(Object.defineProperty)try{Object.defineProperty(h,\"__rowNum__\",{value:r,enumerable:!1})}catch{h.__rowNum__=r}else h.__rowNum__=r;if(!s||e[r])for(var d=t.s.c;d<=t.e.c;++d){var _=s?e[r][d]:e[a[d]+o];if(_===void 0||_.t===void 0){if(c===void 0)continue;i[d]!=null&&(h[i[d]]=c);continue}var u=_.v;switch(_.t){case\"z\":if(u==null)break;continue;case\"e\":u=u==0?null:void 0;break;case\"s\":case\"d\":case\"b\":case\"n\":break;default:throw new Error(\"unrecognized type \"+_.t)}if(i[d]!=null){if(u==null)if(_.t==\"e\"&&u===null)h[i[d]]=null;else if(c!==void 0)h[i[d]]=c;else if(l&&u===null)h[i[d]]=null;else continue;else h[i[d]]=l&&(_.t!==\"n\"||_.t===\"n\"&&f.rawNumbers!==!1)?u:Ir(_,u,f);u!=null&&(v=!1)}}return{row:h,isempty:v}}function oa(e,t){if(e==null||e[\"!ref\"]==null)return[];var r={t:\"n\",v:0},a=0,n=1,i=[],s=0,f=\"\",o={s:{r:0,c:0},e:{r:0,c:0}},c=t||{},l=c.range!=null?c.range:e[\"!ref\"];switch(c.header===1?a=1:c.header===\"A\"?a=2:Array.isArray(c.header)?a=3:c.header==null&&(a=0),typeof l){case\"string\":o=Te(l);break;case\"number\":o=Te(e[\"!ref\"]),o.s.r=l;break;default:o=l}a>0&&(n=0);var v=Ge(o.s.r),h=[],d=[],_=0,u=0,g=Array.isArray(e),y=o.s.r,C=0,D={};g&&!e[y]&&(e[y]=[]);var B=c.skipHidden&&e[\"!cols\"]||[],G=c.skipHidden&&e[\"!rows\"]||[];for(C=o.s.c;C<=o.e.c;++C)if(!(B[C]||{}).hidden)switch(h[C]=\\$e(C),r=g?e[y][C]:e[h[C]+v],a){case 1:i[C]=C-o.s.c;break;case 2:i[C]=h[C];break;case 3:i[C]=c.header[C-o.s.c];break;default:if(r==null&&(r={w:\"__EMPTY\",t:\"s\"}),f=s=Ir(r,null,c),u=D[s]||0,!u)D[s]=1;else{do f=s+\"_\"+u++;while(D[f]);D[s]=u,D[f]=1}i[C]=f}for(y=o.s.r+n;y<=o.e.r;++y)if(!(G[y]||{}).hidden){var te=D1(e,o,y,h,a,i,g,c);(te.isempty===!1||(a===1?c.blankrows!==!1:c.blankrows))&&(d[_++]=te.row)}return d.length=_,d}var nn=/\"/g;function O1(e,t,r,a,n,i,s,f){for(var o=!0,c=[],l=\"\",v=Ge(r),h=t.s.c;h<=t.e.c;++h)if(a[h]){var d=f.dense?(e[r]||[])[h]:e[a[h]+v];if(d==null)l=\"\";else if(d.v!=null){o=!1,l=\"\"+(f.rawNumbers&&d.t==\"n\"?d.v:Ir(d,null,f));for(var _=0,u=0;_!==l.length;++_)if((u=l.charCodeAt(_))===n||u===i||u===34||f.forceQuotes){l='\"'+l.replace(nn,'\"\"')+'\"';break}l==\"ID\"&&(l='\"ID\"')}else d.f!=null&&!d.F?(o=!1,l=\"=\"+d.f,l.indexOf(\",\")>=0&&(l='\"'+l.replace(nn,'\"\"')+'\"')):l=\"\";c.push(l)}return f.blankrows===!1&&o?null:c.join(s)}function c0(e,t){var r=[],a=t??{};if(e==null||e[\"!ref\"]==null)return\"\";var n=Te(e[\"!ref\"]),i=a.FS!==void 0?a.FS:\",\",s=i.charCodeAt(0),f=a.RS!==void 0?a.RS:\\`\n\\`,o=f.charCodeAt(0),c=new RegExp((i==\"|\"?\"\\\\\\\\|\":i)+\"+\\$\"),l=\"\",v=[];a.dense=Array.isArray(e);for(var h=a.skipHidden&&e[\"!cols\"]||[],d=a.skipHidden&&e[\"!rows\"]||[],_=n.s.c;_<=n.e.c;++_)(h[_]||{}).hidden||(v[_]=\\$e(_));for(var u=0,g=n.s.r;g<=n.e.r;++g)(d[g]||{}).hidden||(l=O1(e,n,g,v,s,o,i,a),l!=null&&(a.strip&&(l=l.replace(c,\"\")),(l||a.blankrows!==!1)&&r.push((u++?f:\"\")+l)));return delete a.dense,r.join(\"\")}function Oi(e,t){t||(t={}),t.FS=\"\t\",t.RS=\\`\n\\`;var r=c0(e,t);if(typeof ke>\"u\"||t.type==\"string\")return r;var a=ke.utils.encode(1200,r,\"str\");return\"\\\\xFF\\\\xFE\"+a}function I1(e){var t=\"\",r,a=\"\";if(e==null||e[\"!ref\"]==null)return[];var n=Te(e[\"!ref\"]),i=\"\",s=[],f,o=[],c=Array.isArray(e);for(f=n.s.c;f<=n.e.c;++f)s[f]=\\$e(f);for(var l=n.s.r;l<=n.e.r;++l)for(i=Ge(l),f=n.s.c;f<=n.e.c;++f)if(t=s[f]+i,r=c?(e[l]||[])[f]:e[t],a=\"\",r!==void 0){if(r.F!=null){if(t=r.F,!r.f)continue;a=r.f,t.indexOf(\":\")==-1&&(t=t+\":\"+t)}if(r.f!=null)a=r.f;else{if(r.t==\"z\")continue;if(r.t==\"n\"&&r.v!=null)a=\"\"+r.v;else if(r.t==\"b\")a=r.v?\"TRUE\":\"FALSE\";else if(r.w!==void 0)a=\"'\"+r.w;else{if(r.v===void 0)continue;r.t==\"s\"?a=\"'\"+r.v:a=\"\"+r.v}}o[o.length]=t+\"=\"+a}return o}function Ii(e,t,r){var a=r||{},n=+!a.skipHeader,i=e||{},s=0,f=0;if(i&&a.origin!=null)if(typeof a.origin==\"number\")s=a.origin;else{var o=typeof a.origin==\"string\"?Le(a.origin):a.origin;s=o.r,f=o.c}var c,l={s:{c:0,r:0},e:{c:f,r:s+t.length-1+n}};if(i[\"!ref\"]){var v=Te(i[\"!ref\"]);l.e.c=Math.max(l.e.c,v.e.c),l.e.r=Math.max(l.e.r,v.e.r),s==-1&&(s=v.e.r+1,l.e.r=s+t.length-1+n)}else s==-1&&(s=0,l.e.r=t.length-1+n);var h=a.header||[],d=0;t.forEach(function(u,g){ze(u).forEach(function(y){(d=h.indexOf(y))==-1&&(h[d=h.length]=y);var C=u[y],D=\"z\",B=\"\",G=ge({c:f+d,r:s+g+n});c=bt(i,G),C&&typeof C==\"object\"&&!(C instanceof Date)?i[G]=C:(typeof C==\"number\"?D=\"n\":typeof C==\"boolean\"?D=\"b\":typeof C==\"string\"?D=\"s\":C instanceof Date?(D=\"d\",a.cellDates||(D=\"n\",C=tr(C)),B=a.dateNF||ye[14]):C===null&&a.nullError&&(D=\"e\",C=0),c?(c.t=D,c.v=C,delete c.w,delete c.R,B&&(c.z=B)):i[G]=c={t:D,v:C},B&&(c.z=B))})}),l.e.c=Math.max(l.e.c,f+h.length-1);var _=Ge(s);if(n)for(d=0;d<h.length;++d)i[\\$e(d+f)+_]={t:\"s\",v:h[d]};return i[\"!ref\"]=De(l),i}function R1(e,t){return Ii(null,e,t)}function bt(e,t,r){if(typeof t==\"string\"){if(Array.isArray(e)){var a=Le(t);return e[a.r]||(e[a.r]=[]),e[a.r][a.c]||(e[a.r][a.c]={t:\"z\"})}return e[t]||(e[t]={t:\"z\"})}return typeof t!=\"number\"?bt(e,ge(t)):bt(e,ge({r:t,c:r||0}))}function N1(e,t){if(typeof t==\"number\"){if(t>=0&&e.SheetNames.length>t)return t;throw new Error(\"Cannot find sheet # \"+t)}else if(typeof t==\"string\"){var r=e.SheetNames.indexOf(t);if(r>-1)return r;throw new Error(\"Cannot find sheet name |\"+t+\"|\")}else throw new Error(\"Cannot find sheet |\"+t+\"|\")}function b1(){return{SheetNames:[],Sheets:{}}}function P1(e,t,r,a){var n=1;if(!r)for(;n<=65535&&e.SheetNames.indexOf(r=\"Sheet\"+n)!=-1;++n,r=void 0);if(!r||e.SheetNames.length>=65535)throw new Error(\"Too many worksheets\");if(a&&e.SheetNames.indexOf(r)>=0){var i=r.match(/(^.*?)(\\\\d+)\\$/);n=i&&+i[2]||0;var s=i&&i[1]||r;for(++n;n<=65535&&e.SheetNames.indexOf(r=s+n)!=-1;++n);}if(ki(r),e.SheetNames.indexOf(r)>=0)throw new Error(\"Worksheet with name |\"+r+\"| already exists!\");return e.SheetNames.push(r),e.Sheets[r]=t,r}function L1(e,t,r){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var a=N1(e,t);switch(e.Workbook.Sheets[a]||(e.Workbook.Sheets[a]={}),r){case 0:case 1:case 2:break;default:throw new Error(\"Bad sheet visibility setting \"+r)}e.Workbook.Sheets[a].Hidden=r}function B1(e,t){return e.z=t,e}function Ri(e,t,r){return t?(e.l={Target:t},r&&(e.l.Tooltip=r)):delete e.l,e}function M1(e,t,r){return Ri(e,\"#\"+t,r)}function U1(e,t,r){e.c||(e.c=[]),e.c.push({t,a:r||\"SheetJS\"})}function W1(e,t,r,a){for(var n=typeof t!=\"string\"?t:Te(t),i=typeof t==\"string\"?t:De(t),s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var o=bt(e,s,f);o.t=\"n\",o.F=i,delete o.v,s==n.s.r&&f==n.s.c&&(o.f=r,a&&(o.D=!0))}return e}var _a={encode_col:\\$e,encode_row:Ge,encode_cell:ge,encode_range:De,decode_col:Ja,decode_row:Ya,split_cell:ef,decode_cell:Le,decode_range:cr,format_cell:Ir,sheet_add_aoa:Nn,sheet_add_json:Ii,sheet_add_dom:yi,aoa_to_sheet:vt,json_to_sheet:R1,table_to_sheet:Ai,table_to_book:u1,sheet_to_csv:c0,sheet_to_txt:Oi,sheet_to_json:oa,sheet_to_html:Fi,sheet_to_formulae:I1,sheet_to_row_object_array:oa,sheet_get_cell:bt,book_new:b1,book_append_sheet:P1,book_set_sheet_visibility:L1,cell_set_number_format:B1,cell_set_hyperlink:Ri,cell_set_internal_link:M1,cell_add_comment:U1,sheet_set_array_formula:W1,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};var V1=Ct.version;addEventListener(\"message\",({data:e})=>{let{action:t,columns:r,data:a,options:n}=e;if(t===\"START_EXPORT\"){console.log(\"Worker START_EXPORT with options:\",n);try{let i=n.includeHeaders!==!1,s=[],f=n.customHeaders;if(f&&Array.isArray(f))for(let h=0;h<f.length;h++)s.push(f[h]);if(i){let h=r.map(d=>d.headerName||d.field);s.push(h)}let o=(h,d)=>{if(h.type===\"group\"){let _=[],g=\\`\\${\" \".repeat(d)}\\${h.groupField}: \\${h.groupKey}\\`;if(r.forEach((y,C)=>{if(C===0)_.push(g);else{let D=\"\";h.data&&h.data[y.field]!==void 0&&h.data[y.field]!==null&&(D=h.data[y.field]),_.push(D)}}),s.push(_),h.children&&h.children.length>0)for(let y of h.children)o(y,d+1)}else if(h.type===\"group-footer\"){let _=[],u=\" \".repeat(d);r.forEach((g,y)=>{y===0?_.push(\\`\\${u}Total (\\${h.groupKey})\\`):_.push(h.data&&h.data[g.field]!=null?h.data[g.field]:\"\")}),s.push(_)}else{let _=r.map(u=>{if(h.data==null)return\"\";let g=h.data[u.field];return g??\"\"});s.push(_)}};for(let h=0;h<a.length;h++){let d=a[h];o(d,d.level||0)}let c=_a.aoa_to_sheet(s),l=_a.book_new();_a.book_append_sheet(l,c,\"Sheet1\");let v=f0(l,{bookType:\"xlsx\",type:\"array\"});postMessage({action:\"COMPLETE\",payload:{buffer:v,type:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"}})}catch(i){postMessage({action:\"ERROR\",error:i.message||\"Excel Export Failed\"})}}});})();\n/*! Bundled license information:\n\nxlsx/xlsx.mjs:\n (*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com *)\n\nxlsx/xlsx.mjs:\n (*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com *)\n*/\n`;\n","import { Injectable } from '@angular/core';\nimport { UltraGridColumn } from '../models/column.model';\nimport { ExcelExportOptions } from '../workers/excel.worker';\nimport { EXCEL_WORKER_CODE } from '../workers/generated/excel.worker.code';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExcelExportService {\n \n exportDataAsExcel(options: ExcelExportOptions, columns: UltraGridColumn[], data: any[]): Promise<void> {\n return new Promise((resolve, reject) => {\n if (typeof Worker === 'undefined') {\n console.warn('Excel Export is only supported in browser environments with web workers');\n return reject(new Error('Web Workers not supported'));\n }\n\n // Create worker from blob\n const blob = new Blob([EXCEL_WORKER_CODE], { type: 'application/javascript' });\n const workerUrl = URL.createObjectURL(blob);\n const worker = new Worker(workerUrl);\n\n worker.onmessage = ({ data: response }) => {\n if (response.action === 'COMPLETE') {\n const { buffer, type } = response.payload;\n // Provide the exact MIME type to trigger correct local OS association\n const exportBlob = new Blob([buffer], { type });\n this.downloadBlob(exportBlob, options.fileName || 'export.xlsx');\n \n worker.terminate();\n URL.revokeObjectURL(workerUrl);\n resolve();\n } else if (response.action === 'ERROR') {\n worker.terminate();\n URL.revokeObjectURL(workerUrl);\n reject(new Error(response.error));\n }\n };\n\n worker.onerror = (error) => {\n worker.terminate();\n URL.revokeObjectURL(workerUrl);\n reject(error);\n };\n\n // Start processing\n worker.postMessage({\n action: 'START_EXPORT',\n columns,\n data,\n options\n });\n });\n }\n\n private downloadBlob(blob: Blob, filename: string) {\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.download = filename;\n link.style.display = 'none';\n \n document.body.appendChild(link);\n link.click();\n \n setTimeout(() => {\n document.body.removeChild(link);\n URL.revokeObjectURL(link.href);\n }, 100);\n }\n}\n","import {\r\n Component, Input, Output, EventEmitter, ChangeDetectionStrategy,\r\n ViewEncapsulation, PLATFORM_ID, Inject, OnInit, OnDestroy, OnChanges, SimpleChanges,\r\n ChangeDetectorRef, NgZone, ViewChild, ElementRef\r\n} from '@angular/core';\r\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { Subject, BehaviorSubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ColumnConditionFilter } from '../../models/filter.model';\r\n\r\nimport { UltraGridColumn, ValueColumnModel } from '../../models/column.model';\r\nimport { UltraGridRow, UltraGridNode, UltraGridGroupNode } from '../../models/row.model';\r\nimport { UltraGridConfig } from '../../models/grid-config.model';\r\nimport { SORTING_WORKER_CODE } from '../../workers/generated/sorting.worker.code';\r\nimport { ServerDataSource, GetRowsParams } from '../../datasources/server-datasource.interface';\r\nimport { InfiniteScrollDataSource } from '../../datasources/infinite-scroll.datasource';\r\nimport { GridFlattenerService } from '../../core/grid-flattener.service';\r\nimport { ExcelExportService } from '../../services/excel-export.service';\r\nimport { ExcelExportOptions } from '../../workers/excel.worker';\r\n\r\nimport { HeaderComponent } from '../header/header.component';\r\nimport { RowComponent } from '../row/row.component';\r\nimport { PaginationComponent } from '../pagination/pagination.component';\r\nimport { HeaderMenuComponent } from '../header-menu/header-menu.component';\r\nimport { ChooseColumnsComponent } from '../choose-columns/choose-columns.component';\r\nimport { HeaderFilterComponent } from '../header-filter/header-filter.component';\r\nimport { SideBarComponent } from '../side-bar/side-bar.component';\r\n\r\n@Component({\r\n selector: 'bways-grid',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ScrollingModule,\r\n HeaderComponent,\r\n RowComponent,\r\n PaginationComponent,\r\n HeaderMenuComponent,\r\n ChooseColumnsComponent,\r\n HeaderFilterComponent,\r\n SideBarComponent\r\n ],\r\n template: `\r\n <div class=\"ug-wrapper\" [ngClass]=\"config.theme || 'ag-theme-alpine'\">\r\n \r\n <div class=\"ug-main\">\r\n <ug-header\r\n #headerComponent\r\n [columns]=\"visibleColumns\"\r\n [sortModel]=\"sortModel\"\r\n [isAllSelected]=\"isAllSelected\"\r\n (sortChanged)=\"onSortChanged($event)\"\r\n (columnsReordered)=\"onColumnsReordered($event)\"\r\n (columnResized)=\"onColumnResized($event)\"\r\n (headerCheckboxClicked)=\"onHeaderCheckboxClicked($event)\"\r\n (menuClicked)=\"onHeaderMenuClicked($event)\"\r\n (filterClicked)=\"onHeaderFilterClicked($event)\">\r\n </ug-header>\r\n\r\n <div class=\"ug-body\">\r\n <ng-container *ngIf=\"isBrowser; else ssrPlaceholder\">\r\n <cdk-virtual-scroll-viewport \r\n #viewport\r\n [itemSize]=\"rowHeight\" \r\n class=\"ug-viewport\"\r\n (scroll)=\"onViewportScroll()\">\r\n \r\n <ug-row\r\n *cdkVirtualFor=\"let row of _internalDataSource || renderedLocalData; let i = index; trackBy: trackByRowId\"\r\n [row]=\"row || getPlaceholderRow(i)\"\r\n [columns]=\"visibleColumns\"\r\n [rowHeight]=\"rowHeight\"\r\n [isExpanded]=\"isGroupExpanded(row!)\"\r\n [selectionVersion]=\"selectionVersion\"\r\n (groupToggled)=\"toggleGroup(row!.id.toString())\"\r\n (click)=\"onRowClicked(row)\">\r\n </ug-row>\r\n\r\n </cdk-virtual-scroll-viewport>\r\n </ng-container>\r\n\r\n <ng-template #ssrPlaceholder>\r\n <div class=\"ug-ssr-container\">\r\n <ug-row\r\n *ngFor=\"let row of ssrData; trackBy: trackByRowId\"\r\n [row]=\"row\"\r\n [columns]=\"visibleColumns\"\r\n [rowHeight]=\"rowHeight\"\r\n [selectionVersion]=\"selectionVersion\">\r\n </ug-row>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"ug-status-bar\" *ngIf=\"config.statusBar\">\r\n <span>Total Rows: {{ totalCount }}</span>\r\n <span style=\"margin-left: 16px;\">Selected: {{ selectedRowsCount }}</span>\r\n </div>\r\n\r\n <ug-pagination\r\n *ngIf=\"showPagination\"\r\n [totalCount]=\"totalCount\"\r\n [pageSize]=\"pageSize\"\r\n [currentPage]=\"currentPage\"\r\n (pageChanged)=\"onPageChanged($event)\"\r\n (pageSizeChanged)=\"onPageSizeChanged($event)\">\r\n </ug-pagination>\r\n </div>\r\n\r\n <ug-side-bar \r\n *ngIf=\"config.sideBar\" \r\n [columns]=\"columns\" \r\n [rowData]=\"rowData\"\r\n [activeFilters]=\"activeFilters\"\r\n [conditionFilters]=\"conditionFilters\"\r\n [groupModel]=\"groupModel\"\r\n [valuesModel]=\"valuesModel\"\r\n [pivotMode]=\"!!config.pivotMode\"\r\n [pivotColumns]=\"pivotColumns\"\r\n [savedReportNames]=\"savedReportNames\"\r\n (columnsUpdated)=\"onSideBarColumnsUpdated($event)\"\r\n (groupModelUpdated)=\"onSideBarGroupModelUpdated($event)\"\r\n (valuesModelUpdated)=\"onValuesModelUpdated($event)\"\r\n (pivotModeUpdated)=\"onSideBarPivotModeUpdated($event)\"\r\n (pivotModelUpdated)=\"onSideBarPivotModelUpdated($event)\"\r\n (exportExcelClicked)=\"exportExcel({ includeHeaders: true })\"\r\n (filterApplied)=\"onFilterApplied($event)\"\r\n (conditionFilterChanged)=\"onConditionFilterChanged($event)\"\r\n (clearAllFilters)=\"onClearAllFilters()\"\r\n (saveReportRequested)=\"handleSaveReport($event)\"\r\n (loadReportRequested)=\"handleLoadReport($event)\">\r\n </ug-side-bar>\r\n\r\n </div>\r\n\r\n <!-- Floating overlays rendered OUTSIDE .ug-wrapper to avoid backdrop-filter containing block -->\r\n <ug-header-menu\r\n [column]=\"activeMenuColumn\"\r\n [isOpen]=\"isMenuOpen\"\r\n [position]=\"menuPosition\"\r\n [groupModel]=\"groupModel\"\r\n (closeMenu)=\"onMenuClosed()\"\r\n (sort)=\"onMenuSort($event)\"\r\n (pin)=\"onMenuPin($event)\"\r\n (autosize)=\"onMenuAutosize($event)\"\r\n (group)=\"onMenuGroup($event)\"\r\n (chooseColumns)=\"onMenuChooseColumns()\">\r\n </ug-header-menu>\r\n\r\n <ug-header-filter\r\n [column]=\"activeFilterColumn\"\r\n [isOpen]=\"isFilterOpen\"\r\n [position]=\"filterPosition\"\r\n [uniqueValues]=\"activeFilterUniqueValues\"\r\n [activeFilterSet]=\"getFilterSetForColumn(activeFilterColumn?.field)\"\r\n (closeFilter)=\"onFilterClosed()\"\r\n (filterApplied)=\"onFilterApplied($event)\">\r\n </ug-header-filter>\r\n\r\n <div class=\"ug-cc-overlay-container\" *ngIf=\"isChooseColumnsOpen\" [style.top.px]=\"chooseColumnsPosition.y\" [style.left.px]=\"chooseColumnsPosition.x\">\r\n <ug-choose-columns \r\n [columns]=\"columns\" \r\n (columnsChanged)=\"onChooseColumnsUpdated($event)\"\r\n (closePanel)=\"isChooseColumnsOpen = false\">\r\n </ug-choose-columns>\r\n </div>\r\n `,\r\n styleUrls: ['./ultra-grid.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UltraGridComponent implements OnInit, OnDestroy, OnChanges {\r\n private _workerInitialized = false;\r\n\r\n @ViewChild('headerComponent', { read: ElementRef }) headerElement?: ElementRef;\r\n @ViewChild('viewport') viewport?: CdkVirtualScrollViewport;\r\n\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Input() rowData: any[] = [];\r\n @Input() serverDataSource?: ServerDataSource;\r\n @Input() config: UltraGridConfig = {\r\n rowHeight: 40,\r\n theme: 'ag-theme-alpine'\r\n };\r\n @Input() pagination: boolean = false;\r\n @Input() pageSize: number = 100;\r\n\r\n @Output() rowClicked = new EventEmitter<UltraGridRow>();\r\n @Output() sortChanged = new EventEmitter<{ field: string, direction: 'asc' | 'desc' | null }[]>();\r\n @Output() selectionChanged = new EventEmitter<any[]>();\r\n\r\n public getSelectedRows(): any[] {\r\n if (!this._mappedRowData) return [];\r\n return this._mappedRowData.filter(row => (row as any).selected).map(row => row.data);\r\n }\r\n\r\n isBrowser: boolean;\r\n\r\n visibleColumns: UltraGridColumn[] = [];\r\n sortModel: { field: string, direction: 'asc' | 'desc' }[] = [];\r\n @Input() groupModel: string[] = [];\r\n @Input() valuesModel: ValueColumnModel[] = [];\r\n @Input() pivotColumns: string[] = [];\r\n groupStateMap = new Map<string, boolean>();\r\n\r\n private _dynamicPivotColumns: UltraGridColumn[] = []; // Dynamic pillars for pivot mode\r\n private _userColumns: UltraGridColumn[] = []; // Backup of original columns\r\n private _isRebuildingColumns = false;\r\n\r\n _internalDataSource?: InfiniteScrollDataSource<UltraGridRow>;\r\n _localTreeData: UltraGridNode[] = [];\r\n _unpaginatedLocalData: UltraGridRow[] = [];\r\n _mappedRowData: UltraGridRow[] = []; // Cached array\r\n renderedLocalData: UltraGridRow[] = [];\r\n ssrData: UltraGridRow[] = [];\r\n\r\n totalCount = 0;\r\n currentPage = 1;\r\n selectionVersion = 0;\r\n\r\n isMenuOpen = false;\r\n activeMenuColumn?: UltraGridColumn;\r\n menuPosition = { x: 0, y: 0 };\r\n\r\n isFilterOpen = false;\r\n activeFilterColumn?: UltraGridColumn;\r\n filterPosition = { x: 0, y: 0 };\r\n activeFilterUniqueValues: any[] = [];\r\n\r\n // Tracks active filters per column: fieldName -> Set of checked values\r\n activeFilters: Map<string, Set<any>> = new Map();\r\n\r\n // Tracks condition-based filters per column\r\n conditionFilters: Map<string, ColumnConditionFilter> = new Map();\r\n\r\n isChooseColumnsOpen = false;\r\n chooseColumnsPosition = { x: 0, y: 0 };\r\n \r\n savedReportNames: string[] = [];\r\n\r\n private destroy$ = new Subject<void>();\r\n private sortingWorker?: Worker;\r\n private sortingWorkerUrl?: string;\r\n\r\n private _unflattenedTreeData: UltraGridNode[] = [];\r\n\r\n private hasCheckboxSelection = false;\r\n private hasHeaderCheckboxSelection = false;\r\n\r\n get rowHeight() { return this.config.rowHeight || 40; }\r\n get showPagination() { return this.pagination || !!this.serverDataSource; }\r\n\r\n constructor(\r\n @Inject(PLATFORM_ID) platformId: Object,\r\n private cdr: ChangeDetectorRef,\r\n private ngZone: NgZone,\r\n private flattener: GridFlattenerService,\r\n private excelExportService: ExcelExportService\r\n ) {\r\n this.isBrowser = isPlatformBrowser(platformId);\r\n this.initSortingWorker();\r\n }\r\n\r\n ngOnInit() {\r\n this.hasCheckboxSelection = this.columns.some(c => c.checkboxSelection);\r\n this.hasHeaderCheckboxSelection = this.columns.some(c => c.headerCheckboxSelection);\r\n this.updateVisibleColumns();\r\n\r\n if (this.serverDataSource && this.isBrowser) {\r\n if (!this.pagination) {\r\n this._internalDataSource = new InfiniteScrollDataSource<UltraGridRow>(\r\n this.wrapServerDataSource(this.serverDataSource),\r\n this.config.bufferSize || 200\r\n );\r\n } else {\r\n this.fetchServerPage(1);\r\n }\r\n }\r\n \r\n if (this.isBrowser) {\r\n this.loadSavedReportNames();\r\n }\r\n }\r\n\r\n get selectedRowsCount() {\r\n if (!this._mappedRowData) return 0;\r\n return this._mappedRowData.filter(row => (row as any).selected).length;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['rowData']) {\r\n this.totalCount = this.rowData.length;\r\n\r\n this._mappedRowData = this.rowData.map((data, index) => ({\r\n id: index,\r\n type: 'leaf',\r\n level: 0,\r\n data: data\r\n }));\r\n\r\n if (this.sortingWorker) {\r\n this.sortingWorker.postMessage({ action: 'INIT', rows: this._mappedRowData });\r\n }\r\n\r\n // We do not immediately `applyLocalData()` here anymore if we have a worker,\r\n // because INIT needs to finish first. If no worker, we apply directly.\r\n if (!this.sortingWorker) {\r\n this.applyLocalData();\r\n }\r\n\r\n if (!this.isBrowser) {\r\n this.ssrData = this.renderedLocalData.slice(0, 50);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n if (this.sortingWorker) {\r\n this.sortingWorker.terminate();\r\n }\r\n if (this.sortingWorkerUrl) {\r\n URL.revokeObjectURL(this.sortingWorkerUrl);\r\n }\r\n if (this._internalDataSource) {\r\n this._internalDataSource.disconnect();\r\n }\r\n }\r\n\r\n private initSortingWorker() {\r\n if (this.isBrowser && typeof Worker !== 'undefined') {\r\n try {\r\n // Initialize Worker from inline JavaScript string blob\r\n const blob = new Blob([SORTING_WORKER_CODE], { type: 'application/javascript' });\r\n this.sortingWorkerUrl = URL.createObjectURL(blob);\r\n this.sortingWorker = new Worker(this.sortingWorkerUrl);\r\n\r\n this.sortingWorker.onmessage = ({ data }) => {\r\n this.ngZone.run(() => {\r\n if (data && data.action === 'INIT_DONE') {\r\n this._workerInitialized = true;\r\n // Now that worker has cached the data, run the first execution\r\n this.applyLocalData();\r\n return;\r\n }\r\n\r\n const flatList = data.flatList;\r\n this._unpaginatedLocalData = flatList;\r\n\r\n const groupSelectionMap = new Map<string | number, boolean>();\r\n\r\n // If sort/group happened, the worker returns a new structural tree. Cache it.\r\n if (data.resultTree) {\r\n this._unflattenedTreeData = data.resultTree;\r\n }\r\n\r\n // If pivot mode returned new dynamic columns, update the grid structure\r\n if (data.pivotColumns) {\r\n this.handlePivotColumns(data.pivotColumns);\r\n }\r\n\r\n // Always hydrate the structural tree so group node checkmarks strictly persist across flatten events\r\n const hydrateTree = (nodes: UltraGridNode[]): boolean => {\r\n let allSelected = true;\r\n if (nodes.length === 0) allSelected = false;\r\n\r\n for (let i = 0; i < nodes.length; i++) {\r\n const node = nodes[i];\r\n if (node.type === 'leaf') {\r\n const cached = this._mappedRowData[node.id as number];\r\n if (cached) {\r\n node.data = cached.data;\r\n \r\n // Re-inject pivot fields lost during worker serialization\r\n if (this.config.pivotMode && data.pivotColumns && this.pivotColumns.length > 0 && typeof node.data === 'object' && node.data !== null) {\r\n const primaryPivot = this.pivotColumns[0];\r\n const rowPivotVal = String(node.data[primaryPivot]);\r\n const cols = data.pivotColumns;\r\n for (let j = 0; j < cols.length; j++) {\r\n const pCol = cols[j];\r\n if (String(pCol.pivotValue) === rowPivotVal) {\r\n node.data[pCol.field] = node.data[pCol.originalField];\r\n } else {\r\n node.data[pCol.field] = null;\r\n }\r\n }\r\n }\r\n\r\n (node as any).selected = cached.selected;\r\n if (!cached.selected) allSelected = false;\r\n } else {\r\n allSelected = false;\r\n }\r\n } else if (node.type === 'group' && (node as any).children) {\r\n const isGroupSelected = hydrateTree((node as any).children);\r\n (node as any).selected = isGroupSelected;\r\n groupSelectionMap.set(node.id, isGroupSelected);\r\n if (!isGroupSelected) allSelected = false;\r\n }\r\n }\r\n return allSelected;\r\n };\r\n\r\n if (this._unflattenedTreeData) {\r\n hydrateTree(this._unflattenedTreeData);\r\n }\r\n\r\n // Sync the flat list data payload and strictly enforce selection states\r\n for (let i = 0; i < flatList.length; i++) {\r\n const row = flatList[i];\r\n if (row.type === 'leaf') {\r\n const cached = this._mappedRowData[row.id as number];\r\n if (cached) {\r\n if (!row.data) row.data = cached.data;\r\n row.selected = cached.selected;\r\n }\r\n } else if (row.type === 'group') {\r\n row.selected = groupSelectionMap.has(row.id) ? groupSelectionMap.get(row.id) : (row.selected || false);\r\n }\r\n }\r\n\r\n this.totalCount = this._unpaginatedLocalData.length;\r\n this.updatePaginationForLocalData();\r\n this.cdr.markForCheck();\r\n });\r\n };\r\n } catch (e) {\r\n console.warn('Web worker initialization failed, falling back to local sorting', e);\r\n }\r\n }\r\n }\r\n\r\n private updateVisibleColumns() {\r\n // Source selection: \r\n // 1. If we have dynamic pivot results, use those as the base.\r\n // 2. Otherwise, use the standard columns input.\r\n let baseColumns = (this.config.pivotMode && this.pivotColumns.length > 0 && this._dynamicPivotColumns.length > 0)\r\n ? [...this._dynamicPivotColumns]\r\n : [...this.columns];\r\n\r\n // If grouping is active, we MUST HAVE an Auto Group Column at index 0\r\n if (this.groupModel.length > 0) {\r\n // Find or Create Auto Column\r\n let autoCol = baseColumns.find(c => c.field === 'ag-Grid-AutoColumn');\r\n \r\n // Dynamically set header name based on active group\r\n let groupHeaderName = 'Group';\r\n if (this.groupModel.length === 1) {\r\n const sourceCol = this.columns.find(c => c.field === this.groupModel[0]);\r\n if (sourceCol) {\r\n groupHeaderName = sourceCol.headerName || sourceCol.field;\r\n }\r\n } else if (this.groupModel.length > 1) {\r\n groupHeaderName = 'Groups';\r\n }\r\n\r\n if (!autoCol) {\r\n autoCol = {\r\n field: 'ag-Grid-AutoColumn',\r\n headerName: groupHeaderName,\r\n width: 250,\r\n pinned: 'left',\r\n checkboxSelection: this.hasCheckboxSelection,\r\n headerCheckboxSelection: this.hasHeaderCheckboxSelection\r\n };\r\n baseColumns.unshift(autoCol);\r\n } else {\r\n autoCol.headerName = groupHeaderName; // Ensure Name Updates dynamically\r\n // Ensure it's at the front and pinned\r\n const idx = baseColumns.indexOf(autoCol);\r\n baseColumns.splice(idx, 1);\r\n baseColumns.unshift(autoCol);\r\n autoCol.pinned = 'left';\r\n }\r\n }\r\n\r\n // Hide columns that are currently inside the group model so we don't display dual columns\r\n const temp = baseColumns.filter(c => !c.hide && (c.field === 'ag-Grid-AutoColumn' || !this.groupModel.includes(c.field)));\r\n const left = temp.filter(c => c.pinned === 'left');\r\n const right = temp.filter(c => c.pinned === 'right');\r\n const center = temp.filter(c => !c.pinned);\r\n\r\n let currLeft = 0;\r\n left.forEach(c => {\r\n c._leftOffset = currLeft;\r\n currLeft += (c.width || 200);\r\n });\r\n\r\n let currRight = 0;\r\n [...right].reverse().forEach(c => {\r\n c._rightOffset = currRight;\r\n currRight += (c.width || 200);\r\n });\r\n\r\n this.visibleColumns = [...left, ...center, ...right];\r\n\r\n // Ensure checkbox selection and header checkbox selection strictly stay on the first visible column \r\n // (which should be the Auto Group Column if grouping is active)\r\n if (this.visibleColumns.length > 0) {\r\n this.visibleColumns.forEach((c, index) => {\r\n if (c.field === 'ag-Grid-AutoColumn') {\r\n c.checkboxSelection = this.hasCheckboxSelection;\r\n c.headerCheckboxSelection = this.hasHeaderCheckboxSelection;\r\n } else {\r\n // If it's not the auto-column, and we ARE grouping, it shouldn't have checkboxes\r\n if (this.groupModel.length > 0) {\r\n c.checkboxSelection = false;\r\n c.headerCheckboxSelection = false;\r\n } else {\r\n // Normal mode: first column gets it\r\n c.checkboxSelection = index === 0 ? this.hasCheckboxSelection : false;\r\n c.headerCheckboxSelection = index === 0 ? this.hasHeaderCheckboxSelection : false;\r\n }\r\n }\r\n });\r\n }\r\n \r\n this.cdr.markForCheck();\r\n }\r\n\r\n private wrapServerDataSource(source: ServerDataSource): ServerDataSource<UltraGridRow> {\r\n return {\r\n getRows: (params: GetRowsParams) => {\r\n return source.getRows({ ...params, sortModel: this.sortModel }).pipe(\r\n map(res => ({\r\n ...res,\r\n rows: res.rows.map((r, i) => ({ id: i + params.startRow, type: 'leaf', level: 0, data: r }))\r\n }))\r\n );\r\n }\r\n };\r\n }\r\n\r\n applyLocalData() {\r\n if (!this.rowData) return;\r\n if (this.sortingWorker && !this._workerInitialized) return; // Wait for worker INIT_DONE\r\n\r\n let processed: UltraGridRow[] = this._mappedRowData;\r\n\r\n // Prepare Filter Model for Worker by converting Set to Array\r\n const filterModelObj: { [key: string]: any[] } = {};\r\n let hasFilter = false;\r\n if (this.activeFilters.size > 0) {\r\n hasFilter = true;\r\n for (const [field, selectedSet] of this.activeFilters.entries()) {\r\n filterModelObj[field] = Array.from(selectedSet);\r\n }\r\n }\r\n\r\n const hasSort = this.sortModel.length > 0;\r\n\r\n // Prepare State Map for Worker\r\n const stateMapObj: { [key: string]: boolean } = {};\r\n for (const [key, value] of this.groupStateMap.entries()) {\r\n stateMapObj[key] = value;\r\n }\r\n\r\n // Prepare Aggregations map: merge static aggFunc from column defs with dynamic valuesModel\r\n const aggregations: { [key: string]: string } = {};\r\n // Static aggFunc from column definitions\r\n for (const col of this.columns) {\r\n if (col.aggFunc) {\r\n aggregations[col.field] = col.aggFunc;\r\n }\r\n }\r\n // Dynamic values from Values panel\r\n if (this.valuesModel.length > 0) {\r\n for (const vCol of this.valuesModel) {\r\n if (!aggregations[vCol.field]) {\r\n aggregations[vCol.field] = vCol.aggFunc;\r\n }\r\n }\r\n } else {\r\n // Default: aggregate all numeric columns if Values panel is empty\r\n for (const col of this.columns) {\r\n if (!aggregations[col.field] && this.isNumericColumn(col.field)) {\r\n aggregations[col.field] = 'sum';\r\n }\r\n }\r\n }\r\n\r\n if (hasFilter || hasSort || this.groupModel.length > 0 || this.conditionFilters.size > 0) {\r\n if (this.sortingWorker) {\r\n this.sortingWorker.postMessage({\r\n action: 'EXECUTE',\r\n sortModel: this.sortModel,\r\n filterModel: hasFilter ? filterModelObj : null,\r\n conditionFilters: this.conditionFilters.size > 0 ? Object.fromEntries(this.conditionFilters) : null,\r\n groupModel: this.groupModel,\r\n groupStateMap: stateMapObj,\r\n aggregations: aggregations,\r\n groupIncludeFooter: !!this.config.groupIncludeFooter,\r\n pivotMode: !!this.config.pivotMode,\r\n pivotColumns: this.pivotColumns\r\n });\r\n return;\r\n } else {\r\n // Fallback to local filtering if Worker fails/unsupported\r\n if (hasFilter) {\r\n processed = processed.filter(row => {\r\n for (const [field, selectedSet] of this.activeFilters.entries()) {\r\n const cellValue = row.data ? row.data[field] : null;\r\n if (!selectedSet.has(cellValue)) return false;\r\n }\r\n return true;\r\n });\r\n }\r\n if (hasSort) {\r\n processed = this.sortLocal(processed);\r\n }\r\n }\r\n }\r\n\r\n this._localTreeData = processed;\r\n this.refreshFlattener();\r\n }\r\n\r\n refreshFlattener() {\r\n this._unpaginatedLocalData = this.flattener.flatten(this._localTreeData, this.groupStateMap, !!this.config.groupIncludeFooter) as UltraGridRow[];\r\n this.totalCount = this._unpaginatedLocalData.length;\r\n this.updatePaginationForLocalData();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n private isNumericColumn(field: string): boolean {\r\n // First, check if the field name or its corresponding column header suggests it's a date/time\r\n const lowerField = field.toLowerCase();\r\n const col = this.columns.find(c => c.field === field);\r\n const lowerHeader = col?.headerName?.toLowerCase() || '';\r\n\r\n // If field or header name contains date/time keywords, do not treat as numeric\r\n if (lowerField.includes('date') || lowerField.includes('time') || lowerField.includes('ata') ||\r\n lowerHeader.includes('date') || lowerHeader.includes('time') || lowerHeader.includes('ata')) {\r\n return false;\r\n }\r\n\r\n // Check up to the first 20 rows to determine if the column contains numeric data\r\n const rowsToCheck = Math.min(20, this._unpaginatedLocalData.length);\r\n if (rowsToCheck === 0) return false;\r\n\r\n let hasNumeric = false;\r\n\r\n for (let i = 0; i < Math.min(rowsToCheck, this._unpaginatedLocalData.length); i++) {\r\n const val = this._unpaginatedLocalData[i]?.data?.[field];\r\n if (val !== undefined && val !== null && val !== '') {\r\n const strVal = String(val).trim();\r\n // Reject if it contains alphabetic letters (e.g. \"User 1\" or \"101 USD\")\r\n if (/[a-zA-Z]/.test(strVal)) return false;\r\n\r\n // Robust numeric parsing: handle accounting format () and various minus signs\r\n let isNegative = strVal.startsWith('(') && strVal.endsWith(')');\r\n let cleanStr = strVal.replace(/[\\u2212\\u2013\\u2014]/g, '-');\r\n if (cleanStr.includes('-')) isNegative = true;\r\n cleanStr = cleanStr.replace(/[^0-9.]/g, '');\r\n\r\n const parsed = cleanStr ? Number(cleanStr) : NaN;\r\n if (!isNaN(parsed)) {\r\n hasNumeric = true;\r\n }\r\n }\r\n }\r\n return hasNumeric;\r\n }\r\n\r\n toggleGroup(groupId: string) {\r\n const isExpanded = this.groupStateMap.get(groupId);\r\n this.groupStateMap.set(groupId, !isExpanded);\r\n\r\n const stateObj = Object.fromEntries(this.groupStateMap);\r\n\r\n if (this.sortingWorker) {\r\n // High-performance path: only trigger flattening on the already-cached tree\r\n this.sortingWorker.postMessage({\r\n action: 'FLATTEN_ONLY',\r\n groupStateMap: stateObj,\r\n groupIncludeFooter: !!this.config.groupIncludeFooter\r\n });\r\n } else {\r\n // Fallback for non-worker mode\r\n this.refreshFlattener();\r\n }\r\n }\r\n\r\n isGroupExpanded(row: UltraGridRow): boolean {\r\n if (!row || row.type !== 'group') return false;\r\n return !!this.groupStateMap.get(row.id as string);\r\n }\r\n\r\n private sortLocal(rows: UltraGridRow[]): UltraGridRow[] {\r\n return [...rows].sort((a, b) => {\r\n for (const sort of this.sortModel) {\r\n const { field, direction } = sort;\r\n const valA = a.data ? a.data[field] : null;\r\n const valB = b.data ? b.data[field] : null;\r\n\r\n if (valA === valB) continue;\r\n\r\n const comparison = valA > valB ? 1 : -1;\r\n return direction === 'asc' ? comparison : -comparison;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n private updatePaginationForLocalData() {\r\n if (this.pagination && !this.serverDataSource) {\r\n const start = (this.currentPage - 1) * this.pageSize;\r\n const end = start + this.pageSize;\r\n this.renderedLocalData = this._unpaginatedLocalData.slice(start, end);\r\n } else if (!this.serverDataSource) {\r\n this.renderedLocalData = this._unpaginatedLocalData;\r\n }\r\n }\r\n\r\n fetchServerPage(page: number) {\r\n if (!this.serverDataSource) return;\r\n\r\n const startRow = (page - 1) * this.pageSize;\r\n const endRow = startRow + this.pageSize;\r\n\r\n this.serverDataSource.getRows({\r\n startRow,\r\n endRow,\r\n sortModel: this.sortModel\r\n }).subscribe(res => {\r\n this.totalCount = res.totalCount;\r\n this.renderedLocalData = res.rows.map((r, i) => ({ id: startRow + i, type: 'leaf', level: 0, data: r }));\r\n this.currentPage = page;\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n\r\n /**\r\n * Triggers a Web-Worker powered Excel export of the grid data.\r\n */\r\n public async exportExcel(options: ExcelExportOptions = {}): Promise<void> {\r\n const sourceColumns = this.visibleColumns;\r\n\r\n let exportData: any[] = [];\r\n\r\n // When grouped, _unpaginatedLocalData only has expanded visible nodes.\r\n // We use the full nested _unflattenedTreeData so the export worker can extract all nested rows recursively.\r\n exportData = this._unflattenedTreeData && this._unflattenedTreeData.length > 0\r\n ? this._unflattenedTreeData\r\n : this._unpaginatedLocalData;\r\n\r\n try {\r\n // Merge options from gridConfig if available\r\n const finalOptions: any = { ...options };\r\n if (this.config.excelExportOptions?.customHeaders) {\r\n finalOptions.customHeaders = this.config.excelExportOptions.customHeaders;\r\n }\r\n console.log('Final Export Options:', finalOptions);\r\n\r\n await this.excelExportService.exportDataAsExcel(finalOptions, sourceColumns, exportData);\r\n } catch (error) {\r\n console.error('UltraGrid Excel Export Failed:', error);\r\n }\r\n }\r\n\r\n onPageChanged(page: number) {\r\n if (this.serverDataSource && this.pagination) {\r\n this.fetchServerPage(page);\r\n } else {\r\n this.currentPage = page;\r\n this.applyLocalData();\r\n }\r\n }\r\n\r\n onSortChanged(event: { field: string, direction: 'asc' | 'desc' | null }) {\r\n if (this.config.multiSort) {\r\n const existingIdx = this.sortModel.findIndex(m => m.field === event.field);\r\n if (event.direction === null) {\r\n if (existingIdx >= 0) {\r\n this.sortModel = this.sortModel.filter(m => m.field !== event.field);\r\n }\r\n } else {\r\n if (existingIdx >= 0) {\r\n const newModel = [...this.sortModel];\r\n newModel[existingIdx] = { ...newModel[existingIdx], direction: event.direction };\r\n this.sortModel = newModel;\r\n } else {\r\n this.sortModel = [...this.sortModel, { field: event.field, direction: event.direction }];\r\n }\r\n }\r\n } else {\r\n if (event.direction === null) this.sortModel = [];\r\n else this.sortModel = [{ field: event.field, direction: event.direction }];\r\n }\r\n\r\n this.sortChanged.emit(this.sortModel);\r\n\r\n // Re-fetch or re-sort\r\n if (this.serverDataSource) {\r\n if (this._internalDataSource) {\r\n this._internalDataSource = new InfiniteScrollDataSource<UltraGridRow>(\r\n this.wrapServerDataSource(this.serverDataSource),\r\n this.config.bufferSize || 200\r\n );\r\n } else if (this.pagination) {\r\n this.fetchServerPage(1);\r\n }\r\n } else {\r\n this.applyLocalData();\r\n }\r\n }\r\n\r\n onColumnsReordered(cols: UltraGridColumn[]) {\r\n this.columns = cols;\r\n this.updateVisibleColumns();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onViewportScroll() {\r\n if (this.viewport && this.headerElement) {\r\n const scrollLeft = this.viewport.elementRef.nativeElement.scrollLeft;\r\n this.headerElement.nativeElement.scrollLeft = scrollLeft;\r\n }\r\n }\r\n\r\n onSideBarColumnsUpdated(cols: UltraGridColumn[]) {\r\n this.columns = cols;\r\n this.updateVisibleColumns();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onSideBarGroupModelUpdated(model: string[]) {\r\n this.groupModel = model;\r\n this.updateVisibleColumns();\r\n this.applyLocalData();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onColumnResized(event: { field: string, width: number }) {\r\n const col = this.columns.find(c => c.field === event.field);\r\n if (col) {\r\n col.width = event.width;\r\n this.updateVisibleColumns();\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n get isAllSelected(): boolean {\r\n const targetArray = this._unpaginatedLocalData;\r\n if (!targetArray || targetArray.length === 0) return false;\r\n return targetArray.every(r => r.selected);\r\n }\r\n\r\n onHeaderCheckboxClicked(selected: boolean) {\r\n // 1. Traverse the full unflattened tree to persist selection to ALL rows matching the filter\r\n const traverse = (nodes: UltraGridNode[]) => {\r\n for (const n of nodes) {\r\n (n as any).selected = selected;\r\n if (n.type === 'leaf' && this._mappedRowData[n.id as number]) {\r\n this._mappedRowData[n.id as number].selected = selected;\r\n } else if (n.type === 'group' && (n as any).children) {\r\n traverse((n as any).children);\r\n }\r\n }\r\n };\r\n traverse(this._unflattenedTreeData);\r\n\r\n // 2. Update the currently flattened array for instant UI update\r\n for (const row of this._unpaginatedLocalData) {\r\n row.selected = selected;\r\n }\r\n\r\n this.selectionVersion++;\r\n this.cdr.markForCheck();\r\n this.selectionChanged.emit(this.getSelectedRows());\r\n }\r\n\r\n onPageSizeChanged(size: number) {\r\n this.pageSize = size;\r\n this.currentPage = 1;\r\n if (this.serverDataSource && this.pagination) {\r\n this.fetchServerPage(1);\r\n } else {\r\n this.updatePaginationForLocalData();\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n private selectNodeAndChildren(nodeId: string | number, selected: boolean) {\r\n // Find the node in the unflattened tree using DFS\r\n const findNode = (nodes: UltraGridNode[], id: string | number): UltraGridNode | undefined => {\r\n for (const node of nodes) {\r\n if (node.id === id) return node;\r\n if (node.type === 'group' && (node as any).children) {\r\n const found = findNode((node as any).children, id);\r\n if (found) return found;\r\n }\r\n }\r\n return undefined;\r\n };\r\n\r\n const targetNode = findNode(this._unflattenedTreeData, nodeId);\r\n if (!targetNode) return;\r\n\r\n // Collect all leaf IDs under this node, and set group selections\r\n const leafIdsToUpdate = new Set<number>();\r\n const groupIdsToUpdate = new Set<string | number>();\r\n\r\n const traverse = (n: UltraGridNode) => {\r\n (n as any).selected = selected;\r\n if (n.type === 'leaf') {\r\n leafIdsToUpdate.add(n.id as number);\r\n if (this._mappedRowData[n.id as number]) {\r\n this._mappedRowData[n.id as number].selected = selected;\r\n }\r\n } else if (n.type === 'group' && (n as any).children) {\r\n groupIdsToUpdate.add(n.id);\r\n (n as any).children.forEach((child: UltraGridNode) => traverse(child));\r\n }\r\n };\r\n traverse(targetNode);\r\n\r\n // Update the flattened list in O(N) time so the UI reflects it instantly\r\n for (let i = 0; i < this._unpaginatedLocalData.length; i++) {\r\n const row = this._unpaginatedLocalData[i];\r\n if (row.type === 'leaf' && leafIdsToUpdate.has(row.id as number)) {\r\n row.selected = selected;\r\n } else if (row.type === 'group' && groupIdsToUpdate.has(row.id)) {\r\n row.selected = selected;\r\n }\r\n }\r\n }\r\n\r\n onRowClicked(row: UltraGridRow | undefined) {\r\n if (!row) return;\r\n\r\n let newSelectedState = true;\r\n\r\n if (this.config.rowSelection === 'single') {\r\n this._unpaginatedLocalData.forEach(r => r.selected = false);\r\n this._mappedRowData.forEach(r => { if (r) r.selected = false; });\r\n row.selected = true;\r\n if (row.type === 'leaf' && this._mappedRowData[row.id as number]) {\r\n this._mappedRowData[row.id as number].selected = true;\r\n }\r\n } else if (this.config.rowSelection === 'multiple') {\r\n newSelectedState = !row.selected;\r\n row.selected = newSelectedState;\r\n\r\n if (row.type === 'leaf' && this._mappedRowData[row.id as number]) {\r\n this._mappedRowData[row.id as number].selected = newSelectedState;\r\n } else if (row.type === 'group') {\r\n this.selectNodeAndChildren(row.id, newSelectedState);\r\n }\r\n }\r\n\r\n this.selectionVersion++;\r\n this.rowClicked.emit(row);\r\n this.cdr.markForCheck();\r\n this.selectionChanged.emit(this.getSelectedRows());\r\n }\r\n\r\n getPlaceholderRow(index: number): UltraGridRow {\r\n return {\r\n id: `placeholder-${index}`,\r\n type: 'leaf',\r\n level: 0,\r\n data: null\r\n };\r\n }\r\n\r\n trackByRowId(index: number, item: UltraGridRow | undefined): string | number {\r\n return item ? item.id : index;\r\n }\r\n\r\n onHeaderMenuClicked(event: { column: UltraGridColumn, event: MouseEvent }) {\r\n this.activeMenuColumn = event.column;\r\n let x = event.event.clientX;\r\n const y = event.event.clientY;\r\n const panelWidth = 250;\r\n if (typeof window !== 'undefined' && (x + panelWidth > window.innerWidth)) {\r\n x = Math.max(0, window.innerWidth - panelWidth - 20);\r\n }\r\n this.menuPosition = { x, y };\r\n this.isMenuOpen = true;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onMenuClosed() {\r\n this.isMenuOpen = false;\r\n this.activeMenuColumn = undefined;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onMenuSort(event: { field: string, direction: 'asc' | 'desc' }) {\r\n this.onSortChanged(event);\r\n }\r\n\r\n onMenuPin(event: { field: string, pinned: 'left' | 'right' | null }) {\r\n const col = this.columns.find(c => c.field === event.field);\r\n if (col) {\r\n col.pinned = event.pinned || undefined;\r\n this.updateVisibleColumns();\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n onMenuAutosize(event: { field: string, all: boolean }) {\r\n // Basic implementation: set width to 200px or calculate based on sampling\r\n // A complete implementation would measure Canvas TextMetrics\r\n if (event.all) {\r\n this.columns.forEach(c => c.width = 200);\r\n } else {\r\n const col = this.columns.find(c => c.field === event.field);\r\n if (col) col.width = 250;\r\n }\r\n this.updateVisibleColumns();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onMenuGroup(event: { field: string }) {\r\n if (!this.groupModel) {\r\n this.groupModel = [];\r\n }\r\n\r\n if (this.groupModel.includes(event.field)) {\r\n // Remove from grouping\r\n this.groupModel = this.groupModel.filter(f => f !== event.field);\r\n } else {\r\n // Add to grouping\r\n this.groupModel = [...this.groupModel, event.field];\r\n }\r\n\r\n this.updateVisibleColumns();\r\n this.applyLocalData();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onMenuChooseColumns() {\r\n this.isChooseColumnsOpen = true;\r\n // Position it slightly shifted from the menu icon\r\n let x = this.menuPosition.x + 20;\r\n const y = this.menuPosition.y + 20;\r\n const panelWidth = 250;\r\n if (typeof window !== 'undefined' && (x + panelWidth > window.innerWidth)) {\r\n x = Math.max(0, window.innerWidth - panelWidth - 20);\r\n }\r\n this.chooseColumnsPosition = { x, y };\r\n this.isMenuOpen = false;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onChooseColumnsUpdated(columns: UltraGridColumn[]) {\r\n this.columns = columns;\r\n this.updateVisibleColumns();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n // --- Filter logic ---\r\n\r\n getFilterSetForColumn(field?: string): Set<any> {\r\n if (!field) return new Set();\r\n return this.activeFilters.get(field) || new Set();\r\n }\r\n\r\n onHeaderFilterClicked(event: { column: UltraGridColumn, event: MouseEvent }) {\r\n this.activeFilterColumn = event.column;\r\n let x = event.event.clientX;\r\n const y = event.event.clientY;\r\n const panelWidth = 300;\r\n if (typeof window !== 'undefined' && (x + panelWidth > window.innerWidth)) {\r\n x = Math.max(0, window.innerWidth - panelWidth - 20);\r\n }\r\n this.filterPosition = { x, y };\r\n this.isFilterOpen = true;\r\n\r\n // Calculate unique values based on un-paginated / un-filtered raw data\r\n const uniqueSet = new Set<any>();\r\n this.rowData.forEach(row => {\r\n const val = row[event.column.field];\r\n uniqueSet.add(val);\r\n });\r\n\r\n // Convert to array and sort (keeping nulls/blanks separate logically)\r\n this.activeFilterUniqueValues = Array.from(uniqueSet).sort((a, b) => {\r\n if (a === null || a === undefined || a === '') return -1;\r\n if (b === null || b === undefined || b === '') return 1;\r\n return a > b ? 1 : -1;\r\n });\r\n\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onFilterClosed() {\r\n this.isFilterOpen = false;\r\n this.activeFilterColumn = undefined;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onFilterApplied(event: { field: string, selected: Set<any> }) {\r\n if (event.selected.size === 0) {\r\n // Empty filter means \"Clear Filter / Show All\"\r\n this.activeFilters.delete(event.field);\r\n } else {\r\n this.activeFilters.set(event.field, event.selected);\r\n }\r\n\r\n this.currentPage = 1; // Reset to page 1 on filter\r\n this.applyLocalData(); // Re-run pipeline (filter -> sort -> paginate)\r\n }\r\n\r\n onClearAllFilters() {\r\n this.activeFilters.clear();\r\n this.conditionFilters.clear();\r\n this.currentPage = 1;\r\n this.applyLocalData();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onConditionFilterChanged(event: { field: string, filter: ColumnConditionFilter | null }) {\r\n if (event.filter === null) {\r\n this.conditionFilters.delete(event.field);\r\n } else {\r\n this.conditionFilters.set(event.field, event.filter);\r\n }\r\n this.currentPage = 1;\r\n this.applyLocalData();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n private handlePivotColumns(dynamicPivotCols: any[]) {\r\n if (!this.config.pivotMode) {\r\n this._dynamicPivotColumns = [];\r\n return;\r\n }\r\n \r\n // Transform worker dynamic cols into UltraGridColumn definitions\r\n const newPivotCols: UltraGridColumn[] = dynamicPivotCols.map(dc => ({\r\n field: dc.field,\r\n headerName: dc.headerName,\r\n width: 150,\r\n sortable: true,\r\n aggFunc: dc.aggFunc,\r\n headerClass: 'ug-pivot-header'\r\n }));\r\n\r\n this._dynamicPivotColumns = newPivotCols;\r\n this.updateVisibleColumns();\r\n }\r\n\r\n onValuesModelUpdated(model: ValueColumnModel[]) {\r\n this.valuesModel = model;\r\n if (model.length === 0) {\r\n this._dynamicPivotColumns = [];\r\n this.updateVisibleColumns();\r\n }\r\n this.applyLocalData();\r\n }\r\n\r\n onSideBarPivotModelUpdated(model: string[]) {\r\n this.pivotColumns = model;\r\n if (model.length === 0) {\r\n this._dynamicPivotColumns = [];\r\n this.updateVisibleColumns();\r\n }\r\n this.applyLocalData();\r\n }\r\n\r\n onSideBarPivotModeUpdated(enabled: boolean) {\r\n this.config = { ...this.config, pivotMode: enabled };\r\n if (!enabled) {\r\n this._dynamicPivotColumns = [];\r\n this.updateVisibleColumns();\r\n }\r\n this.applyLocalData();\r\n }\r\n\r\n // --- Save / Import Filters natively to LocalStorage ---\r\n\r\n private loadSavedReportNames() {\r\n if (!this.isBrowser) return;\r\n try {\r\n const stored = localStorage.getItem('ug-saved-reports');\r\n if (stored) {\r\n const parsed = JSON.parse(stored);\r\n this.savedReportNames = Object.keys(parsed);\r\n this.cdr.markForCheck();\r\n }\r\n } catch(e) {}\r\n }\r\n\r\n handleSaveReport(reportName: string) {\r\n if (!reportName) return;\r\n\r\n const state: any = {\r\n activeFilters: {},\r\n conditionFilters: {}\r\n };\r\n\r\n // Convert Map<string, Set<any>> to Record<string, any[]>\r\n if (this.activeFilters.size > 0) {\r\n for (const [field, selectedSet] of this.activeFilters.entries()) {\r\n state.activeFilters[field] = Array.from(selectedSet);\r\n }\r\n }\r\n\r\n // Convert Map to Object\r\n if (this.conditionFilters.size > 0) {\r\n state.conditionFilters = Object.fromEntries(this.conditionFilters);\r\n }\r\n\r\n if (this.isBrowser) {\r\n try {\r\n const stored = localStorage.getItem('ug-saved-reports');\r\n const reports = stored ? JSON.parse(stored) : {};\r\n reports[reportName] = state;\r\n localStorage.setItem('ug-saved-reports', JSON.stringify(reports));\r\n this.loadSavedReportNames();\r\n console.log(`Report '${reportName}' saved successfully locally.`);\r\n } catch (err) {\r\n console.error('Failed to save report locally.', err);\r\n }\r\n }\r\n }\r\n\r\n handleLoadReport(reportName: string) {\r\n if (!reportName || !this.isBrowser) return;\r\n\r\n try {\r\n const stored = localStorage.getItem('ug-saved-reports');\r\n if (stored) {\r\n const reports = JSON.parse(stored);\r\n const data = reports[reportName];\r\n if (data) {\r\n this.applyImportedFilters(data);\r\n }\r\n }\r\n } catch (err) {\r\n console.error('Error loading report locally.', err);\r\n }\r\n }\r\n\r\n private applyImportedFilters(data: any) {\r\n if (!data) return;\r\n try {\r\n // Restore activeFilters (Record -> Map<string, Set>)\r\n // Important: We create a NEW Map instance to trigger Output/Input change detection\r\n const newActiveFilters = new Map<string, Set<any>>();\r\n if (data.activeFilters) {\r\n Object.keys(data.activeFilters).forEach(field => {\r\n newActiveFilters.set(field, new Set(data.activeFilters[field]));\r\n });\r\n }\r\n this.activeFilters = newActiveFilters;\r\n\r\n // Restore conditionFilters (Object -> Map)\r\n if (data.conditionFilters) {\r\n this.conditionFilters = new Map(Object.entries(data.conditionFilters));\r\n } else {\r\n this.conditionFilters = new Map();\r\n }\r\n\r\n // Refresh grid\r\n this.currentPage = 1;\r\n this.applyLocalData();\r\n this.cdr.markForCheck();\r\n console.log('Filters loaded and applied successfully.');\r\n } catch (err) {\r\n console.error('Error applying loaded filters:', err);\r\n alert('Error loading report. Please ensure local storage data is not corrupted.');\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { UltraGridComponent } from './components/ultra-grid/ultra-grid.component';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { RowComponent } from './components/row/row.component';\r\nimport { CellComponent } from './components/cell/cell.component';\r\nimport { PaginationComponent } from './components/pagination/pagination.component';\r\nimport { ColumnResizeDirective } from './directives/column-resize.directive';\r\nimport { SideBarComponent } from './components/side-bar/side-bar.component';\r\n\r\nconst COMPONENTS = [\r\n UltraGridComponent,\r\n HeaderComponent,\r\n RowComponent,\r\n CellComponent,\r\n PaginationComponent,\r\n ColumnResizeDirective\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n UltraGridComponent,\r\n HeaderComponent,\r\n RowComponent,\r\n CellComponent,\r\n PaginationComponent,\r\n ColumnResizeDirective,\r\n SideBarComponent\r\n ],\r\n exports: [\r\n UltraGridComponent,\r\n HeaderComponent,\r\n RowComponent,\r\n CellComponent,\r\n PaginationComponent,\r\n ColumnResizeDirective,\r\n SideBarComponent\r\n ]\r\n})\r\nexport class BwaysGridModule { }\r\n","/**\r\n * Condition-based filter model for AG Grid-style advanced filtering.\r\n * Each column can have up to 2 conditions joined by AND/OR.\r\n */\r\n\r\n// --- Text Filter Types ---\r\nexport type TextFilterType =\r\n | 'contains'\r\n | 'notContains'\r\n | 'equals'\r\n | 'notEqual'\r\n | 'startsWith'\r\n | 'endsWith'\r\n | 'blank'\r\n | 'notBlank';\r\n\r\n// --- Number Filter Types ---\r\nexport type NumberFilterType =\r\n | 'equals'\r\n | 'notEqual'\r\n | 'greaterThan'\r\n | 'greaterThanOrEqual'\r\n | 'lessThan'\r\n | 'lessThanOrEqual'\r\n | 'inRange'\r\n | 'blank'\r\n | 'notBlank';\r\n\r\nexport type FilterConditionType = TextFilterType | NumberFilterType;\r\n\r\nexport interface FilterCondition {\r\n type: FilterConditionType;\r\n value: string;\r\n valueTo?: string; // For 'inRange' only\r\n}\r\n\r\nexport type JoinOperator = 'AND' | 'OR';\r\n\r\nexport interface ColumnConditionFilter {\r\n condition1: FilterCondition;\r\n operator: JoinOperator;\r\n condition2?: FilterCondition;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\nexport type GridEventName = 'rowClicked' | 'columnResized' | 'sortChanged' | 'filterChanged' | 'selectionChanged';\r\n\r\nexport interface GridEvent {\r\n name: GridEventName;\r\n payload: any;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GridEngineService {\r\n private _eventBus = new Subject<GridEvent>();\r\n\r\n get events$(): Observable<GridEvent> {\r\n return this._eventBus.asObservable();\r\n }\r\n\r\n dispatch(name: GridEventName, payload: any) {\r\n this._eventBus.next({ name, payload });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ViewportManager {\r\n private _scrollTop = 0;\r\n private _viewportHeight = 600;\r\n private _rowHeight = 40;\r\n private _bufferSize = 20;\r\n\r\n get scrollTop(): number { return this._scrollTop; }\r\n set scrollTop(val: number) { this._scrollTop = val; }\r\n\r\n get viewportHeight(): number { return this._viewportHeight; }\r\n set viewportHeight(val: number) { this._viewportHeight = val; }\r\n\r\n get rowHeight(): number { return this._rowHeight; }\r\n set rowHeight(val: number) { this._rowHeight = val; }\r\n\r\n get bufferSize(): number { return this._bufferSize; }\r\n set bufferSize(val: number) { this._bufferSize = val; }\r\n\r\n getVisibleRange(): { start: number, end: number } {\r\n const startRowIndex = Math.floor(this._scrollTop / this._rowHeight);\r\n const endRowIndex = startRowIndex + Math.ceil(this._viewportHeight / this._rowHeight);\r\n\r\n const start = Math.max(0, startRowIndex - this._bufferSize);\r\n const end = endRowIndex + this._bufferSize;\r\n\r\n return { start, end };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UltraGridRow } from '../models/row.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RowCache {\r\n private _cache: WeakMap<any, UltraGridRow> = new WeakMap();\r\n\r\n getRow(data: any): UltraGridRow | undefined {\r\n return this._cache.get(data);\r\n }\r\n\r\n setRow(data: any, row: UltraGridRow): void {\r\n if (data) {\r\n this._cache.set(data, row);\r\n }\r\n }\r\n\r\n clear(): void {\r\n this._cache = new WeakMap();\r\n }\r\n}\r\n","/*\r\n * Public API Surface of bways-grid\r\n */\r\nexport * from './lib/bways-grid.module';\r\nexport * from './lib/components/ultra-grid/ultra-grid.component';\r\nexport * from './lib/components/header/header.component';\r\nexport * from './lib/components/row/row.component';\r\nexport * from './lib/components/cell/cell.component';\r\nexport * from './lib/components/pagination/pagination.component';\r\nexport * from './lib/components/side-bar/side-bar.component';\r\nexport * from './lib/components/column-tool-panel/column-tool-panel.component';\r\nexport * from './lib/components/filter-tool-panel/filter-tool-panel.component';\r\n\r\nexport * from './lib/directives/column-resize.directive';\r\n\r\nexport * from './lib/models/column.model';\r\nexport * from './lib/models/row.model';\r\nexport * from './lib/models/grid-config.model';\r\nexport * from './lib/models/filter.model';\r\n\r\nexport * from './lib/datasources/server-datasource.interface';\r\nexport * from './lib/datasources/infinite-scroll.datasource';\r\n\r\nexport * from './lib/core/grid-engine.service';\r\nexport * from './lib/core/viewport-manager';\r\nexport * from './lib/core/row-cache';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1.GridFlattenerService","i2.ExcelExportService","i4"],"mappings":"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"}
1
+ {"version":3,"file":"bways-grid.mjs","sources":["../../../projects/bways-grid/src/lib/workers/generated/sorting.worker.code.ts","../../../projects/bways-grid/src/lib/datasources/infinite-scroll.datasource.ts","../../../projects/bways-grid/src/lib/directives/column-resize.directive.ts","../../../projects/bways-grid/src/lib/components/header/header.component.ts","../../../projects/bways-grid/src/lib/components/cell/cell.component.ts","../../../projects/bways-grid/src/lib/components/row/row.component.ts","../../../projects/bways-grid/src/lib/components/pagination/pagination.component.ts","../../../projects/bways-grid/src/lib/components/header-menu/header-menu.component.ts","../../../projects/bways-grid/src/lib/components/choose-columns/choose-columns.component.ts","../../../projects/bways-grid/src/lib/components/header-filter/header-filter.component.ts","../../../projects/bways-grid/src/lib/components/column-tool-panel/column-tool-panel.component.ts","../../../projects/bways-grid/src/lib/components/filter-tool-panel/filter-tool-panel.component.ts","../../../projects/bways-grid/src/lib/components/side-bar/side-bar.component.ts","../../../projects/bways-grid/src/lib/core/grid-flattener.service.ts","../../../projects/bways-grid/src/lib/workers/generated/excel.worker.code.ts","../../../projects/bways-grid/src/lib/services/excel-export.service.ts","../../../projects/bways-grid/src/lib/components/ultra-grid/ultra-grid.component.ts","../../../projects/bways-grid/src/lib/bways-grid.module.ts","../../../projects/bways-grid/src/lib/models/filter.model.ts","../../../projects/bways-grid/src/lib/core/grid-engine.service.ts","../../../projects/bways-grid/src/lib/core/viewport-manager.ts","../../../projects/bways-grid/src/lib/core/row-cache.ts","../../../projects/bways-grid/src/public-api.ts","../../../projects/bways-grid/src/bways-grid.ts"],"sourcesContent":["// AUTO-GENERATED FILE. DO NOT EDIT.\n// Built from src/lib/workers/sorting.worker.ts\nexport const SORTING_WORKER_CODE = `\"use strict\";(()=>{var b=[],h=[];addEventListener(\"message\",e=>{let{action:a,rows:o,sortModel:r,filterModel:i,conditionFilters:t,groupModel:n,aggregations:u,groupStateMap:d}=e.data;if(a===\"INIT\"){b=(o||[]).map(l=>({...l,type:\"leaf\",level:0})),postMessage({action:\"INIT_DONE\"});return}if(a===\"FLATTEN_ONLY\"){let s=U(h,d||{},e.data.groupIncludeFooter);postMessage({flatList:s});return}if(a===\"EXECUTE\"){let s=b,{pivotMode:l,pivotColumns:c}=e.data;if(i&&Object.keys(i).length>0){let g={};for(let p of Object.keys(i))g[p]=new Set(i[p]);s=s.filter(p=>{for(let G of Object.keys(g)){let O=g[G],S=p.data?p.data[G]:null;if(!O.has(S))return!1}return!0})}t&&Object.keys(t).length>0&&(s=\\$(s,t));let f={...u||{}},y=[];if(l&&c&&c.length>0&&Object.keys(f).length>0){let{virtualAggrs:g,dynamicColumns:p}=K(s,c,f);f=g,y=p}let N=s;if(n&&n.length>0?N=M(s,n,f):s.forEach(g=>g.level=0),r&&r.length>0&&E(N,r),h=N,n&&n.length>0&&e.data.groupIncludeFooter&&Object.keys(f).length>0){let p={id:\"grand-total-footer\",type:\"group-footer\",level:0,groupField:\"Grand Total\",groupKey:\"Grand Total\",data:k(s,f)};h.push(p)}let m=U(h,d||{},e.data.groupIncludeFooter),F=L(h);postMessage({flatList:m,resultTree:F,pivotColumns:y})}});function L(e){return e.map(a=>{if(a.type===\"leaf\")return{id:a.id,type:\"leaf\",level:a.level};if(a.type===\"group\"){let o=a;return{...o,children:o.children?L(o.children):void 0}}return a})}function U(e,a,o=!1){let r=[],i=[];for(let t=e.length-1;t>=0;t--)i.push(e[t]);for(;i.length>0;){let t=i.pop();if(t.type===\"group\"){let n=t;if(r.push({id:n.id,type:\"group\",level:n.level,groupField:n.groupField,groupKey:n.groupKey,data:n.data,childCount:n.children?n.children.length:0}),!!a[n.id]&&(o&&i.push({id:\\`\\${n.id}-footer\\`,type:\"group-footer\",level:n.level,groupField:n.groupField,groupKey:n.groupKey,data:{...n.data}}),n.children))for(let d=n.children.length-1;d>=0;d--)i.push(n.children[d])}else t.type===\"group-footer\"?r.push({id:t.id,type:\"group-footer\",level:t.level,groupField:t.groupField,groupKey:t.groupKey,data:t.data}):r.push({id:t.id,type:\"leaf\",level:t.level})}return r}function C(e){let a=[],o=[...e];for(;o.length>0;){let r=o.pop();if(I(r))a.push(r);else if(j(r)&&r.children)for(let i=r.children.length-1;i>=0;i--)o.push(r.children[i])}return a}function I(e){return e.type===\"leaf\"}function j(e){return e.type===\"group\"}function A(e){if(typeof e==\"number\")return e;if(typeof e!=\"string\")return e==null?0:Number(e);let a=e.trim();if(!a)return 0;let o=a.startsWith(\"(\")&&a.endsWith(\")\"),r=a.replace(/[\\\\u2212\\\\u2013\\\\u2014]/g,\"-\");r.includes(\"-\")&&(o=!0),r=r.replace(/[^0-9.]/g,\"\");let i=r?Number(r):0;return isNaN(i)?0:o?-i:i}function M(e,a,o){return T(e,a,0,o,\"root\")}function T(e,a,o,r,i){let t=a[o],n=o===a.length-1,u=new Map;for(let s of e){let l=s.data?s.data[t]:null;u.has(l)||u.set(l,[]),u.get(l).push(s)}let d=[];for(let[s,l]of u.entries()){let c=\\`\\${i}-\\${t}-\\${s}\\`,f={id:c,type:\"group\",level:o,groupField:t,groupKey:s,data:{[t]:s},children:[]},y=C(l),N=k(y,r);Object.assign(f.data,N),n?(l.forEach(m=>m.level=o+1),f.children=l):f.children=T(l,a,o+1,r,c),d.push(f)}return d}function k(e,a){let o={};for(let r of Object.keys(a)){let i=a[r],t=0;if(i===\"count\")t=e.length;else{let n=!0,u=0,d=0;for(let s of e){let l=s.data?s.data[r]:null,c=A(l);i===\"sum\"?t=Number(t)+c:i===\"min\"?n?t=c:t=Math.min(t,c):i===\"max\"?n?t=c:t=Math.max(t,c):i===\"avg\"&&(u=Number(u)+c,d++),n=!1}i===\"avg\"&&(t=d>0?u/d:0)}o[r]=t}return o}function E(e,a){e.sort((o,r)=>{for(let i of a){let{field:t,direction:n}=i,u=o.data?o.data[t]:null,d=r.data?r.data[t]:null;if(u===d)continue;let s=u>d?1:-1;return n===\"asc\"?s:-s}return 0});for(let o of e)o.type===\"group\"&&o.children&&E(o.children,a)}function \\$(e,a){let o=Object.keys(a);return o.length===0?e:e.filter(r=>{for(let i of o){let t=a[i];if(!t||!t.condition1)continue;let n=r.data?r.data[i]:null,u=v(n,t.condition1);if(t.condition2&&t.condition2.type){let d=v(n,t.condition2);if(!(t.operator===\"OR\"?u||d:u&&d))return!1}else if(!u)return!1}return!0})}function v(e,a){let{type:o,value:r,valueTo:i}=a;if(o===\"blank\")return e==null||e===\"\";if(o===\"notBlank\")return e!=null&&e!==\"\";if(r==null||r===\"\")return!0;let t=String(e??\"\").toLowerCase(),n=String(r).toLowerCase();switch(o){case\"contains\":return t.includes(n);case\"notContains\":return!t.includes(n);case\"equals\":return!isNaN(Number(e))&&!isNaN(Number(r))?Number(e)===Number(r):t===n;case\"notEqual\":return!isNaN(Number(e))&&!isNaN(Number(r))?Number(e)!==Number(r):t!==n;case\"startsWith\":return t.startsWith(n);case\"endsWith\":return t.endsWith(n);case\"greaterThan\":return Number(e)>Number(r);case\"greaterThanOrEqual\":return Number(e)>=Number(r);case\"lessThan\":return Number(e)<Number(r);case\"lessThanOrEqual\":return Number(e)<=Number(r);case\"inRange\":if(i==null||i===\"\")return!0;let u=Number(e);return u>=Number(r)&&u<=Number(i);default:return!0}}function K(e,a,o){let r={};a.forEach(d=>r[d]=new Set),e.forEach(d=>{a.forEach(s=>{let l=d.data[s];l!=null&&r[s].add(l)})});let i={},t=[],n=a[0];return Array.from(r[n]).sort().forEach(d=>{Object.keys(o).forEach(s=>{let l=o[s],c=\\`pivot_\\${n}_\\${d}_\\${s}\\`;i[c]=l,t.push({field:c,headerName:\\`\\${d} (\\${s})\\`,pivotValue:d,originalField:s,isPivotColumn:!0}),e.forEach(f=>{String(f.data[n])===String(d)?f.data[c]=f.data[s]:f.data[c]=null})})}),{virtualAggrs:i,dynamicColumns:t}}})();\n`;\n","import { CollectionViewer, DataSource } from '@angular/cdk/collections';\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\nimport { ServerDataSource } from './server-datasource.interface';\r\n\r\nexport class InfiniteScrollDataSource<T> extends DataSource<T | undefined> {\r\n private _cachedData: (T | undefined)[] = [];\r\n private _dataStream = new BehaviorSubject<(T | undefined)[]>([]);\r\n private _subscription = new Subscription();\r\n private _fetchedPages = new Set<number>();\r\n private _pageSize = 100;\r\n\r\n constructor(private _serverDataSource: ServerDataSource<T>, private _bufferSize: number = 200) {\r\n super();\r\n this._pageSize = this._bufferSize;\r\n }\r\n\r\n connect(collectionViewer: CollectionViewer): Observable<(T | undefined)[]> {\r\n this._subscription.add(\r\n collectionViewer.viewChange.subscribe(range => {\r\n const startPage = this._getPageForIndex(range.start);\r\n const endPage = this._getPageForIndex(range.end - 1);\r\n\r\n for (let i = startPage; i <= endPage; i++) {\r\n this._fetchPage(i);\r\n }\r\n })\r\n );\r\n return this._dataStream;\r\n }\r\n\r\n disconnect(): void {\r\n this._subscription.unsubscribe();\r\n }\r\n\r\n private _getPageForIndex(index: number): number {\r\n return Math.floor(index / this._pageSize);\r\n }\r\n\r\n private _fetchPage(page: number) {\r\n if (this._fetchedPages.has(page)) {\r\n return;\r\n }\r\n\r\n this._fetchedPages.add(page);\r\n const startRow = page * this._pageSize;\r\n const endRow = startRow + this._pageSize;\r\n\r\n this._serverDataSource.getRows({ startRow, endRow }).subscribe(res => {\r\n // Initialize array to totalCount if not yet done\r\n if (this._cachedData.length !== res.totalCount) {\r\n this._cachedData = Array.from<T | undefined>({ length: res.totalCount }).fill(undefined);\r\n }\r\n\r\n this._cachedData.splice(startRow, res.rows.length, ...res.rows);\r\n this._dataStream.next([...this._cachedData]);\r\n });\r\n }\r\n}\r\n","import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[ugColumnResize]',\r\n standalone: true\r\n})\r\nexport class ColumnResizeDirective {\r\n @Input('ugColumnResize') columnField!: string;\r\n @Output() resizeEnd = new EventEmitter<{ field: string, width: number }>();\r\n\r\n private startX!: number;\r\n private startWidth!: number;\r\n private minWidth = 50;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMouseDown(event: MouseEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n this.startX = event.pageX;\r\n this.startWidth = this.el.nativeElement.parentElement.offsetWidth;\r\n\r\n const mouseMoveListener = this.renderer.listen('document', 'mousemove', (e: MouseEvent) => {\r\n const width = Math.max(this.minWidth, this.startWidth + (e.pageX - this.startX));\r\n this.renderer.setStyle(this.el.nativeElement.parentElement, 'width', `${width}px`);\r\n });\r\n\r\n const mouseUpListener = this.renderer.listen('document', 'mouseup', (e: MouseEvent) => {\r\n mouseMoveListener(); // Unregister\r\n mouseUpListener(); // Unregister\r\n const finalWidth = Math.max(this.minWidth, this.startWidth + (e.pageX - this.startX));\r\n this.resizeEnd.emit({ field: this.columnField, width: finalWidth });\r\n });\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CdkDragDrop, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\nimport { ColumnResizeDirective } from '../../directives/column-resize.directive';\r\n\r\n@Component({\r\n selector: 'ug-header',\r\n standalone: true,\r\n imports: [CommonModule, DragDropModule, ColumnResizeDirective],\r\n template: `\r\n <div class=\"ug-header-row\" cdkDropList cdkDropListOrientation=\"horizontal\" (cdkDropListDropped)=\"onColumnDrop($event)\">\r\n <div \r\n class=\"ug-header-cell\" \r\n *ngFor=\"let col of columns; let isLast = last\" \r\n cdkDrag\r\n [style.width.px]=\"col.width || 200\"\r\n [style.min-width.px]=\"col.minWidth\"\r\n [style.max-width.px]=\"col.maxWidth\"\r\n [class.ug-cell-hide]=\"col.hide\"\r\n [class.ug-pinned-left]=\"col.pinned === 'left'\"\r\n [class.ug-pinned-right]=\"col.pinned === 'right'\"\r\n [style.left.px]=\"col._leftOffset\"\r\n [style.right.px]=\"col._rightOffset\"\r\n [style.flex-grow]=\"isLast ? 1 : 0\"\r\n >\r\n <div class=\"ug-header-checkbox\" *ngIf=\"col.headerCheckboxSelection\" (click)=\"onHeaderCheckboxClick($event)\">\r\n <input type=\"checkbox\" [checked]=\"isAllSelected\" />\r\n </div>\r\n\r\n <div class=\"ug-header-cell-label\" (click)=\"col.sortable !== false ? onSort(col) : null\" [class.sortable]=\"col.sortable !== false\">\r\n <span>{{ col.headerName || col.field }}</span>\r\n \r\n <div class=\"ug-sort-icon\" *ngIf=\"col.sortable !== false && getSortDirection(col.field)\">\r\n <svg *ngIf=\"getSortDirection(col.field) === 'desc'\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"></line><polyline points=\"19 12 12 19 5 12\"></polyline></svg>\r\n <svg *ngIf=\"getSortDirection(col.field) === 'asc'\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"5\"></line><polyline points=\"5 12 12 5 19 12\"></polyline></svg>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ug-header-filter-icon\" *ngIf=\"col.field !== 'ag-Grid-AutoColumn'\" (click)=\"onFilterClick(col, $event)\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polygon points=\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"></polygon></svg>\r\n </div>\r\n\r\n <div class=\"ug-header-menu-icon\" *ngIf=\"col.field !== 'ag-Grid-AutoColumn'\" (click)=\"onMenuClick(col, $event)\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"1\"></circle><circle cx=\"12\" cy=\"5\" r=\"1\"></circle><circle cx=\"12\" cy=\"19\" r=\"1\"></circle></svg>\r\n </div>\r\n\r\n <div class=\"ug-header-divider\" *ngIf=\"!isLast\"></div>\r\n\r\n <div \r\n *ngIf=\"col.resizable !== false\"\r\n class=\"ug-resize-handle\" \r\n [class.ug-hide-resizer]=\"isLast\"\r\n [ugColumnResize]=\"col.field\" \r\n (resizeEnd)=\"onResize($event)\"\r\n (click)=\"$event.stopPropagation()\">\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styles: [`\r\n ug-header {\r\n display: block;\r\n background-color: var(--ug-header-bg);\r\n border-bottom: 1px solid var(--ug-border-color);\r\n position: sticky;\r\n top: 0;\r\n z-index: 10;\r\n color: var(--ug-header-color);\r\n font-weight: var(--ug-header-font-weight);\r\n overflow: hidden;\r\n }\r\n .ug-header-row {\r\n display: inline-flex;\r\n min-width: 100%;\r\n height: 48px;\r\n }\r\n .ug-header-cell {\r\n display: flex;\r\n align-items: center;\r\n padding: 0 0 0 16px;\r\n box-sizing: border-box;\r\n position: relative;\r\n user-select: none;\r\n background-color: var(--ug-header-bg);\r\n transition: background-color 0.2s;\r\n flex-shrink: 0;\r\n flex-grow: 0; /* Default to 0, overridden by inline style for last column */\r\n }\r\n .ug-header-cell:hover {\r\n background-color: var(--ug-header-hover-bg);\r\n }\r\n .ug-pinned-left {\r\n position: sticky;\r\n z-index: 2;\r\n border-right: 1px solid var(--ug-border-color);\r\n }\r\n .ug-pinned-right {\r\n position: sticky;\r\n z-index: 2;\r\n border-left: 1px solid var(--ug-border-color);\r\n }\r\n .ug-header-checkbox {\r\n margin-right: 12px;\r\n display: flex;\r\n align-items: center;\r\n }\r\n .ug-header-checkbox input[type=\"checkbox\"] {\r\n width: 16px;\r\n height: 16px;\r\n cursor: pointer;\r\n accent-color: var(--ug-primary-color);\r\n }\r\n .ug-header-cell-label {\r\n flex: 1;\r\n display: flex;\r\n align-items: center;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n height: 100%;\r\n }\r\n .ug-header-cell-label.sortable {\r\n cursor: pointer;\r\n }\r\n .ug-header-cell-label span {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n .ug-sort-icon {\r\n margin-left: 6px;\r\n display: flex;\r\n align-items: center;\r\n color: var(--ug-icon-color);\r\n }\r\n .ug-header-menu-icon, .ug-header-filter-icon {\r\n padding: 0 4px;\r\n cursor: pointer;\r\n color: var(--ug-icon-color);\r\n display: flex;\r\n align-items: center;\r\n opacity: 0;\r\n transition: opacity 0.2s;\r\n }\r\n .ug-header-menu-icon {\r\n padding-right: 8px; \r\n }\r\n .ug-header-cell:hover .ug-header-menu-icon,\r\n .ug-header-cell:hover .ug-header-filter-icon {\r\n opacity: 1;\r\n }\r\n .ug-header-divider {\r\n width: 1px;\r\n height: 50%;\r\n background-color: var(--ug-border-color);\r\n margin-right: 2px;\r\n }\r\n .ug-resize-handle {\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n width: 5px;\r\n cursor: col-resize;\r\n background-color: transparent;\r\n z-index: 1;\r\n }\r\n .ug-resize-handle:hover, .ug-resize-handle:active {\r\n background-color: var(--ug-primary-color);\r\n }\r\n .ug-hide-resizer {\r\n display: none !important;\r\n }\r\n .cdk-drag-preview {\r\n box-sizing: border-box;\r\n background-color: var(--ug-header-bg);\r\n border: 1px solid var(--ug-border-color);\r\n box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);\r\n display: flex;\r\n align-items: center;\r\n padding: 0 16px;\r\n font-weight: var(--ug-header-font-weight);\r\n color: var(--ug-header-color);\r\n font-size: var(--ug-font-size);\r\n font-family: var(--ug-font-family);\r\n }\r\n .cdk-drag-placeholder {\r\n opacity: 0.3;\r\n }\r\n .cdk-drag-animating {\r\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\r\n }\r\n `],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HeaderComponent {\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Input() sortModel: { field: string, direction: 'asc' | 'desc' }[] = [];\r\n @Input() isAllSelected: boolean = false;\r\n\r\n @Output() sortChanged = new EventEmitter<{ field: string, direction: 'asc' | 'desc' | null }>();\r\n @Output() columnsReordered = new EventEmitter<UltraGridColumn[]>();\r\n @Output() columnResized = new EventEmitter<{ field: string, width: number }>();\r\n @Output() headerCheckboxClicked = new EventEmitter<boolean>();\r\n @Output() menuClicked = new EventEmitter<{ column: UltraGridColumn, event: MouseEvent }>();\r\n @Output() filterClicked = new EventEmitter<{ column: UltraGridColumn, event: MouseEvent }>();\r\n\r\n getSortDirection(field: string): 'asc' | 'desc' | null {\r\n const model = this.sortModel.find(m => m.field === field);\r\n return model ? model.direction : null;\r\n }\r\n\r\n onSort(col: UltraGridColumn) {\r\n const current = this.getSortDirection(col.field);\r\n let next: 'asc' | 'desc' | null = 'asc';\r\n if (current === 'asc') next = 'desc';\r\n else if (current === 'desc') next = null;\r\n\r\n this.sortChanged.emit({ field: col.field, direction: next });\r\n }\r\n\r\n onColumnDrop(event: CdkDragDrop<string[]>) {\r\n const reordered = [...this.columns];\r\n moveItemInArray(reordered, event.previousIndex, event.currentIndex);\r\n this.columnsReordered.emit(reordered);\r\n }\r\n\r\n onResize(event: { field: string, width: number }) {\r\n this.columnResized.emit(event);\r\n }\r\n\r\n onHeaderCheckboxClick(event: MouseEvent) {\r\n event.stopPropagation();\r\n this.headerCheckboxClicked.emit(!this.isAllSelected);\r\n }\r\n\r\n onMenuClick(column: UltraGridColumn, event: MouseEvent) {\r\n event.stopPropagation();\r\n this.menuClicked.emit({ column, event });\r\n }\r\n\r\n onFilterClick(column: UltraGridColumn, event: MouseEvent) {\r\n event.stopPropagation();\r\n this.filterClicked.emit({ column, event });\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\nimport { UltraGridRow } from '../../models/row.model';\r\n\r\n@Component({\r\n selector: 'ug-cell',\r\n standalone: true,\r\n imports: [CommonModule],\r\n template: `\r\n <div class=\"ug-cell-wrapper\" [style.padding-left.px]=\"isAutoGroupColumn && row.level ? row.level * 20 : 0\">\r\n \r\n <!-- Group Expand/Collapse Caret -->\r\n <div \r\n class=\"ug-group-caret\" \r\n *ngIf=\"isAutoGroupColumn && isGroup\"\r\n (click)=\"onGroupToggleClick($event)\">\r\n <svg *ngIf=\"groupExpanded\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"6 9 12 15 18 9\"></polyline></svg>\r\n <svg *ngIf=\"!groupExpanded\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"9 18 15 12 9 6\"></polyline></svg>\r\n </div>\r\n\r\n <div class=\"ug-cell-checkbox\" *ngIf=\"column.checkboxSelection && row.type !== 'group-footer'\" (click)=\"onCheckboxClick($event)\">\r\n <input type=\"checkbox\" [checked]=\"isSelected\" />\r\n </div>\r\n <ng-container *ngIf=\"column.cellTemplate; else defaultCell\">\r\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: row.data, row: row, column: column }\"></ng-container>\r\n </ng-container>\r\n <ng-template #defaultCell>\r\n <div class=\"ug-cell-content\" [title]=\"formattedValue\">\r\n <ng-container *ngIf=\"isAutoGroupColumn && isGroup\">\r\n <b>{{ formattedValue }}</b>\r\n <span class=\"ug-group-count\" *ngIf=\"row.type === 'group'\">({{ $any(row).childCount || 0 }})</span>\r\n </ng-container>\r\n <ng-container *ngIf=\"isGroupFooter\">\r\n <b *ngIf=\"isAutoGroupColumn\">\r\n {{ $any(row).groupField === 'Grand Total' ? 'Grand Total' : 'Total' }}\r\n </b>\r\n <span *ngIf=\"!isAutoGroupColumn\">{{ formattedValue }}</span>\r\n </ng-container>\r\n <ng-container *ngIf=\"!(isAutoGroupColumn && (isGroup || isGroupFooter)) && !isGroupFooter\">\r\n {{ formattedValue }}\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n </div>\r\n `,\r\n styles: [`\r\n ug-cell {\r\n display: flex;\r\n align-items: center;\r\n padding: 0 16px;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n flex-shrink: 0;\r\n flex-grow: 0;\r\n white-space: nowrap;\r\n box-sizing: border-box;\r\n height: 100%;\r\n }\r\n .ug-cell-wrapper {\r\n display: flex;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n overflow: hidden;\r\n }\r\n .ug-cell-checkbox {\r\n margin-right: 12px;\r\n display: flex;\r\n align-items: center;\r\n }\r\n .ug-cell-checkbox input[type=\"checkbox\"] {\r\n width: 16px;\r\n height: 16px;\r\n cursor: pointer;\r\n accent-color: var(--ug-primary-color);\r\n }\r\n .ug-cell-content {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n gap: 6px;\r\n }\r\n .ug-group-caret {\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 20px;\r\n height: 20px;\r\n margin-right: 4px;\r\n color: var(--ug-text-color);\r\n opacity: 0.7;\r\n transition: opacity 0.2s;\r\n }\r\n .ug-group-caret:hover {\r\n opacity: 1;\r\n }\r\n .ug-group-count {\r\n font-size: 0.85em;\r\n opacity: 0.6;\r\n }\r\n `],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CellComponent {\r\n @Input() column!: UltraGridColumn;\r\n @Input() row!: UltraGridRow;\r\n @Input() isSelected?: boolean = false;\r\n @Input() isFirstColumn: boolean = false;\r\n @Input() groupExpanded: boolean = false;\r\n\r\n @Output() groupToggleClicked = new EventEmitter<void>();\r\n\r\n get isGroup(): boolean {\r\n return !!this.row && this.row.type === 'group';\r\n }\r\n\r\n get isGroupFooter(): boolean {\r\n return !!this.row && this.row.type === 'group-footer';\r\n }\r\n\r\n get isAutoGroupColumn(): boolean {\r\n return this.column.field === 'ag-Grid-AutoColumn';\r\n }\r\n\r\n get value(): any {\r\n if (this.isAutoGroupColumn && (this.isGroup || this.isGroupFooter)) {\r\n return (this.row as any).groupKey;\r\n }\r\n return this.row && this.row.data ? this.row.data[this.column.field] : null;\r\n }\r\n\r\n get formattedValue(): string {\r\n const v = this.value;\r\n if (v == null) return '';\r\n\r\n // For Group Header or Group Footer in the Auto Column, we show the key directly (State Name, etc.)\r\n if (this.isAutoGroupColumn && (this.isGroup || this.isGroupFooter)) {\r\n return v;\r\n }\r\n\r\n // Try parsing as number for formatting (thousands separators, limited decimals)\r\n const isNumPrimitive = typeof v === 'number' && isFinite(v);\r\n\r\n // If field or header name suggests it's a date/time, skip numeric formatting\r\n const lowerField = this.column.field.toLowerCase();\r\n const lowerHeader = this.column.headerName?.toLowerCase() || '';\r\n if (lowerField.includes('date') || lowerField.includes('time') || lowerField.includes('ata') ||\r\n lowerHeader.includes('date') || lowerHeader.includes('time') || lowerHeader.includes('ata')) {\r\n return v;\r\n }\r\n \r\n // Robust parsing for string-numbers\r\n let num = NaN;\r\n if (isNumPrimitive) {\r\n num = v;\r\n } else {\r\n // Only try to parse if it's not a boolean and looks potentially numeric\r\n if (typeof v === 'string' && (v.includes('.') || v.match(/[0-9]/))) {\r\n num = Number(v.replace(/[^0-9.-]/g, ''));\r\n }\r\n }\r\n\r\n if (!isNaN(num) && isFinite(num)) {\r\n // Use en-US for standard thousands separators\r\n return num.toLocaleString('en-US', {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 2\r\n });\r\n }\r\n\r\n return v;\r\n }\r\n\r\n onCheckboxClick(event: MouseEvent) {\r\n // Handled up the pipe by the row selection\r\n }\r\n\r\n onGroupToggleClick(event: MouseEvent) {\r\n event.stopPropagation();\r\n this.groupToggleClicked.emit();\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, HostBinding } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\nimport { UltraGridRow } from '../../models/row.model';\r\nimport { CellComponent } from '../cell/cell.component';\r\n\r\n@Component({\r\n selector: 'ug-row',\r\n standalone: true,\r\n imports: [CommonModule, CellComponent],\r\n template: `\r\n <div class=\"ug-row-cells\">\r\n <ug-cell \r\n *ngFor=\"let col of columns; let isFirst = first; let isLast = last; trackBy: trackByField\"\r\n [column]=\"col\"\r\n [row]=\"row\"\r\n [isSelected]=\"$any(row)?.selected\"\r\n [isFirstColumn]=\"isFirst\"\r\n [groupExpanded]=\"isExpanded\"\r\n (groupToggleClicked)=\"onGroupToggle()\"\r\n [style.width.px]=\"col.width || 200\"\r\n [style.min-width.px]=\"col.minWidth\"\r\n [style.max-width.px]=\"col.maxWidth\"\r\n [class.ug-cell-hide]=\"col.hide\"\r\n [class.ug-pinned-left]=\"col.pinned === 'left'\"\r\n [class.ug-pinned-right]=\"col.pinned === 'right'\"\r\n [style.left.px]=\"col._leftOffset\"\r\n [style.right.px]=\"col._rightOffset\"\r\n [style.flex-grow]=\"isLast ? 1 : 0\">\r\n </ug-cell>\r\n </div>\r\n `,\r\n styles: [`\r\n ug-row {\r\n display: inline-flex;\r\n min-width: 100%;\r\n border-bottom: 1px solid var(--ug-border-color);\r\n background-color: var(--ug-row-bg);\r\n box-sizing: border-box;\r\n transition: background-color 0.2s;\r\n }\r\n ug-row:hover {\r\n background-color: var(--ug-row-hover-bg);\r\n }\r\n ug-row.ug-row-selected {\r\n background-color: var(--ug-row-selected-bg);\r\n }\r\n ug-row.ug-row-group-footer {\r\n background-color: var(--ug-group-footer-bg, #f8f9fa);\r\n font-weight: 600;\r\n border-top: 1px solid var(--ug-border-color);\r\n border-bottom: 2px solid var(--ug-border-color);\r\n }\r\n ug-row.ug-row-group-footer:hover {\r\n background-color: var(--ug-group-footer-bg, #f8f9fa);\r\n }\r\n .ug-row-cells {\r\n display: flex;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n .ug-cell-hide {\r\n display: none !important;\r\n }\r\n ug-cell.ug-pinned-left {\r\n position: sticky;\r\n z-index: 1;\r\n border-right: 1px solid var(--ug-border-color);\r\n background-color: inherit;\r\n }\r\n ug-cell.ug-pinned-right {\r\n position: sticky;\r\n z-index: 1;\r\n border-left: 1px solid var(--ug-border-color);\r\n background-color: inherit;\r\n }\r\n `],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RowComponent {\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Input() row!: UltraGridRow;\r\n @Input() rowHeight: number = 42;\r\n @Input() isExpanded: boolean = false;\r\n @Input() selectionVersion: number = 0;\r\n\r\n @Output() groupToggled = new EventEmitter<void>();\r\n\r\n @HostBinding('class.ug-row-selected') get isSelected() {\r\n return this.row?.selected;\r\n }\r\n\r\n @HostBinding('class.ug-row-group-footer') get isGroupFooter() {\r\n return this.row?.type === 'group-footer';\r\n }\r\n\r\n @HostBinding('style.height.px') get height() {\r\n return this.rowHeight;\r\n }\r\n\r\n trackByField(index: number, col: UltraGridColumn): string {\r\n return col.field;\r\n }\r\n\r\n onGroupToggle() {\r\n this.groupToggled.emit();\r\n }\r\n\r\n}","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'ug-pagination',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule], // Add FormsModule here\r\n template: `\r\n <div class=\"ug-pagination-container\">\r\n <div class=\"ug-pagination-left\">\r\n <!-- Optional space for additional footer info -->\r\n </div>\r\n <div class=\"ug-pagination-right\" *ngIf=\"showControls\">\r\n <div class=\"ug-page-size\">\r\n <span>Page Size:</span>\r\n <select [ngModel]=\"isAllSelectedSize ? 'All' : pageSize\" (ngModelChange)=\"onPageSizeChange($event)\">\r\n <option [ngValue]=\"10\">10</option>\r\n <option [ngValue]=\"25\">25</option>\r\n <option [ngValue]=\"50\">50</option>\r\n <option [ngValue]=\"100\">100</option>\r\n <option [ngValue]=\"500\">500</option>\r\n <option [ngValue]=\"'All'\">All</option>\r\n </select>\r\n </div>\r\n <div class=\"ug-pagination-info\">\r\n {{ startRow }} to {{ endRow }} of {{ totalCount || 'many' }}\r\n </div>\r\n <div class=\"ug-pagination-controls\">\r\n <button [disabled]=\"isFirstPage\" (click)=\"onPage(1)\" title=\"First Page\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11 17l-5-5 5-5M18 17l-5-5 5-5M6 17V7\"></path></svg>\r\n </button>\r\n <button [disabled]=\"isFirstPage\" (click)=\"onPrev()\" title=\"Previous Page\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 18l-6-6 6-6\"></path></svg>\r\n </button>\r\n <span class=\"ug-page-info\">Page {{ currentPage }} of {{ totalPages }}</span>\r\n <button [disabled]=\"isLastPage\" (click)=\"onNext()\" title=\"Next Page\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 18l6-6-6-6\"></path></svg>\r\n </button>\r\n <button [disabled]=\"isLastPage\" (click)=\"onPage(totalPages)\" title=\"Last Page\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M13 17l5-5-5-5M6 17l5-5-5-5M18 17V7\"></path></svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styles: [`\r\n ug-pagination {\r\n display: block;\r\n border-top: 1px solid var(--ug-border-color);\r\n background-color: var(--ug-footer-bg);\r\n color: var(--ug-footer-color);\r\n font-size: var(--ug-font-size);\r\n }\r\n .ug-pagination-container {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n height: 48px;\r\n padding: 0 16px;\r\n }\r\n .ug-pagination-right {\r\n display: flex;\r\n align-items: center;\r\n gap: 24px;\r\n }\r\n .ug-page-size {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n }\r\n .ug-page-size select {\r\n border: 1px solid var(--ug-border-color);\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n background-color: var(--ug-bg-color);\r\n color: var(--ug-footer-color);\r\n cursor: pointer;\r\n font-family: var(--ug-font-family);\r\n }\r\n .ug-pagination-info {\r\n font-weight: var(--ug-header-font-weight);\r\n }\r\n .ug-pagination-controls {\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\r\n }\r\n .ug-pagination-controls button {\r\n background: none;\r\n border: none;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n color: var(--ug-icon-color);\r\n padding: 4px;\r\n border-radius: 4px;\r\n }\r\n .ug-pagination-controls button:disabled {\r\n opacity: 0.3;\r\n cursor: not-allowed;\r\n }\r\n .ug-pagination-controls button:not(:disabled):hover {\r\n background-color: var(--ug-row-hover-bg);\r\n }\r\n .ug-page-info {\r\n margin: 0 4px;\r\n }\r\n `],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PaginationComponent {\r\n @Input() totalCount: number = 0;\r\n @Input() pageSize: number = 100;\r\n @Input() currentPage: number = 1;\r\n\r\n @Output() pageChanged = new EventEmitter<number>();\r\n @Output() pageSizeChanged = new EventEmitter<number>(); // Added new output\r\n\r\n get showControls() { return true; }\r\n get totalPages() { return Math.max(1, Math.ceil(this.totalCount / this.pageSize)); }\r\n get isFirstPage() { return this.currentPage <= 1; }\r\n // Provide for infinite scrolling where total count might not be known immediately\r\n get isLastPage() { return this.totalCount ? this.currentPage >= this.totalPages : false; }\r\n\r\n get startRow() { return this.totalCount === 0 && this.currentPage === 1 ? 0 : (this.currentPage - 1) * this.pageSize + 1; }\r\n get endRow() { return this.totalCount ? Math.min(this.currentPage * this.pageSize, this.totalCount) : this.currentPage * this.pageSize; }\r\n\r\n onPrev() {\r\n if (!this.isFirstPage) {\r\n this.pageChanged.emit(this.currentPage - 1);\r\n }\r\n }\r\n\r\n onNext() {\r\n if (!this.isLastPage) {\r\n this.pageChanged.emit(this.currentPage + 1);\r\n }\r\n }\r\n\r\n // Added new method\r\n onPage(page: number) {\r\n if (page >= 1 && page <= this.totalPages && page !== this.currentPage) {\r\n this.pageChanged.emit(page);\r\n }\r\n }\r\n\r\n get isAllSelectedSize() {\r\n return this.pageSize === this.totalCount && this.totalCount > 0;\r\n }\r\n\r\n // Added new method\r\n onPageSizeChange(size: any) {\r\n if (size === 'All') {\r\n this.pageSizeChanged.emit(this.totalCount);\r\n } else {\r\n this.pageSizeChanged.emit(Number(size));\r\n }\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, HostListener, ViewEncapsulation, ElementRef, OnInit } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\n\r\n@Component({\r\n selector: 'ug-header-menu',\r\n standalone: true,\r\n imports: [CommonModule],\r\n template: `\r\n <div class=\"ug-header-menu-backdrop\" *ngIf=\"isOpen\" (click)=\"onClose()\"></div>\r\n <div class=\"ug-header-menu-panel\" *ngIf=\"isOpen\" [style.top.px]=\"position.y\" [style.left.px]=\"position.x\">\r\n \r\n <!-- Sorting -->\r\n <div class=\"ug-menu-item\" (click)=\"onSort('asc')\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 19V5M5 12l7-7 7 7\"/></svg>\r\n <span>Sort Ascending</span>\r\n </div>\r\n <div class=\"ug-menu-item\" (click)=\"onSort('desc')\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 5v14M5 12l7 7 7-7\"/></svg>\r\n <span>Sort Descending</span>\r\n </div>\r\n\r\n <div class=\"ug-menu-separator\"></div>\r\n\r\n <!-- Pinning (Submenu trigger) -->\r\n <div class=\"ug-menu-item ug-has-submenu\" (mouseenter)=\"showPinSubmenu = true\" (mouseleave)=\"showPinSubmenu = false\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M16 10l-4 4-4-4\"/></svg>\r\n <span>Pin Column</span>\r\n <svg class=\"ug-menu-arrow\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 18l6-6-6-6\"/></svg>\r\n\r\n <div class=\"ug-submenu\" *ngIf=\"showPinSubmenu\">\r\n <div class=\"ug-menu-item\" (click)=\"onPin(null)\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" [style.visibility]=\"column?.pinned ? 'hidden' : 'visible'\"><path d=\"M20 6L9 17l-5-5\"/></svg>\r\n <span>No Pin</span>\r\n </div>\r\n <div class=\"ug-menu-item\" (click)=\"onPin('left')\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" [style.visibility]=\"column?.pinned === 'left' ? 'visible' : 'hidden'\"><path d=\"M20 6L9 17l-5-5\"/></svg>\r\n <span>Pin Left</span>\r\n </div>\r\n <div class=\"ug-menu-item\" (click)=\"onPin('right')\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" [style.visibility]=\"column?.pinned === 'right' ? 'visible' : 'hidden'\"><path d=\"M20 6L9 17l-5-5\"/></svg>\r\n <span>Pin Right</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ug-menu-separator\"></div>\r\n\r\n <!-- Autosize -->\r\n <div class=\"ug-menu-item\" (click)=\"onAutosize(false)\">\r\n <span class=\"ug-menu-text-only\">Autosize This Column</span>\r\n </div>\r\n <div class=\"ug-menu-item\" (click)=\"onAutosize(true)\">\r\n <span class=\"ug-menu-text-only\">Autosize All Columns</span>\r\n </div>\r\n\r\n <div class=\"ug-menu-separator\"></div>\r\n\r\n <!-- Grouping -->\r\n <div class=\"ug-menu-item\" (click)=\"onGroup()\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 3H3v18h18V3zM3 9h18M9 21V9\"/></svg>\r\n <span>{{ isGrouped ? 'Un-Group by' : 'Group by' }} {{ column?.headerName || column?.field }}</span>\r\n </div>\r\n\r\n <div class=\"ug-menu-separator\"></div>\r\n\r\n <!-- Choose Columns -->\r\n <div class=\"ug-menu-item\" (click)=\"onChooseColumns()\">\r\n <svg class=\"ug-menu-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"/><path d=\"M9 3v18\"/></svg>\r\n <span>Choose Columns</span>\r\n </div>\r\n\r\n </div>\r\n `,\r\n styleUrls: ['./header-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HeaderMenuComponent {\r\n @Input() column?: UltraGridColumn;\r\n @Input() isOpen = false;\r\n @Input() position = { x: 0, y: 0 };\r\n @Input() groupModel: string[] = [];\r\n\r\n @Output() closeMenu = new EventEmitter<void>();\r\n @Output() sort = new EventEmitter<{ field: string, direction: 'asc' | 'desc' }>();\r\n @Output() pin = new EventEmitter<{ field: string, pinned: 'left' | 'right' | null }>();\r\n @Output() autosize = new EventEmitter<{ field: string, all: boolean }>();\r\n @Output() group = new EventEmitter<{ field: string }>();\r\n @Output() chooseColumns = new EventEmitter<void>();\r\n\r\n showPinSubmenu = false;\r\n\r\n get isGrouped(): boolean {\r\n return !!this.column && this.groupModel.includes(this.column.field);\r\n }\r\n\r\n constructor(private el: ElementRef) { }\r\n\r\n onClose() {\r\n this.closeMenu.emit();\r\n }\r\n\r\n onSort(direction: 'asc' | 'desc') {\r\n if (this.column) {\r\n this.sort.emit({ field: this.column.field, direction });\r\n }\r\n this.onClose();\r\n }\r\n\r\n onPin(pinned: 'left' | 'right' | null) {\r\n if (this.column) {\r\n this.pin.emit({ field: this.column.field, pinned });\r\n }\r\n this.onClose();\r\n }\r\n\r\n onAutosize(all: boolean) {\r\n if (this.column) {\r\n this.autosize.emit({ field: this.column.field, all });\r\n }\r\n this.onClose();\r\n }\r\n\r\n onGroup() {\r\n if (this.column) {\r\n this.group.emit({ field: this.column.field });\r\n }\r\n this.onClose();\r\n }\r\n\r\n onChooseColumns() {\r\n this.chooseColumns.emit();\r\n this.onClose();\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CdkDragDrop, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\n\r\n@Component({\r\n selector: 'ug-choose-columns',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, DragDropModule],\r\n template: `\r\n <div class=\"ug-choose-columns-panel\">\r\n \r\n <div class=\"ug-cc-header\">\r\n <span class=\"ug-cc-title\">Choose Columns</span>\r\n <button class=\"ug-cc-close\" (click)=\"onClose()\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 6L6 18M6 6l12 12\"/></svg>\r\n </button>\r\n </div>\r\n\r\n <div class=\"ug-cc-search\">\r\n <div class=\"ug-cc-search-icon\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"M21 21l-4.35-4.35\"/></svg>\r\n </div>\r\n <input type=\"text\" placeholder=\"Search...\" [(ngModel)]=\"searchQuery\" />\r\n </div>\r\n\r\n <div class=\"ug-cc-list\" cdkDropList (cdkDropListDropped)=\"onDrop($event)\">\r\n <ng-container *ngFor=\"let col of columns\">\r\n <div class=\"ug-cc-item\" cdkDrag *ngIf=\"matchesSearch(col)\">\r\n \r\n <label class=\"ug-cc-label\">\r\n <input type=\"checkbox\" [checked]=\"!col.hide\" (change)=\"toggleVisibility(col)\" />\r\n <span class=\"ug-cc-drag-handle\" cdkDragHandle>\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M8 6h.01M16 6h.01M8 12h.01M16 12h.01M8 18h.01M16 18h.01\"/></svg>\r\n </span>\r\n <span class=\"ug-cc-name\">{{ col.headerName || col.field }}</span>\r\n </label>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n `,\r\n styleUrls: ['./choose-columns.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ChooseColumnsComponent {\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Output() columnsChanged = new EventEmitter<UltraGridColumn[]>();\r\n @Output() closePanel = new EventEmitter<void>();\r\n\r\n searchQuery = '';\r\n\r\n onClose() {\r\n this.closePanel.emit();\r\n }\r\n\r\n matchesSearch(col: UltraGridColumn): boolean {\r\n if (!this.searchQuery) return true;\r\n const name = (col.headerName || col.field || '').toLowerCase();\r\n return name.includes(this.searchQuery.toLowerCase());\r\n }\r\n\r\n toggleVisibility(col: UltraGridColumn) {\r\n col.hide = !col.hide;\r\n this.emitChange();\r\n }\r\n\r\n onDrop(event: CdkDragDrop<UltraGridColumn[]>) {\r\n // Because of the *ngIf matching search, the index in the drag drop event might not match the original array \r\n // if the user is filtering. We will only allow reordering if search is empty to be safe, \r\n // or we have to map visual index to actual index.\r\n if (this.searchQuery) {\r\n // Find actual indices\r\n const visibleCols = this.columns.filter(c => this.matchesSearch(c));\r\n const movedItem = visibleCols[event.previousIndex];\r\n const targetItem = visibleCols[event.currentIndex];\r\n\r\n const actualPrevIdx = this.columns.indexOf(movedItem);\r\n const actualCurrIdx = this.columns.indexOf(targetItem);\r\n\r\n moveItemInArray(this.columns, actualPrevIdx, actualCurrIdx);\r\n } else {\r\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\r\n }\r\n\r\n this.emitChange();\r\n }\r\n\r\n private emitChange() {\r\n this.columnsChanged.emit([...this.columns]);\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\n\r\n@Component({\r\n selector: 'ug-header-filter',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, ScrollingModule],\r\n template: `\r\n <div class=\"ug-header-filter-backdrop\" *ngIf=\"isOpen\" (click)=\"onClose()\"></div>\r\n <div class=\"ug-header-filter-panel\" *ngIf=\"isOpen\" [style.top.px]=\"position.y\" [style.left.px]=\"position.x\">\r\n \r\n <div class=\"ug-filter-search\">\r\n <div class=\"ug-filter-search-icon\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"M21 21l-4.35-4.35\"/></svg>\r\n </div>\r\n <input type=\"text\" placeholder=\"Search...\" [(ngModel)]=\"searchQuery\" (ngModelChange)=\"onSearchChanged()\" />\r\n </div>\r\n\r\n <div class=\"ug-filter-list\">\r\n <!-- Select All Checkbox -->\r\n <label class=\"ug-filter-item ug-filter-select-all\">\r\n <input type=\"checkbox\" [checked]=\"isAllSelected\" (change)=\"toggleAll()\" />\r\n <span>(Select All)</span>\r\n </label>\r\n\r\n <!-- Values Checkboxes -->\r\n <cdk-virtual-scroll-viewport itemSize=\"24\" class=\"ug-filter-viewport\">\r\n <label class=\"ug-filter-item\" *cdkVirtualFor=\"let item of displayValues\">\r\n <input type=\"checkbox\" [checked]=\"selectedValues.has(item)\" (change)=\"toggleValue(item)\" />\r\n <span>{{ item === null || item === undefined || item === '' ? '(Blanks)' : item }}</span>\r\n </label>\r\n </cdk-virtual-scroll-viewport>\r\n\r\n <div class=\"ug-filter-empty\" *ngIf=\"displayValues.length === 0\">\r\n No matches found\r\n </div>\r\n </div>\r\n\r\n </div>\r\n `,\r\n styleUrls: ['./header-filter.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HeaderFilterComponent implements OnChanges {\r\n @Input() column?: UltraGridColumn;\r\n @Input() isOpen = false;\r\n @Input() position = { x: 0, y: 0 };\r\n\r\n // All unique values extracted from the dataset\r\n @Input() uniqueValues: any[] = [];\r\n\r\n // The currently applied active filter Set for this column\r\n @Input() activeFilterSet: Set<any> = new Set();\r\n\r\n @Output() closeFilter = new EventEmitter<void>();\r\n @Output() filterApplied = new EventEmitter<{ field: string, selected: Set<any> }>();\r\n\r\n searchQuery = '';\r\n displayValues: any[] = [];\r\n\r\n // Local working copy of selected values while the menu is open\r\n selectedValues: Set<any> = new Set();\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['isOpen'] && this.isOpen) {\r\n // Reset query and clone the active filters\r\n this.searchQuery = '';\r\n this.selectedValues = new Set(this.activeFilterSet);\r\n\r\n // If the active filter was totally empty (meaning NO filter was ever applied), \r\n // Excel defaults to having EVERYTHING checked initially.\r\n if (this.activeFilterSet.size === 0) {\r\n this.uniqueValues.forEach(v => this.selectedValues.add(v));\r\n }\r\n\r\n this.applySearch();\r\n }\r\n\r\n if (changes['uniqueValues']) {\r\n this.applySearch();\r\n }\r\n }\r\n\r\n onClose() {\r\n this.closeFilter.emit();\r\n }\r\n\r\n onSearchChanged() {\r\n this.applySearch();\r\n }\r\n\r\n private applySearch() {\r\n if (!this.searchQuery) {\r\n this.displayValues = [...this.uniqueValues];\r\n } else {\r\n const lowerQ = this.searchQuery.toLowerCase();\r\n this.displayValues = this.uniqueValues.filter(val =>\r\n String(val).toLowerCase().includes(lowerQ)\r\n );\r\n }\r\n }\r\n\r\n get isAllSelected(): boolean {\r\n if (this.displayValues.length === 0) return false;\r\n return this.displayValues.every(val => this.selectedValues.has(val));\r\n }\r\n\r\n toggleAll() {\r\n const targetState = !this.isAllSelected;\r\n if (targetState) {\r\n this.displayValues.forEach(val => this.selectedValues.add(val));\r\n } else {\r\n this.displayValues.forEach(val => this.selectedValues.delete(val));\r\n }\r\n this.emitFilter();\r\n }\r\n\r\n toggleValue(val: any) {\r\n if (this.selectedValues.has(val)) {\r\n this.selectedValues.delete(val);\r\n } else {\r\n this.selectedValues.add(val);\r\n }\r\n this.emitFilter();\r\n }\r\n\r\n private emitFilter() {\r\n if (!this.column) return;\r\n\r\n // If \"Select All\" of all unique values is checked, we conceptually have NO filter.\r\n // E.g., if we select everything, we just clear the filter for performance.\r\n let finalSet = new Set(this.selectedValues);\r\n let isDefaultAllSelected = true;\r\n for (const val of this.uniqueValues) {\r\n if (!this.selectedValues.has(val)) {\r\n isDefaultAllSelected = false;\r\n break;\r\n }\r\n }\r\n\r\n if (isDefaultAllSelected) {\r\n finalSet = new Set(); // Empty means no filter\r\n }\r\n\r\n this.filterApplied.emit({ field: this.column.field, selected: finalSet });\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CdkDragDrop, DragDropModule, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { UltraGridColumn, ValueColumnModel } from '../../models/column.model';\r\n\r\n@Component({\r\n selector: 'ug-column-tool-panel',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, DragDropModule],\r\n template: `\r\n <div class=\"ug-ctp-wrapper\" cdkDropListGroup>\r\n <!-- Pivot Mode Toggle -->\r\n <div class=\"ug-ctp-pivot-mode\">\r\n <label class=\"ug-switch\">\r\n <input type=\"checkbox\" [ngModel]=\"pivotMode\" (ngModelChange)=\"onPivotModeToggle($event)\" />\r\n <span class=\"ug-slider round\"></span>\r\n </label>\r\n <span>Pivot Mode</span>\r\n </div>\r\n\r\n <!-- Column List Section -->\r\n <div class=\"ug-ctp-columns-section\">\r\n <div class=\"ug-ctp-search\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"M21 21l-4.35-4.35\"/></svg>\r\n <input type=\"text\" placeholder=\"Search...\" [(ngModel)]=\"searchQuery\" (ngModelChange)=\"applySearch()\" />\r\n </div>\r\n\r\n <div \r\n class=\"ug-ctp-list\" \r\n id=\"colList\"\r\n cdkDropList \r\n [cdkDropListData]=\"displayColumns\"\r\n [cdkDropListConnectedTo]=\"['groupList', 'valueList', 'pivotList']\"\r\n (cdkDropListDropped)=\"onDrop($event)\">\r\n <div \r\n class=\"ug-ctp-item\" \r\n *ngFor=\"let col of displayColumns\" \r\n cdkDrag \r\n [cdkDragData]=\"col\">\r\n <input type=\"checkbox\" [checked]=\"!col.hide\" (change)=\"toggleVisibility(col)\" />\r\n <svg class=\"ug-drag-handle\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" cdkDragHandle><circle cx=\"9\" cy=\"12\" r=\"1\"/><circle cx=\"9\" cy=\"5\" r=\"1\"/><circle cx=\"9\" cy=\"19\" r=\"1\"/><circle cx=\"15\" cy=\"12\" r=\"1\"/><circle cx=\"15\" cy=\"5\" r=\"1\"/><circle cx=\"15\" cy=\"19\" r=\"1\"/></svg>\r\n <span class=\"ug-ctp-item-name\">{{ col.headerName || col.field }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Row Groups -->\r\n <div class=\"ug-ctp-group\">\r\n <div class=\"ug-ctp-group-header\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"></line><line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"></line><line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"></line><line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"></line><line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"></line><line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"></line></svg>\r\n <span>Row Groups</span>\r\n </div>\r\n <div \r\n class=\"ug-ctp-dropzone\" \r\n id=\"groupList\"\r\n cdkDropList \r\n [cdkDropListData]=\"groupColumns\" \r\n [cdkDropListConnectedTo]=\"['colList', 'pivotList', 'valueList']\"\r\n (cdkDropListDropped)=\"onGroupDrop($event)\"\r\n [class.empty]=\"groupColumns.length === 0\">\r\n <div *ngIf=\"groupColumns.length === 0\">Drag here to set row groups</div>\r\n <div class=\"ug-ctp-item\" *ngFor=\"let col of groupColumns\" cdkDrag [cdkDragData]=\"col\">\r\n <svg class=\"ug-drag-handle\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" cdkDragHandle><circle cx=\"9\" cy=\"12\" r=\"1\"/><circle cx=\"9\" cy=\"5\" r=\"1\"/><circle cx=\"9\" cy=\"19\" r=\"1\"/><circle cx=\"15\" cy=\"12\" r=\"1\"/><circle cx=\"15\" cy=\"5\" r=\"1\"/><circle cx=\"15\" cy=\"19\" r=\"1\"/></svg>\r\n <span class=\"ug-ctp-item-name\">{{ col.headerName || col.field }}</span>\r\n <span class=\"ug-ctp-remove\" (click)=\"removeGroup(col)\" style=\"margin-left:auto;cursor:pointer;\">&times;</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Pivot Columns -->\r\n <div class=\"ug-ctp-group\" *ngIf=\"pivotMode\">\r\n <div class=\"ug-ctp-group-header\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 12V7H5a2 2 0 0 1 0-4h14v4\"/><path d=\"M3 5v14a2 2 0 0 0 2 2h16v-5\"/><path d=\"M18 12H3\"/></svg>\r\n <span>Pivot Columns</span>\r\n </div>\r\n <div \r\n class=\"ug-ctp-dropzone\" \r\n id=\"pivotList\"\r\n cdkDropList \r\n [cdkDropListData]=\"pivotColumnsInternal\" \r\n [cdkDropListConnectedTo]=\"['colList', 'groupList', 'valueList']\"\r\n (cdkDropListDropped)=\"onPivotDrop($event)\"\r\n [class.empty]=\"pivotColumnsInternal.length === 0\">\r\n <div *ngIf=\"pivotColumnsInternal.length === 0\">Drag here to pivot</div>\r\n <div class=\"ug-ctp-item\" *ngFor=\"let col of pivotColumnsInternal\" cdkDrag [cdkDragData]=\"col\">\r\n <svg class=\"ug-drag-handle\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" cdkDragHandle><circle cx=\"9\" cy=\"12\" r=\"1\"/><circle cx=\"9\" cy=\"5\" r=\"1\"/><circle cx=\"9\" cy=\"19\" r=\"1\"/><circle cx=\"15\" cy=\"12\" r=\"1\"/><circle cx=\"15\" cy=\"5\" r=\"1\"/><circle cx=\"15\" cy=\"19\" r=\"1\"/></svg>\r\n <span class=\"ug-ctp-item-name\">{{ col.headerName || col.field }}</span>\r\n <span class=\"ug-ctp-remove\" (click)=\"removePivot(col)\" style=\"margin-left:auto;cursor:pointer;\">&times;</span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Values -->\r\n <div class=\"ug-ctp-group\">\r\n <div class=\"ug-ctp-group-header\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"4 7 4 4 20 4 20 7\"></polyline><line x1=\"9\" y1=\"20\" x2=\"15\" y2=\"20\"></line><line x1=\"12\" y1=\"4\" x2=\"12\" y2=\"20\"></line></svg>\r\n <span>Values</span>\r\n </div>\r\n <div \r\n class=\"ug-ctp-dropzone\" \r\n id=\"valueList\"\r\n cdkDropList \r\n [cdkDropListData]=\"valueColumns\" \r\n [cdkDropListConnectedTo]=\"['colList', 'groupList', 'pivotList']\"\r\n (cdkDropListDropped)=\"onValueDrop($event)\"\r\n [class.empty]=\"valueColumns.length === 0\">\r\n <div *ngIf=\"valueColumns.length === 0\">Drag here to aggregate</div>\r\n <div class=\"ug-ctp-item\" *ngFor=\"let vCol of valueColumns\" cdkDrag [cdkDragData]=\"vCol\">\r\n <svg class=\"ug-drag-handle\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" cdkDragHandle><circle cx=\"9\" cy=\"12\" r=\"1\"/><circle cx=\"9\" cy=\"5\" r=\"1\"/><circle cx=\"9\" cy=\"19\" r=\"1\"/><circle cx=\"15\" cy=\"12\" r=\"1\"/><circle cx=\"15\" cy=\"5\" r=\"1\"/><circle cx=\"15\" cy=\"19\" r=\"1\"/></svg>\r\n <div class=\"ug-ctp-agg-selector\" (click)=\"toggleAggDropdown(vCol.field)\">\r\n <span class=\"ug-ctp-item-name\"><b>{{ vCol.aggFunc }}</b>({{ getColumnHeader(vCol.field) }})</span>\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"6 9 12 15 18 9\"></polyline></svg>\r\n </div>\r\n <span class=\"ug-ctp-remove\" (click)=\"removeValue(vCol.field)\" style=\"margin-left:auto;cursor:pointer;\">&times;</span>\r\n \r\n <!-- Dropdown Menu -->\r\n <div class=\"ug-ctp-agg-menu\" *ngIf=\"openDropdownField === vCol.field\">\r\n <div class=\"ug-ctp-agg-option\" [class.selected]=\"vCol.aggFunc === 'sum'\" (click)=\"setAggFunc(vCol, 'sum')\">sum</div>\r\n <div class=\"ug-ctp-agg-option\" [class.selected]=\"vCol.aggFunc === 'min'\" (click)=\"setAggFunc(vCol, 'min')\">min</div>\r\n <div class=\"ug-ctp-agg-option\" [class.selected]=\"vCol.aggFunc === 'max'\" (click)=\"setAggFunc(vCol, 'max')\">max</div>\r\n <div class=\"ug-ctp-agg-option\" [class.selected]=\"vCol.aggFunc === 'count'\" (click)=\"setAggFunc(vCol, 'count')\">count</div>\r\n <div class=\"ug-ctp-agg-option\" [class.selected]=\"vCol.aggFunc === 'avg'\" (click)=\"setAggFunc(vCol, 'avg')\">avg</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <!-- Export Section -->\r\n <div class=\"ug-ctp-group\" style=\"padding: 15px; text-align: center; border-top: 1px solid #e2e8f0; margin-top: auto;\">\r\n <button \r\n style=\"padding: 10px 16px; width: 100%; background: #2196f3; color: white; border: none; border-radius: 4px; font-weight: 500; cursor: pointer; display: flex; justify-content: center; align-items: center; gap: 8px;\"\r\n (click)=\"exportExcelClicked.emit()\">\r\n <svg fill=\"currentColor\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\"><path d=\"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z\"/></svg>\r\n Export Excel\r\n </button>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./column-tool-panel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ColumnToolPanelComponent implements OnChanges {\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Input() groupModel: string[] = [];\r\n @Input() valuesModel: ValueColumnModel[] = [];\r\n @Input() pivotMode: boolean = false;\r\n @Input() pivotColumns: string[] = [];\r\n @Output() columnsUpdated = new EventEmitter<UltraGridColumn[]>();\r\n @Output() groupModelChanged = new EventEmitter<string[]>();\r\n @Output() valuesModelChanged = new EventEmitter<ValueColumnModel[]>();\r\n @Output() pivotModeChanged = new EventEmitter<boolean>();\r\n @Output() pivotModelChanged = new EventEmitter<string[]>();\r\n @Output() exportExcelClicked = new EventEmitter<void>();\r\n\r\n displayColumns: UltraGridColumn[] = [];\r\n groupColumns: UltraGridColumn[] = [];\r\n valueColumns: ValueColumnModel[] = [];\r\n pivotColumnsInternal: UltraGridColumn[] = [];\r\n searchQuery: string = '';\r\n openDropdownField: string | null = null;\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['columns']) {\r\n this.applySearch();\r\n }\r\n // Reconstruct groupColumns from persisted groupModel\r\n if (changes['columns'] || changes['groupModel']) {\r\n this.rebuildGroupColumns();\r\n }\r\n // Reconstruct valueColumns from persisted valuesModel\r\n if (changes['columns'] || changes['valuesModel']) {\r\n this.rebuildValueColumns();\r\n }\r\n // Reconstruct pivotColumns from persisted pivotModel\r\n if (changes['columns'] || changes['pivotColumns']) {\r\n this.rebuildPivotColumns();\r\n }\r\n }\r\n\r\n onPivotModeToggle(enabled: boolean) {\r\n this.pivotModeChanged.emit(enabled);\r\n }\r\n\r\n private rebuildPivotColumns() {\r\n if (this.pivotColumns.length === 0) {\r\n this.pivotColumnsInternal = [];\r\n return;\r\n }\r\n this.pivotColumnsInternal = this.pivotColumns\r\n .map(field => this.columns.find(c => c.field === field))\r\n .filter((c): c is UltraGridColumn => !!c);\r\n }\r\n\r\n private rebuildGroupColumns() {\r\n if (this.groupModel.length === 0) {\r\n this.groupColumns = [];\r\n return;\r\n }\r\n // Map field names back to column definitions, preserving order\r\n this.groupColumns = this.groupModel\r\n .map(field => this.columns.find(c => c.field === field))\r\n .filter((c): c is UltraGridColumn => !!c);\r\n }\r\n\r\n getColumnHeader(field: string): string {\r\n const col = this.columns.find(c => c.field === field);\r\n return col ? (col.headerName || col.field) : field;\r\n }\r\n\r\n applySearch() {\r\n if (!this.searchQuery) {\r\n this.displayColumns = [...this.columns];\r\n } else {\r\n const q = this.searchQuery.toLowerCase();\r\n this.displayColumns = this.columns.filter(c => {\r\n const name = (c.headerName || c.field).toLowerCase();\r\n return name.includes(q);\r\n });\r\n }\r\n }\r\n\r\n toggleVisibility(col: UltraGridColumn) {\r\n // Determine the original index in the main array\r\n const realIdx = this.columns.findIndex(c => c.field === col.field);\r\n if (realIdx > -1) {\r\n const newCols = [...this.columns];\r\n newCols[realIdx] = { ...newCols[realIdx], hide: !newCols[realIdx].hide };\r\n this.columnsUpdated.emit(newCols);\r\n }\r\n }\r\n\r\n onDrop(event: CdkDragDrop<UltraGridColumn[]>) {\r\n if (this.searchQuery) return; // Drag/drop while searching is complex, ignoring for MVP\r\n\r\n if (event.previousContainer === event.container) {\r\n const newCols = [...this.columns];\r\n moveItemInArray(newCols, event.previousIndex, event.currentIndex);\r\n this.columnsUpdated.emit(newCols);\r\n }\r\n }\r\n\r\n onGroupDrop(event: CdkDragDrop<UltraGridColumn[]>) {\r\n if (event.previousContainer === event.container) {\r\n const newGrp = [...this.groupColumns];\r\n moveItemInArray(newGrp, event.previousIndex, event.currentIndex);\r\n this.groupColumns = newGrp;\r\n } else {\r\n const col = event.previousContainer.data[event.previousIndex];\r\n // Prevent duplicate groupings\r\n if (this.groupColumns.find(c => c.field === col.field)) return;\r\n\r\n const newGrp = [...this.groupColumns];\r\n newGrp.splice(event.currentIndex, 0, col);\r\n this.groupColumns = newGrp;\r\n }\r\n this.emitGroupChange();\r\n }\r\n\r\n removeGroup(col: UltraGridColumn) {\r\n this.groupColumns = this.groupColumns.filter(c => c !== col);\r\n this.emitGroupChange();\r\n }\r\n\r\n private emitGroupChange() {\r\n this.groupModelChanged.emit(this.groupColumns.map(c => c.field));\r\n }\r\n\r\n private rebuildValueColumns() {\r\n this.valueColumns = [...this.valuesModel];\r\n }\r\n\r\n onValueDrop(event: CdkDragDrop<any[]>) {\r\n if (event.previousContainer === event.container) {\r\n const newVals = [...this.valueColumns];\r\n moveItemInArray(newVals, event.previousIndex, event.currentIndex);\r\n this.valueColumns = newVals;\r\n } else {\r\n const col = event.previousContainer.data[event.previousIndex] as UltraGridColumn;\r\n // Prevent duplicate\r\n if (this.valueColumns.find(c => c.field === col.field)) return;\r\n const newVals = [...this.valueColumns];\r\n newVals.splice(event.currentIndex, 0, { field: col.field, aggFunc: 'sum' });\r\n this.valueColumns = newVals;\r\n }\r\n this.emitValuesChange();\r\n }\r\n\r\n removeValue(field: string) {\r\n this.valueColumns = this.valueColumns.filter(c => c.field !== field);\r\n this.emitValuesChange();\r\n }\r\n\r\n toggleAggDropdown(field: string) {\r\n if (this.openDropdownField === field) {\r\n this.openDropdownField = null;\r\n } else {\r\n this.openDropdownField = field;\r\n }\r\n }\r\n\r\n setAggFunc(vCol: ValueColumnModel, func: 'sum' | 'min' | 'max' | 'count' | 'avg') {\r\n vCol.aggFunc = func;\r\n this.openDropdownField = null;\r\n this.emitValuesChange();\r\n }\r\n\r\n onPivotDrop(event: CdkDragDrop<UltraGridColumn[]>) {\r\n if (event.previousContainer === event.container) {\r\n const newPiv = [...this.pivotColumnsInternal];\r\n moveItemInArray(newPiv, event.previousIndex, event.currentIndex);\r\n this.pivotColumnsInternal = newPiv;\r\n } else {\r\n const col = event.previousContainer.data[event.previousIndex];\r\n // Prevent duplicate\r\n if (this.pivotColumnsInternal.find(c => c.field === col.field)) return;\r\n\r\n const newPiv = [...this.pivotColumnsInternal];\r\n newPiv.splice(event.currentIndex, 0, col);\r\n this.pivotColumnsInternal = newPiv;\r\n }\r\n this.emitPivotChange();\r\n }\r\n\r\n removePivot(col: UltraGridColumn) {\r\n this.pivotColumnsInternal = this.pivotColumnsInternal.filter(c => c !== col);\r\n this.emitPivotChange();\r\n }\r\n\r\n private emitPivotChange() {\r\n this.pivotModelChanged.emit(this.pivotColumnsInternal.map(c => c.field));\r\n }\r\n\r\n private emitValuesChange() {\r\n this.valuesModelChanged.emit([...this.valueColumns]);\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { UltraGridColumn } from '../../models/column.model';\r\nimport { FilterConditionType, JoinOperator, ColumnConditionFilter } from '../../models/filter.model';\r\n\r\nconst TEXT_FILTER_OPTIONS: { value: FilterConditionType; label: string }[] = [\r\n { value: 'contains', label: 'Contains' },\r\n { value: 'notContains', label: 'Not Contains' },\r\n { value: 'equals', label: 'Equals' },\r\n { value: 'notEqual', label: 'Not Equal' },\r\n { value: 'startsWith', label: 'Starts With' },\r\n { value: 'endsWith', label: 'Ends With' },\r\n { value: 'blank', label: 'Blank' },\r\n { value: 'notBlank', label: 'Not Blank' }\r\n];\r\n\r\nconst NUMBER_FILTER_OPTIONS: { value: FilterConditionType; label: string }[] = [\r\n { value: 'equals', label: 'Equals' },\r\n { value: 'notEqual', label: 'Not Equal' },\r\n { value: 'greaterThan', label: 'Greater Than' },\r\n { value: 'greaterThanOrEqual', label: 'Greater Than or Equal' },\r\n { value: 'lessThan', label: 'Less Than' },\r\n { value: 'lessThanOrEqual', label: 'Less Than or Equal' },\r\n { value: 'inRange', label: 'In Range' },\r\n { value: 'blank', label: 'Blank' },\r\n { value: 'notBlank', label: 'Not Blank' }\r\n];\r\n\r\ninterface FilterSection {\r\n column: UltraGridColumn;\r\n expanded: boolean;\r\n searchQuery: string;\r\n uniqueValues: any[];\r\n displayValues: any[];\r\n selectedValues: Set<any>;\r\n hasActiveFilter: boolean;\r\n // Condition filter state\r\n filterOptions: { value: FilterConditionType; label: string }[];\r\n cond1Type: FilterConditionType;\r\n cond1Value: string;\r\n condOperator: JoinOperator;\r\n cond2Type: FilterConditionType;\r\n cond2Value: string;\r\n cond2ValueTo: string; // For inRange\r\n cond1ValueTo: string; // For inRange on condition 1\r\n hasConditionFilter: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'ug-filter-tool-panel',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, ScrollingModule],\r\n template: `\r\n <div class=\"ug-ftp-wrapper\">\r\n <!-- Global Toolbar -->\r\n <div class=\"ug-ftp-toolbar\">\r\n <button class=\"ug-ftp-btn\" (click)=\"expandAll()\" title=\"Expand All\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"6 9 12 15 18 9\"></polyline></svg>\r\n Expand All\r\n </button>\r\n <button class=\"ug-ftp-btn\" (click)=\"collapseAll()\" title=\"Collapse All\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"9 18 15 12 9 6\"></polyline></svg>\r\n Collapse All\r\n </button>\r\n <button class=\"ug-ftp-btn ug-ftp-btn-clear\" (click)=\"onClearAll()\" title=\"Clear All Filters\" [disabled]=\"!hasAnyActiveFilter\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line></svg>\r\n Clear All\r\n </button>\r\n \r\n <div style=\"flex: 1\"></div>\r\n\r\n <button class=\"ug-ftp-btn\" (click)=\"onSaveReportPrompt()\" title=\"Save Filters as Report\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\"></path><polyline points=\"17 21 17 13 7 13 7 21\"></polyline><polyline points=\"7 3 7 8 15 8\"></polyline></svg>\r\n Save\r\n </button>\r\n \r\n <select class=\"ug-ftp-toolbar-select\" (change)=\"onLoadReportSelected($event)\" title=\"Load Saved Report\">\r\n <option value=\"\" disabled selected>Load</option>\r\n <option *ngFor=\"let name of savedReportNames\" [value]=\"name\">{{ name }}</option>\r\n </select>\r\n </div>\r\n\r\n <!-- Column Filter Sections -->\r\n <div class=\"ug-ftp-sections\">\r\n <div class=\"ug-ftp-section\" *ngFor=\"let section of sections; trackBy: trackByField\">\r\n <!-- Section Header (Accordion) -->\r\n <div class=\"ug-ftp-section-header\" (click)=\"toggleSection(section)\" [class.active-filter]=\"section.hasActiveFilter || section.hasConditionFilter\">\r\n <svg class=\"ug-ftp-caret\" [class.expanded]=\"section.expanded\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\">\r\n <polyline points=\"9 18 15 12 9 6\"></polyline>\r\n </svg>\r\n <span class=\"ug-ftp-section-title\">{{ section.column.headerName || section.column.field }}</span>\r\n <span class=\"ug-ftp-active-dot\" *ngIf=\"section.hasActiveFilter || section.hasConditionFilter\" title=\"Filter active\"></span>\r\n </div>\r\n\r\n <!-- Section Body (Expanded) -->\r\n <div class=\"ug-ftp-section-body\" *ngIf=\"section.expanded\">\r\n\r\n <!-- ======= CONDITION FILTER ======= -->\r\n <div class=\"ug-ftp-condition-block\">\r\n <!-- Condition 1 -->\r\n <select class=\"ug-ftp-cond-select\" [(ngModel)]=\"section.cond1Type\" (ngModelChange)=\"onConditionChanged(section)\">\r\n <option *ngFor=\"let opt of section.filterOptions\" [ngValue]=\"opt.value\">{{ opt.label }}</option>\r\n </select>\r\n <input *ngIf=\"section.cond1Type !== 'blank' && section.cond1Type !== 'notBlank'\"\r\n class=\"ug-ftp-cond-input\"\r\n type=\"text\"\r\n placeholder=\"Filter value...\"\r\n [(ngModel)]=\"section.cond1Value\"\r\n (ngModelChange)=\"onConditionChanged(section)\" />\r\n \r\n <!-- In Range second value for Condition 1 -->\r\n <input *ngIf=\"section.cond1Type === 'inRange'\"\r\n class=\"ug-ftp-cond-input\"\r\n type=\"text\"\r\n placeholder=\"To value...\"\r\n [(ngModel)]=\"section.cond1ValueTo\"\r\n (ngModelChange)=\"onConditionChanged(section)\" />\r\n\r\n <!-- AND / OR Toggle -->\r\n <div class=\"ug-ftp-operator-row\">\r\n <label class=\"ug-ftp-radio\">\r\n <input type=\"radio\" name=\"op_{{section.column.field}}\" value=\"AND\" [(ngModel)]=\"section.condOperator\" (ngModelChange)=\"onConditionChanged(section)\" />\r\n AND\r\n </label>\r\n <label class=\"ug-ftp-radio\">\r\n <input type=\"radio\" name=\"op_{{section.column.field}}\" value=\"OR\" [(ngModel)]=\"section.condOperator\" (ngModelChange)=\"onConditionChanged(section)\" />\r\n OR\r\n </label>\r\n </div>\r\n\r\n <!-- Condition 2 -->\r\n <select class=\"ug-ftp-cond-select\" [(ngModel)]=\"section.cond2Type\" (ngModelChange)=\"onConditionChanged(section)\">\r\n <option *ngFor=\"let opt of section.filterOptions\" [ngValue]=\"opt.value\">{{ opt.label }}</option>\r\n </select>\r\n <input *ngIf=\"section.cond2Type !== 'blank' && section.cond2Type !== 'notBlank'\"\r\n class=\"ug-ftp-cond-input\"\r\n type=\"text\"\r\n placeholder=\"Filter value...\"\r\n [(ngModel)]=\"section.cond2Value\"\r\n (ngModelChange)=\"onConditionChanged(section)\" />\r\n\r\n <!-- In Range second value -->\r\n <input *ngIf=\"section.cond2Type === 'inRange'\"\r\n class=\"ug-ftp-cond-input\"\r\n type=\"text\"\r\n placeholder=\"To value...\"\r\n [(ngModel)]=\"section.cond2ValueTo\"\r\n (ngModelChange)=\"onConditionChanged(section)\" />\r\n </div>\r\n\r\n <!-- ======= SET FILTER (Checkboxes) ======= -->\r\n <div class=\"ug-ftp-search\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"M21 21l-4.35-4.35\"/></svg>\r\n <input type=\"text\" placeholder=\"Search...\" [(ngModel)]=\"section.searchQuery\" (ngModelChange)=\"onSectionSearch(section)\" />\r\n </div>\r\n\r\n <label class=\"ug-ftp-item ug-ftp-select-all\">\r\n <input type=\"checkbox\" [checked]=\"isSectionAllSelected(section)\" (change)=\"toggleSectionAll(section)\" />\r\n <span>(Select All)</span>\r\n </label>\r\n\r\n <div class=\"ug-ftp-values\">\r\n <cdk-virtual-scroll-viewport itemSize=\"28\" class=\"ug-ftp-viewport\">\r\n <label class=\"ug-ftp-item\" *cdkVirtualFor=\"let val of section.displayValues\">\r\n <input type=\"checkbox\" [checked]=\"section.selectedValues.has(val)\" (change)=\"toggleValue(section, val)\" />\r\n <span>{{ val === null || val === undefined || val === '' ? '(Blanks)' : val }}</span>\r\n </label>\r\n </cdk-virtual-scroll-viewport>\r\n <div class=\"ug-ftp-empty\" *ngIf=\"section.displayValues.length === 0\">\r\n No values found\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./filter-tool-panel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class FilterToolPanelComponent implements OnChanges {\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Input() rowData: any[] = [];\r\n @Input() activeFilters: Map<string, Set<any>> = new Map();\r\n @Input() conditionFilters: Map<string, ColumnConditionFilter> = new Map();\r\n @Input() savedReportNames: string[] = [];\r\n\r\n @Output() filterApplied = new EventEmitter<{ field: string, selected: Set<any> }>();\r\n @Output() conditionFilterChanged = new EventEmitter<{ field: string, filter: ColumnConditionFilter | null }>();\r\n @Output() clearAllFilters = new EventEmitter<void>();\r\n @Output() saveReportRequested = new EventEmitter<string>();\r\n @Output() loadReportRequested = new EventEmitter<string>();\r\n\r\n sections: FilterSection[] = [];\r\n private _loadedFields = new Set<string>();\r\n\r\n constructor(private cdr: ChangeDetectorRef) { }\r\n\r\n get hasAnyActiveFilter(): boolean {\r\n return this.sections.some(s => s.hasActiveFilter || s.hasConditionFilter);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['columns']) {\r\n this.buildSections();\r\n }\r\n\r\n if (changes['activeFilters']) {\r\n this.syncActiveFilters();\r\n }\r\n\r\n if (changes['conditionFilters']) {\r\n this.syncConditionFilters();\r\n }\r\n\r\n if (changes['rowData'] && !changes['rowData'].firstChange) {\r\n this._loadedFields.clear();\r\n this.sections.forEach(s => {\r\n if (s.expanded) {\r\n this.ensureSectionLoaded(s);\r\n }\r\n });\r\n }\r\n }\r\n\r\n private buildSections() {\r\n const oldStateMap = new Map<string, FilterSection>();\r\n for (const s of this.sections) {\r\n oldStateMap.set(s.column.field, s);\r\n }\r\n\r\n this._loadedFields.clear();\r\n\r\n this.sections = this.columns\r\n .map(col => {\r\n const existing = this.activeFilters.get(col.field);\r\n const hasActive = !!existing && existing.size > 0;\r\n const old = oldStateMap.get(col.field);\r\n\r\n // Auto-detect if column is numeric from first non-null value\r\n const isNumeric = this.detectNumericColumn(col.field);\r\n const filterOptions = isNumeric ? NUMBER_FILTER_OPTIONS : TEXT_FILTER_OPTIONS;\r\n\r\n const section: FilterSection = {\r\n column: col,\r\n expanded: old ? old.expanded : false,\r\n searchQuery: old ? old.searchQuery : '',\r\n uniqueValues: [],\r\n displayValues: [],\r\n selectedValues: new Set(),\r\n hasActiveFilter: hasActive,\r\n filterOptions: filterOptions,\r\n cond1Type: old ? old.cond1Type : (isNumeric ? 'equals' : 'contains'),\r\n cond1Value: old ? old.cond1Value : '',\r\n cond1ValueTo: old ? old.cond1ValueTo : '',\r\n condOperator: old ? old.condOperator : 'AND',\r\n cond2Type: old ? old.cond2Type : (isNumeric ? 'equals' : 'contains'),\r\n cond2Value: old ? old.cond2Value : '',\r\n cond2ValueTo: old ? old.cond2ValueTo : '',\r\n hasConditionFilter: old ? old.hasConditionFilter : false\r\n };\r\n\r\n if (section.expanded) {\r\n this.ensureSectionLoaded(section);\r\n }\r\n\r\n return section;\r\n });\r\n }\r\n\r\n private detectNumericColumn(field: string): boolean {\r\n // Sample first 10 non-null values to detect type\r\n let count = 0;\r\n for (let i = 0; i < this.rowData.length && count < 10; i++) {\r\n const val = this.rowData[i][field];\r\n if (val !== null && val !== undefined && val !== '') {\r\n if (typeof val === 'number') return true;\r\n // Check if string looks like a number (but not \"$...\" formatted)\r\n const str = String(val);\r\n if (str.startsWith('$')) {\r\n // Currency — treat as number\r\n const numPart = str.replace(/[$,]/g, '');\r\n if (!isNaN(Number(numPart))) return true;\r\n }\r\n if (!isNaN(Number(str))) return true;\r\n count++;\r\n if (count >= 3) return false; // 3 non-numeric strings = text column\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private ensureSectionLoaded(section: FilterSection) {\r\n if (this._loadedFields.has(section.column.field)) return;\r\n this._loadedFields.add(section.column.field);\r\n\r\n const field = section.column.field;\r\n const uniqueSet = new Set<any>();\r\n\r\n for (let i = 0; i < this.rowData.length; i++) {\r\n uniqueSet.add(this.rowData[i][field]);\r\n }\r\n\r\n section.uniqueValues = Array.from(uniqueSet).sort((a, b) => {\r\n if (a === null || a === undefined || a === '') return -1;\r\n if (b === null || b === undefined || b === '') return 1;\r\n return a > b ? 1 : -1;\r\n });\r\n\r\n const existing = this.activeFilters.get(field);\r\n if (existing && existing.size > 0) {\r\n section.selectedValues = new Set(existing);\r\n } else {\r\n section.selectedValues = new Set(section.uniqueValues);\r\n }\r\n\r\n section.displayValues = [...section.uniqueValues];\r\n\r\n if (section.searchQuery) {\r\n this.applySearchOnSection(section);\r\n }\r\n }\r\n\r\n private syncActiveFilters() {\r\n for (const section of this.sections) {\r\n const existing = this.activeFilters.get(section.column.field);\r\n const hasActive = !!existing && existing.size > 0;\r\n section.hasActiveFilter = hasActive;\r\n\r\n if (this._loadedFields.has(section.column.field)) {\r\n if (hasActive) {\r\n section.selectedValues = new Set(existing);\r\n } else {\r\n section.selectedValues = new Set(section.uniqueValues);\r\n }\r\n }\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n\r\n private syncConditionFilters() {\r\n for (const section of this.sections) {\r\n const filter = this.conditionFilters.get(section.column.field);\r\n if (filter) {\r\n section.cond1Type = filter.condition1.type;\r\n section.cond1Value = filter.condition1.value || '';\r\n section.cond1ValueTo = filter.condition1.valueTo || '';\r\n section.condOperator = filter.operator;\r\n if (filter.condition2) {\r\n section.cond2Type = filter.condition2.type;\r\n section.cond2Value = filter.condition2.value || '';\r\n section.cond2ValueTo = filter.condition2.valueTo || '';\r\n } else {\r\n section.cond2Value = '';\r\n section.cond2ValueTo = '';\r\n }\r\n section.hasConditionFilter = true;\r\n } else {\r\n section.hasConditionFilter = false;\r\n // Don't necessarily reset values to avoid flickering if user is typing\r\n }\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n\r\n // --- Condition Filter Logic ---\r\n\r\n onConditionChanged(section: FilterSection) {\r\n const hasCond1 = section.cond1Type === 'blank' || section.cond1Type === 'notBlank' ||\r\n (section.cond1Value.trim() !== '' && (section.cond1Type !== 'inRange' || section.cond1ValueTo.trim() !== ''));\r\n const hasCond2 = section.cond2Type === 'blank' || section.cond2Type === 'notBlank' ||\r\n (section.cond2Value.trim() !== '' && (section.cond2Type !== 'inRange' || section.cond2ValueTo.trim() !== ''));\r\n\r\n if (!hasCond1 && !hasCond2) {\r\n section.hasConditionFilter = false;\r\n this.conditionFilterChanged.emit({ field: section.column.field, filter: null });\r\n return;\r\n }\r\n\r\n section.hasConditionFilter = true;\r\n\r\n const filter: ColumnConditionFilter = {\r\n condition1: { type: section.cond1Type, value: section.cond1Value, valueTo: section.cond1ValueTo },\r\n operator: section.condOperator,\r\n condition2: hasCond2 ? { type: section.cond2Type, value: section.cond2Value, valueTo: section.cond2ValueTo } : undefined\r\n };\r\n\r\n this.conditionFilterChanged.emit({ field: section.column.field, filter });\r\n }\r\n\r\n // --- Accordion Controls ---\r\n\r\n toggleSection(section: FilterSection) {\r\n section.expanded = !section.expanded;\r\n if (section.expanded) {\r\n this.ensureSectionLoaded(section);\r\n }\r\n }\r\n\r\n expandAll() {\r\n this.sections.forEach(s => {\r\n s.expanded = true;\r\n this.ensureSectionLoaded(s);\r\n });\r\n }\r\n\r\n collapseAll() {\r\n this.sections.forEach(s => s.expanded = false);\r\n }\r\n\r\n // --- Search ---\r\n\r\n onSectionSearch(section: FilterSection) {\r\n this.applySearchOnSection(section);\r\n }\r\n\r\n private applySearchOnSection(section: FilterSection) {\r\n if (!section.searchQuery) {\r\n section.displayValues = [...section.uniqueValues];\r\n } else {\r\n const q = section.searchQuery.toLowerCase();\r\n section.displayValues = section.uniqueValues.filter(v =>\r\n String(v).toLowerCase().includes(q)\r\n );\r\n }\r\n }\r\n\r\n // --- Checkbox Logic ---\r\n\r\n isSectionAllSelected(section: FilterSection): boolean {\r\n if (section.displayValues.length === 0) return false;\r\n return section.displayValues.every(v => section.selectedValues.has(v));\r\n }\r\n\r\n toggleSectionAll(section: FilterSection) {\r\n const targetState = !this.isSectionAllSelected(section);\r\n if (targetState) {\r\n section.displayValues.forEach(v => section.selectedValues.add(v));\r\n } else {\r\n section.displayValues.forEach(v => section.selectedValues.delete(v));\r\n }\r\n this.emitFilter(section);\r\n }\r\n\r\n toggleValue(section: FilterSection, val: any) {\r\n if (section.selectedValues.has(val)) {\r\n section.selectedValues.delete(val);\r\n } else {\r\n section.selectedValues.add(val);\r\n }\r\n this.emitFilter(section);\r\n }\r\n\r\n private emitFilter(section: FilterSection) {\r\n let isAllSelected = true;\r\n for (const v of section.uniqueValues) {\r\n if (!section.selectedValues.has(v)) {\r\n isAllSelected = false;\r\n break;\r\n }\r\n }\r\n\r\n section.hasActiveFilter = !isAllSelected;\r\n\r\n const finalSet = isAllSelected ? new Set<any>() : new Set(section.selectedValues);\r\n this.filterApplied.emit({ field: section.column.field, selected: finalSet });\r\n }\r\n\r\n // --- Clear All ---\r\n\r\n onClearAll() {\r\n for (const section of this.sections) {\r\n if (this._loadedFields.has(section.column.field)) {\r\n section.selectedValues = new Set(section.uniqueValues);\r\n section.displayValues = [...section.uniqueValues];\r\n }\r\n section.hasActiveFilter = false;\r\n section.searchQuery = '';\r\n // Reset condition filters\r\n section.cond1Value = '';\r\n section.cond2Value = '';\r\n section.cond2ValueTo = '';\r\n section.cond1ValueTo = '';\r\n section.hasConditionFilter = false;\r\n }\r\n this.clearAllFilters.emit();\r\n }\r\n\r\n trackByField(index: number, section: FilterSection): string {\r\n return section.column.field;\r\n }\r\n\r\n onSaveReportPrompt() {\r\n const name = prompt('Enter a name for this report:');\r\n if (name && name.trim()) {\r\n this.saveReportRequested.emit(name.trim());\r\n }\r\n }\r\n\r\n onLoadReportSelected(event: Event) {\r\n const select = event.target as HTMLSelectElement;\r\n const name = select.value;\r\n if (name) {\r\n this.loadReportRequested.emit(name);\r\n select.value = ''; // Reset so it can be re-selected if needed\r\n }\r\n }\r\n}\r\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, inject, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ColumnToolPanelComponent } from '../column-tool-panel/column-tool-panel.component';\r\nimport { FilterToolPanelComponent } from '../filter-tool-panel/filter-tool-panel.component';\r\nimport { UltraGridColumn, ValueColumnModel } from '../../models/column.model';\r\nimport { ColumnConditionFilter } from '../../models/filter.model';\r\n\r\n@Component({\r\n selector: 'ug-side-bar',\r\n standalone: true,\r\n imports: [CommonModule, ColumnToolPanelComponent, FilterToolPanelComponent],\r\n template: `\r\n <div class=\"ug-side-bar-wrapper\">\r\n <!-- Content Area -->\r\n <div class=\"ug-side-bar-content\" *ngIf=\"activeTab\">\r\n <div class=\"ug-side-bar-header\">\r\n <span class=\"ug-side-bar-title\">{{ activeTab === 'columns' ? 'Columns' : 'Filters' }}</span>\r\n <span class=\"ug-side-bar-close\" (click)=\"closePanel()\">\r\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line></svg>\r\n </span>\r\n </div>\r\n \r\n <div class=\"ug-side-bar-body\">\r\n <ug-column-tool-panel \r\n *ngIf=\"activeTab === 'columns'\"\r\n [columns]=\"columns\"\r\n [groupModel]=\"groupModel\"\r\n [valuesModel]=\"valuesModel\"\r\n [pivotMode]=\"pivotMode\"\r\n [pivotColumns]=\"pivotColumns\"\r\n (columnsUpdated)=\"onColumnsChanged($event)\"\r\n (groupModelChanged)=\"onGroupModelChanged($event)\"\r\n (valuesModelChanged)=\"onValuesModelChanged($event)\"\r\n (pivotModeChanged)=\"onPivotModeChanged($event)\"\r\n (pivotModelChanged)=\"onPivotModelChanged($event)\"\r\n (exportExcelClicked)=\"onExportExcelClicked()\">\r\n </ug-column-tool-panel>\r\n\r\n <ug-filter-tool-panel\r\n *ngIf=\"activeTab === 'filters'\"\r\n [columns]=\"columns\"\r\n [rowData]=\"rowData\"\r\n [activeFilters]=\"activeFilters\"\r\n [conditionFilters]=\"conditionFilters\"\r\n [savedReportNames]=\"savedReportNames\"\r\n (filterApplied)=\"onFilterApplied($event)\"\r\n (conditionFilterChanged)=\"onConditionFilterChanged($event)\"\r\n (clearAllFilters)=\"onClearAllFilters()\"\r\n (saveReportRequested)=\"saveReportRequested.emit($event)\"\r\n (loadReportRequested)=\"loadReportRequested.emit($event)\">\r\n </ug-filter-tool-panel>\r\n </div>\r\n </div>\r\n\r\n <!-- Toolbar / Tabs -->\r\n <div class=\"ug-side-bar-toolbar\">\r\n <div class=\"ug-side-bar-tab\" [class.active]=\"activeTab === 'columns'\" (click)=\"toggleTab('columns')\" title=\"Columns\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>\r\n <line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\"></line>\r\n </svg>\r\n <span>Columns</span>\r\n </div>\r\n <div class=\"ug-side-bar-tab\" [class.active]=\"activeTab === 'filters'\" (click)=\"toggleTab('filters')\" title=\"Filters\">\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <polygon points=\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"></polygon>\r\n </svg>\r\n <span>Filters</span>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['./side-bar.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SideBarComponent implements OnChanges {\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Input() rowData: any[] = [];\r\n @Input() activeFilters: Map<string, Set<any>> = new Map();\r\n @Input() conditionFilters: Map<string, ColumnConditionFilter> = new Map();\r\n @Input() groupModel: string[] = [];\r\n @Input() valuesModel: ValueColumnModel[] = [];\r\n @Input() pivotMode: boolean = false;\r\n @Input() pivotColumns: string[] = [];\r\n @Input() savedReportNames: string[] = [];\r\n\r\n @Output() columnsUpdated = new EventEmitter<UltraGridColumn[]>();\r\n @Output() groupModelUpdated = new EventEmitter<string[]>();\r\n @Output() valuesModelUpdated = new EventEmitter<ValueColumnModel[]>();\r\n @Output() pivotModeUpdated = new EventEmitter<boolean>();\r\n @Output() pivotModelUpdated = new EventEmitter<string[]>();\r\n @Output() exportExcelClicked = new EventEmitter<void>();\r\n @Output() filterApplied = new EventEmitter<{ field: string, selected: Set<any> }>();\r\n @Output() conditionFilterChanged = new EventEmitter<{ field: string, filter: ColumnConditionFilter | null }>();\r\n @Output() clearAllFilters = new EventEmitter<void>();\r\n @Output() saveReportRequested = new EventEmitter<string>();\r\n @Output() loadReportRequested = new EventEmitter<string>();\r\n\r\n @Input() activeTab: 'columns' | 'filters' | null = null;\r\n private cdr = inject(ChangeDetectorRef);\r\n\r\n constructor() {\r\n console.log('SideBarComponent initialized. activeTab:', this.activeTab);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['activeTab']) {\r\n console.log('SideBarComponent activeTab changed to:', this.activeTab);\r\n }\r\n }\r\n\r\n toggleTab(tab: 'columns' | 'filters') {\r\n console.log('Sidebar toggleTab requested:', tab, 'Current:', this.activeTab);\r\n if (this.activeTab === tab) {\r\n this.activeTab = null;\r\n } else {\r\n this.activeTab = tab;\r\n }\r\n this.cdr.markForCheck();\r\n }\r\n\r\n closePanel() {\r\n this.activeTab = null;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onColumnsChanged(updatedCols: UltraGridColumn[]) {\r\n this.columnsUpdated.emit(updatedCols);\r\n }\r\n\r\n onGroupModelChanged(model: string[]) {\r\n this.groupModelUpdated.emit(model);\r\n }\r\n\r\n onExportExcelClicked() {\r\n this.exportExcelClicked.emit();\r\n }\r\n\r\n onFilterApplied(event: { field: string, selected: Set<any> }) {\r\n this.filterApplied.emit(event);\r\n }\r\n\r\n onClearAllFilters() {\r\n this.clearAllFilters.emit();\r\n }\r\n\r\n onConditionFilterChanged(event: { field: string, filter: ColumnConditionFilter | null }) {\r\n this.conditionFilterChanged.emit(event);\r\n }\r\n\r\n onValuesModelChanged(model: ValueColumnModel[]) {\r\n this.valuesModelUpdated.emit(model);\r\n }\r\n\r\n onPivotModeChanged(enabled: boolean) {\r\n this.pivotModeUpdated.emit(enabled);\r\n }\r\n\r\n onPivotModelChanged(model: string[]) {\r\n this.pivotModelUpdated.emit(model);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UltraGridNode, UltraGridGroupNode, UltraGridGroupFooterNode } from '../models/row.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class GridFlattenerService {\r\n\r\n flatten(nodes: UltraGridNode[], groupStateMap: Map<string, boolean>, groupIncludeFooter: boolean = false): UltraGridNode[] {\r\n const result: UltraGridNode[] = [];\r\n this.traverse(nodes, groupStateMap, groupIncludeFooter, result);\r\n return result;\r\n }\r\n\r\n private traverse(nodes: UltraGridNode[], stateMap: Map<string, boolean>, groupIncludeFooter: boolean, result: UltraGridNode[]) {\r\n for (const node of nodes) {\r\n // Push the current node (could be a group header or a leaf)\r\n result.push(node);\r\n\r\n // If it's a group node, only push its children if it is explicitly expanded in the state map\r\n if (node.type === 'group') {\r\n const groupNode = node as UltraGridGroupNode;\r\n const isExpanded = stateMap.get(groupNode.id as string);\r\n\r\n if (isExpanded) {\r\n if (groupNode.children && groupNode.children.length > 0) {\r\n this.traverse(groupNode.children, stateMap, groupIncludeFooter, result);\r\n }\r\n\r\n if (groupIncludeFooter) {\r\n const footerNode: UltraGridGroupFooterNode = {\r\n id: `${groupNode.id}-footer`,\r\n type: 'group-footer',\r\n level: groupNode.level,\r\n parent: groupNode.parent,\r\n groupField: groupNode.groupField,\r\n groupKey: groupNode.groupKey,\r\n data: { ...groupNode.data } // Copy aggregated data\r\n };\r\n result.push(footerNode);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","// AUTO-GENERATED FILE. DO NOT EDIT.\n// Built from src/lib/workers/excel.worker.ts\nexport const EXCEL_WORKER_CODE = `\"use strict\";(()=>{var Ct={};Ct.version=\"0.18.5\";var Gr=1200,ut=1252,Yi=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4],Ji={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969},sn=function(e){Yi.indexOf(e)!=-1&&(ut=Ji[0]=e)};function qi(){sn(1252)}var Dt=function(e){Gr=e,sn(e)};function Zi(){Dt(1200),qi()}function Qi(e){for(var t=[],r=0;r<e.length>>1;++r)t[r]=String.fromCharCode(e.charCodeAt(2*r+1)+(e.charCodeAt(2*r)<<8));return t.join(\"\")}var Vt=function(t){return String.fromCharCode(t)},_0=function(t){return String.fromCharCode(t)},ke;var Er=null,wt=!0,br=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";function Ot(e){for(var t=\"\",r=0,a=0,n=0,i=0,s=0,f=0,o=0,c=0;c<e.length;)r=e.charCodeAt(c++),i=r>>2,a=e.charCodeAt(c++),s=(r&3)<<4|a>>4,n=e.charCodeAt(c++),f=(a&15)<<2|n>>6,o=n&63,isNaN(a)?f=o=64:isNaN(n)&&(o=64),t+=br.charAt(i)+br.charAt(s)+br.charAt(f)+br.charAt(o);return t}function Or(e){var t=\"\",r=0,a=0,n=0,i=0,s=0,f=0,o=0;e=e.replace(/[^\\\\w\\\\+\\\\/\\\\=]/g,\"\");for(var c=0;c<e.length;)i=br.indexOf(e.charAt(c++)),s=br.indexOf(e.charAt(c++)),r=i<<2|s>>4,t+=String.fromCharCode(r),f=br.indexOf(e.charAt(c++)),a=(s&15)<<4|f>>2,f!==64&&(t+=String.fromCharCode(a)),o=br.indexOf(e.charAt(c++)),n=(f&3)<<6|o,o!==64&&(t+=String.fromCharCode(n));return t}var xe=(function(){return typeof Buffer<\"u\"&&typeof process<\"u\"&&typeof process.versions<\"u\"&&!!process.versions.node})(),Rr=(function(){if(typeof Buffer<\"u\"){var e=!Buffer.from;if(!e)try{Buffer.from(\"foo\",\"utf8\")}catch{e=!0}return e?function(t,r){return r?new Buffer(t,r):new Buffer(t)}:Buffer.from.bind(Buffer)}return function(){}})();function \\$r(e){return xe?Buffer.alloc?Buffer.alloc(e):new Buffer(e):typeof Uint8Array<\"u\"?new Uint8Array(e):new Array(e)}function w0(e){return xe?Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e):typeof Uint8Array<\"u\"?new Uint8Array(e):new Array(e)}var pr=function(t){return xe?Rr(t,\"binary\"):t.split(\"\").map(function(r){return r.charCodeAt(0)&255})};function la(e){if(typeof ArrayBuffer>\"u\")return pr(e);for(var t=new ArrayBuffer(e.length),r=new Uint8Array(t),a=0;a!=e.length;++a)r[a]=e.charCodeAt(a)&255;return t}function Pt(e){if(Array.isArray(e))return e.map(function(a){return String.fromCharCode(a)}).join(\"\");for(var t=[],r=0;r<e.length;++r)t[r]=String.fromCharCode(e[r]);return t.join(\"\")}function es(e){if(typeof Uint8Array>\"u\")throw new Error(\"Unsupported\");return new Uint8Array(e)}var Ve=xe?function(e){return Buffer.concat(e.map(function(t){return Buffer.isBuffer(t)?t:Rr(t)}))}:function(e){if(typeof Uint8Array<\"u\"){var t=0,r=0;for(t=0;t<e.length;++t)r+=e[t].length;var a=new Uint8Array(r),n=0;for(t=0,r=0;t<e.length;r+=n,++t)if(n=e[t].length,e[t]instanceof Uint8Array)a.set(e[t],r);else{if(typeof e[t]==\"string\")throw\"wtf\";a.set(new Uint8Array(e[t]),r)}return a}return[].concat.apply([],e.map(function(i){return Array.isArray(i)?i:[].slice.call(i)}))};function rs(e){for(var t=[],r=0,a=e.length+250,n=\\$r(e.length+255),i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s<128)n[r++]=s;else if(s<2048)n[r++]=192|s>>6&31,n[r++]=128|s&63;else if(s>=55296&&s<57344){s=(s&1023)+64;var f=e.charCodeAt(++i)&1023;n[r++]=240|s>>8&7,n[r++]=128|s>>2&63,n[r++]=128|f>>6&15|(s&3)<<4,n[r++]=128|f&63}else n[r++]=224|s>>12&15,n[r++]=128|s>>6&63,n[r++]=128|s&63;r>a&&(t.push(n.slice(0,r)),r=0,n=\\$r(65535),a=65530)}return t.push(n.slice(0,r)),Ve(t)}var st=/\\\\u0000/g,Xt=/[\\\\u0001-\\\\u0006]/g;function ft(e){for(var t=\"\",r=e.length-1;r>=0;)t+=e.charAt(r--);return t}function mr(e,t){var r=\"\"+e;return r.length>=t?r:Fe(\"0\",t-r.length)+r}function Ba(e,t){var r=\"\"+e;return r.length>=t?r:Fe(\" \",t-r.length)+r}function qt(e,t){var r=\"\"+e;return r.length>=t?r:r+Fe(\" \",t-r.length)}function ts(e,t){var r=\"\"+Math.round(e);return r.length>=t?r:Fe(\"0\",t-r.length)+r}function as(e,t){var r=\"\"+e;return r.length>=t?r:Fe(\"0\",t-r.length)+r}var k0=Math.pow(2,32);function rt(e,t){if(e>k0||e<-k0)return ts(e,t);var r=Math.round(e);return as(r,t)}function Zt(e,t){return t=t||0,e.length>=7+t&&(e.charCodeAt(t)|32)===103&&(e.charCodeAt(t+1)|32)===101&&(e.charCodeAt(t+2)|32)===110&&(e.charCodeAt(t+3)|32)===101&&(e.charCodeAt(t+4)|32)===114&&(e.charCodeAt(t+5)|32)===97&&(e.charCodeAt(t+6)|32)===108}var E0=[[\"Sun\",\"Sunday\"],[\"Mon\",\"Monday\"],[\"Tue\",\"Tuesday\"],[\"Wed\",\"Wednesday\"],[\"Thu\",\"Thursday\"],[\"Fri\",\"Friday\"],[\"Sat\",\"Saturday\"]],Fa=[[\"J\",\"Jan\",\"January\"],[\"F\",\"Feb\",\"February\"],[\"M\",\"Mar\",\"March\"],[\"A\",\"Apr\",\"April\"],[\"M\",\"May\",\"May\"],[\"J\",\"Jun\",\"June\"],[\"J\",\"Jul\",\"July\"],[\"A\",\"Aug\",\"August\"],[\"S\",\"Sep\",\"September\"],[\"O\",\"Oct\",\"October\"],[\"N\",\"Nov\",\"November\"],[\"D\",\"Dec\",\"December\"]];function ns(e){return e||(e={}),e[0]=\"General\",e[1]=\"0\",e[2]=\"0.00\",e[3]=\"#,##0\",e[4]=\"#,##0.00\",e[9]=\"0%\",e[10]=\"0.00%\",e[11]=\"0.00E+00\",e[12]=\"# ?/?\",e[13]=\"# ??/??\",e[14]=\"m/d/yy\",e[15]=\"d-mmm-yy\",e[16]=\"d-mmm\",e[17]=\"mmm-yy\",e[18]=\"h:mm AM/PM\",e[19]=\"h:mm:ss AM/PM\",e[20]=\"h:mm\",e[21]=\"h:mm:ss\",e[22]=\"m/d/yy h:mm\",e[37]=\"#,##0 ;(#,##0)\",e[38]=\"#,##0 ;[Red](#,##0)\",e[39]=\"#,##0.00;(#,##0.00)\",e[40]=\"#,##0.00;[Red](#,##0.00)\",e[45]=\"mm:ss\",e[46]=\"[h]:mm:ss\",e[47]=\"mmss.0\",e[48]=\"##0.0E+0\",e[49]=\"@\",e[56]='\"\\\\u4E0A\\\\u5348/\\\\u4E0B\\\\u5348 \"hh\"\\\\u6642\"mm\"\\\\u5206\"ss\"\\\\u79D2 \"',e}var ye={0:\"General\",1:\"0\",2:\"0.00\",3:\"#,##0\",4:\"#,##0.00\",9:\"0%\",10:\"0.00%\",11:\"0.00E+00\",12:\"# ?/?\",13:\"# ??/??\",14:\"m/d/yy\",15:\"d-mmm-yy\",16:\"d-mmm\",17:\"mmm-yy\",18:\"h:mm AM/PM\",19:\"h:mm:ss AM/PM\",20:\"h:mm\",21:\"h:mm:ss\",22:\"m/d/yy h:mm\",37:\"#,##0 ;(#,##0)\",38:\"#,##0 ;[Red](#,##0)\",39:\"#,##0.00;(#,##0.00)\",40:\"#,##0.00;[Red](#,##0.00)\",45:\"mm:ss\",46:\"[h]:mm:ss\",47:\"mmss.0\",48:\"##0.0E+0\",49:\"@\",56:'\"\\\\u4E0A\\\\u5348/\\\\u4E0B\\\\u5348 \"hh\"\\\\u6642\"mm\"\\\\u5206\"ss\"\\\\u79D2 \"'},T0={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0},is={5:'\"\\$\"#,##0_);\\\\\\\\(\"\\$\"#,##0\\\\\\\\)',63:'\"\\$\"#,##0_);\\\\\\\\(\"\\$\"#,##0\\\\\\\\)',6:'\"\\$\"#,##0_);[Red]\\\\\\\\(\"\\$\"#,##0\\\\\\\\)',64:'\"\\$\"#,##0_);[Red]\\\\\\\\(\"\\$\"#,##0\\\\\\\\)',7:'\"\\$\"#,##0.00_);\\\\\\\\(\"\\$\"#,##0.00\\\\\\\\)',65:'\"\\$\"#,##0.00_);\\\\\\\\(\"\\$\"#,##0.00\\\\\\\\)',8:'\"\\$\"#,##0.00_);[Red]\\\\\\\\(\"\\$\"#,##0.00\\\\\\\\)',66:'\"\\$\"#,##0.00_);[Red]\\\\\\\\(\"\\$\"#,##0.00\\\\\\\\)',41:'_(* #,##0_);_(* \\\\\\\\(#,##0\\\\\\\\);_(* \"-\"_);_(@_)',42:'_(\"\\$\"* #,##0_);_(\"\\$\"* \\\\\\\\(#,##0\\\\\\\\);_(\"\\$\"* \"-\"_);_(@_)',43:'_(* #,##0.00_);_(* \\\\\\\\(#,##0.00\\\\\\\\);_(* \"-\"??_);_(@_)',44:'_(\"\\$\"* #,##0.00_);_(\"\\$\"* \\\\\\\\(#,##0.00\\\\\\\\);_(\"\\$\"* \"-\"??_);_(@_)'};function Qt(e,t,r){for(var a=e<0?-1:1,n=e*a,i=0,s=1,f=0,o=1,c=0,l=0,v=Math.floor(n);c<t&&(v=Math.floor(n),f=v*s+i,l=v*c+o,!(n-v<5e-8));)n=1/(n-v),i=s,s=f,o=c,c=l;if(l>t&&(c>t?(l=o,f=i):(l=c,f=s)),!r)return[0,a*f,l];var h=Math.floor(a*f/l);return[h,a*f-h*l,l]}function Gt(e,t,r){if(e>2958465||e<0)return null;var a=e|0,n=Math.floor(86400*(e-a)),i=0,s=[],f={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(f.u)<1e-6&&(f.u=0),t&&t.date1904&&(a+=1462),f.u>.9999&&(f.u=0,++n==86400&&(f.T=n=0,++a,++f.D)),a===60)s=r?[1317,10,29]:[1900,2,29],i=3;else if(a===0)s=r?[1317,8,29]:[1900,1,0],i=6;else{a>60&&--a;var o=new Date(1900,0,1);o.setDate(o.getDate()+a-1),s=[o.getFullYear(),o.getMonth()+1,o.getDate()],i=o.getDay(),a<60&&(i=(i+6)%7),r&&(i=hs(o,s))}return f.y=s[0],f.m=s[1],f.d=s[2],f.S=n%60,n=Math.floor(n/60),f.M=n%60,n=Math.floor(n/60),f.H=n,f.q=i,f}var fn=new Date(1899,11,31,0,0,0),ss=fn.getTime(),fs=new Date(1900,2,1,0,0,0);function cn(e,t){var r=e.getTime();return t?r-=1461*24*60*60*1e3:e>=fs&&(r+=1440*60*1e3),(r-(ss+(e.getTimezoneOffset()-fn.getTimezoneOffset())*6e4))/(1440*60*1e3)}function Ma(e){return e.indexOf(\".\")==-1?e:e.replace(/(?:\\\\.0*|(\\\\.\\\\d*[1-9])0+)\\$/,\"\\$1\")}function cs(e){return e.indexOf(\"E\")==-1?e:e.replace(/(?:\\\\.0*|(\\\\.\\\\d*[1-9])0+)[Ee]/,\"\\$1E\").replace(/(E[+-])(\\\\d)\\$/,\"\\$10\\$2\")}function os(e){var t=e<0?12:11,r=Ma(e.toFixed(12));return r.length<=t||(r=e.toPrecision(10),r.length<=t)?r:e.toExponential(5)}function ls(e){var t=Ma(e.toFixed(11));return t.length>(e<0?12:11)||t===\"0\"||t===\"-0\"?e.toPrecision(6):t}function us(e){var t=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),r;return t>=-4&&t<=-1?r=e.toPrecision(10+t):Math.abs(t)<=9?r=os(e):t===10?r=e.toFixed(10).substr(0,12):r=ls(e),Ma(cs(r.toUpperCase()))}function Na(e,t){switch(typeof e){case\"string\":return e;case\"boolean\":return e?\"TRUE\":\"FALSE\";case\"number\":return(e|0)===e?e.toString(10):us(e);case\"undefined\":return\"\";case\"object\":if(e==null)return\"\";if(e instanceof Date)return Lr(14,cn(e,t&&t.date1904),t)}throw new Error(\"unsupported value in General format: \"+e)}function hs(e,t){t[0]-=581;var r=e.getDay();return e<60&&(r=(r+6)%7),r}function xs(e,t,r,a){var n=\"\",i=0,s=0,f=r.y,o,c=0;switch(e){case 98:f=r.y+543;case 121:switch(t.length){case 1:case 2:o=f%100,c=2;break;default:o=f%1e4,c=4;break}break;case 109:switch(t.length){case 1:case 2:o=r.m,c=t.length;break;case 3:return Fa[r.m-1][1];case 5:return Fa[r.m-1][0];default:return Fa[r.m-1][2]}break;case 100:switch(t.length){case 1:case 2:o=r.d,c=t.length;break;case 3:return E0[r.q][0];default:return E0[r.q][1]}break;case 104:switch(t.length){case 1:case 2:o=1+(r.H+11)%12,c=t.length;break;default:throw\"bad hour format: \"+t}break;case 72:switch(t.length){case 1:case 2:o=r.H,c=t.length;break;default:throw\"bad hour format: \"+t}break;case 77:switch(t.length){case 1:case 2:o=r.M,c=t.length;break;default:throw\"bad minute format: \"+t}break;case 115:if(t!=\"s\"&&t!=\"ss\"&&t!=\".0\"&&t!=\".00\"&&t!=\".000\")throw\"bad second format: \"+t;return r.u===0&&(t==\"s\"||t==\"ss\")?mr(r.S,t.length):(a>=2?s=a===3?1e3:100:s=a===1?10:1,i=Math.round(s*(r.S+r.u)),i>=60*s&&(i=0),t===\"s\"?i===0?\"0\":\"\"+i/s:(n=mr(i,2+a),t===\"ss\"?n.substr(0,2):\".\"+n.substr(2,t.length-1)));case 90:switch(t){case\"[h]\":case\"[hh]\":o=r.D*24+r.H;break;case\"[m]\":case\"[mm]\":o=(r.D*24+r.H)*60+r.M;break;case\"[s]\":case\"[ss]\":o=((r.D*24+r.H)*60+r.M)*60+Math.round(r.S+r.u);break;default:throw\"bad abstime format: \"+t}c=t.length===3?1:2;break;case 101:o=f,c=1;break}var l=c>0?mr(o,c):\"\";return l}function Pr(e){var t=3;if(e.length<=t)return e;for(var r=e.length%t,a=e.substr(0,r);r!=e.length;r+=t)a+=(a.length>0?\",\":\"\")+e.substr(r,t);return a}var on=/%/g;function ds(e,t,r){var a=t.replace(on,\"\"),n=t.length-a.length;return Ar(e,a,r*Math.pow(10,2*n))+Fe(\"%\",n)}function vs(e,t,r){for(var a=t.length-1;t.charCodeAt(a-1)===44;)--a;return Ar(e,t.substr(0,a),r/Math.pow(10,3*(t.length-a)))}function ln(e,t){var r,a=e.indexOf(\"E\")-e.indexOf(\".\")-1;if(e.match(/^#+0.0E\\\\+0\\$/)){if(t==0)return\"0.0E+0\";if(t<0)return\"-\"+ln(e,-t);var n=e.indexOf(\".\");n===-1&&(n=e.indexOf(\"E\"));var i=Math.floor(Math.log(t)*Math.LOG10E)%n;if(i<0&&(i+=n),r=(t/Math.pow(10,i)).toPrecision(a+1+(n+i)%n),r.indexOf(\"e\")===-1){var s=Math.floor(Math.log(t)*Math.LOG10E);for(r.indexOf(\".\")===-1?r=r.charAt(0)+\".\"+r.substr(1)+\"E+\"+(s-r.length+i):r+=\"E+\"+(s-i);r.substr(0,2)===\"0.\";)r=r.charAt(0)+r.substr(2,n)+\".\"+r.substr(2+n),r=r.replace(/^0+([1-9])/,\"\\$1\").replace(/^0+\\\\./,\"0.\");r=r.replace(/\\\\+-/,\"-\")}r=r.replace(/^([+-]?)(\\\\d*)\\\\.(\\\\d*)[Ee]/,function(f,o,c,l){return o+c+l.substr(0,(n+i)%n)+\".\"+l.substr(i)+\"E\"})}else r=t.toExponential(a);return e.match(/E\\\\+00\\$/)&&r.match(/e[+-]\\\\d\\$/)&&(r=r.substr(0,r.length-1)+\"0\"+r.charAt(r.length-1)),e.match(/E\\\\-/)&&r.match(/e\\\\+/)&&(r=r.replace(/e\\\\+/,\"e\")),r.replace(\"e\",\"E\")}var un=/# (\\\\?+)( ?)\\\\/( ?)(\\\\d+)/;function ps(e,t,r){var a=parseInt(e[4],10),n=Math.round(t*a),i=Math.floor(n/a),s=n-i*a,f=a;return r+(i===0?\"\":\"\"+i)+\" \"+(s===0?Fe(\" \",e[1].length+1+e[4].length):Ba(s,e[1].length)+e[2]+\"/\"+e[3]+mr(f,e[4].length))}function ms(e,t,r){return r+(t===0?\"\":\"\"+t)+Fe(\" \",e[1].length+2+e[4].length)}var hn=/^#*0*\\\\.([0#]+)/,xn=/\\\\).*[0#]/,dn=/\\\\(###\\\\) ###\\\\\\\\?-####/;function Ye(e){for(var t=\"\",r,a=0;a!=e.length;++a)switch(r=e.charCodeAt(a)){case 35:break;case 63:t+=\" \";break;case 48:t+=\"0\";break;default:t+=String.fromCharCode(r)}return t}function S0(e,t){var r=Math.pow(10,t);return\"\"+Math.round(e*r)/r}function F0(e,t){var r=e-Math.floor(e),a=Math.pow(10,t);return t<(\"\"+Math.round(r*a)).length?0:Math.round(r*a)}function gs(e,t){return t<(\"\"+Math.round((e-Math.floor(e))*Math.pow(10,t))).length?1:0}function _s(e){return e<2147483647&&e>-2147483648?\"\"+(e>=0?e|0:e-1|0):\"\"+Math.floor(e)}function lr(e,t,r){if(e.charCodeAt(0)===40&&!t.match(xn)){var a=t.replace(/\\\\( */,\"\").replace(/ \\\\)/,\"\").replace(/\\\\)/,\"\");return r>=0?lr(\"n\",a,r):\"(\"+lr(\"n\",a,-r)+\")\"}if(t.charCodeAt(t.length-1)===44)return vs(e,t,r);if(t.indexOf(\"%\")!==-1)return ds(e,t,r);if(t.indexOf(\"E\")!==-1)return ln(t,r);if(t.charCodeAt(0)===36)return\"\\$\"+lr(e,t.substr(t.charAt(1)==\" \"?2:1),r);var n,i,s,f,o=Math.abs(r),c=r<0?\"-\":\"\";if(t.match(/^00+\\$/))return c+rt(o,t.length);if(t.match(/^[#?]+\\$/))return n=rt(r,0),n===\"0\"&&(n=\"\"),n.length>t.length?n:Ye(t.substr(0,t.length-n.length))+n;if(i=t.match(un))return ps(i,o,c);if(t.match(/^#+0+\\$/))return c+rt(o,t.length-t.indexOf(\"0\"));if(i=t.match(hn))return n=S0(r,i[1].length).replace(/^([^\\\\.]+)\\$/,\"\\$1.\"+Ye(i[1])).replace(/\\\\.\\$/,\".\"+Ye(i[1])).replace(/\\\\.(\\\\d*)\\$/,function(_,u){return\".\"+u+Fe(\"0\",Ye(i[1]).length-u.length)}),t.indexOf(\"0.\")!==-1?n:n.replace(/^0\\\\./,\".\");if(t=t.replace(/^#+([0.])/,\"\\$1\"),i=t.match(/^(0*)\\\\.(#*)\\$/))return c+S0(o,i[2].length).replace(/\\\\.(\\\\d*[1-9])0*\\$/,\".\\$1\").replace(/^(-?\\\\d*)\\$/,\"\\$1.\").replace(/^0\\\\./,i[1].length?\"0.\":\".\");if(i=t.match(/^#{1,3},##0(\\\\.?)\\$/))return c+Pr(rt(o,0));if(i=t.match(/^#,##0\\\\.([#0]*0)\\$/))return r<0?\"-\"+lr(e,t,-r):Pr(\"\"+(Math.floor(r)+gs(r,i[1].length)))+\".\"+mr(F0(r,i[1].length),i[1].length);if(i=t.match(/^#,#*,#0/))return lr(e,t.replace(/^#,#*,/,\"\"),r);if(i=t.match(/^([0#]+)(\\\\\\\\?-([0#]+))+\\$/))return n=ft(lr(e,t.replace(/[\\\\\\\\-]/g,\"\"),r)),s=0,ft(ft(t.replace(/\\\\\\\\/g,\"\")).replace(/[0#]/g,function(_){return s<n.length?n.charAt(s++):_===\"0\"?\"0\":\"\"}));if(t.match(dn))return n=lr(e,\"##########\",r),\"(\"+n.substr(0,3)+\") \"+n.substr(3,3)+\"-\"+n.substr(6);var l=\"\";if(i=t.match(/^([#0?]+)( ?)\\\\/( ?)([#0?]+)/))return s=Math.min(i[4].length,7),f=Qt(o,Math.pow(10,s)-1,!1),n=\"\"+c,l=Ar(\"n\",i[1],f[1]),l.charAt(l.length-1)==\" \"&&(l=l.substr(0,l.length-1)+\"0\"),n+=l+i[2]+\"/\"+i[3],l=qt(f[2],s),l.length<i[4].length&&(l=Ye(i[4].substr(i[4].length-l.length))+l),n+=l,n;if(i=t.match(/^# ([#0?]+)( ?)\\\\/( ?)([#0?]+)/))return s=Math.min(Math.max(i[1].length,i[4].length),7),f=Qt(o,Math.pow(10,s)-1,!0),c+(f[0]||(f[1]?\"\":\"0\"))+\" \"+(f[1]?Ba(f[1],s)+i[2]+\"/\"+i[3]+qt(f[2],s):Fe(\" \",2*s+1+i[2].length+i[3].length));if(i=t.match(/^[#0?]+\\$/))return n=rt(r,0),t.length<=n.length?n:Ye(t.substr(0,t.length-n.length))+n;if(i=t.match(/^([#0?]+)\\\\.([#0]+)\\$/)){n=\"\"+r.toFixed(Math.min(i[2].length,10)).replace(/([^0])0+\\$/,\"\\$1\"),s=n.indexOf(\".\");var v=t.indexOf(\".\")-s,h=t.length-n.length-v;return Ye(t.substr(0,v)+n+t.substr(t.length-h))}if(i=t.match(/^00,000\\\\.([#0]*0)\\$/))return s=F0(r,i[1].length),r<0?\"-\"+lr(e,t,-r):Pr(_s(r)).replace(/^\\\\d,\\\\d{3}\\$/,\"0\\$&\").replace(/^\\\\d*\\$/,function(_){return\"00,\"+(_.length<3?mr(0,3-_.length):\"\")+_})+\".\"+mr(s,i[1].length);switch(t){case\"###,##0.00\":return lr(e,\"#,##0.00\",r);case\"###,###\":case\"##,###\":case\"#,###\":var d=Pr(rt(o,0));return d!==\"0\"?c+d:\"\";case\"###,###.00\":return lr(e,\"###,##0.00\",r).replace(/^0\\\\./,\".\");case\"#,###.00\":return lr(e,\"#,##0.00\",r).replace(/^0\\\\./,\".\");default:}throw new Error(\"unsupported format |\"+t+\"|\")}function ws(e,t,r){for(var a=t.length-1;t.charCodeAt(a-1)===44;)--a;return Ar(e,t.substr(0,a),r/Math.pow(10,3*(t.length-a)))}function ks(e,t,r){var a=t.replace(on,\"\"),n=t.length-a.length;return Ar(e,a,r*Math.pow(10,2*n))+Fe(\"%\",n)}function vn(e,t){var r,a=e.indexOf(\"E\")-e.indexOf(\".\")-1;if(e.match(/^#+0.0E\\\\+0\\$/)){if(t==0)return\"0.0E+0\";if(t<0)return\"-\"+vn(e,-t);var n=e.indexOf(\".\");n===-1&&(n=e.indexOf(\"E\"));var i=Math.floor(Math.log(t)*Math.LOG10E)%n;if(i<0&&(i+=n),r=(t/Math.pow(10,i)).toPrecision(a+1+(n+i)%n),!r.match(/[Ee]/)){var s=Math.floor(Math.log(t)*Math.LOG10E);r.indexOf(\".\")===-1?r=r.charAt(0)+\".\"+r.substr(1)+\"E+\"+(s-r.length+i):r+=\"E+\"+(s-i),r=r.replace(/\\\\+-/,\"-\")}r=r.replace(/^([+-]?)(\\\\d*)\\\\.(\\\\d*)[Ee]/,function(f,o,c,l){return o+c+l.substr(0,(n+i)%n)+\".\"+l.substr(i)+\"E\"})}else r=t.toExponential(a);return e.match(/E\\\\+00\\$/)&&r.match(/e[+-]\\\\d\\$/)&&(r=r.substr(0,r.length-1)+\"0\"+r.charAt(r.length-1)),e.match(/E\\\\-/)&&r.match(/e\\\\+/)&&(r=r.replace(/e\\\\+/,\"e\")),r.replace(\"e\",\"E\")}function wr(e,t,r){if(e.charCodeAt(0)===40&&!t.match(xn)){var a=t.replace(/\\\\( */,\"\").replace(/ \\\\)/,\"\").replace(/\\\\)/,\"\");return r>=0?wr(\"n\",a,r):\"(\"+wr(\"n\",a,-r)+\")\"}if(t.charCodeAt(t.length-1)===44)return ws(e,t,r);if(t.indexOf(\"%\")!==-1)return ks(e,t,r);if(t.indexOf(\"E\")!==-1)return vn(t,r);if(t.charCodeAt(0)===36)return\"\\$\"+wr(e,t.substr(t.charAt(1)==\" \"?2:1),r);var n,i,s,f,o=Math.abs(r),c=r<0?\"-\":\"\";if(t.match(/^00+\\$/))return c+mr(o,t.length);if(t.match(/^[#?]+\\$/))return n=\"\"+r,r===0&&(n=\"\"),n.length>t.length?n:Ye(t.substr(0,t.length-n.length))+n;if(i=t.match(un))return ms(i,o,c);if(t.match(/^#+0+\\$/))return c+mr(o,t.length-t.indexOf(\"0\"));if(i=t.match(hn))return n=(\"\"+r).replace(/^([^\\\\.]+)\\$/,\"\\$1.\"+Ye(i[1])).replace(/\\\\.\\$/,\".\"+Ye(i[1])),n=n.replace(/\\\\.(\\\\d*)\\$/,function(_,u){return\".\"+u+Fe(\"0\",Ye(i[1]).length-u.length)}),t.indexOf(\"0.\")!==-1?n:n.replace(/^0\\\\./,\".\");if(t=t.replace(/^#+([0.])/,\"\\$1\"),i=t.match(/^(0*)\\\\.(#*)\\$/))return c+(\"\"+o).replace(/\\\\.(\\\\d*[1-9])0*\\$/,\".\\$1\").replace(/^(-?\\\\d*)\\$/,\"\\$1.\").replace(/^0\\\\./,i[1].length?\"0.\":\".\");if(i=t.match(/^#{1,3},##0(\\\\.?)\\$/))return c+Pr(\"\"+o);if(i=t.match(/^#,##0\\\\.([#0]*0)\\$/))return r<0?\"-\"+wr(e,t,-r):Pr(\"\"+r)+\".\"+Fe(\"0\",i[1].length);if(i=t.match(/^#,#*,#0/))return wr(e,t.replace(/^#,#*,/,\"\"),r);if(i=t.match(/^([0#]+)(\\\\\\\\?-([0#]+))+\\$/))return n=ft(wr(e,t.replace(/[\\\\\\\\-]/g,\"\"),r)),s=0,ft(ft(t.replace(/\\\\\\\\/g,\"\")).replace(/[0#]/g,function(_){return s<n.length?n.charAt(s++):_===\"0\"?\"0\":\"\"}));if(t.match(dn))return n=wr(e,\"##########\",r),\"(\"+n.substr(0,3)+\") \"+n.substr(3,3)+\"-\"+n.substr(6);var l=\"\";if(i=t.match(/^([#0?]+)( ?)\\\\/( ?)([#0?]+)/))return s=Math.min(i[4].length,7),f=Qt(o,Math.pow(10,s)-1,!1),n=\"\"+c,l=Ar(\"n\",i[1],f[1]),l.charAt(l.length-1)==\" \"&&(l=l.substr(0,l.length-1)+\"0\"),n+=l+i[2]+\"/\"+i[3],l=qt(f[2],s),l.length<i[4].length&&(l=Ye(i[4].substr(i[4].length-l.length))+l),n+=l,n;if(i=t.match(/^# ([#0?]+)( ?)\\\\/( ?)([#0?]+)/))return s=Math.min(Math.max(i[1].length,i[4].length),7),f=Qt(o,Math.pow(10,s)-1,!0),c+(f[0]||(f[1]?\"\":\"0\"))+\" \"+(f[1]?Ba(f[1],s)+i[2]+\"/\"+i[3]+qt(f[2],s):Fe(\" \",2*s+1+i[2].length+i[3].length));if(i=t.match(/^[#0?]+\\$/))return n=\"\"+r,t.length<=n.length?n:Ye(t.substr(0,t.length-n.length))+n;if(i=t.match(/^([#0]+)\\\\.([#0]+)\\$/)){n=\"\"+r.toFixed(Math.min(i[2].length,10)).replace(/([^0])0+\\$/,\"\\$1\"),s=n.indexOf(\".\");var v=t.indexOf(\".\")-s,h=t.length-n.length-v;return Ye(t.substr(0,v)+n+t.substr(t.length-h))}if(i=t.match(/^00,000\\\\.([#0]*0)\\$/))return r<0?\"-\"+wr(e,t,-r):Pr(\"\"+r).replace(/^\\\\d,\\\\d{3}\\$/,\"0\\$&\").replace(/^\\\\d*\\$/,function(_){return\"00,\"+(_.length<3?mr(0,3-_.length):\"\")+_})+\".\"+mr(0,i[1].length);switch(t){case\"###,###\":case\"##,###\":case\"#,###\":var d=Pr(\"\"+o);return d!==\"0\"?c+d:\"\";default:if(t.match(/\\\\.[0#?]*\\$/))return wr(e,t.slice(0,t.lastIndexOf(\".\")),r)+Ye(t.slice(t.lastIndexOf(\".\")))}throw new Error(\"unsupported format |\"+t+\"|\")}function Ar(e,t,r){return(r|0)===r?wr(e,t,r):lr(e,t,r)}function Es(e){for(var t=[],r=!1,a=0,n=0;a<e.length;++a)switch(e.charCodeAt(a)){case 34:r=!r;break;case 95:case 42:case 92:++a;break;case 59:t[t.length]=e.substr(n,a-n),n=a+1}if(t[t.length]=e.substr(n),r===!0)throw new Error(\"Format |\"+e+\"| unterminated string \");return t}var pn=/\\\\[[HhMmSs\\\\u0E0A\\\\u0E19\\\\u0E17]*\\\\]/;function mn(e){for(var t=0,r=\"\",a=\"\";t<e.length;)switch(r=e.charAt(t)){case\"G\":Zt(e,t)&&(t+=6),t++;break;case'\"':for(;e.charCodeAt(++t)!==34&&t<e.length;);++t;break;case\"\\\\\\\\\":t+=2;break;case\"_\":t+=2;break;case\"@\":++t;break;case\"B\":case\"b\":if(e.charAt(t+1)===\"1\"||e.charAt(t+1)===\"2\")return!0;case\"M\":case\"D\":case\"Y\":case\"H\":case\"S\":case\"E\":case\"m\":case\"d\":case\"y\":case\"h\":case\"s\":case\"e\":case\"g\":return!0;case\"A\":case\"a\":case\"\\\\u4E0A\":if(e.substr(t,3).toUpperCase()===\"A/P\"||e.substr(t,5).toUpperCase()===\"AM/PM\"||e.substr(t,5).toUpperCase()===\"\\\\u4E0A\\\\u5348/\\\\u4E0B\\\\u5348\")return!0;++t;break;case\"[\":for(a=r;e.charAt(t++)!==\"]\"&&t<e.length;)a+=e.charAt(t);if(a.match(pn))return!0;break;case\".\":case\"0\":case\"#\":for(;t<e.length&&(\"0#?.,E+-%\".indexOf(r=e.charAt(++t))>-1||r==\"\\\\\\\\\"&&e.charAt(t+1)==\"-\"&&\"0#\".indexOf(e.charAt(t+2))>-1););break;case\"?\":for(;e.charAt(++t)===r;);break;case\"*\":++t,(e.charAt(t)==\" \"||e.charAt(t)==\"*\")&&++t;break;case\"(\":case\")\":++t;break;case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":for(;t<e.length&&\"0123456789\".indexOf(e.charAt(++t))>-1;);break;case\" \":++t;break;default:++t;break}return!1}function Ts(e,t,r,a){for(var n=[],i=\"\",s=0,f=\"\",o=\"t\",c,l,v,h=\"H\";s<e.length;)switch(f=e.charAt(s)){case\"G\":if(!Zt(e,s))throw new Error(\"unrecognized character \"+f+\" in \"+e);n[n.length]={t:\"G\",v:\"General\"},s+=7;break;case'\"':for(i=\"\";(v=e.charCodeAt(++s))!==34&&s<e.length;)i+=String.fromCharCode(v);n[n.length]={t:\"t\",v:i},++s;break;case\"\\\\\\\\\":var d=e.charAt(++s),_=d===\"(\"||d===\")\"?d:\"t\";n[n.length]={t:_,v:d},++s;break;case\"_\":n[n.length]={t:\"t\",v:\" \"},s+=2;break;case\"@\":n[n.length]={t:\"T\",v:t},++s;break;case\"B\":case\"b\":if(e.charAt(s+1)===\"1\"||e.charAt(s+1)===\"2\"){if(c==null&&(c=Gt(t,r,e.charAt(s+1)===\"2\"),c==null))return\"\";n[n.length]={t:\"X\",v:e.substr(s,2)},o=f,s+=2;break}case\"M\":case\"D\":case\"Y\":case\"H\":case\"S\":case\"E\":f=f.toLowerCase();case\"m\":case\"d\":case\"y\":case\"h\":case\"s\":case\"e\":case\"g\":if(t<0||c==null&&(c=Gt(t,r),c==null))return\"\";for(i=f;++s<e.length&&e.charAt(s).toLowerCase()===f;)i+=f;f===\"m\"&&o.toLowerCase()===\"h\"&&(f=\"M\"),f===\"h\"&&(f=h),n[n.length]={t:f,v:i},o=f;break;case\"A\":case\"a\":case\"\\\\u4E0A\":var u={t:f,v:f};if(c==null&&(c=Gt(t,r)),e.substr(s,3).toUpperCase()===\"A/P\"?(c!=null&&(u.v=c.H>=12?\"P\":\"A\"),u.t=\"T\",h=\"h\",s+=3):e.substr(s,5).toUpperCase()===\"AM/PM\"?(c!=null&&(u.v=c.H>=12?\"PM\":\"AM\"),u.t=\"T\",s+=5,h=\"h\"):e.substr(s,5).toUpperCase()===\"\\\\u4E0A\\\\u5348/\\\\u4E0B\\\\u5348\"?(c!=null&&(u.v=c.H>=12?\"\\\\u4E0B\\\\u5348\":\"\\\\u4E0A\\\\u5348\"),u.t=\"T\",s+=5,h=\"h\"):(u.t=\"t\",++s),c==null&&u.t===\"T\")return\"\";n[n.length]=u,o=f;break;case\"[\":for(i=f;e.charAt(s++)!==\"]\"&&s<e.length;)i+=e.charAt(s);if(i.slice(-1)!==\"]\")throw'unterminated \"[\" block: |'+i+\"|\";if(i.match(pn)){if(c==null&&(c=Gt(t,r),c==null))return\"\";n[n.length]={t:\"Z\",v:i.toLowerCase()},o=i.charAt(1)}else i.indexOf(\"\\$\")>-1&&(i=(i.match(/\\\\\\$([^-\\\\[\\\\]]*)/)||[])[1]||\"\\$\",mn(e)||(n[n.length]={t:\"t\",v:i}));break;case\".\":if(c!=null){for(i=f;++s<e.length&&(f=e.charAt(s))===\"0\";)i+=f;n[n.length]={t:\"s\",v:i};break}case\"0\":case\"#\":for(i=f;++s<e.length&&\"0#?.,E+-%\".indexOf(f=e.charAt(s))>-1;)i+=f;n[n.length]={t:\"n\",v:i};break;case\"?\":for(i=f;e.charAt(++s)===f;)i+=f;n[n.length]={t:f,v:i},o=f;break;case\"*\":++s,(e.charAt(s)==\" \"||e.charAt(s)==\"*\")&&++s;break;case\"(\":case\")\":n[n.length]={t:a===1?\"t\":f,v:f},++s;break;case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":for(i=f;s<e.length&&\"0123456789\".indexOf(e.charAt(++s))>-1;)i+=e.charAt(s);n[n.length]={t:\"D\",v:i};break;case\" \":n[n.length]={t:f,v:f},++s;break;case\"\\$\":n[n.length]={t:\"t\",v:\"\\$\"},++s;break;default:if(\",\\$-+/():!^&'~{}<>=\\\\u20ACacfijklopqrtuvwxzP\".indexOf(f)===-1)throw new Error(\"unrecognized character \"+f+\" in \"+e);n[n.length]={t:\"t\",v:f},++s;break}var g=0,y=0,C;for(s=n.length-1,o=\"t\";s>=0;--s)switch(n[s].t){case\"h\":case\"H\":n[s].t=h,o=\"h\",g<1&&(g=1);break;case\"s\":(C=n[s].v.match(/\\\\.0+\\$/))&&(y=Math.max(y,C[0].length-1)),g<3&&(g=3);case\"d\":case\"y\":case\"M\":case\"e\":o=n[s].t;break;case\"m\":o===\"s\"&&(n[s].t=\"M\",g<2&&(g=2));break;case\"X\":break;case\"Z\":g<1&&n[s].v.match(/[Hh]/)&&(g=1),g<2&&n[s].v.match(/[Mm]/)&&(g=2),g<3&&n[s].v.match(/[Ss]/)&&(g=3)}switch(g){case 0:break;case 1:c.u>=.5&&(c.u=0,++c.S),c.S>=60&&(c.S=0,++c.M),c.M>=60&&(c.M=0,++c.H);break;case 2:c.u>=.5&&(c.u=0,++c.S),c.S>=60&&(c.S=0,++c.M);break}var D=\"\",B;for(s=0;s<n.length;++s)switch(n[s].t){case\"t\":case\"T\":case\" \":case\"D\":break;case\"X\":n[s].v=\"\",n[s].t=\";\";break;case\"d\":case\"m\":case\"y\":case\"h\":case\"H\":case\"M\":case\"s\":case\"e\":case\"b\":case\"Z\":n[s].v=xs(n[s].t.charCodeAt(0),n[s].v,c,y),n[s].t=\"t\";break;case\"n\":case\"?\":for(B=s+1;n[B]!=null&&((f=n[B].t)===\"?\"||f===\"D\"||(f===\" \"||f===\"t\")&&n[B+1]!=null&&(n[B+1].t===\"?\"||n[B+1].t===\"t\"&&n[B+1].v===\"/\")||n[s].t===\"(\"&&(f===\" \"||f===\"n\"||f===\")\")||f===\"t\"&&(n[B].v===\"/\"||n[B].v===\" \"&&n[B+1]!=null&&n[B+1].t==\"?\"));)n[s].v+=n[B].v,n[B]={v:\"\",t:\";\"},++B;D+=n[s].v,s=B-1;break;case\"G\":n[s].t=\"t\",n[s].v=Na(t,r);break}var G=\"\",te,A;if(D.length>0){D.charCodeAt(0)==40?(te=t<0&&D.charCodeAt(0)===45?-t:t,A=Ar(\"n\",D,te)):(te=t<0&&a>1?-t:t,A=Ar(\"n\",D,te),te<0&&n[0]&&n[0].t==\"t\"&&(A=A.substr(1),n[0].v=\"-\"+n[0].v)),B=A.length-1;var W=n.length;for(s=0;s<n.length;++s)if(n[s]!=null&&n[s].t!=\"t\"&&n[s].v.indexOf(\".\")>-1){W=s;break}var L=n.length;if(W===n.length&&A.indexOf(\"E\")===-1){for(s=n.length-1;s>=0;--s)n[s]==null||\"n?\".indexOf(n[s].t)===-1||(B>=n[s].v.length-1?(B-=n[s].v.length,n[s].v=A.substr(B+1,n[s].v.length)):B<0?n[s].v=\"\":(n[s].v=A.substr(0,B+1),B=-1),n[s].t=\"t\",L=s);B>=0&&L<n.length&&(n[L].v=A.substr(0,B+1)+n[L].v)}else if(W!==n.length&&A.indexOf(\"E\")===-1){for(B=A.indexOf(\".\")-1,s=W;s>=0;--s)if(!(n[s]==null||\"n?\".indexOf(n[s].t)===-1)){for(l=n[s].v.indexOf(\".\")>-1&&s===W?n[s].v.indexOf(\".\")-1:n[s].v.length-1,G=n[s].v.substr(l+1);l>=0;--l)B>=0&&(n[s].v.charAt(l)===\"0\"||n[s].v.charAt(l)===\"#\")&&(G=A.charAt(B--)+G);n[s].v=G,n[s].t=\"t\",L=s}for(B>=0&&L<n.length&&(n[L].v=A.substr(0,B+1)+n[L].v),B=A.indexOf(\".\")+1,s=W;s<n.length;++s)if(!(n[s]==null||\"n?(\".indexOf(n[s].t)===-1&&s!==W)){for(l=n[s].v.indexOf(\".\")>-1&&s===W?n[s].v.indexOf(\".\")+1:0,G=n[s].v.substr(0,l);l<n[s].v.length;++l)B<A.length&&(G+=A.charAt(B++));n[s].v=G,n[s].t=\"t\",L=s}}}for(s=0;s<n.length;++s)n[s]!=null&&\"n?\".indexOf(n[s].t)>-1&&(te=a>1&&t<0&&s>0&&n[s-1].v===\"-\"?-t:t,n[s].v=Ar(n[s].t,n[s].v,te),n[s].t=\"t\");var U=\"\";for(s=0;s!==n.length;++s)n[s]!=null&&(U+=n[s].v);return U}var y0=/\\\\[(=|>[=]?|<[>=]?)(-?\\\\d+(?:\\\\.\\\\d*)?)\\\\]/;function A0(e,t){if(t==null)return!1;var r=parseFloat(t[2]);switch(t[1]){case\"=\":if(e==r)return!0;break;case\">\":if(e>r)return!0;break;case\"<\":if(e<r)return!0;break;case\"<>\":if(e!=r)return!0;break;case\">=\":if(e>=r)return!0;break;case\"<=\":if(e<=r)return!0;break}return!1}function Ss(e,t){var r=Es(e),a=r.length,n=r[a-1].indexOf(\"@\");if(a<4&&n>-1&&--a,r.length>4)throw new Error(\"cannot find right format for |\"+r.join(\"|\")+\"|\");if(typeof t!=\"number\")return[4,r.length===4||n>-1?r[r.length-1]:\"@\"];switch(r.length){case 1:r=n>-1?[\"General\",\"General\",\"General\",r[0]]:[r[0],r[0],r[0],\"@\"];break;case 2:r=n>-1?[r[0],r[0],r[0],r[1]]:[r[0],r[1],r[0],\"@\"];break;case 3:r=n>-1?[r[0],r[1],r[0],r[2]]:[r[0],r[1],r[2],\"@\"];break;case 4:break}var i=t>0?r[0]:t<0?r[1]:r[2];if(r[0].indexOf(\"[\")===-1&&r[1].indexOf(\"[\")===-1)return[a,i];if(r[0].match(/\\\\[[=<>]/)!=null||r[1].match(/\\\\[[=<>]/)!=null){var s=r[0].match(y0),f=r[1].match(y0);return A0(t,s)?[a,r[0]]:A0(t,f)?[a,r[1]]:[a,r[s!=null&&f!=null?2:1]]}return[a,i]}function Lr(e,t,r){r==null&&(r={});var a=\"\";switch(typeof e){case\"string\":e==\"m/d/yy\"&&r.dateNF?a=r.dateNF:a=e;break;case\"number\":e==14&&r.dateNF?a=r.dateNF:a=(r.table!=null?r.table:ye)[e],a==null&&(a=r.table&&r.table[T0[e]]||ye[T0[e]]),a==null&&(a=is[e]||\"General\");break}if(Zt(a,0))return Na(t,r);t instanceof Date&&(t=cn(t,r.date1904));var n=Ss(a,t);if(Zt(n[1]))return Na(t,r);if(t===!0)t=\"TRUE\";else if(t===!1)t=\"FALSE\";else if(t===\"\"||t==null)return\"\";return Ts(n[1],t,r,n[0])}function gn(e,t){if(typeof t!=\"number\"){t=+t||-1;for(var r=0;r<392;++r){if(ye[r]==null){t<0&&(t=r);continue}if(ye[r]==e){t=r;break}}t<0&&(t=391)}return ye[t]=e,t}function ua(e){for(var t=0;t!=392;++t)e[t]!==void 0&&gn(e[t],t)}function ha(){ye=ns()}var _n=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function Fs(e){var t=typeof e==\"number\"?ye[e]:e;return t=t.replace(_n,\"(\\\\\\\\d+)\"),new RegExp(\"^\"+t+\"\\$\")}function ys(e,t,r){var a=-1,n=-1,i=-1,s=-1,f=-1,o=-1;(t.match(_n)||[]).forEach(function(v,h){var d=parseInt(r[h+1],10);switch(v.toLowerCase().charAt(0)){case\"y\":a=d;break;case\"d\":i=d;break;case\"h\":s=d;break;case\"s\":o=d;break;case\"m\":s>=0?f=d:n=d;break}}),o>=0&&f==-1&&n>=0&&(f=n,n=-1);var c=(\"\"+(a>=0?a:new Date().getFullYear())).slice(-4)+\"-\"+(\"00\"+(n>=1?n:1)).slice(-2)+\"-\"+(\"00\"+(i>=1?i:1)).slice(-2);c.length==7&&(c=\"0\"+c),c.length==8&&(c=\"20\"+c);var l=(\"00\"+(s>=0?s:0)).slice(-2)+\":\"+(\"00\"+(f>=0?f:0)).slice(-2)+\":\"+(\"00\"+(o>=0?o:0)).slice(-2);return s==-1&&f==-1&&o==-1?c:a==-1&&n==-1&&i==-1?l:c+\"T\"+l}var As=(function(){var e={};e.version=\"1.2.0\";function t(){for(var A=0,W=new Array(256),L=0;L!=256;++L)A=L,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,A=A&1?-306674912^A>>>1:A>>>1,W[L]=A;return typeof Int32Array<\"u\"?new Int32Array(W):W}var r=t();function a(A){var W=0,L=0,U=0,X=typeof Int32Array<\"u\"?new Int32Array(4096):new Array(4096);for(U=0;U!=256;++U)X[U]=A[U];for(U=0;U!=256;++U)for(L=A[U],W=256+U;W<4096;W+=256)L=X[W]=L>>>8^A[L&255];var z=[];for(U=1;U!=16;++U)z[U-1]=typeof Int32Array<\"u\"?X.subarray(U*256,U*256+256):X.slice(U*256,U*256+256);return z}var n=a(r),i=n[0],s=n[1],f=n[2],o=n[3],c=n[4],l=n[5],v=n[6],h=n[7],d=n[8],_=n[9],u=n[10],g=n[11],y=n[12],C=n[13],D=n[14];function B(A,W){for(var L=W^-1,U=0,X=A.length;U<X;)L=L>>>8^r[(L^A.charCodeAt(U++))&255];return~L}function G(A,W){for(var L=W^-1,U=A.length-15,X=0;X<U;)L=D[A[X++]^L&255]^C[A[X++]^L>>8&255]^y[A[X++]^L>>16&255]^g[A[X++]^L>>>24]^u[A[X++]]^_[A[X++]]^d[A[X++]]^h[A[X++]]^v[A[X++]]^l[A[X++]]^c[A[X++]]^o[A[X++]]^f[A[X++]]^s[A[X++]]^i[A[X++]]^r[A[X++]];for(U+=15;X<U;)L=L>>>8^r[(L^A[X++])&255];return~L}function te(A,W){for(var L=W^-1,U=0,X=A.length,z=0,ie=0;U<X;)z=A.charCodeAt(U++),z<128?L=L>>>8^r[(L^z)&255]:z<2048?(L=L>>>8^r[(L^(192|z>>6&31))&255],L=L>>>8^r[(L^(128|z&63))&255]):z>=55296&&z<57344?(z=(z&1023)+64,ie=A.charCodeAt(U++)&1023,L=L>>>8^r[(L^(240|z>>8&7))&255],L=L>>>8^r[(L^(128|z>>2&63))&255],L=L>>>8^r[(L^(128|ie>>6&15|(z&3)<<4))&255],L=L>>>8^r[(L^(128|ie&63))&255]):(L=L>>>8^r[(L^(224|z>>12&15))&255],L=L>>>8^r[(L^(128|z>>6&63))&255],L=L>>>8^r[(L^(128|z&63))&255]);return~L}return e.table=r,e.bstr=B,e.buf=G,e.str=te,e})(),we=(function(){var t={};t.version=\"1.2.1\";function r(x,w){for(var p=x.split(\"/\"),m=w.split(\"/\"),k=0,E=0,O=Math.min(p.length,m.length);k<O;++k){if(E=p[k].length-m[k].length)return E;if(p[k]!=m[k])return p[k]<m[k]?-1:1}return p.length-m.length}function a(x){if(x.charAt(x.length-1)==\"/\")return x.slice(0,-1).indexOf(\"/\")===-1?x:a(x.slice(0,-1));var w=x.lastIndexOf(\"/\");return w===-1?x:x.slice(0,w+1)}function n(x){if(x.charAt(x.length-1)==\"/\")return n(x.slice(0,-1));var w=x.lastIndexOf(\"/\");return w===-1?x:x.slice(w+1)}function i(x,w){typeof w==\"string\"&&(w=new Date(w));var p=w.getHours();p=p<<6|w.getMinutes(),p=p<<5|w.getSeconds()>>>1,x.write_shift(2,p);var m=w.getFullYear()-1980;m=m<<4|w.getMonth()+1,m=m<<5|w.getDate(),x.write_shift(2,m)}function s(x){var w=x.read_shift(2)&65535,p=x.read_shift(2)&65535,m=new Date,k=p&31;p>>>=5;var E=p&15;p>>>=4,m.setMilliseconds(0),m.setFullYear(p+1980),m.setMonth(E-1),m.setDate(k);var O=w&31;w>>>=5;var P=w&63;return w>>>=6,m.setHours(w),m.setMinutes(P),m.setSeconds(O<<1),m}function f(x){sr(x,0);for(var w={},p=0;x.l<=x.length-4;){var m=x.read_shift(2),k=x.read_shift(2),E=x.l+k,O={};m===21589&&(p=x.read_shift(1),p&1&&(O.mtime=x.read_shift(4)),k>5&&(p&2&&(O.atime=x.read_shift(4)),p&4&&(O.ctime=x.read_shift(4))),O.mtime&&(O.mt=new Date(O.mtime*1e3))),x.l=E,w[m]=O}return w}var o;function c(){return o||(o={})}function l(x,w){if(x[0]==80&&x[1]==75)return g0(x,w);if((x[0]|32)==109&&(x[1]|32)==105)return Xi(x,w);if(x.length<512)throw new Error(\"CFB file size \"+x.length+\" < 512\");var p=3,m=512,k=0,E=0,O=0,P=0,R=0,I=[],N=x.slice(0,512);sr(N,0);var K=v(N);switch(p=K[0],p){case 3:m=512;break;case 4:m=4096;break;case 0:if(K[1]==0)return g0(x,w);default:throw new Error(\"Major Version: Expected 3 or 4 saw \"+p)}m!==512&&(N=x.slice(0,m),sr(N,28));var J=x.slice(0,m);h(N,p);var re=N.read_shift(4,\"i\");if(p===3&&re!==0)throw new Error(\"# Directory Sectors: Expected 0 saw \"+re);N.l+=4,O=N.read_shift(4,\"i\"),N.l+=4,N.chk(\"00100000\",\"Mini Stream Cutoff Size: \"),P=N.read_shift(4,\"i\"),k=N.read_shift(4,\"i\"),R=N.read_shift(4,\"i\"),E=N.read_shift(4,\"i\");for(var q=-1,Q=0;Q<109&&(q=N.read_shift(4,\"i\"),!(q<0));++Q)I[Q]=q;var ce=d(x,m);g(R,E,ce,m,I);var Ee=C(ce,O,I,m);Ee[O].name=\"!Directory\",k>0&&P!==ie&&(Ee[P].name=\"!MiniFAT\"),Ee[I[0]].name=\"!FAT\",Ee.fat_addrs=I,Ee.ssz=m;var er={},Ae=[],nr=[],gt=[];D(O,Ee,ce,Ae,k,er,nr,P),_(nr,gt,Ae),Ae.shift();var _t={FileIndex:nr,FullPaths:gt};return w&&w.raw&&(_t.raw={header:J,sectors:ce}),_t}function v(x){if(x[x.l]==80&&x[x.l+1]==75)return[0,0];x.chk(de,\"Header Signature: \"),x.l+=16;var w=x.read_shift(2,\"u\");return[x.read_shift(2,\"u\"),w]}function h(x,w){var p=9;switch(x.l+=2,p=x.read_shift(2)){case 9:if(w!=3)throw new Error(\"Sector Shift: Expected 9 saw \"+p);break;case 12:if(w!=4)throw new Error(\"Sector Shift: Expected 12 saw \"+p);break;default:throw new Error(\"Sector Shift: Expected 9 or 12 saw \"+p)}x.chk(\"0600\",\"Mini Sector Shift: \"),x.chk(\"000000000000\",\"Reserved: \")}function d(x,w){for(var p=Math.ceil(x.length/w)-1,m=[],k=1;k<p;++k)m[k-1]=x.slice(k*w,(k+1)*w);return m[p-1]=x.slice(p*w),m}function _(x,w,p){for(var m=0,k=0,E=0,O=0,P=0,R=p.length,I=[],N=[];m<R;++m)I[m]=N[m]=m,w[m]=p[m];for(;P<N.length;++P)m=N[P],k=x[m].L,E=x[m].R,O=x[m].C,I[m]===m&&(k!==-1&&I[k]!==k&&(I[m]=I[k]),E!==-1&&I[E]!==E&&(I[m]=I[E])),O!==-1&&(I[O]=m),k!==-1&&m!=I[m]&&(I[k]=I[m],N.lastIndexOf(k)<P&&N.push(k)),E!==-1&&m!=I[m]&&(I[E]=I[m],N.lastIndexOf(E)<P&&N.push(E));for(m=1;m<R;++m)I[m]===m&&(E!==-1&&I[E]!==E?I[m]=I[E]:k!==-1&&I[k]!==k&&(I[m]=I[k]));for(m=1;m<R;++m)if(x[m].type!==0){if(P=m,P!=I[P])do P=I[P],w[m]=w[P]+\"/\"+w[m];while(P!==0&&I[P]!==-1&&P!=I[P]);I[m]=-1}for(w[0]+=\"/\",m=1;m<R;++m)x[m].type!==2&&(w[m]+=\"/\")}function u(x,w,p){for(var m=x.start,k=x.size,E=[],O=m;p&&k>0&&O>=0;)E.push(w.slice(O*z,O*z+z)),k-=z,O=Xr(p,O*4);return E.length===0?b(0):Ve(E).slice(0,x.size)}function g(x,w,p,m,k){var E=ie;if(x===ie){if(w!==0)throw new Error(\"DIFAT chain shorter than expected\")}else if(x!==-1){var O=p[x],P=(m>>>2)-1;if(!O)return;for(var R=0;R<P&&(E=Xr(O,R*4))!==ie;++R)k.push(E);g(Xr(O,m-4),w-1,p,m,k)}}function y(x,w,p,m,k){var E=[],O=[];k||(k=[]);var P=m-1,R=0,I=0;for(R=w;R>=0;){k[R]=!0,E[E.length]=R,O.push(x[R]);var N=p[Math.floor(R*4/m)];if(I=R*4&P,m<4+I)throw new Error(\"FAT boundary crossed: \"+R+\" 4 \"+m);if(!x[N])break;R=Xr(x[N],I)}return{nodes:E,data:P0([O])}}function C(x,w,p,m){var k=x.length,E=[],O=[],P=[],R=[],I=m-1,N=0,K=0,J=0,re=0;for(N=0;N<k;++N)if(P=[],J=N+w,J>=k&&(J-=k),!O[J]){R=[];var q=[];for(K=J;K>=0;){q[K]=!0,O[K]=!0,P[P.length]=K,R.push(x[K]);var Q=p[Math.floor(K*4/m)];if(re=K*4&I,m<4+re)throw new Error(\"FAT boundary crossed: \"+K+\" 4 \"+m);if(!x[Q]||(K=Xr(x[Q],re),q[K]))break}E[J]={nodes:P,data:P0([R])}}return E}function D(x,w,p,m,k,E,O,P){for(var R=0,I=m.length?2:0,N=w[x].data,K=0,J=0,re;K<N.length;K+=128){var q=N.slice(K,K+128);sr(q,64),J=q.read_shift(2),re=va(q,0,J-I),m.push(re);var Q={name:re,type:q.read_shift(1),color:q.read_shift(1),L:q.read_shift(4,\"i\"),R:q.read_shift(4,\"i\"),C:q.read_shift(4,\"i\"),clsid:q.read_shift(16),state:q.read_shift(4,\"i\"),start:0,size:0},ce=q.read_shift(2)+q.read_shift(2)+q.read_shift(2)+q.read_shift(2);ce!==0&&(Q.ct=B(q,q.l-8));var Ee=q.read_shift(2)+q.read_shift(2)+q.read_shift(2)+q.read_shift(2);Ee!==0&&(Q.mt=B(q,q.l-8)),Q.start=q.read_shift(4,\"i\"),Q.size=q.read_shift(4,\"i\"),Q.size<0&&Q.start<0&&(Q.size=Q.type=0,Q.start=ie,Q.name=\"\"),Q.type===5?(R=Q.start,k>0&&R!==ie&&(w[R].name=\"!StreamData\")):Q.size>=4096?(Q.storage=\"fat\",w[Q.start]===void 0&&(w[Q.start]=y(p,Q.start,w.fat_addrs,w.ssz)),w[Q.start].name=Q.name,Q.content=w[Q.start].data.slice(0,Q.size)):(Q.storage=\"minifat\",Q.size<0?Q.size=0:R!==ie&&Q.start!==ie&&w[R]&&(Q.content=u(Q,w[R].data,(w[P]||{}).data))),Q.content&&sr(Q.content,0),E[re]=Q,O.push(Q)}}function B(x,w){return new Date((be(x,w+4)/1e7*Math.pow(2,32)+be(x,w)/1e7-11644473600)*1e3)}function G(x,w){return c(),l(o.readFileSync(x),w)}function te(x,w){var p=w&&w.type;switch(p||xe&&Buffer.isBuffer(x)&&(p=\"buffer\"),p||\"base64\"){case\"file\":return G(x,w);case\"base64\":return l(pr(Or(x)),w);case\"binary\":return l(pr(x),w)}return l(x,w)}function A(x,w){var p=w||{},m=p.root||\"Root Entry\";if(x.FullPaths||(x.FullPaths=[]),x.FileIndex||(x.FileIndex=[]),x.FullPaths.length!==x.FileIndex.length)throw new Error(\"inconsistent CFB structure\");x.FullPaths.length===0&&(x.FullPaths[0]=m+\"/\",x.FileIndex[0]={name:m,type:5}),p.CLSID&&(x.FileIndex[0].clsid=p.CLSID),W(x)}function W(x){var w=\"\u0001Sh33tJ5\";if(!we.find(x,\"/\"+w)){var p=b(4);p[0]=55,p[1]=p[3]=50,p[2]=54,x.FileIndex.push({name:w,type:2,content:p,size:4,L:69,R:69,C:69}),x.FullPaths.push(x.FullPaths[0]+w),L(x)}}function L(x,w){A(x);for(var p=!1,m=!1,k=x.FullPaths.length-1;k>=0;--k){var E=x.FileIndex[k];switch(E.type){case 0:m?p=!0:(x.FileIndex.pop(),x.FullPaths.pop());break;case 1:case 2:case 5:m=!0,isNaN(E.R*E.L*E.C)&&(p=!0),E.R>-1&&E.L>-1&&E.R==E.L&&(p=!0);break;default:p=!0;break}}if(!(!p&&!w)){var O=new Date(1987,1,19),P=0,R=Object.create?Object.create(null):{},I=[];for(k=0;k<x.FullPaths.length;++k)R[x.FullPaths[k]]=!0,x.FileIndex[k].type!==0&&I.push([x.FullPaths[k],x.FileIndex[k]]);for(k=0;k<I.length;++k){var N=a(I[k][0]);m=R[N],m||(I.push([N,{name:n(N).replace(\"/\",\"\"),type:1,clsid:Re,ct:O,mt:O,content:null}]),R[N]=!0)}for(I.sort(function(re,q){return r(re[0],q[0])}),x.FullPaths=[],x.FileIndex=[],k=0;k<I.length;++k)x.FullPaths[k]=I[k][0],x.FileIndex[k]=I[k][1];for(k=0;k<I.length;++k){var K=x.FileIndex[k],J=x.FullPaths[k];if(K.name=n(J).replace(\"/\",\"\"),K.L=K.R=K.C=-(K.color=1),K.size=K.content?K.content.length:0,K.start=0,K.clsid=K.clsid||Re,k===0)K.C=I.length>1?1:-1,K.size=0,K.type=5;else if(J.slice(-1)==\"/\"){for(P=k+1;P<I.length&&a(x.FullPaths[P])!=J;++P);for(K.C=P>=I.length?-1:P,P=k+1;P<I.length&&a(x.FullPaths[P])!=a(J);++P);K.R=P>=I.length?-1:P,K.type=1}else a(x.FullPaths[k+1]||\"\")==a(J)&&(K.R=k+1),K.type=2}}}function U(x,w){var p=w||{};if(p.fileType==\"mad\")return Gi(x,p);if(L(x),p.fileType===\"zip\")return Bi(x,p);var m=(function(re){for(var q=0,Q=0,ce=0;ce<re.FileIndex.length;++ce){var Ee=re.FileIndex[ce];if(Ee.content){var er=Ee.content.length;er>0&&(er<4096?q+=er+63>>6:Q+=er+511>>9)}}for(var Ae=re.FullPaths.length+3>>2,nr=q+7>>3,gt=q+127>>7,_t=nr+Q+Ae+gt,Vr=_t+127>>7,Sa=Vr<=109?0:Math.ceil((Vr-109)/127);_t+Vr+Sa+127>>7>Vr;)Sa=++Vr<=109?0:Math.ceil((Vr-109)/127);var Fr=[1,Sa,Vr,gt,Ae,Q,q,0];return re.FileIndex[0].size=q<<6,Fr[7]=(re.FileIndex[0].start=Fr[0]+Fr[1]+Fr[2]+Fr[3]+Fr[4]+Fr[5])+(Fr[6]+7>>3),Fr})(x),k=b(m[7]<<9),E=0,O=0;{for(E=0;E<8;++E)k.write_shift(1,se[E]);for(E=0;E<8;++E)k.write_shift(2,0);for(k.write_shift(2,62),k.write_shift(2,3),k.write_shift(2,65534),k.write_shift(2,9),k.write_shift(2,6),E=0;E<3;++E)k.write_shift(2,0);for(k.write_shift(4,0),k.write_shift(4,m[2]),k.write_shift(4,m[0]+m[1]+m[2]+m[3]-1),k.write_shift(4,0),k.write_shift(4,4096),k.write_shift(4,m[3]?m[0]+m[1]+m[2]-1:ie),k.write_shift(4,m[3]),k.write_shift(-4,m[1]?m[0]-1:ie),k.write_shift(4,m[1]),E=0;E<109;++E)k.write_shift(-4,E<m[2]?m[1]+E:-1)}if(m[1])for(O=0;O<m[1];++O){for(;E<236+O*127;++E)k.write_shift(-4,E<m[2]?m[1]+E:-1);k.write_shift(-4,O===m[1]-1?ie:O+1)}var P=function(re){for(O+=re;E<O-1;++E)k.write_shift(-4,E+1);re&&(++E,k.write_shift(-4,ie))};for(O=E=0,O+=m[1];E<O;++E)k.write_shift(-4,Ne.DIFSECT);for(O+=m[2];E<O;++E)k.write_shift(-4,Ne.FATSECT);P(m[3]),P(m[4]);for(var R=0,I=0,N=x.FileIndex[0];R<x.FileIndex.length;++R)N=x.FileIndex[R],N.content&&(I=N.content.length,!(I<4096)&&(N.start=O,P(I+511>>9)));for(P(m[6]+7>>3);k.l&511;)k.write_shift(-4,Ne.ENDOFCHAIN);for(O=E=0,R=0;R<x.FileIndex.length;++R)N=x.FileIndex[R],N.content&&(I=N.content.length,!(!I||I>=4096)&&(N.start=O,P(I+63>>6)));for(;k.l&511;)k.write_shift(-4,Ne.ENDOFCHAIN);for(E=0;E<m[4]<<2;++E){var K=x.FullPaths[E];if(!K||K.length===0){for(R=0;R<17;++R)k.write_shift(4,0);for(R=0;R<3;++R)k.write_shift(4,-1);for(R=0;R<12;++R)k.write_shift(4,0);continue}N=x.FileIndex[E],E===0&&(N.start=N.size?N.start-1:ie);var J=E===0&&p.root||N.name;if(I=2*(J.length+1),k.write_shift(64,J,\"utf16le\"),k.write_shift(2,I),k.write_shift(1,N.type),k.write_shift(1,N.color),k.write_shift(-4,N.L),k.write_shift(-4,N.R),k.write_shift(-4,N.C),N.clsid)k.write_shift(16,N.clsid,\"hex\");else for(R=0;R<4;++R)k.write_shift(4,0);k.write_shift(4,N.state||0),k.write_shift(4,0),k.write_shift(4,0),k.write_shift(4,0),k.write_shift(4,0),k.write_shift(4,N.start),k.write_shift(4,N.size),k.write_shift(4,0)}for(E=1;E<x.FileIndex.length;++E)if(N=x.FileIndex[E],N.size>=4096)if(k.l=N.start+1<<9,xe&&Buffer.isBuffer(N.content))N.content.copy(k,k.l,0,N.size),k.l+=N.size+511&-512;else{for(R=0;R<N.size;++R)k.write_shift(1,N.content[R]);for(;R&511;++R)k.write_shift(1,0)}for(E=1;E<x.FileIndex.length;++E)if(N=x.FileIndex[E],N.size>0&&N.size<4096)if(xe&&Buffer.isBuffer(N.content))N.content.copy(k,k.l,0,N.size),k.l+=N.size+63&-64;else{for(R=0;R<N.size;++R)k.write_shift(1,N.content[R]);for(;R&63;++R)k.write_shift(1,0)}if(xe)k.l=k.length;else for(;k.l<k.length;)k.write_shift(1,0);return k}function X(x,w){var p=x.FullPaths.map(function(R){return R.toUpperCase()}),m=p.map(function(R){var I=R.split(\"/\");return I[I.length-(R.slice(-1)==\"/\"?2:1)]}),k=!1;w.charCodeAt(0)===47?(k=!0,w=p[0].slice(0,-1)+w):k=w.indexOf(\"/\")!==-1;var E=w.toUpperCase(),O=k===!0?p.indexOf(E):m.indexOf(E);if(O!==-1)return x.FileIndex[O];var P=!E.match(Xt);for(E=E.replace(st,\"\"),P&&(E=E.replace(Xt,\"!\")),O=0;O<p.length;++O)if((P?p[O].replace(Xt,\"!\"):p[O]).replace(st,\"\")==E||(P?m[O].replace(Xt,\"!\"):m[O]).replace(st,\"\")==E)return x.FileIndex[O];return null}var z=64,ie=-2,de=\"d0cf11e0a1b11ae1\",se=[208,207,17,224,161,177,26,225],Re=\"00000000000000000000000000000000\",Ne={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:ie,FREESECT:-1,HEADER_SIGNATURE:de,HEADER_MINOR_VERSION:\"3e00\",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:Re,EntryTypes:[\"unknown\",\"storage\",\"stream\",\"lockbytes\",\"property\",\"root\"]};function Ze(x,w,p){c();var m=U(x,p);o.writeFileSync(w,m)}function je(x){for(var w=new Array(x.length),p=0;p<x.length;++p)w[p]=String.fromCharCode(x[p]);return w.join(\"\")}function Me(x,w){var p=U(x,w);switch(w&&w.type||\"buffer\"){case\"file\":return c(),o.writeFileSync(w.filename,p),p;case\"binary\":return typeof p==\"string\"?p:je(p);case\"base64\":return Ot(typeof p==\"string\"?p:je(p));case\"buffer\":if(xe)return Buffer.isBuffer(p)?p:Rr(p);case\"array\":return typeof p==\"string\"?pr(p):p}return p}var Qe;function T(x){try{var w=x.InflateRaw,p=new w;if(p._processChunk(new Uint8Array([3,0]),p._finishFlushFlag),p.bytesRead)Qe=x;else throw new Error(\"zlib does not expose bytesRead\")}catch(m){console.error(\"cannot use native zlib: \"+(m.message||m))}}function M(x,w){if(!Qe)return p0(x,w);var p=Qe.InflateRaw,m=new p,k=m._processChunk(x.slice(x.l),m._finishFlushFlag);return x.l+=m.bytesRead,k}function F(x){return Qe?Qe.deflateRawSync(x):l0(x)}var S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],V=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],ne=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577];function fe(x){var w=(x<<1|x<<11)&139536|(x<<5|x<<15)&558144;return(w>>16|w>>8|w)&255}for(var ee=typeof Uint8Array<\"u\",Z=ee?new Uint8Array(256):[],_e=0;_e<256;++_e)Z[_e]=fe(_e);function le(x,w){var p=Z[x&255];return w<=8?p>>>8-w:(p=p<<8|Z[x>>8&255],w<=16?p>>>16-w:(p=p<<8|Z[x>>16&255],p>>>24-w))}function Ue(x,w){var p=w&7,m=w>>>3;return(x[m]|(p<=6?0:x[m+1]<<8))>>>p&3}function ue(x,w){var p=w&7,m=w>>>3;return(x[m]|(p<=5?0:x[m+1]<<8))>>>p&7}function xr(x,w){var p=w&7,m=w>>>3;return(x[m]|(p<=4?0:x[m+1]<<8))>>>p&15}function Se(x,w){var p=w&7,m=w>>>3;return(x[m]|(p<=3?0:x[m+1]<<8))>>>p&31}function ae(x,w){var p=w&7,m=w>>>3;return(x[m]|(p<=1?0:x[m+1]<<8))>>>p&127}function or(x,w,p){var m=w&7,k=w>>>3,E=(1<<p)-1,O=x[k]>>>m;return p<8-m||(O|=x[k+1]<<8-m,p<16-m)||(O|=x[k+2]<<16-m,p<24-m)||(O|=x[k+3]<<24-m),O&E}function Sr(x,w,p){var m=w&7,k=w>>>3;return m<=5?x[k]|=(p&7)<<m:(x[k]|=p<<m&255,x[k+1]=(p&7)>>8-m),w+3}function Wr(x,w,p){var m=w&7,k=w>>>3;return p=(p&1)<<m,x[k]|=p,w+1}function et(x,w,p){var m=w&7,k=w>>>3;return p<<=m,x[k]|=p&255,p>>>=8,x[k+1]=p,w+8}function o0(x,w,p){var m=w&7,k=w>>>3;return p<<=m,x[k]|=p&255,p>>>=8,x[k+1]=p&255,x[k+2]=p>>>8,w+16}function wa(x,w){var p=x.length,m=2*p>w?2*p:w+5,k=0;if(p>=w)return x;if(xe){var E=w0(m);if(x.copy)x.copy(E);else for(;k<x.length;++k)E[k]=x[k];return E}else if(ee){var O=new Uint8Array(m);if(O.set)O.set(x);else for(;k<p;++k)O[k]=x[k];return O}return x.length=m,x}function _r(x){for(var w=new Array(x),p=0;p<x;++p)w[p]=0;return w}function Wt(x,w,p){var m=1,k=0,E=0,O=0,P=0,R=x.length,I=ee?new Uint16Array(32):_r(32);for(E=0;E<32;++E)I[E]=0;for(E=R;E<p;++E)x[E]=0;R=x.length;var N=ee?new Uint16Array(R):_r(R);for(E=0;E<R;++E)I[k=x[E]]++,m<k&&(m=k),N[E]=0;for(I[0]=0,E=1;E<=m;++E)I[E+16]=P=P+I[E-1]<<1;for(E=0;E<R;++E)P=x[E],P!=0&&(N[E]=I[P+16]++);var K=0;for(E=0;E<R;++E)if(K=x[E],K!=0)for(P=le(N[E],m)>>m-K,O=(1<<m+4-K)-1;O>=0;--O)w[P|O<<K]=K&15|E<<4;return m}var ka=ee?new Uint16Array(512):_r(512),Ea=ee?new Uint16Array(32):_r(32);if(!ee){for(var Hr=0;Hr<512;++Hr)ka[Hr]=0;for(Hr=0;Hr<32;++Hr)Ea[Hr]=0}(function(){for(var x=[],w=0;w<32;w++)x.push(5);Wt(x,Ea,32);var p=[];for(w=0;w<=143;w++)p.push(8);for(;w<=255;w++)p.push(9);for(;w<=279;w++)p.push(7);for(;w<=287;w++)p.push(8);Wt(p,ka,288)})();var Ni=(function(){for(var w=ee?new Uint8Array(32768):[],p=0,m=0;p<ne.length-1;++p)for(;m<ne[p+1];++m)w[m]=p;for(;m<32768;++m)w[m]=29;var k=ee?new Uint8Array(259):[];for(p=0,m=0;p<V.length-1;++p)for(;m<V[p+1];++m)k[m]=p;function E(P,R){for(var I=0;I<P.length;){var N=Math.min(65535,P.length-I),K=I+N==P.length;for(R.write_shift(1,+K),R.write_shift(2,N),R.write_shift(2,~N&65535);N-- >0;)R[R.l++]=P[I++]}return R.l}function O(P,R){for(var I=0,N=0,K=ee?new Uint16Array(32768):[];N<P.length;){var J=Math.min(65535,P.length-N);if(J<10){for(I=Sr(R,I,+(N+J==P.length)),I&7&&(I+=8-(I&7)),R.l=I/8|0,R.write_shift(2,J),R.write_shift(2,~J&65535);J-- >0;)R[R.l++]=P[N++];I=R.l*8;continue}I=Sr(R,I,+(N+J==P.length)+2);for(var re=0;J-- >0;){var q=P[N];re=(re<<5^q)&32767;var Q=-1,ce=0;if((Q=K[re])&&(Q|=N&-32768,Q>N&&(Q-=32768),Q<N))for(;P[Q+ce]==P[N+ce]&&ce<250;)++ce;if(ce>2){q=k[ce],q<=22?I=et(R,I,Z[q+1]>>1)-1:(et(R,I,3),I+=5,et(R,I,Z[q-23]>>5),I+=3);var Ee=q<8?0:q-4>>2;Ee>0&&(o0(R,I,ce-V[q]),I+=Ee),q=w[N-Q],I=et(R,I,Z[q]>>3),I-=3;var er=q<4?0:q-2>>1;er>0&&(o0(R,I,N-Q-ne[q]),I+=er);for(var Ae=0;Ae<ce;++Ae)K[re]=N&32767,re=(re<<5^P[N])&32767,++N;J-=ce-1}else q<=143?q=q+48:I=Wr(R,I,1),I=et(R,I,Z[q]),K[re]=N&32767,++N}I=et(R,I,0)-1}return R.l=(I+7)/8|0,R.l}return function(R,I){return R.length<8?E(R,I):O(R,I)}})();function l0(x){var w=b(50+Math.floor(x.length*1.1)),p=Ni(x,w);return w.slice(0,p)}var u0=ee?new Uint16Array(32768):_r(32768),h0=ee?new Uint16Array(32768):_r(32768),x0=ee?new Uint16Array(128):_r(128),d0=1,v0=1;function bi(x,w){var p=Se(x,w)+257;w+=5;var m=Se(x,w)+1;w+=5;var k=xr(x,w)+4;w+=4;for(var E=0,O=ee?new Uint8Array(19):_r(19),P=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],R=1,I=ee?new Uint8Array(8):_r(8),N=ee?new Uint8Array(8):_r(8),K=O.length,J=0;J<k;++J)O[S[J]]=E=ue(x,w),R<E&&(R=E),I[E]++,w+=3;var re=0;for(I[0]=0,J=1;J<=R;++J)N[J]=re=re+I[J-1]<<1;for(J=0;J<K;++J)(re=O[J])!=0&&(P[J]=N[re]++);var q=0;for(J=0;J<K;++J)if(q=O[J],q!=0){re=Z[P[J]]>>8-q;for(var Q=(1<<7-q)-1;Q>=0;--Q)x0[re|Q<<q]=q&7|J<<3}var ce=[];for(R=1;ce.length<p+m;)switch(re=x0[ae(x,w)],w+=re&7,re>>>=3){case 16:for(E=3+Ue(x,w),w+=2,re=ce[ce.length-1];E-- >0;)ce.push(re);break;case 17:for(E=3+ue(x,w),w+=3;E-- >0;)ce.push(0);break;case 18:for(E=11+ae(x,w),w+=7;E-- >0;)ce.push(0);break;default:ce.push(re),R<re&&(R=re);break}var Ee=ce.slice(0,p),er=ce.slice(p);for(J=p;J<286;++J)Ee[J]=0;for(J=m;J<30;++J)er[J]=0;return d0=Wt(Ee,u0,286),v0=Wt(er,h0,30),w}function Pi(x,w){if(x[0]==3&&!(x[1]&3))return[\\$r(w),2];for(var p=0,m=0,k=w0(w||1<<18),E=0,O=k.length>>>0,P=0,R=0;(m&1)==0;){if(m=ue(x,p),p+=3,m>>>1)m>>1==1?(P=9,R=5):(p=bi(x,p),P=d0,R=v0);else{p&7&&(p+=8-(p&7));var I=x[p>>>3]|x[(p>>>3)+1]<<8;if(p+=32,I>0)for(!w&&O<E+I&&(k=wa(k,E+I),O=k.length);I-- >0;)k[E++]=x[p>>>3],p+=8;continue}for(;;){!w&&O<E+32767&&(k=wa(k,E+32767),O=k.length);var N=or(x,p,P),K=m>>>1==1?ka[N]:u0[N];if(p+=K&15,K>>>=4,(K>>>8&255)===0)k[E++]=K;else{if(K==256)break;K-=257;var J=K<8?0:K-4>>2;J>5&&(J=0);var re=E+V[K];J>0&&(re+=or(x,p,J),p+=J),N=or(x,p,R),K=m>>>1==1?Ea[N]:h0[N],p+=K&15,K>>>=4;var q=K<4?0:K-2>>1,Q=ne[K];for(q>0&&(Q+=or(x,p,q),p+=q),!w&&O<re&&(k=wa(k,re+100),O=k.length);E<re;)k[E]=k[E-Q],++E}}}return w?[k,p+7>>>3]:[k.slice(0,E),p+7>>>3]}function p0(x,w){var p=x.slice(x.l||0),m=Pi(p,w);return x.l+=m[1],m[0]}function m0(x,w){if(x)typeof console<\"u\"&&console.error(w);else throw new Error(w)}function g0(x,w){var p=x;sr(p,0);var m=[],k=[],E={FileIndex:m,FullPaths:k};A(E,{root:w.root});for(var O=p.length-4;(p[O]!=80||p[O+1]!=75||p[O+2]!=5||p[O+3]!=6)&&O>=0;)--O;p.l=O+4,p.l+=4;var P=p.read_shift(2);p.l+=6;var R=p.read_shift(4);for(p.l=R,O=0;O<P;++O){p.l+=20;var I=p.read_shift(4),N=p.read_shift(4),K=p.read_shift(2),J=p.read_shift(2),re=p.read_shift(2);p.l+=8;var q=p.read_shift(4),Q=f(p.slice(p.l+K,p.l+K+J));p.l+=K+J+re;var ce=p.l;p.l=q+4,Li(p,I,N,E,Q),p.l=ce}return E}function Li(x,w,p,m,k){x.l+=2;var E=x.read_shift(2),O=x.read_shift(2),P=s(x);if(E&8257)throw new Error(\"Unsupported ZIP encryption\");for(var R=x.read_shift(4),I=x.read_shift(4),N=x.read_shift(4),K=x.read_shift(2),J=x.read_shift(2),re=\"\",q=0;q<K;++q)re+=String.fromCharCode(x[x.l++]);if(J){var Q=f(x.slice(x.l,x.l+J));(Q[21589]||{}).mt&&(P=Q[21589].mt),((k||{})[21589]||{}).mt&&(P=k[21589].mt)}x.l+=J;var ce=x.slice(x.l,x.l+I);switch(O){case 8:ce=M(x,N);break;case 0:break;default:throw new Error(\"Unsupported ZIP Compression method \"+O)}var Ee=!1;E&8&&(R=x.read_shift(4),R==134695760&&(R=x.read_shift(4),Ee=!0),I=x.read_shift(4),N=x.read_shift(4)),I!=w&&m0(Ee,\"Bad compressed size: \"+w+\" != \"+I),N!=p&&m0(Ee,\"Bad uncompressed size: \"+p+\" != \"+N),Ta(m,re,ce,{unsafe:!0,mt:P})}function Bi(x,w){var p=w||{},m=[],k=[],E=b(1),O=p.compression?8:0,P=0,R=!1;R&&(P|=8);var I=0,N=0,K=0,J=0,re=x.FullPaths[0],q=re,Q=x.FileIndex[0],ce=[],Ee=0;for(I=1;I<x.FullPaths.length;++I)if(q=x.FullPaths[I].slice(re.length),Q=x.FileIndex[I],!(!Q.size||!Q.content||q==\"\u0001Sh33tJ5\")){var er=K,Ae=b(q.length);for(N=0;N<q.length;++N)Ae.write_shift(1,q.charCodeAt(N)&127);Ae=Ae.slice(0,Ae.l),ce[J]=As.buf(Q.content,0);var nr=Q.content;O==8&&(nr=F(nr)),E=b(30),E.write_shift(4,67324752),E.write_shift(2,20),E.write_shift(2,P),E.write_shift(2,O),Q.mt?i(E,Q.mt):E.write_shift(4,0),E.write_shift(-4,P&8?0:ce[J]),E.write_shift(4,P&8?0:nr.length),E.write_shift(4,P&8?0:Q.content.length),E.write_shift(2,Ae.length),E.write_shift(2,0),K+=E.length,m.push(E),K+=Ae.length,m.push(Ae),K+=nr.length,m.push(nr),P&8&&(E=b(12),E.write_shift(-4,ce[J]),E.write_shift(4,nr.length),E.write_shift(4,Q.content.length),K+=E.l,m.push(E)),E=b(46),E.write_shift(4,33639248),E.write_shift(2,0),E.write_shift(2,20),E.write_shift(2,P),E.write_shift(2,O),E.write_shift(4,0),E.write_shift(-4,ce[J]),E.write_shift(4,nr.length),E.write_shift(4,Q.content.length),E.write_shift(2,Ae.length),E.write_shift(2,0),E.write_shift(2,0),E.write_shift(2,0),E.write_shift(2,0),E.write_shift(4,0),E.write_shift(4,er),Ee+=E.l,k.push(E),Ee+=Ae.length,k.push(Ae),++J}return E=b(22),E.write_shift(4,101010256),E.write_shift(2,0),E.write_shift(2,0),E.write_shift(2,J),E.write_shift(2,J),E.write_shift(4,Ee),E.write_shift(4,K),E.write_shift(2,0),Ve([Ve(m),Ve(k),E])}var Ht={htm:\"text/html\",xml:\"text/xml\",gif:\"image/gif\",jpg:\"image/jpeg\",png:\"image/png\",mso:\"application/x-mso\",thmx:\"application/vnd.ms-officetheme\",sh33tj5:\"application/octet-stream\"};function Mi(x,w){if(x.ctype)return x.ctype;var p=x.name||\"\",m=p.match(/\\\\.([^\\\\.]+)\\$/);return m&&Ht[m[1]]||w&&(m=(p=w).match(/[\\\\.\\\\\\\\]([^\\\\.\\\\\\\\])+\\$/),m&&Ht[m[1]])?Ht[m[1]]:\"application/octet-stream\"}function Ui(x){for(var w=Ot(x),p=[],m=0;m<w.length;m+=76)p.push(w.slice(m,m+76));return p.join(\\`\\\\r\n\\`)+\\`\\\\r\n\\`}function Wi(x){var w=x.replace(/[\\\\x00-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7E-\\\\xFF=]/g,function(I){var N=I.charCodeAt(0).toString(16).toUpperCase();return\"=\"+(N.length==1?\"0\"+N:N)});w=w.replace(/ \\$/mg,\"=20\").replace(/\\\\t\\$/mg,\"=09\"),w.charAt(0)==\\`\n\\`&&(w=\"=0D\"+w.slice(1)),w=w.replace(/\\\\r(?!\\\\n)/mg,\"=0D\").replace(/\\\\n\\\\n/mg,\\`\n=0A\\`).replace(/([^\\\\r\\\\n])\\\\n/mg,\"\\$1=0A\");for(var p=[],m=w.split(\\`\\\\r\n\\`),k=0;k<m.length;++k){var E=m[k];if(E.length==0){p.push(\"\");continue}for(var O=0;O<E.length;){var P=76,R=E.slice(O,O+P);R.charAt(P-1)==\"=\"?P--:R.charAt(P-2)==\"=\"?P-=2:R.charAt(P-3)==\"=\"&&(P-=3),R=E.slice(O,O+P),O+=P,O<E.length&&(R+=\"=\"),p.push(R)}}return p.join(\\`\\\\r\n\\`)}function Hi(x){for(var w=[],p=0;p<x.length;++p){for(var m=x[p];p<=x.length&&m.charAt(m.length-1)==\"=\";)m=m.slice(0,m.length-1)+x[++p];w.push(m)}for(var k=0;k<w.length;++k)w[k]=w[k].replace(/[=][0-9A-Fa-f]{2}/g,function(E){return String.fromCharCode(parseInt(E.slice(1),16))});return pr(w.join(\\`\\\\r\n\\`))}function Vi(x,w,p){for(var m=\"\",k=\"\",E=\"\",O,P=0;P<10;++P){var R=w[P];if(!R||R.match(/^\\\\s*\\$/))break;var I=R.match(/^(.*?):\\\\s*([^\\\\s].*)\\$/);if(I)switch(I[1].toLowerCase()){case\"content-location\":m=I[2].trim();break;case\"content-type\":E=I[2].trim();break;case\"content-transfer-encoding\":k=I[2].trim();break}}switch(++P,k.toLowerCase()){case\"base64\":O=pr(Or(w.slice(P).join(\"\")));break;case\"quoted-printable\":O=Hi(w.slice(P));break;default:throw new Error(\"Unsupported Content-Transfer-Encoding \"+k)}var N=Ta(x,m.slice(p.length),O,{unsafe:!0});E&&(N.ctype=E)}function Xi(x,w){if(je(x.slice(0,13)).toLowerCase()!=\"mime-version:\")throw new Error(\"Unsupported MAD header\");var p=w&&w.root||\"\",m=(xe&&Buffer.isBuffer(x)?x.toString(\"binary\"):je(x)).split(\\`\\\\r\n\\`),k=0,E=\"\";for(k=0;k<m.length;++k)if(E=m[k],!!/^Content-Location:/i.test(E)&&(E=E.slice(E.indexOf(\"file\")),p||(p=E.slice(0,E.lastIndexOf(\"/\")+1)),E.slice(0,p.length)!=p))for(;p.length>0&&(p=p.slice(0,p.length-1),p=p.slice(0,p.lastIndexOf(\"/\")+1),E.slice(0,p.length)!=p););var O=(m[1]||\"\").match(/boundary=\"(.*?)\"/);if(!O)throw new Error(\"MAD cannot find boundary\");var P=\"--\"+(O[1]||\"\"),R=[],I=[],N={FileIndex:R,FullPaths:I};A(N);var K,J=0;for(k=0;k<m.length;++k){var re=m[k];re!==P&&re!==P+\"--\"||(J++&&Vi(N,m.slice(K,k),p),K=k)}return N}function Gi(x,w){var p=w||{},m=p.boundary||\"SheetJS\";m=\"------=\"+m;for(var k=[\"MIME-Version: 1.0\",'Content-Type: multipart/related; boundary=\"'+m.slice(2)+'\"',\"\",\"\",\"\"],E=x.FullPaths[0],O=E,P=x.FileIndex[0],R=1;R<x.FullPaths.length;++R)if(O=x.FullPaths[R].slice(E.length),P=x.FileIndex[R],!(!P.size||!P.content||O==\"\u0001Sh33tJ5\")){O=O.replace(/[\\\\x00-\\\\x08\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7E-\\\\xFF]/g,function(ce){return\"_x\"+ce.charCodeAt(0).toString(16)+\"_\"}).replace(/[\\\\u0080-\\\\uFFFF]/g,function(ce){return\"_u\"+ce.charCodeAt(0).toString(16)+\"_\"});for(var I=P.content,N=xe&&Buffer.isBuffer(I)?I.toString(\"binary\"):je(I),K=0,J=Math.min(1024,N.length),re=0,q=0;q<=J;++q)(re=N.charCodeAt(q))>=32&&re<128&&++K;var Q=K>=J*4/5;k.push(m),k.push(\"Content-Location: \"+(p.root||\"file:///C:/SheetJS/\")+O),k.push(\"Content-Transfer-Encoding: \"+(Q?\"quoted-printable\":\"base64\")),k.push(\"Content-Type: \"+Mi(P,O)),k.push(\"\"),k.push(Q?Wi(N):Ui(N))}return k.push(m+\\`--\\\\r\n\\`),k.join(\\`\\\\r\n\\`)}function zi(x){var w={};return A(w,x),w}function Ta(x,w,p,m){var k=m&&m.unsafe;k||A(x);var E=!k&&we.find(x,w);if(!E){var O=x.FullPaths[0];w.slice(0,O.length)==O?O=w:(O.slice(-1)!=\"/\"&&(O+=\"/\"),O=(O+w).replace(\"//\",\"/\")),E={name:n(w),type:2},x.FileIndex.push(E),x.FullPaths.push(O),k||we.utils.cfb_gc(x)}return E.content=p,E.size=p?p.length:0,m&&(m.CLSID&&(E.clsid=m.CLSID),m.mt&&(E.mt=m.mt),m.ct&&(E.ct=m.ct)),E}function \\$i(x,w){A(x);var p=we.find(x,w);if(p){for(var m=0;m<x.FileIndex.length;++m)if(x.FileIndex[m]==p)return x.FileIndex.splice(m,1),x.FullPaths.splice(m,1),!0}return!1}function Ki(x,w,p){A(x);var m=we.find(x,w);if(m){for(var k=0;k<x.FileIndex.length;++k)if(x.FileIndex[k]==m)return x.FileIndex[k].name=n(p),x.FullPaths[k]=p,!0}return!1}function ji(x){L(x,!0)}return t.find=X,t.read=te,t.parse=l,t.write=Me,t.writeFile=Ze,t.utils={cfb_new:zi,cfb_add:Ta,cfb_del:\\$i,cfb_mov:Ki,cfb_gc:ji,ReadShift:St,CheckField:Rn,prep_blob:sr,bconcat:Ve,use_zlib:T,_deflateRaw:l0,_inflateRaw:p0,consts:Ne},t})(),zt;function Cs(e){return typeof e==\"string\"?la(e):Array.isArray(e)?es(e):e}function Lt(e,t,r){if(typeof zt<\"u\"&&zt.writeFileSync)return r?zt.writeFileSync(e,t,r):zt.writeFileSync(e,t);if(typeof Deno<\"u\"){if(r&&typeof t==\"string\")switch(r){case\"utf8\":t=new TextEncoder(r).encode(t);break;case\"binary\":t=la(t);break;default:throw new Error(\"Unsupported encoding \"+r)}return Deno.writeFileSync(e,t)}var a=r==\"utf8\"?yr(t):t;if(typeof IE_SaveFile<\"u\")return IE_SaveFile(a,e);if(typeof Blob<\"u\"){var n=new Blob([Cs(a)],{type:\"application/octet-stream\"});if(typeof navigator<\"u\"&&navigator.msSaveBlob)return navigator.msSaveBlob(n,e);if(typeof saveAs<\"u\")return saveAs(n,e);if(typeof URL<\"u\"&&typeof document<\"u\"&&document.createElement&&URL.createObjectURL){var i=URL.createObjectURL(n);if(typeof chrome==\"object\"&&typeof(chrome.downloads||{}).download==\"function\")return URL.revokeObjectURL&&typeof setTimeout<\"u\"&&setTimeout(function(){URL.revokeObjectURL(i)},6e4),chrome.downloads.download({url:i,filename:e,saveAs:!0});var s=document.createElement(\"a\");if(s.download!=null)return s.download=e,s.href=i,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL&&typeof setTimeout<\"u\"&&setTimeout(function(){URL.revokeObjectURL(i)},6e4),i}}if(typeof \\$<\"u\"&&typeof File<\"u\"&&typeof Folder<\"u\")try{var f=File(e);return f.open(\"w\"),f.encoding=\"binary\",Array.isArray(t)&&(t=Pt(t)),f.write(t),f.close(),t}catch(o){if(!o.message||!o.message.match(/onstruct/))throw o}throw new Error(\"cannot save file \"+e)}function ze(e){for(var t=Object.keys(e),r=[],a=0;a<t.length;++a)Object.prototype.hasOwnProperty.call(e,t[a])&&r.push(t[a]);return r}function C0(e,t){for(var r=[],a=ze(e),n=0;n!==a.length;++n)r[e[a[n]][t]]==null&&(r[e[a[n]][t]]=a[n]);return r}function Ua(e){for(var t=[],r=ze(e),a=0;a!==r.length;++a)t[e[r[a]]]=r[a];return t}function xa(e){for(var t=[],r=ze(e),a=0;a!==r.length;++a)t[e[r[a]]]=parseInt(r[a],10);return t}function Ds(e){for(var t=[],r=ze(e),a=0;a!==r.length;++a)t[e[r[a]]]==null&&(t[e[r[a]]]=[]),t[e[r[a]]].push(r[a]);return t}var ea=new Date(1899,11,30,0,0,0);function tr(e,t){var r=e.getTime();t&&(r-=1462*24*60*60*1e3);var a=ea.getTime()+(e.getTimezoneOffset()-ea.getTimezoneOffset())*6e4;return(r-a)/(1440*60*1e3)}var wn=new Date,Os=ea.getTime()+(wn.getTimezoneOffset()-ea.getTimezoneOffset())*6e4,D0=wn.getTimezoneOffset();function kn(e){var t=new Date;return t.setTime(e*24*60*60*1e3+Os),t.getTimezoneOffset()!==D0&&t.setTime(t.getTime()+(t.getTimezoneOffset()-D0)*6e4),t}var O0=new Date(\"2017-02-19T19:06:09.000Z\"),En=isNaN(O0.getFullYear())?new Date(\"2/19/17\"):O0,Is=En.getFullYear()==2017;function qe(e,t){var r=new Date(e);if(Is)return t>0?r.setTime(r.getTime()+r.getTimezoneOffset()*60*1e3):t<0&&r.setTime(r.getTime()-r.getTimezoneOffset()*60*1e3),r;if(e instanceof Date)return e;if(En.getFullYear()==1917&&!isNaN(r.getFullYear())){var a=r.getFullYear();return e.indexOf(\"\"+a)>-1||r.setFullYear(r.getFullYear()+100),r}var n=e.match(/\\\\d+/g)||[\"2017\",\"2\",\"19\",\"0\",\"0\",\"0\"],i=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);return e.indexOf(\"Z\")>-1&&(i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3)),i}function da(e,t){if(xe&&Buffer.isBuffer(e)){if(t){if(e[0]==255&&e[1]==254)return yr(e.slice(2).toString(\"utf16le\"));if(e[1]==254&&e[2]==255)return yr(Qi(e.slice(2).toString(\"binary\")))}return e.toString(\"binary\")}if(typeof TextDecoder<\"u\")try{if(t){if(e[0]==255&&e[1]==254)return yr(new TextDecoder(\"utf-16le\").decode(e.slice(2)));if(e[0]==254&&e[1]==255)return yr(new TextDecoder(\"utf-16be\").decode(e.slice(2)))}var r={\"\\\\u20AC\":\"\\\\x80\",\"\\\\u201A\":\"\\\\x82\",\\\\u0192:\"\\\\x83\",\"\\\\u201E\":\"\\\\x84\",\"\\\\u2026\":\"\\\\x85\",\"\\\\u2020\":\"\\\\x86\",\"\\\\u2021\":\"\\\\x87\",\"\\\\u02C6\":\"\\\\x88\",\"\\\\u2030\":\"\\\\x89\",\\\\u0160:\"\\\\x8A\",\"\\\\u2039\":\"\\\\x8B\",\\\\u0152:\"\\\\x8C\",\\\\u017D:\"\\\\x8E\",\"\\\\u2018\":\"\\\\x91\",\"\\\\u2019\":\"\\\\x92\",\"\\\\u201C\":\"\\\\x93\",\"\\\\u201D\":\"\\\\x94\",\"\\\\u2022\":\"\\\\x95\",\"\\\\u2013\":\"\\\\x96\",\"\\\\u2014\":\"\\\\x97\",\"\\\\u02DC\":\"\\\\x98\",\"\\\\u2122\":\"\\\\x99\",\\\\u0161:\"\\\\x9A\",\"\\\\u203A\":\"\\\\x9B\",\\\\u0153:\"\\\\x9C\",\\\\u017E:\"\\\\x9E\",\\\\u0178:\"\\\\x9F\"};return Array.isArray(e)&&(e=new Uint8Array(e)),new TextDecoder(\"latin1\").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(i){return r[i]||i})}catch{}for(var a=[],n=0;n!=e.length;++n)a.push(String.fromCharCode(e[n]));return a.join(\"\")}function ar(e){if(typeof JSON<\"u\"&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(typeof e!=\"object\"||e==null)return e;if(e instanceof Date)return new Date(e.getTime());var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=ar(e[r]));return t}function Fe(e,t){for(var r=\"\";r.length<t;)r+=e;return r}function Cr(e){var t=Number(e);if(!isNaN(t))return isFinite(t)?t:NaN;if(!/\\\\d/.test(e))return t;var r=1,a=e.replace(/([\\\\d]),([\\\\d])/g,\"\\$1\\$2\").replace(/[\\$]/g,\"\").replace(/[%]/g,function(){return r*=100,\"\"});return!isNaN(t=Number(a))||(a=a.replace(/[(](.*)[)]/,function(n,i){return r=-r,i}),!isNaN(t=Number(a)))?t/r:t}var Rs=[\"january\",\"february\",\"march\",\"april\",\"may\",\"june\",\"july\",\"august\",\"september\",\"october\",\"november\",\"december\"];function It(e){var t=new Date(e),r=new Date(NaN),a=t.getYear(),n=t.getMonth(),i=t.getDate();if(isNaN(i))return r;var s=e.toLowerCase();if(s.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)){if(s=s.replace(/[^a-z]/g,\"\").replace(/([^a-z]|^)[ap]m?([^a-z]|\\$)/,\"\"),s.length>3&&Rs.indexOf(s)==-1)return r}else if(s.match(/[a-z]/))return r;return a<0||a>8099?r:(n>0||i>1)&&a!=101?t:e.match(/[^-0-9:,\\\\/\\\\\\\\]/)?r:t}function oe(e,t,r){if(e.FullPaths){if(typeof r==\"string\"){var a;return xe?a=Rr(r):a=rs(r),we.utils.cfb_add(e,t,a)}we.utils.cfb_add(e,t,r)}else e.file(t,r)}function Wa(){return we.utils.cfb_new()}var Oe=\\`<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\\\r\n\\`;var Ns={\"&quot;\":'\"',\"&apos;\":\"'\",\"&gt;\":\">\",\"&lt;\":\"<\",\"&amp;\":\"&\"},Ha=Ua(Ns);var Va=/[&<>'\"]/g,bs=/[\\\\u0000-\\\\u0008\\\\u000b-\\\\u001f]/g;function me(e){var t=e+\"\";return t.replace(Va,function(r){return Ha[r]}).replace(bs,function(r){return\"_x\"+(\"000\"+r.charCodeAt(0).toString(16)).slice(-4)+\"_\"})}function I0(e){return me(e).replace(/ /g,\"_x0020_\")}var Tn=/[\\\\u0000-\\\\u001f]/g;function Ps(e){var t=e+\"\";return t.replace(Va,function(r){return Ha[r]}).replace(/\\\\n/g,\"<br/>\").replace(Tn,function(r){return\"&#x\"+(\"000\"+r.charCodeAt(0).toString(16)).slice(-4)+\";\"})}function Ls(e){var t=e+\"\";return t.replace(Va,function(r){return Ha[r]}).replace(Tn,function(r){return\"&#x\"+r.charCodeAt(0).toString(16).toUpperCase()+\";\"})}function Bs(e){return e.replace(/(\\\\r\\\\n|[\\\\r\\\\n])/g,\"&#10;\")}function Ms(e){switch(e){case 1:case!0:case\"1\":case\"true\":case\"TRUE\":return!0;default:return!1}}function ya(e){for(var t=\"\",r=0,a=0,n=0,i=0,s=0,f=0;r<e.length;){if(a=e.charCodeAt(r++),a<128){t+=String.fromCharCode(a);continue}if(n=e.charCodeAt(r++),a>191&&a<224){s=(a&31)<<6,s|=n&63,t+=String.fromCharCode(s);continue}if(i=e.charCodeAt(r++),a<240){t+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(r++),f=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536,t+=String.fromCharCode(55296+(f>>>10&1023)),t+=String.fromCharCode(56320+(f&1023))}return t}function R0(e){var t=\\$r(2*e.length),r,a,n=1,i=0,s=0,f;for(a=0;a<e.length;a+=n)n=1,(f=e.charCodeAt(a))<128?r=f:f<224?(r=(f&31)*64+(e.charCodeAt(a+1)&63),n=2):f<240?(r=(f&15)*4096+(e.charCodeAt(a+1)&63)*64+(e.charCodeAt(a+2)&63),n=3):(n=4,r=(f&7)*262144+(e.charCodeAt(a+1)&63)*4096+(e.charCodeAt(a+2)&63)*64+(e.charCodeAt(a+3)&63),r-=65536,s=55296+(r>>>10&1023),r=56320+(r&1023)),s!==0&&(t[i++]=s&255,t[i++]=s>>>8,s=0),t[i++]=r%256,t[i++]=r>>>8;return t.slice(0,i).toString(\"ucs2\")}function N0(e){return Rr(e,\"binary\").toString(\"utf8\")}var \\$t=\"foo bar baz\\\\xE2\\\\x98\\\\x83\\\\xF0\\\\x9F\\\\x8D\\\\xA3\",Tt=xe&&(N0(\\$t)==ya(\\$t)&&N0||R0(\\$t)==ya(\\$t)&&R0)||ya,yr=xe?function(e){return Rr(e,\"utf8\").toString(\"binary\")}:function(e){for(var t=[],r=0,a=0,n=0;r<e.length;)switch(a=e.charCodeAt(r++),!0){case a<128:t.push(String.fromCharCode(a));break;case a<2048:t.push(String.fromCharCode(192+(a>>6))),t.push(String.fromCharCode(128+(a&63)));break;case(a>=55296&&a<57344):a-=55296,n=e.charCodeAt(r++)-56320+(a<<10),t.push(String.fromCharCode(240+(n>>18&7))),t.push(String.fromCharCode(144+(n>>12&63))),t.push(String.fromCharCode(128+(n>>6&63))),t.push(String.fromCharCode(128+(n&63)));break;default:t.push(String.fromCharCode(224+(a>>12))),t.push(String.fromCharCode(128+(a>>6&63))),t.push(String.fromCharCode(128+(a&63)))}return t.join(\"\")};var Us=(function(){var e=[[\"nbsp\",\" \"],[\"middot\",\"\\\\xB7\"],[\"quot\",'\"'],[\"apos\",\"'\"],[\"gt\",\">\"],[\"lt\",\"<\"],[\"amp\",\"&\"]].map(function(t){return[new RegExp(\"&\"+t[0]+\";\",\"ig\"),t[1]]});return function(r){for(var a=r.replace(/^[\\\\t\\\\n\\\\r ]+/,\"\").replace(/[\\\\t\\\\n\\\\r ]+\\$/,\"\").replace(/>\\\\s+/g,\">\").replace(/\\\\s+</g,\"<\").replace(/[\\\\t\\\\n\\\\r ]+/g,\" \").replace(/<\\\\s*[bB][rR]\\\\s*\\\\/?>/g,\\`\n\\`).replace(/<[^>]*>/g,\"\"),n=0;n<e.length;++n)a=a.replace(e[n][0],e[n][1]);return a}})();var Sn=/(^\\\\s|\\\\s\\$|\\\\n)/;function Xe(e,t){return\"<\"+e+(t.match(Sn)?' xml:space=\"preserve\"':\"\")+\">\"+t+\"</\"+e+\">\"}function Rt(e){return ze(e).map(function(t){return\" \"+t+'=\"'+e[t]+'\"'}).join(\"\")}function j(e,t,r){return\"<\"+e+(r!=null?Rt(r):\"\")+(t!=null?(t.match(Sn)?' xml:space=\"preserve\"':\"\")+\">\"+t+\"</\"+e:\"/\")+\">\"}function ba(e,t){try{return e.toISOString().replace(/\\\\.\\\\d*/,\"\")}catch(r){if(t)throw r}return\"\"}function Ws(e,t){switch(typeof e){case\"string\":var r=j(\"vt:lpwstr\",me(e));return t&&(r=r.replace(/&quot;/g,\"_x0022_\")),r;case\"number\":return j((e|0)==e?\"vt:i4\":\"vt:r8\",me(String(e)));case\"boolean\":return j(\"vt:bool\",e?\"true\":\"false\")}if(e instanceof Date)return j(\"vt:filetime\",ba(e));throw new Error(\"Unable to serialize \"+e)}var Pe={CORE_PROPS:\"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\",CUST_PROPS:\"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\",EXT_PROPS:\"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",CT:\"http://schemas.openxmlformats.org/package/2006/content-types\",RELS:\"http://schemas.openxmlformats.org/package/2006/relationships\",TCMNT:\"http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments\",dc:\"http://purl.org/dc/elements/1.1/\",dcterms:\"http://purl.org/dc/terms/\",dcmitype:\"http://purl.org/dc/dcmitype/\",mx:\"http://schemas.microsoft.com/office/mac/excel/2008/main\",r:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\",sjs:\"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties\",vt:\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\",xsi:\"http://www.w3.org/2001/XMLSchema-instance\",xsd:\"http://www.w3.org/2001/XMLSchema\"},xt=[\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\",\"http://purl.oclc.org/ooxml/spreadsheetml/main\",\"http://schemas.microsoft.com/office/excel/2006/main\",\"http://schemas.microsoft.com/office/excel/2006/2\"],fr={o:\"urn:schemas-microsoft-com:office:office\",x:\"urn:schemas-microsoft-com:office:excel\",ss:\"urn:schemas-microsoft-com:office:spreadsheet\",dt:\"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882\",mv:\"http://macVmlSchemaUri\",v:\"urn:schemas-microsoft-com:vml\",html:\"http://www.w3.org/TR/REC-html40\"};function Hs(e,t){for(var r=1-2*(e[t+7]>>>7),a=((e[t+7]&127)<<4)+(e[t+6]>>>4&15),n=e[t+6]&15,i=5;i>=0;--i)n=n*256+e[t+i];return a==2047?n==0?r*(1/0):NaN:(a==0?a=-1022:(a-=1023,n+=Math.pow(2,52)),r*Math.pow(2,a-52)*n)}function Vs(e,t,r){var a=(t<0||1/t==-1/0?1:0)<<7,n=0,i=0,s=a?-t:t;isFinite(s)?s==0?n=i=0:(n=Math.floor(Math.log(s)/Math.LN2),i=s*Math.pow(2,52-n),n<=-1023&&(!isFinite(i)||i<Math.pow(2,52))?n=-1022:(i-=Math.pow(2,52),n+=1023)):(n=2047,i=isNaN(t)?26985:0);for(var f=0;f<=5;++f,i/=256)e[r+f]=i&255;e[r+6]=(n&15)<<4|i&15,e[r+7]=n>>4|a}var b0=function(e){for(var t=[],r=10240,a=0;a<e[0].length;++a)if(e[0][a])for(var n=0,i=e[0][a].length;n<i;n+=r)t.push.apply(t,e[0][a].slice(n,n+r));return t},P0=xe?function(e){return e[0].length>0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(t){return Buffer.isBuffer(t)?t:Rr(t)})):b0(e)}:b0,L0=function(e,t,r){for(var a=[],n=t;n<r;n+=2)a.push(String.fromCharCode(Et(e,n)));return a.join(\"\").replace(st,\"\")},va=xe?function(e,t,r){return Buffer.isBuffer(e)?e.toString(\"utf16le\",t,r).replace(st,\"\"):L0(e,t,r)}:L0,B0=function(e,t,r){for(var a=[],n=t;n<t+r;++n)a.push((\"0\"+e[n].toString(16)).slice(-2));return a.join(\"\")},Fn=xe?function(e,t,r){return Buffer.isBuffer(e)?e.toString(\"hex\",t,t+r):B0(e,t,r)}:B0,M0=function(e,t,r){for(var a=[],n=t;n<r;n++)a.push(String.fromCharCode(nt(e,n)));return a.join(\"\")},dt=xe?function(t,r,a){return Buffer.isBuffer(t)?t.toString(\"utf8\",r,a):M0(t,r,a)}:M0,yn=function(e,t){var r=be(e,t);return r>0?dt(e,t+4,t+4+r-1):\"\"},Xa=yn,An=function(e,t){var r=be(e,t);return r>0?dt(e,t+4,t+4+r-1):\"\"},Ga=An,Cn=function(e,t){var r=2*be(e,t);return r>0?dt(e,t+4,t+4+r-1):\"\"},za=Cn,Dn=function(t,r){var a=be(t,r);return a>0?va(t,r+4,r+4+a):\"\"},\\$a=Dn,On=function(e,t){var r=be(e,t);return r>0?dt(e,t+4,t+4+r):\"\"},Ka=On,In=function(e,t){return Hs(e,t)},ra=In,ja=function(t){return Array.isArray(t)||typeof Uint8Array<\"u\"&&t instanceof Uint8Array};xe&&(Xa=function(t,r){if(!Buffer.isBuffer(t))return yn(t,r);var a=t.readUInt32LE(r);return a>0?t.toString(\"utf8\",r+4,r+4+a-1):\"\"},Ga=function(t,r){if(!Buffer.isBuffer(t))return An(t,r);var a=t.readUInt32LE(r);return a>0?t.toString(\"utf8\",r+4,r+4+a-1):\"\"},za=function(t,r){if(!Buffer.isBuffer(t))return Cn(t,r);var a=2*t.readUInt32LE(r);return t.toString(\"utf16le\",r+4,r+4+a-1)},\\$a=function(t,r){if(!Buffer.isBuffer(t))return Dn(t,r);var a=t.readUInt32LE(r);return t.toString(\"utf16le\",r+4,r+4+a)},Ka=function(t,r){if(!Buffer.isBuffer(t))return On(t,r);var a=t.readUInt32LE(r);return t.toString(\"utf8\",r+4,r+4+a)},ra=function(t,r){return Buffer.isBuffer(t)?t.readDoubleLE(r):In(t,r)},ja=function(t){return Buffer.isBuffer(t)||Array.isArray(t)||typeof Uint8Array<\"u\"&&t instanceof Uint8Array});function Xs(){va=function(e,t,r){return ke.utils.decode(1200,e.slice(t,r)).replace(st,\"\")},dt=function(e,t,r){return ke.utils.decode(65001,e.slice(t,r))},Xa=function(e,t){var r=be(e,t);return r>0?ke.utils.decode(ut,e.slice(t+4,t+4+r-1)):\"\"},Ga=function(e,t){var r=be(e,t);return r>0?ke.utils.decode(Gr,e.slice(t+4,t+4+r-1)):\"\"},za=function(e,t){var r=2*be(e,t);return r>0?ke.utils.decode(1200,e.slice(t+4,t+4+r-1)):\"\"},\\$a=function(e,t){var r=be(e,t);return r>0?ke.utils.decode(1200,e.slice(t+4,t+4+r)):\"\"},Ka=function(e,t){var r=be(e,t);return r>0?ke.utils.decode(65001,e.slice(t+4,t+4+r)):\"\"}}typeof ke<\"u\"&&Xs();var nt=function(e,t){return e[t]},Et=function(e,t){return e[t+1]*256+e[t]},Gs=function(e,t){var r=e[t+1]*256+e[t];return r<32768?r:(65535-r+1)*-1},be=function(e,t){return e[t+3]*(1<<24)+(e[t+2]<<16)+(e[t+1]<<8)+e[t]},Xr=function(e,t){return e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]},zs=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};function St(e,t){var r=\"\",a,n,i=[],s,f,o,c;switch(t){case\"dbcs\":if(c=this.l,xe&&Buffer.isBuffer(this))r=this.slice(this.l,this.l+2*e).toString(\"utf16le\");else for(o=0;o<e;++o)r+=String.fromCharCode(Et(this,c)),c+=2;e*=2;break;case\"utf8\":r=dt(this,this.l,this.l+e);break;case\"utf16le\":e*=2,r=va(this,this.l,this.l+e);break;case\"wstr\":if(typeof ke<\"u\")r=ke.utils.decode(Gr,this.slice(this.l,this.l+2*e));else return St.call(this,e,\"dbcs\");e=2*e;break;case\"lpstr-ansi\":r=Xa(this,this.l),e=4+be(this,this.l);break;case\"lpstr-cp\":r=Ga(this,this.l),e=4+be(this,this.l);break;case\"lpwstr\":r=za(this,this.l),e=4+2*be(this,this.l);break;case\"lpp4\":e=4+be(this,this.l),r=\\$a(this,this.l),e&2&&(e+=2);break;case\"8lpp4\":e=4+be(this,this.l),r=Ka(this,this.l),e&3&&(e+=4-(e&3));break;case\"cstr\":for(e=0,r=\"\";(s=nt(this,this.l+e++))!==0;)i.push(Vt(s));r=i.join(\"\");break;case\"_wstr\":for(e=0,r=\"\";(s=Et(this,this.l+e))!==0;)i.push(Vt(s)),e+=2;e+=2,r=i.join(\"\");break;case\"dbcs-cont\":for(r=\"\",c=this.l,o=0;o<e;++o){if(this.lens&&this.lens.indexOf(c)!==-1)return s=nt(this,c),this.l=c+1,f=St.call(this,e-o,s?\"dbcs-cont\":\"sbcs-cont\"),i.join(\"\")+f;i.push(Vt(Et(this,c))),c+=2}r=i.join(\"\"),e*=2;break;case\"cpstr\":if(typeof ke<\"u\"){r=ke.utils.decode(Gr,this.slice(this.l,this.l+e));break}case\"sbcs-cont\":for(r=\"\",c=this.l,o=0;o!=e;++o){if(this.lens&&this.lens.indexOf(c)!==-1)return s=nt(this,c),this.l=c+1,f=St.call(this,e-o,s?\"dbcs-cont\":\"sbcs-cont\"),i.join(\"\")+f;i.push(Vt(nt(this,c))),c+=1}r=i.join(\"\");break;default:switch(e){case 1:return a=nt(this,this.l),this.l++,a;case 2:return a=(t===\"i\"?Gs:Et)(this,this.l),this.l+=2,a;case 4:case-4:return t===\"i\"||(this[this.l+3]&128)===0?(a=(e>0?Xr:zs)(this,this.l),this.l+=4,a):(n=be(this,this.l),this.l+=4,n);case 8:case-8:if(t===\"f\")return e==8?n=ra(this,this.l):n=ra([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0),this.l+=8,n;e=8;case 16:r=Fn(this,this.l,e);break}}return this.l+=e,r}var \\$s=function(e,t,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24&255},Ks=function(e,t,r){e[r]=t&255,e[r+1]=t>>8&255,e[r+2]=t>>16&255,e[r+3]=t>>24&255},js=function(e,t,r){e[r]=t&255,e[r+1]=t>>>8&255};function Ys(e,t,r){var a=0,n=0;if(r===\"dbcs\"){for(n=0;n!=t.length;++n)js(this,t.charCodeAt(n),this.l+2*n);a=2*t.length}else if(r===\"sbcs\"){if(typeof ke<\"u\"&&ut==874)for(n=0;n!=t.length;++n){var i=ke.utils.encode(ut,t.charAt(n));this[this.l+n]=i[0]}else for(t=t.replace(/[^\\\\x00-\\\\x7F]/g,\"_\"),n=0;n!=t.length;++n)this[this.l+n]=t.charCodeAt(n)&255;a=t.length}else if(r===\"hex\"){for(;n<e;++n)this[this.l++]=parseInt(t.slice(2*n,2*n+2),16)||0;return this}else if(r===\"utf16le\"){var s=Math.min(this.l+e,this.length);for(n=0;n<Math.min(t.length,e);++n){var f=t.charCodeAt(n);this[this.l++]=f&255,this[this.l++]=f>>8}for(;this.l<s;)this[this.l++]=0;return this}else switch(e){case 1:a=1,this[this.l]=t&255;break;case 2:a=2,this[this.l]=t&255,t>>>=8,this[this.l+1]=t&255;break;case 3:a=3,this[this.l]=t&255,t>>>=8,this[this.l+1]=t&255,t>>>=8,this[this.l+2]=t&255;break;case 4:a=4,\\$s(this,t,this.l);break;case 8:if(a=8,r===\"f\"){Vs(this,t,this.l);break}case 16:break;case-4:a=4,Ks(this,t,this.l);break}return this.l+=a,this}function Rn(e,t){var r=Fn(this,this.l,e.length>>1);if(r!==e)throw new Error(t+\"Expected \"+e+\" saw \"+r);this.l+=e.length>>1}function sr(e,t){e.l=t,e.read_shift=St,e.chk=Rn,e.write_shift=Ys}function Tr(e,t){e.l+=t}function b(e){var t=\\$r(e);return sr(t,0),t}function rr(){var e=[],t=xe?256:2048,r=function(c){var l=b(c);return sr(l,0),l},a=r(t),n=function(){a&&(a.length>a.l&&(a=a.slice(0,a.l),a.l=a.length),a.length>0&&e.push(a),a=null)},i=function(c){return a&&c<a.length-a.l?a:(n(),a=r(Math.max(c+1,t)))},s=function(){return n(),Ve(e)},f=function(c){n(),a=c,a.l==null&&(a.l=a.length),i(t)};return{next:i,push:f,end:s,_bufs:e}}function H(e,t,r,a){var n=+t,i;if(!isNaN(n)){a||(a=Gh[n].p||(r||[]).length||0),i=1+(n>=128?1:0)+1,a>=128&&++i,a>=16384&&++i,a>=2097152&&++i;var s=e.next(i);n<=127?s.write_shift(1,n):(s.write_shift(1,(n&127)+128),s.write_shift(1,n>>7));for(var f=0;f!=4;++f)if(a>=128)s.write_shift(1,(a&127)+128),a>>=7;else{s.write_shift(1,a);break}a>0&&ja(r)&&e.push(r)}}function Ft(e,t,r){var a=ar(e);if(t.s?(a.cRel&&(a.c+=t.s.c),a.rRel&&(a.r+=t.s.r)):(a.cRel&&(a.c+=t.c),a.rRel&&(a.r+=t.r)),!r||r.biff<12){for(;a.c>=256;)a.c-=256;for(;a.r>=65536;)a.r-=65536}return a}function U0(e,t,r){var a=ar(e);return a.s=Ft(a.s,t.s,r),a.e=Ft(a.e,t.s,r),a}function yt(e,t){if(e.cRel&&e.c<0)for(e=ar(e);e.c<0;)e.c+=t>8?16384:256;if(e.rRel&&e.r<0)for(e=ar(e);e.r<0;)e.r+=t>8?1048576:t>5?65536:16384;var r=ge(e);return!e.cRel&&e.cRel!=null&&(r=Zs(r)),!e.rRel&&e.rRel!=null&&(r=Js(r)),r}function Aa(e,t){return e.s.r==0&&!e.s.rRel&&e.e.r==(t.biff>=12?1048575:t.biff>=8?65536:16384)&&!e.e.rRel?(e.s.cRel?\"\":\"\\$\")+\\$e(e.s.c)+\":\"+(e.e.cRel?\"\":\"\\$\")+\\$e(e.e.c):e.s.c==0&&!e.s.cRel&&e.e.c==(t.biff>=12?16383:255)&&!e.e.cRel?(e.s.rRel?\"\":\"\\$\")+Ge(e.s.r)+\":\"+(e.e.rRel?\"\":\"\\$\")+Ge(e.e.r):yt(e.s,t.biff)+\":\"+yt(e.e,t.biff)}function Ya(e){return parseInt(qs(e),10)-1}function Ge(e){return\"\"+(e+1)}function Js(e){return e.replace(/([A-Z]|^)(\\\\d+)\\$/,\"\\$1\\$\\$\\$2\")}function qs(e){return e.replace(/\\\\\\$(\\\\d+)\\$/,\"\\$1\")}function Ja(e){for(var t=Qs(e),r=0,a=0;a!==t.length;++a)r=26*r+t.charCodeAt(a)-64;return r-1}function \\$e(e){if(e<0)throw new Error(\"invalid column \"+e);var t=\"\";for(++e;e;e=Math.floor((e-1)/26))t=String.fromCharCode((e-1)%26+65)+t;return t}function Zs(e){return e.replace(/^([A-Z])/,\"\\$\\$\\$1\")}function Qs(e){return e.replace(/^\\\\\\$([A-Z])/,\"\\$1\")}function ef(e){return e.replace(/(\\\\\\$?[A-Z]*)(\\\\\\$?\\\\d*)/,\"\\$1,\\$2\").split(\",\")}function Le(e){for(var t=0,r=0,a=0;a<e.length;++a){var n=e.charCodeAt(a);n>=48&&n<=57?t=10*t+(n-48):n>=65&&n<=90&&(r=26*r+(n-64))}return{c:r-1,r:t-1}}function ge(e){for(var t=e.c+1,r=\"\";t;t=(t-1)/26|0)r=String.fromCharCode((t-1)%26+65)+r;return r+(e.r+1)}function cr(e){var t=e.indexOf(\":\");return t==-1?{s:Le(e),e:Le(e)}:{s:Le(e.slice(0,t)),e:Le(e.slice(t+1))}}function De(e,t){return typeof t>\"u\"||typeof t==\"number\"?De(e.s,e.e):(typeof e!=\"string\"&&(e=ge(e)),typeof t!=\"string\"&&(t=ge(t)),e==t?e:e+\":\"+t)}function Te(e){var t={s:{c:0,r:0},e:{c:0,r:0}},r=0,a=0,n=0,i=e.length;for(r=0;a<i&&!((n=e.charCodeAt(a)-64)<1||n>26);++a)r=26*r+n;for(t.s.c=--r,r=0;a<i&&!((n=e.charCodeAt(a)-48)<0||n>9);++a)r=10*r+n;if(t.s.r=--r,a===i||n!=10)return t.e.c=t.s.c,t.e.r=t.s.r,t;for(++a,r=0;a!=i&&!((n=e.charCodeAt(a)-64)<1||n>26);++a)r=26*r+n;for(t.e.c=--r,r=0;a!=i&&!((n=e.charCodeAt(a)-48)<0||n>9);++a)r=10*r+n;return t.e.r=--r,t}function W0(e,t){var r=e.t==\"d\"&&t instanceof Date;if(e.z!=null)try{return e.w=Lr(e.z,r?tr(t):t)}catch{}try{return e.w=Lr((e.XF||{}).numFmtId||(r?14:0),r?tr(t):t)}catch{return\"\"+t}}function Ir(e,t,r){return e==null||e.t==null||e.t==\"z\"?\"\":e.w!==void 0?e.w:(e.t==\"d\"&&!e.z&&r&&r.dateNF&&(e.z=r.dateNF),e.t==\"e\"?Bt[e.v]||e.v:t==null?W0(e,e.v):W0(e,t))}function Yr(e,t){var r=t&&t.sheet?t.sheet:\"Sheet1\",a={};return a[r]=e,{SheetNames:[r],Sheets:a}}function Nn(e,t,r){var a=r||{},n=e?Array.isArray(e):a.dense;Er!=null&&n==null&&(n=Er);var i=e||(n?[]:{}),s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin==\"number\")s=a.origin;else{var o=typeof a.origin==\"string\"?Le(a.origin):a.origin;s=o.r,f=o.c}i[\"!ref\"]||(i[\"!ref\"]=\"A1:A1\")}var c={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i[\"!ref\"]){var l=Te(i[\"!ref\"]);c.s.c=l.s.c,c.s.r=l.s.r,c.e.c=Math.max(c.e.c,l.e.c),c.e.r=Math.max(c.e.r,l.e.r),s==-1&&(c.e.r=s=l.e.r+1)}for(var v=0;v!=t.length;++v)if(t[v]){if(!Array.isArray(t[v]))throw new Error(\"aoa_to_sheet expects an array of arrays\");for(var h=0;h!=t[v].length;++h)if(!(typeof t[v][h]>\"u\")){var d={v:t[v][h]},_=s+v,u=f+h;if(c.s.r>_&&(c.s.r=_),c.s.c>u&&(c.s.c=u),c.e.r<_&&(c.e.r=_),c.e.c<u&&(c.e.c=u),t[v][h]&&typeof t[v][h]==\"object\"&&!Array.isArray(t[v][h])&&!(t[v][h]instanceof Date))d=t[v][h];else if(Array.isArray(d.v)&&(d.f=t[v][h][1],d.v=d.v[0]),d.v===null)if(d.f)d.t=\"n\";else if(a.nullError)d.t=\"e\",d.v=0;else if(a.sheetStubs)d.t=\"z\";else continue;else typeof d.v==\"number\"?d.t=\"n\":typeof d.v==\"boolean\"?d.t=\"b\":d.v instanceof Date?(d.z=a.dateNF||ye[14],a.cellDates?(d.t=\"d\",d.w=Lr(d.z,tr(d.v))):(d.t=\"n\",d.v=tr(d.v),d.w=Lr(d.z,d.v))):d.t=\"s\";if(n)i[_]||(i[_]=[]),i[_][u]&&i[_][u].z&&(d.z=i[_][u].z),i[_][u]=d;else{var g=ge({c:u,r:_});i[g]&&i[g].z&&(d.z=i[g].z),i[g]=d}}}return c.s.c<1e7&&(i[\"!ref\"]=De(c)),i}function vt(e,t){return Nn(null,e,t)}function rf(e){return e.read_shift(4,\"i\")}function gr(e,t){return t||(t=b(4)),t.write_shift(4,e),t}function Ke(e){var t=e.read_shift(4);return t===0?\"\":e.read_shift(t,\"dbcs\")}function Be(e,t){var r=!1;return t==null&&(r=!0,t=b(4+2*e.length)),t.write_shift(4,e.length),e.length>0&&t.write_shift(0,e,\"dbcs\"),r?t.slice(0,t.l):t}function tf(e){return{ich:e.read_shift(2),ifnt:e.read_shift(2)}}function af(e,t){return t||(t=b(4)),t.write_shift(2,e.ich||0),t.write_shift(2,e.ifnt||0),t}function qa(e,t){var r=e.l,a=e.read_shift(1),n=Ke(e),i=[],s={t:n,h:n};if((a&1)!==0){for(var f=e.read_shift(4),o=0;o!=f;++o)i.push(tf(e));s.r=i}else s.r=[{ich:0,ifnt:0}];return e.l=r+t,s}function nf(e,t){var r=!1;return t==null&&(r=!0,t=b(15+4*e.t.length)),t.write_shift(1,0),Be(e.t,t),r?t.slice(0,t.l):t}var sf=qa;function ff(e,t){var r=!1;return t==null&&(r=!0,t=b(23+4*e.t.length)),t.write_shift(1,1),Be(e.t,t),t.write_shift(4,1),af({ich:0,ifnt:0},t),r?t.slice(0,t.l):t}function hr(e){var t=e.read_shift(4),r=e.read_shift(2);return r+=e.read_shift(1)<<16,e.l++,{c:t,iStyleRef:r}}function Jr(e,t){return t==null&&(t=b(8)),t.write_shift(-4,e.c),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}function qr(e){var t=e.read_shift(2);return t+=e.read_shift(1)<<16,e.l++,{c:-1,iStyleRef:t}}function Zr(e,t){return t==null&&(t=b(4)),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}var cf=Ke,bn=Be;function Za(e){var t=e.read_shift(4);return t===0||t===4294967295?\"\":e.read_shift(t,\"dbcs\")}function ta(e,t){var r=!1;return t==null&&(r=!0,t=b(127)),t.write_shift(4,e.length>0?e.length:4294967295),e.length>0&&t.write_shift(0,e,\"dbcs\"),r?t.slice(0,t.l):t}var of=Ke,Pa=Za,Qa=ta;function Pn(e){var t=e.slice(e.l,e.l+4),r=t[0]&1,a=t[0]&2;e.l+=4;var n=a===0?ra([0,0,0,0,t[0]&252,t[1],t[2],t[3]],0):Xr(t,0)>>2;return r?n/100:n}function Ln(e,t){t==null&&(t=b(4));var r=0,a=0,n=e*100;if(e==(e|0)&&e>=-(1<<29)&&e<1<<29?a=1:n==(n|0)&&n>=-(1<<29)&&n<1<<29&&(a=1,r=1),a)t.write_shift(-4,((r?n:e)<<2)+(r+2));else throw new Error(\"unsupported RkNumber \"+e)}function Bn(e){var t={s:{},e:{}};return t.s.r=e.read_shift(4),t.e.r=e.read_shift(4),t.s.c=e.read_shift(4),t.e.c=e.read_shift(4),t}function lf(e,t){return t||(t=b(16)),t.write_shift(4,e.s.r),t.write_shift(4,e.e.r),t.write_shift(4,e.s.c),t.write_shift(4,e.e.c),t}var Qr=Bn,pt=lf;function mt(e){if(e.length-e.l<8)throw\"XLS Xnum Buffer underflow\";return e.read_shift(8,\"f\")}function Kr(e,t){return(t||b(8)).write_shift(8,e,\"f\")}function uf(e){var t={},r=e.read_shift(1),a=r>>>1,n=e.read_shift(1),i=e.read_shift(2,\"i\"),s=e.read_shift(1),f=e.read_shift(1),o=e.read_shift(1);switch(e.l++,a){case 0:t.auto=1;break;case 1:t.index=n;var c=wf[n];c&&(t.rgb=q0(c));break;case 2:t.rgb=q0([s,f,o]);break;case 3:t.theme=n;break}return i!=0&&(t.tint=i>0?i/32767:i/32768),t}function aa(e,t){if(t||(t=b(8)),!e||e.auto)return t.write_shift(4,0),t.write_shift(4,0),t;e.index!=null?(t.write_shift(1,2),t.write_shift(1,e.index)):e.theme!=null?(t.write_shift(1,6),t.write_shift(1,e.theme)):(t.write_shift(1,5),t.write_shift(1,0));var r=e.tint||0;if(r>0?r*=32767:r<0&&(r*=32768),t.write_shift(2,r),!e.rgb||e.theme!=null)t.write_shift(2,0),t.write_shift(1,0),t.write_shift(1,0);else{var a=e.rgb||\"FFFFFF\";typeof a==\"number\"&&(a=(\"000000\"+a.toString(16)).slice(-6)),t.write_shift(1,parseInt(a.slice(0,2),16)),t.write_shift(1,parseInt(a.slice(2,4),16)),t.write_shift(1,parseInt(a.slice(4,6),16)),t.write_shift(1,255)}return t}function hf(e){var t=e.read_shift(1);e.l++;var r={fBold:t&1,fItalic:t&2,fUnderline:t&4,fStrikeout:t&8,fOutline:t&16,fShadow:t&32,fCondense:t&64,fExtend:t&128};return r}function xf(e,t){t||(t=b(2));var r=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);return t.write_shift(1,r),t.write_shift(1,0),t}var Mn=2,ir=3,Kt=11;var na=19;var jt=64,df=65,vf=71;var pf=4108,mf=4126,He=80;var H0={1:{n:\"CodePage\",t:Mn},2:{n:\"Category\",t:He},3:{n:\"PresentationFormat\",t:He},4:{n:\"ByteCount\",t:ir},5:{n:\"LineCount\",t:ir},6:{n:\"ParagraphCount\",t:ir},7:{n:\"SlideCount\",t:ir},8:{n:\"NoteCount\",t:ir},9:{n:\"HiddenCount\",t:ir},10:{n:\"MultimediaClipCount\",t:ir},11:{n:\"ScaleCrop\",t:Kt},12:{n:\"HeadingPairs\",t:pf},13:{n:\"TitlesOfParts\",t:mf},14:{n:\"Manager\",t:He},15:{n:\"Company\",t:He},16:{n:\"LinksUpToDate\",t:Kt},17:{n:\"CharacterCount\",t:ir},19:{n:\"SharedDoc\",t:Kt},22:{n:\"HyperlinksChanged\",t:Kt},23:{n:\"AppVersion\",t:ir,p:\"version\"},24:{n:\"DigSig\",t:df},26:{n:\"ContentType\",t:He},27:{n:\"ContentStatus\",t:He},28:{n:\"Language\",t:He},29:{n:\"Version\",t:He},255:{},2147483648:{n:\"Locale\",t:na},2147483651:{n:\"Behavior\",t:na},1919054434:{}},V0={1:{n:\"CodePage\",t:Mn},2:{n:\"Title\",t:He},3:{n:\"Subject\",t:He},4:{n:\"Author\",t:He},5:{n:\"Keywords\",t:He},6:{n:\"Comments\",t:He},7:{n:\"Template\",t:He},8:{n:\"LastAuthor\",t:He},9:{n:\"RevNumber\",t:He},10:{n:\"EditTime\",t:jt},11:{n:\"LastPrinted\",t:jt},12:{n:\"CreatedDate\",t:jt},13:{n:\"ModifiedDate\",t:jt},14:{n:\"PageCount\",t:ir},15:{n:\"WordCount\",t:ir},16:{n:\"CharCount\",t:ir},17:{n:\"Thumbnail\",t:vf},18:{n:\"Application\",t:He},19:{n:\"DocSecurity\",t:ir},255:{},2147483648:{n:\"Locale\",t:na},2147483651:{n:\"Behavior\",t:na},1919054434:{}};function gf(e){return e.map(function(t){return[t>>16&255,t>>8&255,t&255]})}var _f=gf([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),wf=ar(_f),Bt={0:\"#NULL!\",7:\"#DIV/0!\",15:\"#VALUE!\",23:\"#REF!\",29:\"#NAME?\",36:\"#NUM!\",42:\"#N/A\",43:\"#GETTING_DATA\",255:\"#WTF?\"};var kf={\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\":\"workbooks\",\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\":\"workbooks\",\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\":\"workbooks\",\"application/vnd.ms-excel.addin.macroEnabled.main+xml\":\"workbooks\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\":\"workbooks\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\":\"sheets\",\"application/vnd.ms-excel.worksheet\":\"sheets\",\"application/vnd.ms-excel.binIndexWs\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\":\"charts\",\"application/vnd.ms-excel.chartsheet\":\"charts\",\"application/vnd.ms-excel.macrosheet+xml\":\"macros\",\"application/vnd.ms-excel.macrosheet\":\"macros\",\"application/vnd.ms-excel.intlmacrosheet\":\"TODO\",\"application/vnd.ms-excel.binIndexMs\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\":\"dialogs\",\"application/vnd.ms-excel.dialogsheet\":\"dialogs\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\":\"strs\",\"application/vnd.ms-excel.sharedStrings\":\"strs\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\":\"styles\",\"application/vnd.ms-excel.styles\":\"styles\",\"application/vnd.openxmlformats-package.core-properties+xml\":\"coreprops\",\"application/vnd.openxmlformats-officedocument.custom-properties+xml\":\"custprops\",\"application/vnd.openxmlformats-officedocument.extended-properties+xml\":\"extprops\",\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\":\"comments\",\"application/vnd.ms-excel.comments\":\"comments\",\"application/vnd.ms-excel.threadedcomments+xml\":\"threadedcomments\",\"application/vnd.ms-excel.person+xml\":\"people\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\":\"metadata\",\"application/vnd.ms-excel.sheetMetadata\":\"metadata\",\"application/vnd.ms-excel.pivotTable\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\":\"TODO\",\"application/vnd.ms-office.chartcolorstyle+xml\":\"TODO\",\"application/vnd.ms-office.chartstyle+xml\":\"TODO\",\"application/vnd.ms-office.chartex+xml\":\"TODO\",\"application/vnd.ms-excel.calcChain\":\"calcchains\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\":\"calcchains\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\":\"TODO\",\"application/vnd.ms-office.activeX\":\"TODO\",\"application/vnd.ms-office.activeX+xml\":\"TODO\",\"application/vnd.ms-excel.attachedToolbars\":\"TODO\",\"application/vnd.ms-excel.connections\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\":\"TODO\",\"application/vnd.ms-excel.externalLink\":\"links\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\":\"links\",\"application/vnd.ms-excel.pivotCacheDefinition\":\"TODO\",\"application/vnd.ms-excel.pivotCacheRecords\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\":\"TODO\",\"application/vnd.ms-excel.queryTable\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\":\"TODO\",\"application/vnd.ms-excel.userNames\":\"TODO\",\"application/vnd.ms-excel.revisionHeaders\":\"TODO\",\"application/vnd.ms-excel.revisionLog\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\":\"TODO\",\"application/vnd.ms-excel.tableSingleCells\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\":\"TODO\",\"application/vnd.ms-excel.slicer\":\"TODO\",\"application/vnd.ms-excel.slicerCache\":\"TODO\",\"application/vnd.ms-excel.slicer+xml\":\"TODO\",\"application/vnd.ms-excel.slicerCache+xml\":\"TODO\",\"application/vnd.ms-excel.wsSortMap\":\"TODO\",\"application/vnd.ms-excel.table\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.theme+xml\":\"themes\",\"application/vnd.openxmlformats-officedocument.themeOverride+xml\":\"TODO\",\"application/vnd.ms-excel.Timeline+xml\":\"TODO\",\"application/vnd.ms-excel.TimelineCache+xml\":\"TODO\",\"application/vnd.ms-office.vbaProject\":\"vba\",\"application/vnd.ms-office.vbaProjectSignature\":\"TODO\",\"application/vnd.ms-office.volatileDependencies\":\"TODO\",\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\":\"TODO\",\"application/vnd.ms-excel.controlproperties+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.model+data\":\"TODO\",\"application/vnd.ms-excel.Survey+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawing+xml\":\"drawings\",\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\":\"TODO\",\"application/vnd.openxmlformats-officedocument.vmlDrawing\":\"TODO\",\"application/vnd.openxmlformats-package.relationships+xml\":\"rels\",\"application/vnd.openxmlformats-officedocument.oleObject\":\"TODO\",\"image/png\":\"TODO\",sheet:\"js\"},Yt={workbooks:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",xlsm:\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",xlsb:\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",xlam:\"application/vnd.ms-excel.addin.macroEnabled.main+xml\",xltx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"},strs:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",xlsb:\"application/vnd.ms-excel.sharedStrings\"},comments:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",xlsb:\"application/vnd.ms-excel.comments\"},sheets:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",xlsb:\"application/vnd.ms-excel.worksheet\"},charts:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",xlsb:\"application/vnd.ms-excel.chartsheet\"},dialogs:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",xlsb:\"application/vnd.ms-excel.dialogsheet\"},macros:{xlsx:\"application/vnd.ms-excel.macrosheet+xml\",xlsb:\"application/vnd.ms-excel.macrosheet\"},metadata:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\",xlsb:\"application/vnd.ms-excel.sheetMetadata\"},styles:{xlsx:\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",xlsb:\"application/vnd.ms-excel.styles\"}};function Un(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:\"\"}}function Wn(e,t){var r=Ds(kf),a=[],n;a[a.length]=Oe,a[a.length]=j(\"Types\",null,{xmlns:Pe.CT,\"xmlns:xsd\":Pe.xsd,\"xmlns:xsi\":Pe.xsi}),a=a.concat([[\"xml\",\"application/xml\"],[\"bin\",\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\"],[\"vml\",\"application/vnd.openxmlformats-officedocument.vmlDrawing\"],[\"data\",\"application/vnd.openxmlformats-officedocument.model+data\"],[\"bmp\",\"image/bmp\"],[\"png\",\"image/png\"],[\"gif\",\"image/gif\"],[\"emf\",\"image/x-emf\"],[\"wmf\",\"image/x-wmf\"],[\"jpg\",\"image/jpeg\"],[\"jpeg\",\"image/jpeg\"],[\"tif\",\"image/tiff\"],[\"tiff\",\"image/tiff\"],[\"pdf\",\"application/pdf\"],[\"rels\",\"application/vnd.openxmlformats-package.relationships+xml\"]].map(function(o){return j(\"Default\",null,{Extension:o[0],ContentType:o[1]})}));var i=function(o){e[o]&&e[o].length>0&&(n=e[o][0],a[a.length]=j(\"Override\",null,{PartName:(n[0]==\"/\"?\"\":\"/\")+n,ContentType:Yt[o][t.bookType]||Yt[o].xlsx}))},s=function(o){(e[o]||[]).forEach(function(c){a[a.length]=j(\"Override\",null,{PartName:(c[0]==\"/\"?\"\":\"/\")+c,ContentType:Yt[o][t.bookType]||Yt[o].xlsx})})},f=function(o){(e[o]||[]).forEach(function(c){a[a.length]=j(\"Override\",null,{PartName:(c[0]==\"/\"?\"\":\"/\")+c,ContentType:r[o][0]})})};return i(\"workbooks\"),s(\"sheets\"),s(\"charts\"),f(\"themes\"),[\"strs\",\"styles\"].forEach(i),[\"coreprops\",\"extprops\",\"custprops\"].forEach(f),f(\"vba\"),f(\"comments\"),f(\"threadedcomments\"),f(\"drawings\"),s(\"metadata\"),f(\"people\"),a.length>2&&(a[a.length]=\"</Types>\",a[1]=a[1].replace(\"/>\",\">\")),a.join(\"\")}var he={WB:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",SHEET:\"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",HLINK:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",VML:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",XPATH:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",XMISS:\"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",XLINK:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",CXML:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\",CXMLP:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\",CMNT:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",CORE_PROPS:\"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",EXT_PROPS:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\",CUST_PROPS:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties\",SST:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\",STY:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",THEME:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\",CHART:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",CHARTEX:\"http://schemas.microsoft.com/office/2014/relationships/chartEx\",CS:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\",WS:[\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"],DS:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\",MS:\"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\",IMG:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",DRAW:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",XLMETA:\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata\",TCMNT:\"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment\",PEOPLE:\"http://schemas.microsoft.com/office/2017/10/relationships/person\",VBA:\"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"};function Hn(e){var t=e.lastIndexOf(\"/\");return e.slice(0,t+1)+\"_rels/\"+e.slice(t+1)+\".rels\"}function ct(e){var t=[Oe,j(\"Relationships\",null,{xmlns:Pe.RELS})];return ze(e[\"!id\"]).forEach(function(r){t[t.length]=j(\"Relationship\",null,e[\"!id\"][r])}),t.length>2&&(t[t.length]=\"</Relationships>\",t[1]=t[1].replace(\"/>\",\">\")),t.join(\"\")}function pe(e,t,r,a,n,i){if(n||(n={}),e[\"!id\"]||(e[\"!id\"]={}),e[\"!idx\"]||(e[\"!idx\"]=1),t<0)for(t=e[\"!idx\"];e[\"!id\"][\"rId\"+t];++t);if(e[\"!idx\"]=t+1,n.Id=\"rId\"+t,n.Type=a,n.Target=r,i?n.TargetMode=i:[he.HLINK,he.XPATH,he.XMISS].indexOf(n.Type)>-1&&(n.TargetMode=\"External\"),e[\"!id\"][n.Id])throw new Error(\"Cannot rewrite rId \"+t);return e[\"!id\"][n.Id]=n,e[(\"/\"+n.Target).replace(\"//\",\"/\")]=n,t}function Ef(e){var t=[Oe];t.push(\\`<manifest:manifest xmlns:manifest=\"urn:oasis:names:tc:opendocument:xmlns:manifest:1.0\" manifest:version=\"1.2\">\n\\`),t.push(\\` <manifest:file-entry manifest:full-path=\"/\" manifest:version=\"1.2\" manifest:media-type=\"application/vnd.oasis.opendocument.spreadsheet\"/>\n\\`);for(var r=0;r<e.length;++r)t.push(' <manifest:file-entry manifest:full-path=\"'+e[r][0]+'\" manifest:media-type=\"'+e[r][1]+\\`\"/>\n\\`);return t.push(\"</manifest:manifest>\"),t.join(\"\")}function X0(e,t,r){return[' <rdf:Description rdf:about=\"'+e+\\`\">\n\\`,' <rdf:type rdf:resource=\"http://docs.oasis-open.org/ns/office/1.2/meta/'+(r||\"odf\")+\"#\"+t+\\`\"/>\n\\`,\\` </rdf:Description>\n\\`].join(\"\")}function Tf(e,t){return[' <rdf:Description rdf:about=\"'+e+\\`\">\n\\`,' <ns0:hasPart xmlns:ns0=\"http://docs.oasis-open.org/ns/office/1.2/meta/pkg#\" rdf:resource=\"'+t+\\`\"/>\n\\`,\\` </rdf:Description>\n\\`].join(\"\")}function Sf(e){var t=[Oe];t.push(\\`<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n\\`);for(var r=0;r!=e.length;++r)t.push(X0(e[r][0],e[r][1])),t.push(Tf(\"\",e[r][0]));return t.push(X0(\"\",\"Document\",\"pkg\")),t.push(\"</rdf:RDF>\"),t.join(\"\")}function Vn(){return'<office:document-meta xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" xmlns:meta=\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" office:version=\"1.2\"><office:meta><meta:generator>SheetJS '+Ct.version+\"</meta:generator></office:meta></office:document-meta>\"}var zr=[[\"cp:category\",\"Category\"],[\"cp:contentStatus\",\"ContentStatus\"],[\"cp:keywords\",\"Keywords\"],[\"cp:lastModifiedBy\",\"LastAuthor\"],[\"cp:lastPrinted\",\"LastPrinted\"],[\"cp:revision\",\"RevNumber\"],[\"cp:version\",\"Version\"],[\"dc:creator\",\"Author\"],[\"dc:description\",\"Comments\"],[\"dc:identifier\",\"Identifier\"],[\"dc:language\",\"Language\"],[\"dc:subject\",\"Subject\"],[\"dc:title\",\"Title\"],[\"dcterms:created\",\"CreatedDate\",\"date\"],[\"dcterms:modified\",\"ModifiedDate\",\"date\"]];function Ca(e,t,r,a,n){n[e]!=null||t==null||t===\"\"||(n[e]=t,t=me(t),a[a.length]=r?j(e,t,r):Xe(e,t))}function Xn(e,t){var r=t||{},a=[Oe,j(\"cp:coreProperties\",null,{\"xmlns:cp\":Pe.CORE_PROPS,\"xmlns:dc\":Pe.dc,\"xmlns:dcterms\":Pe.dcterms,\"xmlns:dcmitype\":Pe.dcmitype,\"xmlns:xsi\":Pe.xsi})],n={};if(!e&&!r.Props)return a.join(\"\");e&&(e.CreatedDate!=null&&Ca(\"dcterms:created\",typeof e.CreatedDate==\"string\"?e.CreatedDate:ba(e.CreatedDate,r.WTF),{\"xsi:type\":\"dcterms:W3CDTF\"},a,n),e.ModifiedDate!=null&&Ca(\"dcterms:modified\",typeof e.ModifiedDate==\"string\"?e.ModifiedDate:ba(e.ModifiedDate,r.WTF),{\"xsi:type\":\"dcterms:W3CDTF\"},a,n));for(var i=0;i!=zr.length;++i){var s=zr[i],f=r.Props&&r.Props[s[1]]!=null?r.Props[s[1]]:e?e[s[1]]:null;f===!0?f=\"1\":f===!1?f=\"0\":typeof f==\"number\"&&(f=String(f)),f!=null&&Ca(s[0],f,null,a,n)}return a.length>2&&(a[a.length]=\"</cp:coreProperties>\",a[1]=a[1].replace(\"/>\",\">\")),a.join(\"\")}var ot=[[\"Application\",\"Application\",\"string\"],[\"AppVersion\",\"AppVersion\",\"string\"],[\"Company\",\"Company\",\"string\"],[\"DocSecurity\",\"DocSecurity\",\"string\"],[\"Manager\",\"Manager\",\"string\"],[\"HyperlinksChanged\",\"HyperlinksChanged\",\"bool\"],[\"SharedDoc\",\"SharedDoc\",\"bool\"],[\"LinksUpToDate\",\"LinksUpToDate\",\"bool\"],[\"ScaleCrop\",\"ScaleCrop\",\"bool\"],[\"HeadingPairs\",\"HeadingPairs\",\"raw\"],[\"TitlesOfParts\",\"TitlesOfParts\",\"raw\"]],Gn=[\"Worksheets\",\"SheetNames\",\"NamedRanges\",\"DefinedNames\",\"Chartsheets\",\"ChartNames\"];function zn(e){var t=[],r=j;return e||(e={}),e.Application=\"SheetJS\",t[t.length]=Oe,t[t.length]=j(\"Properties\",null,{xmlns:Pe.EXT_PROPS,\"xmlns:vt\":Pe.vt}),ot.forEach(function(a){if(e[a[1]]!==void 0){var n;switch(a[2]){case\"string\":n=me(String(e[a[1]]));break;case\"bool\":n=e[a[1]]?\"true\":\"false\";break}n!==void 0&&(t[t.length]=r(a[0],n))}}),t[t.length]=r(\"HeadingPairs\",r(\"vt:vector\",r(\"vt:variant\",\"<vt:lpstr>Worksheets</vt:lpstr>\")+r(\"vt:variant\",r(\"vt:i4\",String(e.Worksheets))),{size:2,baseType:\"variant\"})),t[t.length]=r(\"TitlesOfParts\",r(\"vt:vector\",e.SheetNames.map(function(a){return\"<vt:lpstr>\"+me(a)+\"</vt:lpstr>\"}).join(\"\"),{size:e.Worksheets,baseType:\"lpstr\"})),t.length>2&&(t[t.length]=\"</Properties>\",t[1]=t[1].replace(\"/>\",\">\")),t.join(\"\")}function \\$n(e){var t=[Oe,j(\"Properties\",null,{xmlns:Pe.CUST_PROPS,\"xmlns:vt\":Pe.vt})];if(!e)return t.join(\"\");var r=1;return ze(e).forEach(function(n){++r,t[t.length]=j(\"property\",Ws(e[n],!0),{fmtid:\"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}\",pid:r,name:me(n)})}),t.length>2&&(t[t.length]=\"</Properties>\",t[1]=t[1].replace(\"/>\",\">\")),t.join(\"\")}var G0={Title:\"Title\",Subject:\"Subject\",Author:\"Author\",Keywords:\"Keywords\",Comments:\"Description\",LastAuthor:\"LastAuthor\",RevNumber:\"Revision\",Application:\"AppName\",LastPrinted:\"LastPrinted\",CreatedDate:\"Created\",ModifiedDate:\"LastSaved\",Category:\"Category\",Manager:\"Manager\",Company:\"Company\",AppVersion:\"Version\",ContentStatus:\"ContentStatus\",Identifier:\"Identifier\",Language:\"Language\"};function Ff(e,t){var r=[];return ze(G0).map(function(a){for(var n=0;n<zr.length;++n)if(zr[n][1]==a)return zr[n];for(n=0;n<ot.length;++n)if(ot[n][1]==a)return ot[n];throw a}).forEach(function(a){if(e[a[1]]!=null){var n=t&&t.Props&&t.Props[a[1]]!=null?t.Props[a[1]]:e[a[1]];a[2]===\"date\"&&(n=new Date(n).toISOString().replace(/\\\\.\\\\d*Z/,\"Z\")),typeof n==\"number\"?n=String(n):n===!0||n===!1?n=n?\"1\":\"0\":n instanceof Date&&(n=new Date(n).toISOString().replace(/\\\\.\\\\d*Z/,\"\")),r.push(Xe(G0[a[1]]||a[1],n))}}),j(\"DocumentProperties\",r.join(\"\"),{xmlns:fr.o})}function yf(e,t){var r=[\"Worksheets\",\"SheetNames\"],a=\"CustomDocumentProperties\",n=[];return e&&ze(e).forEach(function(i){if(Object.prototype.hasOwnProperty.call(e,i)){for(var s=0;s<zr.length;++s)if(i==zr[s][1])return;for(s=0;s<ot.length;++s)if(i==ot[s][1])return;for(s=0;s<r.length;++s)if(i==r[s])return;var f=e[i],o=\"string\";typeof f==\"number\"?(o=\"float\",f=String(f)):f===!0||f===!1?(o=\"boolean\",f=f?\"1\":\"0\"):f=String(f),n.push(j(I0(i),f,{\"dt:dt\":o}))}}),t&&ze(t).forEach(function(i){if(Object.prototype.hasOwnProperty.call(t,i)&&!(e&&Object.prototype.hasOwnProperty.call(e,i))){var s=t[i],f=\"string\";typeof s==\"number\"?(f=\"float\",s=String(s)):s===!0||s===!1?(f=\"boolean\",s=s?\"1\":\"0\"):s instanceof Date?(f=\"dateTime.tz\",s=s.toISOString()):s=String(s),n.push(j(I0(i),s,{\"dt:dt\":f}))}}),\"<\"+a+' xmlns=\"'+fr.o+'\">'+n.join(\"\")+\"</\"+a+\">\"}function Af(e){var t=typeof e==\"string\"?new Date(Date.parse(e)):e,r=t.getTime()/1e3+11644473600,a=r%Math.pow(2,32),n=(r-a)/Math.pow(2,32);a*=1e7,n*=1e7;var i=a/Math.pow(2,32)|0;i>0&&(a=a%Math.pow(2,32),n+=i);var s=b(8);return s.write_shift(4,a),s.write_shift(4,n),s}function z0(e,t){var r=b(4),a=b(4);switch(r.write_shift(4,e==80?31:e),e){case 3:a.write_shift(-4,t);break;case 5:a=b(8),a.write_shift(8,t,\"f\");break;case 11:a.write_shift(4,t?1:0);break;case 64:a=Af(t);break;case 31:case 80:for(a=b(4+2*(t.length+1)+(t.length%2?0:2)),a.write_shift(4,t.length+1),a.write_shift(0,t,\"dbcs\");a.l!=a.length;)a.write_shift(1,0);break;default:throw new Error(\"TypedPropertyValue unrecognized type \"+e+\" \"+t)}return Ve([r,a])}var Kn=[\"CodePage\",\"Thumbnail\",\"_PID_LINKBASE\",\"_PID_HLINKS\",\"SystemIdentifier\",\"FMTID\"];function Cf(e){switch(typeof e){case\"boolean\":return 11;case\"number\":return(e|0)==e?3:5;case\"string\":return 31;case\"object\":if(e instanceof Date)return 64;break}return-1}function \\$0(e,t,r){var a=b(8),n=[],i=[],s=8,f=0,o=b(8),c=b(8);if(o.write_shift(4,2),o.write_shift(4,1200),c.write_shift(4,1),i.push(o),n.push(c),s+=8+o.length,!t){c=b(8),c.write_shift(4,0),n.unshift(c);var l=[b(4)];for(l[0].write_shift(4,e.length),f=0;f<e.length;++f){var v=e[f][0];for(o=b(8+2*(v.length+1)+(v.length%2?0:2)),o.write_shift(4,f+2),o.write_shift(4,v.length+1),o.write_shift(0,v,\"dbcs\");o.l!=o.length;)o.write_shift(1,0);l.push(o)}o=Ve(l),i.unshift(o),s+=8+o.length}for(f=0;f<e.length;++f)if(!(t&&!t[e[f][0]])&&!(Kn.indexOf(e[f][0])>-1||Gn.indexOf(e[f][0])>-1)&&e[f][1]!=null){var h=e[f][1],d=0;if(t){d=+t[e[f][0]];var _=r[d];if(_.p==\"version\"&&typeof h==\"string\"){var u=h.split(\".\");h=(+u[0]<<16)+(+u[1]||0)}o=z0(_.t,h)}else{var g=Cf(h);g==-1&&(g=31,h=String(h)),o=z0(g,h)}i.push(o),c=b(8),c.write_shift(4,t?d:2+f),n.push(c),s+=8+o.length}var y=8*(i.length+1);for(f=0;f<i.length;++f)n[f].write_shift(4,y),y+=i[f].length;return a.write_shift(4,s),a.write_shift(4,i.length),Ve([a].concat(n).concat(i))}function K0(e,t,r,a,n,i){var s=b(n?68:48),f=[s];s.write_shift(2,65534),s.write_shift(2,0),s.write_shift(4,842412599),s.write_shift(16,we.utils.consts.HEADER_CLSID,\"hex\"),s.write_shift(4,n?2:1),s.write_shift(16,t,\"hex\"),s.write_shift(4,n?68:48);var o=\\$0(e,r,a);if(f.push(o),n){var c=\\$0(n,null,null);s.write_shift(16,i,\"hex\"),s.write_shift(4,68+o.length),f.push(c)}return Ve(f)}function Df(e,t){t||(t=b(e));for(var r=0;r<e;++r)t.write_shift(1,0);return t}function Of(e,t){return e.read_shift(t)===1}function Je(e,t){return t||(t=b(2)),t.write_shift(2,+!!e),t}function jn(e){return e.read_shift(2,\"u\")}function ur(e,t){return t||(t=b(2)),t.write_shift(2,e),t}function Yn(e,t,r){return r||(r=b(2)),r.write_shift(1,t==\"e\"?+e:+!!e),r.write_shift(1,t==\"e\"?1:0),r}function Jn(e,t,r){var a=e.read_shift(r&&r.biff>=12?2:1),n=\"sbcs-cont\",i=Gr;if(r&&r.biff>=8&&(Gr=1200),!r||r.biff==8){var s=e.read_shift(1);s&&(n=\"dbcs-cont\")}else r.biff==12&&(n=\"wstr\");r.biff>=2&&r.biff<=5&&(n=\"cpstr\");var f=a?e.read_shift(a,n):\"\";return Gr=i,f}function If(e){var t=e.t||\"\",r=1,a=b(3+(r>1?2:0));a.write_shift(2,t.length),a.write_shift(1,(r>1?8:0)|1),r>1&&a.write_shift(2,r);var n=b(2*t.length);n.write_shift(2*t.length,t,\"utf16le\");var i=[a,n];return Ve(i)}function Rf(e,t,r){var a;if(r){if(r.biff>=2&&r.biff<=5)return e.read_shift(t,\"cpstr\");if(r.biff>=12)return e.read_shift(t,\"dbcs-cont\")}var n=e.read_shift(1);return n===0?a=e.read_shift(t,\"sbcs-cont\"):a=e.read_shift(t,\"dbcs-cont\"),a}function Nf(e,t,r){var a=e.read_shift(r&&r.biff==2?1:2);return a===0?(e.l++,\"\"):Rf(e,a,r)}function bf(e,t,r){if(r.biff>5)return Nf(e,t,r);var a=e.read_shift(1);return a===0?(e.l++,\"\"):e.read_shift(a,r.biff<=4||!e.lens?\"cpstr\":\"sbcs-cont\")}function qn(e,t,r){return r||(r=b(3+2*e.length)),r.write_shift(2,e.length),r.write_shift(1,1),r.write_shift(31,e,\"utf16le\"),r}function j0(e,t){t||(t=b(6+e.length*2)),t.write_shift(4,1+e.length);for(var r=0;r<e.length;++r)t.write_shift(2,e.charCodeAt(r));return t.write_shift(2,0),t}function Pf(e){var t=b(512),r=0,a=e.Target;a.slice(0,7)==\"file://\"&&(a=a.slice(7));var n=a.indexOf(\"#\"),i=n>-1?31:23;switch(a.charAt(0)){case\"#\":i=28;break;case\".\":i&=-3;break}t.write_shift(4,2),t.write_shift(4,i);var s=[8,6815827,6619237,4849780,83];for(r=0;r<s.length;++r)t.write_shift(4,s[r]);if(i==28)a=a.slice(1),j0(a,t);else if(i&2){for(s=\"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \"),r=0;r<s.length;++r)t.write_shift(1,parseInt(s[r],16));var f=n>-1?a.slice(0,n):a;for(t.write_shift(4,2*(f.length+1)),r=0;r<f.length;++r)t.write_shift(2,f.charCodeAt(r));t.write_shift(2,0),i&8&&j0(n>-1?a.slice(n+1):\"\",t)}else{for(s=\"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \"),r=0;r<s.length;++r)t.write_shift(1,parseInt(s[r],16));for(var o=0;a.slice(o*3,o*3+3)==\"../\"||a.slice(o*3,o*3+3)==\"..\\\\\\\\\";)++o;for(t.write_shift(2,o),t.write_shift(4,a.length-3*o+1),r=0;r<a.length-3*o;++r)t.write_shift(1,a.charCodeAt(r+3*o)&255);for(t.write_shift(1,0),t.write_shift(2,65535),t.write_shift(2,57005),r=0;r<6;++r)t.write_shift(4,0)}return t.slice(0,t.l)}function jr(e,t,r,a){return a||(a=b(6)),a.write_shift(2,e),a.write_shift(2,t),a.write_shift(2,r||0),a}function Lf(e,t,r){var a=r.biff>8?4:2,n=e.read_shift(a),i=e.read_shift(a,\"i\"),s=e.read_shift(a,\"i\");return[n,i,s]}function Bf(e){var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(2),n=e.read_shift(2);return{s:{c:a,r:t},e:{c:n,r}}}function Zn(e,t){return t||(t=b(8)),t.write_shift(2,e.s.r),t.write_shift(2,e.e.r),t.write_shift(2,e.s.c),t.write_shift(2,e.e.c),t}function e0(e,t,r){var a=1536,n=16;switch(r.bookType){case\"biff8\":break;case\"biff5\":a=1280,n=8;break;case\"biff4\":a=4,n=6;break;case\"biff3\":a=3,n=6;break;case\"biff2\":a=2,n=4;break;case\"xla\":break;default:throw new Error(\"unsupported BIFF version\")}var i=b(n);return i.write_shift(2,a),i.write_shift(2,t),n>4&&i.write_shift(2,29282),n>6&&i.write_shift(2,1997),n>8&&(i.write_shift(2,49161),i.write_shift(2,1),i.write_shift(2,1798),i.write_shift(2,0)),i}function Mf(e,t){var r=!t||t.biff==8,a=b(r?112:54);for(a.write_shift(t.biff==8?2:1,7),r&&a.write_shift(1,0),a.write_shift(4,859007059),a.write_shift(4,5458548|(r?0:536870912));a.l<a.length;)a.write_shift(1,r?0:32);return a}function Uf(e,t){var r=!t||t.biff>=8?2:1,a=b(8+r*e.name.length);a.write_shift(4,e.pos),a.write_shift(1,e.hs||0),a.write_shift(1,e.dt),a.write_shift(1,e.name.length),t.biff>=8&&a.write_shift(1,1),a.write_shift(r*e.name.length,e.name,t.biff<8?\"sbcs\":\"utf16le\");var n=a.slice(0,a.l);return n.l=a.l,n}function Wf(e,t){var r=b(8);r.write_shift(4,e.Count),r.write_shift(4,e.Unique);for(var a=[],n=0;n<e.length;++n)a[n]=If(e[n],t);var i=Ve([r].concat(a));return i.parts=[r.length].concat(a.map(function(s){return s.length})),i}function Hf(){var e=b(18);return e.write_shift(2,0),e.write_shift(2,0),e.write_shift(2,29280),e.write_shift(2,17600),e.write_shift(2,56),e.write_shift(2,0),e.write_shift(2,0),e.write_shift(2,1),e.write_shift(2,500),e}function Vf(e){var t=b(18),r=1718;return e&&e.RTL&&(r|=64),t.write_shift(2,r),t.write_shift(4,0),t.write_shift(4,64),t.write_shift(4,0),t.write_shift(4,0),t}function Xf(e,t){var r=e.name||\"Arial\",a=t&&t.biff==5,n=a?15+r.length:16+2*r.length,i=b(n);return i.write_shift(2,(e.sz||12)*20),i.write_shift(4,0),i.write_shift(2,400),i.write_shift(4,0),i.write_shift(2,0),i.write_shift(1,r.length),a||i.write_shift(1,1),i.write_shift((a?1:2)*r.length,r,a?\"sbcs\":\"utf16le\"),i}function Gf(e,t,r,a){var n=b(10);return jr(e,t,a,n),n.write_shift(4,r),n}function zf(e,t,r,a,n){var i=!n||n.biff==8,s=b(8+ +i+(1+i)*r.length);return jr(e,t,a,s),s.write_shift(2,r.length),i&&s.write_shift(1,1),s.write_shift((1+i)*r.length,r,i?\"utf16le\":\"sbcs\"),s}function \\$f(e,t,r,a){var n=r&&r.biff==5;a||(a=b(n?3+t.length:5+2*t.length)),a.write_shift(2,e),a.write_shift(n?1:2,t.length),n||a.write_shift(1,1),a.write_shift((n?1:2)*t.length,t,n?\"sbcs\":\"utf16le\");var i=a.length>a.l?a.slice(0,a.l):a;return i.l==null&&(i.l=i.length),i}function Kf(e,t){var r=t.biff==8||!t.biff?4:2,a=b(2*r+6);return a.write_shift(r,e.s.r),a.write_shift(r,e.e.r+1),a.write_shift(2,e.s.c),a.write_shift(2,e.e.c+1),a.write_shift(2,0),a}function Y0(e,t,r,a){var n=r&&r.biff==5;a||(a=b(n?16:20)),a.write_shift(2,0),e.style?(a.write_shift(2,e.numFmtId||0),a.write_shift(2,65524)):(a.write_shift(2,e.numFmtId||0),a.write_shift(2,t<<4));var i=0;return e.numFmtId>0&&n&&(i|=1024),a.write_shift(4,i),a.write_shift(4,0),n||a.write_shift(4,0),a.write_shift(2,0),a}function jf(e){var t=b(8);return t.write_shift(4,0),t.write_shift(2,e[0]?e[0]+1:0),t.write_shift(2,e[1]?e[1]+1:0),t}function Yf(e,t,r,a,n,i){var s=b(8);return jr(e,t,a,s),Yn(r,i,s),s}function Jf(e,t,r,a){var n=b(14);return jr(e,t,a,n),Kr(r,n),n}function qf(e,t,r){if(r.biff<8)return Zf(e,t,r);for(var a=[],n=e.l+t,i=e.read_shift(r.biff>8?4:2);i--!==0;)a.push(Lf(e,r.biff>8?12:6,r));if(e.l!=n)throw new Error(\"Bad ExternSheet: \"+e.l+\" != \"+n);return a}function Zf(e,t,r){e[e.l+1]==3&&e[e.l]++;var a=Jn(e,t,r);return a.charCodeAt(0)==3?a.slice(1):a}function Qf(e){var t=b(2+e.length*8);t.write_shift(2,e.length);for(var r=0;r<e.length;++r)Zn(e[r],t);return t}function ec(e){var t=b(24),r=Le(e[0]);t.write_shift(2,r.r),t.write_shift(2,r.r),t.write_shift(2,r.c),t.write_shift(2,r.c);for(var a=\"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \"),n=0;n<16;++n)t.write_shift(1,parseInt(a[n],16));return Ve([t,Pf(e[1])])}function rc(e){var t=e[1].Tooltip,r=b(10+2*(t.length+1));r.write_shift(2,2048);var a=Le(e[0]);r.write_shift(2,a.r),r.write_shift(2,a.r),r.write_shift(2,a.c),r.write_shift(2,a.c);for(var n=0;n<t.length;++n)r.write_shift(2,t.charCodeAt(n));return r.write_shift(2,0),r}function tc(e){return e||(e=b(4)),e.write_shift(2,1),e.write_shift(2,1),e}function ac(e,t,r){if(!r.cellStyles)return Tr(e,t);var a=r&&r.biff>=12?4:2,n=e.read_shift(a),i=e.read_shift(a),s=e.read_shift(a),f=e.read_shift(a),o=e.read_shift(2);a==2&&(e.l+=2);var c={s:n,e:i,w:s,ixfe:f,flags:o};return(r.biff>=5||!r.biff)&&(c.level=o>>8&7),c}function nc(e,t){var r=b(12);r.write_shift(2,t),r.write_shift(2,t),r.write_shift(2,e.width*256),r.write_shift(2,0);var a=0;return e.hidden&&(a|=1),r.write_shift(1,a),a=e.level||0,r.write_shift(1,a),r.write_shift(2,0),r}function ic(e){for(var t=b(2*e),r=0;r<e;++r)t.write_shift(2,r+1);return t}function sc(e,t,r){var a=b(15);return Ut(a,e,t),a.write_shift(8,r,\"f\"),a}function fc(e,t,r){var a=b(9);return Ut(a,e,t),a.write_shift(2,r),a}var cc=(function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,108:863,134:737,135:852,136:857,204:1257,255:16969},t=Ua({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});function r(f,o){var c=[],l=\\$r(1);switch(o.type){case\"base64\":l=pr(Or(f));break;case\"binary\":l=pr(f);break;case\"buffer\":case\"array\":l=f;break}sr(l,0);var v=l.read_shift(1),h=!!(v&136),d=!1,_=!1;switch(v){case 2:break;case 3:break;case 48:d=!0,h=!0;break;case 49:d=!0,h=!0;break;case 131:break;case 139:break;case 140:_=!0;break;case 245:break;default:throw new Error(\"DBF Unsupported Version: \"+v.toString(16))}var u=0,g=521;v==2&&(u=l.read_shift(2)),l.l+=3,v!=2&&(u=l.read_shift(4)),u>1048576&&(u=1e6),v!=2&&(g=l.read_shift(2));var y=l.read_shift(2),C=o.codepage||1252;v!=2&&(l.l+=16,l.read_shift(1),l[l.l]!==0&&(C=e[l[l.l]]),l.l+=1,l.l+=2),_&&(l.l+=36);for(var D=[],B={},G=Math.min(l.length,v==2?521:g-10-(d?264:0)),te=_?32:11;l.l<G&&l[l.l]!=13;)switch(B={},B.name=ke.utils.decode(C,l.slice(l.l,l.l+te)).replace(/[\\\\u0000\\\\r\\\\n].*\\$/g,\"\"),l.l+=te,B.type=String.fromCharCode(l.read_shift(1)),v!=2&&!_&&(B.offset=l.read_shift(4)),B.len=l.read_shift(1),v==2&&(B.offset=l.read_shift(2)),B.dec=l.read_shift(1),B.name.length&&D.push(B),v!=2&&(l.l+=_?13:14),B.type){case\"B\":(!d||B.len!=8)&&o.WTF&&console.log(\"Skipping \"+B.name+\":\"+B.type);break;case\"G\":case\"P\":o.WTF&&console.log(\"Skipping \"+B.name+\":\"+B.type);break;case\"+\":case\"0\":case\"@\":case\"C\":case\"D\":case\"F\":case\"I\":case\"L\":case\"M\":case\"N\":case\"O\":case\"T\":case\"Y\":break;default:throw new Error(\"Unknown Field Type: \"+B.type)}if(l[l.l]!==13&&(l.l=g-1),l.read_shift(1)!==13)throw new Error(\"DBF Terminator not found \"+l.l+\" \"+l[l.l]);l.l=g;var A=0,W=0;for(c[0]=[],W=0;W!=D.length;++W)c[0][W]=D[W].name;for(;u-- >0;){if(l[l.l]===42){l.l+=y;continue}for(++l.l,c[++A]=[],W=0,W=0;W!=D.length;++W){var L=l.slice(l.l,l.l+D[W].len);l.l+=D[W].len,sr(L,0);var U=ke.utils.decode(C,L);switch(D[W].type){case\"C\":U.trim().length&&(c[A][W]=U.replace(/\\\\s+\\$/,\"\"));break;case\"D\":U.length===8?c[A][W]=new Date(+U.slice(0,4),+U.slice(4,6)-1,+U.slice(6,8)):c[A][W]=U;break;case\"F\":c[A][W]=parseFloat(U.trim());break;case\"+\":case\"I\":c[A][W]=_?L.read_shift(-4,\"i\")^2147483648:L.read_shift(4,\"i\");break;case\"L\":switch(U.trim().toUpperCase()){case\"Y\":case\"T\":c[A][W]=!0;break;case\"N\":case\"F\":c[A][W]=!1;break;case\"\":case\"?\":break;default:throw new Error(\"DBF Unrecognized L:|\"+U+\"|\")}break;case\"M\":if(!h)throw new Error(\"DBF Unexpected MEMO for type \"+v.toString(16));c[A][W]=\"##MEMO##\"+(_?parseInt(U.trim(),10):L.read_shift(4));break;case\"N\":U=U.replace(/\\\\u0000/g,\"\").trim(),U&&U!=\".\"&&(c[A][W]=+U||0);break;case\"@\":c[A][W]=new Date(L.read_shift(-8,\"f\")-621356832e5);break;case\"T\":c[A][W]=new Date((L.read_shift(4)-2440588)*864e5+L.read_shift(4));break;case\"Y\":c[A][W]=L.read_shift(4,\"i\")/1e4+L.read_shift(4,\"i\")/1e4*Math.pow(2,32);break;case\"O\":c[A][W]=-L.read_shift(-8,\"f\");break;case\"B\":if(d&&D[W].len==8){c[A][W]=L.read_shift(8,\"f\");break}case\"G\":case\"P\":L.l+=D[W].len;break;case\"0\":if(D[W].name===\"_NullFlags\")break;default:throw new Error(\"DBF Unsupported data type \"+D[W].type)}}}if(v!=2&&l.l<l.length&&l[l.l++]!=26)throw new Error(\"DBF EOF Marker missing \"+(l.l-1)+\" of \"+l.length+\" \"+l[l.l-1].toString(16));return o&&o.sheetRows&&(c=c.slice(0,o.sheetRows)),o.DBF=D,c}function a(f,o){var c=o||{};c.dateNF||(c.dateNF=\"yyyymmdd\");var l=vt(r(f,c),c);return l[\"!cols\"]=c.DBF.map(function(v){return{wch:v.len,DBF:v}}),delete c.DBF,l}function n(f,o){try{return Yr(a(f,o),o)}catch(c){if(o&&o.WTF)throw c}return{SheetNames:[],Sheets:{}}}var i={B:8,C:250,L:1,D:8,\"?\":0,\"\":0};function s(f,o){var c=o||{};if(+c.codepage>=0&&Dt(+c.codepage),c.type==\"string\")throw new Error(\"Cannot write DBF to JS string\");var l=rr(),v=oa(f,{header:1,raw:!0,cellDates:!0}),h=v[0],d=v.slice(1),_=f[\"!cols\"]||[],u=0,g=0,y=0,C=1;for(u=0;u<h.length;++u){if(((_[u]||{}).DBF||{}).name){h[u]=_[u].DBF.name,++y;continue}if(h[u]!=null){if(++y,typeof h[u]==\"number\"&&(h[u]=h[u].toString(10)),typeof h[u]!=\"string\")throw new Error(\"DBF Invalid column name \"+h[u]+\" |\"+typeof h[u]+\"|\");if(h.indexOf(h[u])!==u){for(g=0;g<1024;++g)if(h.indexOf(h[u]+\"_\"+g)==-1){h[u]+=\"_\"+g;break}}}}var D=Te(f[\"!ref\"]),B=[],G=[],te=[];for(u=0;u<=D.e.c-D.s.c;++u){var A=\"\",W=\"\",L=0,U=[];for(g=0;g<d.length;++g)d[g][u]!=null&&U.push(d[g][u]);if(U.length==0||h[u]==null){B[u]=\"?\";continue}for(g=0;g<U.length;++g){switch(typeof U[g]){case\"number\":W=\"B\";break;case\"string\":W=\"C\";break;case\"boolean\":W=\"L\";break;case\"object\":W=U[g]instanceof Date?\"D\":\"C\";break;default:W=\"C\"}L=Math.max(L,String(U[g]).length),A=A&&A!=W?\"C\":W}L>250&&(L=250),W=((_[u]||{}).DBF||{}).type,W==\"C\"&&_[u].DBF.len>L&&(L=_[u].DBF.len),A==\"B\"&&W==\"N\"&&(A=\"N\",te[u]=_[u].DBF.dec,L=_[u].DBF.len),G[u]=A==\"C\"||W==\"N\"?L:i[A]||0,C+=G[u],B[u]=A}var X=l.next(32);for(X.write_shift(4,318902576),X.write_shift(4,d.length),X.write_shift(2,296+32*y),X.write_shift(2,C),u=0;u<4;++u)X.write_shift(4,0);for(X.write_shift(4,0|(+t[ut]||3)<<8),u=0,g=0;u<h.length;++u)if(h[u]!=null){var z=l.next(32),ie=(h[u].slice(-10)+\"\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\").slice(0,11);z.write_shift(1,ie,\"sbcs\"),z.write_shift(1,B[u]==\"?\"?\"C\":B[u],\"sbcs\"),z.write_shift(4,g),z.write_shift(1,G[u]||i[B[u]]||0),z.write_shift(1,te[u]||0),z.write_shift(1,2),z.write_shift(4,0),z.write_shift(1,0),z.write_shift(4,0),z.write_shift(4,0),g+=G[u]||i[B[u]]||0}var de=l.next(264);for(de.write_shift(4,13),u=0;u<65;++u)de.write_shift(4,0);for(u=0;u<d.length;++u){var se=l.next(C);for(se.write_shift(1,0),g=0;g<h.length;++g)if(h[g]!=null)switch(B[g]){case\"L\":se.write_shift(1,d[u][g]==null?63:d[u][g]?84:70);break;case\"B\":se.write_shift(8,d[u][g]||0,\"f\");break;case\"N\":var Re=\"0\";for(typeof d[u][g]==\"number\"&&(Re=d[u][g].toFixed(te[g]||0)),y=0;y<G[g]-Re.length;++y)se.write_shift(1,32);se.write_shift(1,Re,\"sbcs\");break;case\"D\":d[u][g]?(se.write_shift(4,(\"0000\"+d[u][g].getFullYear()).slice(-4),\"sbcs\"),se.write_shift(2,(\"00\"+(d[u][g].getMonth()+1)).slice(-2),\"sbcs\"),se.write_shift(2,(\"00\"+d[u][g].getDate()).slice(-2),\"sbcs\")):se.write_shift(8,\"00000000\",\"sbcs\");break;case\"C\":var Ne=String(d[u][g]!=null?d[u][g]:\"\").slice(0,G[g]);for(se.write_shift(1,Ne,\"sbcs\"),y=0;y<G[g]-Ne.length;++y)se.write_shift(1,32);break}}return l.next(1).write_shift(1,26),l.end()}return{to_workbook:n,to_sheet:a,from_sheet:s}})(),oc=(function(){var e={AA:\"\\\\xC0\",BA:\"\\\\xC1\",CA:\"\\\\xC2\",DA:195,HA:\"\\\\xC4\",JA:197,AE:\"\\\\xC8\",BE:\"\\\\xC9\",CE:\"\\\\xCA\",HE:\"\\\\xCB\",AI:\"\\\\xCC\",BI:\"\\\\xCD\",CI:\"\\\\xCE\",HI:\"\\\\xCF\",AO:\"\\\\xD2\",BO:\"\\\\xD3\",CO:\"\\\\xD4\",DO:213,HO:\"\\\\xD6\",AU:\"\\\\xD9\",BU:\"\\\\xDA\",CU:\"\\\\xDB\",HU:\"\\\\xDC\",Aa:\"\\\\xE0\",Ba:\"\\\\xE1\",Ca:\"\\\\xE2\",Da:227,Ha:\"\\\\xE4\",Ja:229,Ae:\"\\\\xE8\",Be:\"\\\\xE9\",Ce:\"\\\\xEA\",He:\"\\\\xEB\",Ai:\"\\\\xEC\",Bi:\"\\\\xED\",Ci:\"\\\\xEE\",Hi:\"\\\\xEF\",Ao:\"\\\\xF2\",Bo:\"\\\\xF3\",Co:\"\\\\xF4\",Do:245,Ho:\"\\\\xF6\",Au:\"\\\\xF9\",Bu:\"\\\\xFA\",Cu:\"\\\\xFB\",Hu:\"\\\\xFC\",KC:\"\\\\xC7\",Kc:\"\\\\xE7\",q:\"\\\\xE6\",z:\"\\\\u0153\",a:\"\\\\xC6\",j:\"\\\\u0152\",DN:209,Dn:241,Hy:255,S:169,c:170,R:174,\"B \":180,0:176,1:177,2:178,3:179,5:181,6:182,7:183,Q:185,k:186,b:208,i:216,l:222,s:240,y:248,\"!\":161,'\"':162,\"#\":163,\"(\":164,\"%\":165,\"'\":167,\"H \":168,\"+\":171,\";\":187,\"<\":188,\"=\":189,\">\":190,\"?\":191,\"{\":223},t=new RegExp(\"\\\\x1BN(\"+ze(e).join(\"|\").replace(/\\\\|\\\\|\\\\|/,\"|\\\\\\\\||\").replace(/([?()+])/g,\"\\\\\\\\\\$1\")+\"|\\\\\\\\|)\",\"gm\"),r=function(h,d){var _=e[d];return typeof _==\"number\"?_0(_):_},a=function(h,d,_){var u=d.charCodeAt(0)-32<<4|_.charCodeAt(0)-48;return u==59?h:_0(u)};e[\"|\"]=254;function n(h,d){switch(d.type){case\"base64\":return i(Or(h),d);case\"binary\":return i(h,d);case\"buffer\":return i(xe&&Buffer.isBuffer(h)?h.toString(\"binary\"):Pt(h),d);case\"array\":return i(da(h),d)}throw new Error(\"Unrecognized type \"+d.type)}function i(h,d){var _=h.split(/[\\\\n\\\\r]+/),u=-1,g=-1,y=0,C=0,D=[],B=[],G=null,te={},A=[],W=[],L=[],U=0,X;for(+d.codepage>=0&&Dt(+d.codepage);y!==_.length;++y){U=0;var z=_[y].trim().replace(/\\\\x1B([\\\\x20-\\\\x2F])([\\\\x30-\\\\x3F])/g,a).replace(t,r),ie=z.replace(/;;/g,\"\\\\0\").split(\";\").map(function(S){return S.replace(/\\\\u0000/g,\";\")}),de=ie[0],se;if(z.length>0)switch(de){case\"ID\":break;case\"E\":break;case\"B\":break;case\"O\":break;case\"W\":break;case\"P\":ie[1].charAt(0)==\"P\"&&B.push(z.slice(3).replace(/;;/g,\";\"));break;case\"C\":var Re=!1,Ne=!1,Ze=!1,je=!1,Me=-1,Qe=-1;for(C=1;C<ie.length;++C)switch(ie[C].charAt(0)){case\"A\":break;case\"X\":g=parseInt(ie[C].slice(1))-1,Ne=!0;break;case\"Y\":for(u=parseInt(ie[C].slice(1))-1,Ne||(g=0),X=D.length;X<=u;++X)D[X]=[];break;case\"K\":se=ie[C].slice(1),se.charAt(0)==='\"'?se=se.slice(1,se.length-1):se===\"TRUE\"?se=!0:se===\"FALSE\"?se=!1:isNaN(Cr(se))?isNaN(It(se).getDate())||(se=qe(se)):(se=Cr(se),G!==null&&mn(G)&&(se=kn(se))),typeof ke<\"u\"&&typeof se==\"string\"&&(d||{}).type!=\"string\"&&(d||{}).codepage&&(se=ke.utils.decode(d.codepage,se)),Re=!0;break;case\"E\":je=!0;var T=fo(ie[C].slice(1),{r:u,c:g});D[u][g]=[D[u][g],T];break;case\"S\":Ze=!0,D[u][g]=[D[u][g],\"S5S\"];break;case\"G\":break;case\"R\":Me=parseInt(ie[C].slice(1))-1;break;case\"C\":Qe=parseInt(ie[C].slice(1))-1;break;default:if(d&&d.WTF)throw new Error(\"SYLK bad record \"+z)}if(Re&&(D[u][g]&&D[u][g].length==2?D[u][g][0]=se:D[u][g]=se,G=null),Ze){if(je)throw new Error(\"SYLK shared formula cannot have own formula\");var M=Me>-1&&D[Me][Qe];if(!M||!M[1])throw new Error(\"SYLK shared formula cannot find base\");D[u][g][1]=co(M[1],{r:u-Me,c:g-Qe})}break;case\"F\":var F=0;for(C=1;C<ie.length;++C)switch(ie[C].charAt(0)){case\"X\":g=parseInt(ie[C].slice(1))-1,++F;break;case\"Y\":for(u=parseInt(ie[C].slice(1))-1,X=D.length;X<=u;++X)D[X]=[];break;case\"M\":U=parseInt(ie[C].slice(1))/20;break;case\"F\":break;case\"G\":break;case\"P\":G=B[parseInt(ie[C].slice(1))];break;case\"S\":break;case\"D\":break;case\"N\":break;case\"W\":for(L=ie[C].slice(1).split(\" \"),X=parseInt(L[0],10);X<=parseInt(L[1],10);++X)U=parseInt(L[2],10),W[X-1]=U===0?{hidden:!0}:{wch:U},r0(W[X-1]);break;case\"C\":g=parseInt(ie[C].slice(1))-1,W[g]||(W[g]={});break;case\"R\":u=parseInt(ie[C].slice(1))-1,A[u]||(A[u]={}),U>0?(A[u].hpt=U,A[u].hpx=ai(U)):U===0&&(A[u].hidden=!0);break;default:if(d&&d.WTF)throw new Error(\"SYLK bad record \"+z)}F<1&&(G=null);break;default:if(d&&d.WTF)throw new Error(\"SYLK bad record \"+z)}}return A.length>0&&(te[\"!rows\"]=A),W.length>0&&(te[\"!cols\"]=W),d&&d.sheetRows&&(D=D.slice(0,d.sheetRows)),[D,te]}function s(h,d){var _=n(h,d),u=_[0],g=_[1],y=vt(u,d);return ze(g).forEach(function(C){y[C]=g[C]}),y}function f(h,d){return Yr(s(h,d),d)}function o(h,d,_,u){var g=\"C;Y\"+(_+1)+\";X\"+(u+1)+\";K\";switch(h.t){case\"n\":g+=h.v||0,h.f&&!h.F&&(g+=\";E\"+a0(h.f,{r:_,c:u}));break;case\"b\":g+=h.v?\"TRUE\":\"FALSE\";break;case\"e\":g+=h.w||h.v;break;case\"d\":g+='\"'+(h.w||h.v)+'\"';break;case\"s\":g+='\"'+h.v.replace(/\"/g,\"\").replace(/;/g,\";;\")+'\"';break}return g}function c(h,d){d.forEach(function(_,u){var g=\"F;W\"+(u+1)+\" \"+(u+1)+\" \";_.hidden?g+=\"0\":(typeof _.width==\"number\"&&!_.wpx&&(_.wpx=ia(_.width)),typeof _.wpx==\"number\"&&!_.wch&&(_.wch=sa(_.wpx)),typeof _.wch==\"number\"&&(g+=Math.round(_.wch))),g.charAt(g.length-1)!=\" \"&&h.push(g)})}function l(h,d){d.forEach(function(_,u){var g=\"F;\";_.hidden?g+=\"M0;\":_.hpt?g+=\"M\"+20*_.hpt+\";\":_.hpx&&(g+=\"M\"+20*fa(_.hpx)+\";\"),g.length>2&&h.push(g+\"R\"+(u+1))})}function v(h,d){var _=[\"ID;PWXL;N;E\"],u=[],g=Te(h[\"!ref\"]),y,C=Array.isArray(h),D=\\`\\\\r\n\\`;_.push(\"P;PGeneral\"),_.push(\"F;P0;DG0G8;M255\"),h[\"!cols\"]&&c(_,h[\"!cols\"]),h[\"!rows\"]&&l(_,h[\"!rows\"]),_.push(\"B;Y\"+(g.e.r-g.s.r+1)+\";X\"+(g.e.c-g.s.c+1)+\";D\"+[g.s.c,g.s.r,g.e.c,g.e.r].join(\" \"));for(var B=g.s.r;B<=g.e.r;++B)for(var G=g.s.c;G<=g.e.c;++G){var te=ge({r:B,c:G});y=C?(h[B]||[])[G]:h[te],!(!y||y.v==null&&(!y.f||y.F))&&u.push(o(y,h,B,G,d))}return _.join(D)+D+u.join(D)+D+\"E\"+D}return{to_workbook:f,to_sheet:s,from_sheet:v}})(),lc=(function(){function e(i,s){switch(s.type){case\"base64\":return t(Or(i),s);case\"binary\":return t(i,s);case\"buffer\":return t(xe&&Buffer.isBuffer(i)?i.toString(\"binary\"):Pt(i),s);case\"array\":return t(da(i),s)}throw new Error(\"Unrecognized type \"+s.type)}function t(i,s){for(var f=i.split(\\`\n\\`),o=-1,c=-1,l=0,v=[];l!==f.length;++l){if(f[l].trim()===\"BOT\"){v[++o]=[],c=0;continue}if(!(o<0)){var h=f[l].trim().split(\",\"),d=h[0],_=h[1];++l;for(var u=f[l]||\"\";(u.match(/[\"]/g)||[]).length&1&&l<f.length-1;)u+=\\`\n\\`+f[++l];switch(u=u.trim(),+d){case-1:if(u===\"BOT\"){v[++o]=[],c=0;continue}else if(u!==\"EOD\")throw new Error(\"Unrecognized DIF special command \"+u);break;case 0:u===\"TRUE\"?v[o][c]=!0:u===\"FALSE\"?v[o][c]=!1:isNaN(Cr(_))?isNaN(It(_).getDate())?v[o][c]=_:v[o][c]=qe(_):v[o][c]=Cr(_),++c;break;case 1:u=u.slice(1,u.length-1),u=u.replace(/\"\"/g,'\"'),wt&&u&&u.match(/^=\".*\"\\$/)&&(u=u.slice(2,-1)),v[o][c++]=u!==\"\"?u:null;break}if(u===\"EOD\")break}}return s&&s.sheetRows&&(v=v.slice(0,s.sheetRows)),v}function r(i,s){return vt(e(i,s),s)}function a(i,s){return Yr(r(i,s),s)}var n=(function(){var i=function(o,c,l,v,h){o.push(c),o.push(l+\",\"+v),o.push('\"'+h.replace(/\"/g,'\"\"')+'\"')},s=function(o,c,l,v){o.push(c+\",\"+l),o.push(c==1?'\"'+v.replace(/\"/g,'\"\"')+'\"':v)};return function(o){var c=[],l=Te(o[\"!ref\"]),v,h=Array.isArray(o);i(c,\"TABLE\",0,1,\"sheetjs\"),i(c,\"VECTORS\",0,l.e.r-l.s.r+1,\"\"),i(c,\"TUPLES\",0,l.e.c-l.s.c+1,\"\"),i(c,\"DATA\",0,0,\"\");for(var d=l.s.r;d<=l.e.r;++d){s(c,-1,0,\"BOT\");for(var _=l.s.c;_<=l.e.c;++_){var u=ge({r:d,c:_});if(v=h?(o[d]||[])[_]:o[u],!v){s(c,1,0,\"\");continue}switch(v.t){case\"n\":var g=wt?v.w:v.v;!g&&v.v!=null&&(g=v.v),g==null?wt&&v.f&&!v.F?s(c,1,0,\"=\"+v.f):s(c,1,0,\"\"):s(c,0,g,\"V\");break;case\"b\":s(c,0,v.v?1:0,v.v?\"TRUE\":\"FALSE\");break;case\"s\":s(c,1,0,!wt||isNaN(v.v)?v.v:'=\"'+v.v+'\"');break;case\"d\":v.w||(v.w=Lr(v.z||ye[14],tr(qe(v.v)))),wt?s(c,0,v.w,\"V\"):s(c,1,0,v.w);break;default:s(c,1,0,\"\")}}}s(c,-1,0,\"EOD\");var y=\\`\\\\r\n\\`,C=c.join(y);return C}})();return{to_workbook:a,to_sheet:r,from_sheet:n}})(),Qn=(function(){function e(v){return v.replace(/\\\\\\\\b/g,\"\\\\\\\\\").replace(/\\\\\\\\c/g,\":\").replace(/\\\\\\\\n/g,\\`\n\\`)}function t(v){return v.replace(/\\\\\\\\/g,\"\\\\\\\\b\").replace(/:/g,\"\\\\\\\\c\").replace(/\\\\n/g,\"\\\\\\\\n\")}function r(v,h){for(var d=v.split(\\`\n\\`),_=-1,u=-1,g=0,y=[];g!==d.length;++g){var C=d[g].trim().split(\":\");if(C[0]===\"cell\"){var D=Le(C[1]);if(y.length<=D.r)for(_=y.length;_<=D.r;++_)y[_]||(y[_]=[]);switch(_=D.r,u=D.c,C[2]){case\"t\":y[_][u]=e(C[3]);break;case\"v\":y[_][u]=+C[3];break;case\"vtf\":var B=C[C.length-1];case\"vtc\":C[3]===\"nl\"?y[_][u]=!!+C[4]:y[_][u]=+C[4],C[2]==\"vtf\"&&(y[_][u]=[y[_][u],B])}}}return h&&h.sheetRows&&(y=y.slice(0,h.sheetRows)),y}function a(v,h){return vt(r(v,h),h)}function n(v,h){return Yr(a(v,h),h)}var i=[\"socialcalc:version:1.5\",\"MIME-Version: 1.0\",\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"].join(\\`\n\\`),s=[\"--SocialCalcSpreadsheetControlSave\",\"Content-type: text/plain; charset=UTF-8\"].join(\\`\n\\`)+\\`\n\\`,f=[\"# SocialCalc Spreadsheet Control Save\",\"part:sheet\"].join(\\`\n\\`),o=\"--SocialCalcSpreadsheetControlSave--\";function c(v){if(!v||!v[\"!ref\"])return\"\";for(var h=[],d=[],_,u=\"\",g=cr(v[\"!ref\"]),y=Array.isArray(v),C=g.s.r;C<=g.e.r;++C)for(var D=g.s.c;D<=g.e.c;++D)if(u=ge({r:C,c:D}),_=y?(v[C]||[])[D]:v[u],!(!_||_.v==null||_.t===\"z\")){switch(d=[\"cell\",u,\"t\"],_.t){case\"s\":case\"str\":d.push(t(_.v));break;case\"n\":_.f?(d[2]=\"vtf\",d[3]=\"n\",d[4]=_.v,d[5]=t(_.f)):(d[2]=\"v\",d[3]=_.v);break;case\"b\":d[2]=\"vt\"+(_.f?\"f\":\"c\"),d[3]=\"nl\",d[4]=_.v?\"1\":\"0\",d[5]=t(_.f||(_.v?\"TRUE\":\"FALSE\"));break;case\"d\":var B=tr(qe(_.v));d[2]=\"vtc\",d[3]=\"nd\",d[4]=\"\"+B,d[5]=_.w||Lr(_.z||ye[14],B);break;case\"e\":continue}h.push(d.join(\":\"))}return h.push(\"sheet:c:\"+(g.e.c-g.s.c+1)+\":r:\"+(g.e.r-g.s.r+1)+\":tvf:1\"),h.push(\"valueformat:1:text-wiki\"),h.join(\\`\n\\`)}function l(v){return[i,s,f,s,c(v),o].join(\\`\n\\`)}return{to_workbook:n,to_sheet:a,from_sheet:l}})(),uc=(function(){function e(l,v,h,d,_){_.raw?v[h][d]=l:l===\"\"||(l===\"TRUE\"?v[h][d]=!0:l===\"FALSE\"?v[h][d]=!1:isNaN(Cr(l))?isNaN(It(l).getDate())?v[h][d]=l:v[h][d]=qe(l):v[h][d]=Cr(l))}function t(l,v){var h=v||{},d=[];if(!l||l.length===0)return d;for(var _=l.split(/[\\\\r\\\\n]/),u=_.length-1;u>=0&&_[u].length===0;)--u;for(var g=10,y=0,C=0;C<=u;++C)y=_[C].indexOf(\" \"),y==-1?y=_[C].length:y++,g=Math.max(g,y);for(C=0;C<=u;++C){d[C]=[];var D=0;for(e(_[C].slice(0,g).trim(),d,C,D,h),D=1;D<=(_[C].length-g)/10+1;++D)e(_[C].slice(g+(D-1)*10,g+D*10).trim(),d,C,D,h)}return h.sheetRows&&(d=d.slice(0,h.sheetRows)),d}var r={44:\",\",9:\"\t\",59:\";\",124:\"|\"},a={44:3,9:2,59:1,124:0};function n(l){for(var v={},h=!1,d=0,_=0;d<l.length;++d)(_=l.charCodeAt(d))==34?h=!h:!h&&_ in r&&(v[_]=(v[_]||0)+1);_=[];for(d in v)Object.prototype.hasOwnProperty.call(v,d)&&_.push([v[d],d]);if(!_.length){v=a;for(d in v)Object.prototype.hasOwnProperty.call(v,d)&&_.push([v[d],d])}return _.sort(function(u,g){return u[0]-g[0]||a[u[1]]-a[g[1]]}),r[_.pop()[1]]||44}function i(l,v){var h=v||{},d=\"\";Er!=null&&h.dense==null&&(h.dense=Er);var _=h.dense?[]:{},u={s:{c:0,r:0},e:{c:0,r:0}};l.slice(0,4)==\"sep=\"?l.charCodeAt(5)==13&&l.charCodeAt(6)==10?(d=l.charAt(4),l=l.slice(7)):l.charCodeAt(5)==13||l.charCodeAt(5)==10?(d=l.charAt(4),l=l.slice(6)):d=n(l.slice(0,1024)):h&&h.FS?d=h.FS:d=n(l.slice(0,1024));var g=0,y=0,C=0,D=0,B=0,G=d.charCodeAt(0),te=!1,A=0,W=l.charCodeAt(0);l=l.replace(/\\\\r\\\\n/mg,\\`\n\\`);var L=h.dateNF!=null?Fs(h.dateNF):null;function U(){var X=l.slice(D,B),z={};if(X.charAt(0)=='\"'&&X.charAt(X.length-1)=='\"'&&(X=X.slice(1,-1).replace(/\"\"/g,'\"')),X.length===0)z.t=\"z\";else if(h.raw)z.t=\"s\",z.v=X;else if(X.trim().length===0)z.t=\"s\",z.v=X;else if(X.charCodeAt(0)==61)X.charCodeAt(1)==34&&X.charCodeAt(X.length-1)==34?(z.t=\"s\",z.v=X.slice(2,-1).replace(/\"\"/g,'\"')):oo(X)?(z.t=\"n\",z.f=X.slice(1)):(z.t=\"s\",z.v=X);else if(X==\"TRUE\")z.t=\"b\",z.v=!0;else if(X==\"FALSE\")z.t=\"b\",z.v=!1;else if(!isNaN(C=Cr(X)))z.t=\"n\",h.cellText!==!1&&(z.w=X),z.v=C;else if(!isNaN(It(X).getDate())||L&&X.match(L)){z.z=h.dateNF||ye[14];var ie=0;L&&X.match(L)&&(X=ys(X,h.dateNF,X.match(L)||[]),ie=1),h.cellDates?(z.t=\"d\",z.v=qe(X,ie)):(z.t=\"n\",z.v=tr(qe(X,ie))),h.cellText!==!1&&(z.w=Lr(z.z,z.v instanceof Date?tr(z.v):z.v)),h.cellNF||delete z.z}else z.t=\"s\",z.v=X;if(z.t==\"z\"||(h.dense?(_[g]||(_[g]=[]),_[g][y]=z):_[ge({c:y,r:g})]=z),D=B+1,W=l.charCodeAt(D),u.e.c<y&&(u.e.c=y),u.e.r<g&&(u.e.r=g),A==G)++y;else if(y=0,++g,h.sheetRows&&h.sheetRows<=g)return!0}e:for(;B<l.length;++B)switch(A=l.charCodeAt(B)){case 34:W===34&&(te=!te);break;case G:case 10:case 13:if(!te&&U())break e;break;default:break}return B-D>0&&U(),_[\"!ref\"]=De(u),_}function s(l,v){return!(v&&v.PRN)||v.FS||l.slice(0,4)==\"sep=\"||l.indexOf(\"\t\")>=0||l.indexOf(\",\")>=0||l.indexOf(\";\")>=0?i(l,v):vt(t(l,v),v)}function f(l,v){var h=\"\",d=v.type==\"string\"?[0,0,0,0]:S1(l,v);switch(v.type){case\"base64\":h=Or(l);break;case\"binary\":h=l;break;case\"buffer\":v.codepage==65001?h=l.toString(\"utf8\"):v.codepage&&typeof ke<\"u\"?h=ke.utils.decode(v.codepage,l):h=xe&&Buffer.isBuffer(l)?l.toString(\"binary\"):Pt(l);break;case\"array\":h=da(l);break;case\"string\":h=l;break;default:throw new Error(\"Unrecognized type \"+v.type)}return d[0]==239&&d[1]==187&&d[2]==191?h=Tt(h.slice(3)):v.type!=\"string\"&&v.type!=\"buffer\"&&v.codepage==65001?h=Tt(h):v.type==\"binary\"&&typeof ke<\"u\"&&v.codepage&&(h=ke.utils.decode(v.codepage,ke.utils.encode(28591,h))),h.slice(0,19)==\"socialcalc:version:\"?Qn.to_sheet(v.type==\"string\"?h:Tt(h),v):s(h,v)}function o(l,v){return Yr(f(l,v),v)}function c(l){for(var v=[],h=Te(l[\"!ref\"]),d,_=Array.isArray(l),u=h.s.r;u<=h.e.r;++u){for(var g=[],y=h.s.c;y<=h.e.c;++y){var C=ge({r:u,c:y});if(d=_?(l[u]||[])[y]:l[C],!d||d.v==null){g.push(\" \");continue}for(var D=(d.w||(Ir(d),d.w)||\"\").slice(0,10);D.length<10;)D+=\" \";g.push(D+(y===0?\" \":\"\"))}v.push(g.join(\"\"))}return v.join(\\`\n\\`)}return{to_workbook:o,to_sheet:f,from_sheet:c}})();var J0=(function(){function e(T,M,F){if(T){sr(T,T.l||0);for(var S=F.Enum||Me;T.l<T.length;){var V=T.read_shift(2),ne=S[V]||S[65535],fe=T.read_shift(2),ee=T.l+fe,Z=ne.f&&ne.f(T,fe,F);if(T.l=ee,M(Z,ne,V))return}}}function t(T,M){switch(M.type){case\"base64\":return r(pr(Or(T)),M);case\"binary\":return r(pr(T),M);case\"buffer\":case\"array\":return r(T,M)}throw\"Unsupported type \"+M.type}function r(T,M){if(!T)return T;var F=M||{};Er!=null&&F.dense==null&&(F.dense=Er);var S=F.dense?[]:{},V=\"Sheet1\",ne=\"\",fe=0,ee={},Z=[],_e=[],le={s:{r:0,c:0},e:{r:0,c:0}},Ue=F.sheetRows||0;if(T[2]==0&&(T[3]==8||T[3]==9)&&T.length>=16&&T[14]==5&&T[15]===108)throw new Error(\"Unsupported Works 3 for Mac file\");if(T[2]==2)F.Enum=Me,e(T,function(ae,or,Sr){switch(Sr){case 0:F.vers=ae,ae>=4096&&(F.qpro=!0);break;case 6:le=ae;break;case 204:ae&&(ne=ae);break;case 222:ne=ae;break;case 15:case 51:F.qpro||(ae[1].v=ae[1].v.slice(1));case 13:case 14:case 16:Sr==14&&(ae[2]&112)==112&&(ae[2]&15)>1&&(ae[2]&15)<15&&(ae[1].z=F.dateNF||ye[14],F.cellDates&&(ae[1].t=\"d\",ae[1].v=kn(ae[1].v))),F.qpro&&ae[3]>fe&&(S[\"!ref\"]=De(le),ee[V]=S,Z.push(V),S=F.dense?[]:{},le={s:{r:0,c:0},e:{r:0,c:0}},fe=ae[3],V=ne||\"Sheet\"+(fe+1),ne=\"\");var Wr=F.dense?(S[ae[0].r]||[])[ae[0].c]:S[ge(ae[0])];if(Wr){Wr.t=ae[1].t,Wr.v=ae[1].v,ae[1].z!=null&&(Wr.z=ae[1].z),ae[1].f!=null&&(Wr.f=ae[1].f);break}F.dense?(S[ae[0].r]||(S[ae[0].r]=[]),S[ae[0].r][ae[0].c]=ae[1]):S[ge(ae[0])]=ae[1];break;default:}},F);else if(T[2]==26||T[2]==14)F.Enum=Qe,T[2]==14&&(F.qpro=!0,T.l=0),e(T,function(ae,or,Sr){switch(Sr){case 204:V=ae;break;case 22:ae[1].v=ae[1].v.slice(1);case 23:case 24:case 25:case 37:case 39:case 40:if(ae[3]>fe&&(S[\"!ref\"]=De(le),ee[V]=S,Z.push(V),S=F.dense?[]:{},le={s:{r:0,c:0},e:{r:0,c:0}},fe=ae[3],V=\"Sheet\"+(fe+1)),Ue>0&&ae[0].r>=Ue)break;F.dense?(S[ae[0].r]||(S[ae[0].r]=[]),S[ae[0].r][ae[0].c]=ae[1]):S[ge(ae[0])]=ae[1],le.e.c<ae[0].c&&(le.e.c=ae[0].c),le.e.r<ae[0].r&&(le.e.r=ae[0].r);break;case 27:ae[14e3]&&(_e[ae[14e3][0]]=ae[14e3][1]);break;case 1537:_e[ae[0]]=ae[1],ae[0]==fe&&(V=ae[1]);break;default:break}},F);else throw new Error(\"Unrecognized LOTUS BOF \"+T[2]);if(S[\"!ref\"]=De(le),ee[ne||V]=S,Z.push(ne||V),!_e.length)return{SheetNames:Z,Sheets:ee};for(var ue={},xr=[],Se=0;Se<_e.length;++Se)ee[Z[Se]]?(xr.push(_e[Se]||Z[Se]),ue[_e[Se]]=ee[_e[Se]]||ee[Z[Se]]):(xr.push(_e[Se]),ue[_e[Se]]={\"!ref\":\"A1\"});return{SheetNames:xr,Sheets:ue}}function a(T,M){var F=M||{};if(+F.codepage>=0&&Dt(+F.codepage),F.type==\"string\")throw new Error(\"Cannot write WK1 to JS string\");var S=rr(),V=Te(T[\"!ref\"]),ne=Array.isArray(T),fe=[];Y(S,0,i(1030)),Y(S,6,o(V));for(var ee=Math.min(V.e.r,8191),Z=V.s.r;Z<=ee;++Z)for(var _e=Ge(Z),le=V.s.c;le<=V.e.c;++le){Z===V.s.r&&(fe[le]=\\$e(le));var Ue=fe[le]+_e,ue=ne?(T[Z]||[])[le]:T[Ue];if(!(!ue||ue.t==\"z\"))if(ue.t==\"n\")(ue.v|0)==ue.v&&ue.v>=-32768&&ue.v<=32767?Y(S,13,d(Z,le,ue.v)):Y(S,14,u(Z,le,ue.v));else{var xr=Ir(ue);Y(S,15,v(Z,le,xr.slice(0,239)))}}return Y(S,1),S.end()}function n(T,M){var F=M||{};if(+F.codepage>=0&&Dt(+F.codepage),F.type==\"string\")throw new Error(\"Cannot write WK3 to JS string\");var S=rr();Y(S,0,s(T));for(var V=0,ne=0;V<T.SheetNames.length;++V)(T.Sheets[T.SheetNames[V]]||{})[\"!ref\"]&&Y(S,27,je(T.SheetNames[V],ne++));var fe=0;for(V=0;V<T.SheetNames.length;++V){var ee=T.Sheets[T.SheetNames[V]];if(!(!ee||!ee[\"!ref\"])){for(var Z=Te(ee[\"!ref\"]),_e=Array.isArray(ee),le=[],Ue=Math.min(Z.e.r,8191),ue=Z.s.r;ue<=Ue;++ue)for(var xr=Ge(ue),Se=Z.s.c;Se<=Z.e.c;++Se){ue===Z.s.r&&(le[Se]=\\$e(Se));var ae=le[Se]+xr,or=_e?(ee[ue]||[])[Se]:ee[ae];if(!(!or||or.t==\"z\"))if(or.t==\"n\")Y(S,23,U(ue,Se,fe,or.v));else{var Sr=Ir(or);Y(S,22,A(ue,Se,fe,Sr.slice(0,239)))}}++fe}}return Y(S,1),S.end()}function i(T){var M=b(2);return M.write_shift(2,T),M}function s(T){var M=b(26);M.write_shift(2,4096),M.write_shift(2,4),M.write_shift(4,0);for(var F=0,S=0,V=0,ne=0;ne<T.SheetNames.length;++ne){var fe=T.SheetNames[ne],ee=T.Sheets[fe];if(!(!ee||!ee[\"!ref\"])){++V;var Z=cr(ee[\"!ref\"]);F<Z.e.r&&(F=Z.e.r),S<Z.e.c&&(S=Z.e.c)}}return F>8191&&(F=8191),M.write_shift(2,F),M.write_shift(1,V),M.write_shift(1,S),M.write_shift(2,0),M.write_shift(2,0),M.write_shift(1,1),M.write_shift(1,2),M.write_shift(4,0),M.write_shift(4,0),M}function f(T,M,F){var S={s:{c:0,r:0},e:{c:0,r:0}};return M==8&&F.qpro?(S.s.c=T.read_shift(1),T.l++,S.s.r=T.read_shift(2),S.e.c=T.read_shift(1),T.l++,S.e.r=T.read_shift(2),S):(S.s.c=T.read_shift(2),S.s.r=T.read_shift(2),M==12&&F.qpro&&(T.l+=2),S.e.c=T.read_shift(2),S.e.r=T.read_shift(2),M==12&&F.qpro&&(T.l+=2),S.s.c==65535&&(S.s.c=S.e.c=S.s.r=S.e.r=0),S)}function o(T){var M=b(8);return M.write_shift(2,T.s.c),M.write_shift(2,T.s.r),M.write_shift(2,T.e.c),M.write_shift(2,T.e.r),M}function c(T,M,F){var S=[{c:0,r:0},{t:\"n\",v:0},0,0];return F.qpro&&F.vers!=20768?(S[0].c=T.read_shift(1),S[3]=T.read_shift(1),S[0].r=T.read_shift(2),T.l+=2):(S[2]=T.read_shift(1),S[0].c=T.read_shift(2),S[0].r=T.read_shift(2)),S}function l(T,M,F){var S=T.l+M,V=c(T,M,F);if(V[1].t=\"s\",F.vers==20768){T.l++;var ne=T.read_shift(1);return V[1].v=T.read_shift(ne,\"utf8\"),V}return F.qpro&&T.l++,V[1].v=T.read_shift(S-T.l,\"cstr\"),V}function v(T,M,F){var S=b(7+F.length);S.write_shift(1,255),S.write_shift(2,M),S.write_shift(2,T),S.write_shift(1,39);for(var V=0;V<S.length;++V){var ne=F.charCodeAt(V);S.write_shift(1,ne>=128?95:ne)}return S.write_shift(1,0),S}function h(T,M,F){var S=c(T,M,F);return S[1].v=T.read_shift(2,\"i\"),S}function d(T,M,F){var S=b(7);return S.write_shift(1,255),S.write_shift(2,M),S.write_shift(2,T),S.write_shift(2,F,\"i\"),S}function _(T,M,F){var S=c(T,M,F);return S[1].v=T.read_shift(8,\"f\"),S}function u(T,M,F){var S=b(13);return S.write_shift(1,255),S.write_shift(2,M),S.write_shift(2,T),S.write_shift(8,F,\"f\"),S}function g(T,M,F){var S=T.l+M,V=c(T,M,F);if(V[1].v=T.read_shift(8,\"f\"),F.qpro)T.l=S;else{var ne=T.read_shift(2);B(T.slice(T.l,T.l+ne),V),T.l+=ne}return V}function y(T,M,F){var S=M&32768;return M&=-32769,M=(S?T:0)+(M>=8192?M-16384:M),(S?\"\":\"\\$\")+(F?\\$e(M):Ge(M))}var C={51:[\"FALSE\",0],52:[\"TRUE\",0],70:[\"LEN\",1],80:[\"SUM\",69],81:[\"AVERAGEA\",69],82:[\"COUNTA\",69],83:[\"MINA\",69],84:[\"MAXA\",69],111:[\"T\",1]},D=[\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"+\",\"-\",\"*\",\"/\",\"^\",\"=\",\"<>\",\"<=\",\">=\",\"<\",\">\",\"\",\"\",\"\",\"\",\"&\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"];function B(T,M){sr(T,0);for(var F=[],S=0,V=\"\",ne=\"\",fe=\"\",ee=\"\";T.l<T.length;){var Z=T[T.l++];switch(Z){case 0:F.push(T.read_shift(8,\"f\"));break;case 1:ne=y(M[0].c,T.read_shift(2),!0),V=y(M[0].r,T.read_shift(2),!1),F.push(ne+V);break;case 2:{var _e=y(M[0].c,T.read_shift(2),!0),le=y(M[0].r,T.read_shift(2),!1);ne=y(M[0].c,T.read_shift(2),!0),V=y(M[0].r,T.read_shift(2),!1),F.push(_e+le+\":\"+ne+V)}break;case 3:if(T.l<T.length){console.error(\"WK1 premature formula end\");return}break;case 4:F.push(\"(\"+F.pop()+\")\");break;case 5:F.push(T.read_shift(2));break;case 6:{for(var Ue=\"\";Z=T[T.l++];)Ue+=String.fromCharCode(Z);F.push('\"'+Ue.replace(/\"/g,'\"\"')+'\"')}break;case 8:F.push(\"-\"+F.pop());break;case 23:F.push(\"+\"+F.pop());break;case 22:F.push(\"NOT(\"+F.pop()+\")\");break;case 20:case 21:ee=F.pop(),fe=F.pop(),F.push([\"AND\",\"OR\"][Z-20]+\"(\"+fe+\",\"+ee+\")\");break;default:if(Z<32&&D[Z])ee=F.pop(),fe=F.pop(),F.push(fe+D[Z]+ee);else if(C[Z]){if(S=C[Z][1],S==69&&(S=T[T.l++]),S>F.length){console.error(\"WK1 bad formula parse 0x\"+Z.toString(16)+\":|\"+F.join(\"|\")+\"|\");return}var ue=F.slice(-S);F.length-=S,F.push(C[Z][0]+\"(\"+ue.join(\",\")+\")\")}else return Z<=7?console.error(\"WK1 invalid opcode \"+Z.toString(16)):Z<=24?console.error(\"WK1 unsupported op \"+Z.toString(16)):Z<=30?console.error(\"WK1 invalid opcode \"+Z.toString(16)):Z<=115?console.error(\"WK1 unsupported function opcode \"+Z.toString(16)):console.error(\"WK1 unrecognized opcode \"+Z.toString(16))}}F.length==1?M[1].f=\"\"+F[0]:console.error(\"WK1 bad formula parse |\"+F.join(\"|\")+\"|\")}function G(T){var M=[{c:0,r:0},{t:\"n\",v:0},0];return M[0].r=T.read_shift(2),M[3]=T[T.l++],M[0].c=T[T.l++],M}function te(T,M){var F=G(T,M);return F[1].t=\"s\",F[1].v=T.read_shift(M-4,\"cstr\"),F}function A(T,M,F,S){var V=b(6+S.length);V.write_shift(2,T),V.write_shift(1,F),V.write_shift(1,M),V.write_shift(1,39);for(var ne=0;ne<S.length;++ne){var fe=S.charCodeAt(ne);V.write_shift(1,fe>=128?95:fe)}return V.write_shift(1,0),V}function W(T,M){var F=G(T,M);F[1].v=T.read_shift(2);var S=F[1].v>>1;if(F[1].v&1)switch(S&7){case 0:S=(S>>3)*5e3;break;case 1:S=(S>>3)*500;break;case 2:S=(S>>3)/20;break;case 3:S=(S>>3)/200;break;case 4:S=(S>>3)/2e3;break;case 5:S=(S>>3)/2e4;break;case 6:S=(S>>3)/16;break;case 7:S=(S>>3)/64;break}return F[1].v=S,F}function L(T,M){var F=G(T,M),S=T.read_shift(4),V=T.read_shift(4),ne=T.read_shift(2);if(ne==65535)return S===0&&V===3221225472?(F[1].t=\"e\",F[1].v=15):S===0&&V===3489660928?(F[1].t=\"e\",F[1].v=42):F[1].v=0,F;var fe=ne&32768;return ne=(ne&32767)-16446,F[1].v=(1-fe*2)*(V*Math.pow(2,ne+32)+S*Math.pow(2,ne)),F}function U(T,M,F,S){var V=b(14);if(V.write_shift(2,T),V.write_shift(1,F),V.write_shift(1,M),S==0)return V.write_shift(4,0),V.write_shift(4,0),V.write_shift(2,65535),V;var ne=0,fe=0,ee=0,Z=0;return S<0&&(ne=1,S=-S),fe=Math.log2(S)|0,S/=Math.pow(2,fe-31),Z=S>>>0,(Z&2147483648)==0&&(S/=2,++fe,Z=S>>>0),S-=Z,Z|=2147483648,Z>>>=0,S*=Math.pow(2,32),ee=S>>>0,V.write_shift(4,ee),V.write_shift(4,Z),fe+=16383+(ne?32768:0),V.write_shift(2,fe),V}function X(T,M){var F=L(T,14);return T.l+=M-14,F}function z(T,M){var F=G(T,M),S=T.read_shift(4);return F[1].v=S>>6,F}function ie(T,M){var F=G(T,M),S=T.read_shift(8,\"f\");return F[1].v=S,F}function de(T,M){var F=ie(T,14);return T.l+=M-10,F}function se(T,M){return T[T.l+M-1]==0?T.read_shift(M,\"cstr\"):\"\"}function Re(T,M){var F=T[T.l++];F>M-1&&(F=M-1);for(var S=\"\";S.length<F;)S+=String.fromCharCode(T[T.l++]);return S}function Ne(T,M,F){if(!(!F.qpro||M<21)){var S=T.read_shift(1);T.l+=17,T.l+=1,T.l+=2;var V=T.read_shift(M-21,\"cstr\");return[S,V]}}function Ze(T,M){for(var F={},S=T.l+M;T.l<S;){var V=T.read_shift(2);if(V==14e3){for(F[V]=[0,\"\"],F[V][0]=T.read_shift(2);T[T.l];)F[V][1]+=String.fromCharCode(T[T.l]),T.l++;T.l++}}return F}function je(T,M){var F=b(5+T.length);F.write_shift(2,14e3),F.write_shift(2,M);for(var S=0;S<T.length;++S){var V=T.charCodeAt(S);F[F.l++]=V>127?95:V}return F[F.l++]=0,F}var Me={0:{n:\"BOF\",f:jn},1:{n:\"EOF\"},2:{n:\"CALCMODE\"},3:{n:\"CALCORDER\"},4:{n:\"SPLIT\"},5:{n:\"SYNC\"},6:{n:\"RANGE\",f},7:{n:\"WINDOW1\"},8:{n:\"COLW1\"},9:{n:\"WINTWO\"},10:{n:\"COLW2\"},11:{n:\"NAME\"},12:{n:\"BLANK\"},13:{n:\"INTEGER\",f:h},14:{n:\"NUMBER\",f:_},15:{n:\"LABEL\",f:l},16:{n:\"FORMULA\",f:g},24:{n:\"TABLE\"},25:{n:\"ORANGE\"},26:{n:\"PRANGE\"},27:{n:\"SRANGE\"},28:{n:\"FRANGE\"},29:{n:\"KRANGE1\"},32:{n:\"HRANGE\"},35:{n:\"KRANGE2\"},36:{n:\"PROTEC\"},37:{n:\"FOOTER\"},38:{n:\"HEADER\"},39:{n:\"SETUP\"},40:{n:\"MARGINS\"},41:{n:\"LABELFMT\"},42:{n:\"TITLES\"},43:{n:\"SHEETJS\"},45:{n:\"GRAPH\"},46:{n:\"NGRAPH\"},47:{n:\"CALCCOUNT\"},48:{n:\"UNFORMATTED\"},49:{n:\"CURSORW12\"},50:{n:\"WINDOW\"},51:{n:\"STRING\",f:l},55:{n:\"PASSWORD\"},56:{n:\"LOCKED\"},60:{n:\"QUERY\"},61:{n:\"QUERYNAME\"},62:{n:\"PRINT\"},63:{n:\"PRINTNAME\"},64:{n:\"GRAPH2\"},65:{n:\"GRAPHNAME\"},66:{n:\"ZOOM\"},67:{n:\"SYMSPLIT\"},68:{n:\"NSROWS\"},69:{n:\"NSCOLS\"},70:{n:\"RULER\"},71:{n:\"NNAME\"},72:{n:\"ACOMM\"},73:{n:\"AMACRO\"},74:{n:\"PARSE\"},102:{n:\"PRANGES??\"},103:{n:\"RRANGES??\"},104:{n:\"FNAME??\"},105:{n:\"MRANGES??\"},204:{n:\"SHEETNAMECS\",f:se},222:{n:\"SHEETNAMELP\",f:Re},65535:{n:\"\"}},Qe={0:{n:\"BOF\"},1:{n:\"EOF\"},2:{n:\"PASSWORD\"},3:{n:\"CALCSET\"},4:{n:\"WINDOWSET\"},5:{n:\"SHEETCELLPTR\"},6:{n:\"SHEETLAYOUT\"},7:{n:\"COLUMNWIDTH\"},8:{n:\"HIDDENCOLUMN\"},9:{n:\"USERRANGE\"},10:{n:\"SYSTEMRANGE\"},11:{n:\"ZEROFORCE\"},12:{n:\"SORTKEYDIR\"},13:{n:\"FILESEAL\"},14:{n:\"DATAFILLNUMS\"},15:{n:\"PRINTMAIN\"},16:{n:\"PRINTSTRING\"},17:{n:\"GRAPHMAIN\"},18:{n:\"GRAPHSTRING\"},19:{n:\"??\"},20:{n:\"ERRCELL\"},21:{n:\"NACELL\"},22:{n:\"LABEL16\",f:te},23:{n:\"NUMBER17\",f:L},24:{n:\"NUMBER18\",f:W},25:{n:\"FORMULA19\",f:X},26:{n:\"FORMULA1A\"},27:{n:\"XFORMAT\",f:Ze},28:{n:\"DTLABELMISC\"},29:{n:\"DTLABELCELL\"},30:{n:\"GRAPHWINDOW\"},31:{n:\"CPA\"},32:{n:\"LPLAUTO\"},33:{n:\"QUERY\"},34:{n:\"HIDDENSHEET\"},35:{n:\"??\"},37:{n:\"NUMBER25\",f:z},38:{n:\"??\"},39:{n:\"NUMBER27\",f:ie},40:{n:\"FORMULA28\",f:de},142:{n:\"??\"},147:{n:\"??\"},150:{n:\"??\"},151:{n:\"??\"},152:{n:\"??\"},153:{n:\"??\"},154:{n:\"??\"},155:{n:\"??\"},156:{n:\"??\"},163:{n:\"??\"},174:{n:\"??\"},175:{n:\"??\"},176:{n:\"??\"},177:{n:\"??\"},184:{n:\"??\"},185:{n:\"??\"},186:{n:\"??\"},187:{n:\"??\"},188:{n:\"??\"},195:{n:\"??\"},201:{n:\"??\"},204:{n:\"SHEETNAMECS\",f:se},205:{n:\"??\"},206:{n:\"??\"},207:{n:\"??\"},208:{n:\"??\"},256:{n:\"??\"},259:{n:\"??\"},260:{n:\"??\"},261:{n:\"??\"},262:{n:\"??\"},263:{n:\"??\"},265:{n:\"??\"},266:{n:\"??\"},267:{n:\"??\"},268:{n:\"??\"},270:{n:\"??\"},271:{n:\"??\"},384:{n:\"??\"},389:{n:\"??\"},390:{n:\"??\"},393:{n:\"??\"},396:{n:\"??\"},512:{n:\"??\"},514:{n:\"??\"},513:{n:\"??\"},516:{n:\"??\"},517:{n:\"??\"},640:{n:\"??\"},641:{n:\"??\"},642:{n:\"??\"},643:{n:\"??\"},644:{n:\"??\"},645:{n:\"??\"},646:{n:\"??\"},647:{n:\"??\"},648:{n:\"??\"},658:{n:\"??\"},659:{n:\"??\"},660:{n:\"??\"},661:{n:\"??\"},662:{n:\"??\"},665:{n:\"??\"},666:{n:\"??\"},768:{n:\"??\"},772:{n:\"??\"},1537:{n:\"SHEETINFOQP\",f:Ne},1600:{n:\"??\"},1602:{n:\"??\"},1793:{n:\"??\"},1794:{n:\"??\"},1795:{n:\"??\"},1796:{n:\"??\"},1920:{n:\"??\"},2048:{n:\"??\"},2049:{n:\"??\"},2052:{n:\"??\"},2688:{n:\"??\"},10998:{n:\"??\"},12849:{n:\"??\"},28233:{n:\"??\"},28484:{n:\"??\"},65535:{n:\"\"}};return{sheet_to_wk1:a,book_to_wk3:n,to_workbook:t}})();var hc=/^\\\\s|\\\\s\\$|[\\\\t\\\\n\\\\r]/;function ei(e,t){if(!t.bookSST)return\"\";var r=[Oe];r[r.length]=j(\"sst\",null,{xmlns:xt[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a)if(e[a]!=null){var n=e[a],i=\"<si>\";n.r?i+=n.r:(i+=\"<t\",n.t||(n.t=\"\"),n.t.match(hc)&&(i+=' xml:space=\"preserve\"'),i+=\">\"+me(n.t)+\"</t>\"),i+=\"</si>\",r[r.length]=i}return r.length>2&&(r[r.length]=\"</sst>\",r[1]=r[1].replace(\"/>\",\">\")),r.join(\"\")}function xc(e){return[e.read_shift(4),e.read_shift(4)]}function dc(e,t){return t||(t=b(8)),t.write_shift(4,e.Count),t.write_shift(4,e.Unique),t}var vc=nf;function pc(e){var t=rr();H(t,159,dc(e));for(var r=0;r<e.length;++r)H(t,19,vc(e[r]));return H(t,160),t.end()}function mc(e){if(typeof ke<\"u\")return ke.utils.encode(ut,e);for(var t=[],r=e.split(\"\"),a=0;a<r.length;++a)t[a]=r[a].charCodeAt(0);return t}function ri(e){var t=0,r,a=mc(e),n=a.length+1,i,s,f,o,c;for(r=\\$r(n),r[0]=a.length,i=1;i!=n;++i)r[i]=a[i-1];for(i=n-1;i>=0;--i)s=r[i],f=(t&16384)===0?0:1,o=t<<1&32767,c=f|o,t=c^s;return t^52811}var gc=(function(){function e(n,i){switch(i.type){case\"base64\":return t(Or(n),i);case\"binary\":return t(n,i);case\"buffer\":return t(xe&&Buffer.isBuffer(n)?n.toString(\"binary\"):Pt(n),i);case\"array\":return t(da(n),i)}throw new Error(\"Unrecognized type \"+i.type)}function t(n,i){var s=i||{},f=s.dense?[]:{},o=n.match(/\\\\\\\\trowd.*?\\\\\\\\row\\\\b/g);if(!o.length)throw new Error(\"RTF missing table\");var c={s:{c:0,r:0},e:{c:0,r:o.length-1}};return o.forEach(function(l,v){Array.isArray(f)&&(f[v]=[]);for(var h=/\\\\\\\\\\\\w+\\\\b/g,d=0,_,u=-1;_=h.exec(l);){switch(_[0]){case\"\\\\\\\\cell\":var g=l.slice(d,h.lastIndex-_[0].length);if(g[0]==\" \"&&(g=g.slice(1)),++u,g.length){var y={v:g,t:\"s\"};Array.isArray(f)?f[v][u]=y:f[ge({r:v,c:u})]=y}break}d=h.lastIndex}u>c.e.c&&(c.e.c=u)}),f[\"!ref\"]=De(c),f}function r(n,i){return Yr(e(n,i),i)}function a(n){for(var i=[\"{\\\\\\\\rtf1\\\\\\\\ansi\"],s=Te(n[\"!ref\"]),f,o=Array.isArray(n),c=s.s.r;c<=s.e.r;++c){i.push(\"\\\\\\\\trowd\\\\\\\\trautofit1\");for(var l=s.s.c;l<=s.e.c;++l)i.push(\"\\\\\\\\cellx\"+(l+1));for(i.push(\"\\\\\\\\pard\\\\\\\\intbl\"),l=s.s.c;l<=s.e.c;++l){var v=ge({r:c,c:l});f=o?(n[c]||[])[l]:n[v],!(!f||f.v==null&&(!f.f||f.F))&&(i.push(\" \"+(f.w||(Ir(f),f.w))),i.push(\"\\\\\\\\cell\"))}i.push(\"\\\\\\\\pard\\\\\\\\intbl\\\\\\\\row\")}return i.join(\"\")+\"}\"}return{to_workbook:r,to_sheet:e,from_sheet:a}})();function q0(e){for(var t=0,r=1;t!=3;++t)r=r*256+(e[t]>255?255:e[t]<0?0:e[t]);return r.toString(16).toUpperCase().slice(1)}var _c=6;var Dr=_c;function ia(e){return Math.floor((e+Math.round(128/Dr)/256)*Dr)}function sa(e){return Math.floor((e-5)/Dr*100+.5)/100}function La(e){return Math.round((e*Dr+5)/Dr*256)/256}function r0(e){e.width?(e.wpx=ia(e.width),e.wch=sa(e.wpx),e.MDW=Dr):e.wpx?(e.wch=sa(e.wpx),e.width=La(e.wch),e.MDW=Dr):typeof e.wch==\"number\"&&(e.width=La(e.wch),e.wpx=ia(e.width),e.MDW=Dr),e.customWidth&&delete e.customWidth}var wc=96,ti=wc;function fa(e){return e*96/ti}function ai(e){return e*ti/96}function kc(e){var t=[\"<numFmts>\"];return[[5,8],[23,26],[41,44],[50,392]].forEach(function(r){for(var a=r[0];a<=r[1];++a)e[a]!=null&&(t[t.length]=j(\"numFmt\",null,{numFmtId:a,formatCode:me(e[a])}))}),t.length===1?\"\":(t[t.length]=\"</numFmts>\",t[0]=j(\"numFmts\",null,{count:t.length-2}).replace(\"/>\",\">\"),t.join(\"\"))}function Ec(e){var t=[];return t[t.length]=j(\"cellXfs\",null),e.forEach(function(r){t[t.length]=j(\"xf\",null,r)}),t[t.length]=\"</cellXfs>\",t.length===2?\"\":(t[0]=j(\"cellXfs\",null,{count:t.length-2}).replace(\"/>\",\">\"),t.join(\"\"))}function ni(e,t){var r=[Oe,j(\"styleSheet\",null,{xmlns:xt[0],\"xmlns:vt\":Pe.vt})],a;return e.SSF&&(a=kc(e.SSF))!=null&&(r[r.length]=a),r[r.length]='<fonts count=\"1\"><font><sz val=\"12\"/><color theme=\"1\"/><name val=\"Calibri\"/><family val=\"2\"/><scheme val=\"minor\"/></font></fonts>',r[r.length]='<fills count=\"2\"><fill><patternFill patternType=\"none\"/></fill><fill><patternFill patternType=\"gray125\"/></fill></fills>',r[r.length]='<borders count=\"1\"><border><left/><right/><top/><bottom/><diagonal/></border></borders>',r[r.length]='<cellStyleXfs count=\"1\"><xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\"/></cellStyleXfs>',(a=Ec(t.cellXfs))&&(r[r.length]=a),r[r.length]='<cellStyles count=\"1\"><cellStyle name=\"Normal\" xfId=\"0\" builtinId=\"0\"/></cellStyles>',r[r.length]='<dxfs count=\"0\"/>',r[r.length]='<tableStyles count=\"0\" defaultTableStyle=\"TableStyleMedium9\" defaultPivotStyle=\"PivotStyleMedium4\"/>',r.length>2&&(r[r.length]=\"</styleSheet>\",r[1]=r[1].replace(\"/>\",\">\")),r.join(\"\")}function Tc(e,t){var r=e.read_shift(2),a=Ke(e,t-2);return[r,a]}function Sc(e,t,r){r||(r=b(6+4*t.length)),r.write_shift(2,e),Be(t,r);var a=r.length>r.l?r.slice(0,r.l):r;return r.l==null&&(r.l=r.length),a}function Fc(e,t,r){var a={};a.sz=e.read_shift(2)/20;var n=hf(e,2,r);n.fItalic&&(a.italic=1),n.fCondense&&(a.condense=1),n.fExtend&&(a.extend=1),n.fShadow&&(a.shadow=1),n.fOutline&&(a.outline=1),n.fStrikeout&&(a.strike=1);var i=e.read_shift(2);switch(i===700&&(a.bold=1),e.read_shift(2)){case 1:a.vertAlign=\"superscript\";break;case 2:a.vertAlign=\"subscript\";break}var s=e.read_shift(1);s!=0&&(a.underline=s);var f=e.read_shift(1);f>0&&(a.family=f);var o=e.read_shift(1);switch(o>0&&(a.charset=o),e.l++,a.color=uf(e,8),e.read_shift(1)){case 1:a.scheme=\"major\";break;case 2:a.scheme=\"minor\";break}return a.name=Ke(e,t-21),a}function yc(e,t){t||(t=b(153)),t.write_shift(2,e.sz*20),xf(e,t),t.write_shift(2,e.bold?700:400);var r=0;e.vertAlign==\"superscript\"?r=1:e.vertAlign==\"subscript\"&&(r=2),t.write_shift(2,r),t.write_shift(1,e.underline||0),t.write_shift(1,e.family||0),t.write_shift(1,e.charset||0),t.write_shift(1,0),aa(e.color,t);var a=0;return e.scheme==\"major\"&&(a=1),e.scheme==\"minor\"&&(a=2),t.write_shift(1,a),Be(e.name,t),t.length>t.l?t.slice(0,t.l):t}var Ac=[\"none\",\"solid\",\"mediumGray\",\"darkGray\",\"lightGray\",\"darkHorizontal\",\"darkVertical\",\"darkDown\",\"darkUp\",\"darkGrid\",\"darkTrellis\",\"lightHorizontal\",\"lightVertical\",\"lightDown\",\"lightUp\",\"lightGrid\",\"lightTrellis\",\"gray125\",\"gray0625\"],Da,Cc=Tr;function Z0(e,t){t||(t=b(84)),Da||(Da=Ua(Ac));var r=Da[e.patternType];r==null&&(r=40),t.write_shift(4,r);var a=0;if(r!=40)for(aa({auto:1},t),aa({auto:1},t);a<12;++a)t.write_shift(4,0);else{for(;a<4;++a)t.write_shift(4,0);for(;a<12;++a)t.write_shift(4,0)}return t.length>t.l?t.slice(0,t.l):t}function Dc(e,t){var r=e.l+t,a=e.read_shift(2),n=e.read_shift(2);return e.l=r,{ixfe:a,numFmtId:n}}function ii(e,t,r){r||(r=b(16)),r.write_shift(2,t||0),r.write_shift(2,e.numFmtId||0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(1,0),r.write_shift(1,0);var a=0;return r.write_shift(1,a),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(1,0),r}function kt(e,t){return t||(t=b(10)),t.write_shift(1,0),t.write_shift(1,0),t.write_shift(4,0),t.write_shift(4,0),t}var Oc=Tr;function Ic(e,t){return t||(t=b(51)),t.write_shift(1,0),kt(null,t),kt(null,t),kt(null,t),kt(null,t),kt(null,t),t.length>t.l?t.slice(0,t.l):t}function Rc(e,t){return t||(t=b(52)),t.write_shift(4,e.xfId),t.write_shift(2,1),t.write_shift(1,+e.builtinId),t.write_shift(1,0),ta(e.name||\"\",t),t.length>t.l?t.slice(0,t.l):t}function Nc(e,t,r){var a=b(2052);return a.write_shift(4,e),ta(t,a),ta(r,a),a.length>a.l?a.slice(0,a.l):a}function bc(e,t){if(t){var r=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(a){for(var n=a[0];n<=a[1];++n)t[n]!=null&&++r}),r!=0&&(H(e,615,gr(r)),[[5,8],[23,26],[41,44],[50,392]].forEach(function(a){for(var n=a[0];n<=a[1];++n)t[n]!=null&&H(e,44,Sc(n,t[n]))}),H(e,616))}}function Pc(e){var t=1;t!=0&&(H(e,611,gr(t)),H(e,43,yc({sz:12,color:{theme:1},name:\"Calibri\",family:2,scheme:\"minor\"})),H(e,612))}function Lc(e){var t=2;t!=0&&(H(e,603,gr(t)),H(e,45,Z0({patternType:\"none\"})),H(e,45,Z0({patternType:\"gray125\"})),H(e,604))}function Bc(e){var t=1;t!=0&&(H(e,613,gr(t)),H(e,46,Ic({})),H(e,614))}function Mc(e){var t=1;H(e,626,gr(t)),H(e,47,ii({numFmtId:0,fontId:0,fillId:0,borderId:0},65535)),H(e,627)}function Uc(e,t){H(e,617,gr(t.length)),t.forEach(function(r){H(e,47,ii(r,0))}),H(e,618)}function Wc(e){var t=1;H(e,619,gr(t)),H(e,48,Rc({xfId:0,builtinId:0,name:\"Normal\"})),H(e,620)}function Hc(e){var t=0;H(e,505,gr(t)),H(e,506)}function Vc(e){var t=0;H(e,508,Nc(t,\"TableStyleMedium9\",\"PivotStyleMedium4\")),H(e,509)}function Xc(e,t){var r=rr();return H(r,278),bc(r,e.SSF),Pc(r,e),Lc(r,e),Bc(r,e),Mc(r,e),Uc(r,t.cellXfs),Wc(r,e),Hc(r,e),Vc(r,e),H(r,279),r.end()}function si(e,t){if(t&&t.themeXLSX)return t.themeXLSX;if(e&&typeof e.raw==\"string\")return e.raw;var r=[Oe];return r[r.length]='<a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\"Office Theme\">',r[r.length]=\"<a:themeElements>\",r[r.length]='<a:clrScheme name=\"Office\">',r[r.length]='<a:dk1><a:sysClr val=\"windowText\" lastClr=\"000000\"/></a:dk1>',r[r.length]='<a:lt1><a:sysClr val=\"window\" lastClr=\"FFFFFF\"/></a:lt1>',r[r.length]='<a:dk2><a:srgbClr val=\"1F497D\"/></a:dk2>',r[r.length]='<a:lt2><a:srgbClr val=\"EEECE1\"/></a:lt2>',r[r.length]='<a:accent1><a:srgbClr val=\"4F81BD\"/></a:accent1>',r[r.length]='<a:accent2><a:srgbClr val=\"C0504D\"/></a:accent2>',r[r.length]='<a:accent3><a:srgbClr val=\"9BBB59\"/></a:accent3>',r[r.length]='<a:accent4><a:srgbClr val=\"8064A2\"/></a:accent4>',r[r.length]='<a:accent5><a:srgbClr val=\"4BACC6\"/></a:accent5>',r[r.length]='<a:accent6><a:srgbClr val=\"F79646\"/></a:accent6>',r[r.length]='<a:hlink><a:srgbClr val=\"0000FF\"/></a:hlink>',r[r.length]='<a:folHlink><a:srgbClr val=\"800080\"/></a:folHlink>',r[r.length]=\"</a:clrScheme>\",r[r.length]='<a:fontScheme name=\"Office\">',r[r.length]=\"<a:majorFont>\",r[r.length]='<a:latin typeface=\"Cambria\"/>',r[r.length]='<a:ea typeface=\"\"/>',r[r.length]='<a:cs typeface=\"\"/>',r[r.length]='<a:font script=\"Jpan\" typeface=\"\\\\uFF2D\\\\uFF33 \\\\uFF30\\\\u30B4\\\\u30B7\\\\u30C3\\\\u30AF\"/>',r[r.length]='<a:font script=\"Hang\" typeface=\"\\\\uB9D1\\\\uC740 \\\\uACE0\\\\uB515\"/>',r[r.length]='<a:font script=\"Hans\" typeface=\"\\\\u5B8B\\\\u4F53\"/>',r[r.length]='<a:font script=\"Hant\" typeface=\"\\\\u65B0\\\\u7D30\\\\u660E\\\\u9AD4\"/>',r[r.length]='<a:font script=\"Arab\" typeface=\"Times New Roman\"/>',r[r.length]='<a:font script=\"Hebr\" typeface=\"Times New Roman\"/>',r[r.length]='<a:font script=\"Thai\" typeface=\"Tahoma\"/>',r[r.length]='<a:font script=\"Ethi\" typeface=\"Nyala\"/>',r[r.length]='<a:font script=\"Beng\" typeface=\"Vrinda\"/>',r[r.length]='<a:font script=\"Gujr\" typeface=\"Shruti\"/>',r[r.length]='<a:font script=\"Khmr\" typeface=\"MoolBoran\"/>',r[r.length]='<a:font script=\"Knda\" typeface=\"Tunga\"/>',r[r.length]='<a:font script=\"Guru\" typeface=\"Raavi\"/>',r[r.length]='<a:font script=\"Cans\" typeface=\"Euphemia\"/>',r[r.length]='<a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/>',r[r.length]='<a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/>',r[r.length]='<a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/>',r[r.length]='<a:font script=\"Thaa\" typeface=\"MV Boli\"/>',r[r.length]='<a:font script=\"Deva\" typeface=\"Mangal\"/>',r[r.length]='<a:font script=\"Telu\" typeface=\"Gautami\"/>',r[r.length]='<a:font script=\"Taml\" typeface=\"Latha\"/>',r[r.length]='<a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/>',r[r.length]='<a:font script=\"Orya\" typeface=\"Kalinga\"/>',r[r.length]='<a:font script=\"Mlym\" typeface=\"Kartika\"/>',r[r.length]='<a:font script=\"Laoo\" typeface=\"DokChampa\"/>',r[r.length]='<a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/>',r[r.length]='<a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/>',r[r.length]='<a:font script=\"Viet\" typeface=\"Times New Roman\"/>',r[r.length]='<a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/>',r[r.length]='<a:font script=\"Geor\" typeface=\"Sylfaen\"/>',r[r.length]=\"</a:majorFont>\",r[r.length]=\"<a:minorFont>\",r[r.length]='<a:latin typeface=\"Calibri\"/>',r[r.length]='<a:ea typeface=\"\"/>',r[r.length]='<a:cs typeface=\"\"/>',r[r.length]='<a:font script=\"Jpan\" typeface=\"\\\\uFF2D\\\\uFF33 \\\\uFF30\\\\u30B4\\\\u30B7\\\\u30C3\\\\u30AF\"/>',r[r.length]='<a:font script=\"Hang\" typeface=\"\\\\uB9D1\\\\uC740 \\\\uACE0\\\\uB515\"/>',r[r.length]='<a:font script=\"Hans\" typeface=\"\\\\u5B8B\\\\u4F53\"/>',r[r.length]='<a:font script=\"Hant\" typeface=\"\\\\u65B0\\\\u7D30\\\\u660E\\\\u9AD4\"/>',r[r.length]='<a:font script=\"Arab\" typeface=\"Arial\"/>',r[r.length]='<a:font script=\"Hebr\" typeface=\"Arial\"/>',r[r.length]='<a:font script=\"Thai\" typeface=\"Tahoma\"/>',r[r.length]='<a:font script=\"Ethi\" typeface=\"Nyala\"/>',r[r.length]='<a:font script=\"Beng\" typeface=\"Vrinda\"/>',r[r.length]='<a:font script=\"Gujr\" typeface=\"Shruti\"/>',r[r.length]='<a:font script=\"Khmr\" typeface=\"DaunPenh\"/>',r[r.length]='<a:font script=\"Knda\" typeface=\"Tunga\"/>',r[r.length]='<a:font script=\"Guru\" typeface=\"Raavi\"/>',r[r.length]='<a:font script=\"Cans\" typeface=\"Euphemia\"/>',r[r.length]='<a:font script=\"Cher\" typeface=\"Plantagenet Cherokee\"/>',r[r.length]='<a:font script=\"Yiii\" typeface=\"Microsoft Yi Baiti\"/>',r[r.length]='<a:font script=\"Tibt\" typeface=\"Microsoft Himalaya\"/>',r[r.length]='<a:font script=\"Thaa\" typeface=\"MV Boli\"/>',r[r.length]='<a:font script=\"Deva\" typeface=\"Mangal\"/>',r[r.length]='<a:font script=\"Telu\" typeface=\"Gautami\"/>',r[r.length]='<a:font script=\"Taml\" typeface=\"Latha\"/>',r[r.length]='<a:font script=\"Syrc\" typeface=\"Estrangelo Edessa\"/>',r[r.length]='<a:font script=\"Orya\" typeface=\"Kalinga\"/>',r[r.length]='<a:font script=\"Mlym\" typeface=\"Kartika\"/>',r[r.length]='<a:font script=\"Laoo\" typeface=\"DokChampa\"/>',r[r.length]='<a:font script=\"Sinh\" typeface=\"Iskoola Pota\"/>',r[r.length]='<a:font script=\"Mong\" typeface=\"Mongolian Baiti\"/>',r[r.length]='<a:font script=\"Viet\" typeface=\"Arial\"/>',r[r.length]='<a:font script=\"Uigh\" typeface=\"Microsoft Uighur\"/>',r[r.length]='<a:font script=\"Geor\" typeface=\"Sylfaen\"/>',r[r.length]=\"</a:minorFont>\",r[r.length]=\"</a:fontScheme>\",r[r.length]='<a:fmtScheme name=\"Office\">',r[r.length]=\"<a:fillStyleLst>\",r[r.length]='<a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill>',r[r.length]='<a:gradFill rotWithShape=\"1\">',r[r.length]=\"<a:gsLst>\",r[r.length]='<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"50000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"35000\"><a:schemeClr val=\"phClr\"><a:tint val=\"37000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:tint val=\"15000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>',r[r.length]=\"</a:gsLst>\",r[r.length]='<a:lin ang=\"16200000\" scaled=\"1\"/>',r[r.length]=\"</a:gradFill>\",r[r.length]='<a:gradFill rotWithShape=\"1\">',r[r.length]=\"<a:gsLst>\",r[r.length]='<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"100000\"/><a:shade val=\"100000\"/><a:satMod val=\"130000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:tint val=\"50000\"/><a:shade val=\"100000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>',r[r.length]=\"</a:gsLst>\",r[r.length]='<a:lin ang=\"16200000\" scaled=\"0\"/>',r[r.length]=\"</a:gradFill>\",r[r.length]=\"</a:fillStyleLst>\",r[r.length]=\"<a:lnStyleLst>\",r[r.length]='<a:ln w=\"9525\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"><a:shade val=\"95000\"/><a:satMod val=\"105000\"/></a:schemeClr></a:solidFill><a:prstDash val=\"solid\"/></a:ln>',r[r.length]='<a:ln w=\"25400\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/></a:ln>',r[r.length]='<a:ln w=\"38100\" cap=\"flat\" cmpd=\"sng\" algn=\"ctr\"><a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill><a:prstDash val=\"solid\"/></a:ln>',r[r.length]=\"</a:lnStyleLst>\",r[r.length]=\"<a:effectStyleLst>\",r[r.length]=\"<a:effectStyle>\",r[r.length]=\"<a:effectLst>\",r[r.length]='<a:outerShdw blurRad=\"40000\" dist=\"20000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"38000\"/></a:srgbClr></a:outerShdw>',r[r.length]=\"</a:effectLst>\",r[r.length]=\"</a:effectStyle>\",r[r.length]=\"<a:effectStyle>\",r[r.length]=\"<a:effectLst>\",r[r.length]='<a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"35000\"/></a:srgbClr></a:outerShdw>',r[r.length]=\"</a:effectLst>\",r[r.length]=\"</a:effectStyle>\",r[r.length]=\"<a:effectStyle>\",r[r.length]=\"<a:effectLst>\",r[r.length]='<a:outerShdw blurRad=\"40000\" dist=\"23000\" dir=\"5400000\" rotWithShape=\"0\"><a:srgbClr val=\"000000\"><a:alpha val=\"35000\"/></a:srgbClr></a:outerShdw>',r[r.length]=\"</a:effectLst>\",r[r.length]='<a:scene3d><a:camera prst=\"orthographicFront\"><a:rot lat=\"0\" lon=\"0\" rev=\"0\"/></a:camera><a:lightRig rig=\"threePt\" dir=\"t\"><a:rot lat=\"0\" lon=\"0\" rev=\"1200000\"/></a:lightRig></a:scene3d>',r[r.length]='<a:sp3d><a:bevelT w=\"63500\" h=\"25400\"/></a:sp3d>',r[r.length]=\"</a:effectStyle>\",r[r.length]=\"</a:effectStyleLst>\",r[r.length]=\"<a:bgFillStyleLst>\",r[r.length]='<a:solidFill><a:schemeClr val=\"phClr\"/></a:solidFill>',r[r.length]='<a:gradFill rotWithShape=\"1\">',r[r.length]=\"<a:gsLst>\",r[r.length]='<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"40000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"40000\"><a:schemeClr val=\"phClr\"><a:tint val=\"45000\"/><a:shade val=\"99000\"/><a:satMod val=\"350000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"20000\"/><a:satMod val=\"255000\"/></a:schemeClr></a:gs>',r[r.length]=\"</a:gsLst>\",r[r.length]='<a:path path=\"circle\"><a:fillToRect l=\"50000\" t=\"-80000\" r=\"50000\" b=\"180000\"/></a:path>',r[r.length]=\"</a:gradFill>\",r[r.length]='<a:gradFill rotWithShape=\"1\">',r[r.length]=\"<a:gsLst>\",r[r.length]='<a:gs pos=\"0\"><a:schemeClr val=\"phClr\"><a:tint val=\"80000\"/><a:satMod val=\"300000\"/></a:schemeClr></a:gs>',r[r.length]='<a:gs pos=\"100000\"><a:schemeClr val=\"phClr\"><a:shade val=\"30000\"/><a:satMod val=\"200000\"/></a:schemeClr></a:gs>',r[r.length]=\"</a:gsLst>\",r[r.length]='<a:path path=\"circle\"><a:fillToRect l=\"50000\" t=\"50000\" r=\"50000\" b=\"50000\"/></a:path>',r[r.length]=\"</a:gradFill>\",r[r.length]=\"</a:bgFillStyleLst>\",r[r.length]=\"</a:fmtScheme>\",r[r.length]=\"</a:themeElements>\",r[r.length]=\"<a:objectDefaults>\",r[r.length]=\"<a:spDef>\",r[r.length]='<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\"1\"><a:schemeClr val=\"accent1\"/></a:lnRef><a:fillRef idx=\"3\"><a:schemeClr val=\"accent1\"/></a:fillRef><a:effectRef idx=\"2\"><a:schemeClr val=\"accent1\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"lt1\"/></a:fontRef></a:style>',r[r.length]=\"</a:spDef>\",r[r.length]=\"<a:lnDef>\",r[r.length]='<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\"2\"><a:schemeClr val=\"accent1\"/></a:lnRef><a:fillRef idx=\"0\"><a:schemeClr val=\"accent1\"/></a:fillRef><a:effectRef idx=\"1\"><a:schemeClr val=\"accent1\"/></a:effectRef><a:fontRef idx=\"minor\"><a:schemeClr val=\"tx1\"/></a:fontRef></a:style>',r[r.length]=\"</a:lnDef>\",r[r.length]=\"</a:objectDefaults>\",r[r.length]=\"<a:extraClrSchemeLst/>\",r[r.length]=\"</a:theme>\",r.join(\"\")}function Gc(e,t){return{flags:e.read_shift(4),version:e.read_shift(4),name:Ke(e,t-8)}}function zc(e){var t=b(12+2*e.name.length);return t.write_shift(4,e.flags),t.write_shift(4,e.version),Be(e.name,t),t.slice(0,t.l)}function \\$c(e){for(var t=[],r=e.read_shift(4);r-- >0;)t.push([e.read_shift(4),e.read_shift(4)]);return t}function Kc(e){var t=b(4+8*e.length);t.write_shift(4,e.length);for(var r=0;r<e.length;++r)t.write_shift(4,e[r][0]),t.write_shift(4,e[r][1]);return t}function jc(e,t){var r=b(8+2*t.length);return r.write_shift(4,e),Be(t,r),r.slice(0,r.l)}function Yc(e){return e.l+=4,e.read_shift(4)!=0}function Jc(e,t){var r=b(8);return r.write_shift(4,e),r.write_shift(4,t?1:0),r}function qc(){var e=rr();return H(e,332),H(e,334,gr(1)),H(e,335,zc({name:\"XLDAPR\",version:12e4,flags:3496657072})),H(e,336),H(e,339,jc(1,\"XLDAPR\")),H(e,52),H(e,35,gr(514)),H(e,4096,gr(0)),H(e,4097,ur(1)),H(e,36),H(e,53),H(e,340),H(e,337,Jc(1,!0)),H(e,51,Kc([[1,0]])),H(e,338),H(e,333),e.end()}function fi(){var e=[Oe];return e.push(\\`<metadata xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:xlrd=\"http://schemas.microsoft.com/office/spreadsheetml/2017/richdata\" xmlns:xda=\"http://schemas.microsoft.com/office/spreadsheetml/2017/dynamicarray\">\n <metadataTypes count=\"1\">\n <metadataType name=\"XLDAPR\" minSupportedVersion=\"120000\" copy=\"1\" pasteAll=\"1\" pasteValues=\"1\" merge=\"1\" splitFirst=\"1\" rowColShift=\"1\" clearFormats=\"1\" clearComments=\"1\" assign=\"1\" coerce=\"1\" cellMeta=\"1\"/>\n </metadataTypes>\n <futureMetadata name=\"XLDAPR\" count=\"1\">\n <bk>\n <extLst>\n <ext uri=\"{bdbb8cdc-fa1e-496e-a857-3c3f30c029c3}\">\n <xda:dynamicArrayProperties fDynamic=\"1\" fCollapsed=\"0\"/>\n </ext>\n </extLst>\n </bk>\n </futureMetadata>\n <cellMetadata count=\"1\">\n <bk>\n <rc t=\"1\" v=\"0\"/>\n </bk>\n </cellMetadata>\n</metadata>\\`),e.join(\"\")}function Zc(e){var t={};t.i=e.read_shift(4);var r={};r.r=e.read_shift(4),r.c=e.read_shift(4),t.r=ge(r);var a=e.read_shift(1);return a&2&&(t.l=\"1\"),a&8&&(t.a=\"1\"),t}var it=1024;function ci(e,t){for(var r=[21600,21600],a=[\"m0,0l0\",r[1],r[0],r[1],r[0],\"0xe\"].join(\",\"),n=[j(\"xml\",null,{\"xmlns:v\":fr.v,\"xmlns:o\":fr.o,\"xmlns:x\":fr.x,\"xmlns:mv\":fr.mv}).replace(/\\\\/>/,\">\"),j(\"o:shapelayout\",j(\"o:idmap\",null,{\"v:ext\":\"edit\",data:e}),{\"v:ext\":\"edit\"}),j(\"v:shapetype\",[j(\"v:stroke\",null,{joinstyle:\"miter\"}),j(\"v:path\",null,{gradientshapeok:\"t\",\"o:connecttype\":\"rect\"})].join(\"\"),{id:\"_x0000_t202\",\"o:spt\":202,coordsize:r.join(\",\"),path:a})];it<e*1e3;)it+=1e3;return t.forEach(function(i){var s=Le(i[0]),f={color2:\"#BEFF82\",type:\"gradient\"};f.type==\"gradient\"&&(f.angle=\"-180\");var o=f.type==\"gradient\"?j(\"o:fill\",null,{type:\"gradientUnscaled\",\"v:ext\":\"view\"}):null,c=j(\"v:fill\",o,f),l={on:\"t\",obscured:\"t\"};++it,n=n.concat([\"<v:shape\"+Rt({id:\"_x0000_s\"+it,type:\"#_x0000_t202\",style:\"position:absolute; margin-left:80pt;margin-top:5pt;width:104pt;height:64pt;z-index:10\"+(i[1].hidden?\";visibility:hidden\":\"\"),fillcolor:\"#ECFAD4\",strokecolor:\"#edeaa1\"})+\">\",c,j(\"v:shadow\",null,l),j(\"v:path\",null,{\"o:connecttype\":\"none\"}),'<v:textbox><div style=\"text-align:left\"></div></v:textbox>','<x:ClientData ObjectType=\"Note\">',\"<x:MoveWithCells/>\",\"<x:SizeWithCells/>\",Xe(\"x:Anchor\",[s.c+1,0,s.r+1,0,s.c+3,20,s.r+5,20].join(\",\")),Xe(\"x:AutoFill\",\"False\"),Xe(\"x:Row\",String(s.r)),Xe(\"x:Column\",String(s.c)),i[1].hidden?\"\":\"<x:Visible/>\",\"</x:ClientData>\",\"</v:shape>\"])}),n.push(\"</xml>\"),n.join(\"\")}function oi(e){var t=[Oe,j(\"comments\",null,{xmlns:xt[0]})],r=[];return t.push(\"<authors>\"),e.forEach(function(a){a[1].forEach(function(n){var i=me(n.a);r.indexOf(i)==-1&&(r.push(i),t.push(\"<author>\"+i+\"</author>\")),n.T&&n.ID&&r.indexOf(\"tc=\"+n.ID)==-1&&(r.push(\"tc=\"+n.ID),t.push(\"<author>tc=\"+n.ID+\"</author>\"))})}),r.length==0&&(r.push(\"SheetJ5\"),t.push(\"<author>SheetJ5</author>\")),t.push(\"</authors>\"),t.push(\"<commentList>\"),e.forEach(function(a){var n=0,i=[];if(a[1][0]&&a[1][0].T&&a[1][0].ID?n=r.indexOf(\"tc=\"+a[1][0].ID):a[1].forEach(function(o){o.a&&(n=r.indexOf(me(o.a))),i.push(o.t||\"\")}),t.push('<comment ref=\"'+a[0]+'\" authorId=\"'+n+'\"><text>'),i.length<=1)t.push(Xe(\"t\",me(i[0]||\"\")));else{for(var s=\\`Comment:\n \\`+i[0]+\\`\n\\`,f=1;f<i.length;++f)s+=\\`Reply:\n \\`+i[f]+\\`\n\\`;t.push(Xe(\"t\",me(s)))}t.push(\"</text></comment>\")}),t.push(\"</commentList>\"),t.length>2&&(t[t.length]=\"</comments>\",t[1]=t[1].replace(\"/>\",\">\")),t.join(\"\")}function Qc(e,t,r){var a=[Oe,j(\"ThreadedComments\",null,{xmlns:Pe.TCMNT}).replace(/[\\\\/]>/,\">\")];return e.forEach(function(n){var i=\"\";(n[1]||[]).forEach(function(s,f){if(!s.T){delete s.ID;return}s.a&&t.indexOf(s.a)==-1&&t.push(s.a);var o={ref:n[0],id:\"{54EE7951-7262-4200-6969-\"+(\"000000000000\"+r.tcid++).slice(-12)+\"}\"};f==0?i=o.id:o.parentId=i,s.ID=o.id,s.a&&(o.personId=\"{54EE7950-7262-4200-6969-\"+(\"000000000000\"+t.indexOf(s.a)).slice(-12)+\"}\"),a.push(j(\"threadedComment\",Xe(\"text\",s.t||\"\"),o))})}),a.push(\"</ThreadedComments>\"),a.join(\"\")}function eo(e){var t=[Oe,j(\"personList\",null,{xmlns:Pe.TCMNT,\"xmlns:x\":xt[0]}).replace(/[\\\\/]>/,\">\")];return e.forEach(function(r,a){t.push(j(\"person\",null,{displayName:r,id:\"{54EE7950-7262-4200-6969-\"+(\"000000000000\"+a).slice(-12)+\"}\",userId:r,providerId:\"None\"}))}),t.push(\"</personList>\"),t.join(\"\")}function ro(e){var t={};t.iauthor=e.read_shift(4);var r=Qr(e,16);return t.rfx=r.s,t.ref=ge(r.s),e.l+=16,t}function to(e,t){return t==null&&(t=b(36)),t.write_shift(4,e[1].iauthor),pt(e[0],t),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t}var ao=Ke;function no(e){return Be(e.slice(0,54))}function io(e){var t=rr(),r=[];return H(t,628),H(t,630),e.forEach(function(a){a[1].forEach(function(n){r.indexOf(n.a)>-1||(r.push(n.a.slice(0,54)),H(t,632,no(n.a)))})}),H(t,631),H(t,633),e.forEach(function(a){a[1].forEach(function(n){n.iauthor=r.indexOf(n.a);var i={s:Le(a[0]),e:Le(a[0])};H(t,635,to([i,n])),n.t&&n.t.length>0&&H(t,637,ff(n)),H(t,636),delete n.iauthor})}),H(t,634),H(t,629),t.end()}function so(e,t){t.FullPaths.forEach(function(r,a){if(a!=0){var n=r.replace(/[^\\\\/]*[\\\\/]/,\"/_VBA_PROJECT_CUR/\");n.slice(-1)!==\"/\"&&we.utils.cfb_add(e,n,t.FileIndex[a].content)}})}var li=[\"xlsb\",\"xlsm\",\"xlam\",\"biff8\",\"xla\"];var fo=(function(){var e=/(^|[^A-Za-z_])R(\\\\[?-?\\\\d+\\\\]|[1-9]\\\\d*|)C(\\\\[?-?\\\\d+\\\\]|[1-9]\\\\d*|)(?![A-Za-z0-9_])/g,t={r:0,c:0};function r(a,n,i,s){var f=!1,o=!1;i.length==0?o=!0:i.charAt(0)==\"[\"&&(o=!0,i=i.slice(1,-1)),s.length==0?f=!0:s.charAt(0)==\"[\"&&(f=!0,s=s.slice(1,-1));var c=i.length>0?parseInt(i,10)|0:0,l=s.length>0?parseInt(s,10)|0:0;return f?l+=t.c:--l,o?c+=t.r:--c,n+(f?\"\":\"\\$\")+\\$e(l)+(o?\"\":\"\\$\")+Ge(c)}return function(n,i){return t=i,n.replace(e,r)}})(),t0=/(^|[^._A-Z0-9])([\\$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([\\$]?)(10[0-3]\\\\d{4}|104[0-7]\\\\d{3}|1048[0-4]\\\\d{2}|10485[0-6]\\\\d|104857[0-6]|[1-9]\\\\d{0,5})(?![_.\\\\(A-Za-z0-9])/g,a0=(function(){return function(t,r){return t.replace(t0,function(a,n,i,s,f,o){var c=Ja(s)-(i?0:r.c),l=Ya(o)-(f?0:r.r),v=l==0?\"\":f?l+1:\"[\"+l+\"]\",h=c==0?\"\":i?c+1:\"[\"+c+\"]\";return n+\"R\"+v+\"C\"+h})}})();function co(e,t){return e.replace(t0,function(r,a,n,i,s,f){return a+(n==\"\\$\"?n+i:\\$e(Ja(i)+t.c))+(s==\"\\$\"?s+f:Ge(Ya(f)+t.r))})}function oo(e){return e.length!=1}function Ce(e){e.l+=1}function Br(e,t){var r=e.read_shift(t==1?1:2);return[r&16383,r>>14&1,r>>15&1]}function ui(e,t,r){var a=2;if(r){if(r.biff>=2&&r.biff<=5)return hi(e,t,r);r.biff==12&&(a=4)}var n=e.read_shift(a),i=e.read_shift(a),s=Br(e,2),f=Br(e,2);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:i,c:f[0],cRel:f[1],rRel:f[2]}}}function hi(e){var t=Br(e,2),r=Br(e,2),a=e.read_shift(1),n=e.read_shift(1);return{s:{r:t[0],c:a,cRel:t[1],rRel:t[2]},e:{r:r[0],c:n,cRel:r[1],rRel:r[2]}}}function lo(e,t,r){if(r.biff<8)return hi(e,t,r);var a=e.read_shift(r.biff==12?4:2),n=e.read_shift(r.biff==12?4:2),i=Br(e,2),s=Br(e,2);return{s:{r:a,c:i[0],cRel:i[1],rRel:i[2]},e:{r:n,c:s[0],cRel:s[1],rRel:s[2]}}}function xi(e,t,r){if(r&&r.biff>=2&&r.biff<=5)return uo(e,t,r);var a=e.read_shift(r&&r.biff==12?4:2),n=Br(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function uo(e){var t=Br(e,2),r=e.read_shift(1);return{r:t[0],c:r,cRel:t[1],rRel:t[2]}}function ho(e){var t=e.read_shift(2),r=e.read_shift(2);return{r:t,c:r&255,fQuoted:!!(r&16384),cRel:r>>15,rRel:r>>15}}function xo(e,t,r){var a=r&&r.biff?r.biff:8;if(a>=2&&a<=5)return vo(e,t,r);var n=e.read_shift(a>=12?4:2),i=e.read_shift(2),s=(i&16384)>>14,f=(i&32768)>>15;if(i&=16383,f==1)for(;n>524287;)n-=1048576;if(s==1)for(;i>8191;)i=i-16384;return{r:n,c:i,cRel:s,rRel:f}}function vo(e){var t=e.read_shift(2),r=e.read_shift(1),a=(t&32768)>>15,n=(t&16384)>>14;return t&=16383,a==1&&t>=8192&&(t=t-16384),n==1&&r>=128&&(r=r-256),{r:t,c:r,cRel:n,rRel:a}}function po(e,t,r){var a=(e[e.l++]&96)>>5,n=ui(e,r.biff>=2&&r.biff<=5?6:8,r);return[a,n]}function mo(e,t,r){var a=(e[e.l++]&96)>>5,n=e.read_shift(2,\"i\"),i=8;if(r)switch(r.biff){case 5:e.l+=12,i=6;break;case 12:i=12;break}var s=ui(e,i,r);return[a,n,s]}function go(e,t,r){var a=(e[e.l++]&96)>>5;return e.l+=r&&r.biff>8?12:r.biff<8?6:8,[a]}function _o(e,t,r){var a=(e[e.l++]&96)>>5,n=e.read_shift(2),i=8;if(r)switch(r.biff){case 5:e.l+=12,i=6;break;case 12:i=12;break}return e.l+=i,[a,n]}function wo(e,t,r){var a=(e[e.l++]&96)>>5,n=lo(e,t-1,r);return[a,n]}function ko(e,t,r){var a=(e[e.l++]&96)>>5;return e.l+=r.biff==2?6:r.biff==12?14:7,[a]}function Q0(e){var t=e[e.l+1]&1,r=1;return e.l+=4,[t,r]}function Eo(e,t,r){e.l+=2;for(var a=e.read_shift(r&&r.biff==2?1:2),n=[],i=0;i<=a;++i)n.push(e.read_shift(r&&r.biff==2?1:2));return n}function To(e,t,r){var a=e[e.l+1]&255?1:0;return e.l+=2,[a,e.read_shift(r&&r.biff==2?1:2)]}function So(e,t,r){var a=e[e.l+1]&255?1:0;return e.l+=2,[a,e.read_shift(r&&r.biff==2?1:2)]}function Fo(e){var t=e[e.l+1]&255?1:0;return e.l+=2,[t,e.read_shift(2)]}function yo(e,t,r){var a=e[e.l+1]&255?1:0;return e.l+=r&&r.biff==2?3:4,[a]}function di(e){var t=e.read_shift(1),r=e.read_shift(1);return[t,r]}function Ao(e){return e.read_shift(2),di(e,2)}function Co(e){return e.read_shift(2),di(e,2)}function Do(e,t,r){var a=(e[e.l]&96)>>5;e.l+=1;var n=xi(e,0,r);return[a,n]}function Oo(e,t,r){var a=(e[e.l]&96)>>5;e.l+=1;var n=xo(e,0,r);return[a,n]}function Io(e,t,r){var a=(e[e.l]&96)>>5;e.l+=1;var n=e.read_shift(2);r&&r.biff==5&&(e.l+=12);var i=xi(e,0,r);return[a,n,i]}function Ro(e,t,r){var a=(e[e.l]&96)>>5;e.l+=1;var n=e.read_shift(r&&r.biff<=3?1:2);return[Rl[n],mi[n],a]}function No(e,t,r){var a=e[e.l++],n=e.read_shift(1),i=r&&r.biff<=3?[a==88?-1:0,e.read_shift(1)]:bo(e);return[n,(i[0]===0?mi:Il)[i[1]]]}function bo(e){return[e[e.l+1]>>7,e.read_shift(2)&32767]}function Po(e,t,r){e.l+=r&&r.biff==2?3:4}function Lo(e,t,r){if(e.l++,r&&r.biff==12)return[e.read_shift(4,\"i\"),0];var a=e.read_shift(2),n=e.read_shift(r&&r.biff==2?1:2);return[a,n]}function Bo(e){return e.l++,Bt[e.read_shift(1)]}function Mo(e){return e.l++,e.read_shift(2)}function Uo(e){return e.l++,e.read_shift(1)!==0}function Wo(e){return e.l++,mt(e,8)}function Ho(e,t,r){return e.l++,Jn(e,t-1,r)}function Vo(e,t){var r=[e.read_shift(1)];if(t==12)switch(r[0]){case 2:r[0]=4;break;case 4:r[0]=16;break;case 0:r[0]=1;break;case 1:r[0]=2;break}switch(r[0]){case 4:r[1]=Of(e,1)?\"TRUE\":\"FALSE\",t!=12&&(e.l+=7);break;case 37:case 16:r[1]=Bt[e[e.l]],e.l+=t==12?4:8;break;case 0:e.l+=8;break;case 1:r[1]=mt(e,8);break;case 2:r[1]=bf(e,0,{biff:t>0&&t<8?2:t});break;default:throw new Error(\"Bad SerAr: \"+r[0])}return r}function Xo(e,t,r){for(var a=e.read_shift(r.biff==12?4:2),n=[],i=0;i!=a;++i)n.push((r.biff==12?Qr:Bf)(e,8));return n}function Go(e,t,r){var a=0,n=0;r.biff==12?(a=e.read_shift(4),n=e.read_shift(4)):(n=1+e.read_shift(1),a=1+e.read_shift(2)),r.biff>=2&&r.biff<8&&(--a,--n==0&&(n=256));for(var i=0,s=[];i!=a&&(s[i]=[]);++i)for(var f=0;f!=n;++f)s[i][f]=Vo(e,r.biff);return s}function zo(e,t,r){var a=e.read_shift(1)>>>5&3,n=!r||r.biff>=8?4:2,i=e.read_shift(n);switch(r.biff){case 2:e.l+=5;break;case 3:case 4:e.l+=8;break;case 5:e.l+=12;break}return[a,0,i]}function \\$o(e,t,r){if(r.biff==5)return Ko(e,t,r);var a=e.read_shift(1)>>>5&3,n=e.read_shift(2),i=e.read_shift(4);return[a,n,i]}function Ko(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2,\"i\");e.l+=8;var a=e.read_shift(2);return e.l+=12,[t,r,a]}function jo(e,t,r){var a=e.read_shift(1)>>>5&3;e.l+=r&&r.biff==2?3:4;var n=e.read_shift(r&&r.biff==2?1:2);return[a,n]}function Yo(e,t,r){var a=e.read_shift(1)>>>5&3,n=e.read_shift(r&&r.biff==2?1:2);return[a,n]}function Jo(e,t,r){var a=e.read_shift(1)>>>5&3;return e.l+=4,r.biff<8&&e.l--,r.biff==12&&(e.l+=2),[a]}function qo(e,t,r){var a=(e[e.l++]&96)>>5,n=e.read_shift(2),i=4;if(r)switch(r.biff){case 5:i=15;break;case 12:i=6;break}return e.l+=i,[a,n]}var Zo=Tr,Qo=Tr,el=Tr;function Mt(e,t,r){return e.l+=2,[ho(e,4,r)]}function n0(e){return e.l+=6,[]}var rl=Mt,tl=n0,al=n0,nl=Mt;function vi(e){return e.l+=2,[jn(e),e.read_shift(2)&1]}var il=Mt,sl=vi,fl=n0,cl=Mt,ol=Mt,ll=[\"Data\",\"All\",\"Headers\",\"??\",\"?Data2\",\"??\",\"?DataHeaders\",\"??\",\"Totals\",\"??\",\"??\",\"??\",\"?DataTotals\",\"??\",\"??\",\"??\",\"?Current\"];function ul(e){e.l+=2;var t=e.read_shift(2),r=e.read_shift(2),a=e.read_shift(4),n=e.read_shift(2),i=e.read_shift(2),s=ll[r>>2&31];return{ixti:t,coltype:r&3,rt:s,idx:a,c:n,C:i}}function hl(e){return e.l+=2,[e.read_shift(4)]}function xl(e,t,r){return e.l+=5,e.l+=2,e.l+=r.biff==2?1:4,[\"PTGSHEET\"]}function dl(e,t,r){return e.l+=r.biff==2?4:5,[\"PTGENDSHEET\"]}function vl(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2);return[t,r]}function pl(e){var t=e.read_shift(1)>>>5&3,r=e.read_shift(2);return[t,r]}function ml(e){return e.l+=4,[0,0]}var en={1:{n:\"PtgExp\",f:Lo},2:{n:\"PtgTbl\",f:el},3:{n:\"PtgAdd\",f:Ce},4:{n:\"PtgSub\",f:Ce},5:{n:\"PtgMul\",f:Ce},6:{n:\"PtgDiv\",f:Ce},7:{n:\"PtgPower\",f:Ce},8:{n:\"PtgConcat\",f:Ce},9:{n:\"PtgLt\",f:Ce},10:{n:\"PtgLe\",f:Ce},11:{n:\"PtgEq\",f:Ce},12:{n:\"PtgGe\",f:Ce},13:{n:\"PtgGt\",f:Ce},14:{n:\"PtgNe\",f:Ce},15:{n:\"PtgIsect\",f:Ce},16:{n:\"PtgUnion\",f:Ce},17:{n:\"PtgRange\",f:Ce},18:{n:\"PtgUplus\",f:Ce},19:{n:\"PtgUminus\",f:Ce},20:{n:\"PtgPercent\",f:Ce},21:{n:\"PtgParen\",f:Ce},22:{n:\"PtgMissArg\",f:Ce},23:{n:\"PtgStr\",f:Ho},26:{n:\"PtgSheet\",f:xl},27:{n:\"PtgEndSheet\",f:dl},28:{n:\"PtgErr\",f:Bo},29:{n:\"PtgBool\",f:Uo},30:{n:\"PtgInt\",f:Mo},31:{n:\"PtgNum\",f:Wo},32:{n:\"PtgArray\",f:ko},33:{n:\"PtgFunc\",f:Ro},34:{n:\"PtgFuncVar\",f:No},35:{n:\"PtgName\",f:zo},36:{n:\"PtgRef\",f:Do},37:{n:\"PtgArea\",f:po},38:{n:\"PtgMemArea\",f:jo},39:{n:\"PtgMemErr\",f:Zo},40:{n:\"PtgMemNoMem\",f:Qo},41:{n:\"PtgMemFunc\",f:Yo},42:{n:\"PtgRefErr\",f:Jo},43:{n:\"PtgAreaErr\",f:go},44:{n:\"PtgRefN\",f:Oo},45:{n:\"PtgAreaN\",f:wo},46:{n:\"PtgMemAreaN\",f:vl},47:{n:\"PtgMemNoMemN\",f:pl},57:{n:\"PtgNameX\",f:\\$o},58:{n:\"PtgRef3d\",f:Io},59:{n:\"PtgArea3d\",f:mo},60:{n:\"PtgRefErr3d\",f:qo},61:{n:\"PtgAreaErr3d\",f:_o},255:{}},gl={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61},_l={1:{n:\"PtgElfLel\",f:vi},2:{n:\"PtgElfRw\",f:cl},3:{n:\"PtgElfCol\",f:rl},6:{n:\"PtgElfRwV\",f:ol},7:{n:\"PtgElfColV\",f:nl},10:{n:\"PtgElfRadical\",f:il},11:{n:\"PtgElfRadicalS\",f:fl},13:{n:\"PtgElfColS\",f:tl},15:{n:\"PtgElfColSV\",f:al},16:{n:\"PtgElfRadicalLel\",f:sl},25:{n:\"PtgList\",f:ul},29:{n:\"PtgSxName\",f:hl},255:{}},wl={0:{n:\"PtgAttrNoop\",f:ml},1:{n:\"PtgAttrSemi\",f:yo},2:{n:\"PtgAttrIf\",f:So},4:{n:\"PtgAttrChoose\",f:Eo},8:{n:\"PtgAttrGoto\",f:To},16:{n:\"PtgAttrSum\",f:Po},32:{n:\"PtgAttrBaxcel\",f:Q0},33:{n:\"PtgAttrBaxcel\",f:Q0},64:{n:\"PtgAttrSpace\",f:Ao},65:{n:\"PtgAttrSpaceSemi\",f:Co},128:{n:\"PtgAttrIfError\",f:Fo},255:{}};function kl(e,t,r,a){if(a.biff<8)return Tr(e,t);for(var n=e.l+t,i=[],s=0;s!==r.length;++s)switch(r[s][0]){case\"PtgArray\":r[s][1]=Go(e,0,a),i.push(r[s][1]);break;case\"PtgMemArea\":r[s][2]=Xo(e,r[s][1],a),i.push(r[s][2]);break;case\"PtgExp\":a&&a.biff==12&&(r[s][1][1]=e.read_shift(4),i.push(r[s][1]));break;case\"PtgList\":case\"PtgElfRadicalS\":case\"PtgElfColS\":case\"PtgElfColSV\":throw\"Unsupported \"+r[s][0];default:break}return t=n-e.l,t!==0&&i.push(Tr(e,t)),i}function El(e,t,r){for(var a=e.l+t,n,i,s=[];a!=e.l;)t=a-e.l,i=e[e.l],n=en[i]||en[gl[i]],(i===24||i===25)&&(n=(i===24?_l:wl)[e[e.l+1]]),!n||!n.f?Tr(e,t):s.push([n.n,n.f(e,t,r)]);return s}function Tl(e){for(var t=[],r=0;r<e.length;++r){for(var a=e[r],n=[],i=0;i<a.length;++i){var s=a[i];s?s[0]===2?n.push('\"'+s[1].replace(/\"/g,'\"\"')+'\"'):n.push(s[1]):n.push(\"\")}t.push(n.join(\",\"))}return t.join(\";\")}var Sl={PtgAdd:\"+\",PtgConcat:\"&\",PtgDiv:\"/\",PtgEq:\"=\",PtgGe:\">=\",PtgGt:\">\",PtgLe:\"<=\",PtgLt:\"<\",PtgMul:\"*\",PtgNe:\"<>\",PtgPower:\"^\",PtgSub:\"-\"};function Fl(e,t){if(!e&&!(t&&t.biff<=5&&t.biff>=2))throw new Error(\"empty sheet name\");return/[^\\\\w\\\\u4E00-\\\\u9FFF\\\\u3040-\\\\u30FF]/.test(e)?\"'\"+e+\"'\":e}function pi(e,t,r){if(!e)return\"SH33TJSERR0\";if(r.biff>8&&(!e.XTI||!e.XTI[t]))return e.SheetNames[t];if(!e.XTI)return\"SH33TJSERR6\";var a=e.XTI[t];if(r.biff<8)return t>1e4&&(t-=65536),t<0&&(t=-t),t==0?\"\":e.XTI[t-1];if(!a)return\"SH33TJSERR1\";var n=\"\";if(r.biff>8)switch(e[a[0]][0]){case 357:return n=a[1]==-1?\"#REF\":e.SheetNames[a[1]],a[1]==a[2]?n:n+\":\"+e.SheetNames[a[2]];case 358:return r.SID!=null?e.SheetNames[r.SID]:\"SH33TJSSAME\"+e[a[0]][0];default:return\"SH33TJSSRC\"+e[a[0]][0]}switch(e[a[0]][0][0]){case 1025:return n=a[1]==-1?\"#REF\":e.SheetNames[a[1]]||\"SH33TJSERR3\",a[1]==a[2]?n:n+\":\"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(i){return i.Name}).join(\";;\");default:return e[a[0]][0][3]?(n=a[1]==-1?\"#REF\":e[a[0]][0][3][a[1]]||\"SH33TJSERR4\",a[1]==a[2]?n:n+\":\"+e[a[0]][0][3][a[2]]):\"SH33TJSERR2\"}}function rn(e,t,r){var a=pi(e,t,r);return a==\"#REF\"?a:Fl(a,r)}function ht(e,t,r,a,n){var i=n&&n.biff||8,s={s:{c:0,r:0},e:{c:0,r:0}},f=[],o,c,l,v=0,h=0,d,_=\"\";if(!e[0]||!e[0][0])return\"\";for(var u=-1,g=\"\",y=0,C=e[0].length;y<C;++y){var D=e[0][y];switch(D[0]){case\"PtgUminus\":f.push(\"-\"+f.pop());break;case\"PtgUplus\":f.push(\"+\"+f.pop());break;case\"PtgPercent\":f.push(f.pop()+\"%\");break;case\"PtgAdd\":case\"PtgConcat\":case\"PtgDiv\":case\"PtgEq\":case\"PtgGe\":case\"PtgGt\":case\"PtgLe\":case\"PtgLt\":case\"PtgMul\":case\"PtgNe\":case\"PtgPower\":case\"PtgSub\":if(o=f.pop(),c=f.pop(),u>=0){switch(e[0][u][1][0]){case 0:g=Fe(\" \",e[0][u][1][1]);break;case 1:g=Fe(\"\\\\r\",e[0][u][1][1]);break;default:if(g=\"\",n.WTF)throw new Error(\"Unexpected PtgAttrSpaceType \"+e[0][u][1][0])}c=c+g,u=-1}f.push(c+Sl[D[0]]+o);break;case\"PtgIsect\":o=f.pop(),c=f.pop(),f.push(c+\" \"+o);break;case\"PtgUnion\":o=f.pop(),c=f.pop(),f.push(c+\",\"+o);break;case\"PtgRange\":o=f.pop(),c=f.pop(),f.push(c+\":\"+o);break;case\"PtgAttrChoose\":break;case\"PtgAttrGoto\":break;case\"PtgAttrIf\":break;case\"PtgAttrIfError\":break;case\"PtgRef\":l=Ft(D[1][1],s,n),f.push(yt(l,i));break;case\"PtgRefN\":l=r?Ft(D[1][1],r,n):D[1][1],f.push(yt(l,i));break;case\"PtgRef3d\":v=D[1][1],l=Ft(D[1][2],s,n),_=rn(a,v,n);var B=_;f.push(_+\"!\"+yt(l,i));break;case\"PtgFunc\":case\"PtgFuncVar\":var G=D[1][0],te=D[1][1];G||(G=0),G&=127;var A=G==0?[]:f.slice(-G);f.length-=G,te===\"User\"&&(te=A.shift()),f.push(te+\"(\"+A.join(\",\")+\")\");break;case\"PtgBool\":f.push(D[1]?\"TRUE\":\"FALSE\");break;case\"PtgInt\":f.push(D[1]);break;case\"PtgNum\":f.push(String(D[1]));break;case\"PtgStr\":f.push('\"'+D[1].replace(/\"/g,'\"\"')+'\"');break;case\"PtgErr\":f.push(D[1]);break;case\"PtgAreaN\":d=U0(D[1][1],r?{s:r}:s,n),f.push(Aa(d,n));break;case\"PtgArea\":d=U0(D[1][1],s,n),f.push(Aa(d,n));break;case\"PtgArea3d\":v=D[1][1],d=D[1][2],_=rn(a,v,n),f.push(_+\"!\"+Aa(d,n));break;case\"PtgAttrSum\":f.push(\"SUM(\"+f.pop()+\")\");break;case\"PtgAttrBaxcel\":case\"PtgAttrSemi\":break;case\"PtgName\":h=D[1][2];var W=(a.names||[])[h-1]||(a[0]||[])[h],L=W?W.Name:\"SH33TJSNAME\"+String(h);L&&L.slice(0,6)==\"_xlfn.\"&&!n.xlfn&&(L=L.slice(6)),f.push(L);break;case\"PtgNameX\":var U=D[1][1];h=D[1][2];var X;if(n.biff<=5)U<0&&(U=-U),a[U]&&(X=a[U][h]);else{var z=\"\";if(((a[U]||[])[0]||[])[0]==14849||(((a[U]||[])[0]||[])[0]==1025?a[U][h]&&a[U][h].itab>0&&(z=a.SheetNames[a[U][h].itab-1]+\"!\"):z=a.SheetNames[h-1]+\"!\"),a[U]&&a[U][h])z+=a[U][h].Name;else if(a[0]&&a[0][h])z+=a[0][h].Name;else{var ie=(pi(a,U,n)||\"\").split(\";;\");ie[h-1]?z=ie[h-1]:z+=\"SH33TJSERRX\"}f.push(z);break}X||(X={Name:\"SH33TJSERRY\"}),f.push(X.Name);break;case\"PtgParen\":var de=\"(\",se=\")\";if(u>=0){switch(g=\"\",e[0][u][1][0]){case 2:de=Fe(\" \",e[0][u][1][1])+de;break;case 3:de=Fe(\"\\\\r\",e[0][u][1][1])+de;break;case 4:se=Fe(\" \",e[0][u][1][1])+se;break;case 5:se=Fe(\"\\\\r\",e[0][u][1][1])+se;break;default:if(n.WTF)throw new Error(\"Unexpected PtgAttrSpaceType \"+e[0][u][1][0])}u=-1}f.push(de+f.pop()+se);break;case\"PtgRefErr\":f.push(\"#REF!\");break;case\"PtgRefErr3d\":f.push(\"#REF!\");break;case\"PtgExp\":l={c:D[1][1],r:D[1][0]};var Re={c:r.c,r:r.r};if(a.sharedf[ge(l)]){var Ne=a.sharedf[ge(l)];f.push(ht(Ne,s,Re,a,n))}else{var Ze=!1;for(o=0;o!=a.arrayf.length;++o)if(c=a.arrayf[o],!(l.c<c[0].s.c||l.c>c[0].e.c)&&!(l.r<c[0].s.r||l.r>c[0].e.r)){f.push(ht(c[1],s,Re,a,n)),Ze=!0;break}Ze||f.push(D[1])}break;case\"PtgArray\":f.push(\"{\"+Tl(D[1])+\"}\");break;case\"PtgMemArea\":break;case\"PtgAttrSpace\":case\"PtgAttrSpaceSemi\":u=y;break;case\"PtgTbl\":break;case\"PtgMemErr\":break;case\"PtgMissArg\":f.push(\"\");break;case\"PtgAreaErr\":f.push(\"#REF!\");break;case\"PtgAreaErr3d\":f.push(\"#REF!\");break;case\"PtgList\":f.push(\"Table\"+D[1].idx+\"[#\"+D[1].rt+\"]\");break;case\"PtgMemAreaN\":case\"PtgMemNoMemN\":case\"PtgAttrNoop\":case\"PtgSheet\":case\"PtgEndSheet\":break;case\"PtgMemFunc\":break;case\"PtgMemNoMem\":break;case\"PtgElfCol\":case\"PtgElfColS\":case\"PtgElfColSV\":case\"PtgElfColV\":case\"PtgElfLel\":case\"PtgElfRadical\":case\"PtgElfRadicalLel\":case\"PtgElfRadicalS\":case\"PtgElfRw\":case\"PtgElfRwV\":throw new Error(\"Unsupported ELFs\");case\"PtgSxName\":throw new Error(\"Unrecognized Formula Token: \"+String(D));default:throw new Error(\"Unrecognized Formula Token: \"+String(D))}var je=[\"PtgAttrSpace\",\"PtgAttrSpaceSemi\",\"PtgAttrGoto\"];if(n.biff!=3&&u>=0&&je.indexOf(e[0][y][0])==-1){D=e[0][u];var Me=!0;switch(D[1][0]){case 4:Me=!1;case 0:g=Fe(\" \",D[1][1]);break;case 5:Me=!1;case 1:g=Fe(\"\\\\r\",D[1][1]);break;default:if(g=\"\",n.WTF)throw new Error(\"Unexpected PtgAttrSpaceType \"+D[1][0])}f.push((Me?g:\"\")+f.pop()+(Me?\"\":g)),u=-1}}if(f.length>1&&n.WTF)throw new Error(\"bad formula stack\");return f[0]}function yl(e){if(e==null){var t=b(8);return t.write_shift(1,3),t.write_shift(1,0),t.write_shift(2,0),t.write_shift(2,0),t.write_shift(2,65535),t}else if(typeof e==\"number\")return Kr(e);return Kr(0)}function Al(e,t,r,a,n){var i=jr(t,r,n),s=yl(e.v),f=b(6),o=33;f.write_shift(2,o),f.write_shift(4,0);for(var c=b(e.bf.length),l=0;l<e.bf.length;++l)c[l]=e.bf[l];var v=Ve([i,s,f,c]);return v}function pa(e,t,r){var a=e.read_shift(4),n=El(e,a,r),i=e.read_shift(4),s=i>0?kl(e,i,n,r):null;return[n,s]}var Cl=pa,ma=pa,Dl=pa,Ol=pa,Il={0:\"BEEP\",1:\"OPEN\",2:\"OPEN.LINKS\",3:\"CLOSE.ALL\",4:\"SAVE\",5:\"SAVE.AS\",6:\"FILE.DELETE\",7:\"PAGE.SETUP\",8:\"PRINT\",9:\"PRINTER.SETUP\",10:\"QUIT\",11:\"NEW.WINDOW\",12:\"ARRANGE.ALL\",13:\"WINDOW.SIZE\",14:\"WINDOW.MOVE\",15:\"FULL\",16:\"CLOSE\",17:\"RUN\",22:\"SET.PRINT.AREA\",23:\"SET.PRINT.TITLES\",24:\"SET.PAGE.BREAK\",25:\"REMOVE.PAGE.BREAK\",26:\"FONT\",27:\"DISPLAY\",28:\"PROTECT.DOCUMENT\",29:\"PRECISION\",30:\"A1.R1C1\",31:\"CALCULATE.NOW\",32:\"CALCULATION\",34:\"DATA.FIND\",35:\"EXTRACT\",36:\"DATA.DELETE\",37:\"SET.DATABASE\",38:\"SET.CRITERIA\",39:\"SORT\",40:\"DATA.SERIES\",41:\"TABLE\",42:\"FORMAT.NUMBER\",43:\"ALIGNMENT\",44:\"STYLE\",45:\"BORDER\",46:\"CELL.PROTECTION\",47:\"COLUMN.WIDTH\",48:\"UNDO\",49:\"CUT\",50:\"COPY\",51:\"PASTE\",52:\"CLEAR\",53:\"PASTE.SPECIAL\",54:\"EDIT.DELETE\",55:\"INSERT\",56:\"FILL.RIGHT\",57:\"FILL.DOWN\",61:\"DEFINE.NAME\",62:\"CREATE.NAMES\",63:\"FORMULA.GOTO\",64:\"FORMULA.FIND\",65:\"SELECT.LAST.CELL\",66:\"SHOW.ACTIVE.CELL\",67:\"GALLERY.AREA\",68:\"GALLERY.BAR\",69:\"GALLERY.COLUMN\",70:\"GALLERY.LINE\",71:\"GALLERY.PIE\",72:\"GALLERY.SCATTER\",73:\"COMBINATION\",74:\"PREFERRED\",75:\"ADD.OVERLAY\",76:\"GRIDLINES\",77:\"SET.PREFERRED\",78:\"AXES\",79:\"LEGEND\",80:\"ATTACH.TEXT\",81:\"ADD.ARROW\",82:\"SELECT.CHART\",83:\"SELECT.PLOT.AREA\",84:\"PATTERNS\",85:\"MAIN.CHART\",86:\"OVERLAY\",87:\"SCALE\",88:\"FORMAT.LEGEND\",89:\"FORMAT.TEXT\",90:\"EDIT.REPEAT\",91:\"PARSE\",92:\"JUSTIFY\",93:\"HIDE\",94:\"UNHIDE\",95:\"WORKSPACE\",96:\"FORMULA\",97:\"FORMULA.FILL\",98:\"FORMULA.ARRAY\",99:\"DATA.FIND.NEXT\",100:\"DATA.FIND.PREV\",101:\"FORMULA.FIND.NEXT\",102:\"FORMULA.FIND.PREV\",103:\"ACTIVATE\",104:\"ACTIVATE.NEXT\",105:\"ACTIVATE.PREV\",106:\"UNLOCKED.NEXT\",107:\"UNLOCKED.PREV\",108:\"COPY.PICTURE\",109:\"SELECT\",110:\"DELETE.NAME\",111:\"DELETE.FORMAT\",112:\"VLINE\",113:\"HLINE\",114:\"VPAGE\",115:\"HPAGE\",116:\"VSCROLL\",117:\"HSCROLL\",118:\"ALERT\",119:\"NEW\",120:\"CANCEL.COPY\",121:\"SHOW.CLIPBOARD\",122:\"MESSAGE\",124:\"PASTE.LINK\",125:\"APP.ACTIVATE\",126:\"DELETE.ARROW\",127:\"ROW.HEIGHT\",128:\"FORMAT.MOVE\",129:\"FORMAT.SIZE\",130:\"FORMULA.REPLACE\",131:\"SEND.KEYS\",132:\"SELECT.SPECIAL\",133:\"APPLY.NAMES\",134:\"REPLACE.FONT\",135:\"FREEZE.PANES\",136:\"SHOW.INFO\",137:\"SPLIT\",138:\"ON.WINDOW\",139:\"ON.DATA\",140:\"DISABLE.INPUT\",142:\"OUTLINE\",143:\"LIST.NAMES\",144:\"FILE.CLOSE\",145:\"SAVE.WORKBOOK\",146:\"DATA.FORM\",147:\"COPY.CHART\",148:\"ON.TIME\",149:\"WAIT\",150:\"FORMAT.FONT\",151:\"FILL.UP\",152:\"FILL.LEFT\",153:\"DELETE.OVERLAY\",155:\"SHORT.MENUS\",159:\"SET.UPDATE.STATUS\",161:\"COLOR.PALETTE\",162:\"DELETE.STYLE\",163:\"WINDOW.RESTORE\",164:\"WINDOW.MAXIMIZE\",166:\"CHANGE.LINK\",167:\"CALCULATE.DOCUMENT\",168:\"ON.KEY\",169:\"APP.RESTORE\",170:\"APP.MOVE\",171:\"APP.SIZE\",172:\"APP.MINIMIZE\",173:\"APP.MAXIMIZE\",174:\"BRING.TO.FRONT\",175:\"SEND.TO.BACK\",185:\"MAIN.CHART.TYPE\",186:\"OVERLAY.CHART.TYPE\",187:\"SELECT.END\",188:\"OPEN.MAIL\",189:\"SEND.MAIL\",190:\"STANDARD.FONT\",191:\"CONSOLIDATE\",192:\"SORT.SPECIAL\",193:\"GALLERY.3D.AREA\",194:\"GALLERY.3D.COLUMN\",195:\"GALLERY.3D.LINE\",196:\"GALLERY.3D.PIE\",197:\"VIEW.3D\",198:\"GOAL.SEEK\",199:\"WORKGROUP\",200:\"FILL.GROUP\",201:\"UPDATE.LINK\",202:\"PROMOTE\",203:\"DEMOTE\",204:\"SHOW.DETAIL\",206:\"UNGROUP\",207:\"OBJECT.PROPERTIES\",208:\"SAVE.NEW.OBJECT\",209:\"SHARE\",210:\"SHARE.NAME\",211:\"DUPLICATE\",212:\"APPLY.STYLE\",213:\"ASSIGN.TO.OBJECT\",214:\"OBJECT.PROTECTION\",215:\"HIDE.OBJECT\",216:\"SET.EXTRACT\",217:\"CREATE.PUBLISHER\",218:\"SUBSCRIBE.TO\",219:\"ATTRIBUTES\",220:\"SHOW.TOOLBAR\",222:\"PRINT.PREVIEW\",223:\"EDIT.COLOR\",224:\"SHOW.LEVELS\",225:\"FORMAT.MAIN\",226:\"FORMAT.OVERLAY\",227:\"ON.RECALC\",228:\"EDIT.SERIES\",229:\"DEFINE.STYLE\",240:\"LINE.PRINT\",243:\"ENTER.DATA\",249:\"GALLERY.RADAR\",250:\"MERGE.STYLES\",251:\"EDITION.OPTIONS\",252:\"PASTE.PICTURE\",253:\"PASTE.PICTURE.LINK\",254:\"SPELLING\",256:\"ZOOM\",259:\"INSERT.OBJECT\",260:\"WINDOW.MINIMIZE\",265:\"SOUND.NOTE\",266:\"SOUND.PLAY\",267:\"FORMAT.SHAPE\",268:\"EXTEND.POLYGON\",269:\"FORMAT.AUTO\",272:\"GALLERY.3D.BAR\",273:\"GALLERY.3D.SURFACE\",274:\"FILL.AUTO\",276:\"CUSTOMIZE.TOOLBAR\",277:\"ADD.TOOL\",278:\"EDIT.OBJECT\",279:\"ON.DOUBLECLICK\",280:\"ON.ENTRY\",281:\"WORKBOOK.ADD\",282:\"WORKBOOK.MOVE\",283:\"WORKBOOK.COPY\",284:\"WORKBOOK.OPTIONS\",285:\"SAVE.WORKSPACE\",288:\"CHART.WIZARD\",289:\"DELETE.TOOL\",290:\"MOVE.TOOL\",291:\"WORKBOOK.SELECT\",292:\"WORKBOOK.ACTIVATE\",293:\"ASSIGN.TO.TOOL\",295:\"COPY.TOOL\",296:\"RESET.TOOL\",297:\"CONSTRAIN.NUMERIC\",298:\"PASTE.TOOL\",302:\"WORKBOOK.NEW\",305:\"SCENARIO.CELLS\",306:\"SCENARIO.DELETE\",307:\"SCENARIO.ADD\",308:\"SCENARIO.EDIT\",309:\"SCENARIO.SHOW\",310:\"SCENARIO.SHOW.NEXT\",311:\"SCENARIO.SUMMARY\",312:\"PIVOT.TABLE.WIZARD\",313:\"PIVOT.FIELD.PROPERTIES\",314:\"PIVOT.FIELD\",315:\"PIVOT.ITEM\",316:\"PIVOT.ADD.FIELDS\",318:\"OPTIONS.CALCULATION\",319:\"OPTIONS.EDIT\",320:\"OPTIONS.VIEW\",321:\"ADDIN.MANAGER\",322:\"MENU.EDITOR\",323:\"ATTACH.TOOLBARS\",324:\"VBAActivate\",325:\"OPTIONS.CHART\",328:\"VBA.INSERT.FILE\",330:\"VBA.PROCEDURE.DEFINITION\",336:\"ROUTING.SLIP\",338:\"ROUTE.DOCUMENT\",339:\"MAIL.LOGON\",342:\"INSERT.PICTURE\",343:\"EDIT.TOOL\",344:\"GALLERY.DOUGHNUT\",350:\"CHART.TREND\",352:\"PIVOT.ITEM.PROPERTIES\",354:\"WORKBOOK.INSERT\",355:\"OPTIONS.TRANSITION\",356:\"OPTIONS.GENERAL\",370:\"FILTER.ADVANCED\",373:\"MAIL.ADD.MAILER\",374:\"MAIL.DELETE.MAILER\",375:\"MAIL.REPLY\",376:\"MAIL.REPLY.ALL\",377:\"MAIL.FORWARD\",378:\"MAIL.NEXT.LETTER\",379:\"DATA.LABEL\",380:\"INSERT.TITLE\",381:\"FONT.PROPERTIES\",382:\"MACRO.OPTIONS\",383:\"WORKBOOK.HIDE\",384:\"WORKBOOK.UNHIDE\",385:\"WORKBOOK.DELETE\",386:\"WORKBOOK.NAME\",388:\"GALLERY.CUSTOM\",390:\"ADD.CHART.AUTOFORMAT\",391:\"DELETE.CHART.AUTOFORMAT\",392:\"CHART.ADD.DATA\",393:\"AUTO.OUTLINE\",394:\"TAB.ORDER\",395:\"SHOW.DIALOG\",396:\"SELECT.ALL\",397:\"UNGROUP.SHEETS\",398:\"SUBTOTAL.CREATE\",399:\"SUBTOTAL.REMOVE\",400:\"RENAME.OBJECT\",412:\"WORKBOOK.SCROLL\",413:\"WORKBOOK.NEXT\",414:\"WORKBOOK.PREV\",415:\"WORKBOOK.TAB.SPLIT\",416:\"FULL.SCREEN\",417:\"WORKBOOK.PROTECT\",420:\"SCROLLBAR.PROPERTIES\",421:\"PIVOT.SHOW.PAGES\",422:\"TEXT.TO.COLUMNS\",423:\"FORMAT.CHARTTYPE\",424:\"LINK.FORMAT\",425:\"TRACER.DISPLAY\",430:\"TRACER.NAVIGATE\",431:\"TRACER.CLEAR\",432:\"TRACER.ERROR\",433:\"PIVOT.FIELD.GROUP\",434:\"PIVOT.FIELD.UNGROUP\",435:\"CHECKBOX.PROPERTIES\",436:\"LABEL.PROPERTIES\",437:\"LISTBOX.PROPERTIES\",438:\"EDITBOX.PROPERTIES\",439:\"PIVOT.REFRESH\",440:\"LINK.COMBO\",441:\"OPEN.TEXT\",442:\"HIDE.DIALOG\",443:\"SET.DIALOG.FOCUS\",444:\"ENABLE.OBJECT\",445:\"PUSHBUTTON.PROPERTIES\",446:\"SET.DIALOG.DEFAULT\",447:\"FILTER\",448:\"FILTER.SHOW.ALL\",449:\"CLEAR.OUTLINE\",450:\"FUNCTION.WIZARD\",451:\"ADD.LIST.ITEM\",452:\"SET.LIST.ITEM\",453:\"REMOVE.LIST.ITEM\",454:\"SELECT.LIST.ITEM\",455:\"SET.CONTROL.VALUE\",456:\"SAVE.COPY.AS\",458:\"OPTIONS.LISTS.ADD\",459:\"OPTIONS.LISTS.DELETE\",460:\"SERIES.AXES\",461:\"SERIES.X\",462:\"SERIES.Y\",463:\"ERRORBAR.X\",464:\"ERRORBAR.Y\",465:\"FORMAT.CHART\",466:\"SERIES.ORDER\",467:\"MAIL.LOGOFF\",468:\"CLEAR.ROUTING.SLIP\",469:\"APP.ACTIVATE.MICROSOFT\",470:\"MAIL.EDIT.MAILER\",471:\"ON.SHEET\",472:\"STANDARD.WIDTH\",473:\"SCENARIO.MERGE\",474:\"SUMMARY.INFO\",475:\"FIND.FILE\",476:\"ACTIVE.CELL.FONT\",477:\"ENABLE.TIPWIZARD\",478:\"VBA.MAKE.ADDIN\",480:\"INSERTDATATABLE\",481:\"WORKGROUP.OPTIONS\",482:\"MAIL.SEND.MAILER\",485:\"AUTOCORRECT\",489:\"POST.DOCUMENT\",491:\"PICKLIST\",493:\"VIEW.SHOW\",494:\"VIEW.DEFINE\",495:\"VIEW.DELETE\",509:\"SHEET.BACKGROUND\",510:\"INSERT.MAP.OBJECT\",511:\"OPTIONS.MENONO\",517:\"MSOCHECKS\",518:\"NORMAL\",519:\"LAYOUT\",520:\"RM.PRINT.AREA\",521:\"CLEAR.PRINT.AREA\",522:\"ADD.PRINT.AREA\",523:\"MOVE.BRK\",545:\"HIDECURR.NOTE\",546:\"HIDEALL.NOTES\",547:\"DELETE.NOTE\",548:\"TRAVERSE.NOTES\",549:\"ACTIVATE.NOTES\",620:\"PROTECT.REVISIONS\",621:\"UNPROTECT.REVISIONS\",647:\"OPTIONS.ME\",653:\"WEB.PUBLISH\",667:\"NEWWEBQUERY\",673:\"PIVOT.TABLE.CHART\",753:\"OPTIONS.SAVE\",755:\"OPTIONS.SPELL\",808:\"HIDEALL.INKANNOTS\"},mi={0:\"COUNT\",1:\"IF\",2:\"ISNA\",3:\"ISERROR\",4:\"SUM\",5:\"AVERAGE\",6:\"MIN\",7:\"MAX\",8:\"ROW\",9:\"COLUMN\",10:\"NA\",11:\"NPV\",12:\"STDEV\",13:\"DOLLAR\",14:\"FIXED\",15:\"SIN\",16:\"COS\",17:\"TAN\",18:\"ATAN\",19:\"PI\",20:\"SQRT\",21:\"EXP\",22:\"LN\",23:\"LOG10\",24:\"ABS\",25:\"INT\",26:\"SIGN\",27:\"ROUND\",28:\"LOOKUP\",29:\"INDEX\",30:\"REPT\",31:\"MID\",32:\"LEN\",33:\"VALUE\",34:\"TRUE\",35:\"FALSE\",36:\"AND\",37:\"OR\",38:\"NOT\",39:\"MOD\",40:\"DCOUNT\",41:\"DSUM\",42:\"DAVERAGE\",43:\"DMIN\",44:\"DMAX\",45:\"DSTDEV\",46:\"VAR\",47:\"DVAR\",48:\"TEXT\",49:\"LINEST\",50:\"TREND\",51:\"LOGEST\",52:\"GROWTH\",53:\"GOTO\",54:\"HALT\",55:\"RETURN\",56:\"PV\",57:\"FV\",58:\"NPER\",59:\"PMT\",60:\"RATE\",61:\"MIRR\",62:\"IRR\",63:\"RAND\",64:\"MATCH\",65:\"DATE\",66:\"TIME\",67:\"DAY\",68:\"MONTH\",69:\"YEAR\",70:\"WEEKDAY\",71:\"HOUR\",72:\"MINUTE\",73:\"SECOND\",74:\"NOW\",75:\"AREAS\",76:\"ROWS\",77:\"COLUMNS\",78:\"OFFSET\",79:\"ABSREF\",80:\"RELREF\",81:\"ARGUMENT\",82:\"SEARCH\",83:\"TRANSPOSE\",84:\"ERROR\",85:\"STEP\",86:\"TYPE\",87:\"ECHO\",88:\"SET.NAME\",89:\"CALLER\",90:\"DEREF\",91:\"WINDOWS\",92:\"SERIES\",93:\"DOCUMENTS\",94:\"ACTIVE.CELL\",95:\"SELECTION\",96:\"RESULT\",97:\"ATAN2\",98:\"ASIN\",99:\"ACOS\",100:\"CHOOSE\",101:\"HLOOKUP\",102:\"VLOOKUP\",103:\"LINKS\",104:\"INPUT\",105:\"ISREF\",106:\"GET.FORMULA\",107:\"GET.NAME\",108:\"SET.VALUE\",109:\"LOG\",110:\"EXEC\",111:\"CHAR\",112:\"LOWER\",113:\"UPPER\",114:\"PROPER\",115:\"LEFT\",116:\"RIGHT\",117:\"EXACT\",118:\"TRIM\",119:\"REPLACE\",120:\"SUBSTITUTE\",121:\"CODE\",122:\"NAMES\",123:\"DIRECTORY\",124:\"FIND\",125:\"CELL\",126:\"ISERR\",127:\"ISTEXT\",128:\"ISNUMBER\",129:\"ISBLANK\",130:\"T\",131:\"N\",132:\"FOPEN\",133:\"FCLOSE\",134:\"FSIZE\",135:\"FREADLN\",136:\"FREAD\",137:\"FWRITELN\",138:\"FWRITE\",139:\"FPOS\",140:\"DATEVALUE\",141:\"TIMEVALUE\",142:\"SLN\",143:\"SYD\",144:\"DDB\",145:\"GET.DEF\",146:\"REFTEXT\",147:\"TEXTREF\",148:\"INDIRECT\",149:\"REGISTER\",150:\"CALL\",151:\"ADD.BAR\",152:\"ADD.MENU\",153:\"ADD.COMMAND\",154:\"ENABLE.COMMAND\",155:\"CHECK.COMMAND\",156:\"RENAME.COMMAND\",157:\"SHOW.BAR\",158:\"DELETE.MENU\",159:\"DELETE.COMMAND\",160:\"GET.CHART.ITEM\",161:\"DIALOG.BOX\",162:\"CLEAN\",163:\"MDETERM\",164:\"MINVERSE\",165:\"MMULT\",166:\"FILES\",167:\"IPMT\",168:\"PPMT\",169:\"COUNTA\",170:\"CANCEL.KEY\",171:\"FOR\",172:\"WHILE\",173:\"BREAK\",174:\"NEXT\",175:\"INITIATE\",176:\"REQUEST\",177:\"POKE\",178:\"EXECUTE\",179:\"TERMINATE\",180:\"RESTART\",181:\"HELP\",182:\"GET.BAR\",183:\"PRODUCT\",184:\"FACT\",185:\"GET.CELL\",186:\"GET.WORKSPACE\",187:\"GET.WINDOW\",188:\"GET.DOCUMENT\",189:\"DPRODUCT\",190:\"ISNONTEXT\",191:\"GET.NOTE\",192:\"NOTE\",193:\"STDEVP\",194:\"VARP\",195:\"DSTDEVP\",196:\"DVARP\",197:\"TRUNC\",198:\"ISLOGICAL\",199:\"DCOUNTA\",200:\"DELETE.BAR\",201:\"UNREGISTER\",204:\"USDOLLAR\",205:\"FINDB\",206:\"SEARCHB\",207:\"REPLACEB\",208:\"LEFTB\",209:\"RIGHTB\",210:\"MIDB\",211:\"LENB\",212:\"ROUNDUP\",213:\"ROUNDDOWN\",214:\"ASC\",215:\"DBCS\",216:\"RANK\",219:\"ADDRESS\",220:\"DAYS360\",221:\"TODAY\",222:\"VDB\",223:\"ELSE\",224:\"ELSE.IF\",225:\"END.IF\",226:\"FOR.CELL\",227:\"MEDIAN\",228:\"SUMPRODUCT\",229:\"SINH\",230:\"COSH\",231:\"TANH\",232:\"ASINH\",233:\"ACOSH\",234:\"ATANH\",235:\"DGET\",236:\"CREATE.OBJECT\",237:\"VOLATILE\",238:\"LAST.ERROR\",239:\"CUSTOM.UNDO\",240:\"CUSTOM.REPEAT\",241:\"FORMULA.CONVERT\",242:\"GET.LINK.INFO\",243:\"TEXT.BOX\",244:\"INFO\",245:\"GROUP\",246:\"GET.OBJECT\",247:\"DB\",248:\"PAUSE\",251:\"RESUME\",252:\"FREQUENCY\",253:\"ADD.TOOLBAR\",254:\"DELETE.TOOLBAR\",255:\"User\",256:\"RESET.TOOLBAR\",257:\"EVALUATE\",258:\"GET.TOOLBAR\",259:\"GET.TOOL\",260:\"SPELLING.CHECK\",261:\"ERROR.TYPE\",262:\"APP.TITLE\",263:\"WINDOW.TITLE\",264:\"SAVE.TOOLBAR\",265:\"ENABLE.TOOL\",266:\"PRESS.TOOL\",267:\"REGISTER.ID\",268:\"GET.WORKBOOK\",269:\"AVEDEV\",270:\"BETADIST\",271:\"GAMMALN\",272:\"BETAINV\",273:\"BINOMDIST\",274:\"CHIDIST\",275:\"CHIINV\",276:\"COMBIN\",277:\"CONFIDENCE\",278:\"CRITBINOM\",279:\"EVEN\",280:\"EXPONDIST\",281:\"FDIST\",282:\"FINV\",283:\"FISHER\",284:\"FISHERINV\",285:\"FLOOR\",286:\"GAMMADIST\",287:\"GAMMAINV\",288:\"CEILING\",289:\"HYPGEOMDIST\",290:\"LOGNORMDIST\",291:\"LOGINV\",292:\"NEGBINOMDIST\",293:\"NORMDIST\",294:\"NORMSDIST\",295:\"NORMINV\",296:\"NORMSINV\",297:\"STANDARDIZE\",298:\"ODD\",299:\"PERMUT\",300:\"POISSON\",301:\"TDIST\",302:\"WEIBULL\",303:\"SUMXMY2\",304:\"SUMX2MY2\",305:\"SUMX2PY2\",306:\"CHITEST\",307:\"CORREL\",308:\"COVAR\",309:\"FORECAST\",310:\"FTEST\",311:\"INTERCEPT\",312:\"PEARSON\",313:\"RSQ\",314:\"STEYX\",315:\"SLOPE\",316:\"TTEST\",317:\"PROB\",318:\"DEVSQ\",319:\"GEOMEAN\",320:\"HARMEAN\",321:\"SUMSQ\",322:\"KURT\",323:\"SKEW\",324:\"ZTEST\",325:\"LARGE\",326:\"SMALL\",327:\"QUARTILE\",328:\"PERCENTILE\",329:\"PERCENTRANK\",330:\"MODE\",331:\"TRIMMEAN\",332:\"TINV\",334:\"MOVIE.COMMAND\",335:\"GET.MOVIE\",336:\"CONCATENATE\",337:\"POWER\",338:\"PIVOT.ADD.DATA\",339:\"GET.PIVOT.TABLE\",340:\"GET.PIVOT.FIELD\",341:\"GET.PIVOT.ITEM\",342:\"RADIANS\",343:\"DEGREES\",344:\"SUBTOTAL\",345:\"SUMIF\",346:\"COUNTIF\",347:\"COUNTBLANK\",348:\"SCENARIO.GET\",349:\"OPTIONS.LISTS.GET\",350:\"ISPMT\",351:\"DATEDIF\",352:\"DATESTRING\",353:\"NUMBERSTRING\",354:\"ROMAN\",355:\"OPEN.DIALOG\",356:\"SAVE.DIALOG\",357:\"VIEW.GET\",358:\"GETPIVOTDATA\",359:\"HYPERLINK\",360:\"PHONETIC\",361:\"AVERAGEA\",362:\"MAXA\",363:\"MINA\",364:\"STDEVPA\",365:\"VARPA\",366:\"STDEVA\",367:\"VARA\",368:\"BAHTTEXT\",369:\"THAIDAYOFWEEK\",370:\"THAIDIGIT\",371:\"THAIMONTHOFYEAR\",372:\"THAINUMSOUND\",373:\"THAINUMSTRING\",374:\"THAISTRINGLENGTH\",375:\"ISTHAIDIGIT\",376:\"ROUNDBAHTDOWN\",377:\"ROUNDBAHTUP\",378:\"THAIYEAR\",379:\"RTD\",380:\"CUBEVALUE\",381:\"CUBEMEMBER\",382:\"CUBEMEMBERPROPERTY\",383:\"CUBERANKEDMEMBER\",384:\"HEX2BIN\",385:\"HEX2DEC\",386:\"HEX2OCT\",387:\"DEC2BIN\",388:\"DEC2HEX\",389:\"DEC2OCT\",390:\"OCT2BIN\",391:\"OCT2HEX\",392:\"OCT2DEC\",393:\"BIN2DEC\",394:\"BIN2OCT\",395:\"BIN2HEX\",396:\"IMSUB\",397:\"IMDIV\",398:\"IMPOWER\",399:\"IMABS\",400:\"IMSQRT\",401:\"IMLN\",402:\"IMLOG2\",403:\"IMLOG10\",404:\"IMSIN\",405:\"IMCOS\",406:\"IMEXP\",407:\"IMARGUMENT\",408:\"IMCONJUGATE\",409:\"IMAGINARY\",410:\"IMREAL\",411:\"COMPLEX\",412:\"IMSUM\",413:\"IMPRODUCT\",414:\"SERIESSUM\",415:\"FACTDOUBLE\",416:\"SQRTPI\",417:\"QUOTIENT\",418:\"DELTA\",419:\"GESTEP\",420:\"ISEVEN\",421:\"ISODD\",422:\"MROUND\",423:\"ERF\",424:\"ERFC\",425:\"BESSELJ\",426:\"BESSELK\",427:\"BESSELY\",428:\"BESSELI\",429:\"XIRR\",430:\"XNPV\",431:\"PRICEMAT\",432:\"YIELDMAT\",433:\"INTRATE\",434:\"RECEIVED\",435:\"DISC\",436:\"PRICEDISC\",437:\"YIELDDISC\",438:\"TBILLEQ\",439:\"TBILLPRICE\",440:\"TBILLYIELD\",441:\"PRICE\",442:\"YIELD\",443:\"DOLLARDE\",444:\"DOLLARFR\",445:\"NOMINAL\",446:\"EFFECT\",447:\"CUMPRINC\",448:\"CUMIPMT\",449:\"EDATE\",450:\"EOMONTH\",451:\"YEARFRAC\",452:\"COUPDAYBS\",453:\"COUPDAYS\",454:\"COUPDAYSNC\",455:\"COUPNCD\",456:\"COUPNUM\",457:\"COUPPCD\",458:\"DURATION\",459:\"MDURATION\",460:\"ODDLPRICE\",461:\"ODDLYIELD\",462:\"ODDFPRICE\",463:\"ODDFYIELD\",464:\"RANDBETWEEN\",465:\"WEEKNUM\",466:\"AMORDEGRC\",467:\"AMORLINC\",468:\"CONVERT\",724:\"SHEETJS\",469:\"ACCRINT\",470:\"ACCRINTM\",471:\"WORKDAY\",472:\"NETWORKDAYS\",473:\"GCD\",474:\"MULTINOMIAL\",475:\"LCM\",476:\"FVSCHEDULE\",477:\"CUBEKPIMEMBER\",478:\"CUBESET\",479:\"CUBESETCOUNT\",480:\"IFERROR\",481:\"COUNTIFS\",482:\"SUMIFS\",483:\"AVERAGEIF\",484:\"AVERAGEIFS\"},Rl={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function Nl(e){var t=\"of:=\"+e.replace(t0,\"\\$1[.\\$2\\$3\\$4\\$5]\").replace(/\\\\]:\\\\[/g,\":\");return t.replace(/;/g,\"|\").replace(/,/g,\";\")}function bl(e){return e.replace(/\\\\./,\"!\")}var At=typeof Map<\"u\";function i0(e,t,r){var a=0,n=e.length;if(r){if(At?r.has(t):Object.prototype.hasOwnProperty.call(r,t)){for(var i=At?r.get(t):r[t];a<i.length;++a)if(e[i[a]].t===t)return e.Count++,i[a]}}else for(;a<n;++a)if(e[a].t===t)return e.Count++,a;return e[n]={t},e.Count++,e.Unique++,r&&(At?(r.has(t)||r.set(t,[]),r.get(t).push(n)):(Object.prototype.hasOwnProperty.call(r,t)||(r[t]=[]),r[t].push(n))),n}function ga(e,t){var r={min:e+1,max:e+1},a=-1;return t.MDW&&(Dr=t.MDW),t.width!=null?r.customWidth=1:t.wpx!=null?a=sa(t.wpx):t.wch!=null&&(a=t.wch),a>-1?(r.width=La(a),r.customWidth=1):t.width!=null&&(r.width=t.width),t.hidden&&(r.hidden=!0),t.level!=null&&(r.outlineLevel=r.level=t.level),r}function gi(e,t){if(e){var r=[.7,.7,.75,.75,.3,.3];t==\"xlml\"&&(r=[1,1,1,1,.5,.5]),e.left==null&&(e.left=r[0]),e.right==null&&(e.right=r[1]),e.top==null&&(e.top=r[2]),e.bottom==null&&(e.bottom=r[3]),e.header==null&&(e.header=r[4]),e.footer==null&&(e.footer=r[5])}}function Ur(e,t,r){var a=r.revssf[t.z!=null?t.z:\"General\"],n=60,i=e.length;if(a==null&&r.ssf){for(;n<392;++n)if(r.ssf[n]==null){gn(t.z,n),r.ssf[n]=t.z,r.revssf[t.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;return e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1},i}function Pl(e,t,r){if(e&&e[\"!ref\"]){var a=Te(e[\"!ref\"]);if(a.e.c<a.s.c||a.e.r<a.s.r)throw new Error(\"Bad range (\"+r+\"): \"+e[\"!ref\"])}}function Ll(e){if(e.length===0)return\"\";for(var t='<mergeCells count=\"'+e.length+'\">',r=0;r!=e.length;++r)t+='<mergeCell ref=\"'+De(e[r])+'\"/>';return t+\"</mergeCells>\"}function Bl(e,t,r,a,n){var i=!1,s={},f=null;if(a.bookType!==\"xlsx\"&&t.vbaraw){var o=t.SheetNames[r];try{t.Workbook&&(o=t.Workbook.Sheets[r].CodeName||o)}catch{}i=!0,s.codeName=yr(me(o))}if(e&&e[\"!outline\"]){var c={summaryBelow:1,summaryRight:1};e[\"!outline\"].above&&(c.summaryBelow=0),e[\"!outline\"].left&&(c.summaryRight=0),f=(f||\"\")+j(\"outlinePr\",null,c)}!i&&!f||(n[n.length]=j(\"sheetPr\",f,s))}var Ml=[\"objects\",\"scenarios\",\"selectLockedCells\",\"selectUnlockedCells\"],Ul=[\"formatColumns\",\"formatRows\",\"formatCells\",\"insertColumns\",\"insertRows\",\"insertHyperlinks\",\"deleteColumns\",\"deleteRows\",\"sort\",\"autoFilter\",\"pivotTables\"];function Wl(e){var t={sheet:1};return Ml.forEach(function(r){e[r]!=null&&e[r]&&(t[r]=\"1\")}),Ul.forEach(function(r){e[r]!=null&&!e[r]&&(t[r]=\"0\")}),e.password&&(t.password=ri(e.password).toString(16).toUpperCase()),j(\"sheetProtection\",null,t)}function Hl(e){return gi(e),j(\"pageMargins\",null,e)}function Vl(e,t){for(var r=[\"<cols>\"],a,n=0;n!=t.length;++n)(a=t[n])&&(r[r.length]=j(\"col\",null,ga(n,a)));return r[r.length]=\"</cols>\",r.join(\"\")}function Xl(e,t,r,a){var n=typeof e.ref==\"string\"?e.ref:De(e.ref);r.Workbook||(r.Workbook={Sheets:[]}),r.Workbook.Names||(r.Workbook.Names=[]);var i=r.Workbook.Names,s=cr(n);s.s.r==s.e.r&&(s.e.r=cr(t[\"!ref\"]).e.r,n=De(s));for(var f=0;f<i.length;++f){var o=i[f];if(o.Name==\"_xlnm._FilterDatabase\"&&o.Sheet==a){o.Ref=\"'\"+r.SheetNames[a]+\"'!\"+n;break}}return f==i.length&&i.push({Name:\"_xlnm._FilterDatabase\",Sheet:a,Ref:\"'\"+r.SheetNames[a]+\"'!\"+n}),j(\"autoFilter\",null,{ref:n})}function Gl(e,t,r,a){var n={workbookViewId:\"0\"};return(((a||{}).Workbook||{}).Views||[])[0]&&(n.rightToLeft=a.Workbook.Views[0].RTL?\"1\":\"0\"),j(\"sheetViews\",j(\"sheetView\",null,n),{})}function zl(e,t,r,a){if(e.c&&r[\"!comments\"].push([t,e.c]),e.v===void 0&&typeof e.f!=\"string\"||e.t===\"z\"&&!e.f)return\"\";var n=\"\",i=e.t,s=e.v;if(e.t!==\"z\")switch(e.t){case\"b\":n=e.v?\"1\":\"0\";break;case\"n\":n=\"\"+e.v;break;case\"e\":n=Bt[e.v];break;case\"d\":a&&a.cellDates?n=qe(e.v,-1).toISOString():(e=ar(e),e.t=\"n\",n=\"\"+(e.v=tr(qe(e.v)))),typeof e.z>\"u\"&&(e.z=ye[14]);break;default:n=e.v;break}var f=Xe(\"v\",me(n)),o={r:t},c=Ur(a.cellXfs,e,a);switch(c!==0&&(o.s=c),e.t){case\"n\":break;case\"d\":o.t=\"d\";break;case\"b\":o.t=\"b\";break;case\"e\":o.t=\"e\";break;case\"z\":break;default:if(e.v==null){delete e.t;break}if(e.v.length>32767)throw new Error(\"Text length must not exceed 32767 characters\");if(a&&a.bookSST){f=Xe(\"v\",\"\"+i0(a.Strings,e.v,a.revStrings)),o.t=\"s\";break}o.t=\"str\";break}if(e.t!=i&&(e.t=i,e.v=s),typeof e.f==\"string\"&&e.f){var l=e.F&&e.F.slice(0,t.length)==t?{t:\"array\",ref:e.F}:null;f=j(\"f\",me(e.f),l)+(e.v!=null?f:\"\")}return e.l&&r[\"!links\"].push([t,e.l]),e.D&&(o.cm=1),j(\"c\",f,o)}function \\$l(e,t,r,a){var n=[],i=[],s=Te(e[\"!ref\"]),f=\"\",o,c=\"\",l=[],v=0,h=0,d=e[\"!rows\"],_=Array.isArray(e),u={r:c},g,y=-1;for(h=s.s.c;h<=s.e.c;++h)l[h]=\\$e(h);for(v=s.s.r;v<=s.e.r;++v){for(i=[],c=Ge(v),h=s.s.c;h<=s.e.c;++h){o=l[h]+c;var C=_?(e[v]||[])[h]:e[o];C!==void 0&&(f=zl(C,o,e,t,r,a))!=null&&i.push(f)}(i.length>0||d&&d[v])&&(u={r:c},d&&d[v]&&(g=d[v],g.hidden&&(u.hidden=1),y=-1,g.hpx?y=fa(g.hpx):g.hpt&&(y=g.hpt),y>-1&&(u.ht=y,u.customHeight=1),g.level&&(u.outlineLevel=g.level)),n[n.length]=j(\"row\",i.join(\"\"),u))}if(d)for(;v<d.length;++v)d&&d[v]&&(u={r:v+1},g=d[v],g.hidden&&(u.hidden=1),y=-1,g.hpx?y=fa(g.hpx):g.hpt&&(y=g.hpt),y>-1&&(u.ht=y,u.customHeight=1),g.level&&(u.outlineLevel=g.level),n[n.length]=j(\"row\",\"\",u));return n.join(\"\")}function _i(e,t,r,a){var n=[Oe,j(\"worksheet\",null,{xmlns:xt[0],\"xmlns:r\":Pe.r})],i=r.SheetNames[e],s=0,f=\"\",o=r.Sheets[i];o==null&&(o={});var c=o[\"!ref\"]||\"A1\",l=Te(c);if(l.e.c>16383||l.e.r>1048575){if(t.WTF)throw new Error(\"Range \"+c+\" exceeds format limit A1:XFD1048576\");l.e.c=Math.min(l.e.c,16383),l.e.r=Math.min(l.e.c,1048575),c=De(l)}a||(a={}),o[\"!comments\"]=[];var v=[];Bl(o,r,e,t,n),n[n.length]=j(\"dimension\",null,{ref:c}),n[n.length]=Gl(o,t,e,r),t.sheetFormat&&(n[n.length]=j(\"sheetFormatPr\",null,{defaultRowHeight:t.sheetFormat.defaultRowHeight||\"16\",baseColWidth:t.sheetFormat.baseColWidth||\"10\",outlineLevelRow:t.sheetFormat.outlineLevelRow||\"7\"})),o[\"!cols\"]!=null&&o[\"!cols\"].length>0&&(n[n.length]=Vl(o,o[\"!cols\"])),n[s=n.length]=\"<sheetData/>\",o[\"!links\"]=[],o[\"!ref\"]!=null&&(f=\\$l(o,t,e,r,a),f.length>0&&(n[n.length]=f)),n.length>s+1&&(n[n.length]=\"</sheetData>\",n[s]=n[s].replace(\"/>\",\">\")),o[\"!protect\"]&&(n[n.length]=Wl(o[\"!protect\"])),o[\"!autofilter\"]!=null&&(n[n.length]=Xl(o[\"!autofilter\"],o,r,e)),o[\"!merges\"]!=null&&o[\"!merges\"].length>0&&(n[n.length]=Ll(o[\"!merges\"]));var h=-1,d,_=-1;return o[\"!links\"].length>0&&(n[n.length]=\"<hyperlinks>\",o[\"!links\"].forEach(function(u){u[1].Target&&(d={ref:u[0]},u[1].Target.charAt(0)!=\"#\"&&(_=pe(a,-1,me(u[1].Target).replace(/#.*\\$/,\"\"),he.HLINK),d[\"r:id\"]=\"rId\"+_),(h=u[1].Target.indexOf(\"#\"))>-1&&(d.location=me(u[1].Target.slice(h+1))),u[1].Tooltip&&(d.tooltip=me(u[1].Tooltip)),n[n.length]=j(\"hyperlink\",null,d))}),n[n.length]=\"</hyperlinks>\"),delete o[\"!links\"],o[\"!margins\"]!=null&&(n[n.length]=Hl(o[\"!margins\"])),(!t||t.ignoreEC||t.ignoreEC==null)&&(n[n.length]=Xe(\"ignoredErrors\",j(\"ignoredError\",null,{numberStoredAsText:1,sqref:c}))),v.length>0&&(_=pe(a,-1,\"../drawings/drawing\"+(e+1)+\".xml\",he.DRAW),n[n.length]=j(\"drawing\",null,{\"r:id\":\"rId\"+_}),o[\"!drawing\"]=v),o[\"!comments\"].length>0&&(_=pe(a,-1,\"../drawings/vmlDrawing\"+(e+1)+\".vml\",he.VML),n[n.length]=j(\"legacyDrawing\",null,{\"r:id\":\"rId\"+_}),o[\"!legacy\"]=_),n.length>1&&(n[n.length]=\"</worksheet>\",n[1]=n[1].replace(\"/>\",\">\")),n.join(\"\")}function Kl(e,t){var r={},a=e.l+t;r.r=e.read_shift(4),e.l+=4;var n=e.read_shift(2);e.l+=1;var i=e.read_shift(1);return e.l=a,i&7&&(r.level=i&7),i&16&&(r.hidden=!0),i&32&&(r.hpt=n/20),r}function jl(e,t,r){var a=b(145),n=(r[\"!rows\"]||[])[e]||{};a.write_shift(4,e),a.write_shift(4,0);var i=320;n.hpx?i=fa(n.hpx)*20:n.hpt&&(i=n.hpt*20),a.write_shift(2,i),a.write_shift(1,0);var s=0;n.level&&(s|=n.level),n.hidden&&(s|=16),(n.hpx||n.hpt)&&(s|=32),a.write_shift(1,s),a.write_shift(1,0);var f=0,o=a.l;a.l+=4;for(var c={r:e,c:0},l=0;l<16;++l)if(!(t.s.c>l+1<<10||t.e.c<l<<10)){for(var v=-1,h=-1,d=l<<10;d<l+1<<10;++d){c.c=d;var _=Array.isArray(r)?(r[c.r]||[])[c.c]:r[ge(c)];_&&(v<0&&(v=d),h=d)}v<0||(++f,a.write_shift(4,v),a.write_shift(4,h))}var u=a.l;return a.l=o,a.write_shift(4,f),a.l=u,a.length>a.l?a.slice(0,a.l):a}function Yl(e,t,r,a){var n=jl(a,r,t);(n.length>17||(t[\"!rows\"]||[])[a])&&H(e,0,n)}var Jl=Qr,ql=pt;function Zl(){}function Ql(e,t){var r={},a=e[e.l];return++e.l,r.above=!(a&64),r.left=!(a&128),e.l+=18,r.name=cf(e,t-19),r}function eu(e,t,r){r==null&&(r=b(84+4*e.length));var a=192;t&&(t.above&&(a&=-65),t.left&&(a&=-129)),r.write_shift(1,a);for(var n=1;n<3;++n)r.write_shift(1,0);return aa({auto:1},r),r.write_shift(-4,-1),r.write_shift(-4,-1),bn(e,r),r.slice(0,r.l)}function ru(e){var t=hr(e);return[t]}function tu(e,t,r){return r==null&&(r=b(8)),Jr(t,r)}function au(e){var t=qr(e);return[t]}function nu(e,t,r){return r==null&&(r=b(4)),Zr(t,r)}function iu(e){var t=hr(e),r=e.read_shift(1);return[t,r,\"b\"]}function su(e,t,r){return r==null&&(r=b(9)),Jr(t,r),r.write_shift(1,e.v?1:0),r}function fu(e){var t=qr(e),r=e.read_shift(1);return[t,r,\"b\"]}function cu(e,t,r){return r==null&&(r=b(5)),Zr(t,r),r.write_shift(1,e.v?1:0),r}function ou(e){var t=hr(e),r=e.read_shift(1);return[t,r,\"e\"]}function lu(e,t,r){return r==null&&(r=b(9)),Jr(t,r),r.write_shift(1,e.v),r}function uu(e){var t=qr(e),r=e.read_shift(1);return[t,r,\"e\"]}function hu(e,t,r){return r==null&&(r=b(8)),Zr(t,r),r.write_shift(1,e.v),r.write_shift(2,0),r.write_shift(1,0),r}function xu(e){var t=hr(e),r=e.read_shift(4);return[t,r,\"s\"]}function du(e,t,r){return r==null&&(r=b(12)),Jr(t,r),r.write_shift(4,t.v),r}function vu(e){var t=qr(e),r=e.read_shift(4);return[t,r,\"s\"]}function pu(e,t,r){return r==null&&(r=b(8)),Zr(t,r),r.write_shift(4,t.v),r}function mu(e){var t=hr(e),r=mt(e);return[t,r,\"n\"]}function gu(e,t,r){return r==null&&(r=b(16)),Jr(t,r),Kr(e.v,r),r}function _u(e){var t=qr(e),r=mt(e);return[t,r,\"n\"]}function wu(e,t,r){return r==null&&(r=b(12)),Zr(t,r),Kr(e.v,r),r}function ku(e){var t=hr(e),r=Pn(e);return[t,r,\"n\"]}function Eu(e,t,r){return r==null&&(r=b(12)),Jr(t,r),Ln(e.v,r),r}function Tu(e){var t=qr(e),r=Pn(e);return[t,r,\"n\"]}function Su(e,t,r){return r==null&&(r=b(8)),Zr(t,r),Ln(e.v,r),r}function Fu(e){var t=hr(e),r=qa(e);return[t,r,\"is\"]}function yu(e){var t=hr(e),r=Ke(e);return[t,r,\"str\"]}function Au(e,t,r){return r==null&&(r=b(12+4*e.v.length)),Jr(t,r),Be(e.v,r),r.length>r.l?r.slice(0,r.l):r}function Cu(e){var t=qr(e),r=Ke(e);return[t,r,\"str\"]}function Du(e,t,r){return r==null&&(r=b(8+4*e.v.length)),Zr(t,r),Be(e.v,r),r.length>r.l?r.slice(0,r.l):r}function Ou(e,t,r){var a=e.l+t,n=hr(e);n.r=r[\"!row\"];var i=e.read_shift(1),s=[n,i,\"b\"];if(r.cellFormula){e.l+=2;var f=ma(e,a-e.l,r);s[3]=ht(f,null,n,r.supbooks,r)}else e.l=a;return s}function Iu(e,t,r){var a=e.l+t,n=hr(e);n.r=r[\"!row\"];var i=e.read_shift(1),s=[n,i,\"e\"];if(r.cellFormula){e.l+=2;var f=ma(e,a-e.l,r);s[3]=ht(f,null,n,r.supbooks,r)}else e.l=a;return s}function Ru(e,t,r){var a=e.l+t,n=hr(e);n.r=r[\"!row\"];var i=mt(e),s=[n,i,\"n\"];if(r.cellFormula){e.l+=2;var f=ma(e,a-e.l,r);s[3]=ht(f,null,n,r.supbooks,r)}else e.l=a;return s}function Nu(e,t,r){var a=e.l+t,n=hr(e);n.r=r[\"!row\"];var i=Ke(e),s=[n,i,\"str\"];if(r.cellFormula){e.l+=2;var f=ma(e,a-e.l,r);s[3]=ht(f,null,n,r.supbooks,r)}else e.l=a;return s}var bu=Qr,Pu=pt;function Lu(e,t){return t==null&&(t=b(4)),t.write_shift(4,e),t}function Bu(e,t){var r=e.l+t,a=Qr(e,16),n=Za(e),i=Ke(e),s=Ke(e),f=Ke(e);e.l=r;var o={rfx:a,relId:n,loc:i,display:f};return s&&(o.Tooltip=s),o}function Mu(e,t){var r=b(50+4*(e[1].Target.length+(e[1].Tooltip||\"\").length));pt({s:Le(e[0]),e:Le(e[0])},r),Qa(\"rId\"+t,r);var a=e[1].Target.indexOf(\"#\"),n=a==-1?\"\":e[1].Target.slice(a+1);return Be(n||\"\",r),Be(e[1].Tooltip||\"\",r),Be(\"\",r),r.slice(0,r.l)}function Uu(){}function Wu(e,t,r){var a=e.l+t,n=Bn(e,16),i=e.read_shift(1),s=[n];if(s[2]=i,r.cellFormula){var f=Cl(e,a-e.l,r);s[1]=f}else e.l=a;return s}function Hu(e,t,r){var a=e.l+t,n=Qr(e,16),i=[n];if(r.cellFormula){var s=Ol(e,a-e.l,r);i[1]=s,e.l=a}else e.l=a;return i}function Vu(e,t,r){r==null&&(r=b(18));var a=ga(e,t);r.write_shift(-4,e),r.write_shift(-4,e),r.write_shift(4,(a.width||10)*256),r.write_shift(4,0);var n=0;return t.hidden&&(n|=1),typeof a.width==\"number\"&&(n|=2),t.level&&(n|=t.level<<8),r.write_shift(2,n),r}var wi=[\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];function Xu(e){var t={};return wi.forEach(function(r){t[r]=mt(e,8)}),t}function Gu(e,t){return t==null&&(t=b(48)),gi(e),wi.forEach(function(r){Kr(e[r],t)}),t}function zu(e){var t=e.read_shift(2);return e.l+=28,{RTL:t&32}}function \\$u(e,t,r){r==null&&(r=b(30));var a=924;return(((t||{}).Views||[])[0]||{}).RTL&&(a|=32),r.write_shift(2,a),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(1,0),r.write_shift(1,0),r.write_shift(2,0),r.write_shift(2,100),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(2,0),r.write_shift(4,0),r}function Ku(e){var t=b(24);return t.write_shift(4,4),t.write_shift(4,1),pt(e,t),t}function ju(e,t){return t==null&&(t=b(66)),t.write_shift(2,e.password?ri(e.password):0),t.write_shift(4,1),[[\"objects\",!1],[\"scenarios\",!1],[\"formatCells\",!0],[\"formatColumns\",!0],[\"formatRows\",!0],[\"insertColumns\",!0],[\"insertRows\",!0],[\"insertHyperlinks\",!0],[\"deleteColumns\",!0],[\"deleteRows\",!0],[\"selectLockedCells\",!1],[\"sort\",!0],[\"autoFilter\",!0],[\"pivotTables\",!0],[\"selectUnlockedCells\",!1]].forEach(function(r){r[1]?t.write_shift(4,e[r[0]]!=null&&!e[r[0]]?1:0):t.write_shift(4,e[r[0]]!=null&&e[r[0]]?0:1)}),t}function Yu(){}function Ju(){}function qu(e,t,r,a,n,i,s){if(t.v===void 0)return!1;var f=\"\";switch(t.t){case\"b\":f=t.v?\"1\":\"0\";break;case\"d\":t=ar(t),t.z=t.z||ye[14],t.v=tr(qe(t.v)),t.t=\"n\";break;case\"n\":case\"e\":f=\"\"+t.v;break;default:f=t.v;break}var o={r,c:a};switch(o.s=Ur(n.cellXfs,t,n),t.l&&i[\"!links\"].push([ge(o),t.l]),t.c&&i[\"!comments\"].push([ge(o),t.c]),t.t){case\"s\":case\"str\":return n.bookSST?(f=i0(n.Strings,t.v,n.revStrings),o.t=\"s\",o.v=f,s?H(e,18,pu(t,o)):H(e,7,du(t,o))):(o.t=\"str\",s?H(e,17,Du(t,o)):H(e,6,Au(t,o))),!0;case\"n\":return t.v==(t.v|0)&&t.v>-1e3&&t.v<1e3?s?H(e,13,Su(t,o)):H(e,2,Eu(t,o)):s?H(e,16,wu(t,o)):H(e,5,gu(t,o)),!0;case\"b\":return o.t=\"b\",s?H(e,15,cu(t,o)):H(e,4,su(t,o)),!0;case\"e\":return o.t=\"e\",s?H(e,14,hu(t,o)):H(e,3,lu(t,o)),!0}return s?H(e,12,nu(t,o)):H(e,1,tu(t,o)),!0}function Zu(e,t,r,a){var n=Te(t[\"!ref\"]||\"A1\"),i,s=\"\",f=[];H(e,145);var o=Array.isArray(t),c=n.e.r;t[\"!rows\"]&&(c=Math.max(n.e.r,t[\"!rows\"].length-1));for(var l=n.s.r;l<=c;++l){s=Ge(l),Yl(e,t,n,l);var v=!1;if(l<=n.e.r)for(var h=n.s.c;h<=n.e.c;++h){l===n.s.r&&(f[h]=\\$e(h)),i=f[h]+s;var d=o?(t[l]||[])[h]:t[i];if(!d){v=!1;continue}v=qu(e,d,l,h,a,t,v)}}H(e,146)}function Qu(e,t){!t||!t[\"!merges\"]||(H(e,177,Lu(t[\"!merges\"].length)),t[\"!merges\"].forEach(function(r){H(e,176,Pu(r))}),H(e,178))}function eh(e,t){!t||!t[\"!cols\"]||(H(e,390),t[\"!cols\"].forEach(function(r,a){r&&H(e,60,Vu(a,r))}),H(e,391))}function rh(e,t){!t||!t[\"!ref\"]||(H(e,648),H(e,649,Ku(Te(t[\"!ref\"]))),H(e,650))}function th(e,t,r){t[\"!links\"].forEach(function(a){if(a[1].Target){var n=pe(r,-1,a[1].Target.replace(/#.*\\$/,\"\"),he.HLINK);H(e,494,Mu(a,n))}}),delete t[\"!links\"]}function ah(e,t,r,a){if(t[\"!comments\"].length>0){var n=pe(a,-1,\"../drawings/vmlDrawing\"+(r+1)+\".vml\",he.VML);H(e,551,Qa(\"rId\"+n)),t[\"!legacy\"]=n}}function nh(e,t,r,a){if(t[\"!autofilter\"]){var n=t[\"!autofilter\"],i=typeof n.ref==\"string\"?n.ref:De(n.ref);r.Workbook||(r.Workbook={Sheets:[]}),r.Workbook.Names||(r.Workbook.Names=[]);var s=r.Workbook.Names,f=cr(i);f.s.r==f.e.r&&(f.e.r=cr(t[\"!ref\"]).e.r,i=De(f));for(var o=0;o<s.length;++o){var c=s[o];if(c.Name==\"_xlnm._FilterDatabase\"&&c.Sheet==a){c.Ref=\"'\"+r.SheetNames[a]+\"'!\"+i;break}}o==s.length&&s.push({Name:\"_xlnm._FilterDatabase\",Sheet:a,Ref:\"'\"+r.SheetNames[a]+\"'!\"+i}),H(e,161,pt(Te(i))),H(e,162)}}function ih(e,t,r){H(e,133),H(e,137,\\$u(t,r)),H(e,138),H(e,134)}function sh(e,t){t[\"!protect\"]&&H(e,535,ju(t[\"!protect\"]))}function fh(e,t,r,a){var n=rr(),i=r.SheetNames[e],s=r.Sheets[i]||{},f=i;try{r&&r.Workbook&&(f=r.Workbook.Sheets[e].CodeName||f)}catch{}var o=Te(s[\"!ref\"]||\"A1\");if(o.e.c>16383||o.e.r>1048575){if(t.WTF)throw new Error(\"Range \"+(s[\"!ref\"]||\"A1\")+\" exceeds format limit A1:XFD1048576\");o.e.c=Math.min(o.e.c,16383),o.e.r=Math.min(o.e.c,1048575)}return s[\"!links\"]=[],s[\"!comments\"]=[],H(n,129),(r.vbaraw||s[\"!outline\"])&&H(n,147,eu(f,s[\"!outline\"])),H(n,148,ql(o)),ih(n,s,r.Workbook),eh(n,s,e,t,r),Zu(n,s,e,t,r),sh(n,s),nh(n,s,r,e),Qu(n,s),th(n,s,a),s[\"!margins\"]&&H(n,476,Gu(s[\"!margins\"])),(!t||t.ignoreEC||t.ignoreEC==null)&&rh(n,s),ah(n,s,e,a),H(n,130),n.end()}function ch(e,t){e.l+=10;var r=Ke(e,t-10);return{name:r}}var oh=[[\"allowRefreshQuery\",!1,\"bool\"],[\"autoCompressPictures\",!0,\"bool\"],[\"backupFile\",!1,\"bool\"],[\"checkCompatibility\",!1,\"bool\"],[\"CodeName\",\"\"],[\"date1904\",!1,\"bool\"],[\"defaultThemeVersion\",0,\"int\"],[\"filterPrivacy\",!1,\"bool\"],[\"hidePivotFieldList\",!1,\"bool\"],[\"promptedSolutions\",!1,\"bool\"],[\"publishItems\",!1,\"bool\"],[\"refreshAllConnections\",!1,\"bool\"],[\"saveExternalLinkValues\",!0,\"bool\"],[\"showBorderUnselectedTables\",!0,\"bool\"],[\"showInkAnnotation\",!0,\"bool\"],[\"showObjects\",\"all\"],[\"showPivotChartFilter\",!1,\"bool\"],[\"updateLinks\",\"userSet\"]];function lh(e){return!e.Workbook||!e.Workbook.WBProps?\"false\":Ms(e.Workbook.WBProps.date1904)?\"true\":\"false\"}var uh=\"][*?/\\\\\\\\\".split(\"\");function ki(e,t){if(e.length>31){if(t)return!1;throw new Error(\"Sheet names cannot exceed 31 chars\")}var r=!0;return uh.forEach(function(a){if(e.indexOf(a)!=-1){if(!t)throw new Error(\"Sheet name cannot contain : \\\\\\\\ / ? * [ ]\");r=!1}}),r}function hh(e,t,r){e.forEach(function(a,n){ki(a);for(var i=0;i<n;++i)if(a==e[i])throw new Error(\"Duplicate Sheet Name: \"+a);if(r){var s=t&&t[n]&&t[n].CodeName||a;if(s.charCodeAt(0)==95&&s.length>22)throw new Error(\"Bad Code Name: Worksheet\"+s)}})}function xh(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error(\"Invalid Workbook\");if(!e.SheetNames.length)throw new Error(\"Workbook is empty\");var t=e.Workbook&&e.Workbook.Sheets||[];hh(e.SheetNames,t,!!e.vbaraw);for(var r=0;r<e.SheetNames.length;++r)Pl(e.Sheets[e.SheetNames[r]],e.SheetNames[r],r)}function Ei(e){var t=[Oe];t[t.length]=j(\"workbook\",null,{xmlns:xt[0],\"xmlns:r\":Pe.r});var r=e.Workbook&&(e.Workbook.Names||[]).length>0,a={codeName:\"ThisWorkbook\"};e.Workbook&&e.Workbook.WBProps&&(oh.forEach(function(f){e.Workbook.WBProps[f[0]]!=null&&e.Workbook.WBProps[f[0]]!=f[1]&&(a[f[0]]=e.Workbook.WBProps[f[0]])}),e.Workbook.WBProps.CodeName&&(a.codeName=e.Workbook.WBProps.CodeName,delete a.CodeName)),t[t.length]=j(\"workbookPr\",null,a);var n=e.Workbook&&e.Workbook.Sheets||[],i=0;if(n&&n[0]&&n[0].Hidden){for(t[t.length]=\"<bookViews>\",i=0;i!=e.SheetNames.length&&!(!n[i]||!n[i].Hidden);++i);i==e.SheetNames.length&&(i=0),t[t.length]='<workbookView firstSheet=\"'+i+'\" activeTab=\"'+i+'\"/>',t[t.length]=\"</bookViews>\"}for(t[t.length]=\"<sheets>\",i=0;i!=e.SheetNames.length;++i){var s={name:me(e.SheetNames[i].slice(0,31))};if(s.sheetId=\"\"+(i+1),s[\"r:id\"]=\"rId\"+(i+1),n[i])switch(n[i].Hidden){case 1:s.state=\"hidden\";break;case 2:s.state=\"veryHidden\";break}t[t.length]=j(\"sheet\",null,s)}return t[t.length]=\"</sheets>\",r&&(t[t.length]=\"<definedNames>\",e.Workbook&&e.Workbook.Names&&e.Workbook.Names.forEach(function(f){var o={name:f.Name};f.Comment&&(o.comment=f.Comment),f.Sheet!=null&&(o.localSheetId=\"\"+f.Sheet),f.Hidden&&(o.hidden=\"1\"),f.Ref&&(t[t.length]=j(\"definedName\",me(f.Ref),o))}),t[t.length]=\"</definedNames>\"),t.length>2&&(t[t.length]=\"</workbook>\",t[1]=t[1].replace(\"/>\",\">\")),t.join(\"\")}function dh(e,t){var r={};return r.Hidden=e.read_shift(4),r.iTabID=e.read_shift(4),r.strRelID=Pa(e,t-8),r.name=Ke(e),r}function vh(e,t){return t||(t=b(127)),t.write_shift(4,e.Hidden),t.write_shift(4,e.iTabID),Qa(e.strRelID,t),Be(e.name.slice(0,31),t),t.length>t.l?t.slice(0,t.l):t}function ph(e,t){var r={},a=e.read_shift(4);r.defaultThemeVersion=e.read_shift(4);var n=t>8?Ke(e):\"\";return n.length>0&&(r.CodeName=n),r.autoCompressPictures=!!(a&65536),r.backupFile=!!(a&64),r.checkCompatibility=!!(a&4096),r.date1904=!!(a&1),r.filterPrivacy=!!(a&8),r.hidePivotFieldList=!!(a&1024),r.promptedSolutions=!!(a&16),r.publishItems=!!(a&2048),r.refreshAllConnections=!!(a&262144),r.saveExternalLinkValues=!!(a&128),r.showBorderUnselectedTables=!!(a&4),r.showInkAnnotation=!!(a&32),r.showObjects=[\"all\",\"placeholders\",\"none\"][a>>13&3],r.showPivotChartFilter=!!(a&32768),r.updateLinks=[\"userSet\",\"never\",\"always\"][a>>8&3],r}function mh(e,t){t||(t=b(72));var r=0;return e&&e.filterPrivacy&&(r|=8),t.write_shift(4,r),t.write_shift(4,0),bn(e&&e.CodeName||\"ThisWorkbook\",t),t.slice(0,t.l)}function gh(e,t,r){var a=e.l+t;e.l+=4,e.l+=1;var n=e.read_shift(4),i=of(e),s=Dl(e,0,r),f=Za(e);e.l=a;var o={Name:i,Ptg:s};return n<268435455&&(o.Sheet=n),f&&(o.Comment=f),o}function _h(e,t){H(e,143);for(var r=0;r!=t.SheetNames.length;++r){var a=t.Workbook&&t.Workbook.Sheets&&t.Workbook.Sheets[r]&&t.Workbook.Sheets[r].Hidden||0,n={Hidden:a,iTabID:r+1,strRelID:\"rId\"+(r+1),name:t.SheetNames[r]};H(e,156,vh(n))}H(e,144)}function wh(e,t){t||(t=b(127));for(var r=0;r!=4;++r)t.write_shift(4,0);return Be(\"SheetJS\",t),Be(Ct.version,t),Be(Ct.version,t),Be(\"7262\",t),t.length>t.l?t.slice(0,t.l):t}function kh(e,t){t||(t=b(29)),t.write_shift(-4,0),t.write_shift(-4,460),t.write_shift(4,28800),t.write_shift(4,17600),t.write_shift(4,500),t.write_shift(4,e),t.write_shift(4,e);var r=120;return t.write_shift(1,r),t.length>t.l?t.slice(0,t.l):t}function Eh(e,t){if(!(!t.Workbook||!t.Workbook.Sheets)){for(var r=t.Workbook.Sheets,a=0,n=-1,i=-1;a<r.length;++a)!r[a]||!r[a].Hidden&&n==-1?n=a:r[a].Hidden==1&&i==-1&&(i=a);i>n||(H(e,135),H(e,158,kh(n)),H(e,136))}}function Th(e,t){var r=rr();return H(r,131),H(r,128,wh()),H(r,153,mh(e.Workbook&&e.Workbook.WBProps||null)),Eh(r,e,t),_h(r,e,t),H(r,132),r.end()}function Sh(e,t,r){return(t.slice(-4)===\".bin\"?Th:Ei)(e,r)}function Fh(e,t,r,a,n){return(t.slice(-4)===\".bin\"?fh:_i)(e,r,a,n)}function yh(e,t,r){return(t.slice(-4)===\".bin\"?Xc:ni)(e,r)}function Ah(e,t,r){return(t.slice(-4)===\".bin\"?pc:ei)(e,r)}function Ch(e,t,r){return(t.slice(-4)===\".bin\"?io:oi)(e,r)}function Dh(e){return(e.slice(-4)===\".bin\"?qc:fi)()}function Oh(e,t){var r=[];return e.Props&&r.push(Ff(e.Props,t)),e.Custprops&&r.push(yf(e.Props,e.Custprops,t)),r.join(\"\")}function Ih(){return\"\"}function Rh(e,t){var r=['<Style ss:ID=\"Default\" ss:Name=\"Normal\"><NumberFormat/></Style>'];return t.cellXfs.forEach(function(a,n){var i=[];i.push(j(\"NumberFormat\",null,{\"ss:Format\":me(ye[a.numFmtId])}));var s={\"ss:ID\":\"s\"+(21+n)};r.push(j(\"Style\",i.join(\"\"),s))}),j(\"Styles\",r.join(\"\"))}function Ti(e){return j(\"NamedRange\",null,{\"ss:Name\":e.Name,\"ss:RefersTo\":\"=\"+a0(e.Ref,{r:0,c:0})})}function Nh(e){if(!((e||{}).Workbook||{}).Names)return\"\";for(var t=e.Workbook.Names,r=[],a=0;a<t.length;++a){var n=t[a];n.Sheet==null&&(n.Name.match(/^_xlfn\\\\./)||r.push(Ti(n)))}return j(\"Names\",r.join(\"\"))}function bh(e,t,r,a){if(!e||!((a||{}).Workbook||{}).Names)return\"\";for(var n=a.Workbook.Names,i=[],s=0;s<n.length;++s){var f=n[s];f.Sheet==r&&(f.Name.match(/^_xlfn\\\\./)||i.push(Ti(f)))}return i.join(\"\")}function Ph(e,t,r,a){if(!e)return\"\";var n=[];if(e[\"!margins\"]&&(n.push(\"<PageSetup>\"),e[\"!margins\"].header&&n.push(j(\"Header\",null,{\"x:Margin\":e[\"!margins\"].header})),e[\"!margins\"].footer&&n.push(j(\"Footer\",null,{\"x:Margin\":e[\"!margins\"].footer})),n.push(j(\"PageMargins\",null,{\"x:Bottom\":e[\"!margins\"].bottom||\"0.75\",\"x:Left\":e[\"!margins\"].left||\"0.7\",\"x:Right\":e[\"!margins\"].right||\"0.7\",\"x:Top\":e[\"!margins\"].top||\"0.75\"})),n.push(\"</PageSetup>\")),a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[r])if(a.Workbook.Sheets[r].Hidden)n.push(j(\"Visible\",a.Workbook.Sheets[r].Hidden==1?\"SheetHidden\":\"SheetVeryHidden\",{}));else{for(var i=0;i<r&&!(a.Workbook.Sheets[i]&&!a.Workbook.Sheets[i].Hidden);++i);i==r&&n.push(\"<Selected/>\")}return((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL&&n.push(\"<DisplayRightToLeft/>\"),e[\"!protect\"]&&(n.push(Xe(\"ProtectContents\",\"True\")),e[\"!protect\"].objects&&n.push(Xe(\"ProtectObjects\",\"True\")),e[\"!protect\"].scenarios&&n.push(Xe(\"ProtectScenarios\",\"True\")),e[\"!protect\"].selectLockedCells!=null&&!e[\"!protect\"].selectLockedCells?n.push(Xe(\"EnableSelection\",\"NoSelection\")):e[\"!protect\"].selectUnlockedCells!=null&&!e[\"!protect\"].selectUnlockedCells&&n.push(Xe(\"EnableSelection\",\"UnlockedCells\")),[[\"formatCells\",\"AllowFormatCells\"],[\"formatColumns\",\"AllowSizeCols\"],[\"formatRows\",\"AllowSizeRows\"],[\"insertColumns\",\"AllowInsertCols\"],[\"insertRows\",\"AllowInsertRows\"],[\"insertHyperlinks\",\"AllowInsertHyperlinks\"],[\"deleteColumns\",\"AllowDeleteCols\"],[\"deleteRows\",\"AllowDeleteRows\"],[\"sort\",\"AllowSort\"],[\"autoFilter\",\"AllowFilter\"],[\"pivotTables\",\"AllowUsePivotTables\"]].forEach(function(s){e[\"!protect\"][s[0]]&&n.push(\"<\"+s[1]+\"/>\")})),n.length==0?\"\":j(\"WorksheetOptions\",n.join(\"\"),{xmlns:fr.x})}function Lh(e){return e.map(function(t){var r=Bs(t.t||\"\"),a=j(\"ss:Data\",r,{xmlns:\"http://www.w3.org/TR/REC-html40\"});return j(\"Comment\",a,{\"ss:Author\":t.a})}).join(\"\")}function Bh(e,t,r,a,n,i,s){if(!e||e.v==null&&e.f==null)return\"\";var f={};if(e.f&&(f[\"ss:Formula\"]=\"=\"+me(a0(e.f,s))),e.F&&e.F.slice(0,t.length)==t){var o=Le(e.F.slice(t.length+1));f[\"ss:ArrayRange\"]=\"RC:R\"+(o.r==s.r?\"\":\"[\"+(o.r-s.r)+\"]\")+\"C\"+(o.c==s.c?\"\":\"[\"+(o.c-s.c)+\"]\")}if(e.l&&e.l.Target&&(f[\"ss:HRef\"]=me(e.l.Target),e.l.Tooltip&&(f[\"x:HRefScreenTip\"]=me(e.l.Tooltip))),r[\"!merges\"])for(var c=r[\"!merges\"],l=0;l!=c.length;++l)c[l].s.c!=s.c||c[l].s.r!=s.r||(c[l].e.c>c[l].s.c&&(f[\"ss:MergeAcross\"]=c[l].e.c-c[l].s.c),c[l].e.r>c[l].s.r&&(f[\"ss:MergeDown\"]=c[l].e.r-c[l].s.r));var v=\"\",h=\"\";switch(e.t){case\"z\":if(!a.sheetStubs)return\"\";break;case\"n\":v=\"Number\",h=String(e.v);break;case\"b\":v=\"Boolean\",h=e.v?\"1\":\"0\";break;case\"e\":v=\"Error\",h=Bt[e.v];break;case\"d\":v=\"DateTime\",h=new Date(e.v).toISOString(),e.z==null&&(e.z=e.z||ye[14]);break;case\"s\":v=\"String\",h=Ls(e.v||\"\");break}var d=Ur(a.cellXfs,e,a);f[\"ss:StyleID\"]=\"s\"+(21+d),f[\"ss:Index\"]=s.c+1;var _=e.v!=null?h:\"\",u=e.t==\"z\"?\"\":'<Data ss:Type=\"'+v+'\">'+_+\"</Data>\";return(e.c||[]).length>0&&(u+=Lh(e.c)),j(\"Cell\",u,f)}function Mh(e,t){var r='<Row ss:Index=\"'+(e+1)+'\"';return t&&(t.hpt&&!t.hpx&&(t.hpx=ai(t.hpt)),t.hpx&&(r+=' ss:AutoFitHeight=\"0\" ss:Height=\"'+t.hpx+'\"'),t.hidden&&(r+=' ss:Hidden=\"1\"')),r+\">\"}function Uh(e,t,r,a){if(!e[\"!ref\"])return\"\";var n=Te(e[\"!ref\"]),i=e[\"!merges\"]||[],s=0,f=[];e[\"!cols\"]&&e[\"!cols\"].forEach(function(g,y){r0(g);var C=!!g.width,D=ga(y,g),B={\"ss:Index\":y+1};C&&(B[\"ss:Width\"]=ia(D.width)),g.hidden&&(B[\"ss:Hidden\"]=\"1\"),f.push(j(\"Column\",null,B))});for(var o=Array.isArray(e),c=n.s.r;c<=n.e.r;++c){for(var l=[Mh(c,(e[\"!rows\"]||[])[c])],v=n.s.c;v<=n.e.c;++v){var h=!1;for(s=0;s!=i.length;++s)if(!(i[s].s.c>v)&&!(i[s].s.r>c)&&!(i[s].e.c<v)&&!(i[s].e.r<c)){(i[s].s.c!=v||i[s].s.r!=c)&&(h=!0);break}if(!h){var d={r:c,c:v},_=ge(d),u=o?(e[c]||[])[v]:e[_];l.push(Bh(u,_,e,t,r,a,d))}}l.push(\"</Row>\"),l.length>2&&f.push(l.join(\"\"))}return f.join(\"\")}function Wh(e,t,r){var a=[],n=r.SheetNames[e],i=r.Sheets[n],s=i?bh(i,t,e,r):\"\";return s.length>0&&a.push(\"<Names>\"+s+\"</Names>\"),s=i?Uh(i,t,e,r):\"\",s.length>0&&a.push(\"<Table>\"+s+\"</Table>\"),a.push(Ph(i,t,e,r)),a.join(\"\")}function Hh(e,t){t||(t={}),e.SSF||(e.SSF=ar(ye)),e.SSF&&(ha(),ua(e.SSF),t.revssf=xa(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF,t.cellXfs=[],Ur(t.cellXfs,{},{revssf:{General:0}}));var r=[];r.push(Oh(e,t)),r.push(Ih(e,t)),r.push(\"\"),r.push(\"\");for(var a=0;a<e.SheetNames.length;++a)r.push(j(\"Worksheet\",Wh(a,t,e),{\"ss:Name\":me(e.SheetNames[a])}));return r[2]=Rh(e,t),r[3]=Nh(e,t),Oe+j(\"Workbook\",r.join(\"\"),{xmlns:fr.ss,\"xmlns:o\":fr.o,\"xmlns:x\":fr.x,\"xmlns:ss\":fr.ss,\"xmlns:dt\":fr.dt,\"xmlns:html\":fr.html})}var Oa={SI:\"e0859ff2f94f6810ab9108002b27b3d9\",DSI:\"02d5cdd59c2e1b10939708002b2cf9ae\",UDI:\"05d5cdd59c2e1b10939708002b2cf9ae\"};function Vh(e,t){var r=[],a=[],n=[],i=0,s,f=C0(H0,\"n\"),o=C0(V0,\"n\");if(e.Props)for(s=ze(e.Props),i=0;i<s.length;++i)(Object.prototype.hasOwnProperty.call(f,s[i])?r:Object.prototype.hasOwnProperty.call(o,s[i])?a:n).push([s[i],e.Props[s[i]]]);if(e.Custprops)for(s=ze(e.Custprops),i=0;i<s.length;++i)Object.prototype.hasOwnProperty.call(e.Props||{},s[i])||(Object.prototype.hasOwnProperty.call(f,s[i])?r:Object.prototype.hasOwnProperty.call(o,s[i])?a:n).push([s[i],e.Custprops[s[i]]]);var c=[];for(i=0;i<n.length;++i)Kn.indexOf(n[i][0])>-1||Gn.indexOf(n[i][0])>-1||n[i][1]!=null&&c.push(n[i]);a.length&&we.utils.cfb_add(t,\"/\u0005SummaryInformation\",K0(a,Oa.SI,o,V0)),(r.length||c.length)&&we.utils.cfb_add(t,\"/\u0005DocumentSummaryInformation\",K0(r,Oa.DSI,f,H0,c.length?c:null,Oa.UDI))}function Xh(e,t){var r=t||{},a=we.utils.cfb_new({root:\"R\"}),n=\"/Workbook\";switch(r.bookType||\"xls\"){case\"xls\":r.bookType=\"biff8\";case\"xla\":r.bookType||(r.bookType=\"xla\");case\"biff8\":n=\"/Workbook\",r.biff=8;break;case\"biff5\":n=\"/Book\",r.biff=5;break;default:throw new Error(\"invalid type \"+r.bookType+\" for XLS CFB\")}return we.utils.cfb_add(a,n,Si(e,r)),r.biff==8&&(e.Props||e.Custprops)&&Vh(e,a),r.biff==8&&e.vbaraw&&so(a,we.read(e.vbaraw,{type:typeof e.vbaraw==\"string\"?\"binary\":\"buffer\"})),a}var Gh={0:{f:Kl},1:{f:ru},2:{f:ku},3:{f:ou},4:{f:iu},5:{f:mu},6:{f:yu},7:{f:xu},8:{f:Nu},9:{f:Ru},10:{f:Ou},11:{f:Iu},12:{f:au},13:{f:Tu},14:{f:uu},15:{f:fu},16:{f:_u},17:{f:Cu},18:{f:vu},19:{f:qa},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:gh},40:{},42:{},43:{f:Fc},44:{f:Tc},45:{f:Cc},46:{f:Oc},47:{f:Dc},48:{},49:{f:rf},50:{},51:{f:\\$c},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:ac},62:{f:Fu},63:{f:Zc},64:{f:Yu},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:Tr,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:zu},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:Ql},148:{f:Jl,p:16},151:{f:Uu},152:{},153:{f:ph},154:{},155:{},156:{f:dh},157:{},158:{},159:{T:1,f:xc},160:{T:-1},161:{T:1,f:Qr},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:bu},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:Gc},336:{T:-1},337:{f:Yc,T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:Pa},357:{},358:{},359:{},360:{T:1},361:{},362:{f:qf},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:Wu},427:{f:Hu},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:Xu},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:Zl},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:Bu},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:Pa},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:ao},633:{T:1},634:{T:-1},635:{T:1,f:ro},636:{T:-1},637:{f:sf},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:ch},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:Ju},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:\"\"}};function Y(e,t,r,a){var n=t;if(!isNaN(n)){var i=a||(r||[]).length||0,s=e.next(4);s.write_shift(2,n),s.write_shift(2,i),i>0&&ja(r)&&e.push(r)}}function zh(e,t,r,a){var n=a||(r||[]).length||0;if(n<=8224)return Y(e,t,r,n);var i=t;if(!isNaN(i)){for(var s=r.parts||[],f=0,o=0,c=0;c+(s[f]||8224)<=8224;)c+=s[f]||8224,f++;var l=e.next(4);for(l.write_shift(2,i),l.write_shift(2,c),e.push(r.slice(o,o+c)),o+=c;o<n;){for(l=e.next(4),l.write_shift(2,60),c=0;c+(s[f]||8224)<=8224;)c+=s[f]||8224,f++;l.write_shift(2,c),e.push(r.slice(o,o+c)),o+=c}}}function Ut(e,t,r){return e||(e=b(7)),e.write_shift(2,t),e.write_shift(2,r),e.write_shift(2,0),e.write_shift(1,0),e}function \\$h(e,t,r,a){var n=b(9);return Ut(n,e,t),Yn(r,a||\"b\",n),n}function Kh(e,t,r){var a=b(8+2*r.length);return Ut(a,e,t),a.write_shift(1,r.length),a.write_shift(r.length,r,\"sbcs\"),a.l<a.length?a.slice(0,a.l):a}function jh(e,t,r,a){if(t.v!=null)switch(t.t){case\"d\":case\"n\":var n=t.t==\"d\"?tr(qe(t.v)):t.v;n==(n|0)&&n>=0&&n<65536?Y(e,2,fc(r,a,n)):Y(e,3,sc(r,a,n));return;case\"b\":case\"e\":Y(e,5,\\$h(r,a,t.v,t.t));return;case\"s\":case\"str\":Y(e,4,Kh(r,a,(t.v||\"\").slice(0,255)));return}Y(e,1,Ut(null,r,a))}function Yh(e,t,r,a){var n=Array.isArray(t),i=Te(t[\"!ref\"]||\"A1\"),s,f=\"\",o=[];if(i.e.c>255||i.e.r>16383){if(a.WTF)throw new Error(\"Range \"+(t[\"!ref\"]||\"A1\")+\" exceeds format limit A1:IV16384\");i.e.c=Math.min(i.e.c,255),i.e.r=Math.min(i.e.c,16383),s=De(i)}for(var c=i.s.r;c<=i.e.r;++c){f=Ge(c);for(var l=i.s.c;l<=i.e.c;++l){c===i.s.r&&(o[l]=\\$e(l)),s=o[l]+f;var v=n?(t[c]||[])[l]:t[s];v&&jh(e,v,c,l,a)}}}function Jh(e,t){var r=t||{};Er!=null&&r.dense==null&&(r.dense=Er);for(var a=rr(),n=0,i=0;i<e.SheetNames.length;++i)e.SheetNames[i]==r.sheet&&(n=i);if(n==0&&r.sheet&&e.SheetNames[0]!=r.sheet)throw new Error(\"Sheet not found: \"+r.sheet);return Y(a,r.biff==4?1033:r.biff==3?521:9,e0(e,16,r)),Yh(a,e.Sheets[e.SheetNames[n]],n,r,e),Y(a,10),a.end()}function qh(e,t,r){Y(e,49,Xf({sz:12,color:{theme:1},name:\"Arial\",family:2,scheme:\"minor\"},r))}function Zh(e,t,r){t&&[[5,8],[23,26],[41,44],[50,392]].forEach(function(a){for(var n=a[0];n<=a[1];++n)t[n]!=null&&Y(e,1054,\\$f(n,t[n],r))})}function Qh(e,t){var r=b(19);r.write_shift(4,2151),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(2,3),r.write_shift(1,1),r.write_shift(4,0),Y(e,2151,r),r=b(39),r.write_shift(4,2152),r.write_shift(4,0),r.write_shift(4,0),r.write_shift(2,3),r.write_shift(1,0),r.write_shift(4,0),r.write_shift(2,1),r.write_shift(4,4),r.write_shift(2,0),Zn(Te(t[\"!ref\"]||\"A1\"),r),r.write_shift(4,4),Y(e,2152,r)}function e1(e,t){for(var r=0;r<16;++r)Y(e,224,Y0({numFmtId:0,style:!0},0,t));t.cellXfs.forEach(function(a){Y(e,224,Y0(a,0,t))})}function r1(e,t){for(var r=0;r<t[\"!links\"].length;++r){var a=t[\"!links\"][r];Y(e,440,ec(a)),a[1].Tooltip&&Y(e,2048,rc(a))}delete t[\"!links\"]}function t1(e,t){if(t){var r=0;t.forEach(function(a,n){++r<=256&&a&&Y(e,125,nc(ga(n,a),n))})}}function a1(e,t,r,a,n){var i=16+Ur(n.cellXfs,t,n);if(t.v==null&&!t.bf){Y(e,513,jr(r,a,i));return}if(t.bf)Y(e,6,Al(t,r,a,n,i));else switch(t.t){case\"d\":case\"n\":var s=t.t==\"d\"?tr(qe(t.v)):t.v;Y(e,515,Jf(r,a,s,i,n));break;case\"b\":case\"e\":Y(e,517,Yf(r,a,t.v,i,n,t.t));break;case\"s\":case\"str\":if(n.bookSST){var f=i0(n.Strings,t.v,n.revStrings);Y(e,253,Gf(r,a,f,i,n))}else Y(e,516,zf(r,a,(t.v||\"\").slice(0,255),i,n));break;default:Y(e,513,jr(r,a,i))}}function n1(e,t,r){var a=rr(),n=r.SheetNames[e],i=r.Sheets[n]||{},s=(r||{}).Workbook||{},f=(s.Sheets||[])[e]||{},o=Array.isArray(i),c=t.biff==8,l,v=\"\",h=[],d=Te(i[\"!ref\"]||\"A1\"),_=c?65536:16384;if(d.e.c>255||d.e.r>=_){if(t.WTF)throw new Error(\"Range \"+(i[\"!ref\"]||\"A1\")+\" exceeds format limit A1:IV16384\");d.e.c=Math.min(d.e.c,255),d.e.r=Math.min(d.e.c,_-1)}Y(a,2057,e0(r,16,t)),Y(a,13,ur(1)),Y(a,12,ur(100)),Y(a,15,Je(!0)),Y(a,17,Je(!1)),Y(a,16,Kr(.001)),Y(a,95,Je(!0)),Y(a,42,Je(!1)),Y(a,43,Je(!1)),Y(a,130,ur(1)),Y(a,128,jf([0,0])),Y(a,131,Je(!1)),Y(a,132,Je(!1)),c&&t1(a,i[\"!cols\"]),Y(a,512,Kf(d,t)),c&&(i[\"!links\"]=[]);for(var u=d.s.r;u<=d.e.r;++u){v=Ge(u);for(var g=d.s.c;g<=d.e.c;++g){u===d.s.r&&(h[g]=\\$e(g)),l=h[g]+v;var y=o?(i[u]||[])[g]:i[l];y&&(a1(a,y,u,g,t),c&&y.l&&i[\"!links\"].push([l,y.l]))}}var C=f.CodeName||f.name||n;return c&&Y(a,574,Vf((s.Views||[])[0])),c&&(i[\"!merges\"]||[]).length&&Y(a,229,Qf(i[\"!merges\"])),c&&r1(a,i),Y(a,442,qn(C,t)),c&&Qh(a,i),Y(a,10),a.end()}function i1(e,t,r){var a=rr(),n=(e||{}).Workbook||{},i=n.Sheets||[],s=n.WBProps||{},f=r.biff==8,o=r.biff==5;if(Y(a,2057,e0(e,5,r)),r.bookType==\"xla\"&&Y(a,135),Y(a,225,f?ur(1200):null),Y(a,193,Df(2)),o&&Y(a,191),o&&Y(a,192),Y(a,226),Y(a,92,Mf(\"SheetJS\",r)),Y(a,66,ur(f?1200:1252)),f&&Y(a,353,ur(0)),f&&Y(a,448),Y(a,317,ic(e.SheetNames.length)),f&&e.vbaraw&&Y(a,211),f&&e.vbaraw){var c=s.CodeName||\"ThisWorkbook\";Y(a,442,qn(c,r))}Y(a,156,ur(17)),Y(a,25,Je(!1)),Y(a,18,Je(!1)),Y(a,19,ur(0)),f&&Y(a,431,Je(!1)),f&&Y(a,444,ur(0)),Y(a,61,Hf(r)),Y(a,64,Je(!1)),Y(a,141,ur(0)),Y(a,34,Je(lh(e)==\"true\")),Y(a,14,Je(!0)),f&&Y(a,439,Je(!1)),Y(a,218,ur(0)),qh(a,e,r),Zh(a,e.SSF,r),e1(a,r),f&&Y(a,352,Je(!1));var l=a.end(),v=rr();f&&Y(v,140,tc()),f&&r.Strings&&zh(v,252,Wf(r.Strings,r)),Y(v,10);var h=v.end(),d=rr(),_=0,u=0;for(u=0;u<e.SheetNames.length;++u)_+=(f?12:11)+(f?2:1)*e.SheetNames[u].length;var g=l.length+_+h.length;for(u=0;u<e.SheetNames.length;++u){var y=i[u]||{};Y(d,133,Uf({pos:g,hs:y.Hidden||0,dt:0,name:e.SheetNames[u]},r)),g+=t[u].length}var C=d.end();if(_!=C.length)throw new Error(\"BS8 \"+_+\" != \"+C.length);var D=[];return l.length&&D.push(l),C.length&&D.push(C),h.length&&D.push(h),Ve(D)}function s1(e,t){var r=t||{},a=[];e&&!e.SSF&&(e.SSF=ar(ye)),e&&e.SSF&&(ha(),ua(e.SSF),r.revssf=xa(e.SSF),r.revssf[e.SSF[65535]]=0,r.ssf=e.SSF),r.Strings=[],r.Strings.Count=0,r.Strings.Unique=0,s0(r),r.cellXfs=[],Ur(r.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={});for(var n=0;n<e.SheetNames.length;++n)a[a.length]=n1(n,r,e);return a.unshift(i1(e,a,r)),Ve(a)}function Si(e,t){for(var r=0;r<=e.SheetNames.length;++r){var a=e.Sheets[e.SheetNames[r]];if(!(!a||!a[\"!ref\"])){var n=cr(a[\"!ref\"]);n.e.c>255&&typeof console<\"u\"&&console.error&&console.error(\"Worksheet '\"+e.SheetNames[r]+\"' extends beyond column IV (255). Data may be lost.\")}}var i=t||{};switch(i.biff||2){case 8:case 5:return s1(e,t);case 4:case 3:case 2:return Jh(e,t)}throw new Error(\"invalid type \"+i.bookType+\" for BIFF\")}function f1(e,t,r,a){for(var n=e[\"!merges\"]||[],i=[],s=t.s.c;s<=t.e.c;++s){for(var f=0,o=0,c=0;c<n.length;++c)if(!(n[c].s.r>r||n[c].s.c>s)&&!(n[c].e.r<r||n[c].e.c<s)){if(n[c].s.r<r||n[c].s.c<s){f=-1;break}f=n[c].e.r-n[c].s.r+1,o=n[c].e.c-n[c].s.c+1;break}if(!(f<0)){var l=ge({r,c:s}),v=a.dense?(e[r]||[])[s]:e[l],h=v&&v.v!=null&&(v.h||Ps(v.w||(Ir(v),v.w)||\"\"))||\"\",d={};f>1&&(d.rowspan=f),o>1&&(d.colspan=o),a.editable?h='<span contenteditable=\"true\">'+h+\"</span>\":v&&(d[\"data-t\"]=v&&v.t||\"z\",v.v!=null&&(d[\"data-v\"]=v.v),v.z!=null&&(d[\"data-z\"]=v.z),v.l&&(v.l.Target||\"#\").charAt(0)!=\"#\"&&(h='<a href=\"'+v.l.Target+'\">'+h+\"</a>\")),d.id=(a.id||\"sjs\")+\"-\"+l,i.push(j(\"td\",h,d))}}var _=\"<tr>\";return _+i.join(\"\")+\"</tr>\"}var c1='<html><head><meta charset=\"utf-8\"/><title>SheetJS Table Export</title></head><body>',o1=\"</body></html>\";function l1(e,t,r){var a=[];return a.join(\"\")+\"<table\"+(r&&r.id?' id=\"'+r.id+'\"':\"\")+\">\"}function Fi(e,t){var r=t||{},a=r.header!=null?r.header:c1,n=r.footer!=null?r.footer:o1,i=[a],s=cr(e[\"!ref\"]);r.dense=Array.isArray(e),i.push(l1(e,s,r));for(var f=s.s.r;f<=s.e.r;++f)i.push(f1(e,s,f,r));return i.push(\"</table>\"+n),i.join(\"\")}function yi(e,t,r){var a=r||{};Er!=null&&(a.dense=Er);var n=0,i=0;if(a.origin!=null)if(typeof a.origin==\"number\")n=a.origin;else{var s=typeof a.origin==\"string\"?Le(a.origin):a.origin;n=s.r,i=s.c}var f=t.getElementsByTagName(\"tr\"),o=Math.min(a.sheetRows||1e7,f.length),c={s:{r:0,c:0},e:{r:n,c:i}};if(e[\"!ref\"]){var l=cr(e[\"!ref\"]);c.s.r=Math.min(c.s.r,l.s.r),c.s.c=Math.min(c.s.c,l.s.c),c.e.r=Math.max(c.e.r,l.e.r),c.e.c=Math.max(c.e.c,l.e.c),n==-1&&(c.e.r=n=l.e.r+1)}var v=[],h=0,d=e[\"!rows\"]||(e[\"!rows\"]=[]),_=0,u=0,g=0,y=0,C=0,D=0;for(e[\"!cols\"]||(e[\"!cols\"]=[]);_<f.length&&u<o;++_){var B=f[_];if(tn(B)){if(a.display)continue;d[u]={hidden:!0}}var G=B.children;for(g=y=0;g<G.length;++g){var te=G[g];if(!(a.display&&tn(te))){var A=te.hasAttribute(\"data-v\")?te.getAttribute(\"data-v\"):te.hasAttribute(\"v\")?te.getAttribute(\"v\"):Us(te.innerHTML),W=te.getAttribute(\"data-z\")||te.getAttribute(\"z\");for(h=0;h<v.length;++h){var L=v[h];L.s.c==y+i&&L.s.r<u+n&&u+n<=L.e.r&&(y=L.e.c+1-i,h=-1)}D=+te.getAttribute(\"colspan\")||1,((C=+te.getAttribute(\"rowspan\")||1)>1||D>1)&&v.push({s:{r:u+n,c:y+i},e:{r:u+n+(C||1)-1,c:y+i+(D||1)-1}});var U={t:\"s\",v:A},X=te.getAttribute(\"data-t\")||te.getAttribute(\"t\")||\"\";A!=null&&(A.length==0?U.t=X||\"z\":a.raw||A.trim().length==0||X==\"s\"||(A===\"TRUE\"?U={t:\"b\",v:!0}:A===\"FALSE\"?U={t:\"b\",v:!1}:isNaN(Cr(A))?isNaN(It(A).getDate())||(U={t:\"d\",v:qe(A)},a.cellDates||(U={t:\"n\",v:tr(U.v)}),U.z=a.dateNF||ye[14]):U={t:\"n\",v:Cr(A)})),U.z===void 0&&W!=null&&(U.z=W);var z=\"\",ie=te.getElementsByTagName(\"A\");if(ie&&ie.length)for(var de=0;de<ie.length&&!(ie[de].hasAttribute(\"href\")&&(z=ie[de].getAttribute(\"href\"),z.charAt(0)!=\"#\"));++de);z&&z.charAt(0)!=\"#\"&&(U.l={Target:z}),a.dense?(e[u+n]||(e[u+n]=[]),e[u+n][y+i]=U):e[ge({c:y+i,r:u+n})]=U,c.e.c<y+i&&(c.e.c=y+i),y+=D}}++u}return v.length&&(e[\"!merges\"]=(e[\"!merges\"]||[]).concat(v)),c.e.r=Math.max(c.e.r,u-1+n),e[\"!ref\"]=De(c),u>=o&&(e[\"!fullref\"]=De((c.e.r=f.length-_+u-1+n,c))),e}function Ai(e,t){var r=t||{},a=r.dense?[]:{};return yi(a,e,t)}function u1(e,t){return Yr(Ai(e,t),t)}function tn(e){var t=\"\",r=h1(e);return r&&(t=r(e).getPropertyValue(\"display\")),t||(t=e.style&&e.style.display),t===\"none\"}function h1(e){return e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle==\"function\"?e.ownerDocument.defaultView.getComputedStyle:typeof getComputedStyle==\"function\"?getComputedStyle:null}var x1=(function(){var e=[\"<office:master-styles>\",'<style:master-page style:name=\"mp1\" style:page-layout-name=\"mp1\">',\"<style:header/>\",'<style:header-left style:display=\"false\"/>',\"<style:footer/>\",'<style:footer-left style:display=\"false\"/>',\"</style:master-page>\",\"</office:master-styles>\"].join(\"\"),t=\"<office:document-styles \"+Rt({\"xmlns:office\":\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\"xmlns:table\":\"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\"xmlns:style\":\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\"xmlns:text\":\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\"xmlns:draw\":\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\"xmlns:fo\":\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"xmlns:dc\":\"http://purl.org/dc/elements/1.1/\",\"xmlns:number\":\"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\"xmlns:svg\":\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\"xmlns:of\":\"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\"office:version\":\"1.2\"})+\">\"+e+\"</office:document-styles>\";return function(){return Oe+t}})(),an=(function(){var e=function(i){return me(i).replace(/ +/g,function(s){return'<text:s text:c=\"'+s.length+'\"/>'}).replace(/\\\\t/g,\"<text:tab/>\").replace(/\\\\n/g,\"</text:p><text:p>\").replace(/^ /,\"<text:s/>\").replace(/ \\$/,\"<text:s/>\")},t=\\` <table:table-cell />\n\\`,r=\\` <table:covered-table-cell/>\n\\`,a=function(i,s,f){var o=[];o.push(' <table:table table:name=\"'+me(s.SheetNames[f])+\\`\" table:style-name=\"ta1\">\n\\`);var c=0,l=0,v=cr(i[\"!ref\"]||\"A1\"),h=i[\"!merges\"]||[],d=0,_=Array.isArray(i);if(i[\"!cols\"])for(l=0;l<=v.e.c;++l)o.push(\" <table:table-column\"+(i[\"!cols\"][l]?' table:style-name=\"co'+i[\"!cols\"][l].ods+'\"':\"\")+\\`></table:table-column>\n\\`);var u=\"\",g=i[\"!rows\"]||[];for(c=0;c<v.s.r;++c)u=g[c]?' table:style-name=\"ro'+g[c].ods+'\"':\"\",o.push(\" <table:table-row\"+u+\\`></table:table-row>\n\\`);for(;c<=v.e.r;++c){for(u=g[c]?' table:style-name=\"ro'+g[c].ods+'\"':\"\",o.push(\" <table:table-row\"+u+\\`>\n\\`),l=0;l<v.s.c;++l)o.push(t);for(;l<=v.e.c;++l){var y=!1,C={},D=\"\";for(d=0;d!=h.length;++d)if(!(h[d].s.c>l)&&!(h[d].s.r>c)&&!(h[d].e.c<l)&&!(h[d].e.r<c)){(h[d].s.c!=l||h[d].s.r!=c)&&(y=!0),C[\"table:number-columns-spanned\"]=h[d].e.c-h[d].s.c+1,C[\"table:number-rows-spanned\"]=h[d].e.r-h[d].s.r+1;break}if(y){o.push(r);continue}var B=ge({r:c,c:l}),G=_?(i[c]||[])[l]:i[B];if(G&&G.f&&(C[\"table:formula\"]=me(Nl(G.f)),G.F&&G.F.slice(0,B.length)==B)){var te=cr(G.F);C[\"table:number-matrix-columns-spanned\"]=te.e.c-te.s.c+1,C[\"table:number-matrix-rows-spanned\"]=te.e.r-te.s.r+1}if(!G){o.push(t);continue}switch(G.t){case\"b\":D=G.v?\"TRUE\":\"FALSE\",C[\"office:value-type\"]=\"boolean\",C[\"office:boolean-value\"]=G.v?\"true\":\"false\";break;case\"n\":D=G.w||String(G.v||0),C[\"office:value-type\"]=\"float\",C[\"office:value\"]=G.v||0;break;case\"s\":case\"str\":D=G.v==null?\"\":G.v,C[\"office:value-type\"]=\"string\";break;case\"d\":D=G.w||qe(G.v).toISOString(),C[\"office:value-type\"]=\"date\",C[\"office:date-value\"]=qe(G.v).toISOString(),C[\"table:style-name\"]=\"ce1\";break;default:o.push(t);continue}var A=e(D);if(G.l&&G.l.Target){var W=G.l.Target;W=W.charAt(0)==\"#\"?\"#\"+bl(W.slice(1)):W,W.charAt(0)!=\"#\"&&!W.match(/^\\\\w+:/)&&(W=\"../\"+W),A=j(\"text:a\",A,{\"xlink:href\":W.replace(/&/g,\"&amp;\")})}o.push(\" \"+j(\"table:table-cell\",j(\"text:p\",A,{}),C)+\\`\n\\`)}o.push(\\` </table:table-row>\n\\`)}return o.push(\\` </table:table>\n\\`),o.join(\"\")},n=function(i,s){i.push(\\` <office:automatic-styles>\n\\`),i.push(\\` <number:date-style style:name=\"N37\" number:automatic-order=\"true\">\n\\`),i.push(\\` <number:month number:style=\"long\"/>\n\\`),i.push(\\` <number:text>/</number:text>\n\\`),i.push(\\` <number:day number:style=\"long\"/>\n\\`),i.push(\\` <number:text>/</number:text>\n\\`),i.push(\\` <number:year/>\n\\`),i.push(\\` </number:date-style>\n\\`);var f=0;s.SheetNames.map(function(c){return s.Sheets[c]}).forEach(function(c){if(c&&c[\"!cols\"]){for(var l=0;l<c[\"!cols\"].length;++l)if(c[\"!cols\"][l]){var v=c[\"!cols\"][l];if(v.width==null&&v.wpx==null&&v.wch==null)continue;r0(v),v.ods=f;var h=c[\"!cols\"][l].wpx+\"px\";i.push(' <style:style style:name=\"co'+f+\\`\" style:family=\"table-column\">\n\\`),i.push(' <style:table-column-properties fo:break-before=\"auto\" style:column-width=\"'+h+\\`\"/>\n\\`),i.push(\\` </style:style>\n\\`),++f}}});var o=0;s.SheetNames.map(function(c){return s.Sheets[c]}).forEach(function(c){if(c&&c[\"!rows\"]){for(var l=0;l<c[\"!rows\"].length;++l)if(c[\"!rows\"][l]){c[\"!rows\"][l].ods=o;var v=c[\"!rows\"][l].hpx+\"px\";i.push(' <style:style style:name=\"ro'+o+\\`\" style:family=\"table-row\">\n\\`),i.push(' <style:table-row-properties fo:break-before=\"auto\" style:row-height=\"'+v+\\`\"/>\n\\`),i.push(\\` </style:style>\n\\`),++o}}}),i.push(\\` <style:style style:name=\"ta1\" style:family=\"table\" style:master-page-name=\"mp1\">\n\\`),i.push(\\` <style:table-properties table:display=\"true\" style:writing-mode=\"lr-tb\"/>\n\\`),i.push(\\` </style:style>\n\\`),i.push(\\` <style:style style:name=\"ce1\" style:family=\"table-cell\" style:parent-style-name=\"Default\" style:data-style-name=\"N37\"/>\n\\`),i.push(\\` </office:automatic-styles>\n\\`)};return function(s,f){var o=[Oe],c=Rt({\"xmlns:office\":\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\"xmlns:table\":\"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\"xmlns:style\":\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\"xmlns:text\":\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\"xmlns:draw\":\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\"xmlns:fo\":\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"xmlns:dc\":\"http://purl.org/dc/elements/1.1/\",\"xmlns:meta\":\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\"xmlns:number\":\"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\"xmlns:presentation\":\"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\"xmlns:svg\":\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\"xmlns:chart\":\"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\"xmlns:dr3d\":\"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\"xmlns:math\":\"http://www.w3.org/1998/Math/MathML\",\"xmlns:form\":\"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\"xmlns:script\":\"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\"xmlns:ooo\":\"http://openoffice.org/2004/office\",\"xmlns:ooow\":\"http://openoffice.org/2004/writer\",\"xmlns:oooc\":\"http://openoffice.org/2004/calc\",\"xmlns:dom\":\"http://www.w3.org/2001/xml-events\",\"xmlns:xforms\":\"http://www.w3.org/2002/xforms\",\"xmlns:xsd\":\"http://www.w3.org/2001/XMLSchema\",\"xmlns:xsi\":\"http://www.w3.org/2001/XMLSchema-instance\",\"xmlns:sheet\":\"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\"xmlns:rpt\":\"http://openoffice.org/2005/report\",\"xmlns:of\":\"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\"xmlns:xhtml\":\"http://www.w3.org/1999/xhtml\",\"xmlns:grddl\":\"http://www.w3.org/2003/g/data-view#\",\"xmlns:tableooo\":\"http://openoffice.org/2009/table\",\"xmlns:drawooo\":\"http://openoffice.org/2010/draw\",\"xmlns:calcext\":\"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\"xmlns:loext\":\"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\"xmlns:field\":\"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\"xmlns:formx\":\"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\"xmlns:css3t\":\"http://www.w3.org/TR/css3-text/\",\"office:version\":\"1.2\"}),l=Rt({\"xmlns:config\":\"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\"office:mimetype\":\"application/vnd.oasis.opendocument.spreadsheet\"});f.bookType==\"fods\"?(o.push(\"<office:document\"+c+l+\\`>\n\\`),o.push(Vn().replace(/office:document-meta/g,\"office:meta\"))):o.push(\"<office:document-content\"+c+\\`>\n\\`),n(o,s),o.push(\\` <office:body>\n\\`),o.push(\\` <office:spreadsheet>\n\\`);for(var v=0;v!=s.SheetNames.length;++v)o.push(a(s.Sheets[s.SheetNames[v]],s,v,f));return o.push(\\` </office:spreadsheet>\n\\`),o.push(\\` </office:body>\n\\`),f.bookType==\"fods\"?o.push(\"</office:document>\"):o.push(\"</office:document-content>\"),o.join(\"\")}})();function Ci(e,t){if(t.bookType==\"fods\")return an(e,t);var r=Wa(),a=\"\",n=[],i=[];return a=\"mimetype\",oe(r,a,\"application/vnd.oasis.opendocument.spreadsheet\"),a=\"content.xml\",oe(r,a,an(e,t)),n.push([a,\"text/xml\"]),i.push([a,\"ContentFile\"]),a=\"styles.xml\",oe(r,a,x1(e,t)),n.push([a,\"text/xml\"]),i.push([a,\"StylesFile\"]),a=\"meta.xml\",oe(r,a,Oe+Vn()),n.push([a,\"text/xml\"]),i.push([a,\"MetadataFile\"]),a=\"manifest.rdf\",oe(r,a,Sf(i)),n.push([a,\"application/rdf+xml\"]),a=\"META-INF/manifest.xml\",oe(r,a,Ef(n)),r}function ca(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function d1(e){return typeof TextEncoder<\"u\"?new TextEncoder().encode(e):pr(yr(e))}function v1(e,t){e:for(var r=0;r<=e.length-t.length;++r){for(var a=0;a<t.length;++a)if(e[r+a]!=t[a])continue e;return!0}return!1}function Mr(e){var t=e.reduce(function(n,i){return n+i.length},0),r=new Uint8Array(t),a=0;return e.forEach(function(n){r.set(n,a),a+=n.length}),r}function p1(e,t,r){var a=Math.floor(r==0?0:Math.LOG10E*Math.log(Math.abs(r)))+6176-20,n=r/Math.pow(10,a-6176);e[t+15]|=a>>7,e[t+14]|=(a&127)<<1;for(var i=0;n>=1;++i,n/=256)e[t+i]=n&255;e[t+15]|=r>=0?0:128}function Nt(e,t){var r=t?t[0]:0,a=e[r]&127;e:if(e[r++]>=128&&(a|=(e[r]&127)<<7,e[r++]<128||(a|=(e[r]&127)<<14,e[r++]<128)||(a|=(e[r]&127)<<21,e[r++]<128)||(a+=(e[r]&127)*Math.pow(2,28),++r,e[r++]<128)||(a+=(e[r]&127)*Math.pow(2,35),++r,e[r++]<128)||(a+=(e[r]&127)*Math.pow(2,42),++r,e[r++]<128)))break e;return t&&(t[0]=r),a}function ve(e){var t=new Uint8Array(7);t[0]=e&127;var r=1;e:if(e>127){if(t[r-1]|=128,t[r]=e>>7&127,++r,e<=16383||(t[r-1]|=128,t[r]=e>>14&127,++r,e<=2097151)||(t[r-1]|=128,t[r]=e>>21&127,++r,e<=268435455)||(t[r-1]|=128,t[r]=e/256>>>21&127,++r,e<=34359738367)||(t[r-1]|=128,t[r]=e/65536>>>21&127,++r,e<=4398046511103))break e;t[r-1]|=128,t[r]=e/16777216>>>21&127,++r}return t.slice(0,r)}function lt(e){var t=0,r=e[t]&127;e:if(e[t++]>=128){if(r|=(e[t]&127)<<7,e[t++]<128||(r|=(e[t]&127)<<14,e[t++]<128)||(r|=(e[t]&127)<<21,e[t++]<128))break e;r|=(e[t]&127)<<28}return r}function Ie(e){for(var t=[],r=[0];r[0]<e.length;){var a=r[0],n=Nt(e,r),i=n&7;n=Math.floor(n/8);var s=0,f;if(n==0)break;switch(i){case 0:{for(var o=r[0];e[r[0]++]>=128;);f=e.slice(o,r[0])}break;case 5:s=4,f=e.slice(r[0],r[0]+s),r[0]+=s;break;case 1:s=8,f=e.slice(r[0],r[0]+s),r[0]+=s;break;case 2:s=Nt(e,r),f=e.slice(r[0],r[0]+s),r[0]+=s;break;default:throw new Error(\"PB Type \".concat(i,\" for Field \").concat(n,\" at offset \").concat(a))}var c={data:f,type:i};t[n]==null?t[n]=[c]:t[n].push(c)}return t}function We(e){var t=[];return e.forEach(function(r,a){r.forEach(function(n){n.data&&(t.push(ve(a*8+n.type)),n.type==2&&t.push(ve(n.data.length)),t.push(n.data))})}),Mr(t)}function dr(e){for(var t,r=[],a=[0];a[0]<e.length;){var n=Nt(e,a),i=Ie(e.slice(a[0],a[0]+n));a[0]+=n;var s={id:lt(i[1][0].data),messages:[]};i[2].forEach(function(f){var o=Ie(f.data),c=lt(o[3][0].data);s.messages.push({meta:o,data:e.slice(a[0],a[0]+c)}),a[0]+=c}),(t=i[3])!=null&&t[0]&&(s.merge=lt(i[3][0].data)>>>0>0),r.push(s)}return r}function tt(e){var t=[];return e.forEach(function(r){var a=[];a[1]=[{data:ve(r.id),type:0}],a[2]=[],r.merge!=null&&(a[3]=[{data:ve(+!!r.merge),type:0}]);var n=[];r.messages.forEach(function(s){n.push(s.data),s.meta[3]=[{type:0,data:ve(s.data.length)}],a[2].push({data:We(s.meta),type:2})});var i=We(a);t.push(ve(i.length)),t.push(i),n.forEach(function(s){return t.push(s)})}),Mr(t)}function m1(e,t){if(e!=0)throw new Error(\"Unexpected Snappy chunk type \".concat(e));for(var r=[0],a=Nt(t,r),n=[];r[0]<t.length;){var i=t[r[0]]&3;if(i==0){var s=t[r[0]++]>>2;if(s<60)++s;else{var f=s-59;s=t[r[0]],f>1&&(s|=t[r[0]+1]<<8),f>2&&(s|=t[r[0]+2]<<16),f>3&&(s|=t[r[0]+3]<<24),s>>>=0,s++,r[0]+=f}n.push(t.slice(r[0],r[0]+s)),r[0]+=s;continue}else{var o=0,c=0;if(i==1?(c=(t[r[0]]>>2&7)+4,o=(t[r[0]++]&224)<<3,o|=t[r[0]++]):(c=(t[r[0]++]>>2)+1,i==2?(o=t[r[0]]|t[r[0]+1]<<8,r[0]+=2):(o=(t[r[0]]|t[r[0]+1]<<8|t[r[0]+2]<<16|t[r[0]+3]<<24)>>>0,r[0]+=4)),n=[Mr(n)],o==0)throw new Error(\"Invalid offset 0\");if(o>n[0].length)throw new Error(\"Invalid offset beyond length\");if(c>=o)for(n.push(n[0].slice(-o)),c-=o;c>=n[n.length-1].length;)n.push(n[n.length-1]),c-=n[n.length-1].length;n.push(n[0].slice(-o,-o+c))}}var l=Mr(n);if(l.length!=a)throw new Error(\"Unexpected length: \".concat(l.length,\" != \").concat(a));return l}function vr(e){for(var t=[],r=0;r<e.length;){var a=e[r++],n=e[r]|e[r+1]<<8|e[r+2]<<16;r+=3,t.push(m1(a,e.slice(r,r+n))),r+=n}if(r!==e.length)throw new Error(\"data is not a valid framed stream!\");return Mr(t)}function at(e){for(var t=[],r=0;r<e.length;){var a=Math.min(e.length-r,268435455),n=new Uint8Array(4);t.push(n);var i=ve(a),s=i.length;t.push(i),a<=60?(s++,t.push(new Uint8Array([a-1<<2]))):a<=256?(s+=2,t.push(new Uint8Array([240,a-1&255]))):a<=65536?(s+=3,t.push(new Uint8Array([244,a-1&255,a-1>>8&255]))):a<=16777216?(s+=4,t.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))):a<=4294967296&&(s+=5,t.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))),t.push(e.slice(r,r+a)),s+=a,n[0]=0,n[1]=s&255,n[2]=s>>8&255,n[3]=s>>16&255,r+=a}return Mr(t)}function Ia(e,t){var r=new Uint8Array(32),a=ca(r),n=12,i=0;switch(r[0]=5,e.t){case\"n\":r[1]=2,p1(r,n,e.v),i|=1,n+=16;break;case\"b\":r[1]=6,a.setFloat64(n,e.v?1:0,!0),i|=2,n+=8;break;case\"s\":if(t.indexOf(e.v)==-1)throw new Error(\"Value \".concat(e.v,\" missing from SST!\"));r[1]=3,a.setUint32(n,t.indexOf(e.v),!0),i|=8,n+=4;break;default:throw\"unsupported cell type \"+e.t}return a.setUint32(8,i,!0),r.slice(0,n)}function Ra(e,t){var r=new Uint8Array(32),a=ca(r),n=12,i=0;switch(r[0]=3,e.t){case\"n\":r[2]=2,a.setFloat64(n,e.v,!0),i|=32,n+=8;break;case\"b\":r[2]=6,a.setFloat64(n,e.v?1:0,!0),i|=32,n+=8;break;case\"s\":if(t.indexOf(e.v)==-1)throw new Error(\"Value \".concat(e.v,\" missing from SST!\"));r[2]=3,a.setUint32(n,t.indexOf(e.v),!0),i|=16,n+=4;break;default:throw\"unsupported cell type \"+e.t}return a.setUint32(4,i,!0),r.slice(0,n)}function Nr(e){var t=Ie(e);return Nt(t[1][0].data)}function g1(e,t,r){var a,n,i,s;if(!((a=e[6])!=null&&a[0])||!((n=e[7])!=null&&n[0]))throw\"Mutation only works on post-BNC storages!\";var f=((s=(i=e[8])==null?void 0:i[0])==null?void 0:s.data)&&lt(e[8][0].data)>0||!1;if(f)throw\"Math only works with normal offsets\";for(var o=0,c=ca(e[7][0].data),l=0,v=[],h=ca(e[4][0].data),d=0,_=[],u=0;u<t.length;++u){if(t[u]==null){c.setUint16(u*2,65535,!0),h.setUint16(u*2,65535);continue}c.setUint16(u*2,l,!0),h.setUint16(u*2,d,!0);var g,y;switch(typeof t[u]){case\"string\":g=Ia({t:\"s\",v:t[u]},r),y=Ra({t:\"s\",v:t[u]},r);break;case\"number\":g=Ia({t:\"n\",v:t[u]},r),y=Ra({t:\"n\",v:t[u]},r);break;case\"boolean\":g=Ia({t:\"b\",v:t[u]},r),y=Ra({t:\"b\",v:t[u]},r);break;default:throw new Error(\"Unsupported value \"+t[u])}v.push(g),l+=g.length,_.push(y),d+=y.length,++o}for(e[2][0].data=ve(o);u<e[7][0].data.length/2;++u)c.setUint16(u*2,65535,!0),h.setUint16(u*2,65535,!0);return e[6][0].data=Mr(v),e[3][0].data=Mr(_),o}function _1(e,t){if(!t||!t.numbers)throw new Error(\"Must pass a \\`numbers\\` option -- check the README\");var r=e.Sheets[e.SheetNames[0]];e.SheetNames.length>1&&console.error(\"The Numbers writer currently writes only the first table\");var a=cr(r[\"!ref\"]);a.s.r=a.s.c=0;var n=!1;a.e.c>9&&(n=!0,a.e.c=9),a.e.r>49&&(n=!0,a.e.r=49),n&&console.error(\"The Numbers writer is currently limited to \".concat(De(a)));var i=oa(r,{range:a,header:1}),s=[\"~Sh33tJ5~\"];i.forEach(function(F){return F.forEach(function(S){typeof S==\"string\"&&s.push(S)})});var f={},o=[],c=we.read(t.numbers,{type:\"base64\"});c.FileIndex.map(function(F,S){return[F,c.FullPaths[S]]}).forEach(function(F){var S=F[0],V=F[1];if(S.type==2&&S.name.match(/\\\\.iwa/)){var ne=S.content,fe=vr(ne),ee=dr(fe);ee.forEach(function(Z){o.push(Z.id),f[Z.id]={deps:[],location:V,type:lt(Z.messages[0].meta[1][0].data)}})}}),o.sort(function(F,S){return F-S});var l=o.filter(function(F){return F>1}).map(function(F){return[F,ve(F)]});c.FileIndex.map(function(F,S){return[F,c.FullPaths[S]]}).forEach(function(F){var S=F[0],V=F[1];if(S.name.match(/\\\\.iwa/)){var ne=dr(vr(S.content));ne.forEach(function(fe){fe.messages.forEach(function(ee){l.forEach(function(Z){fe.messages.some(function(_e){return lt(_e.meta[1][0].data)!=11006&&v1(_e.data,Z[1])})&&f[Z[0]].deps.push(fe.id)})})})}});function v(){for(var F=927262;F<2e6;++F)if(!f[F])return F;throw new Error(\"Too many messages\")}for(var h=we.find(c,f[1].location),d=dr(vr(h.content)),_,u=0;u<d.length;++u){var g=d[u];g.id==1&&(_=g)}var y=Nr(Ie(_.messages[0].data)[1][0].data);for(h=we.find(c,f[y].location),d=dr(vr(h.content)),u=0;u<d.length;++u)g=d[u],g.id==y&&(_=g);for(y=Nr(Ie(_.messages[0].data)[2][0].data),h=we.find(c,f[y].location),d=dr(vr(h.content)),u=0;u<d.length;++u)g=d[u],g.id==y&&(_=g);for(y=Nr(Ie(_.messages[0].data)[2][0].data),h=we.find(c,f[y].location),d=dr(vr(h.content)),u=0;u<d.length;++u)g=d[u],g.id==y&&(_=g);var C=Ie(_.messages[0].data);{C[6][0].data=ve(a.e.r+1),C[7][0].data=ve(a.e.c+1);var D=Nr(C[46][0].data),B=we.find(c,f[D].location),G=dr(vr(B.content));{for(var te=0;te<G.length&&G[te].id!=D;++te);if(G[te].id!=D)throw\"Bad ColumnRowUIDMapArchive\";var A=Ie(G[te].messages[0].data);A[1]=[],A[2]=[],A[3]=[];for(var W=0;W<=a.e.c;++W){var L=[];L[1]=L[2]=[{type:0,data:ve(W+420690)}],A[1].push({type:2,data:We(L)}),A[2].push({type:0,data:ve(W)}),A[3].push({type:0,data:ve(W)})}A[4]=[],A[5]=[],A[6]=[];for(var U=0;U<=a.e.r;++U)L=[],L[1]=L[2]=[{type:0,data:ve(U+726270)}],A[4].push({type:2,data:We(L)}),A[5].push({type:0,data:ve(U)}),A[6].push({type:0,data:ve(U)});G[te].messages[0].data=We(A)}B.content=at(tt(G)),B.size=B.content.length,delete C[46];var X=Ie(C[4][0].data);{X[7][0].data=ve(a.e.r+1);var z=Ie(X[1][0].data),ie=Nr(z[2][0].data);B=we.find(c,f[ie].location),G=dr(vr(B.content));{if(G[0].id!=ie)throw\"Bad HeaderStorageBucket\";var de=Ie(G[0].messages[0].data);for(U=0;U<i.length;++U){var se=Ie(de[2][0].data);se[1][0].data=ve(U),se[4][0].data=ve(i[U].length),de[2][U]={type:de[2][0].type,data:We(se)}}G[0].messages[0].data=We(de)}B.content=at(tt(G)),B.size=B.content.length;var Re=Nr(X[2][0].data);B=we.find(c,f[Re].location),G=dr(vr(B.content));{if(G[0].id!=Re)throw\"Bad HeaderStorageBucket\";for(de=Ie(G[0].messages[0].data),W=0;W<=a.e.c;++W)se=Ie(de[2][0].data),se[1][0].data=ve(W),se[4][0].data=ve(a.e.r+1),de[2][W]={type:de[2][0].type,data:We(se)};G[0].messages[0].data=We(de)}B.content=at(tt(G)),B.size=B.content.length;var Ne=Nr(X[4][0].data);(function(){for(var F=we.find(c,f[Ne].location),S=dr(vr(F.content)),V,ne=0;ne<S.length;++ne){var fe=S[ne];fe.id==Ne&&(V=fe)}var ee=Ie(V.messages[0].data);{ee[3]=[];var Z=[];s.forEach(function(Ue,ue){Z[1]=[{type:0,data:ve(ue)}],Z[2]=[{type:0,data:ve(1)}],Z[3]=[{type:2,data:d1(Ue)}],ee[3].push({type:2,data:We(Z)})})}V.messages[0].data=We(ee);var _e=tt(S),le=at(_e);F.content=le,F.size=F.content.length})();var Ze=Ie(X[3][0].data);{var je=Ze[1][0];delete Ze[2];var Me=Ie(je.data);{var Qe=Nr(Me[2][0].data);(function(){for(var F=we.find(c,f[Qe].location),S=dr(vr(F.content)),V,ne=0;ne<S.length;++ne){var fe=S[ne];fe.id==Qe&&(V=fe)}var ee=Ie(V.messages[0].data);{delete ee[6],delete Ze[7];var Z=new Uint8Array(ee[5][0].data);ee[5]=[];for(var _e=0,le=0;le<=a.e.r;++le){var Ue=Ie(Z);_e+=g1(Ue,i[le],s),Ue[1][0].data=ve(le),ee[5].push({data:We(Ue),type:2})}ee[1]=[{type:0,data:ve(a.e.c+1)}],ee[2]=[{type:0,data:ve(a.e.r+1)}],ee[3]=[{type:0,data:ve(_e)}],ee[4]=[{type:0,data:ve(a.e.r+1)}]}V.messages[0].data=We(ee);var ue=tt(S),xr=at(ue);F.content=xr,F.size=F.content.length})()}je.data=We(Me)}X[3][0].data=We(Ze)}C[4][0].data=We(X)}_.messages[0].data=We(C);var T=tt(d),M=at(T);return h.content=M,h.size=h.content.length,c}function w1(e){return function(r){for(var a=0;a!=e.length;++a){var n=e[a];r[n[0]]===void 0&&(r[n[0]]=n[1]),n[2]===\"n\"&&(r[n[0]]=Number(r[n[0]]))}}}function s0(e){w1([[\"cellDates\",!1],[\"bookSST\",!1],[\"bookType\",\"xlsx\"],[\"compression\",!1],[\"WTF\",!1]])(e)}function k1(e,t){return t.bookType==\"ods\"?Ci(e,t):t.bookType==\"numbers\"?_1(e,t):t.bookType==\"xlsb\"?E1(e,t):T1(e,t)}function E1(e,t){it=1024,e&&!e.SSF&&(e.SSF=ar(ye)),e&&e.SSF&&(ha(),ua(e.SSF),t.revssf=xa(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF),t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0,At?t.revStrings=new Map:(t.revStrings={},t.revStrings.foo=[],delete t.revStrings.foo);var r=t.bookType==\"xlsb\"?\"bin\":\"xml\",a=li.indexOf(t.bookType)>-1,n=Un();s0(t=t||{});var i=Wa(),s=\"\",f=0;if(t.cellXfs=[],Ur(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),s=\"docProps/core.xml\",oe(i,s,Xn(e.Props,t)),n.coreprops.push(s),pe(t.rels,2,s,he.CORE_PROPS),s=\"docProps/app.xml\",!(e.Props&&e.Props.SheetNames))if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{for(var o=[],c=0;c<e.SheetNames.length;++c)(e.Workbook.Sheets[c]||{}).Hidden!=2&&o.push(e.SheetNames[c]);e.Props.SheetNames=o}for(e.Props.Worksheets=e.Props.SheetNames.length,oe(i,s,zn(e.Props,t)),n.extprops.push(s),pe(t.rels,3,s,he.EXT_PROPS),e.Custprops!==e.Props&&ze(e.Custprops||{}).length>0&&(s=\"docProps/custom.xml\",oe(i,s,\\$n(e.Custprops,t)),n.custprops.push(s),pe(t.rels,4,s,he.CUST_PROPS)),f=1;f<=e.SheetNames.length;++f){var l={\"!id\":{}},v=e.Sheets[e.SheetNames[f-1]],h=(v||{})[\"!type\"]||\"sheet\";if(s=\"xl/worksheets/sheet\"+f+\".\"+r,oe(i,s,Fh(f-1,s,t,e,l)),n.sheets.push(s),pe(t.wbrels,-1,\"worksheets/sheet\"+f+\".\"+r,he.WS[0]),v){var d=v[\"!comments\"],_=!1,u=\"\";d&&d.length>0&&(u=\"xl/comments\"+f+\".\"+r,oe(i,u,Ch(d,u,t)),n.comments.push(u),pe(l,-1,\"../comments\"+f+\".\"+r,he.CMNT),_=!0),v[\"!legacy\"]&&_&&oe(i,\"xl/drawings/vmlDrawing\"+f+\".vml\",ci(f,v[\"!comments\"])),delete v[\"!comments\"],delete v[\"!legacy\"]}l[\"!id\"].rId1&&oe(i,Hn(s),ct(l))}return t.Strings!=null&&t.Strings.length>0&&(s=\"xl/sharedStrings.\"+r,oe(i,s,Ah(t.Strings,s,t)),n.strs.push(s),pe(t.wbrels,-1,\"sharedStrings.\"+r,he.SST)),s=\"xl/workbook.\"+r,oe(i,s,Sh(e,s,t)),n.workbooks.push(s),pe(t.rels,1,s,he.WB),s=\"xl/theme/theme1.xml\",oe(i,s,si(e.Themes,t)),n.themes.push(s),pe(t.wbrels,-1,\"theme/theme1.xml\",he.THEME),s=\"xl/styles.\"+r,oe(i,s,yh(e,s,t)),n.styles.push(s),pe(t.wbrels,-1,\"styles.\"+r,he.STY),e.vbaraw&&a&&(s=\"xl/vbaProject.bin\",oe(i,s,e.vbaraw),n.vba.push(s),pe(t.wbrels,-1,\"vbaProject.bin\",he.VBA)),s=\"xl/metadata.\"+r,oe(i,s,Dh(s)),n.metadata.push(s),pe(t.wbrels,-1,\"metadata.\"+r,he.XLMETA),oe(i,\"[Content_Types].xml\",Wn(n,t)),oe(i,\"_rels/.rels\",ct(t.rels)),oe(i,\"xl/_rels/workbook.\"+r+\".rels\",ct(t.wbrels)),delete t.revssf,delete t.ssf,i}function T1(e,t){it=1024,e&&!e.SSF&&(e.SSF=ar(ye)),e&&e.SSF&&(ha(),ua(e.SSF),t.revssf=xa(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF),t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0,At?t.revStrings=new Map:(t.revStrings={},t.revStrings.foo=[],delete t.revStrings.foo);var r=\"xml\",a=li.indexOf(t.bookType)>-1,n=Un();s0(t=t||{});var i=Wa(),s=\"\",f=0;if(t.cellXfs=[],Ur(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={}),s=\"docProps/core.xml\",oe(i,s,Xn(e.Props,t)),n.coreprops.push(s),pe(t.rels,2,s,he.CORE_PROPS),s=\"docProps/app.xml\",!(e.Props&&e.Props.SheetNames))if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{for(var o=[],c=0;c<e.SheetNames.length;++c)(e.Workbook.Sheets[c]||{}).Hidden!=2&&o.push(e.SheetNames[c]);e.Props.SheetNames=o}e.Props.Worksheets=e.Props.SheetNames.length,oe(i,s,zn(e.Props,t)),n.extprops.push(s),pe(t.rels,3,s,he.EXT_PROPS),e.Custprops!==e.Props&&ze(e.Custprops||{}).length>0&&(s=\"docProps/custom.xml\",oe(i,s,\\$n(e.Custprops,t)),n.custprops.push(s),pe(t.rels,4,s,he.CUST_PROPS));var l=[\"SheetJ5\"];for(t.tcid=0,f=1;f<=e.SheetNames.length;++f){var v={\"!id\":{}},h=e.Sheets[e.SheetNames[f-1]],d=(h||{})[\"!type\"]||\"sheet\";if(s=\"xl/worksheets/sheet\"+f+\".\"+r,oe(i,s,_i(f-1,t,e,v)),n.sheets.push(s),pe(t.wbrels,-1,\"worksheets/sheet\"+f+\".\"+r,he.WS[0]),h){var _=h[\"!comments\"],u=!1,g=\"\";if(_&&_.length>0){var y=!1;_.forEach(function(C){C[1].forEach(function(D){D.T==!0&&(y=!0)})}),y&&(g=\"xl/threadedComments/threadedComment\"+f+\".\"+r,oe(i,g,Qc(_,l,t)),n.threadedcomments.push(g),pe(v,-1,\"../threadedComments/threadedComment\"+f+\".\"+r,he.TCMNT)),g=\"xl/comments\"+f+\".\"+r,oe(i,g,oi(_,t)),n.comments.push(g),pe(v,-1,\"../comments\"+f+\".\"+r,he.CMNT),u=!0}h[\"!legacy\"]&&u&&oe(i,\"xl/drawings/vmlDrawing\"+f+\".vml\",ci(f,h[\"!comments\"])),delete h[\"!comments\"],delete h[\"!legacy\"]}v[\"!id\"].rId1&&oe(i,Hn(s),ct(v))}return t.Strings!=null&&t.Strings.length>0&&(s=\"xl/sharedStrings.\"+r,oe(i,s,ei(t.Strings,t)),n.strs.push(s),pe(t.wbrels,-1,\"sharedStrings.\"+r,he.SST)),s=\"xl/workbook.\"+r,oe(i,s,Ei(e,t)),n.workbooks.push(s),pe(t.rels,1,s,he.WB),s=\"xl/theme/theme1.xml\",oe(i,s,si(e.Themes,t)),n.themes.push(s),pe(t.wbrels,-1,\"theme/theme1.xml\",he.THEME),s=\"xl/styles.\"+r,oe(i,s,ni(e,t)),n.styles.push(s),pe(t.wbrels,-1,\"styles.\"+r,he.STY),e.vbaraw&&a&&(s=\"xl/vbaProject.bin\",oe(i,s,e.vbaraw),n.vba.push(s),pe(t.wbrels,-1,\"vbaProject.bin\",he.VBA)),s=\"xl/metadata.\"+r,oe(i,s,fi()),n.metadata.push(s),pe(t.wbrels,-1,\"metadata.\"+r,he.XLMETA),l.length>1&&(s=\"xl/persons/person.xml\",oe(i,s,eo(l,t)),n.people.push(s),pe(t.wbrels,-1,\"persons/person.xml\",he.PEOPLE)),oe(i,\"[Content_Types].xml\",Wn(n,t)),oe(i,\"_rels/.rels\",ct(t.rels)),oe(i,\"xl/_rels/workbook.\"+r+\".rels\",ct(t.wbrels)),delete t.revssf,delete t.ssf,i}function S1(e,t){var r=\"\";switch((t||{}).type||\"base64\"){case\"buffer\":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case\"base64\":r=Or(e.slice(0,12));break;case\"binary\":r=e;break;case\"array\":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error(\"Unrecognized type \"+(t&&t.type||\"undefined\"))}return[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3),r.charCodeAt(4),r.charCodeAt(5),r.charCodeAt(6),r.charCodeAt(7)]}function Di(e,t){switch(t.type){case\"base64\":case\"binary\":break;case\"buffer\":case\"array\":t.type=\"\";break;case\"file\":return Lt(t.file,we.write(e,{type:xe?\"buffer\":\"\"}));case\"string\":throw new Error(\"'string' output type invalid for '\"+t.bookType+\"' files\");default:throw new Error(\"Unrecognized type \"+t.type)}return we.write(e,t)}function F1(e,t){var r=ar(t||{}),a=k1(e,r);return y1(a,r)}function y1(e,t){var r={},a=xe?\"nodebuffer\":typeof Uint8Array<\"u\"?\"array\":\"string\";if(t.compression&&(r.compression=\"DEFLATE\"),t.password)r.type=a;else switch(t.type){case\"base64\":r.type=\"base64\";break;case\"binary\":r.type=\"string\";break;case\"string\":throw new Error(\"'string' output type invalid for '\"+t.bookType+\"' files\");case\"buffer\":case\"file\":r.type=a;break;default:throw new Error(\"Unrecognized type \"+t.type)}var n=e.FullPaths?we.write(e,{fileType:\"zip\",type:{nodebuffer:\"buffer\",string:\"binary\"}[r.type]||r.type,compression:!!t.compression}):e.generate(r);if(typeof Deno<\"u\"&&typeof n==\"string\"){if(t.type==\"binary\"||t.type==\"base64\")return n;n=new Uint8Array(la(n))}return t.password&&typeof encrypt_agile<\"u\"?Di(encrypt_agile(n,t.password),t):t.type===\"file\"?Lt(t.file,n):t.type==\"string\"?Tt(n):n}function A1(e,t){var r=t||{},a=Xh(e,r);return Di(a,r)}function kr(e,t,r){r||(r=\"\");var a=r+e;switch(t.type){case\"base64\":return Ot(yr(a));case\"binary\":return yr(a);case\"string\":return e;case\"file\":return Lt(t.file,a,\"utf8\");case\"buffer\":return xe?Rr(a,\"utf8\"):typeof TextEncoder<\"u\"?new TextEncoder().encode(a):kr(a,{type:\"binary\"}).split(\"\").map(function(n){return n.charCodeAt(0)})}throw new Error(\"Unrecognized type \"+t.type)}function C1(e,t){switch(t.type){case\"base64\":return Ot(e);case\"binary\":return e;case\"string\":return e;case\"file\":return Lt(t.file,e,\"binary\");case\"buffer\":return xe?Rr(e,\"binary\"):e.split(\"\").map(function(r){return r.charCodeAt(0)})}throw new Error(\"Unrecognized type \"+t.type)}function Jt(e,t){switch(t.type){case\"string\":case\"base64\":case\"binary\":for(var r=\"\",a=0;a<e.length;++a)r+=String.fromCharCode(e[a]);return t.type==\"base64\"?Ot(r):t.type==\"string\"?Tt(r):r;case\"file\":return Lt(t.file,e);case\"buffer\":return e;default:throw new Error(\"Unrecognized type \"+t.type)}}function f0(e,t){Zi(),xh(e);var r=ar(t||{});if(r.cellStyles&&(r.cellNF=!0,r.sheetStubs=!0),r.type==\"array\"){r.type=\"binary\";var a=f0(e,r);return r.type=\"array\",la(a)}var n=0;if(r.sheet&&(typeof r.sheet==\"number\"?n=r.sheet:n=e.SheetNames.indexOf(r.sheet),!e.SheetNames[n]))throw new Error(\"Sheet not found: \"+r.sheet+\" : \"+typeof r.sheet);switch(r.bookType||\"xlsb\"){case\"xml\":case\"xlml\":return kr(Hh(e,r),r);case\"slk\":case\"sylk\":return kr(oc.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case\"htm\":case\"html\":return kr(Fi(e.Sheets[e.SheetNames[n]],r),r);case\"txt\":return C1(Oi(e.Sheets[e.SheetNames[n]],r),r);case\"csv\":return kr(c0(e.Sheets[e.SheetNames[n]],r),r,\"\\\\uFEFF\");case\"dif\":return kr(lc.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case\"dbf\":return Jt(cc.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case\"prn\":return kr(uc.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case\"rtf\":return kr(gc.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case\"eth\":return kr(Qn.from_sheet(e.Sheets[e.SheetNames[n]],r),r);case\"fods\":return kr(Ci(e,r),r);case\"wk1\":return Jt(J0.sheet_to_wk1(e.Sheets[e.SheetNames[n]],r),r);case\"wk3\":return Jt(J0.book_to_wk3(e,r),r);case\"biff2\":r.biff||(r.biff=2);case\"biff3\":r.biff||(r.biff=3);case\"biff4\":return r.biff||(r.biff=4),Jt(Si(e,r),r);case\"biff5\":r.biff||(r.biff=5);case\"biff8\":case\"xla\":case\"xls\":return r.biff||(r.biff=8),A1(e,r);case\"xlsx\":case\"xlsm\":case\"xlam\":case\"xlsb\":case\"numbers\":case\"ods\":return F1(e,r);default:throw new Error(\"Unrecognized bookType |\"+r.bookType+\"|\")}}function D1(e,t,r,a,n,i,s,f){var o=Ge(r),c=f.defval,l=f.raw||!Object.prototype.hasOwnProperty.call(f,\"raw\"),v=!0,h=n===1?[]:{};if(n!==1)if(Object.defineProperty)try{Object.defineProperty(h,\"__rowNum__\",{value:r,enumerable:!1})}catch{h.__rowNum__=r}else h.__rowNum__=r;if(!s||e[r])for(var d=t.s.c;d<=t.e.c;++d){var _=s?e[r][d]:e[a[d]+o];if(_===void 0||_.t===void 0){if(c===void 0)continue;i[d]!=null&&(h[i[d]]=c);continue}var u=_.v;switch(_.t){case\"z\":if(u==null)break;continue;case\"e\":u=u==0?null:void 0;break;case\"s\":case\"d\":case\"b\":case\"n\":break;default:throw new Error(\"unrecognized type \"+_.t)}if(i[d]!=null){if(u==null)if(_.t==\"e\"&&u===null)h[i[d]]=null;else if(c!==void 0)h[i[d]]=c;else if(l&&u===null)h[i[d]]=null;else continue;else h[i[d]]=l&&(_.t!==\"n\"||_.t===\"n\"&&f.rawNumbers!==!1)?u:Ir(_,u,f);u!=null&&(v=!1)}}return{row:h,isempty:v}}function oa(e,t){if(e==null||e[\"!ref\"]==null)return[];var r={t:\"n\",v:0},a=0,n=1,i=[],s=0,f=\"\",o={s:{r:0,c:0},e:{r:0,c:0}},c=t||{},l=c.range!=null?c.range:e[\"!ref\"];switch(c.header===1?a=1:c.header===\"A\"?a=2:Array.isArray(c.header)?a=3:c.header==null&&(a=0),typeof l){case\"string\":o=Te(l);break;case\"number\":o=Te(e[\"!ref\"]),o.s.r=l;break;default:o=l}a>0&&(n=0);var v=Ge(o.s.r),h=[],d=[],_=0,u=0,g=Array.isArray(e),y=o.s.r,C=0,D={};g&&!e[y]&&(e[y]=[]);var B=c.skipHidden&&e[\"!cols\"]||[],G=c.skipHidden&&e[\"!rows\"]||[];for(C=o.s.c;C<=o.e.c;++C)if(!(B[C]||{}).hidden)switch(h[C]=\\$e(C),r=g?e[y][C]:e[h[C]+v],a){case 1:i[C]=C-o.s.c;break;case 2:i[C]=h[C];break;case 3:i[C]=c.header[C-o.s.c];break;default:if(r==null&&(r={w:\"__EMPTY\",t:\"s\"}),f=s=Ir(r,null,c),u=D[s]||0,!u)D[s]=1;else{do f=s+\"_\"+u++;while(D[f]);D[s]=u,D[f]=1}i[C]=f}for(y=o.s.r+n;y<=o.e.r;++y)if(!(G[y]||{}).hidden){var te=D1(e,o,y,h,a,i,g,c);(te.isempty===!1||(a===1?c.blankrows!==!1:c.blankrows))&&(d[_++]=te.row)}return d.length=_,d}var nn=/\"/g;function O1(e,t,r,a,n,i,s,f){for(var o=!0,c=[],l=\"\",v=Ge(r),h=t.s.c;h<=t.e.c;++h)if(a[h]){var d=f.dense?(e[r]||[])[h]:e[a[h]+v];if(d==null)l=\"\";else if(d.v!=null){o=!1,l=\"\"+(f.rawNumbers&&d.t==\"n\"?d.v:Ir(d,null,f));for(var _=0,u=0;_!==l.length;++_)if((u=l.charCodeAt(_))===n||u===i||u===34||f.forceQuotes){l='\"'+l.replace(nn,'\"\"')+'\"';break}l==\"ID\"&&(l='\"ID\"')}else d.f!=null&&!d.F?(o=!1,l=\"=\"+d.f,l.indexOf(\",\")>=0&&(l='\"'+l.replace(nn,'\"\"')+'\"')):l=\"\";c.push(l)}return f.blankrows===!1&&o?null:c.join(s)}function c0(e,t){var r=[],a=t??{};if(e==null||e[\"!ref\"]==null)return\"\";var n=Te(e[\"!ref\"]),i=a.FS!==void 0?a.FS:\",\",s=i.charCodeAt(0),f=a.RS!==void 0?a.RS:\\`\n\\`,o=f.charCodeAt(0),c=new RegExp((i==\"|\"?\"\\\\\\\\|\":i)+\"+\\$\"),l=\"\",v=[];a.dense=Array.isArray(e);for(var h=a.skipHidden&&e[\"!cols\"]||[],d=a.skipHidden&&e[\"!rows\"]||[],_=n.s.c;_<=n.e.c;++_)(h[_]||{}).hidden||(v[_]=\\$e(_));for(var u=0,g=n.s.r;g<=n.e.r;++g)(d[g]||{}).hidden||(l=O1(e,n,g,v,s,o,i,a),l!=null&&(a.strip&&(l=l.replace(c,\"\")),(l||a.blankrows!==!1)&&r.push((u++?f:\"\")+l)));return delete a.dense,r.join(\"\")}function Oi(e,t){t||(t={}),t.FS=\"\t\",t.RS=\\`\n\\`;var r=c0(e,t);if(typeof ke>\"u\"||t.type==\"string\")return r;var a=ke.utils.encode(1200,r,\"str\");return\"\\\\xFF\\\\xFE\"+a}function I1(e){var t=\"\",r,a=\"\";if(e==null||e[\"!ref\"]==null)return[];var n=Te(e[\"!ref\"]),i=\"\",s=[],f,o=[],c=Array.isArray(e);for(f=n.s.c;f<=n.e.c;++f)s[f]=\\$e(f);for(var l=n.s.r;l<=n.e.r;++l)for(i=Ge(l),f=n.s.c;f<=n.e.c;++f)if(t=s[f]+i,r=c?(e[l]||[])[f]:e[t],a=\"\",r!==void 0){if(r.F!=null){if(t=r.F,!r.f)continue;a=r.f,t.indexOf(\":\")==-1&&(t=t+\":\"+t)}if(r.f!=null)a=r.f;else{if(r.t==\"z\")continue;if(r.t==\"n\"&&r.v!=null)a=\"\"+r.v;else if(r.t==\"b\")a=r.v?\"TRUE\":\"FALSE\";else if(r.w!==void 0)a=\"'\"+r.w;else{if(r.v===void 0)continue;r.t==\"s\"?a=\"'\"+r.v:a=\"\"+r.v}}o[o.length]=t+\"=\"+a}return o}function Ii(e,t,r){var a=r||{},n=+!a.skipHeader,i=e||{},s=0,f=0;if(i&&a.origin!=null)if(typeof a.origin==\"number\")s=a.origin;else{var o=typeof a.origin==\"string\"?Le(a.origin):a.origin;s=o.r,f=o.c}var c,l={s:{c:0,r:0},e:{c:f,r:s+t.length-1+n}};if(i[\"!ref\"]){var v=Te(i[\"!ref\"]);l.e.c=Math.max(l.e.c,v.e.c),l.e.r=Math.max(l.e.r,v.e.r),s==-1&&(s=v.e.r+1,l.e.r=s+t.length-1+n)}else s==-1&&(s=0,l.e.r=t.length-1+n);var h=a.header||[],d=0;t.forEach(function(u,g){ze(u).forEach(function(y){(d=h.indexOf(y))==-1&&(h[d=h.length]=y);var C=u[y],D=\"z\",B=\"\",G=ge({c:f+d,r:s+g+n});c=bt(i,G),C&&typeof C==\"object\"&&!(C instanceof Date)?i[G]=C:(typeof C==\"number\"?D=\"n\":typeof C==\"boolean\"?D=\"b\":typeof C==\"string\"?D=\"s\":C instanceof Date?(D=\"d\",a.cellDates||(D=\"n\",C=tr(C)),B=a.dateNF||ye[14]):C===null&&a.nullError&&(D=\"e\",C=0),c?(c.t=D,c.v=C,delete c.w,delete c.R,B&&(c.z=B)):i[G]=c={t:D,v:C},B&&(c.z=B))})}),l.e.c=Math.max(l.e.c,f+h.length-1);var _=Ge(s);if(n)for(d=0;d<h.length;++d)i[\\$e(d+f)+_]={t:\"s\",v:h[d]};return i[\"!ref\"]=De(l),i}function R1(e,t){return Ii(null,e,t)}function bt(e,t,r){if(typeof t==\"string\"){if(Array.isArray(e)){var a=Le(t);return e[a.r]||(e[a.r]=[]),e[a.r][a.c]||(e[a.r][a.c]={t:\"z\"})}return e[t]||(e[t]={t:\"z\"})}return typeof t!=\"number\"?bt(e,ge(t)):bt(e,ge({r:t,c:r||0}))}function N1(e,t){if(typeof t==\"number\"){if(t>=0&&e.SheetNames.length>t)return t;throw new Error(\"Cannot find sheet # \"+t)}else if(typeof t==\"string\"){var r=e.SheetNames.indexOf(t);if(r>-1)return r;throw new Error(\"Cannot find sheet name |\"+t+\"|\")}else throw new Error(\"Cannot find sheet |\"+t+\"|\")}function b1(){return{SheetNames:[],Sheets:{}}}function P1(e,t,r,a){var n=1;if(!r)for(;n<=65535&&e.SheetNames.indexOf(r=\"Sheet\"+n)!=-1;++n,r=void 0);if(!r||e.SheetNames.length>=65535)throw new Error(\"Too many worksheets\");if(a&&e.SheetNames.indexOf(r)>=0){var i=r.match(/(^.*?)(\\\\d+)\\$/);n=i&&+i[2]||0;var s=i&&i[1]||r;for(++n;n<=65535&&e.SheetNames.indexOf(r=s+n)!=-1;++n);}if(ki(r),e.SheetNames.indexOf(r)>=0)throw new Error(\"Worksheet with name |\"+r+\"| already exists!\");return e.SheetNames.push(r),e.Sheets[r]=t,r}function L1(e,t,r){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var a=N1(e,t);switch(e.Workbook.Sheets[a]||(e.Workbook.Sheets[a]={}),r){case 0:case 1:case 2:break;default:throw new Error(\"Bad sheet visibility setting \"+r)}e.Workbook.Sheets[a].Hidden=r}function B1(e,t){return e.z=t,e}function Ri(e,t,r){return t?(e.l={Target:t},r&&(e.l.Tooltip=r)):delete e.l,e}function M1(e,t,r){return Ri(e,\"#\"+t,r)}function U1(e,t,r){e.c||(e.c=[]),e.c.push({t,a:r||\"SheetJS\"})}function W1(e,t,r,a){for(var n=typeof t!=\"string\"?t:Te(t),i=typeof t==\"string\"?t:De(t),s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var o=bt(e,s,f);o.t=\"n\",o.F=i,delete o.v,s==n.s.r&&f==n.s.c&&(o.f=r,a&&(o.D=!0))}return e}var _a={encode_col:\\$e,encode_row:Ge,encode_cell:ge,encode_range:De,decode_col:Ja,decode_row:Ya,split_cell:ef,decode_cell:Le,decode_range:cr,format_cell:Ir,sheet_add_aoa:Nn,sheet_add_json:Ii,sheet_add_dom:yi,aoa_to_sheet:vt,json_to_sheet:R1,table_to_sheet:Ai,table_to_book:u1,sheet_to_csv:c0,sheet_to_txt:Oi,sheet_to_json:oa,sheet_to_html:Fi,sheet_to_formulae:I1,sheet_to_row_object_array:oa,sheet_get_cell:bt,book_new:b1,book_append_sheet:P1,book_set_sheet_visibility:L1,cell_set_number_format:B1,cell_set_hyperlink:Ri,cell_set_internal_link:M1,cell_add_comment:U1,sheet_set_array_formula:W1,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};var V1=Ct.version;addEventListener(\"message\",({data:e})=>{let{action:t,columns:r,data:a,options:n}=e;if(t===\"START_EXPORT\"){console.log(\"Worker START_EXPORT with options:\",n);try{let i=n.includeHeaders!==!1,s=[],f=n.customHeaders;if(f&&Array.isArray(f))for(let h=0;h<f.length;h++)s.push(f[h]);if(i){let h=r.map(d=>d.headerName||d.field);s.push(h)}let o=(h,d)=>{if(h.type===\"group\"){let _=[],g=\\`\\${\" \".repeat(d)}\\${h.groupField}: \\${h.groupKey}\\`;if(r.forEach((y,C)=>{if(C===0)_.push(g);else{let D=\"\";h.data&&h.data[y.field]!==void 0&&h.data[y.field]!==null&&(D=h.data[y.field]),_.push(D)}}),s.push(_),h.children&&h.children.length>0)for(let y of h.children)o(y,d+1)}else if(h.type===\"group-footer\"){let _=[],u=\" \".repeat(d);r.forEach((g,y)=>{y===0?_.push(\\`\\${u}Total (\\${h.groupKey})\\`):_.push(h.data&&h.data[g.field]!=null?h.data[g.field]:\"\")}),s.push(_)}else{let _=r.map(u=>{if(h.data==null)return\"\";let g=h.data[u.field];return g??\"\"});s.push(_)}};for(let h=0;h<a.length;h++){let d=a[h];o(d,d.level||0)}let c=_a.aoa_to_sheet(s),l=_a.book_new();_a.book_append_sheet(l,c,\"Sheet1\");let v=f0(l,{bookType:\"xlsx\",type:\"array\"});postMessage({action:\"COMPLETE\",payload:{buffer:v,type:\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"}})}catch(i){postMessage({action:\"ERROR\",error:i.message||\"Excel Export Failed\"})}}});})();\n/*! Bundled license information:\n\nxlsx/xlsx.mjs:\n (*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com *)\n\nxlsx/xlsx.mjs:\n (*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com *)\n*/\n`;\n","import { Injectable } from '@angular/core';\nimport { UltraGridColumn } from '../models/column.model';\nimport { ExcelExportOptions } from '../workers/excel.worker';\nimport { EXCEL_WORKER_CODE } from '../workers/generated/excel.worker.code';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExcelExportService {\n \n exportDataAsExcel(options: ExcelExportOptions, columns: UltraGridColumn[], data: any[]): Promise<void> {\n return new Promise((resolve, reject) => {\n if (typeof Worker === 'undefined') {\n console.warn('Excel Export is only supported in browser environments with web workers');\n return reject(new Error('Web Workers not supported'));\n }\n\n // Create worker from blob\n const blob = new Blob([EXCEL_WORKER_CODE], { type: 'application/javascript' });\n const workerUrl = URL.createObjectURL(blob);\n const worker = new Worker(workerUrl);\n\n worker.onmessage = ({ data: response }) => {\n if (response.action === 'COMPLETE') {\n const { buffer, type } = response.payload;\n // Provide the exact MIME type to trigger correct local OS association\n const exportBlob = new Blob([buffer], { type });\n this.downloadBlob(exportBlob, options.fileName || 'export.xlsx');\n \n worker.terminate();\n URL.revokeObjectURL(workerUrl);\n resolve();\n } else if (response.action === 'ERROR') {\n worker.terminate();\n URL.revokeObjectURL(workerUrl);\n reject(new Error(response.error));\n }\n };\n\n worker.onerror = (error) => {\n worker.terminate();\n URL.revokeObjectURL(workerUrl);\n reject(error);\n };\n\n // Start processing\n worker.postMessage({\n action: 'START_EXPORT',\n columns,\n data,\n options\n });\n });\n }\n\n private downloadBlob(blob: Blob, filename: string) {\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.download = filename;\n link.style.display = 'none';\n \n document.body.appendChild(link);\n link.click();\n \n setTimeout(() => {\n document.body.removeChild(link);\n URL.revokeObjectURL(link.href);\n }, 100);\n }\n}\n","import {\r\n Component, Input, Output, EventEmitter, ChangeDetectionStrategy,\r\n ViewEncapsulation, PLATFORM_ID, Inject, OnInit, OnDestroy, OnChanges, SimpleChanges,\r\n ChangeDetectorRef, NgZone, ViewChild, ElementRef\r\n} from '@angular/core';\r\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\r\nimport { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { Subject, BehaviorSubject } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ColumnConditionFilter } from '../../models/filter.model';\r\n\r\nimport { UltraGridColumn, ValueColumnModel } from '../../models/column.model';\r\nimport { UltraGridRow, UltraGridNode, UltraGridGroupNode } from '../../models/row.model';\r\nimport { UltraGridConfig } from '../../models/grid-config.model';\r\nimport { SORTING_WORKER_CODE } from '../../workers/generated/sorting.worker.code';\r\nimport { ServerDataSource, GetRowsParams } from '../../datasources/server-datasource.interface';\r\nimport { InfiniteScrollDataSource } from '../../datasources/infinite-scroll.datasource';\r\nimport { GridFlattenerService } from '../../core/grid-flattener.service';\r\nimport { ExcelExportService } from '../../services/excel-export.service';\r\nimport { ExcelExportOptions } from '../../workers/excel.worker';\r\n\r\nimport { HeaderComponent } from '../header/header.component';\r\nimport { RowComponent } from '../row/row.component';\r\nimport { PaginationComponent } from '../pagination/pagination.component';\r\nimport { HeaderMenuComponent } from '../header-menu/header-menu.component';\r\nimport { ChooseColumnsComponent } from '../choose-columns/choose-columns.component';\r\nimport { HeaderFilterComponent } from '../header-filter/header-filter.component';\r\nimport { SideBarComponent } from '../side-bar/side-bar.component';\r\n\r\n@Component({\r\n selector: 'bways-grid',\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ScrollingModule,\r\n HeaderComponent,\r\n RowComponent,\r\n PaginationComponent,\r\n HeaderMenuComponent,\r\n ChooseColumnsComponent,\r\n HeaderFilterComponent,\r\n SideBarComponent\r\n ],\r\n template: `\r\n <div class=\"ug-wrapper\" [ngClass]=\"config.theme || 'ag-theme-alpine'\">\r\n \r\n <div class=\"ug-main\">\r\n <ug-header\r\n #headerComponent\r\n [columns]=\"visibleColumns\"\r\n [sortModel]=\"sortModel\"\r\n [isAllSelected]=\"isAllSelected\"\r\n (sortChanged)=\"onSortChanged($event)\"\r\n (columnsReordered)=\"onColumnsReordered($event)\"\r\n (columnResized)=\"onColumnResized($event)\"\r\n (headerCheckboxClicked)=\"onHeaderCheckboxClicked($event)\"\r\n (menuClicked)=\"onHeaderMenuClicked($event)\"\r\n (filterClicked)=\"onHeaderFilterClicked($event)\">\r\n </ug-header>\r\n\r\n <div class=\"ug-body\">\r\n <ng-container *ngIf=\"isBrowser; else ssrPlaceholder\">\r\n <cdk-virtual-scroll-viewport \r\n #viewport\r\n [itemSize]=\"rowHeight\" \r\n class=\"ug-viewport\"\r\n (scroll)=\"onViewportScroll()\">\r\n \r\n <ug-row\r\n *cdkVirtualFor=\"let row of _internalDataSource || renderedLocalData; let i = index; trackBy: trackByRowId\"\r\n [row]=\"row || getPlaceholderRow(i)\"\r\n [columns]=\"visibleColumns\"\r\n [rowHeight]=\"rowHeight\"\r\n [isExpanded]=\"isGroupExpanded(row!)\"\r\n [selectionVersion]=\"selectionVersion\"\r\n (groupToggled)=\"toggleGroup(row!.id.toString())\"\r\n (click)=\"onRowClicked(row)\">\r\n </ug-row>\r\n\r\n </cdk-virtual-scroll-viewport>\r\n </ng-container>\r\n\r\n <ng-template #ssrPlaceholder>\r\n <div class=\"ug-ssr-container\">\r\n <ug-row\r\n *ngFor=\"let row of ssrData; trackBy: trackByRowId\"\r\n [row]=\"row\"\r\n [columns]=\"visibleColumns\"\r\n [rowHeight]=\"rowHeight\"\r\n [selectionVersion]=\"selectionVersion\">\r\n </ug-row>\r\n </div>\r\n </ng-template>\r\n </div>\r\n\r\n <div class=\"ug-status-bar\" *ngIf=\"config.statusBar\">\r\n <span>Total Rows: {{ totalCount }}</span>\r\n <span style=\"margin-left: 16px;\">Selected: {{ selectedRowsCount }}</span>\r\n </div>\r\n\r\n <ug-pagination\r\n *ngIf=\"showPagination\"\r\n [totalCount]=\"totalCount\"\r\n [pageSize]=\"pageSize\"\r\n [currentPage]=\"currentPage\"\r\n (pageChanged)=\"onPageChanged($event)\"\r\n (pageSizeChanged)=\"onPageSizeChanged($event)\">\r\n </ug-pagination>\r\n </div>\r\n\r\n <ug-side-bar \r\n *ngIf=\"config.sideBar\" \r\n [activeTab]=\"config.sideBarDefaultTab || null\"\r\n [columns]=\"columns\" \r\n [rowData]=\"rowData\"\r\n [activeFilters]=\"activeFilters\"\r\n [conditionFilters]=\"conditionFilters\"\r\n [groupModel]=\"groupModel\"\r\n [valuesModel]=\"valuesModel\"\r\n [pivotMode]=\"!!config.pivotMode\"\r\n [pivotColumns]=\"pivotColumns\"\r\n [savedReportNames]=\"savedReportNames\"\r\n (columnsUpdated)=\"onSideBarColumnsUpdated($event)\"\r\n (groupModelUpdated)=\"onSideBarGroupModelUpdated($event)\"\r\n (valuesModelUpdated)=\"onValuesModelUpdated($event)\"\r\n (pivotModeUpdated)=\"onSideBarPivotModeUpdated($event)\"\r\n (pivotModelUpdated)=\"onSideBarPivotModelUpdated($event)\"\r\n (exportExcelClicked)=\"exportExcel({ includeHeaders: true })\"\r\n (filterApplied)=\"onFilterApplied($event)\"\r\n (conditionFilterChanged)=\"onConditionFilterChanged($event)\"\r\n (clearAllFilters)=\"onClearAllFilters()\"\r\n (saveReportRequested)=\"handleSaveReport($event)\"\r\n (loadReportRequested)=\"handleLoadReport($event)\">\r\n </ug-side-bar>\r\n\r\n </div>\r\n\r\n <!-- Floating overlays rendered OUTSIDE .ug-wrapper to avoid backdrop-filter containing block -->\r\n <ug-header-menu\r\n [column]=\"activeMenuColumn\"\r\n [isOpen]=\"isMenuOpen\"\r\n [position]=\"menuPosition\"\r\n [groupModel]=\"groupModel\"\r\n (closeMenu)=\"onMenuClosed()\"\r\n (sort)=\"onMenuSort($event)\"\r\n (pin)=\"onMenuPin($event)\"\r\n (autosize)=\"onMenuAutosize($event)\"\r\n (group)=\"onMenuGroup($event)\"\r\n (chooseColumns)=\"onMenuChooseColumns()\">\r\n </ug-header-menu>\r\n\r\n <ug-header-filter\r\n [column]=\"activeFilterColumn\"\r\n [isOpen]=\"isFilterOpen\"\r\n [position]=\"filterPosition\"\r\n [uniqueValues]=\"activeFilterUniqueValues\"\r\n [activeFilterSet]=\"getFilterSetForColumn(activeFilterColumn?.field)\"\r\n (closeFilter)=\"onFilterClosed()\"\r\n (filterApplied)=\"onFilterApplied($event)\">\r\n </ug-header-filter>\r\n\r\n <div class=\"ug-cc-overlay-container\" *ngIf=\"isChooseColumnsOpen\" [style.top.px]=\"chooseColumnsPosition.y\" [style.left.px]=\"chooseColumnsPosition.x\">\r\n <ug-choose-columns \r\n [columns]=\"columns\" \r\n (columnsChanged)=\"onChooseColumnsUpdated($event)\"\r\n (closePanel)=\"isChooseColumnsOpen = false\">\r\n </ug-choose-columns>\r\n </div>\r\n `,\r\n styleUrls: ['./ultra-grid.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class UltraGridComponent implements OnInit, OnDestroy, OnChanges {\r\n private _workerInitialized = false;\r\n\r\n @ViewChild('headerComponent', { read: ElementRef }) headerElement?: ElementRef;\r\n @ViewChild('viewport') viewport?: CdkVirtualScrollViewport;\r\n\r\n @Input() columns: UltraGridColumn[] = [];\r\n @Input() rowData: any[] = [];\r\n @Input() serverDataSource?: ServerDataSource;\r\n @Input() config: UltraGridConfig = {\r\n rowHeight: 40,\r\n theme: 'ag-theme-alpine',\r\n sideBarDefaultTab: null\r\n };\r\n @Input() pagination: boolean = false;\r\n @Input() pageSize: number = 100;\r\n\r\n @Output() rowClicked = new EventEmitter<UltraGridRow>();\r\n @Output() sortChanged = new EventEmitter<{ field: string, direction: 'asc' | 'desc' | null }[]>();\r\n @Output() selectionChanged = new EventEmitter<any[]>();\r\n\r\n public getSelectedRows(): any[] {\r\n if (!this._mappedRowData) return [];\r\n return this._mappedRowData.filter(row => (row as any).selected).map(row => row.data);\r\n }\r\n\r\n isBrowser: boolean;\r\n\r\n visibleColumns: UltraGridColumn[] = [];\r\n sortModel: { field: string, direction: 'asc' | 'desc' }[] = [];\r\n @Input() groupModel: string[] = [];\r\n @Input() valuesModel: ValueColumnModel[] = [];\r\n @Input() pivotColumns: string[] = [];\r\n groupStateMap = new Map<string, boolean>();\r\n\r\n private _dynamicPivotColumns: UltraGridColumn[] = []; // Dynamic pillars for pivot mode\r\n private _userColumns: UltraGridColumn[] = []; // Backup of original columns\r\n private _isRebuildingColumns = false;\r\n\r\n _internalDataSource?: InfiniteScrollDataSource<UltraGridRow>;\r\n _localTreeData: UltraGridNode[] = [];\r\n _unpaginatedLocalData: UltraGridRow[] = [];\r\n _mappedRowData: UltraGridRow[] = []; // Cached array\r\n renderedLocalData: UltraGridRow[] = [];\r\n ssrData: UltraGridRow[] = [];\r\n\r\n totalCount = 0;\r\n currentPage = 1;\r\n selectionVersion = 0;\r\n\r\n isMenuOpen = false;\r\n activeMenuColumn?: UltraGridColumn;\r\n menuPosition = { x: 0, y: 0 };\r\n\r\n isFilterOpen = false;\r\n activeFilterColumn?: UltraGridColumn;\r\n filterPosition = { x: 0, y: 0 };\r\n activeFilterUniqueValues: any[] = [];\r\n\r\n // Tracks active filters per column: fieldName -> Set of checked values\r\n activeFilters: Map<string, Set<any>> = new Map();\r\n\r\n // Tracks condition-based filters per column\r\n conditionFilters: Map<string, ColumnConditionFilter> = new Map();\r\n\r\n isChooseColumnsOpen = false;\r\n chooseColumnsPosition = { x: 0, y: 0 };\r\n \r\n savedReportNames: string[] = [];\r\n\r\n private destroy$ = new Subject<void>();\r\n private sortingWorker?: Worker;\r\n private sortingWorkerUrl?: string;\r\n\r\n private _unflattenedTreeData: UltraGridNode[] = [];\r\n\r\n private hasCheckboxSelection = false;\r\n private hasHeaderCheckboxSelection = false;\r\n\r\n get rowHeight() { return this.config.rowHeight || 40; }\r\n get showPagination() { return this.pagination || !!this.serverDataSource; }\r\n\r\n constructor(\r\n @Inject(PLATFORM_ID) platformId: Object,\r\n private cdr: ChangeDetectorRef,\r\n private ngZone: NgZone,\r\n private flattener: GridFlattenerService,\r\n private excelExportService: ExcelExportService\r\n ) {\r\n this.isBrowser = isPlatformBrowser(platformId);\r\n this.initSortingWorker();\r\n }\r\n\r\n ngOnInit() {\r\n this.hasCheckboxSelection = this.columns.some(c => c.checkboxSelection);\r\n this.hasHeaderCheckboxSelection = this.columns.some(c => c.headerCheckboxSelection);\r\n this.updateVisibleColumns();\r\n\r\n if (this.serverDataSource && this.isBrowser) {\r\n if (!this.pagination) {\r\n this._internalDataSource = new InfiniteScrollDataSource<UltraGridRow>(\r\n this.wrapServerDataSource(this.serverDataSource),\r\n this.config.bufferSize || 200\r\n );\r\n } else {\r\n this.fetchServerPage(1);\r\n }\r\n }\r\n \r\n if (this.isBrowser) {\r\n this.loadSavedReportNames();\r\n }\r\n }\r\n\r\n get selectedRowsCount() {\r\n if (!this._mappedRowData) return 0;\r\n return this._mappedRowData.filter(row => (row as any).selected).length;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['rowData']) {\r\n this.totalCount = this.rowData.length;\r\n\r\n this._mappedRowData = this.rowData.map((data, index) => ({\r\n id: index,\r\n type: 'leaf',\r\n level: 0,\r\n data: data\r\n }));\r\n\r\n if (this.sortingWorker) {\r\n this.sortingWorker.postMessage({ action: 'INIT', rows: this._mappedRowData });\r\n }\r\n\r\n // We do not immediately `applyLocalData()` here anymore if we have a worker,\r\n // because INIT needs to finish first. If no worker, we apply directly.\r\n if (!this.sortingWorker) {\r\n this.applyLocalData();\r\n }\r\n\r\n if (!this.isBrowser) {\r\n this.ssrData = this.renderedLocalData.slice(0, 50);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n if (this.sortingWorker) {\r\n this.sortingWorker.terminate();\r\n }\r\n if (this.sortingWorkerUrl) {\r\n URL.revokeObjectURL(this.sortingWorkerUrl);\r\n }\r\n if (this._internalDataSource) {\r\n this._internalDataSource.disconnect();\r\n }\r\n }\r\n\r\n private initSortingWorker() {\r\n if (this.isBrowser && typeof Worker !== 'undefined') {\r\n try {\r\n // Initialize Worker from inline JavaScript string blob\r\n const blob = new Blob([SORTING_WORKER_CODE], { type: 'application/javascript' });\r\n this.sortingWorkerUrl = URL.createObjectURL(blob);\r\n this.sortingWorker = new Worker(this.sortingWorkerUrl);\r\n\r\n this.sortingWorker.onmessage = ({ data }) => {\r\n this.ngZone.run(() => {\r\n if (data && data.action === 'INIT_DONE') {\r\n this._workerInitialized = true;\r\n // Now that worker has cached the data, run the first execution\r\n this.applyLocalData();\r\n return;\r\n }\r\n\r\n const flatList = data.flatList;\r\n this._unpaginatedLocalData = flatList;\r\n\r\n const groupSelectionMap = new Map<string | number, boolean>();\r\n\r\n // If sort/group happened, the worker returns a new structural tree. Cache it.\r\n if (data.resultTree) {\r\n this._unflattenedTreeData = data.resultTree;\r\n }\r\n\r\n // If pivot mode returned new dynamic columns, update the grid structure\r\n if (data.pivotColumns) {\r\n this.handlePivotColumns(data.pivotColumns);\r\n }\r\n\r\n // Always hydrate the structural tree so group node checkmarks strictly persist across flatten events\r\n const hydrateTree = (nodes: UltraGridNode[]): boolean => {\r\n let allSelected = true;\r\n if (nodes.length === 0) allSelected = false;\r\n\r\n for (let i = 0; i < nodes.length; i++) {\r\n const node = nodes[i];\r\n if (node.type === 'leaf') {\r\n const cached = this._mappedRowData[node.id as number];\r\n if (cached) {\r\n node.data = cached.data;\r\n \r\n // Re-inject pivot fields lost during worker serialization\r\n if (this.config.pivotMode && data.pivotColumns && this.pivotColumns.length > 0 && typeof node.data === 'object' && node.data !== null) {\r\n const primaryPivot = this.pivotColumns[0];\r\n const rowPivotVal = String(node.data[primaryPivot]);\r\n const cols = data.pivotColumns;\r\n for (let j = 0; j < cols.length; j++) {\r\n const pCol = cols[j];\r\n if (String(pCol.pivotValue) === rowPivotVal) {\r\n node.data[pCol.field] = node.data[pCol.originalField];\r\n } else {\r\n node.data[pCol.field] = null;\r\n }\r\n }\r\n }\r\n\r\n (node as any).selected = cached.selected;\r\n if (!cached.selected) allSelected = false;\r\n } else {\r\n allSelected = false;\r\n }\r\n } else if (node.type === 'group' && (node as any).children) {\r\n const isGroupSelected = hydrateTree((node as any).children);\r\n (node as any).selected = isGroupSelected;\r\n groupSelectionMap.set(node.id, isGroupSelected);\r\n if (!isGroupSelected) allSelected = false;\r\n }\r\n }\r\n return allSelected;\r\n };\r\n\r\n if (this._unflattenedTreeData) {\r\n hydrateTree(this._unflattenedTreeData);\r\n }\r\n\r\n // Sync the flat list data payload and strictly enforce selection states\r\n for (let i = 0; i < flatList.length; i++) {\r\n const row = flatList[i];\r\n if (row.type === 'leaf') {\r\n const cached = this._mappedRowData[row.id as number];\r\n if (cached) {\r\n if (!row.data) row.data = cached.data;\r\n row.selected = cached.selected;\r\n }\r\n } else if (row.type === 'group') {\r\n row.selected = groupSelectionMap.has(row.id) ? groupSelectionMap.get(row.id) : (row.selected || false);\r\n }\r\n }\r\n\r\n this.totalCount = this._unpaginatedLocalData.length;\r\n this.updatePaginationForLocalData();\r\n this.cdr.markForCheck();\r\n });\r\n };\r\n } catch (e) {\r\n console.warn('Web worker initialization failed, falling back to local sorting', e);\r\n }\r\n }\r\n }\r\n\r\n private updateVisibleColumns() {\r\n // Source selection: \r\n // 1. If we have dynamic pivot results, use those as the base.\r\n // 2. Otherwise, use the standard columns input.\r\n let baseColumns = (this.config.pivotMode && this.pivotColumns.length > 0 && this._dynamicPivotColumns.length > 0)\r\n ? [...this._dynamicPivotColumns]\r\n : [...this.columns];\r\n\r\n // If grouping is active, we MUST HAVE an Auto Group Column at index 0\r\n if (this.groupModel.length > 0) {\r\n // Find or Create Auto Column\r\n let autoCol = baseColumns.find(c => c.field === 'ag-Grid-AutoColumn');\r\n \r\n // Dynamically set header name based on active group\r\n let groupHeaderName = 'Group';\r\n if (this.groupModel.length === 1) {\r\n const sourceCol = this.columns.find(c => c.field === this.groupModel[0]);\r\n if (sourceCol) {\r\n groupHeaderName = sourceCol.headerName || sourceCol.field;\r\n }\r\n } else if (this.groupModel.length > 1) {\r\n groupHeaderName = 'Groups';\r\n }\r\n\r\n if (!autoCol) {\r\n autoCol = {\r\n field: 'ag-Grid-AutoColumn',\r\n headerName: groupHeaderName,\r\n width: 250,\r\n pinned: 'left',\r\n checkboxSelection: this.hasCheckboxSelection,\r\n headerCheckboxSelection: this.hasHeaderCheckboxSelection\r\n };\r\n baseColumns.unshift(autoCol);\r\n } else {\r\n autoCol.headerName = groupHeaderName; // Ensure Name Updates dynamically\r\n // Ensure it's at the front and pinned\r\n const idx = baseColumns.indexOf(autoCol);\r\n baseColumns.splice(idx, 1);\r\n baseColumns.unshift(autoCol);\r\n autoCol.pinned = 'left';\r\n }\r\n }\r\n\r\n // Hide columns that are currently inside the group model so we don't display dual columns\r\n const temp = baseColumns.filter(c => !c.hide && (c.field === 'ag-Grid-AutoColumn' || !this.groupModel.includes(c.field)));\r\n const left = temp.filter(c => c.pinned === 'left');\r\n const right = temp.filter(c => c.pinned === 'right');\r\n const center = temp.filter(c => !c.pinned);\r\n\r\n let currLeft = 0;\r\n left.forEach(c => {\r\n c._leftOffset = currLeft;\r\n currLeft += (c.width || 200);\r\n });\r\n\r\n let currRight = 0;\r\n [...right].reverse().forEach(c => {\r\n c._rightOffset = currRight;\r\n currRight += (c.width || 200);\r\n });\r\n\r\n this.visibleColumns = [...left, ...center, ...right];\r\n\r\n // Ensure checkbox selection and header checkbox selection strictly stay on the first visible column \r\n // (which should be the Auto Group Column if grouping is active)\r\n if (this.visibleColumns.length > 0) {\r\n this.visibleColumns.forEach((c, index) => {\r\n if (c.field === 'ag-Grid-AutoColumn') {\r\n c.checkboxSelection = this.hasCheckboxSelection;\r\n c.headerCheckboxSelection = this.hasHeaderCheckboxSelection;\r\n } else {\r\n // If it's not the auto-column, and we ARE grouping, it shouldn't have checkboxes\r\n if (this.groupModel.length > 0) {\r\n c.checkboxSelection = false;\r\n c.headerCheckboxSelection = false;\r\n } else {\r\n // Normal mode: first column gets it\r\n c.checkboxSelection = index === 0 ? this.hasCheckboxSelection : false;\r\n c.headerCheckboxSelection = index === 0 ? this.hasHeaderCheckboxSelection : false;\r\n }\r\n }\r\n });\r\n }\r\n \r\n this.cdr.markForCheck();\r\n }\r\n\r\n private wrapServerDataSource(source: ServerDataSource): ServerDataSource<UltraGridRow> {\r\n return {\r\n getRows: (params: GetRowsParams) => {\r\n return source.getRows({ ...params, sortModel: this.sortModel }).pipe(\r\n map(res => ({\r\n ...res,\r\n rows: res.rows.map((r, i) => ({ id: i + params.startRow, type: 'leaf', level: 0, data: r }))\r\n }))\r\n );\r\n }\r\n };\r\n }\r\n\r\n applyLocalData() {\r\n if (!this.rowData) return;\r\n if (this.sortingWorker && !this._workerInitialized) return; // Wait for worker INIT_DONE\r\n\r\n let processed: UltraGridRow[] = this._mappedRowData;\r\n\r\n // Prepare Filter Model for Worker by converting Set to Array\r\n const filterModelObj: { [key: string]: any[] } = {};\r\n let hasFilter = false;\r\n if (this.activeFilters.size > 0) {\r\n hasFilter = true;\r\n for (const [field, selectedSet] of this.activeFilters.entries()) {\r\n filterModelObj[field] = Array.from(selectedSet);\r\n }\r\n }\r\n\r\n const hasSort = this.sortModel.length > 0;\r\n\r\n // Prepare State Map for Worker\r\n const stateMapObj: { [key: string]: boolean } = {};\r\n for (const [key, value] of this.groupStateMap.entries()) {\r\n stateMapObj[key] = value;\r\n }\r\n\r\n // Prepare Aggregations map: merge static aggFunc from column defs with dynamic valuesModel\r\n const aggregations: { [key: string]: string } = {};\r\n // Static aggFunc from column definitions\r\n for (const col of this.columns) {\r\n if (col.aggFunc) {\r\n aggregations[col.field] = col.aggFunc;\r\n }\r\n }\r\n // Dynamic values from Values panel\r\n if (this.valuesModel.length > 0) {\r\n for (const vCol of this.valuesModel) {\r\n if (!aggregations[vCol.field]) {\r\n aggregations[vCol.field] = vCol.aggFunc;\r\n }\r\n }\r\n } else {\r\n // Default: aggregate all numeric columns if Values panel is empty\r\n for (const col of this.columns) {\r\n if (!aggregations[col.field] && this.isNumericColumn(col.field)) {\r\n aggregations[col.field] = 'sum';\r\n }\r\n }\r\n }\r\n\r\n if (hasFilter || hasSort || this.groupModel.length > 0 || this.conditionFilters.size > 0) {\r\n if (this.sortingWorker) {\r\n this.sortingWorker.postMessage({\r\n action: 'EXECUTE',\r\n sortModel: this.sortModel,\r\n filterModel: hasFilter ? filterModelObj : null,\r\n conditionFilters: this.conditionFilters.size > 0 ? Object.fromEntries(this.conditionFilters) : null,\r\n groupModel: this.groupModel,\r\n groupStateMap: stateMapObj,\r\n aggregations: aggregations,\r\n groupIncludeFooter: !!this.config.groupIncludeFooter,\r\n pivotMode: !!this.config.pivotMode,\r\n pivotColumns: this.pivotColumns\r\n });\r\n return;\r\n } else {\r\n // Fallback to local filtering if Worker fails/unsupported\r\n if (hasFilter) {\r\n processed = processed.filter(row => {\r\n for (const [field, selectedSet] of this.activeFilters.entries()) {\r\n const cellValue = row.data ? row.data[field] : null;\r\n if (!selectedSet.has(cellValue)) return false;\r\n }\r\n return true;\r\n });\r\n }\r\n if (hasSort) {\r\n processed = this.sortLocal(processed);\r\n }\r\n }\r\n }\r\n\r\n this._localTreeData = processed;\r\n this.refreshFlattener();\r\n }\r\n\r\n refreshFlattener() {\r\n this._unpaginatedLocalData = this.flattener.flatten(this._localTreeData, this.groupStateMap, !!this.config.groupIncludeFooter) as UltraGridRow[];\r\n this.totalCount = this._unpaginatedLocalData.length;\r\n this.updatePaginationForLocalData();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n private isNumericColumn(field: string): boolean {\r\n // First, check if the field name or its corresponding column header suggests it's a date/time\r\n const lowerField = field.toLowerCase();\r\n const col = this.columns.find(c => c.field === field);\r\n const lowerHeader = col?.headerName?.toLowerCase() || '';\r\n\r\n // If field or header name contains date/time keywords, do not treat as numeric\r\n if (lowerField.includes('date') || lowerField.includes('time') || lowerField.includes('ata') ||\r\n lowerHeader.includes('date') || lowerHeader.includes('time') || lowerHeader.includes('ata')) {\r\n return false;\r\n }\r\n\r\n // Check up to the first 20 rows to determine if the column contains numeric data\r\n const rowsToCheck = Math.min(20, this._unpaginatedLocalData.length);\r\n if (rowsToCheck === 0) return false;\r\n\r\n let hasNumeric = false;\r\n\r\n for (let i = 0; i < Math.min(rowsToCheck, this._unpaginatedLocalData.length); i++) {\r\n const val = this._unpaginatedLocalData[i]?.data?.[field];\r\n if (val !== undefined && val !== null && val !== '') {\r\n const strVal = String(val).trim();\r\n // Reject if it contains alphabetic letters (e.g. \"User 1\" or \"101 USD\")\r\n if (/[a-zA-Z]/.test(strVal)) return false;\r\n\r\n // Robust numeric parsing: handle accounting format () and various minus signs\r\n let isNegative = strVal.startsWith('(') && strVal.endsWith(')');\r\n let cleanStr = strVal.replace(/[\\u2212\\u2013\\u2014]/g, '-');\r\n if (cleanStr.includes('-')) isNegative = true;\r\n cleanStr = cleanStr.replace(/[^0-9.]/g, '');\r\n\r\n const parsed = cleanStr ? Number(cleanStr) : NaN;\r\n if (!isNaN(parsed)) {\r\n hasNumeric = true;\r\n }\r\n }\r\n }\r\n return hasNumeric;\r\n }\r\n\r\n toggleGroup(groupId: string) {\r\n const isExpanded = this.groupStateMap.get(groupId);\r\n this.groupStateMap.set(groupId, !isExpanded);\r\n\r\n const stateObj = Object.fromEntries(this.groupStateMap);\r\n\r\n if (this.sortingWorker) {\r\n // High-performance path: only trigger flattening on the already-cached tree\r\n this.sortingWorker.postMessage({\r\n action: 'FLATTEN_ONLY',\r\n groupStateMap: stateObj,\r\n groupIncludeFooter: !!this.config.groupIncludeFooter\r\n });\r\n } else {\r\n // Fallback for non-worker mode\r\n this.refreshFlattener();\r\n }\r\n }\r\n\r\n isGroupExpanded(row: UltraGridRow): boolean {\r\n if (!row || row.type !== 'group') return false;\r\n return !!this.groupStateMap.get(row.id as string);\r\n }\r\n\r\n private sortLocal(rows: UltraGridRow[]): UltraGridRow[] {\r\n return [...rows].sort((a, b) => {\r\n for (const sort of this.sortModel) {\r\n const { field, direction } = sort;\r\n const valA = a.data ? a.data[field] : null;\r\n const valB = b.data ? b.data[field] : null;\r\n\r\n if (valA === valB) continue;\r\n\r\n const comparison = valA > valB ? 1 : -1;\r\n return direction === 'asc' ? comparison : -comparison;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n private updatePaginationForLocalData() {\r\n if (this.pagination && !this.serverDataSource) {\r\n const start = (this.currentPage - 1) * this.pageSize;\r\n const end = start + this.pageSize;\r\n this.renderedLocalData = this._unpaginatedLocalData.slice(start, end);\r\n } else if (!this.serverDataSource) {\r\n this.renderedLocalData = this._unpaginatedLocalData;\r\n }\r\n }\r\n\r\n fetchServerPage(page: number) {\r\n if (!this.serverDataSource) return;\r\n\r\n const startRow = (page - 1) * this.pageSize;\r\n const endRow = startRow + this.pageSize;\r\n\r\n this.serverDataSource.getRows({\r\n startRow,\r\n endRow,\r\n sortModel: this.sortModel\r\n }).subscribe(res => {\r\n this.totalCount = res.totalCount;\r\n this.renderedLocalData = res.rows.map((r, i) => ({ id: startRow + i, type: 'leaf', level: 0, data: r }));\r\n this.currentPage = page;\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n\r\n /**\r\n * Triggers a Web-Worker powered Excel export of the grid data.\r\n */\r\n public async exportExcel(options: ExcelExportOptions = {}): Promise<void> {\r\n const sourceColumns = this.visibleColumns;\r\n\r\n let exportData: any[] = [];\r\n\r\n // When grouped, _unpaginatedLocalData only has expanded visible nodes.\r\n // We use the full nested _unflattenedTreeData so the export worker can extract all nested rows recursively.\r\n exportData = this._unflattenedTreeData && this._unflattenedTreeData.length > 0\r\n ? this._unflattenedTreeData\r\n : this._unpaginatedLocalData;\r\n\r\n try {\r\n // Merge options from gridConfig if available\r\n const finalOptions: any = { ...options };\r\n if (this.config.excelExportOptions?.customHeaders) {\r\n finalOptions.customHeaders = this.config.excelExportOptions.customHeaders;\r\n }\r\n console.log('Final Export Options:', finalOptions);\r\n\r\n await this.excelExportService.exportDataAsExcel(finalOptions, sourceColumns, exportData);\r\n } catch (error) {\r\n console.error('UltraGrid Excel Export Failed:', error);\r\n }\r\n }\r\n\r\n onPageChanged(page: number) {\r\n if (this.serverDataSource && this.pagination) {\r\n this.fetchServerPage(page);\r\n } else {\r\n this.currentPage = page;\r\n this.applyLocalData();\r\n }\r\n }\r\n\r\n onSortChanged(event: { field: string, direction: 'asc' | 'desc' | null }) {\r\n if (this.config.multiSort) {\r\n const existingIdx = this.sortModel.findIndex(m => m.field === event.field);\r\n if (event.direction === null) {\r\n if (existingIdx >= 0) {\r\n this.sortModel = this.sortModel.filter(m => m.field !== event.field);\r\n }\r\n } else {\r\n if (existingIdx >= 0) {\r\n const newModel = [...this.sortModel];\r\n newModel[existingIdx] = { ...newModel[existingIdx], direction: event.direction };\r\n this.sortModel = newModel;\r\n } else {\r\n this.sortModel = [...this.sortModel, { field: event.field, direction: event.direction }];\r\n }\r\n }\r\n } else {\r\n if (event.direction === null) this.sortModel = [];\r\n else this.sortModel = [{ field: event.field, direction: event.direction }];\r\n }\r\n\r\n this.sortChanged.emit(this.sortModel);\r\n\r\n // Re-fetch or re-sort\r\n if (this.serverDataSource) {\r\n if (this._internalDataSource) {\r\n this._internalDataSource = new InfiniteScrollDataSource<UltraGridRow>(\r\n this.wrapServerDataSource(this.serverDataSource),\r\n this.config.bufferSize || 200\r\n );\r\n } else if (this.pagination) {\r\n this.fetchServerPage(1);\r\n }\r\n } else {\r\n this.applyLocalData();\r\n }\r\n }\r\n\r\n onColumnsReordered(cols: UltraGridColumn[]) {\r\n this.columns = cols;\r\n this.updateVisibleColumns();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onViewportScroll() {\r\n if (this.viewport && this.headerElement) {\r\n const scrollLeft = this.viewport.elementRef.nativeElement.scrollLeft;\r\n this.headerElement.nativeElement.scrollLeft = scrollLeft;\r\n }\r\n }\r\n\r\n onSideBarColumnsUpdated(cols: UltraGridColumn[]) {\r\n this.columns = cols;\r\n this.updateVisibleColumns();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onSideBarGroupModelUpdated(model: string[]) {\r\n this.groupModel = model;\r\n this.updateVisibleColumns();\r\n this.applyLocalData();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onColumnResized(event: { field: string, width: number }) {\r\n const col = this.columns.find(c => c.field === event.field);\r\n if (col) {\r\n col.width = event.width;\r\n this.updateVisibleColumns();\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n get isAllSelected(): boolean {\r\n const targetArray = this._unpaginatedLocalData;\r\n if (!targetArray || targetArray.length === 0) return false;\r\n return targetArray.every(r => r.selected);\r\n }\r\n\r\n onHeaderCheckboxClicked(selected: boolean) {\r\n // 1. Traverse the full unflattened tree to persist selection to ALL rows matching the filter\r\n const traverse = (nodes: UltraGridNode[]) => {\r\n for (const n of nodes) {\r\n (n as any).selected = selected;\r\n if (n.type === 'leaf' && this._mappedRowData[n.id as number]) {\r\n this._mappedRowData[n.id as number].selected = selected;\r\n } else if (n.type === 'group' && (n as any).children) {\r\n traverse((n as any).children);\r\n }\r\n }\r\n };\r\n traverse(this._unflattenedTreeData);\r\n\r\n // 2. Update the currently flattened array for instant UI update\r\n for (const row of this._unpaginatedLocalData) {\r\n row.selected = selected;\r\n }\r\n\r\n this.selectionVersion++;\r\n this.cdr.markForCheck();\r\n this.selectionChanged.emit(this.getSelectedRows());\r\n }\r\n\r\n onPageSizeChanged(size: number) {\r\n this.pageSize = size;\r\n this.currentPage = 1;\r\n if (this.serverDataSource && this.pagination) {\r\n this.fetchServerPage(1);\r\n } else {\r\n this.updatePaginationForLocalData();\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n private selectNodeAndChildren(nodeId: string | number, selected: boolean) {\r\n // Find the node in the unflattened tree using DFS\r\n const findNode = (nodes: UltraGridNode[], id: string | number): UltraGridNode | undefined => {\r\n for (const node of nodes) {\r\n if (node.id === id) return node;\r\n if (node.type === 'group' && (node as any).children) {\r\n const found = findNode((node as any).children, id);\r\n if (found) return found;\r\n }\r\n }\r\n return undefined;\r\n };\r\n\r\n const targetNode = findNode(this._unflattenedTreeData, nodeId);\r\n if (!targetNode) return;\r\n\r\n // Collect all leaf IDs under this node, and set group selections\r\n const leafIdsToUpdate = new Set<number>();\r\n const groupIdsToUpdate = new Set<string | number>();\r\n\r\n const traverse = (n: UltraGridNode) => {\r\n (n as any).selected = selected;\r\n if (n.type === 'leaf') {\r\n leafIdsToUpdate.add(n.id as number);\r\n if (this._mappedRowData[n.id as number]) {\r\n this._mappedRowData[n.id as number].selected = selected;\r\n }\r\n } else if (n.type === 'group' && (n as any).children) {\r\n groupIdsToUpdate.add(n.id);\r\n (n as any).children.forEach((child: UltraGridNode) => traverse(child));\r\n }\r\n };\r\n traverse(targetNode);\r\n\r\n // Update the flattened list in O(N) time so the UI reflects it instantly\r\n for (let i = 0; i < this._unpaginatedLocalData.length; i++) {\r\n const row = this._unpaginatedLocalData[i];\r\n if (row.type === 'leaf' && leafIdsToUpdate.has(row.id as number)) {\r\n row.selected = selected;\r\n } else if (row.type === 'group' && groupIdsToUpdate.has(row.id)) {\r\n row.selected = selected;\r\n }\r\n }\r\n }\r\n\r\n onRowClicked(row: UltraGridRow | undefined) {\r\n if (!row) return;\r\n\r\n let newSelectedState = true;\r\n\r\n if (this.config.rowSelection === 'single') {\r\n this._unpaginatedLocalData.forEach(r => r.selected = false);\r\n this._mappedRowData.forEach(r => { if (r) r.selected = false; });\r\n row.selected = true;\r\n if (row.type === 'leaf' && this._mappedRowData[row.id as number]) {\r\n this._mappedRowData[row.id as number].selected = true;\r\n }\r\n } else if (this.config.rowSelection === 'multiple') {\r\n newSelectedState = !row.selected;\r\n row.selected = newSelectedState;\r\n\r\n if (row.type === 'leaf' && this._mappedRowData[row.id as number]) {\r\n this._mappedRowData[row.id as number].selected = newSelectedState;\r\n } else if (row.type === 'group') {\r\n this.selectNodeAndChildren(row.id, newSelectedState);\r\n }\r\n }\r\n\r\n this.selectionVersion++;\r\n this.rowClicked.emit(row);\r\n this.cdr.markForCheck();\r\n this.selectionChanged.emit(this.getSelectedRows());\r\n }\r\n\r\n getPlaceholderRow(index: number): UltraGridRow {\r\n return {\r\n id: `placeholder-${index}`,\r\n type: 'leaf',\r\n level: 0,\r\n data: null\r\n };\r\n }\r\n\r\n trackByRowId(index: number, item: UltraGridRow | undefined): string | number {\r\n return item ? item.id : index;\r\n }\r\n\r\n onHeaderMenuClicked(event: { column: UltraGridColumn, event: MouseEvent }) {\r\n this.activeMenuColumn = event.column;\r\n let x = event.event.clientX;\r\n const y = event.event.clientY;\r\n const panelWidth = 250;\r\n if (typeof window !== 'undefined' && (x + panelWidth > window.innerWidth)) {\r\n x = Math.max(0, window.innerWidth - panelWidth - 20);\r\n }\r\n this.menuPosition = { x, y };\r\n this.isMenuOpen = true;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onMenuClosed() {\r\n this.isMenuOpen = false;\r\n this.activeMenuColumn = undefined;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onMenuSort(event: { field: string, direction: 'asc' | 'desc' }) {\r\n this.onSortChanged(event);\r\n }\r\n\r\n onMenuPin(event: { field: string, pinned: 'left' | 'right' | null }) {\r\n const col = this.columns.find(c => c.field === event.field);\r\n if (col) {\r\n col.pinned = event.pinned || undefined;\r\n this.updateVisibleColumns();\r\n this.cdr.markForCheck();\r\n }\r\n }\r\n\r\n onMenuAutosize(event: { field: string, all: boolean }) {\r\n // Basic implementation: set width to 200px or calculate based on sampling\r\n // A complete implementation would measure Canvas TextMetrics\r\n if (event.all) {\r\n this.columns.forEach(c => c.width = 200);\r\n } else {\r\n const col = this.columns.find(c => c.field === event.field);\r\n if (col) col.width = 250;\r\n }\r\n this.updateVisibleColumns();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onMenuGroup(event: { field: string }) {\r\n if (!this.groupModel) {\r\n this.groupModel = [];\r\n }\r\n\r\n if (this.groupModel.includes(event.field)) {\r\n // Remove from grouping\r\n this.groupModel = this.groupModel.filter(f => f !== event.field);\r\n } else {\r\n // Add to grouping\r\n this.groupModel = [...this.groupModel, event.field];\r\n }\r\n\r\n this.updateVisibleColumns();\r\n this.applyLocalData();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onMenuChooseColumns() {\r\n this.isChooseColumnsOpen = true;\r\n // Position it slightly shifted from the menu icon\r\n let x = this.menuPosition.x + 20;\r\n const y = this.menuPosition.y + 20;\r\n const panelWidth = 250;\r\n if (typeof window !== 'undefined' && (x + panelWidth > window.innerWidth)) {\r\n x = Math.max(0, window.innerWidth - panelWidth - 20);\r\n }\r\n this.chooseColumnsPosition = { x, y };\r\n this.isMenuOpen = false;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onChooseColumnsUpdated(columns: UltraGridColumn[]) {\r\n this.columns = columns;\r\n this.updateVisibleColumns();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n // --- Filter logic ---\r\n\r\n getFilterSetForColumn(field?: string): Set<any> {\r\n if (!field) return new Set();\r\n return this.activeFilters.get(field) || new Set();\r\n }\r\n\r\n onHeaderFilterClicked(event: { column: UltraGridColumn, event: MouseEvent }) {\r\n this.activeFilterColumn = event.column;\r\n let x = event.event.clientX;\r\n const y = event.event.clientY;\r\n const panelWidth = 300;\r\n if (typeof window !== 'undefined' && (x + panelWidth > window.innerWidth)) {\r\n x = Math.max(0, window.innerWidth - panelWidth - 20);\r\n }\r\n this.filterPosition = { x, y };\r\n this.isFilterOpen = true;\r\n\r\n // Calculate unique values based on un-paginated / un-filtered raw data\r\n const uniqueSet = new Set<any>();\r\n this.rowData.forEach(row => {\r\n const val = row[event.column.field];\r\n uniqueSet.add(val);\r\n });\r\n\r\n // Convert to array and sort (keeping nulls/blanks separate logically)\r\n this.activeFilterUniqueValues = Array.from(uniqueSet).sort((a, b) => {\r\n if (a === null || a === undefined || a === '') return -1;\r\n if (b === null || b === undefined || b === '') return 1;\r\n return a > b ? 1 : -1;\r\n });\r\n\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onFilterClosed() {\r\n this.isFilterOpen = false;\r\n this.activeFilterColumn = undefined;\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onFilterApplied(event: { field: string, selected: Set<any> }) {\r\n if (event.selected.size === 0) {\r\n // Empty filter means \"Clear Filter / Show All\"\r\n this.activeFilters.delete(event.field);\r\n } else {\r\n this.activeFilters.set(event.field, event.selected);\r\n }\r\n\r\n this.currentPage = 1; // Reset to page 1 on filter\r\n this.applyLocalData(); // Re-run pipeline (filter -> sort -> paginate)\r\n }\r\n\r\n onClearAllFilters() {\r\n this.activeFilters.clear();\r\n this.conditionFilters.clear();\r\n this.currentPage = 1;\r\n this.applyLocalData();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n onConditionFilterChanged(event: { field: string, filter: ColumnConditionFilter | null }) {\r\n if (event.filter === null) {\r\n this.conditionFilters.delete(event.field);\r\n } else {\r\n this.conditionFilters.set(event.field, event.filter);\r\n }\r\n this.currentPage = 1;\r\n this.applyLocalData();\r\n this.cdr.markForCheck();\r\n }\r\n\r\n private handlePivotColumns(dynamicPivotCols: any[]) {\r\n if (!this.config.pivotMode) {\r\n this._dynamicPivotColumns = [];\r\n return;\r\n }\r\n \r\n // Transform worker dynamic cols into UltraGridColumn definitions\r\n const newPivotCols: UltraGridColumn[] = dynamicPivotCols.map(dc => ({\r\n field: dc.field,\r\n headerName: dc.headerName,\r\n width: 150,\r\n sortable: true,\r\n aggFunc: dc.aggFunc,\r\n headerClass: 'ug-pivot-header'\r\n }));\r\n\r\n this._dynamicPivotColumns = newPivotCols;\r\n this.updateVisibleColumns();\r\n }\r\n\r\n onValuesModelUpdated(model: ValueColumnModel[]) {\r\n this.valuesModel = model;\r\n if (model.length === 0) {\r\n this._dynamicPivotColumns = [];\r\n this.updateVisibleColumns();\r\n }\r\n this.applyLocalData();\r\n }\r\n\r\n onSideBarPivotModelUpdated(model: string[]) {\r\n this.pivotColumns = model;\r\n if (model.length === 0) {\r\n this._dynamicPivotColumns = [];\r\n this.updateVisibleColumns();\r\n }\r\n this.applyLocalData();\r\n }\r\n\r\n onSideBarPivotModeUpdated(enabled: boolean) {\r\n this.config = { ...this.config, pivotMode: enabled };\r\n if (!enabled) {\r\n this._dynamicPivotColumns = [];\r\n this.updateVisibleColumns();\r\n }\r\n this.applyLocalData();\r\n }\r\n\r\n // --- Save / Import Filters natively to LocalStorage ---\r\n\r\n private loadSavedReportNames() {\r\n if (!this.isBrowser) return;\r\n try {\r\n const stored = localStorage.getItem('ug-saved-reports');\r\n if (stored) {\r\n const parsed = JSON.parse(stored);\r\n this.savedReportNames = Object.keys(parsed);\r\n this.cdr.markForCheck();\r\n }\r\n } catch(e) {}\r\n }\r\n\r\n handleSaveReport(reportName: string) {\r\n if (!reportName) return;\r\n\r\n const state: any = {\r\n activeFilters: {},\r\n conditionFilters: {}\r\n };\r\n\r\n // Convert Map<string, Set<any>> to Record<string, any[]>\r\n if (this.activeFilters.size > 0) {\r\n for (const [field, selectedSet] of this.activeFilters.entries()) {\r\n state.activeFilters[field] = Array.from(selectedSet);\r\n }\r\n }\r\n\r\n // Convert Map to Object\r\n if (this.conditionFilters.size > 0) {\r\n state.conditionFilters = Object.fromEntries(this.conditionFilters);\r\n }\r\n\r\n if (this.isBrowser) {\r\n try {\r\n const stored = localStorage.getItem('ug-saved-reports');\r\n const reports = stored ? JSON.parse(stored) : {};\r\n reports[reportName] = state;\r\n localStorage.setItem('ug-saved-reports', JSON.stringify(reports));\r\n this.loadSavedReportNames();\r\n console.log(`Report '${reportName}' saved successfully locally.`);\r\n } catch (err) {\r\n console.error('Failed to save report locally.', err);\r\n }\r\n }\r\n }\r\n\r\n handleLoadReport(reportName: string) {\r\n if (!reportName || !this.isBrowser) return;\r\n\r\n try {\r\n const stored = localStorage.getItem('ug-saved-reports');\r\n if (stored) {\r\n const reports = JSON.parse(stored);\r\n const data = reports[reportName];\r\n if (data) {\r\n this.applyImportedFilters(data);\r\n }\r\n }\r\n } catch (err) {\r\n console.error('Error loading report locally.', err);\r\n }\r\n }\r\n\r\n private applyImportedFilters(data: any) {\r\n if (!data) return;\r\n try {\r\n // Restore activeFilters (Record -> Map<string, Set>)\r\n // Important: We create a NEW Map instance to trigger Output/Input change detection\r\n const newActiveFilters = new Map<string, Set<any>>();\r\n if (data.activeFilters) {\r\n Object.keys(data.activeFilters).forEach(field => {\r\n newActiveFilters.set(field, new Set(data.activeFilters[field]));\r\n });\r\n }\r\n this.activeFilters = newActiveFilters;\r\n\r\n // Restore conditionFilters (Object -> Map)\r\n if (data.conditionFilters) {\r\n this.conditionFilters = new Map(Object.entries(data.conditionFilters));\r\n } else {\r\n this.conditionFilters = new Map();\r\n }\r\n\r\n // Refresh grid\r\n this.currentPage = 1;\r\n this.applyLocalData();\r\n this.cdr.markForCheck();\r\n console.log('Filters loaded and applied successfully.');\r\n } catch (err) {\r\n console.error('Error applying loaded filters:', err);\r\n alert('Error loading report. Please ensure local storage data is not corrupted.');\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { UltraGridComponent } from './components/ultra-grid/ultra-grid.component';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { RowComponent } from './components/row/row.component';\r\nimport { CellComponent } from './components/cell/cell.component';\r\nimport { PaginationComponent } from './components/pagination/pagination.component';\r\nimport { ColumnResizeDirective } from './directives/column-resize.directive';\r\nimport { SideBarComponent } from './components/side-bar/side-bar.component';\r\n\r\nconst COMPONENTS = [\r\n UltraGridComponent,\r\n HeaderComponent,\r\n RowComponent,\r\n CellComponent,\r\n PaginationComponent,\r\n ColumnResizeDirective\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n UltraGridComponent,\r\n HeaderComponent,\r\n RowComponent,\r\n CellComponent,\r\n PaginationComponent,\r\n ColumnResizeDirective,\r\n SideBarComponent\r\n ],\r\n exports: [\r\n UltraGridComponent,\r\n HeaderComponent,\r\n RowComponent,\r\n CellComponent,\r\n PaginationComponent,\r\n ColumnResizeDirective,\r\n SideBarComponent\r\n ]\r\n})\r\nexport class BwaysGridModule { }\r\n","/**\r\n * Condition-based filter model for AG Grid-style advanced filtering.\r\n * Each column can have up to 2 conditions joined by AND/OR.\r\n */\r\n\r\n// --- Text Filter Types ---\r\nexport type TextFilterType =\r\n | 'contains'\r\n | 'notContains'\r\n | 'equals'\r\n | 'notEqual'\r\n | 'startsWith'\r\n | 'endsWith'\r\n | 'blank'\r\n | 'notBlank';\r\n\r\n// --- Number Filter Types ---\r\nexport type NumberFilterType =\r\n | 'equals'\r\n | 'notEqual'\r\n | 'greaterThan'\r\n | 'greaterThanOrEqual'\r\n | 'lessThan'\r\n | 'lessThanOrEqual'\r\n | 'inRange'\r\n | 'blank'\r\n | 'notBlank';\r\n\r\nexport type FilterConditionType = TextFilterType | NumberFilterType;\r\n\r\nexport interface FilterCondition {\r\n type: FilterConditionType;\r\n value: string;\r\n valueTo?: string; // For 'inRange' only\r\n}\r\n\r\nexport type JoinOperator = 'AND' | 'OR';\r\n\r\nexport interface ColumnConditionFilter {\r\n condition1: FilterCondition;\r\n operator: JoinOperator;\r\n condition2?: FilterCondition;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\nexport type GridEventName = 'rowClicked' | 'columnResized' | 'sortChanged' | 'filterChanged' | 'selectionChanged';\r\n\r\nexport interface GridEvent {\r\n name: GridEventName;\r\n payload: any;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GridEngineService {\r\n private _eventBus = new Subject<GridEvent>();\r\n\r\n get events$(): Observable<GridEvent> {\r\n return this._eventBus.asObservable();\r\n }\r\n\r\n dispatch(name: GridEventName, payload: any) {\r\n this._eventBus.next({ name, payload });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ViewportManager {\r\n private _scrollTop = 0;\r\n private _viewportHeight = 600;\r\n private _rowHeight = 40;\r\n private _bufferSize = 20;\r\n\r\n get scrollTop(): number { return this._scrollTop; }\r\n set scrollTop(val: number) { this._scrollTop = val; }\r\n\r\n get viewportHeight(): number { return this._viewportHeight; }\r\n set viewportHeight(val: number) { this._viewportHeight = val; }\r\n\r\n get rowHeight(): number { return this._rowHeight; }\r\n set rowHeight(val: number) { this._rowHeight = val; }\r\n\r\n get bufferSize(): number { return this._bufferSize; }\r\n set bufferSize(val: number) { this._bufferSize = val; }\r\n\r\n getVisibleRange(): { start: number, end: number } {\r\n const startRowIndex = Math.floor(this._scrollTop / this._rowHeight);\r\n const endRowIndex = startRowIndex + Math.ceil(this._viewportHeight / this._rowHeight);\r\n\r\n const start = Math.max(0, startRowIndex - this._bufferSize);\r\n const end = endRowIndex + this._bufferSize;\r\n\r\n return { start, end };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UltraGridRow } from '../models/row.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RowCache {\r\n private _cache: WeakMap<any, UltraGridRow> = new WeakMap();\r\n\r\n getRow(data: any): UltraGridRow | undefined {\r\n return this._cache.get(data);\r\n }\r\n\r\n setRow(data: any, row: UltraGridRow): void {\r\n if (data) {\r\n this._cache.set(data, row);\r\n }\r\n }\r\n\r\n clear(): void {\r\n this._cache = new WeakMap();\r\n }\r\n}\r\n","/*\r\n * Public API Surface of bways-grid\r\n */\r\nexport * from './lib/bways-grid.module';\r\nexport * from './lib/components/ultra-grid/ultra-grid.component';\r\nexport * from './lib/components/header/header.component';\r\nexport * from './lib/components/row/row.component';\r\nexport * from './lib/components/cell/cell.component';\r\nexport * from './lib/components/pagination/pagination.component';\r\nexport * from './lib/components/side-bar/side-bar.component';\r\nexport * from './lib/components/column-tool-panel/column-tool-panel.component';\r\nexport * from './lib/components/filter-tool-panel/filter-tool-panel.component';\r\n\r\nexport * from './lib/directives/column-resize.directive';\r\n\r\nexport * from './lib/models/column.model';\r\nexport * from './lib/models/row.model';\r\nexport * from './lib/models/grid-config.model';\r\nexport * from './lib/models/filter.model';\r\n\r\nexport * from './lib/datasources/server-datasource.interface';\r\nexport * from './lib/datasources/infinite-scroll.datasource';\r\n\r\nexport * from './lib/core/grid-engine.service';\r\nexport * from './lib/core/viewport-manager';\r\nexport * from './lib/core/row-cache';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1.GridFlattenerService","i2.ExcelExportService","i4"],"mappings":"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"}