From 19620da30be2a7d7b9801938a0b9b1fd3c4c4b00 Mon Sep 17 00:00:00 2001 From: SheetJS Date: Wed, 14 Feb 2018 15:06:35 -0500 Subject: [PATCH] version bump 0.12.1: BIFF5 features - BIFF5 write number formats and other features - XLSX/XLSB/BIFF8 Suppress "Number stored as Text" errors - codename awareness (fixes #992 h/t @samusstrike) - updated CFB to 1.0.3 - demo refresh --- .spelling | 1 + README.md | 36 +- bits/01_version.js | 2 +- bits/11_ssfutils.js | 40 ++ bits/18_cfb.js | 8 +- bits/20_jsutils.js | 2 +- bits/23_binutils.js | 2 +- bits/28_binstructs.js | 15 +- bits/29_xlsenum.js | 2 +- bits/30_ctype.js | 3 +- bits/38_xlstypes.js | 7 +- bits/39_xlsbiff.js | 184 +++--- bits/43_sstbin.js | 2 +- bits/48_stybin.js | 14 +- bits/50_styxls.js | 6 +- bits/58_cmntbin.js | 2 +- bits/62_fxls.js | 281 +++++----- bits/63_fbin.js | 1 - bits/66_wscommon.js | 1 + bits/67_wsxml.js | 12 +- bits/68_wsbin.js | 66 ++- bits/71_wbcommon.js | 9 +- bits/73_wbbin.js | 20 +- bits/76_xls.js | 8 +- bits/77_parsetab.js | 12 +- bits/78_writebiff.js | 61 +- demos/altjs/.gitignore | 2 +- demos/altjs/.swiftlint.yml | 3 + demos/altjs/Makefile | 22 +- demos/altjs/README.md | 23 +- demos/altjs/SJSPlayground.swift | 12 +- demos/altjs/SheetJSCore.swift | 102 ++-- demos/altjs/com/sheetjs/JSHelper.java | 2 +- demos/altjs/com/sheetjs/SheetJS.java | 8 +- demos/altjs/duktape.sh | 3 +- demos/altjs/main.swift | 21 + demos/altjs/nashorn.js | 51 +- demos/altjs/sheetjs.duk.c | 21 +- demos/oldie/README.md | 69 ++- demos/oldie/index.html | 37 +- dist/shim.min.js | 2 +- dist/xlsx.core.min.js | 30 +- dist/xlsx.core.min.map | 2 +- dist/xlsx.extendscript.js | 775 +++++++++++++++----------- dist/xlsx.full.min.js | 32 +- dist/xlsx.full.min.map | 2 +- dist/xlsx.js | 760 ++++++++++++++----------- dist/xlsx.min.js | 24 +- dist/xlsx.min.map | 2 +- docbits/20_import.md | 2 + docbits/51_cell.md | 4 +- docbits/52_datatype.md | 30 +- misc/docs/README.md | 36 +- package.json | 4 +- shim.js | 15 + tests/index.html | 3 - tests/sauce.html | 3 - tests/xhr-hack.js | 17 - types/index.d.ts | 3 +- types/xlsx-tests.ts | 6 + xlsx.flow.js | 760 ++++++++++++++----------- xlsx.js | 760 ++++++++++++++----------- 62 files changed, 2609 insertions(+), 1836 deletions(-) create mode 100644 demos/altjs/.swiftlint.yml create mode 100755 demos/altjs/main.swift delete mode 100644 tests/xhr-hack.js diff --git a/.spelling b/.spelling index 9f1fd22..2d15f0c 100644 --- a/.spelling +++ b/.spelling @@ -62,6 +62,7 @@ APIs ArrayBuffer Base64 Booleans +FileReader JS NoSQL README diff --git a/README.md b/README.md index 50356e0..31e9d26 100644 --- a/README.md +++ b/README.md @@ -430,6 +430,8 @@ function handleFile(e) { input_dom_element.addEventListener('change', handleFile, false); ``` +The [`oldie` demo](demos/oldie/) shows an IE-compatible fallback scenario. + More specialized cases, including mobile app file processing, are covered in the @@ -849,11 +851,13 @@ for(var R = range.s.r; R <= range.e.r; ++R) { ### Cell Object +Cell objects are plain JS objects with keys and values following the convention: + | Key | Description | | --- | ---------------------------------------------------------------------- | | `v` | raw value (see Data Types section for more info) | | `w` | formatted text (if applicable) | -| `t` | cell type: `b` Boolean, `n` Number, `e` error, `s` String, `d` Date | +| `t` | type: `b` Boolean, `e` Error, `n` Number, `d` Date, `s` Text, `z` Stub | | `f` | cell formula encoded as an A1-style string (if applicable) | | `F` | range of enclosing array if formula is array formula (if applicable) | | `r` | rich text encoding (if applicable) | @@ -873,11 +877,18 @@ array range. Other cells in the range will omit the `f` field. #### Data Types -The raw value is stored in the `v` field, interpreted based on the `t` field. +The raw value is stored in the `v` value property, interpreted based on the `t` +type property. This separation allows for representation of numbers as well as +numeric text. There are 6 valid cell types: -Type `b` is the Boolean type. `v` is interpreted according to JS truth tables. - -Type `e` is the Error type. `v` holds the number and `w` holds the common name: +| Type | Description | +| :--: | :-------------------------------------------------------------------- | +| `b` | Boolean: value interpreted as JS `boolean` | +| `e` | Error: value is a numeric code and `w` property stores common name ** | +| `n` | Number: value is a JS `number` ** | +| `d` | Date: value is a JS `Date` object or string to be parsed as Date ** | +| `s` | Text: value interpreted as JS `string` and written as text ** | +| `z` | Stub: blank stub cell that is ignored by data processing utilities ** |
Error values and interpretation (click to show) @@ -906,14 +917,17 @@ Since JSON does not have a natural Date type, parsers are generally expected to store ISO 8601 Date strings like you would get from `date.toISOString()`. On the other hand, writers and exporters should be able to handle date strings and JS Date objects. Note that Excel disregards timezone modifiers and treats all -dates in the local timezone. js-xlsx does not correct for this error. +dates in the local timezone. The library does not correct for this error. -Type `s` is the String type. `v` should be explicitly stored as a string to -avoid possible confusion. +Type `s` is the String type. Values are explicitly stored as text. Excel will +interpret these cells as "number stored as text". Generated Excel files +automatically suppress that class of error, but other formats may elicit errors. + +Type `z` represents blank stub cells. They are generated in cases where cells +have no assigned value but hold comments or other metadata. They are ignored by +the core library data processing utility functions. By default these cells are +not generated; the parser `sheetStubs` option must be set to `true`. -Type `z` represents blank stub cells. These do not have any data or type, and -are not processed by any of the core library functions. By default these cells -will not be generated; the parser `sheetStubs` option must be set to `true`. #### Dates diff --git a/bits/01_version.js b/bits/01_version.js index e4d69ac..05c0306 100644 --- a/bits/01_version.js +++ b/bits/01_version.js @@ -1 +1 @@ -XLSX.version = '0.12.0'; +XLSX.version = '0.12.1'; diff --git a/bits/11_ssfutils.js b/bits/11_ssfutils.js index a700c68..56d913b 100644 --- a/bits/11_ssfutils.js +++ b/bits/11_ssfutils.js @@ -18,6 +18,46 @@ var XLMLFormatMap/*{[string]:string}*/ = ({ "On/Off": '"Yes";"Yes";"No";@' }/*:any*/); +var SSFImplicit/*{[number]:string}*/ = ({ + "5": '"$"#,##0_);\\("$"#,##0\\)', + "6": '"$"#,##0_);[Red]\\("$"#,##0\\)', + "7": '"$"#,##0.00_);\\("$"#,##0.00\\)', + "8": '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', + "23": 'General', "24": 'General', "25": 'General', "26": 'General', + "27": 'm/d/yy', "28": 'm/d/yy', "29": 'm/d/yy', "30": 'm/d/yy', "31": 'm/d/yy', + "32": 'h:mm:ss', "33": 'h:mm:ss', "34": 'h:mm:ss', "35": 'h:mm:ss', + "36": 'm/d/yy', + "41": '_(* #,##0_);_(* \(#,##0\);_(* "-"_);_(@_)', + "42": '_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"_);_(@_)', + "43": '_(* #,##0.00_);_(* \(#,##0.00\);_(* "-"??_);_(@_)', + "44": '_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)', + "50": 'm/d/yy', "51": 'm/d/yy', "52": 'm/d/yy', "53": 'm/d/yy', "54": 'm/d/yy', + "55": 'm/d/yy', "56": 'm/d/yy', "57": 'm/d/yy', "58": 'm/d/yy', + "59": '0', + "60": '0.00', + "61": '#,##0', + "62": '#,##0.00', + "63": '"$"#,##0_);\\("$"#,##0\\)', + "64": '"$"#,##0_);[Red]\\("$"#,##0\\)', + "65": '"$"#,##0.00_);\\("$"#,##0.00\\)', + "66": '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', + "67": '0%', + "68": '0.00%', + "69": '# ?/?', + "70": '# ??/??', + "71": 'm/d/yy', + "72": 'm/d/yy', + "73": 'd-mmm-yy', + "74": 'd-mmm', + "75": 'mmm-yy', + "76": 'h:mm', + "77": 'h:mm:ss', + "78": 'm/d/yy h:mm', + "79": 'mm:ss', + "80": '[h]:mm:ss', + "81": 'mmss.0' +}/*:any*/); + /* dateNF parse TODO: move to SSF */ var dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g; function dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ { diff --git a/bits/18_cfb.js b/bits/18_cfb.js index 8700f2a..b9d8bbe 100644 --- a/bits/18_cfb.js +++ b/bits/18_cfb.js @@ -38,7 +38,7 @@ type CFBFiles = {[n:string]:CFBEntry}; /* [MS-CFB] v20130118 */ var CFB = (function _CFB(){ var exports/*:CFBModule*/ = /*::(*/{}/*:: :any)*/; -exports.version = '1.0.2'; +exports.version = '1.0.3'; /* [MS-CFB] 2.6.4 */ function namecmp(l/*:string*/, r/*:string*/)/*:number*/ { var L = l.split("/"), R = r.split("/"); @@ -353,14 +353,14 @@ function read_directory(dir_start/*:number*/, sector_list/*:SectorList*/, sector if(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz); sector_list[o.start].name = o.name; o.content = (sector_list[o.start].data.slice(0,o.size)/*:any*/); - prep_blob(o.content, 0); } else { o.storage = 'minifat'; - if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) { + if(o.size < 0) o.size = 0; + else if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) { o.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data); - prep_blob(o.content, 0); } } + if(o.content) prep_blob(o.content, 0); files[name] = o; FileIndex.push(o); } diff --git a/bits/20_jsutils.js b/bits/20_jsutils.js index 4e321c5..edd389d 100644 --- a/bits/20_jsutils.js +++ b/bits/20_jsutils.js @@ -2,7 +2,7 @@ function keys(o/*:any*/)/*:Array*/ { return Object.keys(o); } function evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ { var o = ([]/*:any*/), K = keys(obj); - for(var i = 0; i !== K.length; ++i) o[obj[K[i]][key]] = K[i]; + for(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i]; return o; } diff --git a/bits/23_binutils.js b/bits/23_binutils.js index 64d542c..73b6a72 100644 --- a/bits/23_binutils.js +++ b/bits/23_binutils.js @@ -188,7 +188,7 @@ function WriteShift(t/*:number*/, val/*:string|number*/, f/*:?string*/)/*:any*/ } return this; } else if(f === 'utf16le') { /*:: if(typeof val !== "string") throw new Error("unreachable"); */ - var end/*:number*/ = this.l + t; + var end/*:number*/ = Math.min(this.l + t, this.length); for(i = 0; i < Math.min(val.length, t); ++i) { var cc = val.charCodeAt(i); this[this.l++] = (cc & 0xff); diff --git a/bits/28_binstructs.js b/bits/28_binstructs.js index f15eb96..d7f711a 100644 --- a/bits/28_binstructs.js +++ b/bits/28_binstructs.js @@ -27,7 +27,7 @@ function write_StrRun(run, o) { return o; } -/* [MS-XLSB] 2.1.7.121 */ +/* [MS-XLSB] 2.5.121 */ function parse_RichStr(data, length/*:number*/)/*:XLString*/ { var start = data.l; var flags = data.read_shift(1); @@ -54,7 +54,7 @@ function write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ { write_XLWideString(str.t, o); return _null ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.325 BrtCommentText (RichStr w/1 run) */ +/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */ var parse_BrtCommentText = parse_RichStr; function write_BrtCommentText(str/*:XLString*/, o/*:?Block*/)/*:Block*/ { /* TODO: formatted string */ @@ -108,8 +108,7 @@ var parse_RelID = parse_XLNullableWideString; var write_RelID = write_XLNullableWideString; -/* [MS-XLSB] 2.5.122 */ -/* [MS-XLS] 2.5.217 */ +/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */ function parse_RkNumber(data)/*:number*/ { var b = data.slice(data.l, data.l+4); var fX100 = (b[0] & 1), fInt = (b[0] & 2); @@ -137,7 +136,6 @@ function parse_RfX(data /*::, length*/)/*:Range*/ { cell.e.c = data.read_shift(4); return cell; } - function write_RfX(r/*:Range*/, o) { if(!o) o = new_buf(16); o.write_shift(4, r.s.r); @@ -151,13 +149,12 @@ function write_RfX(r/*:Range*/, o) { var parse_UncheckedRfX = parse_RfX; var write_UncheckedRfX = write_RfX; -/* [MS-XLSB] 2.5.171 */ -/* [MS-XLS] 2.5.342 */ +/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */ /* TODO: error checking, NaN and Infinity values are not valid Xnum */ function parse_Xnum(data/*::, length*/) { return data.read_shift(8, 'f'); } function write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); } -/* [MS-XLSB] 2.5.198.2 */ +/* [MS-XLSB] 2.5.97.2 */ var BErr = { /*::[*/0x00/*::]*/: "#NULL!", /*::[*/0x07/*::]*/: "#DIV/0!", @@ -171,7 +168,7 @@ var BErr = { }; var RBErr = evert_num(BErr); -/* [MS-XLSB] 2.4.321 BrtColor */ +/* [MS-XLSB] 2.4.324 BrtColor */ function parse_BrtColor(data/*::, length*/) { var out = {}; var d = data.read_shift(1); diff --git a/bits/29_xlsenum.js b/bits/29_xlsenum.js index 59b7089..a576e07 100644 --- a/bits/29_xlsenum.js +++ b/bits/29_xlsenum.js @@ -184,7 +184,7 @@ var XLSFillPattern = [ function rgbify(arr) { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); } /* [MS-XLS] 2.5.161 */ -/* [MS-XLSB] 2.5.75 */ +/* [MS-XLSB] 2.5.75 Icv */ var XLSIcv = rgbify([ /* Color Constants */ 0x000000, diff --git a/bits/30_ctype.js b/bits/30_ctype.js index 759524d..1d1f4bf 100644 --- a/bits/30_ctype.js +++ b/bits/30_ctype.js @@ -1,8 +1,7 @@ /* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */ /* 12.3 Part Summary */ /* 14.2 Part Summary */ -/* [MS-XLSX] 2.1 Part Enumerations */ -/* [MS-XLSB] 2.1.7 Part Enumeration */ +/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */ var ct2type/*{[string]:string}*/ = ({ /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", diff --git a/bits/38_xlstypes.js b/bits/38_xlstypes.js index 521b886..6af0375 100644 --- a/bits/38_xlstypes.js +++ b/bits/38_xlstypes.js @@ -213,7 +213,7 @@ function parse_PropertySet(blob, PIDSI) { } /* [MS-OLEPS] 2.21 PropertySetStream */ -function parse_PropertySetStream(file, PIDSI) { +function parse_PropertySetStream(file, PIDSI, clsid) { var blob = file.content; if(!blob) return ({}/*:any*/); prep_blob(blob, 0); @@ -223,7 +223,8 @@ function parse_PropertySetStream(file, PIDSI) { /*var vers = */blob.read_shift(2); // TODO: check version var SystemIdentifier = blob.read_shift(4); - blob.chk(CFB.utils.consts.HEADER_CLSID, 'CLSID: '); + var CLSID = blob.read_shift(16); + if(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error("Bad PropertySet CLSID " + CLSID); NumSets = blob.read_shift(4); if(NumSets !== 1 && NumSets !== 2) throw new Error("Unrecognized #Sets: " + NumSets); FMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4); @@ -274,7 +275,7 @@ function parse_Bes(blob/*::, length*/) { function write_Bes(v, t/*:string*/, o) { if(!o) o = new_buf(2); o.write_shift(1, +v); - o.write_shift(1, t == 'e' ? 1 : 0); + o.write_shift(1, ((t == 'e') ? 1 : 0)); return o; } diff --git a/bits/39_xlsbiff.js b/bits/39_xlsbiff.js index d7e97b2..a8d32ba 100644 --- a/bits/39_xlsbiff.js +++ b/bits/39_xlsbiff.js @@ -1,6 +1,4 @@ -/* --- MS-XLS --- */ - -/* 2.5.19 */ +/* [MS-XLS] 2.5.19 */ function parse_XLSCell(blob/*::, length*/)/*:Cell*/ { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); @@ -15,7 +13,7 @@ function write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) { return o; } -/* 2.5.134 */ +/* [MS-XLS] 2.5.134 */ function parse_frtHeader(blob) { var rt = blob.read_shift(2); var flags = blob.read_shift(2); // TODO: parse these flags @@ -27,21 +25,21 @@ function parse_frtHeader(blob) { function parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? "" : parse_XLUnicodeString2(blob, length, opts); } -/* 2.5.344 */ +/* [MS-XLS] 2.5.344 */ function parse_XTI(blob, length, opts) { var w = opts.biff > 8 ? 4 : 2; var iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i'); return [iSupBook, itabFirst, itabLast]; } -/* 2.5.218 */ +/* [MS-XLS] 2.5.218 */ function parse_RkRec(blob) { var ixfe = blob.read_shift(2); var RK = parse_RkNumber(blob); return [ixfe, RK]; } -/* 2.5.1 */ +/* [MS-XLS] 2.5.1 */ function parse_AddinUdf(blob, length, opts) { blob.l += 4; length -= 4; var l = blob.l + length; @@ -53,7 +51,7 @@ function parse_AddinUdf(blob, length, opts) { return udfName; } -/* 2.5.209 TODO: Check sizes */ +/* [MS-XLS] 2.5.209 TODO: Check sizes */ function parse_Ref8U(blob/*::, length*/) { var rwFirst = blob.read_shift(2); var rwLast = blob.read_shift(2); @@ -70,7 +68,7 @@ function write_Ref8U(r/*:Range*/, o) { return o; } -/* 2.5.211 */ +/* [MS-XLS] 2.5.211 */ function parse_RefU(blob/*::, length*/) { var rwFirst = blob.read_shift(2); var rwLast = blob.read_shift(2); @@ -79,10 +77,10 @@ function parse_RefU(blob/*::, length*/) { return {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}}; } -/* 2.5.207 */ +/* [MS-XLS] 2.5.207 */ var parse_Ref = parse_RefU; -/* 2.5.143 */ +/* [MS-XLS] 2.5.143 */ function parse_FtCmo(blob/*::, length*/) { blob.l += 4; var ot = blob.read_shift(2); @@ -92,7 +90,7 @@ function parse_FtCmo(blob/*::, length*/) { return [id, ot, flags]; } -/* 2.5.149 */ +/* [MS-XLS] 2.5.149 */ function parse_FtNts(blob) { var out = {}; blob.l += 4; @@ -102,7 +100,7 @@ function parse_FtNts(blob) { return out; } -/* 2.5.142 */ +/* [MS-XLS] 2.5.142 */ function parse_FtCf(blob) { var out = {}; blob.l += 4; @@ -110,7 +108,7 @@ function parse_FtCf(blob) { return out; } -/* 2.5.140 - 2.5.154 and friends */ +/* [MS-XLS] 2.5.140 - 2.5.154 and friends */ function parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); } var FtTab = { /*::[*/0x00/*::]*/: parse_FtSkip, /* FtEnd */ @@ -149,7 +147,7 @@ function parse_FtArray(blob, length/*::, ot*/) { /* --- 2.4 Records --- */ -/* 2.4.21 */ +/* [MS-XLS] 2.4.21 */ function parse_BOF(blob, length) { var o = {BIFFVer:0, dt:0}; o.BIFFVer = blob.read_shift(2); length -= 2; @@ -191,7 +189,7 @@ function write_BOF(wb/*:Workbook*/, t/*:number*/, o) { } -/* 2.4.146 */ +/* [MS-XLS] 2.4.146 */ function parse_InterfaceHdr(blob, length) { if(length === 0) return 0x04b0; if((blob.read_shift(2))!==0x04b0){/* empty */} @@ -199,7 +197,7 @@ function parse_InterfaceHdr(blob, length) { } -/* 2.4.349 */ +/* [MS-XLS] 2.4.349 */ function parse_WriteAccess(blob, length, opts) { if(opts.enc) { blob.l += length; return ""; } var l = blob.l; @@ -212,20 +210,20 @@ function write_WriteAccess(s/*:string*/, opts) { var b8 = !opts || opts.biff == 8; var o = new_buf(b8 ? 112 : 54); o.write_shift(opts.biff == 8 ? 2 : 1, 7); - o.write_shift(1, 0); + if(b8) o.write_shift(1, 0); o.write_shift(4, 0x33336853); - o.write_shift(4, 0x00534A74); - while(o.l < o.length) o.write_shift(1, 0); + o.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000))); + while(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32)); return o; } -/* 2.4.351 */ +/* [MS-XLS] 2.4.351 */ function parse_WsBool(blob, length, opts) { var flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0); return { fDialog: flags & 0x10 }; } -/* 2.4.28 */ +/* [MS-XLS] 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { var pos = blob.read_shift(4); var hidden = blob.read_shift(1) & 0x03; @@ -253,7 +251,7 @@ function write_BoundSheet8(data, opts) { out.l = o.l; return out; } -/* 2.4.265 TODO */ +/* [MS-XLS] 2.4.265 TODO */ function parse_SST(blob, length)/*:SST*/ { var end = blob.l + length; var cnt = blob.read_shift(4); @@ -266,7 +264,7 @@ function parse_SST(blob, length)/*:SST*/ { return strs; } -/* 2.4.107 */ +/* [MS-XLS] 2.4.107 */ function parse_ExtSST(blob, length) { var extsst = {}; extsst.dsst = blob.read_shift(2); @@ -275,7 +273,7 @@ function parse_ExtSST(blob, length) { } -/* 2.4.221 TODO: check BIFF2-4 */ +/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */ function parse_Row(blob) { var z = ({}/*:any*/); z.r = blob.read_shift(2); @@ -293,7 +291,7 @@ function parse_Row(blob) { } -/* 2.4.125 */ +/* [MS-XLS] 2.4.125 */ function parse_ForceFullCalculation(blob) { var header = parse_frtHeader(blob); if(header.type != 0x08A3) throw new Error("Invalid Future Record " + header.type); @@ -305,13 +303,13 @@ function parse_ForceFullCalculation(blob) { -/* 2.4.215 rt */ +/* [MS-XLS] 2.4.215 rt */ function parse_RecalcId(blob) { blob.read_shift(2); return blob.read_shift(4); } -/* 2.4.87 */ +/* [MS-XLS] 2.4.87 */ function parse_DefaultRowHeight(blob, length, opts) { var f = 0; if(!(opts && opts.biff == 2)) { @@ -325,7 +323,7 @@ function parse_DefaultRowHeight(blob, length, opts) { return [fl, miyRw]; } -/* 2.4.345 TODO */ +/* [MS-XLS] 2.4.345 TODO */ function parse_Window1(blob) { var xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2); var flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2); @@ -346,7 +344,7 @@ function write_Window1(/*::opts*/) { o.write_shift(2, 0x01f4); return o; } -/* 2.4.346 TODO */ +/* [MS-XLS] 2.4.346 TODO */ function parse_Window2(blob, length, opts) { if(opts && opts.biff >= 2 && opts.biff < 8) return {}; var f = blob.read_shift(2); @@ -363,13 +361,13 @@ function write_Window2(view) { return o; } -/* 2.4.122 TODO */ +/* [MS-XLS] 2.4.122 TODO */ function parse_Font(blob, length, opts) { var o/*:any*/ = { dyHeight: blob.read_shift(2), fl: blob.read_shift(2) }; - switch(opts && opts.biff || 8) { + switch((opts && opts.biff) || 8) { case 2: break; case 3: case 4: blob.l += 2; break; default: blob.l += 10; break; @@ -377,15 +375,29 @@ function parse_Font(blob, length, opts) { o.name = parse_ShortXLUnicodeString(blob, 0, opts); return o; } +function write_Font(data, opts) { + var name = data.name || "Arial"; + var b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length)); + var o = new_buf(w); + o.write_shift(2, (data.sz || 12) * 20); + o.write_shift(4, 0); + o.write_shift(2, 400); + o.write_shift(4, 0); + o.write_shift(2, 0); + o.write_shift(1, name.length); + if(!b5) o.write_shift(1, 1); + o.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? "sbcs" : "utf16le")); + return o; +} -/* 2.4.149 */ +/* [MS-XLS] 2.4.149 */ function parse_LabelSst(blob) { var cell = parse_XLSCell(blob); cell.isst = blob.read_shift(4); return cell; } -/* 2.4.148 */ +/* [MS-XLS] 2.4.148 */ function parse_Label(blob, length, opts) { var target = blob.l + length; var cell = parse_XLSCell(blob, 6); @@ -405,23 +417,26 @@ function write_Label(R/*:number*/, C/*:number*/, v/*:string*/, os/*:number*/, op } -/* 2.4.126 Number Formats */ +/* [MS-XLS] 2.4.126 Number Formats */ function parse_Format(blob, length, opts) { var numFmtId = blob.read_shift(2); var fmtstr = parse_XLUnicodeString2(blob, 0, opts); return [numFmtId, fmtstr]; } -function write_Format(i/*:number*/, f/*:string*/, o) { - if(!o) o = new_buf(6 + 4 * f.length); +function write_Format(i/*:number*/, f/*:string*/, opts, o) { + var b5 = (opts && (opts.biff == 5)); + if(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length)); o.write_shift(2, i); - write_XLUnicodeString(f, null, o); + o.write_shift((b5 ? 1 : 2), f.length); + if(!b5) o.write_shift(1, 1); + o.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le')); var out = (o.length > o.l) ? o.slice(0, o.l) : o; - if(o.l == null) o.l = o.length; + if(out.l == null) out.l = out.length; return out; } var parse_BIFF2Format = parse_XLUnicodeString2; -/* 2.4.90 */ +/* [MS-XLS] 2.4.90 */ function parse_Dimensions(blob, length, opts) { var end = blob.l + length; var w = opts.biff == 8 || !opts.biff ? 4 : 2; @@ -441,14 +456,14 @@ function write_Dimensions(range, opts) { return o; } -/* 2.4.220 */ +/* [MS-XLS] 2.4.220 */ function parse_RK(blob) { var rw = blob.read_shift(2), col = blob.read_shift(2); var rkrec = parse_RkRec(blob); return {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]}; } -/* 2.4.175 */ +/* [MS-XLS] 2.4.175 */ function parse_MulRk(blob, length) { var target = blob.l + length - 2; var rw = blob.read_shift(2), col = blob.read_shift(2); @@ -459,7 +474,7 @@ function parse_MulRk(blob, length) { if(rkrecs.length != lastcol - col + 1) throw new Error("MulRK length mismatch"); return {r:rw, c:col, C:lastcol, rkrec:rkrecs}; } -/* 2.4.174 */ +/* [MS-XLS] 2.4.174 */ function parse_MulBlank(blob, length) { var target = blob.l + length - 2; var rw = blob.read_shift(2), col = blob.read_shift(2); @@ -471,7 +486,7 @@ function parse_MulBlank(blob, length) { return {r:rw, c:col, C:lastcol, ixfe:ixfes}; } -/* 2.5.20 2.5.249 TODO: interpret values here */ +/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */ function parse_CellStyleXF(blob, length, style, opts) { var o = {}; var a = blob.read_shift(4), b = blob.read_shift(4); @@ -515,7 +530,7 @@ function parse_CellStyleXF(blob, length, style, opts) { //function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);} //function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);} -/* 2.4.353 TODO: actually do this right */ +/* [MS-XLS] 2.4.353 TODO: actually do this right */ function parse_XF(blob, length, opts) { var o = {}; o.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2); @@ -524,19 +539,25 @@ function parse_XF(blob, length, opts) { o.data = parse_CellStyleXF(blob, length, o.fStyle, opts); return o; } -function write_XF(data, ixfeP, o) { - if(!o) o = new_buf(20); - o.write_shift(2, 0); - o.write_shift(2, data.numFmtId||0); +function write_XF(data, ixfeP, opts, o) { + var b5 = (opts && (opts.biff == 5)); + if(!o) o = new_buf(b5 ? 16 : 20); o.write_shift(2, 0); + if(data.style) { + o.write_shift(2, (data.numFmtId||0)); + o.write_shift(2, 0xFFF4); + } else { + o.write_shift(2, (data.numFmtId||0)); + o.write_shift(2, (ixfeP<<4)); + } o.write_shift(4, 0); o.write_shift(4, 0); - o.write_shift(4, 0); + if(!b5) o.write_shift(4, 0); o.write_shift(2, 0); return o; } -/* 2.4.134 */ +/* [MS-XLS] 2.4.134 */ function parse_Guts(blob) { blob.l += 4; var out = [blob.read_shift(2), blob.read_shift(2)]; @@ -553,7 +574,7 @@ function write_Guts(guts/*:Array*/) { return o; } -/* 2.4.24 */ +/* [MS-XLS] 2.4.24 */ function parse_BoolErr(blob, length, opts) { var cell = parse_XLSCell(blob, 6); if(opts.biff == 2) ++blob.l; @@ -569,7 +590,7 @@ function write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:s return o; } -/* 2.4.180 Number */ +/* [MS-XLS] 2.4.180 Number */ function parse_Number(blob) { var cell = parse_XLSCell(blob, 6); var xnum = parse_Xnum(blob, 8); @@ -585,7 +606,7 @@ function write_Number(R/*:number*/, C/*:number*/, v, os/*:: :number, opts*/) { var parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136 -/* 2.4.271 */ +/* [MS-XLS] 2.4.271 */ function parse_SupBook(blob, length, opts) { var end = blob.l + length; var ctab = blob.read_shift(2); @@ -600,7 +621,7 @@ function parse_SupBook(blob, length, opts) { return [cch, ctab, virtPath, rgst]; } -/* 2.4.105 TODO */ +/* [MS-XLS] 2.4.105 TODO */ function parse_ExternName(blob, length, opts) { var flags = blob.read_shift(2); var body; @@ -620,7 +641,7 @@ function parse_ExternName(blob, length, opts) { return o; } -/* 2.4.150 TODO */ +/* [MS-XLS] 2.4.150 TODO */ var XLSLblBuiltIn = [ "_xlnm.Consolidate_Area", "_xlnm.Auto_Open", @@ -662,7 +683,7 @@ function parse_Lbl(blob, length, opts) { }; } -/* 2.4.106 TODO: verify filename encoding */ +/* [MS-XLS] 2.4.106 TODO: verify filename encoding */ function parse_ExternSheet(blob, length, opts) { if(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts); var o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2); @@ -677,7 +698,7 @@ function parse_BIFF5ExternSheet(blob, length, opts) { return o.charCodeAt(0) == 0x03 ? o.slice(1) : o; } -/* 2.4.176 TODO: check older biff */ +/* [MS-XLS] 2.4.176 TODO: check older biff */ function parse_NameCmt(blob, length, opts) { if(opts.biff < 8) { blob.l += length; return; } var cchName = blob.read_shift(2); @@ -687,7 +708,7 @@ function parse_NameCmt(blob, length, opts) { return [name, comment]; } -/* 2.4.260 */ +/* [MS-XLS] 2.4.260 */ function parse_ShrFmla(blob, length, opts) { var ref = parse_RefU(blob, 6); blob.l++; @@ -696,7 +717,7 @@ function parse_ShrFmla(blob, length, opts) { return [parse_SharedParsedFormula(blob, length, opts), cUse, ref]; } -/* 2.4.4 TODO */ +/* [MS-XLS] 2.4.4 TODO */ function parse_Array(blob, length, opts) { var ref = parse_Ref(blob, 6); /* TODO: fAlwaysCalc */ @@ -708,7 +729,7 @@ function parse_Array(blob, length, opts) { return [ref, parse_ArrayParsedFormula(blob, length, opts, ref)]; } -/* 2.4.173 */ +/* [MS-XLS] 2.4.173 */ function parse_MTRSettings(blob) { var fMTREnabled = blob.read_shift(4) !== 0x00; var fUserSetThreadCount = blob.read_shift(4) !== 0x00; @@ -716,7 +737,7 @@ function parse_MTRSettings(blob) { return [fMTREnabled, fUserSetThreadCount, cUserThreadCount]; } -/* 2.5.186 TODO: BIFF5 */ +/* [MS-XLS] 2.5.186 TODO: BIFF5 */ function parse_NoteSh(blob, length, opts) { if(opts.biff < 8) return; var row = blob.read_shift(2), col = blob.read_shift(2); @@ -726,13 +747,13 @@ function parse_NoteSh(blob, length, opts) { return [{r:row,c:col}, stAuthor, idObj, flags]; } -/* 2.4.179 */ +/* [MS-XLS] 2.4.179 */ function parse_Note(blob, length, opts) { /* TODO: Support revisions */ return parse_NoteSh(blob, length, opts); } -/* 2.4.168 */ +/* [MS-XLS] 2.4.168 */ function parse_MergeCells(blob, length)/*:Array*/ { var merges/*:Array*/ = []; var cmcs = blob.read_shift(2); @@ -746,7 +767,7 @@ function write_MergeCells(merges/*:Array*/) { return o; } -/* 2.4.181 TODO: parse all the things! */ +/* [MS-XLS] 2.4.181 TODO: parse all the things! */ function parse_Obj(blob, length, opts) { if(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts); var cmo = parse_FtCmo(blob, 22); // id, ot, flags @@ -791,7 +812,7 @@ function parse_BIFF5Obj(blob, length, opts) { return { cmo: [id, ot, grbit], ft:fts }; } -/* 2.4.329 TODO: parse properly */ +/* [MS-XLS] 2.4.329 TODO: parse properly */ function parse_TxO(blob, length, opts) { var s = blob.l; var texts = ""; @@ -820,7 +841,7 @@ try { } blob.l = s + length; - /* 2.5.272 TxORuns */ + /* [MS-XLS] 2.5.272 TxORuns */ // var rgTxoRuns = []; // for(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8; // var cchText2 = blob.read_shift(2); @@ -831,7 +852,7 @@ try { } catch(e) { blob.l = s + length; return { t: texts }; } } -/* 2.4.140 */ +/* [MS-XLS] 2.4.140 */ function parse_HLink(blob, length) { var ref = parse_Ref8U(blob, 8); blob.l += 16; /* CLSID */ @@ -849,7 +870,7 @@ function write_HLink(hl) { } -/* 2.4.141 */ +/* [MS-XLS] 2.4.141 */ function parse_HLinkTooltip(blob, length) { blob.read_shift(2); var ref = parse_Ref8U(blob, 8); @@ -869,7 +890,7 @@ function write_HLinkTooltip(hl) { return O; } -/* 2.4.63 */ +/* [MS-XLS] 2.4.63 */ function parse_Country(blob)/*:[string|number, string|number]*/ { var o = [0,0], d; d = blob.read_shift(2); o[0] = CountryEnum[d] || d; @@ -883,7 +904,7 @@ function write_Country(o) { return o; } -/* 2.4.50 ClrtClient */ +/* [MS-XLS] 2.4.50 ClrtClient */ function parse_ClrtClient(blob) { var ccv = blob.read_shift(2); var o = []; @@ -891,7 +912,7 @@ function parse_ClrtClient(blob) { return o; } -/* 2.4.188 */ +/* [MS-XLS] 2.4.188 */ function parse_Palette(blob) { var ccv = blob.read_shift(2); var o = []; @@ -899,7 +920,7 @@ function parse_Palette(blob) { return o; } -/* 2.4.354 */ +/* [MS-XLS] 2.4.354 */ function parse_XFCRC(blob) { blob.l += 2; var o = {cxfs:0, crc:0}; @@ -908,7 +929,7 @@ function parse_XFCRC(blob) { return o; } -/* 2.4.53 TODO: parse flags */ +/* [MS-XLS] 2.4.53 TODO: parse flags */ /* [MS-XLSB] 2.4.323 TODO: parse flags */ function parse_ColInfo(blob, length, opts) { if(!opts.cellStyles) return parsenoop(blob, length); @@ -922,9 +943,10 @@ function parse_ColInfo(blob, length, opts) { return {s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags}; } -/* 2.4.257 */ -function parse_Setup(blob/*, length*/) { +/* [MS-XLS] 2.4.257 */ +function parse_Setup(blob, length) { var o = {}; + if(length < 32) return o; blob.l += 16; o.header = parse_Xnum(blob, 8); o.footer = parse_Xnum(blob, 8); @@ -932,7 +954,7 @@ function parse_Setup(blob/*, length*/) { return o; } -/* 2.4.261 */ +/* [MS-XLS] 2.4.261 */ function parse_ShtProps(blob, length, opts) { var def = {area:false}; if(opts.biff != 5) { blob.l += length; return def; } @@ -941,16 +963,16 @@ function parse_ShtProps(blob, length, opts) { return def; } -/* 2.4.241 */ +/* [MS-XLS] 2.4.241 */ function write_RRTabId(n/*:number*/) { var out = new_buf(2 * n); for(var i = 0; i < n; ++i) out.write_shift(2, i+1); return out; } -var parse_Blank = parse_XLSCell; /* 2.4.20 Just the cell */ -var parse_Scl = parseuint16a; /* 2.4.247 num, den */ -var parse_String = parse_XLUnicodeString; /* 2.4.268 */ +var parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */ +var parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */ +var parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */ /* --- Specific to versions before BIFF8 --- */ function parse_ImData(blob) { diff --git a/bits/43_sstbin.js b/bits/43_sstbin.js index d7a8ec5..ce0d463 100644 --- a/bits/43_sstbin.js +++ b/bits/43_sstbin.js @@ -1,4 +1,4 @@ -/* [MS-XLSB] 2.4.219 BrtBeginSst */ +/* [MS-XLSB] 2.4.221 BrtBeginSst */ function parse_BrtBeginSst(data) { return [data.read_shift(4), data.read_shift(4)]; } diff --git a/bits/48_stybin.js b/bits/48_stybin.js index 0b70aa8..f1d2ee3 100644 --- a/bits/48_stybin.js +++ b/bits/48_stybin.js @@ -1,4 +1,4 @@ -/* [MS-XLSB] 2.4.651 BrtFmt */ +/* [MS-XLSB] 2.4.657 BrtFmt */ function parse_BrtFmt(data, length/*:number*/) { var numFmtId = data.read_shift(2); var stFmtCode = parse_XLWideString(data,length-2); @@ -13,7 +13,7 @@ function write_BrtFmt(i/*:number*/, f/*:string*/, o) { return out; } -/* [MS-XLSB] 2.4.653 BrtFont TODO */ +/* [MS-XLSB] 2.4.659 BrtFont TODO */ function parse_BrtFont(data, length/*:number*/, opts) { var out = ({}/*:any*/); @@ -80,7 +80,7 @@ function write_BrtFont(font, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.644 BrtFill */ +/* [MS-XLSB] 2.4.650 BrtFill */ var XLSBFillPTNames = [ "none", "solid", @@ -134,7 +134,7 @@ function write_BrtFill(fill, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.816 BrtXF */ +/* [MS-XLSB] 2.4.824 BrtXF */ function parse_BrtXF(data, length/*:number*/) { var tgt = data.l + length; var ixfeParent = data.read_shift(2); @@ -167,7 +167,7 @@ function write_Blxf(data, o) { o.write_shift(4, 0); /* color */ return o; } -/* [MS-XLSB] 2.4.299 BrtBorder TODO */ +/* [MS-XLSB] 2.4.302 BrtBorder TODO */ var parse_BrtBorder = parsenoop; function write_BrtBorder(border, o) { if(!o) o = new_buf(51); @@ -180,7 +180,7 @@ function write_BrtBorder(border, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.755 BrtStyle TODO */ +/* [MS-XLSB] 2.4.763 BrtStyle TODO */ function write_BrtStyle(style, o) { if(!o) o = new_buf(12+4*10); o.write_shift(4, style.xfId); @@ -191,7 +191,7 @@ function write_BrtStyle(style, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.269 BrtBeginTableStyles */ +/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */ function write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) { var o = new_buf(4+256*2*4); o.write_shift(4, cnt); diff --git a/bits/50_styxls.js b/bits/50_styxls.js index 0c7178b..af4db8f 100644 --- a/bits/50_styxls.js +++ b/bits/50_styxls.js @@ -41,17 +41,17 @@ function parse_XFExtGradient(blob, length) { return parsenoop(blob, length); } -/* 2.5.108 */ +/* [MS-XLS] 2.5.108 */ function parse_ExtProp(blob/*::, length*/)/*:Array*/ { var extType = blob.read_shift(2); - var cb = blob.read_shift(2); + var cb = blob.read_shift(2) - 4; var o = [extType]; switch(extType) { case 0x04: case 0x05: case 0x07: case 0x08: case 0x09: case 0x0A: case 0x0B: case 0x0D: o[1] = parse_FullColorExt(blob, cb); break; case 0x06: o[1] = parse_XFExtGradient(blob, cb); break; - case 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 5 ? 1 : 2); break; + case 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break; default: throw new Error("Unrecognized ExtProp type: " + extType + " " + cb); } return o; diff --git a/bits/58_cmntbin.js b/bits/58_cmntbin.js index df19607..c74d839 100644 --- a/bits/58_cmntbin.js +++ b/bits/58_cmntbin.js @@ -19,7 +19,7 @@ function write_BrtBeginComment(data, o) { return o; } -/* [MS-XLSB] 2.4.324 BrtCommentAuthor */ +/* [MS-XLSB] 2.4.327 BrtCommentAuthor */ var parse_BrtCommentAuthor = parse_XLWideString; function write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); } diff --git a/bits/62_fxls.js b/bits/62_fxls.js index 49b2034..f41936e 100644 --- a/bits/62_fxls.js +++ b/bits/62_fxls.js @@ -1,17 +1,12 @@ -/* --- formula references point to MS-XLS --- */ -/* Small helpers */ function parseread1(blob) { blob.l+=1; return; } -/* Rgce Helpers */ - -/* 2.5.51 */ +/* [MS-XLS] 2.5.51 */ function parse_ColRelU(blob, length) { var c = blob.read_shift(length == 1 ? 1 : 2); return [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1]; } -/* [MS-XLS] 2.5.198.105 */ -/* [MS-XLSB] 2.5.97.89 */ +/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */ function parse_RgceArea(blob, length, opts) { var w = 2; if(opts) { @@ -31,7 +26,7 @@ function parse_RgceArea_BIFF2(blob/*::, length, opts*/) { return { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} }; } -/* 2.5.198.105 TODO */ +/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */ function parse_RgceAreaRel(blob, length/*::, opts*/) { var r=blob.read_shift(length == 12 ? 4 : 2), R=blob.read_shift(length == 12 ? 4 : 2); var c=parse_ColRelU(blob, 2); @@ -39,7 +34,7 @@ function parse_RgceAreaRel(blob, length/*::, opts*/) { return { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} }; } -/* 2.5.198.109 */ +/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */ function parse_RgceLoc(blob, length, opts) { if(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts); var r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2); @@ -52,15 +47,14 @@ function parse_RgceLoc_BIFF2(blob/*::, length, opts*/) { return {r:r[0], c:c, cRel:r[1], rRel:r[2]}; } -/* 2.5.198.107 , 2.5.47 */ +/* [MS-XLS] 2.5.198.107, 2.5.47 */ function parse_RgceElfLoc(blob/*::, length, opts*/) { var r = blob.read_shift(2); var c = blob.read_shift(2); return {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 }; } -/* [MS-XLS] 2.5.198.111 TODO */ -/* [MS-XLSB] 2.5.97.92 TODO */ +/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */ function parse_RgceLocRel(blob, length, opts) { var biff = opts && opts.biff ? opts.biff : 8; if(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts); @@ -82,17 +76,14 @@ function parse_RgceLocRel_BIFF2(blob/*::, length:number, opts*/) { return {r:rl,c:c,cRel:cRel,rRel:rRel}; } -/* Ptg Tokens */ - -/* 2.5.198.27 */ +/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */ function parse_PtgArea(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts); return [type, area]; } -/* [MS-XLS] 2.5.198.28 */ -/* [MS-XLSB] 2.5.97.19 */ +/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */ function parse_PtgArea3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2, 'i'); @@ -105,13 +96,13 @@ function parse_PtgArea3d(blob, length, opts) { return [type, ixti, area]; } -/* 2.5.198.29 */ +/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */ function parse_PtgAreaErr(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; blob.l += opts && opts.biff > 8 ? 12 : 8; return [type]; } -/* 2.5.198.30 */ +/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */ function parse_PtgAreaErr3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2); @@ -124,22 +115,21 @@ function parse_PtgAreaErr3d(blob, length, opts) { return [type, ixti]; } -/* 2.5.198.31 */ +/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */ function parse_PtgAreaN(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var area = parse_RgceAreaRel(blob, opts && opts.biff > 8 ? 12 : 8, opts); return [type, area]; } -/* [MS-XLS] 2.5.198.32 */ -/* [MS-XLSB] 2.5.97.23 */ +/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */ function parse_PtgArray(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; blob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7; return [type]; } -/* 2.5.198.33 */ +/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */ function parse_PtgAttrBaxcel(blob) { var bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */ var bitBaxcel = 1; @@ -147,7 +137,7 @@ function parse_PtgAttrBaxcel(blob) { return [bitSemi, bitBaxcel]; } -/* 2.5.198.34 */ +/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */ function parse_PtgAttrChoose(blob, length, opts)/*:Array*/ { blob.l +=2; var offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); @@ -157,14 +147,14 @@ function parse_PtgAttrChoose(blob, length, opts)/*:Array*/ { return o; } -/* 2.5.198.35 */ +/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */ function parse_PtgAttrGoto(blob, length, opts) { var bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; return [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; } -/* 2.5.198.36 */ +/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */ function parse_PtgAttrIf(blob, length, opts) { var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; @@ -178,32 +168,32 @@ function parse_PtgAttrIfError(blob) { return [bitIf, blob.read_shift(2)]; } -/* 2.5.198.37 */ +/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */ function parse_PtgAttrSemi(blob, length, opts) { var bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += opts && opts.biff == 2 ? 3 : 4; return [bitSemi]; } -/* 2.5.198.40 (used by PtgAttrSpace and PtgAttrSpaceSemi) */ +/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */ function parse_PtgAttrSpaceType(blob/*::, length*/) { var type = blob.read_shift(1), cch = blob.read_shift(1); return [type, cch]; } -/* 2.5.198.38 */ +/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */ function parse_PtgAttrSpace(blob) { blob.read_shift(2); return parse_PtgAttrSpaceType(blob, 2); } -/* 2.5.198.39 */ +/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */ function parse_PtgAttrSpaceSemi(blob) { blob.read_shift(2); return parse_PtgAttrSpaceType(blob, 2); } -/* 2.5.198.84 TODO */ +/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */ function parse_PtgRef(blob, length, opts) { //var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; @@ -212,7 +202,7 @@ function parse_PtgRef(blob, length, opts) { return [type, loc]; } -/* 2.5.198.88 TODO */ +/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */ function parse_PtgRefN(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; @@ -220,17 +210,18 @@ function parse_PtgRefN(blob, length, opts) { return [type, loc]; } -/* 2.5.198.85 TODO */ +/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */ function parse_PtgRef3d(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; var ixti = blob.read_shift(2); // XtiIndex + if(opts && opts.biff == 5) blob.l += 12; var loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel return [type, ixti, loc]; } -/* 2.5.198.62 TODO */ +/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */ function parse_PtgFunc(blob, length, opts) { //var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; @@ -238,7 +229,7 @@ function parse_PtgFunc(blob, length, opts) { var iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2); return [FtabArgc[iftab], Ftab[iftab], type]; } -/* 2.5.198.63 TODO */ +/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */ function parse_PtgFuncVar(blob, length, opts) { blob.l++; var cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [0, blob.read_shift(1)]: parsetab(blob); @@ -249,12 +240,12 @@ function parsetab(blob) { return [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF]; } -/* 2.5.198.41 */ +/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */ function parse_PtgAttrSum(blob, length, opts) { blob.l += opts && opts.biff == 2 ? 3 : 4; return; } -/* 2.5.198.58 */ +/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */ function parse_PtgExp(blob, length, opts) { blob.l++; if(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0]; @@ -263,19 +254,19 @@ function parse_PtgExp(blob, length, opts) { return [row, col]; } -/* 2.5.198.57 */ +/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */ function parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; } -/* 2.5.198.66 */ +/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */ function parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); } -/* 2.5.198.42 */ +/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */ function parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;} -/* 2.5.198.79 */ +/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */ function parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); } -/* 2.5.198.89 */ +/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */ function parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); } /* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */ @@ -289,37 +280,32 @@ function parse_SerAr(blob, biff/*:number*/) { case 0x01: val[0] = 0x02; break; /* SerStr */ } switch(val[0]) { - /* 2.5.192.113 */ case 0x04: /* SerBool -- boolean */ val[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE'; - blob.l += 7; break; - /* 2.5.192.114 */ + if(biff != 12) blob.l += 7; break; case 0x10: /* SerErr -- error */ val[1] = BErr[blob[blob.l]]; - blob.l += 8; break; - /* 2.5.192.115 */ + blob.l += ((biff == 12) ? 4 : 8); break; case 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */ blob.l += 8; break; - /* 2.5.192.116 */ case 0x01: /* SerNum -- Xnum */ val[1] = parse_Xnum(blob, 8); break; - /* 2.5.192.117 */ case 0x02: /* SerStr -- XLUnicodeString (<256 chars) */ val[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break; - // default: throw "Bad SerAr: " + val[0]; /* Unreachable */ + default: throw "Bad SerAr: " + val[0]; /* Unreachable */ } return val; } -/* 2.5.198.61 */ -function parse_PtgExtraMem(blob/*::, cce*/) { - var count = blob.read_shift(2); +/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */ +function parse_PtgExtraMem(blob, cce, opts) { + var count = blob.read_shift((opts.biff == 12) ? 4 : 2); var out/*:Array*/ = []; - for(var i = 0; i != count; ++i) out.push(parse_Ref8U(blob, 8)); + for(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8)); return out; } -/* 2.5.198.59 */ +/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */ function parse_PtgExtraArray(blob, length, opts) { var rows = 0, cols = 0; if(opts.biff == 12) { @@ -336,7 +322,7 @@ function parse_PtgExtraArray(blob, length, opts) { return o; } -/* 2.5.198.76 */ +/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */ function parse_PtgName(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; var w = (!opts || (opts.biff >= 8)) ? 4 : 2; @@ -349,7 +335,7 @@ function parse_PtgName(blob, length, opts) { return [type, 0, nameindex]; } -/* 2.5.198.77 */ +/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */ function parse_PtgNameX(blob, length, opts) { if(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts); var type = (blob.read_shift(1) >>> 5) & 0x03; @@ -366,7 +352,7 @@ function parse_PtgNameX_BIFF5(blob/*::, length, opts*/) { return [type, ixti, nameindex]; } -/* 2.5.198.70 */ +/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */ function parse_PtgMemArea(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; blob.l += (opts && opts.biff == 2 ? 3 : 4); @@ -374,7 +360,7 @@ function parse_PtgMemArea(blob, length, opts) { return [type, cce]; } -/* 2.5.198.72 */ +/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */ function parse_PtgMemFunc(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); @@ -382,7 +368,7 @@ function parse_PtgMemFunc(blob, length, opts) { } -/* 2.5.198.86 */ +/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */ function parse_PtgRefErr(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; blob.l += 4; @@ -390,24 +376,24 @@ function parse_PtgRefErr(blob, length, opts) { return [type]; } -/* 2.5.198.87 */ +/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */ function parse_PtgRefErr3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2); var w = 4; if(opts) switch(opts.biff) { - case 5: throw new Error("PtgRefErr3d -- 5"); // TODO: find test case + case 5: w = 15; break; case 12: w = 6; break; } blob.l += w; return [type, ixti]; } -/* 2.5.198.71 */ +/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */ var parse_PtgMemErr = parsenoop; -/* 2.5.198.73 */ +/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */ var parse_PtgMemNoMem = parsenoop; -/* 2.5.198.92 */ +/* [MS-XLS] 2.5.198.92 */ var parse_PtgTbl = parsenoop; function parse_PtgElfLoc(blob, length, opts) { @@ -418,28 +404,28 @@ function parse_PtgElfNoop(blob/*::, length, opts*/) { blob.l += 6; return []; } -/* 2.5.198.46 */ +/* [MS-XLS] 2.5.198.46 */ var parse_PtgElfCol = parse_PtgElfLoc; -/* 2.5.198.47 */ +/* [MS-XLS] 2.5.198.47 */ var parse_PtgElfColS = parse_PtgElfNoop; -/* 2.5.198.48 */ +/* [MS-XLS] 2.5.198.48 */ var parse_PtgElfColSV = parse_PtgElfNoop; -/* 2.5.198.49 */ +/* [MS-XLS] 2.5.198.49 */ var parse_PtgElfColV = parse_PtgElfLoc; -/* 2.5.198.50 */ +/* [MS-XLS] 2.5.198.50 */ function parse_PtgElfLel(blob/*::, length, opts*/) { blob.l += 2; return [parseuint16(blob), blob.read_shift(2) & 0x01]; } -/* 2.5.198.51 */ +/* [MS-XLS] 2.5.198.51 */ var parse_PtgElfRadical = parse_PtgElfLoc; -/* 2.5.198.52 */ +/* [MS-XLS] 2.5.198.52 */ var parse_PtgElfRadicalLel = parse_PtgElfLel; -/* 2.5.198.53 */ +/* [MS-XLS] 2.5.198.53 */ var parse_PtgElfRadicalS = parse_PtgElfNoop; -/* 2.5.198.54 */ +/* [MS-XLS] 2.5.198.54 */ var parse_PtgElfRw = parse_PtgElfLoc; -/* 2.5.198.55 */ +/* [MS-XLS] 2.5.198.55 */ var parse_PtgElfRwV = parse_PtgElfLoc; /* [MS-XLSB] 2.5.97.52 */ @@ -449,13 +435,13 @@ function parse_PtgList(blob/*::, length, opts*/) { blob.l += 10; return {ixti: ixti}; } -/* 2.5.198.91 */ +/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */ function parse_PtgSxName(blob/*::, length, opts*/) { blob.l += 2; return [blob.read_shift(4)]; } -/* 2.5.198.25 */ +/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */ var PtgTypes = { /*::[*/0x01/*::]*/: { n:'PtgExp', f:parse_PtgExp }, /*::[*/0x02/*::]*/: { n:'PtgTbl', f:parse_PtgTbl }, @@ -558,7 +544,7 @@ var Ptg19 = { }; Ptg19[0x21] = Ptg19[0x20]; -/* 2.5.198.103 */ +/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */ function parse_RgbExtra(blob, length, rgce, opts) { if(opts.biff < 8) return parsenoop(blob, length); var target = blob.l + length; @@ -570,7 +556,7 @@ function parse_RgbExtra(blob, length, rgce, opts) { o.push(rgce[i][1]); break; case 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */ - rgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1]); + rgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts); o.push(rgce[i][2]); break; case 'PtgExp': /* PtgExp -> PtgExtraCol */ @@ -593,7 +579,7 @@ function parse_RgbExtra(blob, length, rgce, opts) { return o; } -/* 2.5.198.104 */ +/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */ function parse_Rgce(blob, length, opts) { var target = blob.l + length; var R, id, ptgs = []; @@ -631,8 +617,7 @@ function stringify_array(f/*:Array>*/)/*:string*/ { return o.join(";"); } -/* [MS-XLS] 2.2.2 TODO */ -/* [MS-XLSB] 2.2.2 */ +/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */ var PtgBinOp = { PtgAdd: "+", PtgConcat: "&", @@ -697,25 +682,25 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, for(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) { var f = formula[0][ff]; switch(f[0]) { - case 'PtgUminus': /* 2.5.198.93 */ + case 'PtgUminus': /* [MS-XLS] 2.5.198.93 */ stack.push("-" + stack.pop()); break; - case 'PtgUplus': /* 2.5.198.95 */ + case 'PtgUplus': /* [MS-XLS] 2.5.198.95 */ stack.push("+" + stack.pop()); break; - case 'PtgPercent': /* 2.5.198.81 */ + case 'PtgPercent': /* [MS-XLS] 2.5.198.81 */ stack.push(stack.pop() + "%"); break; - case 'PtgAdd': /* 2.5.198.26 */ - case 'PtgConcat': /* 2.5.198.43 */ - case 'PtgDiv': /* 2.5.198.45 */ - case 'PtgEq': /* 2.5.198.56 */ - case 'PtgGe': /* 2.5.198.64 */ - case 'PtgGt': /* 2.5.198.65 */ - case 'PtgLe': /* 2.5.198.68 */ - case 'PtgLt': /* 2.5.198.69 */ - case 'PtgMul': /* 2.5.198.75 */ - case 'PtgNe': /* 2.5.198.78 */ - case 'PtgPower': /* 2.5.198.82 */ - case 'PtgSub': /* 2.5.198.90 */ + case 'PtgAdd': /* [MS-XLS] 2.5.198.26 */ + case 'PtgConcat': /* [MS-XLS] 2.5.198.43 */ + case 'PtgDiv': /* [MS-XLS] 2.5.198.45 */ + case 'PtgEq': /* [MS-XLS] 2.5.198.56 */ + case 'PtgGe': /* [MS-XLS] 2.5.198.64 */ + case 'PtgGt': /* [MS-XLS] 2.5.198.65 */ + case 'PtgLe': /* [MS-XLS] 2.5.198.68 */ + case 'PtgLt': /* [MS-XLS] 2.5.198.69 */ + case 'PtgMul': /* [MS-XLS] 2.5.198.75 */ + case 'PtgNe': /* [MS-XLS] 2.5.198.78 */ + case 'PtgPower': /* [MS-XLS] 2.5.198.82 */ + case 'PtgSub': /* [MS-XLS] 2.5.198.90 */ e1 = stack.pop(); e2 = stack.pop(); if(last_sp >= 0) { switch(formula[0][last_sp][1][0]) { @@ -736,46 +721,46 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, stack.push(e2+PtgBinOp[f[0]]+e1); break; - case 'PtgIsect': /* 2.5.198.67 */ + case 'PtgIsect': /* [MS-XLS] 2.5.198.67 */ e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+" "+e1); break; - case 'PtgUnion': /* 2.5.198.94 */ + case 'PtgUnion': /* [MS-XLS] 2.5.198.94 */ e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+","+e1); break; - case 'PtgRange': /* 2.5.198.83 */ + case 'PtgRange': /* [MS-XLS] 2.5.198.83 */ e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+":"+e1); break; - case 'PtgAttrChoose': /* 2.5.198.34 */ + case 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */ break; - case 'PtgAttrGoto': /* 2.5.198.35 */ + case 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */ break; - case 'PtgAttrIf': /* 2.5.198.36 */ + case 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */ break; case 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */ break; - case 'PtgRef': /* 2.5.198.84 */ + case 'PtgRef': /* [MS-XLS] 2.5.198.84 */ /*::type = f[1][0]; */c = shift_cell_xls((f[1][1]/*:any*/), _range, opts); stack.push(encode_cell_xls(c)); break; - case 'PtgRefN': /* 2.5.198.88 */ + case 'PtgRefN': /* [MS-XLS] 2.5.198.88 */ /*::type = f[1][0]; */c = cell ? shift_cell_xls((f[1][1]/*:any*/), cell, opts) : (f[1][1]/*:any*/); stack.push(encode_cell_xls(c)); break; - case 'PtgRef3d': /* 2.5.198.85 */ + case 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */ /*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; c = shift_cell_xls((f[1][2]/*:any*/), _range, opts); sname = get_ixti(supbooks, ixti, opts); var w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars stack.push(sname + "!" + encode_cell_xls(c)); break; - case 'PtgFunc': /* 2.5.198.62 */ - case 'PtgFuncVar': /* 2.5.198.63 */ + case 'PtgFunc': /* [MS-XLS] 2.5.198.62 */ + case 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */ /* f[1] = [argc, func, type] */ var argc/*:number*/ = (f[1][0]/*:any*/), func/*:string*/ = (f[1][1]/*:any*/); if(!argc) argc = 0; @@ -785,38 +770,38 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, stack.push(func + "(" + args.join(",") + ")"); break; - case 'PtgBool': /* 2.5.198.42 */ + case 'PtgBool': /* [MS-XLS] 2.5.198.42 */ stack.push(f[1] ? "TRUE" : "FALSE"); break; - case 'PtgInt': /* 2.5.198.66 */ + case 'PtgInt': /* [MS-XLS] 2.5.198.66 */ stack.push(/*::String(*/f[1]/*::)*/); break; - case 'PtgNum': /* 2.5.198.79 TODO: precision? */ + case 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */ stack.push(String(f[1])); break; - case 'PtgStr': /* 2.5.198.89 */ + case 'PtgStr': /* [MS-XLS] 2.5.198.89 */ // $FlowIgnore stack.push('"' + f[1] + '"'); break; - case 'PtgErr': /* 2.5.198.57 */ + case 'PtgErr': /* [MS-XLS] 2.5.198.57 */ stack.push(/*::String(*/f[1]/*::)*/); break; - case 'PtgAreaN': /* 2.5.198.31 TODO */ + case 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */ /*::type = f[1][0]; */r = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts); stack.push(encode_range_xls((r/*:any*/), opts)); break; - case 'PtgArea': /* 2.5.198.27 TODO: fixed points */ + case 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */ /*::type = f[1][0]; */r = shift_range_xls(f[1][1], _range, opts); stack.push(encode_range_xls((r/*:any*/), opts)); break; - case 'PtgArea3d': /* 2.5.198.28 TODO */ + case 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */ /*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; r = f[1][2]; sname = get_ixti(supbooks, ixti, opts); stack.push(sname + "!" + encode_range_xls((r/*:any*/), opts)); break; - case 'PtgAttrSum': /* 2.5.198.41 */ + case 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */ stack.push("SUM(" + stack.pop() + ")"); break; - case 'PtgAttrSemi': /* 2.5.198.37 */ + case 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */ break; - case 'PtgName': /* 2.5.97.60 TODO: revisions */ + case 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */ /* f[1] = type, 0, nameindex */ nameidx = (f[1][2]/*:any*/); var lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx]; @@ -825,7 +810,7 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, stack.push(name); break; - case 'PtgNameX': /* 2.5.97.61 TODO: revisions */ + case 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */ /* f[1] = type, ixti, nameindex */ var bookidx/*:number*/ = (f[1][1]/*:any*/); nameidx = (f[1][2]/*:any*/); var externbook; /* TODO: Properly handle missing values */ @@ -851,7 +836,7 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, stack.push(externbook.Name); break; - case 'PtgParen': /* 2.5.198.80 */ + case 'PtgParen': /* [MS-XLS] 2.5.198.80 */ var lp = '(', rp = ')'; if(last_sp >= 0) { sp = ""; @@ -872,13 +857,13 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, } stack.push(lp + stack.pop() + rp); break; - case 'PtgRefErr': /* 2.5.198.86 */ + case 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */ stack.push('#REF!'); break; - case 'PtgRefErr3d': /* 2.5.198.87 */ + case 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */ stack.push('#REF!'); break; - case 'PtgExp': /* 2.5.198.58 TODO */ + case 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */ c = {c:(f[1][1]/*:any*/),r:(f[1][0]/*:any*/)}; var q = ({c: cell.c, r:cell.r}/*:any*/); if(supbooks.sharedf[encode_cell(c)]) { @@ -900,55 +885,55 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, } break; - case 'PtgArray': /* 2.5.198.32 TODO */ + case 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */ stack.push("{" + stringify_array(/*::(*/f[1]/*:: :any)*/) + "}"); break; - case 'PtgMemArea': /* 2.5.198.70 TODO: confirm this is a non-display */ + case 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */ //stack.push("(" + f[2].map(encode_range).join(",") + ")"); break; - case 'PtgAttrSpace': /* 2.5.198.38 */ - case 'PtgAttrSpaceSemi': /* 2.5.198.39 */ + case 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */ + case 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */ last_sp = ff; break; - case 'PtgTbl': /* 2.5.198.92 TODO */ + case 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */ break; - case 'PtgMemErr': /* 2.5.198.71 */ + case 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */ break; - case 'PtgMissArg': /* 2.5.198.74 */ + case 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */ stack.push(""); break; - case 'PtgAreaErr': /* 2.5.198.29 */ + case 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */ stack.push("#REF!"); break; - case 'PtgAreaErr3d': /* 2.5.198.30 */ + case 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */ stack.push("#REF!"); break; - case 'PtgMemFunc': /* 2.5.198.72 TODO */ + case 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */ + break; + case 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */ break; - case 'PtgMemNoMem': /* 2.5.198.73 TODO -- find a test case */ - throw new Error('Unrecognized Formula Token: ' + String(f)); - case 'PtgElfCol': /* 2.5.198.46 */ - case 'PtgElfColS': /* 2.5.198.47 */ - case 'PtgElfColSV': /* 2.5.198.48 */ - case 'PtgElfColV': /* 2.5.198.49 */ - case 'PtgElfLel': /* 2.5.198.50 */ - case 'PtgElfRadical': /* 2.5.198.51 */ - case 'PtgElfRadicalLel': /* 2.5.198.52 */ - case 'PtgElfRadicalS': /* 2.5.198.53 */ - case 'PtgElfRw': /* 2.5.198.54 */ - case 'PtgElfRwV': /* 2.5.198.55 */ + case 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */ + case 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */ + case 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */ + case 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */ + case 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */ + case 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */ + case 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */ + case 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */ + case 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */ + case 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */ throw new Error("Unsupported ELFs"); - case 'PtgAttrBaxcel': /* 2.5.198.33 TODO -- find a test case*/ + case 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 TODO -- find a test case*/ throw new Error('Unrecognized Formula Token: ' + String(f)); - case 'PtgSxName': /* 2.5.198.91 TODO -- find a test case */ + case 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */ throw new Error('Unrecognized Formula Token: ' + String(f)); case 'PtgList': /* [MS-XLSB] 2.5.97.52 TODO -- find a test case */ throw new Error('Unrecognized Formula Token: ' + String(f)); diff --git a/bits/63_fbin.js b/bits/63_fbin.js index 71b85e7..cd5f2c2 100644 --- a/bits/63_fbin.js +++ b/bits/63_fbin.js @@ -71,7 +71,6 @@ function parse_Formula(blob, length, opts) { /* XLSB Parsed Formula records have the same shape */ function parse_XLSBParsedFormula(data, length, opts) { - //var end = data.l + length; var cce = data.read_shift(4); var rgce = parse_Rgce(data, cce, opts); var cb = data.read_shift(4); diff --git a/bits/66_wscommon.js b/bits/66_wscommon.js index 2bd5422..7590dc0 100644 --- a/bits/66_wscommon.js +++ b/bits/66_wscommon.js @@ -68,6 +68,7 @@ function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, the if(opts.cellNF) p.z = SSF._table[fmtid]; } catch(e) { if(opts.WTF) throw e; } if(!opts || opts.cellText !== false) try { + if(SSF._table[fmtid] == null) SSF.load(SSFImplicit[fmtid] || "General", fmtid); if(p.t === 'e') p.w = p.w || BErr[p.v]; else if(fmtid === 0) { if(p.t === 'n') { diff --git a/bits/67_wsxml.js b/bits/67_wsxml.js index 1337c38..b3a5aea 100644 --- a/bits/67_wsxml.js +++ b/bits/67_wsxml.js @@ -474,9 +474,11 @@ function write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ { ws['!comments'] = []; ws['!drawing'] = []; - var cname = wb.SheetNames[idx]; - try { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {} - o[o.length] = (writextag('sheetPr', null, {'codeName': escapexml(cname)})); + if(opts.bookType !== 'xlsx' && wb.vbaraw) { + var cname = wb.SheetNames[idx]; + try { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {} + o[o.length] = (writextag('sheetPr', null, {'codeName': escapexml(cname)})); + } o[o.length] = (writextag('dimension', null, {'ref': ref})); @@ -547,7 +549,9 @@ function write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ { /* colBreaks */ /* customProperties */ /* cellWatches */ - /* ignoredErrors */ + + o[o.length] = writetag("ignoredErrors", writextag("ignoredError", null, {numberStoredAsText:1, sqref:ref})); + /* smartTags */ if(ws['!drawing'].length > 0) { diff --git a/bits/68_wsbin.js b/bits/68_wsbin.js index 08183ae..cc21581 100644 --- a/bits/68_wsbin.js +++ b/bits/68_wsbin.js @@ -1,5 +1,5 @@ -/* [MS-XLSB] 2.4.718 BrtRowHdr */ +/* [MS-XLSB] 2.4.726 BrtRowHdr */ function parse_BrtRowHdr(data, length) { var z = ({}/*:any*/); var tgt = data.l + length; @@ -67,16 +67,16 @@ function write_row_header(ba, ws, range, R) { if((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 'BrtRowHdr', o); } -/* [MS-XLSB] 2.4.812 BrtWsDim */ +/* [MS-XLSB] 2.4.820 BrtWsDim */ var parse_BrtWsDim = parse_UncheckedRfX; var write_BrtWsDim = write_UncheckedRfX; -/* [MS-XLSB] 2.4.813 BrtWsFmtInfo */ +/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */ function parse_BrtWsFmtInfo(/*::data, length*/) { } //function write_BrtWsFmtInfo(ws, o) { } -/* [MS-XLSB] 2.4.815 BrtWsProp */ +/* [MS-XLSB] 2.4.823 BrtWsProp */ function parse_BrtWsProp(data, length) { var z = {}; /* TODO: pull flags */ @@ -94,7 +94,7 @@ function write_BrtWsProp(str, o) { return o.slice(0, o.l); } -/* [MS-XLSB] 2.4.303 BrtCellBlank */ +/* [MS-XLSB] 2.4.306 BrtCellBlank */ function parse_BrtCellBlank(data) { var cell = parse_XLSBCell(data); return [cell]; @@ -105,7 +105,7 @@ function write_BrtCellBlank(cell, ncell, o) { } -/* [MS-XLSB] 2.4.304 BrtCellBool */ +/* [MS-XLSB] 2.4.307 BrtCellBool */ function parse_BrtCellBool(data) { var cell = parse_XLSBCell(data); var fBool = data.read_shift(1); @@ -118,14 +118,14 @@ function write_BrtCellBool(cell, ncell, o) { return o; } -/* [MS-XLSB] 2.4.305 BrtCellError */ +/* [MS-XLSB] 2.4.308 BrtCellError */ function parse_BrtCellError(data) { var cell = parse_XLSBCell(data); var bError = data.read_shift(1); return [cell, bError, 'e']; } -/* [MS-XLSB] 2.4.308 BrtCellIsst */ +/* [MS-XLSB] 2.4.311 BrtCellIsst */ function parse_BrtCellIsst(data) { var cell = parse_XLSBCell(data); var isst = data.read_shift(4); @@ -138,7 +138,7 @@ function write_BrtCellIsst(cell, ncell, o) { return o; } -/* [MS-XLSB] 2.4.310 BrtCellReal */ +/* [MS-XLSB] 2.4.313 BrtCellReal */ function parse_BrtCellReal(data) { var cell = parse_XLSBCell(data); var value = parse_Xnum(data); @@ -151,7 +151,7 @@ function write_BrtCellReal(cell, ncell, o) { return o; } -/* [MS-XLSB] 2.4.311 BrtCellRk */ +/* [MS-XLSB] 2.4.314 BrtCellRk */ function parse_BrtCellRk(data) { var cell = parse_XLSBCell(data); var value = parse_RkNumber(data); @@ -165,7 +165,7 @@ function write_BrtCellRk(cell, ncell, o) { } -/* [MS-XLSB] 2.4.314 BrtCellSt */ +/* [MS-XLSB] 2.4.317 BrtCellSt */ function parse_BrtCellSt(data) { var cell = parse_XLSBCell(data); var value = parse_XLWideString(data); @@ -178,7 +178,7 @@ function write_BrtCellSt(cell, ncell, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.647 BrtFmlaBool */ +/* [MS-XLSB] 2.4.653 BrtFmlaBool */ function parse_BrtFmlaBool(data, length, opts) { var end = data.l + length; var cell = parse_XLSBCell(data); @@ -194,7 +194,7 @@ function parse_BrtFmlaBool(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.648 BrtFmlaError */ +/* [MS-XLSB] 2.4.654 BrtFmlaError */ function parse_BrtFmlaError(data, length, opts) { var end = data.l + length; var cell = parse_XLSBCell(data); @@ -210,7 +210,7 @@ function parse_BrtFmlaError(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.649 BrtFmlaNum */ +/* [MS-XLSB] 2.4.655 BrtFmlaNum */ function parse_BrtFmlaNum(data, length, opts) { var end = data.l + length; var cell = parse_XLSBCell(data); @@ -226,7 +226,7 @@ function parse_BrtFmlaNum(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.650 BrtFmlaString */ +/* [MS-XLSB] 2.4.656 BrtFmlaString */ function parse_BrtFmlaString(data, length, opts) { var end = data.l + length; var cell = parse_XLSBCell(data); @@ -242,17 +242,17 @@ function parse_BrtFmlaString(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.676 BrtMergeCell */ +/* [MS-XLSB] 2.4.682 BrtMergeCell */ var parse_BrtMergeCell = parse_UncheckedRfX; var write_BrtMergeCell = write_UncheckedRfX; -/* [MS-XLSB] 2.4.108 BrtBeginMergeCells */ +/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */ function write_BrtBeginMergeCells(cnt, o) { if(o == null) o = new_buf(4); o.write_shift(4, cnt); return o; } -/* [MS-XLSB] 2.4.656 BrtHLink */ +/* [MS-XLSB] 2.4.662 BrtHLink */ function parse_BrtHLink(data, length/*::, opts*/) { var end = data.l + length; var rfx = parse_UncheckedRfX(data, 16); @@ -290,7 +290,7 @@ function parse_BrtArrFmla(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.742 BrtShrFmla */ +/* [MS-XLSB] 2.4.750 BrtShrFmla */ function parse_BrtShrFmla(data, length, opts) { var end = data.l + length; var rfx = parse_UncheckedRfX(data, 16); @@ -320,7 +320,7 @@ function write_BrtColInfo(C/*:number*/, col, o) { return o; } -/* [MS-XLSB] 2.4.672 BrtMargins */ +/* [MS-XLSB] 2.4.678 BrtMargins */ var BrtMarginKeys = ["left","right","top","bottom","header","footer"]; function parse_BrtMargins(data/*::, length, opts*/)/*:Margins*/ { var margins = ({}/*:any*/); @@ -334,7 +334,7 @@ function write_BrtMargins(margins/*:Margins*/, o) { return o; } -/* [MS-XLSB] 2.4.292 BrtBeginWsView */ +/* [MS-XLSB] 2.4.299 BrtBeginWsView */ function parse_BrtBeginWsView(data/*::, length, opts*/) { var f = data.read_shift(2); data.l += 28; @@ -360,7 +360,16 @@ function write_BrtBeginWsView(ws, Workbook, o) { return o; } -/* [MS-XLSB] 2.4.740 BrtSheetProtection */ +/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */ +function write_BrtCellIgnoreEC(ref) { + var o = new_buf(24); + o.write_shift(4, 4); + o.write_shift(4, 1); + write_UncheckedRfX(ref, o); + return o; +} + +/* [MS-XLSB] 2.4.748 BrtSheetProtection */ function write_BrtSheetProtection(sp, o) { if(o == null) o = new_buf(16*4+2); o.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0); @@ -736,6 +745,13 @@ function write_COLINFOS(ba, ws/*:Worksheet*//*::, idx:number, opts, wb:Workbook* write_record(ba, 'BrtEndColInfos'); } +function write_IGNOREECS(ba, ws/*:Worksheet*/) { + if(!ws || !ws['!ref']) return; + write_record(ba, 'BrtBeginCellIgnoreECs'); + write_record(ba, 'BrtCellIgnoreEC', write_BrtCellIgnoreEC(safe_decode_range(ws['!ref']))); + write_record(ba, 'BrtEndCellIgnoreECs'); +} + function write_HLINKS(ba, ws/*:Worksheet*/, rels) { /* *BrtHLink */ ws['!links'].forEach(function(l) { @@ -756,7 +772,7 @@ function write_LEGACYDRAWING(ba, ws/*:Worksheet*/, idx/*:number*/, rels) { function write_AUTOFILTER(ba, ws) { if(!ws['!autofilter']) return; - write_record(ba, "BrtBeginAFilter", write_UncheckedRfX(decode_range(ws['!autofilter'].ref))); + write_record(ba, "BrtBeginAFilter", write_UncheckedRfX(safe_decode_range(ws['!autofilter'].ref))); /* *FILTERCOLUMN */ /* [SORTSTATE] */ /* BrtEndAFilter */ @@ -798,7 +814,7 @@ function write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) { /* passed back to write_zip and removed there */ ws['!comments'] = []; write_record(ba, "BrtBeginSheet"); - write_record(ba, "BrtWsProp", write_BrtWsProp(c)); + if(wb.vbaraw) write_record(ba, "BrtWsProp", write_BrtWsProp(c)); write_record(ba, "BrtWsDim", write_BrtWsDim(r)); write_WSVIEWS2(ba, ws, wb.Workbook); write_WSFMTINFO(ba, ws); @@ -825,7 +841,7 @@ function write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) { /* [COLBRK] */ /* *BrtBigName */ /* [CELLWATCHES] */ - /* [IGNOREECS] */ + write_IGNOREECS(ba, ws); /* [SMARTTAGS] */ /* [BrtDrawing] */ write_LEGACYDRAWING(ba, ws, idx, rels); diff --git a/bits/71_wbcommon.js b/bits/71_wbcommon.js index 6af56dc..d76ecac 100644 --- a/bits/71_wbcommon.js +++ b/bits/71_wbcommon.js @@ -124,15 +124,20 @@ function check_ws_name(n/*:string*/, safe/*:?boolean*/)/*:boolean*/ { }); return _good; } -function check_wb_names(N) { +function check_wb_names(N, S, codes) { N.forEach(function(n,i) { check_ws_name(n); for(var j = 0; j < i; ++j) if(n == N[j]) throw new Error("Duplicate Sheet Name: " + n); + if(codes) { + var cn = (S && S[i] && S[i].CodeName) || n; + if(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error("Bad Code Name: Worksheet" + cn); + } }); } function check_wb(wb) { if(!wb || !wb.SheetNames || !wb.Sheets) throw new Error("Invalid Workbook"); if(!wb.SheetNames.length) throw new Error("Workbook is empty"); - check_wb_names(wb.SheetNames); + var Sheets = (wb.Workbook && wb.Workbook.Sheets) || []; + check_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw); /* TODO: validate workbook */ } diff --git a/bits/73_wbbin.js b/bits/73_wbbin.js index f158536..25cee5a 100644 --- a/bits/73_wbbin.js +++ b/bits/73_wbbin.js @@ -1,4 +1,4 @@ -/* [MS-XLSB] 2.4.301 BrtBundleSh */ +/* [MS-XLSB] 2.4.304 BrtBundleSh */ function parse_BrtBundleSh(data, length/*:number*/) { var z = {}; z.Hidden = data.read_shift(4); //hsState ST_SheetState @@ -16,7 +16,7 @@ function write_BrtBundleSh(data, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.807 BrtWbProp */ +/* [MS-XLSB] 2.4.815 BrtWbProp */ function parse_BrtWbProp(data, length)/*:WBProps*/ { var o/*:WBProps*/ = ({}/*:any*/); var flags = data.read_shift(4); @@ -61,7 +61,7 @@ function parse_BrtFRTArchID$(data, length) { return o; } -/* [MS-XLSB] 2.4.680 BrtName */ +/* [MS-XLSB] 2.4.687 BrtName */ function parse_BrtName(data, length, opts) { var end = data.l + length; data.l += 4; //var flags = data.read_shift(4); @@ -83,7 +83,7 @@ function parse_BrtName(data, length, opts) { return out; } -/* [MS-XLSB] 2.1.7.60 Workbook */ +/* [MS-XLSB] 2.1.7.61 Workbook */ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; var pass = false; @@ -185,7 +185,6 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { return wb; } -/* [MS-XLSB] 2.1.7.60 Workbook */ function write_BUNDLESHS(ba, wb/*::, opts*/) { write_record(ba, "BrtBeginBundleShs"); for(var idx = 0; idx != wb.SheetNames.length; ++idx) { @@ -196,7 +195,7 @@ function write_BUNDLESHS(ba, wb/*::, opts*/) { write_record(ba, "BrtEndBundleShs"); } -/* [MS-XLSB] 2.4.643 BrtFileVersion */ +/* [MS-XLSB] 2.4.649 BrtFileVersion */ function write_BrtFileVersion(data, o) { if(!o) o = new_buf(127); for(var i = 0; i != 4; ++i) o.write_shift(4, 0); @@ -208,7 +207,7 @@ function write_BrtFileVersion(data, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.298 BrtBookView */ +/* [MS-XLSB] 2.4.301 BrtBookView */ function write_BrtBookView(idx, o) { if(!o) o = new_buf(29); o.write_shift(-4, 0); @@ -223,7 +222,6 @@ function write_BrtBookView(idx, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.1.7.60 Workbook */ function write_BOOKVIEWS(ba, wb/*::, opts*/) { /* required if hidden tab appears before visible tab */ if(!wb.Workbook || !wb.Workbook.Sheets) return; @@ -240,7 +238,7 @@ function write_BOOKVIEWS(ba, wb/*::, opts*/) { write_record(ba, "BrtEndBookViews"); } -/* [MS-XLSB] 2.4.302 BrtCalcProp */ +/* [MS-XLSB] 2.4.305 BrtCalcProp */ /*function write_BrtCalcProp(data, o) { if(!o) o = new_buf(26); o.write_shift(4,0); // force recalc @@ -253,14 +251,14 @@ function write_BOOKVIEWS(ba, wb/*::, opts*/) { return o; }*/ -/* [MS-XLSB] 2.4.640 BrtFileRecover */ +/* [MS-XLSB] 2.4.646 BrtFileRecover */ /*function write_BrtFileRecover(data, o) { if(!o) o = new_buf(1); o.write_shift(1,0); return o; }*/ -/* [MS-XLSB] 2.1.7.60 Workbook */ +/* [MS-XLSB] 2.1.7.61 Workbook */ function write_wb_bin(wb, opts) { var ba = buf_array(); write_record(ba, "BrtBeginBook"); diff --git a/bits/76_xls.js b/bits/76_xls.js index 3d6931a..5fb0135 100644 --- a/bits/76_xls.js +++ b/bits/76_xls.js @@ -837,15 +837,15 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { function parse_props(cfb/*:CFBContainer*/, props, o) { /* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */ var DSI = CFB.find(cfb, '!DocumentSummaryInformation'); - if(DSI) try { - var DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI); + if(DSI && DSI.size > 0) try { + var DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, "02d5cdd59c2e1b10939708002b2cf9ae"); for(var d in DocSummary) props[d] = DocSummary[d]; } catch(e) {if(o.WTF) throw e;/* empty */} /* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/ var SI = CFB.find(cfb, '!SummaryInformation'); - if(SI) try { - var Summary = parse_PropertySetStream(SI, SummaryPIDSI); + if(SI && SI.size > 0) try { + var Summary = parse_PropertySetStream(SI, SummaryPIDSI, "e0859ff2f94f6810ab9108002b27b3d9"); for(var s in Summary) if(props[s] == null) props[s] = Summary[s]; } catch(e) {if(o.WTF) throw e;/* empty */} } diff --git a/bits/77_parsetab.js b/bits/77_parsetab.js index de94cf4..75e57e6 100644 --- a/bits/77_parsetab.js +++ b/bits/77_parsetab.js @@ -631,8 +631,10 @@ var XLSBRecordEnum = { /*::[*/0x0422/*::]*/: { n:"BrtBeginSparklineGroups" }, /*::[*/0x0423/*::]*/: { n:"BrtEndSparklineGroups" }, /*::[*/0x0425/*::]*/: { n:"BrtSXVD14" }, - /*::[*/0x0426/*::]*/: { n:"BrtBeginSxview14" }, - /*::[*/0x0427/*::]*/: { n:"BrtEndSxview14" }, + /*::[*/0x0426/*::]*/: { n:"BrtBeginSXView14" }, + /*::[*/0x0427/*::]*/: { n:"BrtEndSXView14" }, + /*::[*/0x0428/*::]*/: { n:"BrtBeginSXView16" }, + /*::[*/0x0429/*::]*/: { n:"BrtEndSXView16" }, /*::[*/0x042A/*::]*/: { n:"BrtBeginPCD14" }, /*::[*/0x042B/*::]*/: { n:"BrtEndPCD14" }, /*::[*/0x042C/*::]*/: { n:"BrtBeginExtConn14" }, @@ -819,6 +821,12 @@ var XLSBRecordEnum = { /*::[*/0x0856/*::]*/: { n:"BrtFieldListActiveItem" }, /*::[*/0x0857/*::]*/: { n:"BrtPivotCacheIdVersion" }, /*::[*/0x0858/*::]*/: { n:"BrtSXDI15" }, + /*::[*/0x0859/*::]*/: { n:"BrtBeginModelTimeGroupings" }, + /*::[*/0x085A/*::]*/: { n:"BrtEndModelTimeGroupings" }, + /*::[*/0x085B/*::]*/: { n:"BrtBeginModelTimeGrouping" }, + /*::[*/0x085C/*::]*/: { n:"BrtEndModelTimeGrouping" }, + /*::[*/0x085D/*::]*/: { n:"BrtModelTimeGroupingCalcCol" }, + /*::[*/0x0C01/*::]*/: { n:"BrtRevisionPtr" }, /*::[*/0xFFFF/*::]*/: { n:"" } }; diff --git a/bits/78_writebiff.js b/bits/78_writebiff.js index 94779b0..a75ca2a 100644 --- a/bits/78_writebiff.js +++ b/bits/78_writebiff.js @@ -84,16 +84,45 @@ function write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) { return ba.end(); } -function write_FMTS_biff8(ba, NF/*:?SSFTable*/) { +function write_FONTS_biff8(ba, data, opts) { + write_biff_rec(ba, "Font", write_Font({ + sz:12, + color: {theme:1}, + name: "Arial", + family: 2, + scheme: "minor" + }, opts)); +} + + +function write_FMTS_biff8(ba, NF/*:?SSFTable*/, opts) { if(!NF) return; [[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) { /*:: if(!NF) return; */ - for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_biff_rec(ba, "Format", write_Format(i, NF[i])); + for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_biff_rec(ba, "Format", write_Format(i, NF[i], opts)); }); } -function write_CELLXFS_biff8(ba, data) { - data.forEach(function(c) { - write_biff_rec(ba, "XF", write_XF(c,0)); + +function write_FEAT(ba, ws) { + /* [MS-XLS] 2.4.112 */ + var o = new_buf(19); + o.write_shift(4, 0x867); o.write_shift(4, 0); o.write_shift(4, 0); + o.write_shift(2, 3); o.write_shift(1, 1); o.write_shift(4, 0); + write_biff_rec(ba, "FeatHdr", o); + /* [MS-XLS] 2.4.111 */ + o = new_buf(39); + o.write_shift(4, 0x868); o.write_shift(4, 0); o.write_shift(4, 0); + o.write_shift(2, 3); o.write_shift(1, 0); o.write_shift(4, 0); + o.write_shift(2, 1); o.write_shift(4, 4); o.write_shift(2, 0); + write_Ref8U(safe_decode_range(ws['!ref']), o); + o.write_shift(4, 4); + write_biff_rec(ba, "Feat", o); +} + +function write_CELLXFS_biff8(ba, opts) { + for(var i = 0; i < 16; ++i) write_biff_rec(ba, "XF", write_XF({numFmtId:0, style:true}, 0, opts)); + opts.cellXfs.forEach(function(c) { + write_biff_rec(ba, "XF", write_XF(c, 0, opts)); }); } @@ -107,14 +136,14 @@ function write_ws_biff8_hlinks(ba/*:BufArray*/, ws) { } function write_ws_biff8_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts) { - var os = get_cell_style(opts.cellXfs, cell, opts); + var os = 16 + get_cell_style(opts.cellXfs, cell, opts); if(cell.v != null) switch(cell.t) { case 'd': case 'n': var v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v; /* TODO: emit RK as appropriate */ write_biff_rec(ba, "Number", write_Number(R, C, v, os, opts)); return; - case 'b': case 'e': write_biff_rec(ba, "BoolErr", write_BoolErr(R, C, cell.v, os, opts, cell.t)); return; + case 'b': case 'e': write_biff_rec(ba, 0x0205, write_BoolErr(R, C, cell.v, os, opts, cell.t)); return; /* TODO: codepage, sst */ case 's': case 'str': write_biff_rec(ba, "Label", write_Label(R, C, cell.v, os, opts)); @@ -169,12 +198,14 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { /* ... */ if(b8 && _WB.Views) write_biff_rec(ba, "Window2", write_Window2(_WB.Views[0])); /* ... */ - if(b8) write_biff_rec(ba, "MergeCells", write_MergeCells(ws['!merges']||[])); + if(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, "MergeCells", write_MergeCells(ws['!merges'])); /* ... */ if(b8) write_ws_biff8_hlinks(ba, ws); /* ... */ write_biff_rec(ba, "CodeName", write_XLUnicodeString(cname, opts)); /* ... */ + if(b8) write_FEAT(ba, ws); + /* ... */ write_biff_rec(ba, "EOF"); return ba.end(); } @@ -182,7 +213,9 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { /* [MS-XLS] 2.1.7.20.3 */ function write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) { var A = buf_array(); - var _wb/*:WBWBProps*/ = /*::((*/(wb.Workbook||{}).WBProps||{/*::CodeName:"ThisWorkbook"*/}/*:: ):any)*/; + var _WB/*:WBWBProps*/ = ((wb||{}).Workbook||{}/*:any*/); + var _sheets/*:Array*/ = (_WB.Sheets||[]); + var _wb/*:WBProps*/ = /*::((*/_WB.WBProps||{/*::CodeName:"ThisWorkbook"*/}/*:: ):any)*/; var b8 = opts.biff == 8, b5 = opts.biff == 5; write_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts)); if(opts.bookType == "xla") write_biff_rec(A, "Addin"); @@ -194,10 +227,10 @@ function write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) { write_biff_rec(A, "WriteAccess", write_WriteAccess("SheetJS", opts)); write_biff_rec(A, "CodePage", writeuint16(b8 ? 0x04b0 : 0x04E4)); if(b8) write_biff_rec(A, "DSF", writeuint16(0)); + if(b8) write_biff_rec(A, "Excel9File"); write_biff_rec(A, "RRTabId", write_RRTabId(wb.SheetNames.length)); if(b8 && wb.vbaraw) { write_biff_rec(A, "ObProj"); - // $FlowIgnore var cname/*:string*/ = _wb.CodeName || "ThisWorkbook"; write_biff_rec(A, "CodeName", write_XLUnicodeString(cname, opts)); } @@ -215,8 +248,9 @@ function write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) { if(b8) write_biff_rec(A, "RefreshAll", writebool(false)); write_biff_rec(A, "BookBool", writeuint16(0)); /* ... */ - if(b8) write_FMTS_biff8(A, wb.SSF); - if(b8) write_CELLXFS_biff8(A, opts.cellXfs); + write_FONTS_biff8(A, wb, opts); + write_FMTS_biff8(A, wb.SSF, opts); + write_CELLXFS_biff8(A, opts); /* ... */ if(b8) write_biff_rec(A, "UsesELFs", writebool(false)); var a = A.end(); @@ -232,7 +266,8 @@ function write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) { for(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length; var start = a.length + blen + c.length; for(j = 0; j < wb.SheetNames.length; ++j) { - write_biff_rec(B, "BoundSheet8", write_BoundSheet8({pos:start, hs:0, dt:0, name:wb.SheetNames[j]}, opts)); + var _sheet/*:WBWSProp*/ = _sheets[j] || ({}/*:any*/); + write_biff_rec(B, "BoundSheet8", write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts)); start += bufs[j].length; } /* 1*BoundSheet8 */ diff --git a/demos/altjs/.gitignore b/demos/altjs/.gitignore index c0858f1..cdf6d02 100644 --- a/demos/altjs/.gitignore +++ b/demos/altjs/.gitignore @@ -1,5 +1,5 @@ -jvm-npm.js sheetjs.* +SheetJSSwift duk* *.class *.jar diff --git a/demos/altjs/.swiftlint.yml b/demos/altjs/.swiftlint.yml new file mode 100644 index 0000000..11856f9 --- /dev/null +++ b/demos/altjs/.swiftlint.yml @@ -0,0 +1,3 @@ +disabled_rules: + - trailing_semicolon + - identifier_name diff --git a/demos/altjs/Makefile b/demos/altjs/Makefile index 920aa62..21a607c 100644 --- a/demos/altjs/Makefile +++ b/demos/altjs/Makefile @@ -4,49 +4,47 @@ all: duktape nashorn rhinojs swift .PHONY: base base: if [ ! -e sheetjs.xlsx ]; then node ../../tests/write.js; fi + if [ ! -e xlsx.full.min.js ]; then cp ../../dist/xlsx.full.min.js .; fi .PHONY: duktape duktape: base ## duktape demo bash ./duktape.sh gcc -std=c99 -Wall -osheetjs.duk sheetjs.duk.c duktape.c -lm - if [ ! -e xlsx.duktape.js ]; then cp ../../dist/xlsx.full.min.js xlsx.duktape.js; fi ./sheetjs.duk .PHONY: nashorn nashorn: base ## nashorn demo - if [ ! -e jvm-npm.js ]; then curl -O https://rawgit.com/nodyn/jvm-npm/master/src/main/javascript/jvm-npm.js; fi jjs nashorn.js .PHONY: swift swift: base ## swift demo - if [ ! -e xlsx.swift.js ]; then cp ../../dist/xlsx.full.min.js xlsx.swift.js; fi - ./SheetJSCore.swift + swiftc SheetJSCore.swift main.swift -o SheetJSSwift + ./SheetJSSwift .PHONY: chakra chakra: base ## Chakra demo node -pe "fs.writeFileSync('payload.js', 'var payload = \"' + fs.readFileSync('sheetjs.xlsx').toString('base64') + '\";')" - cat global.js ../../dist/xlsx.full.min.js payload.js chakra.js > xlsx.chakra.js + cat global.js xlsx.full.min.js payload.js chakra.js > xlsx.chakra.js chakra ./xlsx.chakra.js .PHONY: rhinojs ## rhino demo rhinojs: base SheetJSRhino.class - java -cp .:SheetJS.jar:rhino.jar SheetJSRhino sheetjs.xlsx - java -cp .:SheetJS.jar:rhino.jar SheetJSRhino sheetjs.xlsb - java -cp .:SheetJS.jar:rhino.jar SheetJSRhino sheetjs.xls - java -cp .:SheetJS.jar:rhino.jar SheetJSRhino sheetjs.xml.xls + for ext in xlsx xlsb biff8.xls xml.xls; do java -cp .:SheetJS.jar:rhino.jar SheetJSRhino sheetjs.$$ext; done RHDEPS=$(filter-out SheetJSRhino.class,$(patsubst %.java,%.class,$(wildcard com/sheetjs/*.java))) $(RHDEPS): %.class: %.java rhino.jar javac -cp .:SheetJS.jar:rhino.jar $*.java SheetJSRhino.class: $(RHDEPS) - jar -cf SheetJS.jar $^ ../../dist/xlsx.full.min.js + jar -cf SheetJS.jar $^ xlsx.full.min.js javac -cp .:SheetJS.jar:rhino.jar SheetJSRhino.java rhino.jar: if [ ! -e rhino ]; then git clone https://github.com/mozilla/rhino; fi - if [ ! -e rhino/build/rhino*/js.jar ]; then cd rhino; ant jar; fi - cp rhino/build/rhino*/js.jar rhino.jar + #if [ ! -e rhino/build/rhino*/js.jar ]; then cd rhino; ant jar; fi + #cp rhino/build/rhino*/js.jar rhino.jar + if [ ! -e rhino/buildGradle/libs/rhino*.jar ]; then cd rhino; ./gradlew jar; fi + cp rhino/buildGradle/libs/rhino*.jar rhino.jar .PHONY: clean clean: diff --git a/demos/altjs/README.md b/demos/altjs/README.md index 56eaf98..9b95c3e 100644 --- a/demos/altjs/README.md +++ b/demos/altjs/README.md @@ -31,7 +31,7 @@ let shared_dir = PlaygroundSupport.playgroundSharedDataDirectory; let lib_path = shared_dir.appendingPathComponent("xlsx.full.min.js"); /* prepare JS context */ -var context:JSContext! = JSContext(); +var context: JSContext! = JSContext(); var src = "var global = (function(){ return this; }).call(null);"; context.evaluateScript(src); @@ -50,17 +50,17 @@ Binary strings can be passed back and forth using `String.Encoding.isoLatin1`: ```swift /* parse sheetjs.xls */ let file_path = shared_dir.appendingPathComponent("sheetjs.xls"); -let data:String! = try String(contentsOf: file_path, encoding:String.Encoding.isoLatin1); -context.setObject(data, forKeyedSubscript:"payload" as (NSCopying & NSObjectProtocol)!); +let data: String! = try String(contentsOf: file_path, encoding: String.Encoding.isoLatin1); +context.setObject(data, forKeyedSubscript: "payload" as (NSCopying & NSObjectProtocol)!); src = "var wb = XLSX.read(payload, {type:'binary'});"; context.evaluateScript(src); -/* write to sheetjs.xlsx */ -let out_path = shared_dir.appendingPathComponent("sheetjs.xlsx"); +/* write to sheetjsw.xlsx */ +let out_path = shared_dir.appendingPathComponent("sheetjsw.xlsx"); src = "var out = XLSX.write(wb, {type:'binary', bookType:'xlsx'})"; context.evaluateScript(src); let outvalue: JSValue! = context.objectForKeyedSubscript("out"); -var out:String! = outvalue.toString(); +var out: String! = outvalue.toString(); try? out.write(to: out_path, atomically: false, encoding: String.Encoding.isoLatin1); ``` @@ -70,9 +70,12 @@ try? out.write(to: out_path, atomically: false, encoding: String.Encoding.isoLat Nashorn ships with Java 8. It includes a command-line tool `jjs` for running JS scripts. It is somewhat limited but does offer access to the full Java runtime. -`jjs` does not provide a CommonJS `require` implementation. This demo uses a -[`shim`](https://rawgit.com/nodyn/jvm-npm/master/src/main/javascript/jvm-npm.js) -and manually requires the library. +The `load` function in `jjs` can load the minified source directly: + +```js +var global = (function(){ return this; }).call(null); +load('xlsx.full.min.js'); +``` The Java `nio` API provides the `Files.readAllBytes` method to read a file into a byte array. To use in `XLSX.read`, the demo copies the bytes into a plain JS @@ -115,7 +118,7 @@ duk_put_global_string(ctx, "buf"); duk_eval_string_noresult("workbook = XLSX.read(buf, {type:'buffer'});"); /* write a workbook object to a C char array */ -duk_eval_string(ctx, "XLSX.write(workbook, {type:'buffer', bookType:'xlsx'})"); +duk_eval_string(ctx, "XLSX.write(workbook, {type:'array', bookType:'xlsx'})"); duk_size_t sz; char *buf = (char *)duk_get_buffer_data(ctx, -1, sz); duk_pop(ctx); diff --git a/demos/altjs/SJSPlayground.swift b/demos/altjs/SJSPlayground.swift index c6125bc..e95cde5 100644 --- a/demos/altjs/SJSPlayground.swift +++ b/demos/altjs/SJSPlayground.swift @@ -8,7 +8,7 @@ let shared_dir = PlaygroundSupport.playgroundSharedDataDirectory; let lib_path = shared_dir.appendingPathComponent("xlsx.full.min.js"); /* prepare JS context */ -var context:JSContext! = JSContext(); +var context: JSContext! = JSContext(); var src = "var global = (function(){ return this; }).call(null);"; context.evaluateScript(src); @@ -23,15 +23,15 @@ var version = XLSXversion.toString(); /* parse sheetjs.xls */ let file_path = shared_dir.appendingPathComponent("sheetjs.xls"); -let data:String! = try String(contentsOf: file_path, encoding:String.Encoding.isoLatin1); -context.setObject(data, forKeyedSubscript:"payload" as (NSCopying & NSObjectProtocol)!); +let data: String! = try String(contentsOf: file_path, encoding: String.Encoding.isoLatin1); +context.setObject(data, forKeyedSubscript: "payload" as (NSCopying & NSObjectProtocol)!); src = "var wb = XLSX.read(payload, {type:'binary'});"; context.evaluateScript(src); -/* write to sheetjs.xlsx */ -let out_path = shared_dir.appendingPathComponent("sheetjs.xlsx"); +/* write to sheetjsw.xlsx */ +let out_path = shared_dir.appendingPathComponent("sheetjsw.xlsx"); src = "var out = XLSX.write(wb, {type:'binary', bookType:'xlsx'})"; context.evaluateScript(src); let outvalue: JSValue! = context.objectForKeyedSubscript("out"); -var out:String! = outvalue.toString(); +var out: String! = outvalue.toString(); try? out.write(to: out_path, atomically: false, encoding: String.Encoding.isoLatin1); diff --git a/demos/altjs/SheetJSCore.swift b/demos/altjs/SheetJSCore.swift index 24b6d40..8e98d1c 100755 --- a/demos/altjs/SheetJSCore.swift +++ b/demos/altjs/SheetJSCore.swift @@ -1,62 +1,96 @@ -#!/usr/bin/env xcrun swift /* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ import JavaScriptCore; -class SheetJS { +enum SJSError: Error { + case badJSContext; + case badJSWorkbook; + case badJSWorksheet; +}; + +class SJSWorksheet { + var context: JSContext!; + var wb: JSValue!; var ws: JSValue!; + var idx: Int32; + + func toCSV() throws -> String { + let XLSX: JSValue! = context.objectForKeyedSubscript("XLSX"); + let utils: JSValue! = XLSX.objectForKeyedSubscript("utils"); + let sheet_to_csv: JSValue! = utils.objectForKeyedSubscript("sheet_to_csv"); + return sheet_to_csv.call(withArguments: [ws]).toString(); + } + + init(ctx: JSContext, workbook: JSValue, worksheet: JSValue, idx: Int32) throws { + self.context = ctx; self.wb = workbook; self.ws = worksheet; self.idx = idx; + } +} + +class SJSWorkbook { + var context: JSContext!; + var wb: JSValue!; var SheetNames: JSValue!; var Sheets: JSValue!; + + func getSheetAtIndex(idx: Int32) throws -> SJSWorksheet { + let SheetName: String = SheetNames.atIndex(Int(idx)).toString(); + let ws: JSValue! = Sheets.objectForKeyedSubscript(SheetName); + return try SJSWorksheet(ctx: context, workbook: wb, worksheet: ws, idx: idx); + } + + func writeBStr(bookType: String = "xlsx") throws -> String { + let XLSX: JSValue! = context.objectForKeyedSubscript("XLSX"); + context.evaluateScript(String(format: "var writeopts = {type:'binary', bookType:'%@'}", bookType)); + let writeopts: JSValue! = context.objectForKeyedSubscript("writeopts"); + let writefunc: JSValue! = XLSX.objectForKeyedSubscript("write"); + return writefunc.call(withArguments: [wb, writeopts]).toString(); + } + + init(ctx: JSContext, wb: JSValue) throws { + self.context = ctx; + self.wb = wb; + self.SheetNames = wb.objectForKeyedSubscript("SheetNames"); + self.Sheets = wb.objectForKeyedSubscript("Sheets"); + } +} + +class SheetJSCore { var context: JSContext!; var XLSX: JSValue!; - enum SJSError: Error { - case badJSContext; - }; - func init_context() throws -> JSContext { var context: JSContext! do { context = JSContext(); - context.exceptionHandler = { ctx, X in if let e = X { print(e.toString()); }; } - var src = "var global = (function(){ return this; }).call(null);"; - context.evaluateScript(src); - src = try String(contentsOfFile: "xlsx.swift.js"); + context.exceptionHandler = { ctx, X in if let e = X { print(e.toString()); }; }; + context.evaluateScript("var global = (function(){ return this; }).call(null);"); + context.evaluateScript("if(typeof wbs == 'undefined') wbs = [];"); + let src = try String(contentsOfFile: "xlsx.full.min.js"); context.evaluateScript(src); if context != nil { return context!; } } catch { print(error.localizedDescription); } - throw SheetJS.SJSError.badJSContext; + throw SJSError.badJSContext; } func version() throws -> String { if let version = XLSX.objectForKeyedSubscript("version") { return version.toString(); } - throw SheetJS.SJSError.badJSContext; + throw SJSError.badJSContext; } - func readFileToCSV(file: String) throws -> String { - let data:String! = try String(contentsOfFile: file, encoding:String.Encoding.isoLatin1); - self.context.setObject(data, forKeyedSubscript:"payload" as (NSCopying & NSObjectProtocol)!); + func readFile(file: String) throws -> SJSWorkbook { + let data: String! = try String(contentsOfFile: file, encoding: String.Encoding.isoLatin1); + return try readBStr(data: data); + } - let src = [ - "var wb = XLSX.read(payload, {type:'binary'});", - "var ws = wb.Sheets[wb.SheetNames[0]];", - "var result = XLSX.utils.sheet_to_csv(ws);" - ].joined(separator: "\n"); - self.context.evaluateScript(src); - - return context.objectForKeyedSubscript("result").toString(); + func readBStr(data: String) throws -> SJSWorkbook { + context.setObject(data, forKeyedSubscript: "payload" as (NSCopying & NSObjectProtocol)!); + context.evaluateScript("var wb = XLSX.read(payload, {type:'binary'});"); + let wb: JSValue! = context.objectForKeyedSubscript("wb"); + if wb == nil { throw SJSError.badJSWorkbook; } + return try SJSWorkbook(ctx: context, wb: wb); } init() throws { do { self.context = try init_context(); - self.XLSX = context.objectForKeyedSubscript("XLSX"); - if self.XLSX == nil { - throw SheetJS.SJSError.badJSContext; - } + self.XLSX = self.context.objectForKeyedSubscript("XLSX"); + if self.XLSX == nil { throw SJSError.badJSContext; } } catch { print(error.localizedDescription); } } } - -let sheetjs = try SheetJS(); -try print(sheetjs.version()); -try print(sheetjs.readFileToCSV(file:"sheetjs.xlsx")); -try print(sheetjs.readFileToCSV(file:"sheetjs.xlsb")); -try print(sheetjs.readFileToCSV(file:"sheetjs.xls")); -try print(sheetjs.readFileToCSV(file:"sheetjs.xml.xls")); diff --git a/demos/altjs/com/sheetjs/JSHelper.java b/demos/altjs/com/sheetjs/JSHelper.java index c5807ba..4f27126 100644 --- a/demos/altjs/com/sheetjs/JSHelper.java +++ b/demos/altjs/com/sheetjs/JSHelper.java @@ -17,7 +17,7 @@ public class JSHelper { byte[] b = Files.readAllBytes(Paths.get(file)); System.out.println(b.length); StringBuilder sb = new StringBuilder(); - for(int i = 0; i < b.length; ++i) sb.append(Character.toString((char)b[i])); + for(int i = 0; i < b.length; ++i) sb.append(Character.toString((char)(b[i] < 0 ? b[i] + 256 : b[i]))); return sb.toString(); } diff --git a/demos/altjs/com/sheetjs/SheetJS.java b/demos/altjs/com/sheetjs/SheetJS.java index 73d4f66..a87a929 100644 --- a/demos/altjs/com/sheetjs/SheetJS.java +++ b/demos/altjs/com/sheetjs/SheetJS.java @@ -26,7 +26,7 @@ public class SheetJS { cx.evaluateString(scope, s, "", 1, null); /* eval library */ - s = new Scanner(SheetJS.class.getResourceAsStream("/dist/xlsx.full.min.js")).useDelimiter("\\Z").next(); + s = new Scanner(SheetJS.class.getResourceAsStream("/xlsx.full.min.js")).useDelimiter("\\Z").next(); //s = new Scanner(new File("xlsx.full.min.js")).useDelimiter("\\Z").next(); cx.evaluateString(scope, s, "", 1, null); @@ -41,14 +41,14 @@ public class SheetJS { String d = JSHelper.read_file(filename); /* options argument */ - NativeObject q = (NativeObject)this.cx.evaluateString(this.scope, "q = {'type':'binary'};", "", 2, null); + NativeObject q = (NativeObject)this.cx.evaluateString(this.scope, "q = {'type':'binary', 'WTF':1};", "", 2, null); /* set up function arguments */ - Object functionArgs[] = {d, q}; + Object args[] = {d, q}; /* call read -> wb workbook */ Function readfunc = (Function)JSHelper.get_object("XLSX.read",this.scope); - NativeObject wb = (NativeObject)readfunc.call(this.cx, this.scope, this.nXLSX, functionArgs); + NativeObject wb = (NativeObject)readfunc.call(this.cx, this.scope, this.nXLSX, args); return new SheetJSFile(wb, this); } diff --git a/demos/altjs/duktape.sh b/demos/altjs/duktape.sh index 58d7cdf..5aa1836 100755 --- a/demos/altjs/duktape.sh +++ b/demos/altjs/duktape.sh @@ -1,5 +1,5 @@ #!/bin/bash -DUKTAPE_VER=2.1.1 +DUKTAPE_VER=2.2.0 if [ ! -e duktape-$DUKTAPE_VER ]; then if [ ! -e duktape-$DUKTAPE_VER.tar ]; then if [ ! -e duktape-$DUKTAPE_VER.tar.xz ]; then @@ -14,4 +14,3 @@ for f in duktape.{c,h} duk_config.h; do cp duktape-$DUKTAPE_VER/src/$f . done - diff --git a/demos/altjs/main.swift b/demos/altjs/main.swift new file mode 100755 index 0000000..42462ec --- /dev/null +++ b/demos/altjs/main.swift @@ -0,0 +1,21 @@ +/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ + +let sheetjs = try SheetJSCore(); + +try print(sheetjs.version()); + +let filenames: [[String]] = [ + ["xlsx", "xlsx"], + ["xlsb", "xlsb"], + ["biff8.xls", "xls"], + ["xml.xls", "xlml"] +]; + +for fn in filenames { + let wb: SJSWorkbook = try sheetjs.readFile(file: "sheetjs." + fn[0]); + let ws: SJSWorksheet = try wb.getSheetAtIndex(idx: 0); + let csv: String = try ws.toCSV(); + print(csv); + let wbout: String = try wb.writeBStr(bookType: fn[1]); + try wbout.write(toFile: "sheetjsswift." + fn[0], atomically: false, encoding: String.Encoding.isoLatin1); +} diff --git a/demos/altjs/nashorn.js b/demos/altjs/nashorn.js index adb9119..a17fa13 100644 --- a/demos/altjs/nashorn.js +++ b/demos/altjs/nashorn.js @@ -1,29 +1,36 @@ #!/usr/bin/env jjs /* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ -/* read file */ -var path = java.nio.file.Paths.get('sheetjs.xlsx'); -var fileArray = java.nio.file.Files.readAllBytes(path); - -/* convert to plain JS array */ -function b2a(b) { - var out = new Array(b.length); - for(var i = 0; i < out.length; i++) out[i] = b[i]; - return out; -} -var u8a = b2a(fileArray); /* load module */ -load('./jvm-npm.js'); -JSZip = require('../../jszip.js'); -cptable = require('../../dist/cpexcel.js'); -XLSX = require('../../xlsx.js'); +var global = (function(){ return this; }).call(null); +load('xlsx.full.min.js'); -/* read file */ -var wb = XLSX.read(u8a, {type:"array"}); +/* helper to convert byte array to plain JS array */ +function b2a(b) { + var out = new Array(b.length); + for(var i = 0; i < out.length; i++) out[i] = (b[i] < 0 ? b[i] + 256 : b[i]); + return out; +} -/* get first worksheet */ -var ws = wb.Sheets[wb.SheetNames[0]]; -var js = XLSX.utils.sheet_to_json(ws, {header:1}); +function process_file(path) { + java.lang.System.out.println(path); -/* print out every line */ -js.forEach(function(l) { java.lang.System.out.println(JSON.stringify(l)); }); + /* read file */ + var path = java.nio.file.Paths.get(path); + var bytes = java.nio.file.Files.readAllBytes(path); + var u8a = b2a(bytes); + + /* read data */ + var wb = XLSX.read(u8a, {type:"array"}); + + /* get first worksheet as an array of arrays */ + var ws = wb.Sheets[wb.SheetNames[0]]; + var js = XLSX.utils.sheet_to_json(ws, {header:1}); + + /* print out every line */ + js.forEach(function(l) { java.lang.System.out.println(JSON.stringify(l)); }); +} + +process_file('sheetjs.xlsx'); +process_file('sheetjs.xlsb'); +process_file('sheetjs.biff8.xls'); diff --git a/demos/altjs/sheetjs.duk.c b/demos/altjs/sheetjs.duk.c index 951058a..490f358 100644 --- a/demos/altjs/sheetjs.duk.c +++ b/demos/altjs/sheetjs.duk.c @@ -66,7 +66,7 @@ int main(int argc, char *argv[]) { DOIT("var global = (function(){ return this; }).call(null);"); /* load library */ - res = eval_file(ctx, "xlsx.duktape.js"); + res = eval_file(ctx, "xlsx.full.min.js"); if(res != 0) FAIL("library load") /* get version string */ @@ -75,11 +75,12 @@ int main(int argc, char *argv[]) { duk_pop(ctx); /* read file */ - res = load_file(ctx, "sheetjs.xlsx", "buf"); - if(res != 0) FAIL("load sheetjs.xlsx") +#define INFILE "sheetjs.xlsx" + res = load_file(ctx, INFILE, "buf"); + if(res != 0) FAIL("load " INFILE) /* parse workbook */ - DOIT("wb = XLSX.read(buf, {type:'buffer'});"); + DOIT("wb = XLSX.read(buf, {type:'buffer', cellNF:true});"); DOIT("ws = wb.Sheets[wb.SheetNames[0]]"); /* print CSV */ @@ -91,9 +92,15 @@ int main(int argc, char *argv[]) { DOIT("ws['A1'].v = 3; delete ws['A1'].w;"); /* write file */ - DOIT("newbuf = XLSX.write(wb, {type:'buffer', bookType:'xlsx'})"); - res = save_file(ctx, "sheetjsw.xlsx", "newbuf"); - if(res != 0) FAIL("save sheetjsw.xlsx") +#define WRITE_TYPE(BOOKTYPE) \ + DOIT("newbuf = (XLSX.write(wb, {type:'array', bookType:'" BOOKTYPE "'}));");\ + res = save_file(ctx, "sheetjsw." BOOKTYPE, "newbuf");\ + if(res != 0) FAIL("save sheetjsw." BOOKTYPE) + + WRITE_TYPE("xlsb") + WRITE_TYPE("xlsx") + WRITE_TYPE("xls") + WRITE_TYPE("csv") /* cleanup */ duk_destroy_heap(ctx); diff --git a/demos/oldie/README.md b/demos/oldie/README.md index 8ac5b38..6d7d802 100644 --- a/demos/oldie/README.md +++ b/demos/oldie/README.md @@ -2,10 +2,54 @@ Despite the efforts to deprecate the pertinent operating systems, IE is still very popular, required for various government and corporate websites throughout -the world. The modern download strategies are not available in older versions -of IE, but there are alternative approaches. +the world. The modern upload and download strategies are not available in older +versions of IE, but there are alternative approaches. -## Strategies + +## Upload Strategies + +#### IE10 and IE11 FileReader + +IE10 and IE11 support the standard HTML5 FileReader API: + +```js +function handle_fr(e) { + var files = e.target.files, f = files[0]; + var reader = new FileReader(); + var rABS = !!reader.readAsBinaryString; + reader.onload = function(e) { + var data = e.target.result; + if(!rABS) data = new Uint8Array(data); + var wb = XLSX.read(data, {type: rABS ? 'binary' : 'array'}); + process_wb(wb); + }; + if(rABS) reader.readAsBinaryString(f); else reader.readAsArrayBuffer(f); +} +input_dom_element.addEventListener('change', handle_fr, false); +``` + +#### ActiveX-based Upload + +Through the `Scripting.FileSystemObject` object model, a script in the VBScript +scripting language can read from an arbitrary path on the filesystem. The shim +includes a special `IE_LoadFile` function to read binary strings from file. This +should be called from a file input `onchange` event: + +```js +var input_dom_element = document.getElementById("file"); +function handle_ie() { + /* get data from selected file */ + var path = input_dom_element.value; + var bstr = IE_LoadFile(path); + /* read workbook */ + var wb = XLSX.read(bstr, {type:'binary'}); + /* DO SOMETHING WITH workbook HERE */ +} +input_dom_element.attachEvent('onchange', handle_ie); +``` + + +## Download Strategies #### IE10 and IE11 File API @@ -30,8 +74,11 @@ This approach can be triggered, but it requires the user to enable ActiveX. It is embedded as a strategy in `writeFile` and used only if the shim script is included in the page and the relevant features are enabled on the target system. + ## Demo +#### Download + The included demo starts from an array of arrays, generating an editable HTML table with `aoa_to_sheet` and adding it to the page: @@ -67,4 +114,20 @@ Downloadify.create(element_id, { }); ``` +The demo also includes an HTML file input element for updating the data table: + +```js +var ws = wb.Sheets[wb.SheetNames[0]]; +var html_string = XLSX.utils.sheet_to_html(ws, { id: "table", editable: true }); +document.getElementById("container").innerHTML = html_string; +``` + +The specific strategy is determined based on the presence of `IE_LoadFile`: + +```js +var handler = typeof IE_LoadFile !== 'undefined' ? handle_ie : handle_fr; +if(input_dom_element.attachEvent) input_dom_element.attachEvent('onchange', handler); +else input_dom_element.addEventListener('change', handler, false); +``` + [![Analytics](https://ga-beacon.appspot.com/UA-36810333-1/SheetJS/js-xlsx?pixel)](https://github.com/SheetJS/js-xlsx) diff --git a/demos/oldie/index.html b/demos/oldie/index.html index ab5bf10..b6d214f 100644 --- a/demos/oldie/index.html +++ b/demos/oldie/index.html @@ -3,7 +3,7 @@ -SheetJS JS-XLSX In-Browser HTML Table Export Demo +SheetJS JS-XLSX In-Browser HTML Table Demo '];r.cellXfs.forEach(function(e,r){var a=[];a.push(Je("NumberFormat",null,{"ss:Format":ye(A._table[e.numFmtId])}));t.push(Je("Style",a.join(""),{"ss:ID":"s"+(21+r)}))});return Je("Styles",t.join(""))}function bv(e){return Je("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+If(e.Ref,{r:0,c:0})})}function gv(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(Je("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(Je("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(Je("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("")}if(a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[t]){if(a.Workbook.Sheets[t].Hidden)n.push(Je("Visible",a.Workbook.Sheets[t].Hidden==1?"SheetHidden":"SheetVeryHidden",{}));else{for(var i=0;i")}}if(((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL)n.push("");if(e["!protect"]){n.push(Ze("ProtectContents","True"));if(e["!protect"].objects)n.push(Ze("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(Ze("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(Ze("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(Ze("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(r){if(e["!protect"][r[0]])n.push("<"+r[1]+"/>")})}if(n.length==0)return"";return Je("WorksheetOptions",n.join(""),{xmlns:tr.x})}function wv(e){return e.map(function(e){var r=Ne(e.t||"");var t=Je("ss:Data",r,{xmlns:"http://www.w3.org/TR/REC-html40"});return Je("Comment",t,{"ss:Author":e.a})}).join("")}function Sv(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var l={};if(e.f)l["ss:Formula"]="="+ye(If(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var o=nt(e.F.slice(r.length+1));l["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){l["ss:HRef"]=ye(e.l.Target);if(e.l.Tooltip)l["x:HRefScreenTip"]=ye(e.l.Tooltip)}if(t["!merges"]){var f=t["!merges"];for(var c=0;c!=f.length;++c){if(f[c].s.c!=s.c||f[c].s.r!=s.r)continue;if(f[c].e.c>f[c].s.c)l["ss:MergeAcross"]=f[c].e.c-f[c].s.c;if(f[c].e.r>f[c].s.r)l["ss:MergeDown"]=f[c].e.r-f[c].s.r}}var u="",h="";switch(e.t){case"z":return"";case"n":u="Number";h=String(e.v);break;case"b":u="Boolean";h=e.v?"1":"0";break;case"e":u="Error";h=Ht[e.v];break;case"d":u="DateTime";h=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||A._table[14];break;case"s":u="String";h=Oe(e.v||"");break;}var d=Tu(a.cellXfs,e,a);l["ss:StyleID"]="s"+(21+d);l["ss:Index"]=s.c+1;var v=e.v!=null?h:"";var p=''+v+"";if((e.c||[]).length>0)p+=wv(e.c);return Je("Cell",p,l)}function Cv(e,r){var t='"}function _v(e,r,t,a){if(!e["!ref"])return"";var n=ot(e["!ref"]);var i=e["!merges"]||[],s=0;var l=[];if(e["!cols"])e["!cols"].forEach(function(e,r){Vl(e);var t=!!e.width;var a=_u(r,e);var n={"ss:Index":r+1};if(t)n["ss:Width"]=Ll(a.width);if(e.hidden)n["ss:Hidden"]="1";l.push(Je("Column",null,n))});var o=Array.isArray(e);for(var f=n.s.r;f<=n.e.r;++f){var c=[Cv(f,(e["!rows"]||[])[f])];for(var u=n.s.c;u<=n.e.c;++u){var h=false;for(s=0;s!=i.length;++s){if(i[s].s.c>u)continue;if(i[s].s.r>f)continue;if(i[s].e.c");if(c.length>2)l.push(c.join(""))}return l.join("")}function Bv(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?Ev(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?_v(i,r,e,t):"";if(s.length>0)a.push(""+s+"
");a.push(kv(i,r,e,t));return a.join("")}function Tv(e,r){if(!r)r={};if(!e.SSF)e.SSF=A.get_table();if(e.SSF){y(A);A.load_table(e.SSF);r.revssf=G(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];Tu(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(vv(e,r));t.push(pv(e,r));t.push("");t.push("");for(var a=0;a40)return r;t.l-=4;r.Reserved1=t._R(0,"lpstr-ansi");if(t.length-t.l<=4)return r;a=t._R(4);if(a!==1907505652)return r;r.UnicodeClipboardFormat=Yt(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}function Iv(e,r,t,a){var n=t;var i=[];var s=r.slice(r.l,r.l+n);if(a&&a.enc&&a.enc.insitu)switch(e.n){case"BOF":;case"FilePass":;case"FileLock":;case"InterfaceHdr":;case"RRDInfo":;case"RRDHead":;case"UsrExcl":break;default:if(s.length===0)break;a.enc.insitu(s);}i.push(s);r.l+=n;var l=Lv[Tr(r,r.l)];var o=0;while(l!=null&&l.n.slice(0,8)==="Continue"){n=Tr(r,r.l+2);o=r.l+4;if(l.n=="ContinueFrt")o+=4;else if(l.n.slice(0,11)=="ContinueFrt")o+=12;i.push(r.slice(o,r.l+4+n));r.l+=4+n;l=Lv[Tr(r,r.l)]}var f=T(i);Lr(f,0);var c=0;f.lens=[];for(var u=0;u1)return;if(!C)return;if(t.cellStyles&&r.XF&&r.XF.data)y(e,r,t);delete r.ixfe;delete r.XF;h=e;d=it(e);if(s.s){if(e.rs.e.r)s.e.r=e.r+1;if(e.c+1>s.e.c)s.e.c=e.c+1}if(t.cellFormula&&r.f){for(var a=0;ae.c||k[a][0].s.r>e.r)continue;if(k[a][0].e.c=t.sheetRows)C=false;else{if(t.dense){if(!n[e.r])n[e.r]=[];n[e.r][e.c]=r}else n[d]=r}};var D={enc:false,sbcch:0,snames:[],sharedf:E,arrayf:k,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,cellStyles:!!r&&!!r.cellStyles,WTF:!!r&&!!r.wtf};if(r.password)D.password=r.password;var F;var O=[];var P=[];var N=[],L=[];var M=0,U=0;var H=false;var W=[];W.SheetNames=D.snames;W.sharedf=D.sharedf;W.arrayf=D.arrayf;W.names=[];W.XTI=[];var z="";var X=0;var G=0,j=[];var K=[];var Y;D.codepage=1200;f(1200);var $=false;while(e.l0)Y.Sheet=re.itab-1;W.names.push(Y);if(!W[0]){W[0]=[];W[0].XTI=[]}W[W.length-1].push(re);if(re.Name=="_xlnm._FilterDatabase"&&re.itab>0)if(re.rgce&&re.rgce[0]&&re.rgce[0][0]&&re.rgce[0][0][0]=="PtgArea3d")K[re.itab-1]={ref:lt(re.rgce[0][0][1][2])};break;case"ExternCount":D.ExternCount=re;break;case"ExternSheet":if(W.length==0){W[0]=[];W[0].XTI=[]}W[W.length-1].XTI=W[W.length-1].XTI.concat(re);W.XTI=W.XTI.concat(re);break;case"NameCmt":if(D.biff<8)break;if(Y!=null)Y.Comment=re[1];break;case"Protect":n["!protect"]=re;break;case"Password":if(re!==0&&D.WTF)console.error("Password verifier: "+re);break;case"Prot4Rev":;case"Prot4RevPass":break;case"BoundSheet8":{i[re.pos]=re;D.snames.push(re.name)}break;case"EOF":{if(--X)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=lt(s);s.e.r++;s.e.c++}if(O.length>0)n["!merges"]=O;if(P.length>0)n["!objects"]=P;if(N.length>0)n["!cols"]=N;if(L.length>0)n["!rows"]=L;T.Sheets.push(x)}if(c==="")u=n;else a[c]=n;n=r.dense?[]:{}}break;case"BOF":{if(D.biff===8)D.biff={9:2,521:3,1033:4}[Q]||{1280:5,1536:8,2:2,7:2}[re.BIFFVer]||8;if(X++)break;C=true;n=r.dense?[]:{};if(D.biff<8&&!$){$=true;f(D.codepage=r.codepage||1252)}if(D.biff<5){if(c==="")c="Sheet1";s={s:{r:0,c:0},e:{r:0,c:0}};var ae={pos:e.l-J,name:c};i[ae.pos]=ae;D.snames.push(c)}else c=(i[Z]||{name:""}).name;if(re.dt==32)n["!type"]="chart";if(re.dt==64)n["!type"]="macro";O=[];P=[];D.arrayf=k=[];N=[];L=[];M=U=0;H=false;x={Hidden:(i[Z]||{hs:0}).hs,name:c}}break;case"Number":;case"BIFF2NUM":;case"BIFF2INT":{if(n["!type"]=="chart")if(r.dense?(n[re.r]||[])[re.c]:n[it({c:re.c,r:re.r})])++re.c;w={ixfe:re.ixfe,XF:_[re.ixfe]||{},v:re.val,t:"n"};if(G>0)w.z=j[w.ixfe>>8&31];Av(w,r,t.opts.Date1904);R({c:re.c,r:re.r},w,r)}break;case"BoolErr":{w={ixfe:re.ixfe,XF:_[re.ixfe],v:re.val,t:re.t};if(G>0)w.z=j[w.ixfe>>8&31];Av(w,r,t.opts.Date1904);R({c:re.c,r:re.r},w,r)}break;case"RK":{w={ixfe:re.ixfe,XF:_[re.ixfe],v:re.rknum,t:"n"};if(G>0)w.z=j[w.ixfe>>8&31];Av(w,r,t.opts.Date1904);R({c:re.c,r:re.r},w,r)}break;case"MulRk":{for(var ne=re.c;ne<=re.C;++ne){var ie=re.rkrec[ne-re.c][0];w={ixfe:ie,XF:_[ie],v:re.rkrec[ne-re.c][1],t:"n"};if(G>0)w.z=j[w.ixfe>>8&31];Av(w,r,t.opts.Date1904);R({c:ne,r:re.r},w,r)}}break;case"Formula":{if(re.val=="String"){l=re;break}w=yv(re.val,re.cell.ixfe,re.tt);w.XF=_[w.ixfe];if(r.cellFormula){var se=re.formula;if(se&&se[0]&&se[0][0]&&se[0][0][0]=="PtgExp"){var le=se[0][0][1][0],oe=se[0][0][1][1];var fe=it({r:le,c:oe});if(E[fe])w.f=""+ru(re.formula,s,re.cell,W,D);else w.F=((r.dense?(n[le]||[])[oe]:n[fe])||{}).F}else w.f=""+ru(re.formula,s,re.cell,W,D)}if(G>0)w.z=j[w.ixfe>>8&31];Av(w,r,t.opts.Date1904);R(re.cell,w,r);l=re}break;case"String":{if(l){l.val=re;w=yv(re,l.cell.ixfe,"s");w.XF=_[w.ixfe];if(r.cellFormula){w.f=""+ru(l.formula,s,l.cell,W,D)}if(G>0)w.z=j[w.ixfe>>8&31];Av(w,r,t.opts.Date1904);R(l.cell,w,r);l=null}else throw new Error("String record expects Formula")}break;case"Array":{k.push(re);var ce=it(re[0].s);v=r.dense?(n[re[0].s.r]||[])[re[0].s.c]:n[ce];if(r.cellFormula&&v){if(!l)break;if(!ce||!v)break;v.f=""+ru(re[1],s,re[0],W,D);v.F=lt(re[0])}}break;case"ShrFmla":{if(!C)break;if(!r.cellFormula)break;if(d){if(!l)break;E[it(l.cell)]=re[0];v=r.dense?(n[l.cell.r]||[])[l.cell.c]:n[it(l.cell)];(v||{}).f=""+ru(re[0],s,h,W,D)}}break;case"LabelSst":w=yv(o[re.isst].t,re.ixfe,"s");w.XF=_[w.ixfe];if(G>0)w.z=j[w.ixfe>>8&31];Av(w,r,t.opts.Date1904);R({c:re.c,r:re.r},w,r);break;case"Blank":if(r.sheetStubs){w={ixfe:re.ixfe,XF:_[re.ixfe],t:"z"};if(G>0)w.z=j[w.ixfe>>8&31];Av(w,r,t.opts.Date1904);R({c:re.c,r:re.r},w,r)}break;case"MulBlank":if(r.sheetStubs){for(var ue=re.c;ue<=re.C;++ue){var he=re.ixfe[ue-re.c];w={ixfe:he,XF:_[he],t:"z"};if(G>0)w.z=j[w.ixfe>>8&31];Av(w,r,t.opts.Date1904);R({c:ue,r:re.r},w,r)}}break;case"RString":;case"Label":;case"BIFF2STR":w=yv(re.val,re.ixfe,"s");w.XF=_[w.ixfe];if(G>0)w.z=j[w.ixfe>>8&31];Av(w,r,t.opts.Date1904);R({c:re.c,r:re.r},w,r);break;case"Dimensions":{if(X===1)s=re}break;case"SST":{o=re}break;case"Format":{if(D.biff==4){j[G++]=re[1];for(var de=0;de=163)A.load(re[1],G+163)}else A.load(re[1],re[0])}break;case"BIFF2FORMAT":{j[G++]=re;for(var ve=0;ve=163)A.load(re,G+163)}break;case"MergeCells":O=O.concat(re);break;case"Obj":P[re.cmo[0]]=D.lastobj=re;break;case"TxO":D.lastobj.TxO=re;break;case"ImData":D.lastobj.ImData=re;break;case"HLink":{for(g=re[0].s.r;g<=re[0].e.r;++g)for(b=re[0].s.c;b<=re[0].e.c;++b){v=r.dense?(n[g]||[])[b]:n[it({c:b,r:g})];if(v)v.l=re[1]}}break;case"HLinkTooltip":{for(g=re[0].s.r;g<=re[0].e.r;++g)for(b=re[0].s.c;b<=re[0].e.c;++b){v=r.dense?(n[g]||[])[b]:n[it({c:b,r:g})];if(v)v.l.Tooltip=re[1]}}break;case"Note":{if(D.biff<=5&&D.biff>=2)break;v=r.dense?(n[re[0].r]||[])[re[0].c]:n[it(re[0])];var pe=P[re[2]];if(!v)break;if(!v.c)v.c=[];p={a:re[1],t:pe.TxO.t};v.c.push(p)}break;default:switch(q.n){case"ClrtClient":break;case"XFExt":Qo(_[re.ixfe],re.ext);break;case"DefColWidth":M=re;break;case"DefaultRowHeight":U=re[1];break;case"ColInfo":{if(!D.cellStyles)break;while(re.e>=re.s){N[re.e--]={width:re.w/256};if(!H){H=true;Wl(re.w/256)}Vl(N[re.e+1])}}break;case"Row":{var me={};if(re.level!=null){L[re.r]=me;me.level=re.level}if(re.hidden){L[re.r]=me;me.hidden=true}if(re.hpt){L[re.r]=me;me.hpt=re.hpt;me.hpx=jl(re.hpt)}}break;case"LeftMargin":;case"RightMargin":;case"TopMargin":;case"BottomMargin":if(!n["!margins"])Bu(n["!margins"]={});n["!margins"][te.slice(0,-6).toLowerCase()]=re;break;case"Setup":if(!n["!margins"])Bu(n["!margins"]={});n["!margins"].header=re.header;n["!margins"].footer=re.footer;break;case"Window2":if(re.RTL)T.Views[0].RTL=true;break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"GCW":break;case"LHRecord":break;case"DBCell":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":break;case"SXString":break;case"Sync":break;case"Addin":break;case"SXDI":break;case"SXLI":break;case"SXEx":break;case"QsiSXTag":break;case"Selection":break;case"Feat":break;case"FeatHdr":;case"FeatHdr11":break;case"Feature11":;case"Feature12":;case"List12":break;case"Country":S=re;break;case"RecalcId":break;case"DxGCol":break;case"Fbi":;case"Fbi2":;case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":B=re;break;case"Theme":F=re;break;case"ScenarioProtect":break;case"ObjProtect":break;case"CondFmt12":break;case"Table":break;case"TableStyles":break;case"TableStyle":break;case"TableStyleElement":break;case"SXStreamID":break;case"SXVS":break;case"DConRef":break;case"SXAddl":break;case"DConBin":break;case"DConName":break;case"SXPI":break;case"SxFormat":break;case"SxSelect":break;case"SxRule":break;case"SxFilt":break;case"SxItm":break;case"SxDXF":break;case"ScenMan":break;case"DCon":break;case"CellWatch":break;case"PrintRowCol":break;case"PrintGrid":break;case"PrintSize":break;case"XCT":break;case"CRN":break;case"Scl":{}break;case"SheetExt":{}break;case"SheetExtOptional":{}break;case"ObNoMacros":{}break;case"ObProj":{}break;case"CodeName":{if(!c)T.WBProps.CodeName=re||"ThisWorkbook";else x.CodeName=re||x.name}break;case"GUIDTypeLib":{}break;case"WOpt":break;case"PhoneticInfo":break;case"OleObjectSize":break;case"DXF":;case"DXFN":;case"DXFN12":;case"DXFN12List":;case"DXFN12NoCB":break;case"Dv":;case"DVal":break;case"BRAI":;case"Series":;case"SeriesText":break;case"DConn":break;case"DbOrParamQry":break;case"DBQueryExt":break;case"OleDbConn":break;case"ExtString":break;case"IFmtRecord":break;case"CondFmt":;case"CF":;case"CF12":;case"CFEx":break;case"Excel9File":break;case"Units":break;case"InterfaceHdr":;case"Mms":;case"InterfaceEnd":;case"DSF":break;case"BuiltInFnGroupCount":break;case"Window1":;case"HideObj":;case"GridSet":;case"Guts":;case"UserBView":;case"UserSViewBegin":;case"UserSViewEnd":;case"Pane":break;default:switch(q.n){case"Dat":;case"Begin":;case"End":;case"StartBlock":;case"EndBlock":;case"Frame":;case"Area":;case"Axis":;case"AxisLine":;case"Tick":break;case"AxesUsed":;case"CrtLayout12":;case"CrtLayout12A":;case"CrtLink":;case"CrtLine":;case"CrtMlFrt":;case"CrtMlFrtContinue":break;case"LineFormat":;case"AreaFormat":;case"Chart":;case"Chart3d":;case"Chart3DBarShape":;case"ChartFormat":;case"ChartFrtInfo":break;case"PlotArea":;case"PlotGrowth":break;case"SeriesList":;case"SerParent":;case"SerAuxTrend":break;case"DataFormat":;case"SerToCrt":;case"FontX":break;case"CatSerRange":;case"AxcExt":;case"SerFmt":break;case"ShtProps":break;case"DefaultText":;case"Text":;case"CatLab":break;case"DataLabExtContents":break;case"Legend":;case"LegendException":break;case"Pie":;case"Scatter":break;case"PieFormat":;case"MarkerFormat":break;case"StartObject":;case"EndObject":break;case"AlRuns":;case"ObjectLink":break;case"SIIndex":break;case"AttachedLabel":;case"YMult":break;case"Line":;case"Bar":break;case"Surf":break;case"AxisParent":break;case"Pos":break;case"ValueRange":break;case"SXViewEx9":break;case"SXViewLink":break;case"PivotChartBits":break;case"SBaseRef":break;case"TextPropsStream":break;case"LnExt":break;case"MkrExt":break;case"CrtCoopt":break;case"Qsi":;case"Qsif":;case"Qsir":;case"QsiSXTag":break;case"TxtQry":break;case"FilterMode":break;case"AutoFilter":;case"AutoFilterInfo":break;case"AutoFilter12":break;case"DropDownObjIds":break;case"Sort":break;case"SortData":break;case"ShapePropsStream":break;case"MsoDrawing":;case"MsoDrawingGroup":;case"MsoDrawingSelection":break;case"WebPub":;case"AutoWebPub":break;case"HeaderFooter":;case"HFPicture":;case"PLV":;case"HorizontalPageBreaks":;case"VerticalPageBreaks":break;case"Backup":;case"CompressPictures":;case"Compat12":break;case"Continue":;case"ContinueFrt12":break;case"FrtFontList":;case"FrtWrapper":break;default:switch(q.n){case"TabIdConf":;case"Radar":;case"RadarArea":;case"DropBar":;case"Intl":;case"CoordList":;case"SerAuxErrBar":break;case"BIFF2FONTCLR":;case"BIFF2FMTCNT":;case"BIFF2FONTXTRA":break;case"BIFF2XF":;case"BIFF3XF":;case"BIFF4XF":break;case"BIFF4FMTCNT":;case"BIFF2ROW":;case"BIFF2WINDOW2":break;case"SCENARIO":;case"DConBin":;case"PicF":;case"DataLabExt":;case"Lel":;case"BopPop":;case"BopPopCustom":;case"RealTimeData":;case"Name":break;case"LHNGraph":;case"FnGroupName":;case"AddMenu":;case"LPr":break;case"ListObj":;case"ListField":break;case"RRSort":break;case"BigName":break;case"ToolbarHdr":;case"ToolbarEnd":break;case"DDEObjName":break;case"FRTArchId$":break;default:if(r.WTF)throw"Unrecognized Record "+q.n;};};};}}else e.l+=J}t.SheetNames=V(i).sort(function(e,r){return Number(e)-Number(r)}).map(function(e){return i[e].name});if(!r.bookSheets)t.Sheets=a;if(t.Sheets)K.forEach(function(e,r){t.Sheets[t.SheetNames[r]]["!autofilter"]=e});t.Preamble=u;t.Strings=o;t.SSF=A.get_table();if(D.enc)t.Encryption=D.enc;if(F)t.Themes=F;t.Metadata={};if(S!==undefined)t.Metadata.Country=S;if(W.names.length>0)T.Names=W.names;t.Workbook=T;return t}function Dv(e,r,t){var a=N.find(e,"!DocumentSummaryInformation");if(a)try{var n=bn(a,la);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var l=N.find(e,"!SummaryInformation");if(l)try{var o=bn(l,oa);for(var f in o)if(r[f]==null)r[f]=o[f]}catch(s){if(t.WTF)throw s}}function Fv(e,r){if(!r)r={};wp(r);c();if(r.codepage)l(r.codepage);var t,a;if(e.FullPaths){if(N.find(e,"/encryption"))throw new Error("File is password-protected");t=N.find(e,"!CompObj");a=N.find(e,"/Workbook")||N.find(e,"/Book")}else{switch(r.type){case"base64":e=w(g.decode(e));break;case"binary":e=w(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}Lr(e,0);a={content:e}}var n;var i;if(t)xv(t);if(r.bookProps&&!r.bookSheets)n={};else{var s=E?"buffer":"array";if(a&&a.content)n=Rv(a.content,r);else if((i=N.find(e,"PerfectOffice_MAIN"))&&i.content)n=Ws.to_workbook(i.content,(r.type=s,r));else if((i=N.find(e,"NativeContent_MAIN"))&&i.content)n=Ws.to_workbook(i.content,(r.type=s,r));else throw new Error("Cannot find Workbook stream");if(r.bookVBA&&e.FullPaths&&N.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=Ef(e)}var o={};if(e.FullPaths)Dv(e,o,r);n.Props=n.Custprops=o;if(r.bookFiles)n.cfb=e;return n}function Ov(e,r){var t=r||{};var a=N.utils.cfb_new({root:"R"});var n="/Workbook";switch(t.bookType||"xls"){case"xls":t.bookType="biff8";case"xla":if(!t.bookType)t.bookType="xla";case"biff8":n="/Workbook";t.biff=8;break;case"biff5":n="/Book";t.biff=5;break;default:throw new Error("invalid type "+t.bookType+" for XLS CFB");}N.utils.cfb_add(a,n,qv(e,t));if(t.biff==8&&e.vbaraw)kf(a,N.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var Pv={0:{n:"BrtRowHdr",f:ah},1:{n:"BrtCellBlank",f:uh},2:{n:"BrtCellRk",f:kh},3:{n:"BrtCellError",f:ph},4:{n:"BrtCellBool",f:dh},5:{n:"BrtCellReal",f:gh},6:{n:"BrtCellSt",f:Sh},7:{n:"BrtCellIsst",f:mh},8:{n:"BrtFmlaString",f:xh},9:{n:"BrtFmlaNum",f:Th},10:{n:"BrtFmlaBool",f:_h},11:{n:"BrtFmlaError",f:Bh},16:{n:"BrtFRTArchID$",f:Id},19:{n:"BrtSSTItem",f:Et},20:{n:"BrtPCDIMissing"},21:{n:"BrtPCDINumber"},22:{n:"BrtPCDIBoolean"},23:{n:"BrtPCDIError"},24:{n:"BrtPCDIString"},25:{n:"BrtPCDIDatetime"},26:{n:"BrtPCDIIndex"},27:{n:"BrtPCDIAMissing"},28:{n:"BrtPCDIANumber"},29:{n:"BrtPCDIABoolean"},30:{n:"BrtPCDIAError"},31:{n:"BrtPCDIAString"},32:{n:"BrtPCDIADatetime"},33:{n:"BrtPCRRecord"},34:{n:"BrtPCRRecordDt"},35:{n:"BrtFRTBegin"},36:{n:"BrtFRTEnd"},37:{n:"BrtACBegin"},38:{n:"BrtACEnd"},39:{n:"BrtName",f:Ad},40:{n:"BrtIndexRowBlock"},42:{n:"BrtIndexBlock"},43:{n:"BrtFont",f:oo},44:{n:"BrtFmt",f:so},45:{n:"BrtFill",f:ho},46:{n:"BrtBorder",f:go},47:{n:"BrtXF",f:po},48:{n:"BrtStyle"},49:{n:"BrtCellMeta"},50:{n:"BrtValueMeta"},51:{n:"BrtMdb"},52:{n:"BrtBeginFmd"},53:{n:"BrtEndFmd"},54:{n:"BrtBeginMdx"},55:{n:"BrtEndMdx"},56:{n:"BrtBeginMdxTuple"},57:{n:"BrtEndMdxTuple"},58:{n:"BrtMdxMbrIstr"},59:{n:"BrtStr"},60:{n:"BrtColInfo",f:Es},62:{n:"BrtCellRString"},63:{n:"BrtCalcChainItem$",f:qo},64:{n:"BrtDVal"},65:{n:"BrtSxvcellNum"},66:{n:"BrtSxvcellStr"},67:{n:"BrtSxvcellBool"},68:{n:"BrtSxvcellErr"},69:{n:"BrtSxvcellDate"},70:{n:"BrtSxvcellNil"},128:{n:"BrtFileVersion"},129:{n:"BrtBeginSheet"},130:{n:"BrtEndSheet"},131:{n:"BrtBeginBook",f:Mr,p:0},132:{n:"BrtEndBook"},133:{n:"BrtBeginWsViews"},134:{n:"BrtEndWsViews"},135:{n:"BrtBeginBookViews"},136:{n:"BrtEndBookViews"},137:{n:"BrtBeginWsView",f:Uh},138:{n:"BrtEndWsView"},139:{n:"BrtBeginCsViews"},140:{n:"BrtEndCsViews"},141:{n:"BrtBeginCsView"},142:{n:"BrtEndCsView"},143:{n:"BrtBeginBundleShs"},144:{n:"BrtEndBundleShs"},145:{n:"BrtBeginSheetData"},146:{n:"BrtEndSheetData"},147:{n:"BrtWsProp",f:fh},148:{n:"BrtWsDim",f:sh,p:16},151:{n:"BrtPane"},152:{n:"BrtSel"},153:{n:"BrtWbProp",f:Td},154:{n:"BrtWbFactoid"},155:{n:"BrtFileRecover"},156:{n:"BrtBundleSh",f:_d},157:{n:"BrtCalcProp"},158:{n:"BrtBookView"},159:{n:"BrtBeginSst",f:qs},160:{n:"BrtEndSst"},161:{n:"BrtBeginAFilter",f:Nt},162:{n:"BrtEndAFilter"},163:{n:"BrtBeginFilterColumn"},164:{n:"BrtEndFilterColumn"},165:{n:"BrtBeginFilters"},166:{n:"BrtEndFilters"},167:{n:"BrtFilter"},168:{n:"BrtColorFilter"},169:{n:"BrtIconFilter"},170:{n:"BrtTop10Filter"},171:{n:"BrtDynamicFilter"},172:{n:"BrtBeginCustomFilters"},173:{n:"BrtEndCustomFilters"},174:{n:"BrtCustomFilter"},175:{n:"BrtAFilterDateGroupItem"},176:{n:"BrtMergeCell",f:Ih},177:{n:"BrtBeginMergeCells"},178:{n:"BrtEndMergeCells"},179:{n:"BrtBeginPivotCacheDef"},180:{n:"BrtEndPivotCacheDef"},181:{n:"BrtBeginPCDFields"},182:{n:"BrtEndPCDFields"},183:{n:"BrtBeginPCDField"},184:{n:"BrtEndPCDField"},185:{n:"BrtBeginPCDSource"},186:{n:"BrtEndPCDSource"},187:{n:"BrtBeginPCDSRange"},188:{n:"BrtEndPCDSRange"},189:{n:"BrtBeginPCDFAtbl"},190:{n:"BrtEndPCDFAtbl"},191:{n:"BrtBeginPCDIRun"},192:{n:"BrtEndPCDIRun"},193:{n:"BrtBeginPivotCacheRecords"},194:{n:"BrtEndPivotCacheRecords"},195:{n:"BrtBeginPCDHierarchies"},196:{n:"BrtEndPCDHierarchies"},197:{n:"BrtBeginPCDHierarchy"},198:{n:"BrtEndPCDHierarchy"},199:{n:"BrtBeginPCDHFieldsUsage"},200:{n:"BrtEndPCDHFieldsUsage"},201:{n:"BrtBeginExtConnection"},202:{n:"BrtEndExtConnection"},203:{n:"BrtBeginECDbProps"},204:{n:"BrtEndECDbProps"},205:{n:"BrtBeginECOlapProps"},206:{n:"BrtEndECOlapProps"},207:{n:"BrtBeginPCDSConsol"},208:{n:"BrtEndPCDSConsol"},209:{n:"BrtBeginPCDSCPages"},210:{n:"BrtEndPCDSCPages"},211:{n:"BrtBeginPCDSCPage"},212:{n:"BrtEndPCDSCPage"},213:{n:"BrtBeginPCDSCPItem"},214:{n:"BrtEndPCDSCPItem"},215:{n:"BrtBeginPCDSCSets"},216:{n:"BrtEndPCDSCSets"},217:{n:"BrtBeginPCDSCSet"},218:{n:"BrtEndPCDSCSet"},219:{n:"BrtBeginPCDFGroup"},220:{n:"BrtEndPCDFGroup"},221:{n:"BrtBeginPCDFGItems"},222:{n:"BrtEndPCDFGItems"},223:{n:"BrtBeginPCDFGRange"},224:{n:"BrtEndPCDFGRange"},225:{n:"BrtBeginPCDFGDiscrete"},226:{n:"BrtEndPCDFGDiscrete"},227:{n:"BrtBeginPCDSDTupleCache"},228:{n:"BrtEndPCDSDTupleCache"},229:{n:"BrtBeginPCDSDTCEntries"},230:{n:"BrtEndPCDSDTCEntries"},231:{n:"BrtBeginPCDSDTCEMembers"},232:{n:"BrtEndPCDSDTCEMembers"},233:{n:"BrtBeginPCDSDTCEMember"},234:{n:"BrtEndPCDSDTCEMember"},235:{n:"BrtBeginPCDSDTCQueries"},236:{n:"BrtEndPCDSDTCQueries"},237:{n:"BrtBeginPCDSDTCQuery"},238:{n:"BrtEndPCDSDTCQuery"},239:{n:"BrtBeginPCDSDTCSets"},240:{n:"BrtEndPCDSDTCSets"},241:{n:"BrtBeginPCDSDTCSet"},242:{n:"BrtEndPCDSDTCSet"},243:{n:"BrtBeginPCDCalcItems"},244:{n:"BrtEndPCDCalcItems"},245:{n:"BrtBeginPCDCalcItem"},246:{n:"BrtEndPCDCalcItem"},247:{n:"BrtBeginPRule"},248:{n:"BrtEndPRule"},249:{n:"BrtBeginPRFilters"},250:{n:"BrtEndPRFilters"},251:{n:"BrtBeginPRFilter"},252:{n:"BrtEndPRFilter"},253:{n:"BrtBeginPNames"},254:{n:"BrtEndPNames"},255:{n:"BrtBeginPName"},256:{n:"BrtEndPName"},257:{n:"BrtBeginPNPairs"},258:{n:"BrtEndPNPairs"},259:{n:"BrtBeginPNPair"},260:{n:"BrtEndPNPair"},261:{n:"BrtBeginECWebProps"},262:{n:"BrtEndECWebProps"},263:{n:"BrtBeginEcWpTables"},264:{n:"BrtEndECWPTables"},265:{n:"BrtBeginECParams"},266:{n:"BrtEndECParams"},267:{n:"BrtBeginECParam"},268:{n:"BrtEndECParam" -},269:{n:"BrtBeginPCDKPIs"},270:{n:"BrtEndPCDKPIs"},271:{n:"BrtBeginPCDKPI"},272:{n:"BrtEndPCDKPI"},273:{n:"BrtBeginDims"},274:{n:"BrtEndDims"},275:{n:"BrtBeginDim"},276:{n:"BrtEndDim"},277:{n:"BrtIndexPartEnd"},278:{n:"BrtBeginStyleSheet"},279:{n:"BrtEndStyleSheet"},280:{n:"BrtBeginSXView"},281:{n:"BrtEndSXVI"},282:{n:"BrtBeginSXVI"},283:{n:"BrtBeginSXVIs"},284:{n:"BrtEndSXVIs"},285:{n:"BrtBeginSXVD"},286:{n:"BrtEndSXVD"},287:{n:"BrtBeginSXVDs"},288:{n:"BrtEndSXVDs"},289:{n:"BrtBeginSXPI"},290:{n:"BrtEndSXPI"},291:{n:"BrtBeginSXPIs"},292:{n:"BrtEndSXPIs"},293:{n:"BrtBeginSXDI"},294:{n:"BrtEndSXDI"},295:{n:"BrtBeginSXDIs"},296:{n:"BrtEndSXDIs"},297:{n:"BrtBeginSXLI"},298:{n:"BrtEndSXLI"},299:{n:"BrtBeginSXLIRws"},300:{n:"BrtEndSXLIRws"},301:{n:"BrtBeginSXLICols"},302:{n:"BrtEndSXLICols"},303:{n:"BrtBeginSXFormat"},304:{n:"BrtEndSXFormat"},305:{n:"BrtBeginSXFormats"},306:{n:"BrtEndSxFormats"},307:{n:"BrtBeginSxSelect"},308:{n:"BrtEndSxSelect"},309:{n:"BrtBeginISXVDRws"},310:{n:"BrtEndISXVDRws"},311:{n:"BrtBeginISXVDCols"},312:{n:"BrtEndISXVDCols"},313:{n:"BrtEndSXLocation"},314:{n:"BrtBeginSXLocation"},315:{n:"BrtEndSXView"},316:{n:"BrtBeginSXTHs"},317:{n:"BrtEndSXTHs"},318:{n:"BrtBeginSXTH"},319:{n:"BrtEndSXTH"},320:{n:"BrtBeginISXTHRws"},321:{n:"BrtEndISXTHRws"},322:{n:"BrtBeginISXTHCols"},323:{n:"BrtEndISXTHCols"},324:{n:"BrtBeginSXTDMPS"},325:{n:"BrtEndSXTDMPs"},326:{n:"BrtBeginSXTDMP"},327:{n:"BrtEndSXTDMP"},328:{n:"BrtBeginSXTHItems"},329:{n:"BrtEndSXTHItems"},330:{n:"BrtBeginSXTHItem"},331:{n:"BrtEndSXTHItem"},332:{n:"BrtBeginMetadata"},333:{n:"BrtEndMetadata"},334:{n:"BrtBeginEsmdtinfo"},335:{n:"BrtMdtinfo"},336:{n:"BrtEndEsmdtinfo"},337:{n:"BrtBeginEsmdb"},338:{n:"BrtEndEsmdb"},339:{n:"BrtBeginEsfmd"},340:{n:"BrtEndEsfmd"},341:{n:"BrtBeginSingleCells"},342:{n:"BrtEndSingleCells"},343:{n:"BrtBeginList"},344:{n:"BrtEndList"},345:{n:"BrtBeginListCols"},346:{n:"BrtEndListCols"},347:{n:"BrtBeginListCol"},348:{n:"BrtEndListCol"},349:{n:"BrtBeginListXmlCPr"},350:{n:"BrtEndListXmlCPr"},351:{n:"BrtListCCFmla"},352:{n:"BrtListTrFmla"},353:{n:"BrtBeginExternals"},354:{n:"BrtEndExternals"},355:{n:"BrtSupBookSrc",f:yt},357:{n:"BrtSupSelf"},358:{n:"BrtSupSame"},359:{n:"BrtSupTabs"},360:{n:"BrtBeginSupBook"},361:{n:"BrtPlaceholderName"},362:{n:"BrtExternSheet",f:Zi},363:{n:"BrtExternTableStart"},364:{n:"BrtExternTableEnd"},366:{n:"BrtExternRowHdr"},367:{n:"BrtExternCellBlank"},368:{n:"BrtExternCellReal"},369:{n:"BrtExternCellBool"},370:{n:"BrtExternCellError"},371:{n:"BrtExternCellString"},372:{n:"BrtBeginEsmdx"},373:{n:"BrtEndEsmdx"},374:{n:"BrtBeginMdxSet"},375:{n:"BrtEndMdxSet"},376:{n:"BrtBeginMdxMbrProp"},377:{n:"BrtEndMdxMbrProp"},378:{n:"BrtBeginMdxKPI"},379:{n:"BrtEndMdxKPI"},380:{n:"BrtBeginEsstr"},381:{n:"BrtEndEsstr"},382:{n:"BrtBeginPRFItem"},383:{n:"BrtEndPRFItem"},384:{n:"BrtBeginPivotCacheIDs"},385:{n:"BrtEndPivotCacheIDs"},386:{n:"BrtBeginPivotCacheID"},387:{n:"BrtEndPivotCacheID"},388:{n:"BrtBeginISXVIs"},389:{n:"BrtEndISXVIs"},390:{n:"BrtBeginColInfos"},391:{n:"BrtEndColInfos"},392:{n:"BrtBeginRwBrk"},393:{n:"BrtEndRwBrk"},394:{n:"BrtBeginColBrk"},395:{n:"BrtEndColBrk"},396:{n:"BrtBrk"},397:{n:"BrtUserBookView"},398:{n:"BrtInfo"},399:{n:"BrtCUsr"},400:{n:"BrtUsr"},401:{n:"BrtBeginUsers"},403:{n:"BrtEOF"},404:{n:"BrtUCR"},405:{n:"BrtRRInsDel"},406:{n:"BrtRREndInsDel"},407:{n:"BrtRRMove"},408:{n:"BrtRREndMove"},409:{n:"BrtRRChgCell"},410:{n:"BrtRREndChgCell"},411:{n:"BrtRRHeader"},412:{n:"BrtRRUserView"},413:{n:"BrtRRRenSheet"},414:{n:"BrtRRInsertSh"},415:{n:"BrtRRDefName"},416:{n:"BrtRRNote"},417:{n:"BrtRRConflict"},418:{n:"BrtRRTQSIF"},419:{n:"BrtRRFormat"},420:{n:"BrtRREndFormat"},421:{n:"BrtRRAutoFmt"},422:{n:"BrtBeginUserShViews"},423:{n:"BrtBeginUserShView"},424:{n:"BrtEndUserShView"},425:{n:"BrtEndUserShViews"},426:{n:"BrtArrFmla",f:Fh},427:{n:"BrtShrFmla",f:Oh},428:{n:"BrtTable"},429:{n:"BrtBeginExtConnections"},430:{n:"BrtEndExtConnections"},431:{n:"BrtBeginPCDCalcMems"},432:{n:"BrtEndPCDCalcMems"},433:{n:"BrtBeginPCDCalcMem"},434:{n:"BrtEndPCDCalcMem"},435:{n:"BrtBeginPCDHGLevels"},436:{n:"BrtEndPCDHGLevels"},437:{n:"BrtBeginPCDHGLevel"},438:{n:"BrtEndPCDHGLevel"},439:{n:"BrtBeginPCDHGLGroups"},440:{n:"BrtEndPCDHGLGroups"},441:{n:"BrtBeginPCDHGLGroup"},442:{n:"BrtEndPCDHGLGroup"},443:{n:"BrtBeginPCDHGLGMembers"},444:{n:"BrtEndPCDHGLGMembers"},445:{n:"BrtBeginPCDHGLGMember"},446:{n:"BrtEndPCDHGLGMember"},447:{n:"BrtBeginQSI"},448:{n:"BrtEndQSI"},449:{n:"BrtBeginQSIR"},450:{n:"BrtEndQSIR"},451:{n:"BrtBeginDeletedNames"},452:{n:"BrtEndDeletedNames"},453:{n:"BrtBeginDeletedName"},454:{n:"BrtEndDeletedName"},455:{n:"BrtBeginQSIFs"},456:{n:"BrtEndQSIFs"},457:{n:"BrtBeginQSIF"},458:{n:"BrtEndQSIF"},459:{n:"BrtBeginAutoSortScope"},460:{n:"BrtEndAutoSortScope"},461:{n:"BrtBeginConditionalFormatting"},462:{n:"BrtEndConditionalFormatting"},463:{n:"BrtBeginCFRule"},464:{n:"BrtEndCFRule"},465:{n:"BrtBeginIconSet"},466:{n:"BrtEndIconSet"},467:{n:"BrtBeginDatabar"},468:{n:"BrtEndDatabar"},469:{n:"BrtBeginColorScale"},470:{n:"BrtEndColorScale"},471:{n:"BrtCFVO"},472:{n:"BrtExternValueMeta"},473:{n:"BrtBeginColorPalette"},474:{n:"BrtEndColorPalette"},475:{n:"BrtIndexedColor"},476:{n:"BrtMargins",f:Lh},477:{n:"BrtPrintOptions"},478:{n:"BrtPageSetup"},479:{n:"BrtBeginHeaderFooter"},480:{n:"BrtEndHeaderFooter"},481:{n:"BrtBeginSXCrtFormat"},482:{n:"BrtEndSXCrtFormat"},483:{n:"BrtBeginSXCrtFormats"},484:{n:"BrtEndSXCrtFormats"},485:{n:"BrtWsFmtInfo",f:oh},486:{n:"BrtBeginMgs"},487:{n:"BrtEndMGs"},488:{n:"BrtBeginMGMaps"},489:{n:"BrtEndMGMaps"},490:{n:"BrtBeginMG"},491:{n:"BrtEndMG"},492:{n:"BrtBeginMap"},493:{n:"BrtEndMap"},494:{n:"BrtHLink",f:Rh},495:{n:"BrtBeginDCon"},496:{n:"BrtEndDCon"},497:{n:"BrtBeginDRefs"},498:{n:"BrtEndDRefs"},499:{n:"BrtDRef"},500:{n:"BrtBeginScenMan"},501:{n:"BrtEndScenMan"},502:{n:"BrtBeginSct"},503:{n:"BrtEndSct"},504:{n:"BrtSlc"},505:{n:"BrtBeginDXFs"},506:{n:"BrtEndDXFs"},507:{n:"BrtDXF"},508:{n:"BrtBeginTableStyles"},509:{n:"BrtEndTableStyles"},510:{n:"BrtBeginTableStyle"},511:{n:"BrtEndTableStyle"},512:{n:"BrtTableStyleElement"},513:{n:"BrtTableStyleClient"},514:{n:"BrtBeginVolDeps"},515:{n:"BrtEndVolDeps"},516:{n:"BrtBeginVolType"},517:{n:"BrtEndVolType"},518:{n:"BrtBeginVolMain"},519:{n:"BrtEndVolMain"},520:{n:"BrtBeginVolTopic"},521:{n:"BrtEndVolTopic"},522:{n:"BrtVolSubtopic"},523:{n:"BrtVolRef"},524:{n:"BrtVolNum"},525:{n:"BrtVolErr"},526:{n:"BrtVolStr"},527:{n:"BrtVolBool"},528:{n:"BrtBeginCalcChain$"},529:{n:"BrtEndCalcChain$"},530:{n:"BrtBeginSortState"},531:{n:"BrtEndSortState"},532:{n:"BrtBeginSortCond"},533:{n:"BrtEndSortCond"},534:{n:"BrtBookProtection"},535:{n:"BrtSheetProtection"},536:{n:"BrtRangeProtection"},537:{n:"BrtPhoneticInfo"},538:{n:"BrtBeginECTxtWiz"},539:{n:"BrtEndECTxtWiz"},540:{n:"BrtBeginECTWFldInfoLst"},541:{n:"BrtEndECTWFldInfoLst"},542:{n:"BrtBeginECTwFldInfo"},548:{n:"BrtFileSharing"},549:{n:"BrtOleSize"},550:{n:"BrtDrawing",f:yt},551:{n:"BrtLegacyDrawing"},552:{n:"BrtLegacyDrawingHF"},553:{n:"BrtWebOpt"},554:{n:"BrtBeginWebPubItems"},555:{n:"BrtEndWebPubItems"},556:{n:"BrtBeginWebPubItem"},557:{n:"BrtEndWebPubItem"},558:{n:"BrtBeginSXCondFmt"},559:{n:"BrtEndSXCondFmt"},560:{n:"BrtBeginSXCondFmts"},561:{n:"BrtEndSXCondFmts"},562:{n:"BrtBkHim"},564:{n:"BrtColor"},565:{n:"BrtBeginIndexedColors"},566:{n:"BrtEndIndexedColors"},569:{n:"BrtBeginMRUColors"},570:{n:"BrtEndMRUColors"},572:{n:"BrtMRUColor"},573:{n:"BrtBeginDVals"},574:{n:"BrtEndDVals"},577:{n:"BrtSupNameStart"},578:{n:"BrtSupNameValueStart"},579:{n:"BrtSupNameValueEnd"},580:{n:"BrtSupNameNum"},581:{n:"BrtSupNameErr"},582:{n:"BrtSupNameSt"},583:{n:"BrtSupNameNil"},584:{n:"BrtSupNameBool"},585:{n:"BrtSupNameFmla"},586:{n:"BrtSupNameBits"},587:{n:"BrtSupNameEnd"},588:{n:"BrtEndSupBook"},589:{n:"BrtCellSmartTagProperty"},590:{n:"BrtBeginCellSmartTag"},591:{n:"BrtEndCellSmartTag"},592:{n:"BrtBeginCellSmartTags"},593:{n:"BrtEndCellSmartTags"},594:{n:"BrtBeginSmartTags"},595:{n:"BrtEndSmartTags"},596:{n:"BrtSmartTagType"},597:{n:"BrtBeginSmartTagTypes"},598:{n:"BrtEndSmartTagTypes"},599:{n:"BrtBeginSXFilters"},600:{n:"BrtEndSXFilters"},601:{n:"BrtBeginSXFILTER"},602:{n:"BrtEndSXFilter"},603:{n:"BrtBeginFills"},604:{n:"BrtEndFills"},605:{n:"BrtBeginCellWatches"},606:{n:"BrtEndCellWatches"},607:{n:"BrtCellWatch"},608:{n:"BrtBeginCRErrs"},609:{n:"BrtEndCRErrs"},610:{n:"BrtCrashRecErr"},611:{n:"BrtBeginFonts"},612:{n:"BrtEndFonts"},613:{n:"BrtBeginBorders"},614:{n:"BrtEndBorders"},615:{n:"BrtBeginFmts"},616:{n:"BrtEndFmts"},617:{n:"BrtBeginCellXFs"},618:{n:"BrtEndCellXFs"},619:{n:"BrtBeginStyles"},620:{n:"BrtEndStyles"},625:{n:"BrtBigName"},626:{n:"BrtBeginCellStyleXFs"},627:{n:"BrtEndCellStyleXFs"},628:{n:"BrtBeginComments"},629:{n:"BrtEndComments"},630:{n:"BrtBeginCommentAuthors"},631:{n:"BrtEndCommentAuthors"},632:{n:"BrtCommentAuthor",f:vf},633:{n:"BrtBeginCommentList"},634:{n:"BrtEndCommentList"},635:{n:"BrtBeginComment",f:hf},636:{n:"BrtEndComment"},637:{n:"BrtCommentText",f:wt},638:{n:"BrtBeginOleObjects"},639:{n:"BrtOleObject"},640:{n:"BrtEndOleObjects"},641:{n:"BrtBeginSxrules"},642:{n:"BrtEndSxRules"},643:{n:"BrtBeginActiveXControls"},644:{n:"BrtActiveX"},645:{n:"BrtEndActiveXControls"},646:{n:"BrtBeginPCDSDTCEMembersSortBy"},648:{n:"BrtBeginCellIgnoreECs"},649:{n:"BrtCellIgnoreEC"},650:{n:"BrtEndCellIgnoreECs"},651:{n:"BrtCsProp",f:id},652:{n:"BrtCsPageSetup"},653:{n:"BrtBeginUserCsViews"},654:{n:"BrtEndUserCsViews"},655:{n:"BrtBeginUserCsView"},656:{n:"BrtEndUserCsView"},657:{n:"BrtBeginPcdSFCIEntries"},658:{n:"BrtEndPCDSFCIEntries"},659:{n:"BrtPCDSFCIEntry"},660:{n:"BrtBeginListParts"},661:{n:"BrtListPart"},662:{n:"BrtEndListParts"},663:{n:"BrtSheetCalcProp"},664:{n:"BrtBeginFnGroup"},665:{n:"BrtFnGroup"},666:{n:"BrtEndFnGroup"},667:{n:"BrtSupAddin"},668:{n:"BrtSXTDMPOrder"},669:{n:"BrtCsProtection"},671:{n:"BrtBeginWsSortMap"},672:{n:"BrtEndWsSortMap"},673:{n:"BrtBeginRRSort"},674:{n:"BrtEndRRSort"},675:{n:"BrtRRSortItem"},676:{n:"BrtFileSharingIso"},677:{n:"BrtBookProtectionIso"},678:{n:"BrtSheetProtectionIso"},679:{n:"BrtCsProtectionIso"},680:{n:"BrtRangeProtectionIso"},1024:{n:"BrtRwDescent"},1025:{n:"BrtKnownFonts"},1026:{n:"BrtBeginSXTupleSet"},1027:{n:"BrtEndSXTupleSet"},1028:{n:"BrtBeginSXTupleSetHeader"},1029:{n:"BrtEndSXTupleSetHeader"},1030:{n:"BrtSXTupleSetHeaderItem"},1031:{n:"BrtBeginSXTupleSetData"},1032:{n:"BrtEndSXTupleSetData"},1033:{n:"BrtBeginSXTupleSetRow"},1034:{n:"BrtEndSXTupleSetRow"},1035:{n:"BrtSXTupleSetRowItem"},1036:{n:"BrtNameExt"},1037:{n:"BrtPCDH14"},1038:{n:"BrtBeginPCDCalcMem14"},1039:{n:"BrtEndPCDCalcMem14"},1040:{n:"BrtSXTH14"},1041:{n:"BrtBeginSparklineGroup"},1042:{n:"BrtEndSparklineGroup"},1043:{n:"BrtSparkline"},1044:{n:"BrtSXDI14"},1045:{n:"BrtWsFmtInfoEx14"},1046:{n:"BrtBeginConditionalFormatting14"},1047:{n:"BrtEndConditionalFormatting14"},1048:{n:"BrtBeginCFRule14"},1049:{n:"BrtEndCFRule14"},1050:{n:"BrtCFVO14"},1051:{n:"BrtBeginDatabar14"},1052:{n:"BrtBeginIconSet14"},1053:{n:"BrtDVal14"},1054:{n:"BrtBeginDVals14"},1055:{n:"BrtColor14"},1056:{n:"BrtBeginSparklines"},1057:{n:"BrtEndSparklines"},1058:{n:"BrtBeginSparklineGroups"},1059:{n:"BrtEndSparklineGroups"},1061:{n:"BrtSXVD14"},1062:{n:"BrtBeginSxview14"},1063:{n:"BrtEndSxview14"},1066:{n:"BrtBeginPCD14"},1067:{n:"BrtEndPCD14"},1068:{n:"BrtBeginExtConn14"},1069:{n:"BrtEndExtConn14"},1070:{n:"BrtBeginSlicerCacheIDs"},1071:{n:"BrtEndSlicerCacheIDs"},1072:{n:"BrtBeginSlicerCacheID"},1073:{n:"BrtEndSlicerCacheID"},1075:{n:"BrtBeginSlicerCache"},1076:{n:"BrtEndSlicerCache"},1077:{n:"BrtBeginSlicerCacheDef"},1078:{n:"BrtEndSlicerCacheDef"},1079:{n:"BrtBeginSlicersEx"},1080:{n:"BrtEndSlicersEx"},1081:{n:"BrtBeginSlicerEx"},1082:{n:"BrtEndSlicerEx"},1083:{n:"BrtBeginSlicer"},1084:{n:"BrtEndSlicer"},1085:{n:"BrtSlicerCachePivotTables"},1086:{n:"BrtBeginSlicerCacheOlapImpl"},1087:{n:"BrtEndSlicerCacheOlapImpl"},1088:{n:"BrtBeginSlicerCacheLevelsData"},1089:{n:"BrtEndSlicerCacheLevelsData"},1090:{n:"BrtBeginSlicerCacheLevelData"},1091:{n:"BrtEndSlicerCacheLevelData"},1092:{n:"BrtBeginSlicerCacheSiRanges"},1093:{n:"BrtEndSlicerCacheSiRanges"},1094:{n:"BrtBeginSlicerCacheSiRange"},1095:{n:"BrtEndSlicerCacheSiRange"},1096:{n:"BrtSlicerCacheOlapItem"},1097:{n:"BrtBeginSlicerCacheSelections"},1098:{n:"BrtSlicerCacheSelection"},1099:{n:"BrtEndSlicerCacheSelections"},1100:{n:"BrtBeginSlicerCacheNative"},1101:{n:"BrtEndSlicerCacheNative"},1102:{n:"BrtSlicerCacheNativeItem"},1103:{n:"BrtRangeProtection14"},1104:{n:"BrtRangeProtectionIso14"},1105:{n:"BrtCellIgnoreEC14"},1111:{n:"BrtList14"},1112:{n:"BrtCFIcon"},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs"},1114:{n:"BrtEndSlicerCachesPivotCacheIDs"},1115:{n:"BrtBeginSlicers"},1116:{n:"BrtEndSlicers"},1117:{n:"BrtWbProp14"},1118:{n:"BrtBeginSXEdit"},1119:{n:"BrtEndSXEdit"},1120:{n:"BrtBeginSXEdits"},1121:{n:"BrtEndSXEdits"},1122:{n:"BrtBeginSXChange"},1123:{n:"BrtEndSXChange"},1124:{n:"BrtBeginSXChanges"},1125:{n:"BrtEndSXChanges"},1126:{n:"BrtSXTupleItems"},1128:{n:"BrtBeginSlicerStyle"},1129:{n:"BrtEndSlicerStyle"},1130:{n:"BrtSlicerStyleElement"},1131:{n:"BrtBeginStyleSheetExt14"},1132:{n:"BrtEndStyleSheetExt14"},1133:{n:"BrtBeginSlicerCachesPivotCacheID"},1134:{n:"BrtEndSlicerCachesPivotCacheID"},1135:{n:"BrtBeginConditionalFormattings"},1136:{n:"BrtEndConditionalFormattings"},1137:{n:"BrtBeginPCDCalcMemExt"},1138:{n:"BrtEndPCDCalcMemExt"},1139:{n:"BrtBeginPCDCalcMemsExt"},1140:{n:"BrtEndPCDCalcMemsExt"},1141:{n:"BrtPCDField14"},1142:{n:"BrtBeginSlicerStyles"},1143:{n:"BrtEndSlicerStyles"},1144:{n:"BrtBeginSlicerStyleElements"},1145:{n:"BrtEndSlicerStyleElements"},1146:{n:"BrtCFRuleExt"},1147:{n:"BrtBeginSXCondFmt14"},1148:{n:"BrtEndSXCondFmt14"},1149:{n:"BrtBeginSXCondFmts14"},1150:{n:"BrtEndSXCondFmts14"},1152:{n:"BrtBeginSortCond14"},1153:{n:"BrtEndSortCond14"},1154:{n:"BrtEndDVals14"},1155:{n:"BrtEndIconSet14"},1156:{n:"BrtEndDatabar14"},1157:{n:"BrtBeginColorScale14"},1158:{n:"BrtEndColorScale14"},1159:{n:"BrtBeginSxrules14"},1160:{n:"BrtEndSxrules14"},1161:{n:"BrtBeginPRule14"},1162:{n:"BrtEndPRule14"},1163:{n:"BrtBeginPRFilters14"},1164:{n:"BrtEndPRFilters14"},1165:{n:"BrtBeginPRFilter14"},1166:{n:"BrtEndPRFilter14"},1167:{n:"BrtBeginPRFItem14"},1168:{n:"BrtEndPRFItem14"},1169:{n:"BrtBeginCellIgnoreECs14"},1170:{n:"BrtEndCellIgnoreECs14"},1171:{n:"BrtDxf14"},1172:{n:"BrtBeginDxF14s"},1173:{n:"BrtEndDxf14s"},1177:{n:"BrtFilter14"},1178:{n:"BrtBeginCustomFilters14"},1180:{n:"BrtCustomFilter14"},1181:{n:"BrtIconFilter14"},1182:{n:"BrtPivotCacheConnectionName"},2048:{n:"BrtBeginDecoupledPivotCacheIDs"},2049:{n:"BrtEndDecoupledPivotCacheIDs"},2050:{n:"BrtDecoupledPivotCacheID"},2051:{n:"BrtBeginPivotTableRefs"},2052:{n:"BrtEndPivotTableRefs"},2053:{n:"BrtPivotTableRef"},2054:{n:"BrtSlicerCacheBookPivotTables"},2055:{n:"BrtBeginSxvcells"},2056:{n:"BrtEndSxvcells"},2057:{n:"BrtBeginSxRow"},2058:{n:"BrtEndSxRow"},2060:{n:"BrtPcdCalcMem15"},2067:{n:"BrtQsi15"},2068:{n:"BrtBeginWebExtensions"},2069:{n:"BrtEndWebExtensions"},2070:{n:"BrtWebExtension"},2071:{n:"BrtAbsPath15"},2072:{n:"BrtBeginPivotTableUISettings"},2073:{n:"BrtEndPivotTableUISettings"},2075:{n:"BrtTableSlicerCacheIDs"},2076:{n:"BrtTableSlicerCacheID"},2077:{n:"BrtBeginTableSlicerCache"},2078:{n:"BrtEndTableSlicerCache"},2079:{n:"BrtSxFilter15"},2080:{n:"BrtBeginTimelineCachePivotCacheIDs"},2081:{n:"BrtEndTimelineCachePivotCacheIDs"},2082:{n:"BrtTimelineCachePivotCacheID"},2083:{n:"BrtBeginTimelineCacheIDs"},2084:{n:"BrtEndTimelineCacheIDs"},2085:{n:"BrtBeginTimelineCacheID"},2086:{n:"BrtEndTimelineCacheID"},2087:{n:"BrtBeginTimelinesEx"},2088:{n:"BrtEndTimelinesEx"},2089:{n:"BrtBeginTimelineEx"},2090:{n:"BrtEndTimelineEx"},2091:{n:"BrtWorkBookPr15"},2092:{n:"BrtPCDH15"},2093:{n:"BrtBeginTimelineStyle"},2094:{n:"BrtEndTimelineStyle"},2095:{n:"BrtTimelineStyleElement"},2096:{n:"BrtBeginTimelineStylesheetExt15"},2097:{n:"BrtEndTimelineStylesheetExt15"},2098:{n:"BrtBeginTimelineStyles"},2099:{n:"BrtEndTimelineStyles"},2100:{n:"BrtBeginTimelineStyleElements"},2101:{n:"BrtEndTimelineStyleElements"},2102:{n:"BrtDxf15"},2103:{n:"BrtBeginDxfs15"},2104:{n:"brtEndDxfs15"},2105:{n:"BrtSlicerCacheHideItemsWithNoData"},2106:{n:"BrtBeginItemUniqueNames"},2107:{n:"BrtEndItemUniqueNames"},2108:{n:"BrtItemUniqueName"},2109:{n:"BrtBeginExtConn15"},2110:{n:"BrtEndExtConn15"},2111:{n:"BrtBeginOledbPr15"},2112:{n:"BrtEndOledbPr15"},2113:{n:"BrtBeginDataFeedPr15"},2114:{n:"BrtEndDataFeedPr15"},2115:{n:"BrtTextPr15"},2116:{n:"BrtRangePr15"},2117:{n:"BrtDbCommand15"},2118:{n:"BrtBeginDbTables15"},2119:{n:"BrtEndDbTables15"},2120:{n:"BrtDbTable15"},2121:{n:"BrtBeginDataModel"},2122:{n:"BrtEndDataModel"},2123:{n:"BrtBeginModelTables"},2124:{n:"BrtEndModelTables"},2125:{n:"BrtModelTable"},2126:{n:"BrtBeginModelRelationships"},2127:{n:"BrtEndModelRelationships"},2128:{n:"BrtModelRelationship"},2129:{n:"BrtBeginECTxtWiz15"},2130:{n:"BrtEndECTxtWiz15"},2131:{n:"BrtBeginECTWFldInfoLst15"},2132:{n:"BrtEndECTWFldInfoLst15"},2133:{n:"BrtBeginECTWFldInfo15"},2134:{n:"BrtFieldListActiveItem"},2135:{n:"BrtPivotCacheIdVersion"},2136:{n:"BrtSXDI15"},65535:{n:""}};var Nv=z(Pv,"n");var Lv={3:{n:"BIFF2NUM",f:Is},4:{n:"BIFF2STR",f:xs},6:{n:"Formula",f:lu},9:{n:"BOF",f:si},10:{n:"EOF",f:gn},12:{n:"CalcCount",f:Cn},13:{n:"CalcMode",f:Cn},14:{n:"CalcPrecision",f:wn},15:{n:"CalcRefMode",f:wn},16:{n:"CalcDelta",f:Mt},17:{n:"CalcIter",f:wn},18:{n:"Protect",f:wn},19:{n:"Password",f:Cn},20:{n:"Header",f:Gi},21:{n:"Footer",f:Gi},23:{n:"ExternSheet",f:Zi},24:{n:"Lbl",f:$i},25:{n:"WinProtect",f:wn},26:{n:"VerticalPageBreaks"},27:{n:"HorizontalPageBreaks"},28:{n:"Note",f:as},29:{n:"Selection"},34:{n:"Date1904",f:wn},35:{n:"ExternName",f:Ki},38:{n:"LeftMargin",f:Mt},39:{n:"RightMargin",f:Mt},40:{n:"TopMargin",f:Mt},41:{n:"BottomMargin",f:Mt},42:{n:"PrintRowCol",f:wn},43:{n:"PrintGrid",f:wn},47:{n:"FilePass",f:Tl},49:{n:"Font",f:_i},51:{n:"PrintSize",f:Cn},60:{n:"Continue"},61:{n:"Window1",f:ki},64:{n:"Backup",f:wn},65:{n:"Pane"},66:{n:"CodePage",f:Cn},77:{n:"Pls"},80:{n:"DCon"},81:{n:"DConRef"},82:{n:"DConName"},85:{n:"DefColWidth",f:Cn},89:{n:"XCT"},90:{n:"CRN"},91:{n:"FileSharing"},92:{n:"WriteAccess",f:fi},93:{n:"Obj",f:ss},94:{n:"Uncalced"},95:{n:"CalcSaveRecalc",f:wn},96:{n:"Template"},97:{n:"Intl"},99:{n:"ObjProtect",f:wn},125:{n:"ColInfo",f:Es},128:{n:"Guts",f:Ui},129:{n:"WsBool",f:ui},130:{n:"GridSet",f:Cn},131:{n:"HCenter",f:wn},132:{n:"VCenter",f:wn},133:{n:"BoundSheet8",f:hi},134:{n:"WriteProtect"},140:{n:"Country",f:vs},141:{n:"HideObj",f:Cn},144:{n:"Sort"},146:{n:"Palette",f:bs},151:{n:"Sync"},152:{n:"LPr"},153:{n:"DxGCol"},154:{n:"FnGroupName"},155:{n:"FilterMode"},156:{n:"BuiltInFnGroupCount",f:Cn},157:{n:"AutoFilterInfo"},158:{n:"AutoFilter"},160:{n:"Scl",f:_s},161:{n:"Setup",f:ks},174:{n:"ScenMan"},175:{n:"SCENARIO"},176:{n:"SxView"},177:{n:"Sxvd"},178:{n:"SXVI"},180:{n:"SxIvd"},181:{n:"SXLI"},182:{n:"SXPI"},184:{n:"DocRoute"},185:{n:"RecipName"},189:{n:"MulRk",f:Oi},190:{n:"MulBlank",f:Pi},193:{n:"Mms",f:gn},197:{n:"SXDI"},198:{n:"SXDB"},199:{n:"SXFDB"},200:{n:"SXDBB"},201:{n:"SXNum"},202:{n:"SxBool",f:wn},203:{n:"SxErr"},204:{n:"SXInt"},205:{n:"SXString"},206:{n:"SXDtr"},207:{n:"SxNil"},208:{n:"SXTbl"},209:{n:"SXTBRGIITM"},210:{n:"SxTbpg"},211:{n:"ObProj"},213:{n:"SXStreamID"},215:{n:"DBCell"},216:{n:"SXRng"},217:{n:"SxIsxoper"},218:{n:"BookBool",f:Cn},220:{n:"DbOrParamQry"},221:{n:"ScenarioProtect",f:wn},222:{n:"OleObjectSize"},224:{n:"XF",f:Li},225:{n:"InterfaceHdr",f:oi},226:{n:"InterfaceEnd",f:gn},227:{n:"SXVS"},229:{n:"MergeCells",f:ns},233:{n:"BkHim"},235:{n:"MsoDrawingGroup"},236:{n:"MsoDrawing"},237:{n:"MsoDrawingSelection"},239:{n:"PhoneticInfo"},240:{n:"SxRule"},241:{n:"SXEx"},242:{n:"SxFilt"},244:{n:"SxDXF"},245:{n:"SxItm"},246:{n:"SxName"},247:{n:"SxSelect"},248:{n:"SXPair"},249:{n:"SxFmla"},251:{n:"SxFormat"},252:{n:"SST",f:vi},253:{n:"LabelSst",f:Bi},255:{n:"ExtSST",f:pi},256:{n:"SXVDEx"},259:{n:"SXFormula"},290:{n:"SXDBEx"},311:{n:"RRDInsDel"},312:{n:"RRDHead"},315:{n:"RRDChgCell"},317:{n:"RRTabId",f:Bn},318:{n:"RRDRenSheet"},319:{n:"RRSort"},320:{n:"RRDMove"},330:{n:"RRFormat"},331:{n:"RRAutoFmt"},333:{n:"RRInsertSh"},334:{n:"RRDMoveBegin"},335:{n:"RRDMoveEnd"},336:{n:"RRDInsDelBegin"},337:{n:"RRDInsDelEnd"},338:{n:"RRDConflict"},339:{n:"RRDDefName"},340:{n:"RRDRstEtxp"},351:{n:"LRng"},352:{n:"UsesELFs",f:wn},353:{n:"DSF",f:gn},401:{n:"CUsr"},402:{n:"CbUsr"},403:{n:"UsrInfo"},404:{n:"UsrExcl"},405:{n:"FileLock"},406:{n:"RRDInfo"},407:{n:"BCUsrs"},408:{n:"UsrChk"},425:{n:"UserBView"},426:{n:"UserSViewBegin"},427:{n:"UserSViewEnd"},428:{n:"RRDUserView"},429:{n:"Qsi"},430:{n:"SupBook",f:ji},431:{n:"Prot4Rev",f:wn},432:{n:"CondFmt"},433:{n:"CF"},434:{n:"DVal"},437:{n:"DConBin"},438:{n:"TxO",f:fs},439:{n:"RefreshAll",f:wn},440:{n:"HLink",f:cs},441:{n:"Lel"},442:{n:"CodeName",f:Rn},443:{n:"SXFDBType"},444:{n:"Prot4RevPass",f:Cn},445:{n:"ObNoMacros"},446:{n:"Dv"},448:{n:"Excel9File",f:gn},449:{n:"RecalcId",f:gi,r:2},450:{n:"EntExU2",f:gn},512:{n:"Dimensions",f:Ri},513:{n:"Blank",f:Cs},515:{n:"Number",f:zi},516:{n:"Label",f:Ti},517:{n:"BoolErr",f:Wi},518:{n:"Formula",f:lu},519:{n:"String",f:Bs},520:{n:"Row",f:mi},523:{n:"Index"},545:{n:"Array",f:es},549:{n:"DefaultRowHeight",f:Ei},566:{n:"Table"},574:{n:"Window2",f:Si},638:{n:"RK",f:Fi},659:{n:"Style"},1030:{n:"Formula",f:lu},1048:{n:"BigName"},1054:{n:"Format",f:Ii},1084:{n:"ContinueBigName"},1212:{n:"ShrFmla",f:qi},2048:{n:"HLinkTooltip",f:hs},2049:{n:"WebPub"},2050:{n:"QsiSXTag"},2051:{n:"DBQueryExt"},2052:{n:"ExtString"},2053:{n:"TxtQry"},2054:{n:"Qsir"},2055:{n:"Qsif"},2056:{n:"RRDTQSIF"},2057:{n:"BOF",f:si},2058:{n:"OleDbConn"},2059:{n:"WOpt"},2060:{n:"SXViewEx"},2061:{n:"SXTH"},2062:{n:"SXPIEx"},2063:{n:"SXVDTEx"},2064:{n:"SXViewEx9"},2066:{n:"ContinueFrt"},2067:{n:"RealTimeData"},2128:{n:"ChartFrtInfo"},2129:{n:"FrtWrapper"},2130:{n:"StartBlock"},2131:{n:"EndBlock"},2132:{n:"StartObject"},2133:{n:"EndObject"},2134:{n:"CatLab"},2135:{n:"YMult"},2136:{n:"SXViewLink"},2137:{n:"PivotChartBits"},2138:{n:"FrtFontList"},2146:{n:"SheetExt"},2147:{n:"BookExt",r:12},2148:{n:"SXAddl"},2149:{n:"CrErr"},2150:{n:"HFPicture"},2151:{n:"FeatHdr",f:gn},2152:{n:"Feat"},2154:{n:"DataLabExt"},2155:{n:"DataLabExtContents"},2156:{n:"CellWatch"},2161:{n:"FeatHdr11"},2162:{n:"Feature11"},2164:{n:"DropDownObjIds"},2165:{n:"ContinueFrt11"},2166:{n:"DConn"},2167:{n:"List12"},2168:{n:"Feature12"},2169:{n:"CondFmt12"},2170:{n:"CF12"},2171:{n:"CFEx"},2172:{n:"XFCRC",f:gs,r:12},2173:{n:"XFExt",f:Zo,r:12},2174:{n:"AutoFilter12"},2175:{n:"ContinueFrt12"},2180:{n:"MDTInfo"},2181:{n:"MDXStr"},2182:{n:"MDXTuple"},2183:{n:"MDXSet"},2184:{n:"MDXProp"},2185:{n:"MDXKPI"},2186:{n:"MDB"},2187:{n:"PLV"},2188:{n:"Compat12",f:wn,r:12},2189:{n:"DXF"},2190:{n:"TableStyles",r:12},2191:{n:"TableStyle"},2192:{n:"TableStyleElement"},2194:{n:"StyleExt"},2195:{n:"NamePublish"},2196:{n:"NameCmt",f:Ji,r:12},2197:{n:"SortData"},2198:{n:"Theme",f:Xo,r:12},2199:{n:"GUIDTypeLib"},2200:{n:"FnGrp12"},2201:{n:"NameFnGrp12"},2202:{n:"MTRSettings",f:rs,r:12},2203:{n:"CompressPictures",f:gn},2204:{n:"HeaderFooter"},2205:{n:"CrtLayout12"},2206:{n:"CrtMlFrt"},2207:{n:"CrtMlFrtContinue"},2211:{n:"ForceFullCalculation",f:bi},2212:{n:"ShapePropsStream"},2213:{n:"TextPropsStream"},2214:{n:"RichTextStream"},2215:{n:"CrtLayout12A"},4097:{n:"Units"},4098:{n:"Chart"},4099:{n:"Series"},4102:{n:"DataFormat"},4103:{n:"LineFormat"},4105:{n:"MarkerFormat"},4106:{n:"AreaFormat"},4107:{n:"PieFormat"},4108:{n:"AttachedLabel"},4109:{n:"SeriesText"},4116:{n:"ChartFormat"},4117:{n:"Legend"},4118:{n:"SeriesList"},4119:{n:"Bar"},4120:{n:"Line"},4121:{n:"Pie"},4122:{n:"Area"},4123:{n:"Scatter"},4124:{n:"CrtLine"},4125:{n:"Axis"},4126:{n:"Tick"},4127:{n:"ValueRange"},4128:{n:"CatSerRange"},4129:{n:"AxisLine"},4130:{n:"CrtLink"},4132:{n:"DefaultText"},4133:{n:"Text"},4134:{n:"FontX",f:Cn},4135:{n:"ObjectLink"},4146:{n:"Frame"},4147:{n:"Begin"},4148:{n:"End"},4149:{n:"PlotArea"},4154:{n:"Chart3d"},4156:{n:"PicF"},4157:{n:"DropBar"},4158:{n:"Radar"},4159:{n:"Surf"},4160:{n:"RadarArea"},4161:{n:"AxisParent"},4163:{n:"LegendException"},4164:{n:"ShtProps",f:ws},4165:{n:"SerToCrt"},4166:{n:"AxesUsed"},4168:{n:"SBaseRef"},4170:{n:"SerParent"},4171:{n:"SerAuxTrend"},4174:{n:"IFmtRecord"},4175:{n:"Pos"},4176:{n:"AlRuns"},4177:{n:"BRAI"},4187:{n:"SerAuxErrBar"},4188:{n:"ClrtClient",f:ms},4189:{n:"SerFmt"},4191:{n:"Chart3DBarShape"},4192:{n:"Fbi"},4193:{n:"BopPop"},4194:{n:"AxcExt"},4195:{n:"Dat"},4196:{n:"PlotGrowth"},4197:{n:"SIIndex"},4198:{n:"GelFrame"},4199:{n:"BopPopCustom"},4200:{n:"Fbi2"},0:{n:"Dimensions",f:Ri},2:{n:"BIFF2INT",f:ys},5:{n:"BoolErr",f:Wi},7:{n:"String",f:Ds},8:{n:"BIFF2ROW"},11:{n:"Index"},22:{n:"ExternCount",f:Cn},30:{n:"BIFF2FORMAT",f:yi},31:{n:"BIFF2FMTCNT"},32:{n:"BIFF2COLINFO"},33:{n:"Array",f:es},37:{n:"DefaultRowHeight",f:Ei},50:{n:"BIFF2FONTXTRA",f:Fs},52:{n:"DDEObjName"},62:{n:"BIFF2WINDOW2"},67:{n:"BIFF2XF"},69:{n:"BIFF2FONTCLR"},86:{n:"BIFF4FMTCNT"},126:{n:"RK"},127:{n:"ImData",f:Ts},135:{n:"Addin"},136:{n:"Edg"},137:{n:"Pub"},145:{n:"Sub"},148:{n:"LHRecord"},149:{n:"LHNGraph"},150:{n:"Sound"},169:{n:"CoordList"},171:{n:"GCW"},188:{n:"ShrFmla"},191:{n:"ToolbarHdr"},192:{n:"ToolbarEnd"},194:{n:"AddMenu"},195:{n:"DelMenu"},214:{n:"RString",f:Os},223:{n:"UDDesc"},234:{n:"TabIdConf"},354:{n:"XL5Modify"},421:{n:"FileSharing2"},521:{n:"BOF",f:si},536:{n:"Lbl",f:$i},547:{n:"ExternName",f:Ki},561:{n:"Font"},579:{n:"BIFF3XF"},1033:{n:"BOF",f:si},1091:{n:"BIFF4XF"},2157:{n:"FeatInfo"},2163:{n:"FeatInfo11"},2177:{n:"SXAddl12"},2240:{n:"AutoWebPub"},2241:{n:"ListObj"},2242:{n:"ListField"},2243:{n:"ListDV"},2244:{n:"ListCondFmt"},2245:{n:"ListCF"},2246:{n:"FMQry"},2247:{n:"FMSQry"},2248:{n:"PLV"},2249:{n:"LnExt"},2250:{n:"MkrExt"},2251:{n:"CrtCoopt"},2262:{n:"FRTArchId$",r:12},29282:{}};var Mv=z(Lv,"n");function Uv(e,r,t,a){var n=+r||+Mv[r];if(isNaN(n))return;var i=a||(t||[]).length||0;var s=e.next(4);s._W(2,n);s._W(2,i);if(i>0&&_r(t))e.push(t)}function Hv(e,r,t){if(!e)e=Ur(7);e._W(2,r);e._W(2,t);e._W(2,0);e._W(1,0);return e}function Wv(e,r,t,a){var n=Ur(9);Hv(n,e,r);if(a=="e"){n._W(1,t);n._W(1,1)}else{n._W(1,t?1:0);n._W(1,0)}return n}function Vv(e,r,t){var a=Ur(8+2*t.length);Hv(a,e,r);a._W(1,t.length);a._W(t.length,t,"sbcs");return a.l=0&&n<65536)Uv(e,2,Rs(t,a,n));else Uv(e,3,As(t,a,n));return;case"b":;case"e":Uv(e,5,Wv(t,a,r.v,r.t));return;case"s":;case"str":Uv(e,4,Vv(t,a,r.v));return;}Uv(e,1,Hv(null,t,a))}function Xv(e,r,t,a){var n=Array.isArray(r);var i=ot(r["!ref"]||"A1"),s,l="",o=[];for(var f=i.s.r;f<=i.e.r;++f){l=Zr(f);for(var c=i.s.c;c<=i.e.c;++c){if(f===i.s.r)o[c]=et(c);s=o[c]+l;var u=n?(r[f]||[])[c]:r[s];if(!u)continue;zv(e,u,f,c,a)}}}function Gv(e,r){var t=r||{};if(m!=null&&t.dense==null)t.dense=m;var a=Wr();var n=0;for(var i=0;i");var i=e.match(/<\/table/i);var s=n.index,l=i&&i.index||e.length;var o=oe(e.slice(s,l),/(:?]*>)/i,"");var f=-1,c=0,u=0,h=0;var d={s:{r:1e7,c:1e7},e:{r:0,c:0}};var v=[];for(s=0;s/i);for(l=0;l"))>-1)k=k.slice(w+1);var S=Ce(E.slice(0,E.indexOf(">")));h=S.colspan?+S.colspan:1;if((u=+S.rowspan)>0||h>1)v.push({s:{r:f,c:c},e:{r:f+(u||1)-1,c:c+h-1}});var C=S.t||"";if(!k.length){c+=h;continue}k=Xe(xe(k));if(d.s.r>f)d.s.r=f;if(d.e.rc)d.s.c=c;if(d.e.c':"")+"";for(var l=r.s.c;l<=r.e.c;++l){var o=0,f=0;for(var c=0;ct||n[c].s.c>l)continue;if(n[c].e.r1)v.rowspan=o;if(f>1)v.colspan=f;v.t=h.t;if(a.editable)d=''+d+"";v.id="sjs-"+u;i.push(Je("td",d,v))}var p="";return p+i.join("")+""}function a(e,r,t){var a=[];return a.join("")+""}var n='SheetJS Table Export';var i="";function s(e,r){var s=r||{};var l=s.header!=null?s.header:n;var o=s.footer!=null?s.footer:i;var f=[l];var c=st(e["!ref"]);s.dense=Array.isArray(e);f.push(a(e,c,s));for(var u=c.s.r;u<=c.e.r;++u)f.push(t(e,c,u,s));f.push(""+o);return f.join("")}return{to_workbook:r,to_sheet:e,_row:t,BEGIN:n,END:i,_preamble:a,from_sheet:s}}();function rp(e,r){var t=r||{};if(m!=null)t.dense=m;var a=t.dense?[]:{};var n=e.getElementsByTagName("tr");var i={s:{r:0,c:0},e:{r:n.length-1,c:0}};var s=[],l=0;var o=0,f=0,c=0,u=0,h=0;for(;o0||h>1)s.push({s:{r:o,c:c},e:{r:o+(u||1)-1,c:c+h-1}});var E={t:"s",v:b};var k=p.getAttribute("t")||"";if(b!=null){if(b.length==0)E.t=k||"z";else if(t.raw||b.trim().length==0||k=="s"){}else if(b==="TRUE")E={t:"b",v:true};else if(b==="FALSE")E={t:"b",v:false};else if(!isNaN(ie(b)))E={t:"n",v:ie(b)};else if(!isNaN(se(b).getDate())){E={t:"d",v:re(b)};if(!t.cellDates)E={t:"n",v:Z(E.v)};E.z=t.dateNF||A._table[14]}}if(t.dense){if(!a[o])a[o]=[];a[o][c]=E}else a[it({c:c,r:o})]=E;if(i.e.c/g," ").replace(//g,function(e,r){return Array(parseInt(r,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n").replace(/<[^>]*>/g,""))};var r={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};return function t(a,n){var i=n||{};if(m!=null&&i.dense==null)i.dense=m;var s=cv(a);var l=[],o;var f;var c={name:""},u="",h=0;var d;var v;var p={},b=[];var g=i.dense?[]:{};var E,k;var w={value:""};var S="",C=0,_;var B=-1,T=-1,x={s:{r:1e6,c:1e7},e:{r:0,c:0}};var I=0;var A={};var y=[],R={},D=0,F=0;var O=[],P=1,N=1;var L=[];var M={Names:[]};var U={};var H=["",""];var W=[],V={};var z="",X=0;var G=false,j=false;var K=0;uv.lastIndex=0;s=s.replace(//gm,"").replace(//gm,"");while(E=uv.exec(s))switch(E[3]=E[3].replace(/_.*$/,"")){case"table":;case"工作表":if(E[1]==="/"){if(x.e.c>=x.s.c&&x.e.r>=x.s.r)g["!ref"]=lt(x);if(y.length)g["!merges"]=y;if(O.length)g["!rows"]=O;d.name=Me(d["名称"]||d.name);b.push(d.name);p[d.name]=g;j=false}else if(E[0].charAt(E[0].length-2)!=="/"){d=Ce(E[0],false);B=T=-1;x.s.r=x.s.c=1e7;x.e.r=x.e.c=0;g=i.dense?[]:{};y=[];O=[];j=true}break;case"table-row-group":if(E[1]==="/")--I;else++I;break;case"table-row":;case"行":if(E[1]==="/"){B+=P;P=1;break}v=Ce(E[0],false);if(v["行号"])B=v["行号"]-1;else if(B==-1)B=0;P=+v["number-rows-repeated"]||1;if(P<10)for(K=0;K0)O[B+K]={level:I};T=-1;break;case"covered-table-cell":++T;if(i.sheetStubs){if(i.dense){if(!g[B])g[B]=[];g[B][T]={t:"z"}}else g[it({r:B,c:T})]={t:"z"}}break;case"table-cell":;case"数据":if(E[0].charAt(E[0].length-2)==="/"){++T;w=Ce(E[0],false);N=parseInt(w["number-columns-repeated"]||"1",10);k={t:"z",v:null};if(w.formula&&i.cellFormula!=false)k.f=bu(xe(w.formula));if((w["数据类型"]||w["value-type"])=="string"){k.t="s";k.v=xe(w["string-value"]||"");if(i.dense){if(!g[B])g[B]=[];g[B][T]=k}else{g[it({r:B,c:T})]=k}}T+=N-1}else if(E[1]!=="/"){++T;N=1;var Y=P?B+P-1:B;if(T>x.e.c)x.e.c=T;if(Tx.e.r)x.e.r=Y;w=Ce(E[0],false);W=[];V={};k={t:w["数据类型"]||w["value-type"],v:null};if(i.cellFormula){if(w.formula)w.formula=xe(w.formula);if(w["number-matrix-columns-spanned"]&&w["number-matrix-rows-spanned"]){D=parseInt(w["number-matrix-rows-spanned"],10)||0;F=parseInt(w["number-matrix-columns-spanned"],10)||0;R={s:{r:B,c:T},e:{r:B+D-1,c:T+F-1}};k.F=lt(R);L.push([R,k.F])}if(w.formula)k.f=bu(w.formula);else for(K=0;K=L[K][0].s.r&&B<=L[K][0].e.r)if(T>=L[K][0].s.c&&T<=L[K][0].e.c)k.F=L[K][1]}if(w["number-columns-spanned"]||w["number-rows-spanned"]){D=parseInt(w["number-rows-spanned"],10)||0;F=parseInt(w["number-columns-spanned"],10)||0;R={s:{r:B,c:T},e:{r:B+D-1,c:T+F-1}};y.push(R)}if(w["number-columns-repeated"])N=parseInt(w["number-columns-repeated"],10);switch(k.t){case"boolean":k.t="b";k.v=Le(w["boolean-value"]);break;case"float":k.t="n";k.v=parseFloat(w.value);break;case"percentage":k.t="n";k.v=parseFloat(w.value);break;case"currency":k.t="n";k.v=parseFloat(w.value);break;case"date":k.t="d";k.v=re(w["date-value"]);if(!i.cellDates){k.t="n";k.v=Z(k.v)}k.z="m/d/yy";break;case"time":k.t="n";k.v=J(w["time-value"])/86400;break;case"number":k.t="n";k.v=parseFloat(w["数据数值"]);break;default:if(k.t==="string"||k.t==="text"||!k.t){k.t="s";if(w["string-value"]!=null)S=xe(w["string-value"])}else throw new Error("Unsupported value type "+k.t);}}else{G=false;if(k.t==="s"){k.v=S||"";G=C==0}if(U.Target)k.l=U;if(W.length>0){k.c=W;W=[]}if(S&&i.cellText!==false)k.w=S;if(!G||i.sheetStubs){if(!(i.sheetRows&&i.sheetRows0)g[B+$][T+N]=ae(k)}else{g[it({r:B+$,c:T})]=k;while(--N>0)g[it({r:B+$,c:T+N})]=ae(k)}if(x.e.c<=T)x.e.c=T}}}N=parseInt(w["number-columns-repeated"]||"1",10);T+=N-1;N=0;k={};S=""}U={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":if(E[1]==="/"){if((o=l.pop())[0]!==E[3])throw"Bad state: "+o}else if(E[0].charAt(E[0].length-2)!=="/")l.push([E[3],true]);break;case"annotation":if(E[1]==="/"){if((o=l.pop())[0]!==E[3])throw"Bad state: "+o;V.t=S;V.a=z;W.push(V)}else if(E[0].charAt(E[0].length-2)!=="/"){l.push([E[3],false])}z="";X=0;S="";C=0;break;case"creator":if(E[1]==="/"){z=s.slice(X,E.index)}else X=E.index+E[0].length;break;case"meta":;case"元数据":;case"settings":;case"config-item-set":;case"config-item-map-indexed":;case"config-item-map-entry":;case"config-item-map-named":;case"shapes":;case"frame":;case"text-box":;case"image":;case"data-pilot-tables":;case"list-style":;case"form":;case"dde-links":;case"event-listeners":;case"chart":if(E[1]==="/"){if((o=l.pop())[0]!==E[3])throw"Bad state: "+o}else if(E[0].charAt(E[0].length-2)!=="/")l.push([E[3],false]);S="";C=0;break;case"scientific-number":break;case"currency-symbol":break;case"currency-style":break;case"number-style":;case"percentage-style":;case"date-style":;case"time-style":if(E[1]==="/"){A[c.name]=u;if((o=l.pop())[0]!==E[3])throw"Bad state: "+o}else if(E[0].charAt(E[0].length-2)!=="/"){u="";c=Ce(E[0],false);l.push([E[3],true])}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"master-styles":break;case"default-style":;case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(l[l.length-1][0]){case"time-style":;case"date-style":f=Ce(E[0],false);u+=r[E[3]][f.style==="long"?1:0];break;}break;case"fraction":break;case"day":;case"month":;case"year":;case"era":;case"day-of-week":;case"week-of-year":;case"quarter":;case"hours":;case"minutes":;case"seconds":;case"am-pm":switch(l[l.length-1][0]){case"time-style":;case"date-style":f=Ce(E[0],false);u+=r[E[3]][f.style==="long"?1:0];break;}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(E[0].slice(-2)==="/>")break;else if(E[1]==="/")switch(l[l.length-1][0]){case"number-style":;case"date-style":;case"time-style":u+=s.slice(h,E.index);break;}else h=E.index+E[0].length;break;case"named-range":f=Ce(E[0],false);H=Eu(f["cell-range-address"]);var Q={Name:f.name,Ref:H[0]+"!"+H[1]};if(j)Q.Sheet=b.length;M.Names.push(Q);break;case"text-content":break;case"text-properties":break;case"embedded-text":break;case"body":;case"电子表格":break;case"forms":break;case"table-column":break;case"table-header-rows":break;case"table-rows":break;case"table-column-group":break;case"table-header-columns":break;case"table-columns":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"label-range":break;case"label-ranges":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"tab":break;case"line-break":break;case"span":break;case"p":;case"文本串":if(E[1]==="/"&&(!w||!w["string-value"]))S=(S.length>0?S+"\n":"")+e(s.slice(C,E.index),_);else{_=Ce(E[0],false);C=E.index+E[0].length}break;case"s":break;case"database-range":if(E[1]==="/")break;try{H=Eu(Ce(E[0])["target-range-address"]);p[H[0]]["!autofilter"]={ref:H[1]}}catch(q){}break;case"date":break;case"object":break;case"title":;case"标题":break;case"desc":break;case"binary-data":break;case"table-source":break;case"scenario":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"help-message":break;case"error-message":break;case"database-ranges":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":;case"sender-lastname":;case"sender-initials":;case"sender-title":;case"sender-position":;case"sender-email":;case"sender-phone-private":;case"sender-fax":;case"sender-company":;case"sender-phone-work":;case"sender-street":;case"sender-city":;case"sender-postal-code":;case"sender-country":;case"sender-state-or-province":;case"author-name":;case"author-initials":;case"chapter":;case"file-name":;case"template-name":;case"sheet-name":break;case"event-listener":break;case"initial-creator":;case"creation-date":;case"print-date":;case"generator":;case"document-statistic":;case"user-defined":;case"editing-duration":;case"editing-cycles":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":break;case"cell-range-source":break;case"detective":break;case"operation":break;case"highlighted-range":break;case"data-pilot-table":;case"source-cell-range":;case"source-service":;case"data-pilot-field":;case"data-pilot-level":;case"data-pilot-subtotals":;case"data-pilot-subtotal":;case"data-pilot-members":;case"data-pilot-member":;case"data-pilot-display-info":;case"data-pilot-sort-info":;case"data-pilot-layout-info":;case"data-pilot-field-reference":;case"data-pilot-groups":;case"data-pilot-group":;case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":;case"dde-connection-decl":;case"dde-link":;case"dde-source":break;case"properties":break;case"property":break;case"a":if(E[1]!=="/"){U=Ce(E[0],false);if(!U.href)break;U.Target=U.href;delete U.href;if(U.Target.charAt(0)=="#"&&U.Target.indexOf(".")>-1){H=Eu(U.Target.slice(1));U.Target="#"+H[0]+"!"+H[1]}}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(E[2]){case"dc:":;case"calcext:":;case"loext:":;case"ooo:":;case"chartooo:":;case"draw:":;case"style:":;case"chart:":;case"form:":;case"uof:":;case"表:":;case"字:":break;default:if(i.WTF)throw new Error(E);};}var ee={Sheets:p,SheetNames:b,Workbook:M};if(i.bookSheets)delete ee.Sheets;return ee}}();function np(e,r){r=r||{};var t=!!he(e,"objectdata");if(t)Aa(ve(e,"META-INF/manifest.xml"),r);var a=pe(e,"content.xml");if(!a)throw new Error("Missing content.xml in "+(t?"ODS":"UOF")+" file");var n=ap(t?a:Me(a),r);if(he(e,"meta.xml"))n.Props=La(ve(e,"meta.xml"));return n}function ip(e,r){return ap(e,r)}var sp=function(){var e="";return function r(){return ge+e}}();var lp=function(){var e=function(e){return ye(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=" \n";var a=function(a,n,i){var s=[];s.push(' \n');var l=0,o=0,f=st(a["!ref"]);var c=a["!merges"]||[],u=0;var h=Array.isArray(a);for(l=0;l\n");for(;l<=f.e.r;++l){s.push(" \n");for(o=0;oo)continue;if(c[u].s.r>l)continue;if(c[u].e.c\n")}s.push(" \n");return s.join("")};var n=function(e){e.push(" \n");e.push(' \n');e.push(' \n');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");e.push(' \n');e.push(" \n")};return function i(e,r){var t=[ge];var i=Qe({"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"});var s=Qe({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods")t.push("\n");else t.push("\n");n(t);t.push(" \n");t.push(" \n");for(var l=0;l!=e.SheetNames.length;++l)t.push(a(e.Sheets[e.SheetNames[l]],e,l,r));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function op(e,r){if(r.bookType=="fods")return lp(e,r);var t=new me;var a="";var n=[];var i=[];a="mimetype";t.file(a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";t.file(a,lp(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";t.file(a,sp(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";t.file(a,Oa());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";t.file(a,Fa(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";t.file(a,ya(n));return t}function fp(e,r){if(!r)return 0;var t=e.SheetNames.indexOf(r);if(t==-1)throw new Error("Sheet not found: "+r);return t}function cp(e){return function r(t,a){var n=fp(t,a.sheet);return e.from_sheet(t.Sheets[t.SheetNames[n]],a,t)}}var up=cp(ep);var hp=cp({from_sheet:qp});var dp=cp(Ns);var vp=cp(Ls);var pp=cp(Us);var mp=cp(xl);var bp=cp({from_sheet:em});var gp=cp(Ps);var Ep=cp(Ms);function kp(e){return function r(t){for(var a=0;a!=e.length;++a){var n=e[a];if(t[n[0]]===undefined)t[n[0]]=n[1];if(n[2]==="n")t[n[0]]=Number(t[n[0]])}}}var wp=kp([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellText",true],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]]);var Sp=kp([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]]);function Cp(e){if(Sa.WS.indexOf(e)>-1)return"sheet";if(Sa.CS&&e==Sa.CS)return"chart";if(Sa.DS&&e==Sa.DS)return"dialog";if(Sa.MS&&e==Sa.MS)return"macro";return e&&e.length?e:"sheet"}function _p(e,r){if(!e)return 0;try{e=r.map(function a(r){if(!r.id)r.id=r.strRelID;return[r.name,e["!id"][r.id].Target,Cp(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function Bp(e,r,t,a,n,i,s,l,o,f,c,u){try{i[a]=_a(pe(e,t,true),r);var h=ve(e,r);switch(l){case"sheet":s[a]=Ld(h,r,n,o,i[a],f,c,u);break;case"chart":var d=Md(h,r,n,o,i[a],f,c,u);s[a]=d;if(!d||!d["!chart"])break;var v=be(d["!chart"].Target,r);var p=Ca(v);var m=af(pe(e,v,true),_a(pe(e,p,true),v));var b=be(m,v);var g=Ca(b);d=rd(pe(e,b,true),b,o,_a(pe(e,g,true),b),f,d);break;case"macro":s[a]=Ud(h,r,n,o,i[a],f,c,u);break;case"dialog":s[a]=Hd(h,r,n,o,i[a],f,c,u);break;}}catch(E){if(o.WTF)throw E}}var Tp=function Bm(e){return e.slice(-1)!="/"};function xp(e){return e.charAt(0)=="/"?e.slice(1):e}function Ip(e,r){y(A);r=r||{};wp(r);if(he(e,"META-INF/manifest.xml"))return np(e,r);if(he(e,"objectdata.xml"))return np(e,r);if(he(e,"Index/Document.iwa"))throw new Error("Unsupported NUMBERS file");var t=V(e.files).filter(Tp).sort();var a=ga(pe(e,"[Content_Types].xml"));var n=false;var i,s;if(a.workbooks.length===0){s="xl/workbook.xml";if(ve(e,s,true))a.workbooks.push(s)}if(a.workbooks.length===0){s="xl/workbook.bin";if(!ve(e,s,true))throw new Error("Could not find workbook");a.workbooks.push(s);n=true}if(a.workbooks[0].slice(-3)=="bin")n=true;var l={};var o={};if(!r.bookSheets&&!r.bookProps){wu=[];if(a.sst)wu=zd(ve(e,xp(a.sst)),a.sst,r);if(r.cellStyles&&a.themes.length)l=Vd(pe(e,a.themes[0].replace(/^\//,""),true)||"",a.themes[0],r);if(a.style)o=Wd(ve(e,xp(a.style)),a.style,l,r)}a.links.map(function(t){return jd(ve(e,xp(t)),t,r)});var f=Nd(ve(e,xp(a.workbooks[0])),a.workbooks[0],r);var c={},u="";if(a.coreprops.length){u=ve(e,xp(a.coreprops[0]),true);if(u)c=La(u);if(a.extprops.length!==0){u=ve(e,xp(a.extprops[0]),true);if(u)Va(u,c,r)}}var h={};if(!r.bookSheets||r.bookProps){if(a.custprops.length!==0){u=pe(e,xp(a.custprops[0]),true);if(u)h=ja(u,r)}}var d={};if(r.bookSheets||r.bookProps){if(f.Sheets)i=f.Sheets.map(function T(e){return e.name});else if(c.Worksheets&&c.SheetNames.length>0)i=c.SheetNames;if(r.bookProps){d.Props=c;d.Custprops=h}if(r.bookSheets&&typeof i!=="undefined")d.SheetNames=i;if(r.bookSheets?d.SheetNames:r.bookProps)return d}i={};var v={};if(r.bookDeps&&a.calcchain)v=Gd(ve(e,xp(a.calcchain)),a.calcchain,r);var p=0;var m={};var b,g;{var E=f.Sheets;c.Worksheets=E.length;c.SheetNames=[];for(var k=0;k!=E.length;++k){c.SheetNames[k]=E[k].name}}var w=n?"bin":"xml";var S="xl/_rels/workbook."+w+".rels";var C=_a(pe(e,S,true),S);if(C)C=_p(C,f.Sheets);var _=ve(e,"xl/worksheets/sheet.xml",true)?1:0;for(p=0;p!=c.Worksheets;++p){var B="sheet";if(C&&C[p]){b="xl/"+C[p][1].replace(/[\/]?xl\//,"");B=C[p][2]}else{b="xl/worksheets/sheet"+(p+1-_)+"."+w;b=b.replace(/sheet0\./,"sheet.")}g=b.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");Bp(e,b,g,c.SheetNames[p],p,m,i,B,r,f,l,o)}if(a.comments)lf(e,a.comments,i,m,r);d={Directory:a,Workbook:f,Props:c,Custprops:h,Deps:v,Sheets:i,SheetNames:c.SheetNames,Strings:wu,Styles:o,Themes:l,SSF:A.get_table()};if(r.bookFiles){d.keys=t;d.files=e.files}if(r.bookVBA){if(a.vba.length>0)d.vbaraw=ve(e,xp(a.vba[0]),true);else if(a.defaults&&a.defaults.bin===gf)d.vbaraw=ve(e,"xl/vbaProject.bin",true)}return d}function Ap(e,r){var t=r||{};var a="/!DataSpaces/Version";var n=N.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);sl(n.content);a="/!DataSpaces/DataSpaceMap";n=N.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=ol(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace";n=N.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=fl(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=N.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);ul(n.content);a="/EncryptionInfo";n=N.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var l=vl(n.content);a="/EncryptedPackage";n=N.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(l[0]==4&&typeof decrypt_agile!=="undefined")return decrypt_agile(l[1],n.content,t.password||"",t);if(l[0]==2&&typeof decrypt_std76!=="undefined")return decrypt_std76(l[1],n.content,t.password||"",t);throw new Error("File is password-protected")}function yp(e,r){nf=1024;if(r.bookType=="ods")return op(e,r);if(e&&!e.SSF){e.SSF=A.get_table()}if(e&&e.SSF){y(A);A.load_table(e.SSF);r.revssf=G(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;var t=r.bookType=="xlsb"?"bin":"xml";var a=wf.indexOf(r.bookType)>-1;var n=ba();Sp(r=r||{});var i=new me;var s="",l=0;r.cellXfs=[];Tu(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";i.file(s,Ha(e.Props,r));n.coreprops.push(s);xa(r.rels,2,s,Sa.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else e.Props.SheetNames=e.SheetNames.map(function(r,t){return[(e.Workbook.Sheets[t]||{}).Hidden!=2,r]}).filter(function(e){return e[0]}).map(function(e){return e[1]});e.Props.Worksheets=e.Props.SheetNames.length;i.file(s,Xa(e.Props,r));n.extprops.push(s);xa(r.rels,3,s,Sa.EXT_PROPS);if(e.Custprops!==e.Props&&V(e.Custprops||{}).length>0){s="docProps/custom.xml";i.file(s,Ya(e.Custprops,r));n.custprops.push(s);xa(r.rels,4,s,Sa.CUST_PROPS)}s="xl/workbook."+t;i.file(s,Kd(e,s,r));n.workbooks.push(s);xa(r.rels,1,s,Sa.WB);for(l=1;l<=e.SheetNames.length;++l){var o={"!id":{}};var f=e.Sheets[e.SheetNames[l-1]];var c=(f||{})["!type"]||"sheet";switch(c){case"chart":;default:s="xl/worksheets/sheet"+l+"."+t;i.file(s,Yd(l-1,s,r,e,o));n.sheets.push(s);xa(r.wbrels,-1,"worksheets/sheet"+l+"."+t,Sa.WS[0]);}if(f){var u=f["!comments"];if(u&&u.length>0){var h="xl/comments"+l+"."+t;i.file(h,Jd(u,h,r));n.comments.push(h);xa(o,-1,"../comments"+l+"."+t,Sa.CMNT)}if(f["!legacy"]){i.file("xl/drawings/vmlDrawing"+l+".vml",sf(l,f["!comments"]))}delete f["!comments"];delete f["!legacy"]}if(o["!id"].rId1)i.file(Ca(s),Ta(o))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;i.file(s,Qd(r.Strings,s,r));n.strs.push(s);xa(r.wbrels,-1,"sharedStrings."+t,Sa.SST)}s="xl/theme/theme1.xml";i.file(s,zo(e.Themes,r));n.themes.push(s);xa(r.wbrels,-1,"theme/theme1.xml",Sa.THEME);s="xl/styles."+t;i.file(s,Zd(e,s,r));n.styles.push(s);xa(r.wbrels,-1,"styles."+t,Sa.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";i.file(s,e.vbaraw);n.vba.push(s);xa(r.wbrels,-1,"vbaProject.bin",Sa.VBA)}i.file("[Content_Types].xml",wa(n,r));i.file("_rels/.rels",Ta(r.rels));i.file("xl/_rels/workbook."+t+".rels",Ta(r.wbrels));delete r.revssf;delete r.ssf;return i}function Rp(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3]];case"base64":t=g.decode(e.slice(0,24));break;case"binary":t=e;break;case"array":return[e[0],e[1],e[2],e[3]];default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"));}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]}function Dp(e,r){if(N.find(e,"EncryptedPackage"))return Ap(e,r);return Fv(e,r)}function Fp(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=E&&Buffer.isBuffer(e)?"buffer":"base64";switch(n.type){case"base64":t=new me(a,{base64:true});break;case"binary":;case"array":t=new me(a,{base64:false});break;case"buffer":t=new me(a);break;default:throw new Error("Unrecognized type "+n.type);}return Ip(t,n)}function Op(e,r){var t=0;e:while(t=2&&a[3]===0)return Ws.to_workbook(t,i);break;case 3:;case 131:;case 139:;case 140:return Ps.to_workbook(t,i);case 123:if(a[1]===92&&a[2]===114&&a[3]===116)return xl.to_workbook(t,i);break;case 10:;case 13:;case 32:return Pp(t,i);}if(a[2]<=12&&a[3]<=31)return Ps.to_workbook(t,i);return Mp(e,t,i,n)}function Hp(e,r){var t=r||{};t.type="file";return Up(e,t)}function Wp(e,r){var t=r||{};var a=yp(e,t);var n={};if(t.compression)n.compression="DEFLATE";switch(t.type){case"base64":n.type="base64";break;case"binary":n.type="string";break;case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");case"buffer":;case"file":n.type=E?"nodebuffer":"string";break;default:throw new Error("Unrecognized type "+t.type);}if(t.type==="file")return H(t.file,a.generate(n));var i=a.generate(n);return t.type=="string"?Me(i):i}function Vp(e,r){var t=r||{};var a=Ov(e,t);switch(t.type){case"base64":;case"binary":break;case"buffer":;case"array":t.type="";break;case"file":return H(t.file,N.write(a,{type:E?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");default:throw new Error("Unrecognized type "+t.type);}return N.write(a,t)}function zp(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return g.encode(Ue(a));case"binary":return Ue(a);case"string":return e;case"file":return H(r.file,a,"utf8");case"buffer":{if(E)return new Buffer(a,"utf8");else return zp(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Xp(e,r){switch(r.type){case"base64":return g.encode(e);case"binary":return e;case"string":return e;case"file":return H(r.file,e,"binary");case"buffer":{if(E)return new Buffer(e,"binary");else return e.split("").map(function(e){ -return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Gp(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var v=Zr(f.s.r);var p=[];var m=[];var b=0,g=0;var E=Array.isArray(e);var k=f.s.r,w=0,S=0;if(E&&!e[k])e[k]=[];for(w=f.s.c;w<=f.e.c;++w){p[w]=et(w);t=E?e[k][w]:e[p[w]+v];switch(a){case 1:i[w]=w-f.s.c;break;case 2:i[w]=p[w];break;case 3:i[w]=c.header[w-f.s.c];break;default:if(t==null)t={w:"__EMPTY",t:"s"};o=l=ct(t,null,c);g=0;for(S=0;S=0)c='"'+c.replace(Qp,'""')+'"'}else c="";f.push(c)}if(l.blankrows===false&&o)return null;return f.join(s)}function qp(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=ot(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var l=a.RS!==undefined?a.RS:"\n",o=l.charCodeAt(0);var f=new RegExp((i=="|"?"\\|":i)+"+$");var c="",u=[];a.dense=Array.isArray(e);var h=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(h[v]||{}).hidden)u[v]=et(v);for(var p=n.s.r;p<=n.e.r;++p){if((d[p]||{}).hidden)continue;c=Jp(e,n,p,u,s,o,i,a);if(c==null){continue}if(a.strip)c=c.replace(f,"");t.push(c+l)}delete a.dense;return t.join("")}function em(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=qp(e,r);if(typeof cptable=="undefined"||r.type=="string")return t;var a=cptable.utils.encode(1200,t,"str");return String.fromCharCode(255)+String.fromCharCode(254)+a}function rm(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=ot(e["!ref"]),i="",s=[],l;var o=[];var f=Array.isArray(e);for(l=n.s.c;l<=n.e.c;++l)s[l]=et(l);for(var c=n.s.r;c<=n.e.r;++c){i=Zr(c);for(l=n.s.c;l<=n.e.c;++l){r=s[l]+i;t=f?(e[c]||[])[l]:e[r];a="";if(t===undefined)continue;else if(t.F!=null){r=t.F;if(!t.f)continue;a=t.f;if(r.indexOf(":")==-1)r=r+":"+r}if(t.f!=null)a=t.f;else if(t.t=="z")continue;else if(t.t=="n"&&t.v!=null)a=""+t.v;else if(t.t=="b")a=t.v?"TRUE":"FALSE";else if(t.w!==undefined)a="'"+t.w;else if(t.v===undefined)continue;else if(t.t=="s")a="'"+t.v;else a=""+t.v;o[o.length]=r+"="+a}}return o}function tm(e,r,t){var a=t||{};var n=+!a.skipHeader;var i=e||{};var s=0,l=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var o=typeof a.origin=="string"?nt(a.origin):a.origin;s=o.r;l=o.c}}var f;var c={s:{c:0,r:0},e:{c:l,r:s+r.length-1+n}};if(i["!ref"]){var u=ot(i["!ref"]);c.e.c=Math.max(c.e.c,u.e.c);c.e.r=Math.max(c.e.r,u.e.r);if(s==-1){s=c.e.r+1;c.e.r=s+r.length-1+n}}var h=a.header||[],d=0;r.forEach(function(e,r){V(e).filter(function(r){return e.hasOwnProperty(r)}).forEach(function(t){if((d=h.indexOf(t))==-1)h[d=h.length]=t;var o=e[t];var c="z";var u="";if(typeof o=="number")c="n";else if(typeof o=="boolean")c="b";else if(typeof o=="string")c="s";else if(o instanceof Date){c="d";if(!a.cellDates){c="n";o=Z(o)}u=a.dateNF||A._table[14]}i[it({c:l+d,r:s+r+n})]=f={t:c,v:o};if(u)f.z=u})});c.e.c=Math.max(c.e.c,l+h.length-1);var v=Zr(s);if(n)for(d=0;d=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}else if(typeof r=="string"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}else throw new Error("Cannot find sheet |"+r+"|")}e.book_new=function(){return{SheetNames:[],Sheets:{}}};e.book_append_sheet=function(e,r,t){if(!t)for(var a=1;a<=65535;++a)if(e.SheetNames.indexOf(t="Sheet"+a)==-1)break;if(!t)throw new Error("Too many worksheets");bd(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r};e.book_set_sheet_visibility=function(e,r,a){t(e,"Workbook",{});t(e.Workbook,"Sheets",[]);var i=n(e,r);t(e.Workbook.Sheets,i,{});switch(a){case 0:;case 1:;case 2:break;default:throw new Error("Bad sheet visibility setting "+a);}e.Workbook.Sheets[i].Hidden=a};r([["SHEET_VISIBLE",0],["SHEET_HIDDEN",1],["SHEET_VERY_HIDDEN",2]]);e.cell_set_number_format=function(e,r){e.z=r;return e};e.cell_set_hyperlink=function(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e};e.cell_set_internal_link=function(r,t,a){return e.cell_set_hyperlink(r,"#"+t,a)};e.cell_add_comment=function(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})};e.sheet_set_array_formula=function(e,r,t){var n=typeof r!="string"?r:ot(r);var i=typeof r=="string"?r:lt(r);for(var s=n.s.r;s<=n.e.r;++s)for(var l=n.s.c;l<=n.e.c;++l){var o=a(e,s,l);o.t="n";o.F=i;delete o.v;if(s==n.s.r&&l==n.s.c)o.f=t}return e};return e})(nm);if(E&&typeof require!="undefined")(function(){var e={}.Readable;var t=function(r,t){var a=e();var n=t==null?{}:t;if(r==null||r["!ref"]==null){a.push(null);return a}var i=ot(r["!ref"]);var s=n.FS!==undefined?n.FS:",",l=s.charCodeAt(0);var o=n.RS!==undefined?n.RS:"\n",f=o.charCodeAt(0);var c=new RegExp((s=="|"?"\\|":s)+"+$");var u="",h=[];n.dense=Array.isArray(r);var d=n.skipHidden&&r["!cols"]||[];var v=n.skipHidden&&r["!rows"]||[];for(var p=i.s.c;p<=i.e.c;++p)if(!(d[p]||{}).hidden)h[p]=et(p);var m=i.s.r;a._read=function(){if(m>i.e.r)return a.push(null);while(m<=i.e.r){++m;if((v[m-1]||{}).hidden)continue;u=Jp(r,i,m-1,h,l,f,s,n);if(u!=null){if(n.strip)u=u.replace(c,"");a.push(u+o);break}}};return a};var a=function(r,t){var a=e();var n=t||{};var i=n.header!=null?n.header:ep.BEGIN;var s=n.footer!=null?n.footer:ep.END;a.push(i);var l=st(r["!ref"]);n.dense=Array.isArray(r);a.push(ep._preamble(r,l,n));var o=l.s.r;var f=false;a._read=function(){if(o>l.e.r){if(!f){f=true;a.push(""+s)}return a.push(null)}while(o<=l.e.r){a.push(ep._row(r,l,o,n));++o;break}};return a};r.stream={to_html:a,to_csv:t}})();r.parse_xlscfb=Fv;r.parse_ods=np;r.parse_fods=ip;r.write_ods=op;r.parse_zip=Ip;r.read=Up;r.readFile=Hp;r.readFileSync=Hp;r.write=jp;r.writeFile=Yp;r.writeFileSync=Yp;r.writeFileAsync=$p;r.utils=nm;r.SSF=A;r.CFB=N})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX,ODS=XLSX; +var DO_NOT_EXPORT_CODEPAGE=true;var DO_NOT_EXPORT_JSZIP=true;(function(e){if("object"==typeof exports&&"undefined"!=typeof module&&"undefined"==typeof DO_NOT_EXPORT_JSZIP)module.exports=e();else if("function"==typeof define&&define.amd){JSZip=e();define([],e)}else{var r;"undefined"!=typeof window?r=window:"undefined"!=typeof global?r=global:"undefined"!=typeof $&&$.global?r=$.global:"undefined"!=typeof self&&(r=self),r.JSZip=e()}})(function(){var e,r,t;return function a(e,r,t){function n(s,l){if(!r[s]){if(!e[s]){var f=typeof require=="function"&&require;if(!l&&f)return f(s,!0);if(i)return i(s,!0);throw new Error("Cannot find module '"+s+"'")}var o=r[s]={exports:{}};e[s][0].call(o.exports,function(r){var t=e[s][1][r];return n(t?t:r)},o,o.exports,a,e,r,t)}return r[s].exports}var i=typeof require=="function"&&require;for(var s=0;s>2;f=(n&3)<<4|i>>4;o=(i&15)<<2|s>>6;c=s&63;if(isNaN(i)){o=c=64}else if(isNaN(s)){c=64}t=t+a.charAt(l)+a.charAt(f)+a.charAt(o)+a.charAt(c)}return t};t.decode=function(e,r){var t="";var n,i,s;var l,f,o,c;var u=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(u>4;i=(f&15)<<4|o>>2;s=(o&3)<<6|c;t=t+String.fromCharCode(n);if(o!=64){t=t+String.fromCharCode(i)}if(c!=64){t=t+String.fromCharCode(s)}}return t}},{}],2:[function(e,r,t){"use strict";function a(){this.compressedSize=0;this.uncompressedSize=0;this.crc32=0;this.compressionMethod=null;this.compressedContent=null}a.prototype={getContent:function(){return null},getCompressedContent:function(){return null}};r.exports=a},{}],3:[function(e,r,t){"use strict";t.STORE={magic:"\0\0",compress:function(e){return e},uncompress:function(e){return e},compressInputType:null,uncompressInputType:null};t.DEFLATE=e("./flate")},{"./flate":8}],4:[function(e,r,t){"use strict";var a=e("./utils");var n=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];r.exports=function i(e,r){if(typeof e==="undefined"||!e.length){return 0}var t=a.getTypeOf(e)!=="string";if(typeof r=="undefined"){r=0}var i=0;var s=0;var l=0;r=r^-1;for(var f=0,o=e.length;f>>8^i}return r^-1}},{"./utils":21}],5:[function(e,r,t){"use strict";var a=e("./utils");function n(e){this.data=null;this.length=0;this.index=0}n.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length=this.index;t--){r=(r<<8)+this.byteAt(t)}this.index+=e;return r},readString:function(e){return a.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date((e>>25&127)+1980,(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(e&31)<<1)}};r.exports=n},{"./utils":21}],6:[function(e,r,t){"use strict";t.base64=false;t.binary=false;t.dir=false;t.createFolders=false;t.date=null;t.compression=null;t.comment=null},{}],7:[function(e,r,t){"use strict";var a=e("./utils");t.string2binary=function(e){return a.string2binary(e)};t.string2Uint8Array=function(e){return a.transformTo("uint8array",e)};t.uint8Array2String=function(e){return a.transformTo("string",e)};t.string2Blob=function(e){var r=a.transformTo("arraybuffer",e);return a.arrayBuffer2Blob(r)};t.arrayBuffer2Blob=function(e){return a.arrayBuffer2Blob(e)};t.transformTo=function(e,r){return a.transformTo(e,r)};t.getTypeOf=function(e){return a.getTypeOf(e)};t.checkSupport=function(e){return a.checkSupport(e)};t.MAX_VALUE_16BITS=a.MAX_VALUE_16BITS;t.MAX_VALUE_32BITS=a.MAX_VALUE_32BITS;t.pretty=function(e){return a.pretty(e)};t.findCompression=function(e){return a.findCompression(e)};t.isRegExp=function(e){return a.isRegExp(e)}},{"./utils":21}],8:[function(e,r,t){"use strict";var a=typeof Uint8Array!=="undefined"&&typeof Uint16Array!=="undefined"&&typeof Uint32Array!=="undefined";var n=e("pako");t.uncompressInputType=a?"uint8array":"array";t.compressInputType=a?"uint8array":"array";t.magic="\b\0";t.compress=function(e){return n.deflateRaw(e)};t.uncompress=function(e){return n.inflateRaw(e)}},{pako:24}],9:[function(e,r,t){"use strict";var a=e("./base64");function n(e,r){if(!(this instanceof n))return new n(e,r);this.files={};this.comment=null;this.root="";if(e){this.load(e,r)}this.clone=function(){var e=new n;for(var r in this){if(typeof this[r]!=="function"){e[r]=this[r]}}return e}}n.prototype=e("./object");n.prototype.load=e("./load");n.support=e("./support");n.defaults=e("./defaults");n.utils=e("./deprecatedPublicUtils");n.base64={encode:function(e){return a.encode(e)},decode:function(e){return a.decode(e)}};n.compressions=e("./compressions");r.exports=n},{"./base64":1,"./compressions":3,"./defaults":6,"./deprecatedPublicUtils":7,"./load":10,"./object":13,"./support":17}],10:[function(e,r,t){"use strict";var a=e("./base64");var n=e("./zipEntries");r.exports=function(e,r){var t,i,s,l;r=r||{};if(r.base64){e=a.decode(e)}i=new n(e,r);t=i.files;for(s=0;s>>8}return t};var k=function(){var e={},r,t;for(r=0;r0?e.substring(0,r):""};var C=function(e,r){if(e.slice(-1)!="/"){e+="/"}r=typeof r!=="undefined"?r:false;if(!this.files[e]){S.call(this,e,null,{dir:true,createFolders:r})}return this.files[e]};var B=function(e,r){var t=new c,a;if(e._data instanceof c){t.uncompressedSize=e._data.uncompressedSize;t.crc32=e._data.crc32;if(t.uncompressedSize===0||e.dir){r=o["STORE"];t.compressedContent="";t.crc32=0}else if(e._data.compressionMethod===r.magic){t.compressedContent=e._data.getCompressedContent()}else{a=e._data.getContent();t.compressedContent=r.compress(n.transformTo(r.compressInputType,a))}}else{a=m(e);if(!a||a.length===0||e.dir){r=o["STORE"];a=""}t.uncompressedSize=a.length;t.crc32=i(a);t.compressedContent=r.compress(n.transformTo(r.compressInputType,a))}t.compressedSize=t.compressedContent.length;t.compressionMethod=r.magic;return t};var T=function(e,r,t,a){var l=t.compressedContent,f=n.transformTo("string",h.utf8encode(r.name)),o=r.comment||"",c=n.transformTo("string",h.utf8encode(o)),u=f.length!==r.name.length,d=c.length!==o.length,v=r.options,p,m,b="",g="",k="",w,S;if(r._initialMetadata.dir!==r.dir){w=r.dir}else{w=v.dir}if(r._initialMetadata.date!==r.date){S=r.date}else{S=v.date}p=S.getHours();p=p<<6;p=p|S.getMinutes();p=p<<5;p=p|S.getSeconds()/2;m=S.getFullYear()-1980;m=m<<4;m=m|S.getMonth()+1;m=m<<5;m=m|S.getDate();if(u){g=E(1,1)+E(i(f),4)+f;b+="up"+E(g.length,2)+g}if(d){k=E(1,1)+E(this.crc32(c),4)+c;b+="uc"+E(k.length,2)+k}var _="";_+="\n\0";_+=u||d?"\0\b":"\0\0";_+=t.compressionMethod;_+=E(p,2);_+=E(m,2);_+=E(t.crc32,4);_+=E(t.compressedSize,4);_+=E(t.uncompressedSize,4);_+=E(f.length,2);_+=E(b.length,2);var C=s.LOCAL_FILE_HEADER+_+f+b;var B=s.CENTRAL_FILE_HEADER+"\0"+_+E(c.length,2)+"\0\0"+"\0\0"+(w===true?"\0\0\0":"\0\0\0\0")+E(a,4)+f+b+c;return{fileRecord:C,dirRecord:B,compressedObject:t}};var x={load:function(e,r){throw new Error("Load method is not defined. Is the file jszip-load.js included ?")},filter:function(e){var r=[],t,a,n,i;for(t in this.files){if(!this.files.hasOwnProperty(t)){continue}n=this.files[t];i=new g(n.name,n._data,k(n.options));a=t.slice(this.root.length,t.length);if(t.slice(0,this.root.length)===this.root&&e(a,i)){r.push(i)}}return r},file:function(e,r,t){if(arguments.length===1){if(n.isRegExp(e)){var a=e;return this.filter(function(e,r){return!r.dir&&a.test(e)})}else{return this.filter(function(r,t){return!t.dir&&r===e})[0]||null}}else{e=this.root+e;S.call(this,e,r,t)}return this},folder:function(e){if(!e){return this}if(n.isRegExp(e)){return this.filter(function(r,t){return t.dir&&e.test(r)})}var r=this.root+e;var t=C.call(this,r);var a=this.clone();a.root=t.name;return a},remove:function(e){e=this.root+e;var r=this.files[e];if(!r){if(e.slice(-1)!="/"){e+="/"}r=this.files[e]}if(r&&!r.dir){delete this.files[e]}else{var t=this.filter(function(r,t){return t.name.slice(0,e.length)===e});for(var a=0;a=0;--i){if(this.data[i]===r&&this.data[i+1]===t&&this.data[i+2]===a&&this.data[i+3]===n){return i}}return-1};n.prototype.readData=function(e){this.checkOffset(e);if(e===0){return new Uint8Array(0)}var r=this.data.subarray(this.index,this.index+e);this.index+=e;return r};r.exports=n},{"./dataReader":5}],19:[function(e,r,t){"use strict";var a=e("./utils");var n=function(e){this.data=new Uint8Array(e);this.index=0};n.prototype={append:function(e){if(e.length!==0){e=a.transformTo("uint8array",e);this.data.set(e,this.index);this.index+=e.length}},finalize:function(){return this.data}};r.exports=n},{"./utils":21}],20:[function(e,r,t){"use strict";var a=e("./utils");var n=e("./support");var i=e("./nodeBuffer");var s=new Array(256);for(var l=0;l<256;l++){s[l]=l>=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1}s[254]=s[254]=1;var f=function(e){var r,t,a,i,s,l=e.length,f=0;for(i=0;i>>6;r[s++]=128|t&63}else if(t<65536){r[s++]=224|t>>>12;r[s++]=128|t>>>6&63;r[s++]=128|t&63}else{r[s++]=240|t>>>18;r[s++]=128|t>>>12&63;r[s++]=128|t>>>6&63;r[s++]=128|t&63}}return r};var o=function(e,r){var t;r=r||e.length;if(r>e.length){r=e.length}t=r-1;while(t>=0&&(e[t]&192)===128){t--}if(t<0){return r}if(t===0){return r}return t+s[e[t]]>r?t:r};var c=function(e){var r,t,n,i,l;var f=e.length;var o=new Array(f*2);for(n=0,t=0;t4){o[n++]=65533;t+=l-1;continue}i&=l===2?31:l===3?15:7;while(l>1&&t1){o[n++]=65533;continue}if(i<65536){o[n++]=i}else{i-=65536;o[n++]=55296|i>>10&1023;o[n++]=56320|i&1023}}if(o.length!==n){if(o.subarray){o=o.subarray(0,n)}else{o.length=n}}return a.applyFromCharCode(o)};t.utf8encode=function u(e){if(n.nodebuffer){return i(e,"utf-8")}return f(e)};t.utf8decode=function h(e){if(n.nodebuffer){return a.transformTo("nodebuffer",e).toString("utf-8")}e=a.transformTo(n.uint8array?"uint8array":"array",e);var r=[],t=0,i=e.length,s=65536;while(t1){try{if(s==="array"||s==="nodebuffer"){a.push(String.fromCharCode.apply(null,e.slice(l,Math.min(l+r,n))))}else{a.push(String.fromCharCode.apply(null,e.subarray(l,Math.min(l+r,n))))}l+=r}catch(o){r=Math.floor(r/2)}}return a.join("")}t.applyFromCharCode=f;function o(e,r){for(var t=0;t1){throw new Error("Multi-volumes zip are not supported")}},readLocalFiles:function(){var e,r;for(e=0;e0){r.windowBits=-r.windowBits}else if(r.gzip&&r.windowBits>0&&r.windowBits<16){r.windowBits+=16}this.err=0;this.msg="";this.ended=false;this.chunks=[];this.strm=new l;this.strm.avail_out=0;var t=a.deflateInit2(this.strm,r.level,r.method,r.windowBits,r.memLevel,r.strategy);if(t!==c){throw new Error(s[t])}if(r.header){a.deflateSetHeader(this.strm,r.header)}};p.prototype.push=function(e,r){var t=this.strm;var s=this.options.chunkSize;var l,h;if(this.ended){return false}h=r===~~r?r:r===true?o:f;if(typeof e==="string"){t.input=i.string2buf(e)}else{t.input=e}t.next_in=0;t.avail_in=t.input.length;do{if(t.avail_out===0){t.output=new n.Buf8(s);t.next_out=0;t.avail_out=s}l=a.deflate(t,h);if(l!==u&&l!==c){this.onEnd(l);this.ended=true;return false}if(t.avail_out===0||t.avail_in===0&&h===o){if(this.options.to==="string"){this.onData(i.buf2binstring(n.shrinkBuf(t.output,t.next_out)))}else{this.onData(n.shrinkBuf(t.output,t.next_out))}}}while((t.avail_in>0||t.avail_out===0)&&l!==u);if(h===o){l=a.deflateEnd(this.strm);this.onEnd(l);this.ended=true;return l===c}return true};p.prototype.onData=function(e){this.chunks.push(e)};p.prototype.onEnd=function(e){if(e===c){if(this.options.to==="string"){this.result=this.chunks.join("")}else{this.result=n.flattenChunks(this.chunks)}}this.chunks=[];this.err=e;this.msg=this.strm.msg};function m(e,r){var t=new p(r);t.push(e,true);if(t.err){throw t.msg}return t.result}function b(e,r){r=r||{};r.raw=true;return m(e,r)}function g(e,r){r=r||{};r.gzip=true;return m(e,r)}t.Deflate=p;t.deflate=m;t.deflateRaw=b;t.gzip=g},{"./utils/common":27,"./utils/strings":28,"./zlib/deflate.js":32,"./zlib/messages":37,"./zlib/zstream":39}],26:[function(e,r,t){"use strict";var a=e("./zlib/inflate.js");var n=e("./utils/common");var i=e("./utils/strings");var s=e("./zlib/constants");var l=e("./zlib/messages");var f=e("./zlib/zstream");var o=e("./zlib/gzheader");var c=function(e){this.options=n.assign({chunkSize:16384,windowBits:0,to:""},e||{});var r=this.options;if(r.raw&&r.windowBits>=0&&r.windowBits<16){r.windowBits=-r.windowBits;if(r.windowBits===0){r.windowBits=-15}}if(r.windowBits>=0&&r.windowBits<16&&!(e&&e.windowBits)){r.windowBits+=32}if(r.windowBits>15&&r.windowBits<48){if((r.windowBits&15)===0){r.windowBits|=15}}this.err=0;this.msg="";this.ended=false;this.chunks=[];this.strm=new f;this.strm.avail_out=0;var t=a.inflateInit2(this.strm,r.windowBits);if(t!==s.Z_OK){throw new Error(l[t])}this.header=new o;a.inflateGetHeader(this.strm,this.header)};c.prototype.push=function(e,r){var t=this.strm;var l=this.options.chunkSize;var f,o;var c,u,h;if(this.ended){return false}o=r===~~r?r:r===true?s.Z_FINISH:s.Z_NO_FLUSH;if(typeof e==="string"){t.input=i.binstring2buf(e)}else{t.input=e}t.next_in=0;t.avail_in=t.input.length;do{if(t.avail_out===0){t.output=new n.Buf8(l);t.next_out=0;t.avail_out=l}f=a.inflate(t,s.Z_NO_FLUSH);if(f!==s.Z_STREAM_END&&f!==s.Z_OK){this.onEnd(f);this.ended=true;return false}if(t.next_out){if(t.avail_out===0||f===s.Z_STREAM_END||t.avail_in===0&&o===s.Z_FINISH){if(this.options.to==="string"){c=i.utf8border(t.output,t.next_out);u=t.next_out-c;h=i.buf2string(t.output,c);t.next_out=u;t.avail_out=l-u;if(u){n.arraySet(t.output,t.output,c,u,0)}this.onData(h)}else{this.onData(n.shrinkBuf(t.output,t.next_out))}}}}while(t.avail_in>0&&f!==s.Z_STREAM_END);if(f===s.Z_STREAM_END){o=s.Z_FINISH}if(o===s.Z_FINISH){f=a.inflateEnd(this.strm);this.onEnd(f);this.ended=true;return f===s.Z_OK}return true};c.prototype.onData=function(e){this.chunks.push(e)};c.prototype.onEnd=function(e){if(e===s.Z_OK){if(this.options.to==="string"){this.result=this.chunks.join("")}else{this.result=n.flattenChunks(this.chunks)}}this.chunks=[];this.err=e;this.msg=this.strm.msg};function u(e,r){var t=new c(r);t.push(e,true);if(t.err){throw t.msg}return t.result}function h(e,r){r=r||{};r.raw=true;return u(e,r)}t.Inflate=c;t.inflate=u;t.inflateRaw=h;t.ungzip=u},{"./utils/common":27,"./utils/strings":28,"./zlib/constants":30,"./zlib/gzheader":33,"./zlib/inflate.js":35,"./zlib/messages":37,"./zlib/zstream":39}],27:[function(e,r,t){"use strict";var a=typeof Uint8Array!=="undefined"&&typeof Uint16Array!=="undefined"&&typeof Int32Array!=="undefined";t.assign=function(e){var r=Array.prototype.slice.call(arguments,1);while(r.length){var t=r.shift();if(!t){continue}if(typeof t!=="object"){throw new TypeError(t+"must be non-object")}for(var a in t){if(t.hasOwnProperty(a)){e[a]=t[a]}}}return e};t.shrinkBuf=function(e,r){if(e.length===r){return e}if(e.subarray){return e.subarray(0,r)}e.length=r;return e};var n={arraySet:function(e,r,t,a,n){if(r.subarray&&e.subarray){e.set(r.subarray(t,t+a),n);return}for(var i=0;i=252?6:f>=248?5:f>=240?4:f>=224?3:f>=192?2:1}l[254]=l[254]=1;t.string2buf=function(e){var r,t,n,i,s,l=e.length,f=0;for(i=0;i>>6;r[s++]=128|t&63}else if(t<65536){r[s++]=224|t>>>12;r[s++]=128|t>>>6&63;r[s++]=128|t&63}else{r[s++]=240|t>>>18;r[s++]=128|t>>>12&63;r[s++]=128|t>>>6&63;r[s++]=128|t&63}}return r};function o(e,r){if(r<65537){if(e.subarray&&i||!e.subarray&&n){return String.fromCharCode.apply(null,a.shrinkBuf(e,r))}}var t="";for(var s=0;s4){f[a++]=65533;t+=i-1;continue}n&=i===2?31:i===3?15:7;while(i>1&&t1){f[a++]=65533;continue}if(n<65536){f[a++]=n}else{n-=65536;f[a++]=55296|n>>10&1023;f[a++]=56320|n&1023}}return o(f,a)};t.utf8border=function(e,r){var t;r=r||e.length;if(r>e.length){r=e.length}t=r-1;while(t>=0&&(e[t]&192)===128){t--}if(t<0){return r}if(t===0){return r}return t+l[e[t]]>r?t:r}},{"./common":27}],29:[function(e,r,t){"use strict";function a(e,r,t,a){var n=e&65535|0,i=e>>>16&65535|0,s=0;while(t!==0){s=t>2e3?2e3:t;t-=s;do{n=n+r[a++]|0;i=i+n|0}while(--s);n%=65521;i%=65521}return n|i<<16|0}r.exports=a},{}],30:[function(e,r,t){r.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],31:[function(e,r,t){"use strict";function a(){var e,r=[];for(var t=0;t<256;t++){e=t;for(var a=0;a<8;a++){e=e&1?3988292384^e>>>1:e>>>1}r[t]=e}return r}var n=a();function i(e,r,t,a){var i=n,s=a+t;e=e^-1;for(var l=a;l>>8^i[(e^r[l])&255]}return e^-1}r.exports=i},{}],32:[function(e,r,t){"use strict";var a=e("../utils/common");var n=e("./trees");var i=e("./adler32");var s=e("./crc32");var l=e("./messages");var f=0;var o=1;var c=3;var u=4;var h=5;var d=0;var v=1;var p=-2;var m=-3;var b=-5;var g=-1;var E=1;var k=2;var w=3;var S=4;var _=0;var C=2;var B=8;var T=9;var x=15;var y=8;var I=29;var A=256;var R=A+1+I;var F=30;var D=19;var O=2*R+1;var P=15;var N=3;var L=258;var M=L+N+1;var U=32;var H=42;var W=69;var V=73;var z=91;var X=103;var G=113;var j=666;var K=1;var Y=2;var $=3;var Z=4;var Q=3;function J(e,r){e.msg=l[r];return r}function q(e){return(e<<1)-(e>4?9:0)}function ee(e){var r=e.length;while(--r>=0){e[r]=0}}function re(e){var r=e.state;var t=r.pending;if(t>e.avail_out){t=e.avail_out}if(t===0){return}a.arraySet(e.output,r.pending_buf,r.pending_out,t,e.next_out);e.next_out+=t;r.pending_out+=t;e.total_out+=t;e.avail_out-=t;r.pending-=t;if(r.pending===0){r.pending_out=0}}function te(e,r){n._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,r);e.block_start=e.strstart;re(e.strm)}function ae(e,r){e.pending_buf[e.pending++]=r}function ne(e,r){e.pending_buf[e.pending++]=r>>>8&255;e.pending_buf[e.pending++]=r&255}function ie(e,r,t,n){var l=e.avail_in;if(l>n){l=n}if(l===0){return 0}e.avail_in-=l;a.arraySet(r,e.input,e.next_in,l,t);if(e.state.wrap===1){e.adler=i(e.adler,r,l,t)}else if(e.state.wrap===2){e.adler=s(e.adler,r,l,t)}e.next_in+=l;e.total_in+=l;return l}function se(e,r){var t=e.max_chain_length;var a=e.strstart;var n;var i;var s=e.prev_length;var l=e.nice_match;var f=e.strstart>e.w_size-M?e.strstart-(e.w_size-M):0;var o=e.window;var c=e.w_mask;var u=e.prev;var h=e.strstart+L;var d=o[a+s-1];var v=o[a+s];if(e.prev_length>=e.good_match){t>>=2}if(l>e.lookahead){l=e.lookahead}do{n=r;if(o[n+s]!==v||o[n+s-1]!==d||o[n]!==o[a]||o[++n]!==o[a+1]){continue}a+=2;n++;do{}while(o[++a]===o[++n]&&o[++a]===o[++n]&&o[++a]===o[++n]&&o[++a]===o[++n]&&o[++a]===o[++n]&&o[++a]===o[++n]&&o[++a]===o[++n]&&o[++a]===o[++n]&&as){e.match_start=r;s=i;if(i>=l){break}d=o[a+s-1];v=o[a+s]}}while((r=u[r&c])>f&&--t!==0);if(s<=e.lookahead){return s}return e.lookahead}function le(e){var r=e.w_size;var t,n,i,s,l;do{s=e.window_size-e.lookahead-e.strstart;if(e.strstart>=r+(r-M)){a.arraySet(e.window,e.window,r,r,0);e.match_start-=r;e.strstart-=r;e.block_start-=r;n=e.hash_size;t=n;do{i=e.head[--t];e.head[t]=i>=r?i-r:0}while(--n);n=r;t=n;do{i=e.prev[--t];e.prev[t]=i>=r?i-r:0}while(--n);s+=r}if(e.strm.avail_in===0){break}n=ie(e.strm,e.window,e.strstart+e.lookahead,s);e.lookahead+=n;if(e.lookahead+e.insert>=N){l=e.strstart-e.insert;e.ins_h=e.window[l];e.ins_h=(e.ins_h<e.pending_buf_size-5){t=e.pending_buf_size-5}for(;;){if(e.lookahead<=1){le(e);if(e.lookahead===0&&r===f){return K}if(e.lookahead===0){break}}e.strstart+=e.lookahead;e.lookahead=0;var a=e.block_start+t;if(e.strstart===0||e.strstart>=a){e.lookahead=e.strstart-a;e.strstart=a;te(e,false);if(e.strm.avail_out===0){return K}}if(e.strstart-e.block_start>=e.w_size-M){te(e,false);if(e.strm.avail_out===0){return K}}}e.insert=0;if(r===u){te(e,true);if(e.strm.avail_out===0){return $}return Z}if(e.strstart>e.block_start){te(e,false);if(e.strm.avail_out===0){return K}}return K}function oe(e,r){var t;var a;for(;;){if(e.lookahead=N){e.ins_h=(e.ins_h<=N){a=n._tr_tally(e,e.strstart-e.match_start,e.match_length-N);e.lookahead-=e.match_length;if(e.match_length<=e.max_lazy_match&&e.lookahead>=N){e.match_length--;do{e.strstart++;e.ins_h=(e.ins_h<=N){e.ins_h=(e.ins_h<4096)){e.match_length=N-1}}if(e.prev_length>=N&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-N;a=n._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-N);e.lookahead-=e.prev_length-1;e.prev_length-=2;do{if(++e.strstart<=i){e.ins_h=(e.ins_h<=N&&e.strstart>0){i=e.strstart-1;a=l[i];if(a===l[++i]&&a===l[++i]&&a===l[++i]){s=e.strstart+L;do{}while(a===l[++i]&&a===l[++i]&&a===l[++i]&&a===l[++i]&&a===l[++i]&&a===l[++i]&&a===l[++i]&&a===l[++i]&&ie.lookahead){e.match_length=e.lookahead}}}if(e.match_length>=N){t=n._tr_tally(e,1,e.match_length-N);e.lookahead-=e.match_length;e.strstart+=e.match_length;e.match_length=0}else{t=n._tr_tally(e,0,e.window[e.strstart]);e.lookahead--;e.strstart++}if(t){te(e,false);if(e.strm.avail_out===0){return K}}}e.insert=0;if(r===u){te(e,true);if(e.strm.avail_out===0){return $}return Z}if(e.last_lit){te(e,false);if(e.strm.avail_out===0){return K}}return Y}function he(e,r){var t;for(;;){if(e.lookahead===0){le(e);if(e.lookahead===0){if(r===f){return K}break}}e.match_length=0;t=n._tr_tally(e,0,e.window[e.strstart]);e.lookahead--;e.strstart++;if(t){te(e,false);if(e.strm.avail_out===0){return K}}}e.insert=0;if(r===u){te(e,true);if(e.strm.avail_out===0){return $}return Z}if(e.last_lit){te(e,false);if(e.strm.avail_out===0){return K}}return Y}var de=function(e,r,t,a,n){this.good_length=e;this.max_lazy=r;this.nice_length=t;this.max_chain=a;this.func=n};var ve;ve=[new de(0,0,0,0,fe),new de(4,4,8,4,oe),new de(4,5,16,8,oe),new de(4,6,32,32,oe),new de(4,4,16,16,ce),new de(8,16,32,32,ce),new de(8,16,128,128,ce),new de(8,32,128,256,ce),new de(32,128,258,1024,ce),new de(32,258,258,4096,ce)];function pe(e){e.window_size=2*e.w_size;ee(e.head);e.max_lazy_match=ve[e.level].max_lazy;e.good_match=ve[e.level].good_length;e.nice_match=ve[e.level].nice_length;e.max_chain_length=ve[e.level].max_chain;e.strstart=0;e.block_start=0;e.lookahead=0;e.insert=0;e.match_length=e.prev_length=N-1;e.match_available=0;e.ins_h=0}function me(){this.strm=null;this.status=0;this.pending_buf=null;this.pending_buf_size=0;this.pending_out=0;this.pending=0;this.wrap=0;this.gzhead=null;this.gzindex=0;this.method=B;this.last_flush=-1;this.w_size=0;this.w_bits=0;this.w_mask=0;this.window=null;this.window_size=0;this.prev=null;this.head=null;this.ins_h=0;this.hash_size=0;this.hash_bits=0;this.hash_mask=0;this.hash_shift=0;this.block_start=0;this.match_length=0;this.prev_match=0;this.match_available=0;this.strstart=0;this.match_start=0;this.lookahead=0;this.prev_length=0;this.max_chain_length=0;this.max_lazy_match=0;this.level=0;this.strategy=0;this.good_match=0;this.nice_match=0;this.dyn_ltree=new a.Buf16(O*2);this.dyn_dtree=new a.Buf16((2*F+1)*2);this.bl_tree=new a.Buf16((2*D+1)*2);ee(this.dyn_ltree);ee(this.dyn_dtree);ee(this.bl_tree);this.l_desc=null;this.d_desc=null;this.bl_desc=null;this.bl_count=new a.Buf16(P+1);this.heap=new a.Buf16(2*R+1);ee(this.heap);this.heap_len=0;this.heap_max=0;this.depth=new a.Buf16(2*R+1);ee(this.depth);this.l_buf=0;this.lit_bufsize=0;this.last_lit=0;this.d_buf=0;this.opt_len=0;this.static_len=0;this.matches=0;this.insert=0;this.bi_buf=0;this.bi_valid=0}function be(e){var r;if(!e||!e.state){return J(e,p)}e.total_in=e.total_out=0;e.data_type=C;r=e.state;r.pending=0;r.pending_out=0;if(r.wrap<0){r.wrap=-r.wrap}r.status=r.wrap?H:G;e.adler=r.wrap===2?0:1;r.last_flush=f;n._tr_init(r);return d}function ge(e){var r=be(e);if(r===d){pe(e.state)}return r}function Ee(e,r){if(!e||!e.state){return p}if(e.state.wrap!==2){return p}e.state.gzhead=r;return d}function ke(e,r,t,n,i,s){if(!e){return p}var l=1;if(r===g){r=6}if(n<0){l=0;n=-n}else if(n>15){l=2;n-=16}if(i<1||i>T||t!==B||n<8||n>15||r<0||r>9||s<0||s>S){return J(e,p)}if(n===8){n=9}var f=new me;e.state=f;f.strm=e;f.wrap=l;f.gzhead=null;f.w_bits=n;f.w_size=1<>1;f.l_buf=(1+2)*f.lit_bufsize;f.level=r;f.strategy=s;f.method=t;return ge(e)}function we(e,r){return ke(e,r,B,x,y,_)}function Se(e,r){var t,a;var i,l;if(!e||!e.state||r>h||r<0){return e?J(e,p):p}a=e.state;if(!e.output||!e.input&&e.avail_in!==0||a.status===j&&r!==u){return J(e,e.avail_out===0?b:p)}a.strm=e;t=a.last_flush;a.last_flush=r;if(a.status===H){if(a.wrap===2){e.adler=0;ae(a,31);ae(a,139);ae(a,8);if(!a.gzhead){ae(a,0);ae(a,0);ae(a,0);ae(a,0);ae(a,0);ae(a,a.level===9?2:a.strategy>=k||a.level<2?4:0);ae(a,Q);a.status=G}else{ae(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(!a.gzhead.extra?0:4)+(!a.gzhead.name?0:8)+(!a.gzhead.comment?0:16));ae(a,a.gzhead.time&255);ae(a,a.gzhead.time>>8&255);ae(a,a.gzhead.time>>16&255);ae(a,a.gzhead.time>>24&255);ae(a,a.level===9?2:a.strategy>=k||a.level<2?4:0);ae(a,a.gzhead.os&255);if(a.gzhead.extra&&a.gzhead.extra.length){ae(a,a.gzhead.extra.length&255);ae(a,a.gzhead.extra.length>>8&255)}if(a.gzhead.hcrc){e.adler=s(e.adler,a.pending_buf,a.pending,0)}a.gzindex=0;a.status=W}}else{var m=B+(a.w_bits-8<<4)<<8;var g=-1;if(a.strategy>=k||a.level<2){g=0}else if(a.level<6){g=1}else if(a.level===6){g=2}else{g=3}m|=g<<6;if(a.strstart!==0){m|=U}m+=31-m%31;a.status=G;ne(a,m);if(a.strstart!==0){ne(a,e.adler>>>16);ne(a,e.adler&65535)}e.adler=1}}if(a.status===W){if(a.gzhead.extra){i=a.pending;while(a.gzindex<(a.gzhead.extra.length&65535)){if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i){e.adler=s(e.adler,a.pending_buf,a.pending-i,i)}re(e);i=a.pending;if(a.pending===a.pending_buf_size){break}}ae(a,a.gzhead.extra[a.gzindex]&255);a.gzindex++}if(a.gzhead.hcrc&&a.pending>i){e.adler=s(e.adler,a.pending_buf,a.pending-i,i)}if(a.gzindex===a.gzhead.extra.length){a.gzindex=0;a.status=V}}else{a.status=V}}if(a.status===V){if(a.gzhead.name){i=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i){e.adler=s(e.adler,a.pending_buf,a.pending-i,i)}re(e);i=a.pending;if(a.pending===a.pending_buf_size){l=1;break}}if(a.gzindexi){e.adler=s(e.adler,a.pending_buf,a.pending-i,i)}if(l===0){a.gzindex=0;a.status=z}}else{a.status=z}}if(a.status===z){if(a.gzhead.comment){i=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i){e.adler=s(e.adler,a.pending_buf,a.pending-i,i)}re(e);i=a.pending;if(a.pending===a.pending_buf_size){l=1;break}}if(a.gzindexi){e.adler=s(e.adler,a.pending_buf,a.pending-i,i)}if(l===0){a.status=X}}else{a.status=X}}if(a.status===X){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size){re(e)}if(a.pending+2<=a.pending_buf_size){ae(a,e.adler&255);ae(a,e.adler>>8&255);e.adler=0;a.status=G}}else{a.status=G}}if(a.pending!==0){re(e);if(e.avail_out===0){a.last_flush=-1;return d}}else if(e.avail_in===0&&q(r)<=q(t)&&r!==u){return J(e,b)}if(a.status===j&&e.avail_in!==0){return J(e,b)}if(e.avail_in!==0||a.lookahead!==0||r!==f&&a.status!==j){var E=a.strategy===k?he(a,r):a.strategy===w?ue(a,r):ve[a.level].func(a,r);if(E===$||E===Z){a.status=j}if(E===K||E===$){if(e.avail_out===0){a.last_flush=-1}return d}if(E===Y){if(r===o){n._tr_align(a)}else if(r!==h){n._tr_stored_block(a,0,0,false);if(r===c){ee(a.head);if(a.lookahead===0){a.strstart=0;a.block_start=0;a.insert=0}}}re(e);if(e.avail_out===0){a.last_flush=-1;return d}}}if(r!==u){return d}if(a.wrap<=0){return v}if(a.wrap===2){ae(a,e.adler&255);ae(a,e.adler>>8&255);ae(a,e.adler>>16&255);ae(a,e.adler>>24&255);ae(a,e.total_in&255);ae(a,e.total_in>>8&255);ae(a,e.total_in>>16&255);ae(a,e.total_in>>24&255)}else{ne(a,e.adler>>>16);ne(a,e.adler&65535)}re(e);if(a.wrap>0){a.wrap=-a.wrap}return a.pending!==0?d:v}function _e(e){var r;if(!e||!e.state){return p}r=e.state.status;if(r!==H&&r!==W&&r!==V&&r!==z&&r!==X&&r!==G&&r!==j){return J(e,p)}e.state=null;return r===G?J(e,m):d}t.deflateInit=we;t.deflateInit2=ke;t.deflateReset=ge;t.deflateResetKeep=be;t.deflateSetHeader=Ee;t.deflate=Se;t.deflateEnd=_e;t.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./messages":37,"./trees":38}],33:[function(e,r,t){"use strict";function a(){this.text=0;this.time=0;this.xflags=0;this.os=0;this.extra=null;this.extra_len=0;this.name="";this.comment="";this.hcrc=0;this.done=false}r.exports=a},{}],34:[function(e,r,t){"use strict";var a=30;var n=12;r.exports=function i(e,r){var t;var i;var s;var l;var f;var o;var c;var u;var h;var d;var v;var p;var m;var b;var g;var E;var k;var w;var S;var _;var C;var B;var T;var x,y;t=e.state;i=e.next_in;x=e.input;s=i+(e.avail_in-5);l=e.next_out;y=e.output;f=l-(r-e.avail_out);o=l+(e.avail_out-257);c=t.dmax;u=t.wsize;h=t.whave;d=t.wnext;v=t.window;p=t.hold;m=t.bits;b=t.lencode;g=t.distcode;E=(1<>>24;p>>>=S;m-=S;S=w>>>16&255;if(S===0){y[l++]=w&65535}else if(S&16){_=w&65535;S&=15;if(S){if(m>>=S;m-=S}if(m<15){p+=x[i++]<>>24;p>>>=S;m-=S;S=w>>>16&255;if(S&16){C=w&65535;S&=15;if(mc){e.msg="invalid distance too far back";t.mode=a;break e}p>>>=S;m-=S;S=l-f;if(C>S){S=C-S;if(S>h){if(t.sane){e.msg="invalid distance too far back";t.mode=a;break e}}B=0;T=v;if(d===0){B+=u-S;if(S<_){_-=S;do{y[l++]=v[B++]}while(--S);B=l-C;T=y}}else if(d2){y[l++]=T[B++];y[l++]=T[B++];y[l++]=T[B++];_-=3}if(_){y[l++]=T[B++];if(_>1){y[l++]=T[B++]}}}else{B=l-C;do{y[l++]=y[B++];y[l++]=y[B++];y[l++]=y[B++];_-=3}while(_>2);if(_){y[l++]=y[B++];if(_>1){y[l++]=y[B++]}}}}else if((S&64)===0){w=g[(w&65535)+(p&(1<>3;i-=_;m-=_<<3;p&=(1<>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function ie(){this.mode=0;this.last=false;this.wrap=0;this.havedict=false;this.flags=0;this.dmax=0;this.check=0;this.total=0;this.head=null;this.wbits=0;this.wsize=0;this.whave=0;this.wnext=0;this.window=null;this.hold=0;this.bits=0;this.length=0;this.offset=0;this.extra=0;this.lencode=null;this.distcode=null;this.lenbits=0;this.distbits=0;this.ncode=0;this.nlen=0;this.ndist=0;this.have=0;this.next=null;this.lens=new a.Buf16(320);this.work=new a.Buf16(288);this.lendyn=null;this.distdyn=null;this.sane=0;this.back=0;this.was=0}function se(e){var r;if(!e||!e.state){return b}r=e.state;e.total_in=e.total_out=r.total=0;e.msg="";if(r.wrap){e.adler=r.wrap&1}r.mode=S;r.last=0;r.havedict=0;r.dmax=32768;r.head=null;r.hold=0;r.bits=0;r.lencode=r.lendyn=new a.Buf32(ee);r.distcode=r.distdyn=new a.Buf32(re);r.sane=1;r.back=-1;return v}function le(e){var r;if(!e||!e.state){return b}r=e.state;r.wsize=0;r.whave=0;r.wnext=0;return se(e)}function fe(e,r){var t;var a;if(!e||!e.state){return b}a=e.state;if(r<0){t=0;r=-r}else{t=(r>>4)+1;if(r<48){r&=15}}if(r&&(r<8||r>15)){return b}if(a.window!==null&&a.wbits!==r){a.window=null}a.wrap=t;a.wbits=r;return le(e)}function oe(e,r){var t;var a;if(!e){return b}a=new ie;e.state=a;a.window=null;t=fe(e,r);if(t!==v){e.state=null}return t}function ce(e){return oe(e,ae)}var ue=true;var he,de;function ve(e){if(ue){var r;he=new a.Buf32(512);de=new a.Buf32(32);r=0;while(r<144){e.lens[r++]=8}while(r<256){e.lens[r++]=9}while(r<280){e.lens[r++]=7}while(r<288){e.lens[r++]=8}l(o,e.lens,0,288,he,0,e.work,{bits:9});r=0;while(r<32){e.lens[r++]=5}l(c,e.lens,0,32,de,0,e.work,{bits:5});ue=false}e.lencode=he;e.lenbits=9;e.distcode=de;e.distbits=5}function pe(e,r,t,n){var i;var s=e.state;if(s.window===null){s.wsize=1<=s.wsize){a.arraySet(s.window,r,t-s.wsize,s.wsize,0);s.wnext=0;s.whave=s.wsize}else{i=s.wsize-s.wnext;if(i>n){i=n}a.arraySet(s.window,r,t-n,i,s.wnext);n-=i;if(n){a.arraySet(s.window,r,t-n,n,0);s.wnext=n;s.whave=s.wsize}else{s.wnext+=i;if(s.wnext===s.wsize){s.wnext=0}if(s.whave>>8&255;t.check=i(t.check,Be,2,0);le=0;fe=0;t.mode=_;break}t.flags=0;if(t.head){t.head.done=false}if(!(t.wrap&1)||(((le&255)<<8)+(le>>8))%31){e.msg="incorrect header check";t.mode=Q;break}if((le&15)!==w){e.msg="unknown compression method";t.mode=Q;break}le>>>=4;fe-=4;_e=(le&15)+8;if(t.wbits===0){t.wbits=_e}else if(_e>t.wbits){e.msg="invalid window size";t.mode=Q;break}t.dmax=1<<_e;e.adler=t.check=1;t.mode=le&512?R:D;le=0;fe=0;break;case _:while(fe<16){if(ie===0){break e}ie--;le+=ee[te++]<>8&1}if(t.flags&512){Be[0]=le&255;Be[1]=le>>>8&255;t.check=i(t.check,Be,2,0)}le=0;fe=0;t.mode=C;case C:while(fe<32){if(ie===0){break e}ie--;le+=ee[te++]<>>8&255;Be[2]=le>>>16&255;Be[3]=le>>>24&255;t.check=i(t.check,Be,4,0)}le=0;fe=0;t.mode=B;case B:while(fe<16){if(ie===0){break e}ie--;le+=ee[te++]<>8}if(t.flags&512){Be[0]=le&255;Be[1]=le>>>8&255;t.check=i(t.check,Be,2,0)}le=0;fe=0;t.mode=T;case T:if(t.flags&1024){while(fe<16){if(ie===0){break e}ie--;le+=ee[te++]<>>8&255;t.check=i(t.check,Be,2,0)}le=0;fe=0}else if(t.head){t.head.extra=null}t.mode=x;case x:if(t.flags&1024){ue=t.length;if(ue>ie){ue=ie}if(ue){if(t.head){_e=t.head.extra_len-t.length;if(!t.head.extra){t.head.extra=new Array(t.head.extra_len)}a.arraySet(t.head.extra,ee,te,ue,_e)}if(t.flags&512){t.check=i(t.check,ee,ue,te)}ie-=ue;te+=ue;t.length-=ue}if(t.length){break e}}t.length=0;t.mode=y;case y:if(t.flags&2048){if(ie===0){break e}ue=0;do{_e=ee[te+ue++];if(t.head&&_e&&t.length<65536){t.head.name+=String.fromCharCode(_e)}}while(_e&&ue>9&1;t.head.done=true}e.adler=t.check=0;t.mode=D;break;case R:while(fe<32){if(ie===0){break e}ie--;le+=ee[te++]<>>=fe&7;fe-=fe&7;t.mode=Y;break}while(fe<3){if(ie===0){break e}ie--;le+=ee[te++]<>>=1;fe-=1;switch(le&3){case 0:t.mode=P;break;case 1:ve(t);t.mode=W;if(r===d){le>>>=2;fe-=2;break e}break;case 2:t.mode=M;break;case 3:e.msg="invalid block type";t.mode=Q;}le>>>=2;fe-=2;break;case P: +le>>>=fe&7;fe-=fe&7;while(fe<32){if(ie===0){break e}ie--;le+=ee[te++]<>>16^65535)){e.msg="invalid stored block lengths";t.mode=Q;break}t.length=le&65535;le=0;fe=0;t.mode=N;if(r===d){break e};case N:t.mode=L;case L:ue=t.length;if(ue){if(ue>ie){ue=ie}if(ue>se){ue=se}if(ue===0){break e}a.arraySet(re,ee,te,ue,ae);ie-=ue;te+=ue;se-=ue;ae+=ue;t.length-=ue;break}t.mode=D;break;case M:while(fe<14){if(ie===0){break e}ie--;le+=ee[te++]<>>=5;fe-=5;t.ndist=(le&31)+1;le>>>=5;fe-=5;t.ncode=(le&15)+4;le>>>=4;fe-=4;if(t.nlen>286||t.ndist>30){e.msg="too many length or distance symbols";t.mode=Q;break}t.have=0;t.mode=U;case U:while(t.have>>=3;fe-=3}while(t.have<19){t.lens[ye[t.have++]]=0}t.lencode=t.lendyn;t.lenbits=7;Te={bits:t.lenbits};Ce=l(f,t.lens,0,19,t.lencode,0,t.work,Te);t.lenbits=Te.bits;if(Ce){e.msg="invalid code lengths set";t.mode=Q;break}t.have=0;t.mode=H;case H:while(t.have>>24;ge=me>>>16&255;Ee=me&65535;if(be<=fe){break}if(ie===0){break e}ie--;le+=ee[te++]<>>=be;fe-=be;t.lens[t.have++]=Ee}else{if(Ee===16){xe=be+2;while(fe>>=be;fe-=be;if(t.have===0){e.msg="invalid bit length repeat";t.mode=Q;break}_e=t.lens[t.have-1];ue=3+(le&3);le>>>=2;fe-=2}else if(Ee===17){xe=be+3;while(fe>>=be;fe-=be;_e=0;ue=3+(le&7);le>>>=3;fe-=3}else{xe=be+7;while(fe>>=be;fe-=be;_e=0;ue=11+(le&127);le>>>=7;fe-=7}if(t.have+ue>t.nlen+t.ndist){e.msg="invalid bit length repeat";t.mode=Q;break}while(ue--){t.lens[t.have++]=_e}}}if(t.mode===Q){break}if(t.lens[256]===0){e.msg="invalid code -- missing end-of-block";t.mode=Q;break}t.lenbits=9;Te={bits:t.lenbits};Ce=l(o,t.lens,0,t.nlen,t.lencode,0,t.work,Te);t.lenbits=Te.bits;if(Ce){e.msg="invalid literal/lengths set";t.mode=Q;break}t.distbits=6;t.distcode=t.distdyn;Te={bits:t.distbits};Ce=l(c,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,Te);t.distbits=Te.bits;if(Ce){e.msg="invalid distances set";t.mode=Q;break}t.mode=W;if(r===d){break e};case W:t.mode=V;case V:if(ie>=6&&se>=258){e.next_out=ae;e.avail_out=se;e.next_in=te;e.avail_in=ie;t.hold=le;t.bits=fe;s(e,ce);ae=e.next_out;re=e.output;se=e.avail_out;te=e.next_in;ee=e.input;ie=e.avail_in;le=t.hold;fe=t.bits;if(t.mode===D){t.back=-1}break}t.back=0;for(;;){me=t.lencode[le&(1<>>24;ge=me>>>16&255;Ee=me&65535;if(be<=fe){break}if(ie===0){break e}ie--;le+=ee[te++]<>ke)];be=me>>>24;ge=me>>>16&255;Ee=me&65535;if(ke+be<=fe){break}if(ie===0){break e}ie--;le+=ee[te++]<>>=ke;fe-=ke;t.back+=ke}le>>>=be;fe-=be;t.back+=be;t.length=Ee;if(ge===0){t.mode=K;break}if(ge&32){t.back=-1;t.mode=D;break}if(ge&64){e.msg="invalid literal/length code";t.mode=Q;break}t.extra=ge&15;t.mode=z;case z:if(t.extra){xe=t.extra;while(fe>>=t.extra;fe-=t.extra;t.back+=t.extra}t.was=t.length;t.mode=X;case X:for(;;){me=t.distcode[le&(1<>>24;ge=me>>>16&255;Ee=me&65535;if(be<=fe){break}if(ie===0){break e}ie--;le+=ee[te++]<>ke)];be=me>>>24;ge=me>>>16&255;Ee=me&65535;if(ke+be<=fe){break}if(ie===0){break e}ie--;le+=ee[te++]<>>=ke;fe-=ke;t.back+=ke}le>>>=be;fe-=be;t.back+=be;if(ge&64){e.msg="invalid distance code";t.mode=Q;break}t.offset=Ee;t.extra=ge&15;t.mode=G;case G:if(t.extra){xe=t.extra;while(fe>>=t.extra;fe-=t.extra;t.back+=t.extra}if(t.offset>t.dmax){e.msg="invalid distance too far back";t.mode=Q;break}t.mode=j;case j:if(se===0){break e}ue=ce-se;if(t.offset>ue){ue=t.offset-ue;if(ue>t.whave){if(t.sane){e.msg="invalid distance too far back";t.mode=Q;break}}if(ue>t.wnext){ue-=t.wnext;he=t.wsize-ue}else{he=t.wnext-ue}if(ue>t.length){ue=t.length}de=t.window}else{de=re;he=ae-t.offset;ue=t.length}if(ue>se){ue=se}se-=ue;t.length-=ue;do{re[ae++]=de[he++]}while(--ue);if(t.length===0){t.mode=V}break;case K:if(se===0){break e}re[ae++]=t.length;se--;t.mode=V;break;case Y:if(t.wrap){while(fe<32){if(ie===0){break e}ie--;le|=ee[te++]<=1;C--){if(U[C]!==0){break}}if(B>C){B=C}if(C===0){m[b++]=1<<24|64<<16|0;m[b++]=1<<24|64<<16|0;E.bits=1;return 0}for(_=1;_0&&(e===l||C!==1)){return-1}H[1]=0;for(w=1;wi||e===o&&I>s){return 1}var j=0;for(;;){j++;z=w-x;if(g[S]M){X=W[V+g[S]];G=N[L+g[S]]}else{X=32+64;G=0}R=1<>x)+F]=z<<24|X<<16|G|0}while(F!==0);R=1<>=1}if(R!==0){A&=R-1;A+=R}else{A=0}S++;if(--U[w]===0){if(w===C){break}w=r[t+g[S]]}if(w>B&&(A&O)!==D){if(x===0){x=B}P+=_;T=w-x;y=1<i||e===o&&I>s){return 1}D=A&O;m[D]=B<<24|T<<16|P-b|0}}if(A!==0){m[P+A]=w-x<<24|64<<16|0}E.bits=B;return 0}},{"../utils/common":27}],37:[function(e,r,t){"use strict";r.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],38:[function(e,r,t){"use strict";var a=e("../utils/common");var n=4;var i=0;var s=1;var l=2;function f(e){var r=e.length;while(--r>=0){e[r]=0}}var o=0;var c=1;var u=2;var h=3;var d=258;var v=29;var p=256;var m=p+1+v;var b=30;var g=19;var E=2*m+1;var k=15;var w=16;var S=7;var _=256;var C=16;var B=17;var T=18;var x=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];var y=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];var I=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];var A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var R=512;var F=new Array((m+2)*2);f(F);var D=new Array(b*2);f(D);var O=new Array(R);f(O);var P=new Array(d-h+1);f(P);var N=new Array(v);f(N);var L=new Array(b);f(L);var M=function(e,r,t,a,n){this.static_tree=e;this.extra_bits=r;this.extra_base=t;this.elems=a;this.max_length=n;this.has_stree=e&&e.length};var U;var H;var W;var V=function(e,r){this.dyn_tree=e;this.max_code=0;this.stat_desc=r};function z(e){return e<256?O[e]:O[256+(e>>>7)]}function X(e,r){e.pending_buf[e.pending++]=r&255;e.pending_buf[e.pending++]=r>>>8&255}function G(e,r,t){if(e.bi_valid>w-t){e.bi_buf|=r<>w-e.bi_valid;e.bi_valid+=t-w}else{e.bi_buf|=r<>>=1;t<<=1}while(--r>0);return t>>>1}function Y(e){if(e.bi_valid===16){X(e,e.bi_buf);e.bi_buf=0;e.bi_valid=0}else if(e.bi_valid>=8){e.pending_buf[e.pending++]=e.bi_buf&255;e.bi_buf>>=8;e.bi_valid-=8}}function $(e,r){var t=r.dyn_tree;var a=r.max_code;var n=r.stat_desc.static_tree;var i=r.stat_desc.has_stree;var s=r.stat_desc.extra_bits;var l=r.stat_desc.extra_base;var f=r.stat_desc.max_length;var o;var c,u;var h;var d;var v;var p=0;for(h=0;h<=k;h++){e.bl_count[h]=0}t[e.heap[e.heap_max]*2+1]=0;for(o=e.heap_max+1;of){h=f;p++}t[c*2+1]=h;if(c>a){continue}e.bl_count[h]++;d=0;if(c>=l){d=s[c-l]}v=t[c*2];e.opt_len+=v*(h+d);if(i){e.static_len+=v*(n[c*2+1]+d)}}if(p===0){return}do{h=f-1;while(e.bl_count[h]===0){h--}e.bl_count[h]--;e.bl_count[h+1]+=2;e.bl_count[f]--;p-=2}while(p>0);for(h=f;h!==0;h--){c=e.bl_count[h];while(c!==0){u=e.heap[--o];if(u>a){continue}if(t[u*2+1]!==h){e.opt_len+=(h-t[u*2+1])*t[u*2];t[u*2+1]=h}c--}}}function Z(e,r,t){var a=new Array(k+1);var n=0;var i;var s;for(i=1;i<=k;i++){a[i]=n=n+t[i-1]<<1}for(s=0;s<=r;s++){var l=e[s*2+1];if(l===0){continue}e[s*2]=K(a[l]++,l)}}function Q(){var e;var r;var t;var a;var n;var i=new Array(k+1);t=0;for(a=0;a>=7;for(;a8){X(e,e.bi_buf)}else if(e.bi_valid>0){e.pending_buf[e.pending++]=e.bi_buf}e.bi_buf=0;e.bi_valid=0}function ee(e,r,t,n){q(e);if(n){X(e,t);X(e,~t)}a.arraySet(e.pending_buf,e.window,r,t,e.pending);e.pending+=t}function re(e,r,t,a){var n=r*2;var i=t*2;return e[n]>1;s>=1;s--){te(e,t,s)}o=i;do{s=e.heap[1];e.heap[1]=e.heap[e.heap_len--];te(e,t,1);l=e.heap[1];e.heap[--e.heap_max]=s;e.heap[--e.heap_max]=l;t[o*2]=t[s*2]+t[l*2];e.depth[o]=(e.depth[s]>=e.depth[l]?e.depth[s]:e.depth[l])+1;t[s*2+1]=t[l*2+1]=o;e.heap[1]=o++;te(e,t,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1];$(e,r);Z(t,f,e.bl_count)}function ie(e,r,t){var a;var n=-1;var i;var s=r[0*2+1];var l=0;var f=7;var o=4;if(s===0){f=138;o=3}r[(t+1)*2+1]=65535;for(a=0;a<=t;a++){i=s;s=r[(a+1)*2+1];if(++l=3;r--){if(e.bl_tree[A[r]*2+1]!==0){break}}e.opt_len+=3*(r+1)+5+5+4;return r}function fe(e,r,t,a){var n;G(e,r-257,5);G(e,t-1,5);G(e,a-4,4);for(n=0;n>>=1){if(r&1&&e.dyn_ltree[t*2]!==0){return i}}if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0){return s}for(t=32;t0){if(e.strm.data_type===l){e.strm.data_type=oe(e)}ne(e,e.l_desc);ne(e,e.d_desc);f=le(e);i=e.opt_len+3+7>>>3;s=e.static_len+3+7>>>3;if(s<=i){i=s}}else{i=s=t+5}if(t+4<=i&&r!==-1){he(e,r,t,a)}else if(e.strategy===n||s===i){G(e,(c<<1)+(a?1:0),3);ae(e,F,D)}else{G(e,(u<<1)+(a?1:0),3);fe(e,e.l_desc.max_code+1,e.d_desc.max_code+1,f+1);ae(e,e.dyn_ltree,e.dyn_dtree)}J(e);if(a){q(e)}}function pe(e,r,t){e.pending_buf[e.d_buf+e.last_lit*2]=r>>>8&255;e.pending_buf[e.d_buf+e.last_lit*2+1]=r&255;e.pending_buf[e.l_buf+e.last_lit]=t&255;e.last_lit++;if(r===0){e.dyn_ltree[t*2]++}else{e.matches++;r--;e.dyn_ltree[(P[t]+p+1)*2]++;e.dyn_dtree[z(r)*2]++}return e.last_lit===e.lit_bufsize-1}t._tr_init=ue;t._tr_stored_block=he;t._tr_flush_block=ve;t._tr_tally=pe;t._tr_align=de},{"../utils/common":27}],39:[function(e,r,t){"use strict";function a(){this.input=null;this.next_in=0;this.avail_in=0;this.total_in=0;this.output=null;this.next_out=0;this.avail_out=0;this.total_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}r.exports=a},{}]},{},[9])(9)});var XLSX={};(function e(r){r.version="0.12.1";var t=1200,a=1252;if(typeof module!=="undefined"&&typeof require!=="undefined"){if(typeof cptable==="undefined")global.cptable=undefined}var n=[874,932,936,949,950];for(var i=0;i<=8;++i)n.push(1250+i);var s={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};var l=function(e){if(n.indexOf(e)==-1)return;a=s[0]=e};function f(){l(1252)}var o=function(e){t=e;l(e)};function c(){o(1200);f()}function u(e){var r=[];for(var t=0,a=e.length;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t)+(e.charCodeAt(2*t+1)<<8));return r.join("")}function d(e){var r=[];for(var t=0;t>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t+1)+(e.charCodeAt(2*t)<<8));return r.join("")}var v=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);if(r==255&&t==254)return h(e.slice(2));if(r==254&&t==255)return d(e.slice(2));if(r==65279)return e.slice(1);return e};var p=function um(e){return String.fromCharCode(e)};if(typeof cptable!=="undefined"){o=function(e){t=e};v=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return cptable.utils.decode(1200,u(e.slice(2)))}return e};p=function hm(e){if(t===1200)return String.fromCharCode(e);return cptable.utils.decode(t,[e&255,e>>8])[0]}}var m=null;var b=true;var g=function dm(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{encode:function(r){var t="";var a=0,n=0,i=0,s=0,l=0,f=0,o=0;for(var c=0;c>2;l=(a&3)<<4|n>>4;f=(n&15)<<2|i>>6;o=i&63;if(isNaN(n)){f=o=64}else if(isNaN(i)){o=64}t+=e.charAt(s)+e.charAt(l)+e.charAt(f)+e.charAt(o)}return t},decode:function r(t){var a="";var n=0,i=0,s=0;var l=0,f=0,o=0,c=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var u=0;u>4;i=(f&15)<<4|o>>2;s=(o&3)<<6|c;a+=String.fromCharCode(n);if(o!==64){a+=String.fromCharCode(i)}if(c!==64){a+=String.fromCharCode(s)}}return a}}}();var E=typeof Buffer!=="undefined"&&typeof process!=="undefined"&&typeof process.versions!=="undefined"&&process.versions.node;function k(e){return new(E?Buffer:Array)(e)}function w(e){if(E)return new Buffer(e,"binary");return e.split("").map(function(e){return e.charCodeAt(0)&255})}function S(e){if(typeof ArrayBuffer==="undefined")return w(e);var r=new ArrayBuffer(e.length),t=new Uint8Array(r);for(var a=0;a!=e.length;++a)t[a]=e.charCodeAt(a)&255;return r}function _(e){if(Array.isArray(e))return e.map(iv).join("");var r=[];for(var t=0;t=0)r+=e.charAt(t--);return r}function t(e,r){var t="";while(t.length=r?a:t("0",r-a.length)+a}function n(e,r){var a=""+e;return a.length>=r?a:t(" ",r-a.length)+a}function i(e,r){var a=""+e;return a.length>=r?a:a+t(" ",r-a.length)}function s(e,r){var a=""+Math.round(e);return a.length>=r?a:t("0",r-a.length)+a}function l(e,r){var a=""+e;return a.length>=r?a:t("0",r-a.length)+a}var f=Math.pow(2,32);function o(e,r){if(e>f||e<-f)return s(e,r);var t=Math.round(e);return l(t,r)}function c(e,r){r=r||0;return e.length>=7+r&&(e.charCodeAt(r)|32)===103&&(e.charCodeAt(r+1)|32)===101&&(e.charCodeAt(r+2)|32)===110&&(e.charCodeAt(r+3)|32)===101&&(e.charCodeAt(r+4)|32)===114&&(e.charCodeAt(r+5)|32)===97&&(e.charCodeAt(r+6)|32)===108}var u=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]];var h=[["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 d(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]='"上午/下午 "hh"時"mm"分"ss"秒 "';e[65535]="General"}var v={};d(v);function p(e,r,t){var a=e<0?-1:1;var n=e*a;var i=0,s=1,l=0;var f=1,o=0,c=0;var u=Math.floor(n);while(or){if(o>r){c=f;l=i}else{c=o;l=s}}if(!t)return[0,a*l,c];var h=Math.floor(a*l/c);return[h,a*l-h*c,c]}function m(e,r,t){if(e>2958465||e<0)return null;var a=e|0,n=Math.floor(86400*(e-a)),i=0;var s=[];var l={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(l.u)<1e-6)l.u=0;if(r&&r.date1904)a+=1462;if(l.u>.9999){l.u=0;if(++n==86400){l.T=n=0;++a;++l.D}}if(a===60){s=t?[1317,10,29]:[1900,2,29];i=3}else if(a===0){s=t?[1317,8,29]:[1900,1,0];i=6}else{if(a>60)--a;var f=new Date(1900,0,1);f.setDate(f.getDate()+a-1);s=[f.getFullYear(),f.getMonth()+1,f.getDate()];i=f.getDay();if(a<60)i=(i+6)%7;if(t)i=C(f,s)}l.y=s[0];l.m=s[1];l.d=s[2];l.S=n%60;n=Math.floor(n/60);l.M=n%60;n=Math.floor(n/60);l.H=n;l.q=i;return l}e.parse_date_code=m;var b=new Date(1899,11,31,0,0,0);var g=b.getTime();var E=new Date(1900,2,1,0,0,0);function k(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=E)t+=24*60*60*1e3;return(t-(g+(e.getTimezoneOffset()-b.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function w(e){return e.toString(10)}e._general_int=w;var S=function M(){var e=/\.(\d*[1-9])0+$/,r=/\.0*$/,t=/\.(\d*[1-9])0+/,a=/\.0*[Ee]/,n=/(E[+-])(\d)$/;function i(e){var r=e<0?12:11;var t=f(e.toFixed(12));if(t.length<=r)return t;t=e.toPrecision(10);if(t.length<=r)return t;return e.toExponential(5)}function s(r){var t=r.toFixed(11).replace(e,".$1");if(t.length>(r<0?12:11))t=r.toPrecision(6);return t}function l(e){for(var r=0;r!=e.length;++r)if((e.charCodeAt(r)|32)===101)return e.replace(t,".$1").replace(a,"E").replace("e","E").replace(n,"$10$2");return e}function f(t){return t.indexOf(".")>-1?t.replace(r,"").replace(e,".$1"):t}return function o(e){var r=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),t;if(r>=-4&&r<=-1)t=e.toPrecision(10+r);else if(Math.abs(r)<=9)t=i(e);else if(r===10)t=e.toFixed(10).substr(0,12);else t=s(e);return f(l(t))}}();e._general_num=S;function _(e,r){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(e|0)===e?w(e):S(e);case"undefined":return"";case"object":if(e==null)return"";if(e instanceof Date)return N(14,k(e,r&&r.date1904),r);}throw new Error("unsupported value in General format: "+e)}e._general=_;function C(){return 0}function B(e,r,t,n){var i="",s=0,l=0,f=t.y,o,c=0;switch(e){case 98:f=t.y+543;case 121:switch(r.length){case 1:;case 2:o=f%100;c=2;break;default:o=f%1e4;c=4;break;}break;case 109:switch(r.length){case 1:;case 2:o=t.m;c=r.length;break;case 3:return h[t.m-1][1];case 5:return h[t.m-1][0];default:return h[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:o=t.d;c=r.length;break;case 3:return u[t.q][0];default:return u[t.q][1];}break;case 104:switch(r.length){case 1:;case 2:o=1+(t.H+11)%12;c=r.length;break;default:throw"bad hour format: "+r;}break;case 72:switch(r.length){case 1:;case 2:o=t.H;c=r.length;break;default:throw"bad hour format: "+r;}break;case 77:switch(r.length){case 1:;case 2:o=t.M;c=r.length;break;default:throw"bad minute format: "+r;}break;case 115:if(r!="s"&&r!="ss"&&r!=".0"&&r!=".00"&&r!=".000")throw"bad second format: "+r;if(t.u===0&&(r=="s"||r=="ss"))return a(t.S,r.length);if(n>=2)l=n===3?1e3:100;else l=n===1?10:1;s=Math.round(l*(t.S+t.u));if(s>=60*l)s=0;if(r==="s")return s===0?"0":""+s/l;i=a(s,2+n);if(r==="ss")return i.substr(0,2);return"."+i.substr(2,r.length-1);case 90:switch(r){case"[h]":;case"[hh]":o=t.D*24+t.H;break;case"[m]":;case"[mm]":o=(t.D*24+t.H)*60+t.M;break;case"[s]":;case"[ss]":o=((t.D*24+t.H)*60+t.M)*60+Math.round(t.S+t.u);break;default:throw"bad abstime format: "+r;}c=r.length===3?1:2;break;case 101:o=f;c=1;}if(c>0)return a(o,c);else return""}function T(e){var r=3;if(e.length<=r)return e;var t=e.length%r,a=e.substr(0,t);for(;t!=e.length;t+=r)a+=(a.length>0?",":"")+e.substr(t,r);return a}var x=function U(){var e=/%/g;function s(r,a,n){var i=a.replace(e,""),s=a.length-i.length;return x(r,i,n*Math.pow(10,2*s))+t("%",s)}function l(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return x(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function f(e,r){var t;var a=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(r==0)return"0.0E+0";else if(r<0)return"-"+f(e,-r);var n=e.indexOf(".");if(n===-1)n=e.indexOf("E");var i=Math.floor(Math.log(r)*Math.LOG10E)%n;if(i<0)i+=n;t=(r/Math.pow(10,i)).toPrecision(a+1+(n+i)%n);if(t.indexOf("e")===-1){var s=Math.floor(Math.log(r)*Math.LOG10E);if(t.indexOf(".")===-1)t=t.charAt(0)+"."+t.substr(1)+"E+"+(s-t.length+i);else t+="E+"+(s-i);while(t.substr(0,2)==="0."){t=t.charAt(0)+t.substr(2,n)+"."+t.substr(2+n);t=t.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.")}t=t.replace(/\+-/,"-")}t=t.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+i)%n)+"."+a.substr(i)+"E"})}else t=r.toExponential(a);if(e.match(/E\+00$/)&&t.match(/e[+-]\d$/))t=t.substr(0,t.length-1)+"0"+t.charAt(t.length-1);if(e.match(/E\-/)&&t.match(/e\+/))t=t.replace(/e\+/,"e");return t.replace("e","E")}var c=/# (\?+)( ?)\/( ?)(\d+)/;function u(e,r,i){var s=parseInt(e[4],10),l=Math.round(r*s),f=Math.floor(l/s);var o=l-f*s,c=s;return i+(f===0?"":""+f)+" "+(o===0?t(" ",e[1].length+1+e[4].length):n(o,e[1].length)+e[2]+"/"+e[3]+a(c,e[4].length))}function h(e,r,a){return a+(r===0?"":""+r)+t(" ",e[1].length+2+e[4].length)}var d=/^#*0*\.([0#]+)/;var v=/\).*[0#]/;var m=/\(###\) ###\\?-####/;function b(e){var r="",t;for(var a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=" ";break;case 48:r+="0";break;default:r+=String.fromCharCode(t);}return r}function g(e,r){var t=Math.pow(10,r);return""+Math.round(e*t)/t}function E(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 0}return Math.round((e-Math.floor(e))*Math.pow(10,r))}function k(e,r){if(r<(""+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function w(e){if(e<2147483647&&e>-2147483648)return""+(e>=0?e|0:e-1|0);return""+Math.floor(e)}function S(e,h,_){if(e.charCodeAt(0)===40&&!h.match(v)){var C=h.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");if(_>=0)return S("n",C,_);return"("+S("n",C,-_)+")"}if(h.charCodeAt(h.length-1)===44)return l(e,h,_);if(h.indexOf("%")!==-1)return s(e,h,_);if(h.indexOf("E")!==-1)return f(h,_);if(h.charCodeAt(0)===36)return"$"+S(e,h.substr(h.charAt(1)==" "?2:1),_);var B;var y,I,A,R=Math.abs(_),F=_<0?"-":"";if(h.match(/^00+$/))return F+o(R,h.length);if(h.match(/^[#?]+$/)){B=o(_,0);if(B==="0")B="";return B.length>h.length?B:b(h.substr(0,h.length-B.length))+B}if(y=h.match(c))return u(y,R,F);if(h.match(/^#+0+$/))return F+o(R,h.length-h.indexOf("0"));if(y=h.match(d)){B=g(_,y[1].length).replace(/^([^\.]+)$/,"$1."+b(y[1])).replace(/\.$/,"."+b(y[1])).replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",b(y[1]).length-r.length)});return h.indexOf("0.")!==-1?B:B.replace(/^0\./,".")}h=h.replace(/^#+([0.])/,"$1");if(y=h.match(/^(0*)\.(#*)$/)){return F+g(R,y[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,y[1].length?"0.":".")}if(y=h.match(/^#{1,3},##0(\.?)$/))return F+T(o(R,0));if(y=h.match(/^#,##0\.([#0]*0)$/)){return _<0?"-"+S(e,h,-_):T(""+(Math.floor(_)+k(_,y[1].length)))+"."+a(E(_,y[1].length),y[1].length)}if(y=h.match(/^#,#*,#0/))return S(e,h.replace(/^#,#*,/,""),_);if(y=h.match(/^([0#]+)(\\?-([0#]+))+$/)){B=r(S(e,h.replace(/[\\-]/g,""),_));I=0;return r(r(h.replace(/\\/g,"")).replace(/[0#]/g,function(e){return I=0)return y("n",f,l);return"("+y("n",f,-l)+")"}if(s.charCodeAt(s.length-1)===44)return _(e,s,l);if(s.indexOf("%")!==-1)return C(e,s,l);if(s.indexOf("E")!==-1)return B(s,l);if(s.charCodeAt(0)===36)return"$"+y(e,s.substr(s.charAt(1)==" "?2:1),l);var o;var u,g,E,k=Math.abs(l),w=l<0?"-":"";if(s.match(/^00+$/))return w+a(k,s.length);if(s.match(/^[#?]+$/)){o=""+l;if(l===0)o="";return o.length>s.length?o:b(s.substr(0,s.length-o.length))+o}if(u=s.match(c))return h(u,k,w);if(s.match(/^#+0+$/))return w+a(k,s.length-s.indexOf("0"));if(u=s.match(d)){o=(""+l).replace(/^([^\.]+)$/,"$1."+b(u[1])).replace(/\.$/,"."+b(u[1]));o=o.replace(/\.(\d*)$/,function(e,r){return"."+r+t("0",b(u[1]).length-r.length)});return s.indexOf("0.")!==-1?o:o.replace(/^0\./,".")}s=s.replace(/^#+([0.])/,"$1");if(u=s.match(/^(0*)\.(#*)$/)){return w+(""+k).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,u[1].length?"0.":".")}if(u=s.match(/^#{1,3},##0(\.?)$/))return w+T(""+k);if(u=s.match(/^#,##0\.([#0]*0)$/)){return l<0?"-"+y(e,s,-l):T(""+l)+"."+t("0",u[1].length); +}if(u=s.match(/^#,#*,#0/))return y(e,s.replace(/^#,#*,/,""),l);if(u=s.match(/^([0#]+)(\\?-([0#]+))+$/)){o=r(y(e,s.replace(/[\\-]/g,""),l));g=0;return r(r(s.replace(/\\/g,"")).replace(/[0#]/g,function(e){return g-1||t=="\\"&&e.charAt(r+1)=="-"&&"0#".indexOf(e.charAt(r+2))>-1)){}break;case"?":while(e.charAt(++r)===t){}break;case"*":++r;if(e.charAt(r)==" "||e.charAt(r)=="*")++r;break;case"(":;case")":++r;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":while(r-1){}break;case" ":++r;break;default:++r;break;}}return false}e.is_date=A;function R(e,r,t,a){var n=[],i="",s=0,l="",f="t",o,u,h;var d="H";while(s=12?"P":"A";b.t="T";d="h";s+=3}else if(e.substr(s,5).toUpperCase()==="AM/PM"){if(o!=null)b.v=o.H>=12?"PM":"AM";b.t="T";s+=5;d="h"}else{b.t="t";++s}if(o==null&&b.t==="T")return"";n[n.length]=b;f=l;break;case"[":i=l;while(e.charAt(s++)!=="]"&&s-1){i=(i.match(/\$([^-\[\]]*)/)||[])[1]||"$";if(!A(e))n[n.length]={t:"t",v:i}}break;case".":if(o!=null){i=l;while(++s-1||l=="\\"&&e.charAt(s+1)=="-"&&s-1)i+=l;n[n.length]={t:"n",v:i};break;case"?":i=l;while(e.charAt(++s)===l)i+=l;n[n.length]={t:l,v:i};f=l;break;case"*":++s;if(e.charAt(s)==" "||e.charAt(s)=="*")++s;break;case"(":;case")":n[n.length]={t:a===1?"t":l,v:l};++s;break;case"1":;case"2":;case"3":;case"4":;case"5":;case"6":;case"7":;case"8":;case"9":i=l;while(s-1)i+=e.charAt(s);n[n.length]={t:"D",v:i};break;case" ":n[n.length]={t:l,v:l};++s;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(l)===-1)throw new Error("unrecognized character "+l+" in "+e);n[n.length]={t:"t",v:l};++s;break;}}var g=0,E=0,k;for(s=n.length-1,f="t";s>=0;--s){switch(n[s].t){case"h":;case"H":n[s].t=d;f="h";if(g<1)g=1;break;case"s":if(k=n[s].v.match(/\.0+$/))E=Math.max(E,k[0].length-1);if(g<3)g=3;case"d":;case"y":;case"M":;case"e":f=n[s].t;break;case"m":if(f==="s"){n[s].t="M";if(g<2)g=2}break;case"X":break;case"Z":if(g<1&&n[s].v.match(/[Hh]/))g=1;if(g<2&&n[s].v.match(/[Mm]/))g=2;if(g<3&&n[s].v.match(/[Ss]/))g=3;}}switch(g){case 0:break;case 1:if(o.u>=.5){o.u=0;++o.S}if(o.S>=60){o.S=0;++o.M}if(o.M>=60){o.M=0;++o.H}break;case 2:if(o.u>=.5){o.u=0;++o.S}if(o.S>=60){o.S=0;++o.M}break;}var w="",S;for(s=0;s0){if(w.charCodeAt(0)==40){T=r<0&&w.charCodeAt(0)===45?-r:r;y=x("(",w,T)}else{T=r<0&&a>1?-r:r;y=x("n",w,T);if(T<0&&n[0]&&n[0].t=="t"){y=y.substr(1);n[0].v="-"+n[0].v}}S=y.length-1;var R=n.length;for(s=0;s-1){R=s;break}var F=n.length;if(R===n.length&&y.indexOf("E")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||"n?(".indexOf(n[s].t)===-1)continue;if(S>=n[s].v.length-1){S-=n[s].v.length;n[s].v=y.substr(S+1,n[s].v.length)}else if(S<0)n[s].v="";else{n[s].v=y.substr(0,S+1);S=-1}n[s].t="t";F=s}if(S>=0&&F=0;--s){if(n[s]==null||"n?(".indexOf(n[s].t)===-1)continue;u=n[s].v.indexOf(".")>-1&&s===R?n[s].v.indexOf(".")-1:n[s].v.length-1;C=n[s].v.substr(u+1);for(;u>=0;--u){if(S>=0&&(n[s].v.charAt(u)==="0"||n[s].v.charAt(u)==="#"))C=y.charAt(S--)+C}n[s].v=C;n[s].t="t";F=s}if(S>=0&&F-1&&s===R?n[s].v.indexOf(".")+1:0;C=n[s].v.substr(0,u);for(;u-1){T=a>1&&r<0&&s>0&&n[s-1].v==="-"?-r:r;n[s].v=x(n[s].t,n[s].v,T);n[s].t="t"}var D="";for(s=0;s!==n.length;++s)if(n[s]!=null)D+=n[s].v;return D}e._eval=R;var F=/\[[=<>]/;var D=/\[([=<>]*)(-?\d+\.?\d*)\]/;function O(e,r){if(r==null)return false;var t=parseFloat(r[2]);switch(r[1]){case"=":if(e==t)return true;break;case">":if(e>t)return true;break;case"<":if(e":if(e!=t)return true;break;case">=":if(e>=t)return true;break;case"<=":if(e<=t)return true;break;}return false}function P(e,r){var t=y(e);var a=t.length,n=t[a-1].indexOf("@");if(a<4&&n>-1)--a;if(t.length>4)throw new Error("cannot find right format for |"+t.join("|")+"|");if(typeof r!=="number")return[4,t.length===4||n>-1?t[t.length-1]:"@"];switch(t.length){case 1:t=n>-1?["General","General","General",t[0]]:[t[0],t[0],t[0],"@"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],"@"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],"@"];break;case 4:break;}var i=r>0?t[0]:r<0?t[1]:t[2];if(t[0].indexOf("[")===-1&&t[1].indexOf("[")===-1)return[a,i];if(t[0].match(F)!=null||t[1].match(F)!=null){var s=t[0].match(D);var l=t[1].match(D);return O(r,s)?[a,t[0]]:O(r,l)?[a,t[1]]:[a,t[s!=null&&l!=null?2:1]]}return[a,i]}function N(e,r,t){if(t==null)t={};var a="";switch(typeof e){case"string":if(e=="m/d/yy"&&t.dateNF)a=t.dateNF;else a=e;break;case"number":if(e==14&&t.dateNF)a=t.dateNF;else a=(t.table!=null?t.table:v)[e];break;}if(c(a,0))return _(r,t);if(r instanceof Date)r=k(r,t.date1904);var n=P(a,r);if(c(n[1]))return _(r,t);if(r===true)r="TRUE";else if(r===false)r="FALSE";else if(r===""||r==null)return"";return R(n[1],r,t,n[0])}function L(e,r){if(typeof r!="number"){r=+r||-1;for(var t=0;t<392;++t){if(v[t]==undefined){if(r<0)r=t;continue}if(v[t]==e){r=t;break}}if(r<0)r=391}v[r]=e;return r}e.load=L;e._table=v;e.get_table=function H(){return v};e.load_table=function W(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)L(e[r],r)};e.init_table=d;e.format=N};A(I);var R={"General Number":"General","General Date":I._table[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":I._table[15],"Short Date":I._table[14],"Long Time":I._table[19],"Medium Time":I._table[18],"Short Time":I._table[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:I._table[2],Standard:I._table[4],Percent:I._table[10],Scientific:I._table[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var F={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"};var D=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function O(e){var r=typeof e=="number"?I._table[e]:e;r=r.replace(D,"(\\d+)");return new RegExp("^"+r+"$")}function P(e,r,t){var a=-1,n=-1,i=-1,s=-1,l=-1,f=-1;(r.match(D)||[]).forEach(function(e,r){var o=parseInt(t[r+1],10);switch(e.toLowerCase().charAt(0)){case"y":a=o;break;case"d":i=o;break;case"h":s=o;break;case"s":f=o;break;case"m":if(s>=0)l=o;else n=o;break;}});if(f>=0&&l==-1&&n>=0){l=n;n=-1}var o=(""+(a>=0?a:(new Date).getFullYear())).slice(-4)+"-"+("00"+(n>=1?n:1)).slice(-2)+"-"+("00"+(i>=1?i:1)).slice(-2);if(o.length==7)o="0"+o;if(o.length==8)o="20"+o;var c=("00"+(s>=0?s:0)).slice(-2)+":"+("00"+(l>=0?l:0)).slice(-2)+":"+("00"+(f>=0?f:0)).slice(-2);if(s==-1&&l==-1&&f==-1)return o;if(a==-1&&n==-1&&i==-1)return c;return o+"T"+c}var N=true;var L=function pm(){var e={};e.version="1.0.3";function r(e,r){var t=e.split("/"),a=r.split("/");for(var n=0,i=0,s=Math.min(t.length,a.length);n0&&u!==A)C[u].name="!MiniFAT";C[m[0]].name="!FAT";C.fat_addrs=m;C.ssz=a;var B={},T=[],x=[],y=[];p(s,C,_,T,n,B,x,u);c(x,y,T);T.shift();var I={FileIndex:x,FullPaths:y};if(r&&r.raw)I.raw={header:E,sectors:_};return I}function l(e){e.chk(R,"Header Signature: ");e.chk(D,"CLSID: ");var r=e._R(2,"u");return[e._R(2,"u"),r]}function f(e,r){var t=9;e.l+=2;switch(t=e._R(2)){case 9:if(r!=3)throw new Error("Sector Shift: Expected 9 saw "+t);break;case 12:if(r!=4)throw new Error("Sector Shift: Expected 12 saw "+t);break;default:throw new Error("Sector Shift: Expected 9 or 12 saw "+t);}e.chk("0600","Mini Sector Shift: ");e.chk("000000000000","Reserved: ")}function o(e,r){var t=Math.ceil(e.length/r)-1;var a=[];for(var n=1;n0&&s>=0){i.push(r.slice(s*I,s*I+I));n-=I;s=Ar(t,s*4)}if(i.length===0)return Hr(0);return T(i).slice(0,e.size)}function h(e,r,t,a,n){var i=A;if(e===A){if(r!==0)throw new Error("DIFAT chain shorter than expected")}else if(e!==-1){var s=t[e],l=(a>>>2)-1;if(!s)return;for(var f=0;f=0;){n[f]=true;i[i.length]=f;s.push(e[f]);var c=t[Math.floor(f*4/a)];o=f*4&l;if(a<4+o)throw new Error("FAT boundary crossed: "+f+" 4 "+a);if(!e[c])break;f=Ar(e[c],o)}return{nodes:i,data:sr([s])}}function v(e,r,t,a){var n=e.length,i=[];var s=[],l=[],f=[];var o=a-1,c=0,u=0,h=0,d=0;for(c=0;c=n)h-=n;if(s[h])continue;f=[];for(u=h;u>=0;){s[u]=true;l[l.length]=u;f.push(e[u]);var v=t[Math.floor(u*4/a)];d=u*4&o;if(a<4+d)throw new Error("FAT boundary crossed: "+u+" 4 "+a);if(!e[v])break;u=Ar(e[v],d)}i[h]={nodes:l,data:sr([f])}}return i}function p(e,r,t,a,n,i,s,l){var f=0,o=a.length?2:0;var c=r[e].data;var h=0,v=0,p;for(;h0&&f!==A)r[f].name="!StreamData"}else if(g.size>=4096){g.storage="fat";if(r[g.start]===undefined)r[g.start]=d(t,g.start,r.fat_addrs,r.ssz);r[g.start].name=g.name;g.content=r[g.start].data.slice(0,g.size)}else{g.storage="minifat";if(g.size<0)g.size=0;else if(f!==A&&g.start!==A&&r[f]){g.content=u(g,r[f].data,(r[l]||{}).data)}}if(g.content)Mr(g.content,0);i[p]=g;s.push(g)}}function m(e,r){return new Date((Ir(e,r+4)/1e7*Math.pow(2,32)+Ir(e,r)/1e7-11644473600)*1e3)}function b(e,r){i();return s(n.readFileSync(e),r)}function E(e,r){switch(r&&r.type||"base64"){case"file":return b(e,r);case"base64":return s(w(g.decode(e)),r);case"binary":return s(w(e),r);}return s(e,r)}function k(e,r){var t=r||{},a=t.root||"Root Entry";if(!e.FullPaths)e.FullPaths=[];if(!e.FileIndex)e.FileIndex=[];if(e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");if(e.FullPaths.length===0){e.FullPaths[0]=a+"/";e.FileIndex[0]={name:a,type:5}}if(t.CLSID)e.FileIndex[0].clsid=t.CLSID;S(e)}function S(e){var r="Sh33tJ5";if(L.find(e,"/"+r))return;var t=Hr(4);t[0]=55;t[1]=t[3]=50;t[2]=54;e.FileIndex.push({name:r,type:2,content:t,size:4,L:69,R:69,C:69});e.FullPaths.push(e.FullPaths[0]+r);_(e)}function _(e,n){k(e);var i=false,s=false;for(var l=e.FullPaths.length-1;l>=0;--l){var f=e.FileIndex[l];switch(f.type){case 0:if(s)i=true;else{e.FileIndex.pop();e.FullPaths.pop()}break;case 1:;case 2:;case 5:s=true;if(isNaN(f.R*f.L*f.C))i=true;if(f.R>-1&&f.L>-1&&f.R==f.L)i=true;break;default:i=true;break;}}if(!i&&!n)return;var o=new Date(1987,1,19),c=0;var u=[];for(l=0;l1?1:-1;d.size=0;d.type=5}else if(v.slice(-1)=="/"){for(c=l+1;c=u.length?-1:c;for(c=l+1;c=u.length?-1:c;d.type=1}else{if(t(e.FullPaths[l+1]||"")==t(v))d.R=l+1;d.type=2}}}function C(e,r){var t=r||{};_(e);var a=function(e){var r=0,t=0;for(var a=0;a0){if(i<4096)r+=i+63>>6;else t+=i+511>>9}}var s=e.FullPaths.length+3>>2;var l=r+7>>3;var f=r+127>>7;var o=l+t+s+f;var c=o+127>>7;var u=c<=109?0:Math.ceil((c-109)/127);while(o+c+u+127>>7>c)u=++c<=109?0:Math.ceil((c-109)/127);var h=[1,u,c,f,s,t,r,0];e.FileIndex[0].size=r<<6;h[7]=(e.FileIndex[0].start=h[0]+h[1]+h[2]+h[3]+h[4]+h[5])+(h[6]+7>>3);return h}(e);var n=Hr(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,F[i]);for(i=0;i<8;++i)n._W(2,0);n._W(2,62);n._W(2,3);n._W(2,65534);n._W(2,9);n._W(2,6);for(i=0;i<3;++i)n._W(2,0);n._W(4,0);n._W(4,a[2]);n._W(4,a[0]+a[1]+a[2]+a[3]-1);n._W(4,0);n._W(4,1<<12);n._W(4,a[3]?a[0]+a[1]+a[2]-1:A);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:A);n._W(4,a[1]);for(i=0;i<109;++i)n._W(-4,i>9)}l(a[6]+7>>3);while(n.l&511)n._W(-4,O.ENDOFCHAIN);s=i=0;for(f=0;f=4096)continue;c.start=s;l(o+63>>6)}while(n.l&511)n._W(-4,O.ENDOFCHAIN);for(i=0;i=4096){n.l=c.start+1<<9;for(f=0;f0&&c.size<4096){for(f=0;f3)a=true;switch(n[i].slice(n[i].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+n[i].slice(n[i].length-1));case"D":t*=24;case"H":t*=60;case"M":if(!a)throw new Error("Unsupported ISO Duration Field: M");else t*=60;case"S":break;}r+=t*parseInt(n[i],10)}return r}var ee=new Date("2017-02-19T19:06:09.000Z");if(isNaN(ee.getFullYear()))ee=new Date("2/19/17");var re=ee.getFullYear()==2017;function te(e,r){var t=new Date(e);if(re){if(r>0)t.setTime(t.getTime()+t.getTimezoneOffset()*60*1e3);else if(r<0)t.setTime(t.getTime()-t.getTimezoneOffset()*60*1e3);return t}if(e instanceof Date)return e;if(ee.getFullYear()==1917&&!isNaN(t.getFullYear())){var a=t.getFullYear();if(e.indexOf(""+a)>-1)return t;t.setFullYear(t.getFullYear()+100);return t}var n=e.match(/\d+/g)||["2017","2","19","0","0","0"];var i=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);if(e.indexOf("Z")>-1)i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3);return i}function ae(e){var r="";for(var t=0;t!=e.length;++t)r+=String.fromCharCode(e[t]);return r}function ne(e){if(typeof JSON!="undefined"&&!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 r={};for(var t in e)if(e.hasOwnProperty(t))r[t]=ne(e[t]);return r}function ie(e,r){var t="";while(t.length8099)return t;if((n>0||i>1)&&a!=101)return r;if(e.toLowerCase().match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/))return r;if(e.match(/[^-0-9:,\/\\]/))return t;return r}var fe="abacaba".split(/(:?b)/i).length==5;function oe(e,r,t){if(fe||typeof r=="string")return e.split(r);var a=e.split(r),n=[a[0]];for(var i=1;i\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g;var we=/<[\/\?]?[a-zA-Z0-9:]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s]+))*\s?[\/\?]?>/g;if(!Ee.match(we))we=/<[^>]*>/g;var Se=/<\w*:/,_e=/<(\/?)\w+:/;function Ce(e,r){var t={};var a=0,n=0;for(;a!==e.length;++a)if((n=e.charCodeAt(a))===32||n===10||n===13)break;if(!r)t[0]=e.slice(0,a);if(a===e.length)return t;var i=e.match(ke),s=0,l="",f=0,o="",c="",u=1;if(i)for(f=0;f!=i.length;++f){c=i[f];for(n=0;n!=c.length;++n)if(c.charCodeAt(n)===61)break;o=c.slice(0,n).trim();while(c.charCodeAt(n+1)==32)++n;u=(a=c.charCodeAt(n+1))==34||a==39?1:0;l=c.slice(n+1+u,c.length-u);for(s=0;s!=o.length;++s)if(o.charCodeAt(s)===58)break;if(s===o.length){if(o.indexOf("_")>0)o=o.slice(0,o.indexOf("_"));t[o]=l}else{var h=(s===5&&o.slice(0,5)==="xmlns"?"xmlns":"")+o.slice(s+1);if(t[h]&&o.slice(s-3,s)=="ext")continue;t[h]=l}}return t}function Be(e){return e.replace(_e,"<$1")}var Te={""":'"',"'":"'",">":">","<":"<","&":"&"};var xe=G(Te);var ye=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/g,r=/_x([\da-fA-F]{4})_/g;return function t(a){var n=a+"",i=n.indexOf("-1?16:10))||e; +}).replace(r,function(e,r){return String.fromCharCode(parseInt(r,16))});var s=n.indexOf("]]>");return t(n.slice(0,i))+n.slice(i+9,s)+t(n.slice(s+3))}}();var Ie=/[&<>'"]/g,Ae=/[\u0000-\u0008\u000b-\u001f]/g;function Re(e){var r=e+"";return r.replace(Ie,function(e){return xe[e]}).replace(Ae,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function Fe(e){return Re(e).replace(/ /g,"_x0020_")}var De=/[\u0000-\u001f]/g;function Oe(e){var r=e+"";return r.replace(Ie,function(e){return xe[e]}).replace(De,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}function Pe(e){var r=e+"";return r.replace(Ie,function(e){return xe[e]}).replace(De,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var Ne=function(){var e=/&#(\d+);/g;function r(e,r){return String.fromCharCode(parseInt(r,10))}return function t(a){return a.replace(e,r)}}();var Le=function(){return function e(r){return r.replace(/(\r\n|[\r\n])/g," ")}}();function Me(e){switch(e){case 1:;case true:;case"1":;case"true":;case"TRUE":return true;default:return false;}}var Ue=function mm(e){var r="",t=0,a=0,n=0,i=0,s=0,l=0;while(t191&&a<224){s=(a&31)<<6;s|=n&63;r+=String.fromCharCode(s);continue}i=e.charCodeAt(t++);if(a<240){r+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(t++);l=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536;r+=String.fromCharCode(55296+(l>>>10&1023));r+=String.fromCharCode(56320+(l&1023))}return r};var He=function(e){var r=[],t=0,a=0,n=0;while(t>6)));r.push(String.fromCharCode(128+(a&63)));break;case a>=55296&&a<57344:a-=55296;n=e.charCodeAt(t++)-56320+(a<<10);r.push(String.fromCharCode(240+(n>>18&7)));r.push(String.fromCharCode(144+(n>>12&63)));r.push(String.fromCharCode(128+(n>>6&63)));r.push(String.fromCharCode(128+(n&63)));break;default:r.push(String.fromCharCode(224+(a>>12)));r.push(String.fromCharCode(128+(a>>6&63)));r.push(String.fromCharCode(128+(a&63)));}}return r.join("")};if(E){var We=function bm(e){var r=new Buffer(2*e.length),t,a,n=1,i=0,s=0,l;for(a=0;a>>10&1023);t=56320+(t&1023)}if(s!==0){r[i++]=s&255;r[i++]=s>>>8;s=0}r[i++]=t%256;r[i++]=t>>>8}return r.slice(0,i).toString("ucs2")};var Ve="foo bar baz☃🍣";if(Ue(Ve)==We(Ve))Ue=We;var ze=function gm(e){return Buffer(e,"binary").toString("utf8")};if(Ue(Ve)==ze(Ve))Ue=ze;He=function(e){return new Buffer(e,"utf8").toString("binary")}}var Xe=function(){var e={};return function r(t,a){var n=t+"|"+(a||"");if(e[n])return e[n];return e[n]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",a||"")}}();var Ge=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","g"),e[1]]});return function r(t){var a=t.trim().replace(/\s+/g," ").replace(/<\s*[bB][rR]\s*\/?>/g,"\n").replace(/<[^>]*>/g,"");for(var n=0;n([\\s\\S]*?)","g")}}();var Ke=/<\/?(?:vt:)?variant>/g,Ye=/<(?:vt:)([^>]*)>([\s\S]*)"+r+""}function Je(e){return z(e).map(function(r){return" "+r+'="'+e[r]+'"'}).join("")}function qe(e,r,t){return"<"+e+(t!=null?Je(t):"")+(r!=null?(r.match(Ze)?' xml:space="preserve"':"")+">"+r+""}function er(e,r){try{return e.toISOString().replace(/\.\d*/,"")}catch(t){if(r)throw t}return""}function rr(e){switch(typeof e){case"string":return qe("vt:lpwstr",e);case"number":return qe((e|0)==e?"vt:i4":"vt:r8",String(e));case"boolean":return qe("vt:bool",e?"true":"false");}if(e instanceof Date)return qe("vt:filetime",er(e));throw new Error("Unable to serialize "+e)}var tr={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"};tr.main=["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"];var ar={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 nr(e,r){var t=1-2*(e[r+7]>>>7);var a=((e[r+7]&127)<<4)+(e[r+6]>>>4&15);var n=e[r+6]&15;for(var i=5;i>=0;--i)n=n*256+e[r+i];if(a==2047)return n==0?t*Infinity:NaN;if(a==0)a=-1022;else{a-=1023;n+=Math.pow(2,52)}return t*Math.pow(2,a-52)*n}function ir(e,r,t){var a=(r<0||1/r==-Infinity?1:0)<<7,n=0,i=0;var s=a?-r:r;if(!isFinite(s)){n=2047;i=isNaN(r)?26985:0}else if(s==0)n=i=0;else{n=Math.floor(Math.log(s)/Math.LN2);i=s*Math.pow(2,52-n);if(n<=-1023&&(!isFinite(i)||i>4|a}var sr=function(e){var r=[],t=10240;for(var a=0;a0?hr(e,r+4,r+4+t-1):""};var vr=dr;var pr=function(e,r){var t=Ir(e,r);return t>0?hr(e,r+4,r+4+t-1):""};var mr=pr;var br=function(e,r){var t=2*Ir(e,r);return t>0?hr(e,r+4,r+4+t-1):""};var gr=br;var Er,kr;Er=kr=function Em(e,r){var t=Ir(e,r);return t>0?fr(e,r+4,r+4+t):""};var wr=function(e,r){var t=Ir(e,r);return t>0?hr(e,r+4,r+4+t):""};var Sr=wr;var _r,Cr;_r=Cr=function(e,r){return nr(e,r)};var Br=function km(e){return Array.isArray(e)};if(E){fr=function(e,r,t){if(!Buffer.isBuffer(e))return or(e,r,t);return e.toString("utf16le",r,t).replace(x,"")};cr=function(e,r,t){return Buffer.isBuffer(e)?e.toString("hex",r,r+t):ur(e,r,t)};dr=function wm(e,r){if(!Buffer.isBuffer(e))return vr(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};pr=function Sm(e,r){if(!Buffer.isBuffer(e))return mr(e,r);var t=e.readUInt32LE(r);return t>0?e.toString("utf8",r+4,r+4+t-1):""};br=function _m(e,r){if(!Buffer.isBuffer(e))return gr(e,r);var t=2*e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t-1)};Er=function Cm(e,r){if(!Buffer.isBuffer(e))return kr(e,r);var t=e.readUInt32LE(r);return e.toString("utf16le",r+4,r+4+t)};wr=function Bm(e,r){if(!Buffer.isBuffer(e))return Sr(e,r);var t=e.readUInt32LE(r);return e.toString("utf8",r+4,r+4+t)};hr=function Tm(e,r,t){return Buffer.isBuffer(e)?e.toString("utf8",r,t):hr(e,r,t)};sr=function(e){return e[0].length>0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0]):lr(e)};T=function(e){return Buffer.isBuffer(e[0])?Buffer.concat(e):[].concat.apply([],e)};_r=function xm(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return Cr(e,r)};Br=function ym(e){return Buffer.isBuffer(e)||Array.isArray(e)}}if(typeof cptable!=="undefined"){fr=function(e,r,t){return cptable.utils.decode(1200,e.slice(r,t)).replace(x,"")};hr=function(e,r,t){return cptable.utils.decode(65001,e.slice(r,t))};dr=function(e,r){var t=Ir(e,r);return t>0?cptable.utils.decode(a,e.slice(r+4,r+4+t-1)):""};pr=function(e,r){var a=Ir(e,r);return a>0?cptable.utils.decode(t,e.slice(r+4,r+4+a-1)):""};br=function(e,r){var t=2*Ir(e,r);return t>0?cptable.utils.decode(1200,e.slice(r+4,r+4+t-1)):""};Er=function(e,r){var t=Ir(e,r);return t>0?cptable.utils.decode(1200,e.slice(r+4,r+4+t)):""};wr=function(e,r){var t=Ir(e,r);return t>0?cptable.utils.decode(65001,e.slice(r+4,r+4+t)):""}}var Tr=function(e,r){return e[r]};var xr=function(e,r){return e[r+1]*(1<<8)+e[r]};var yr=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var Ir=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var Ar=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var Rr=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function Fr(e,r){var a="",n,i,s=[],l,f,o,c;switch(r){case"dbcs":c=this.l;if(E&&Buffer.isBuffer(this))a=this.slice(this.l,this.l+2*e).toString("utf16le");else for(o=0;o0?Ar:Rr)(this,this.l);this.l+=4;return n}else{i=Ir(this,this.l);this.l+=4}return i;case 8:;case-8:if(r==="f"){if(e==8)i=_r(this,this.l);else i=_r([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;return i}else e=8;case 16:a=cr(this,this.l,e);break;};}this.l+=e;return a}var Dr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255;e[t+2]=r>>>16&255;e[t+3]=r>>>24&255};var Or=function(e,r,t){e[t]=r&255;e[t+1]=r>>8&255;e[t+2]=r>>16&255;e[t+3]=r>>24&255};var Pr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function Nr(e,r,t){var a=0,n=0;if(t==="dbcs"){for(n=0;n!=r.length;++n)Pr(this,r.charCodeAt(n),this.l+2*n);a=2*r.length}else if(t==="sbcs"){r=r.replace(/[^\x00-\x7F]/g,"_");for(n=0;n!=r.length;++n)this[this.l+n]=r.charCodeAt(n)&255;a=r.length}else if(t==="hex"){for(;n>8}while(this.l>>=8;this[this.l+1]=r&255;break;case 3:a=3;this[this.l]=r&255;r>>>=8;this[this.l+1]=r&255;r>>>=8;this[this.l+2]=r&255;break;case 4:a=4;Dr(this,r,this.l);break;case 8:a=8;if(t==="f"){ir(this,r,this.l);break};case 16:break;case-4:a=4;Or(this,r,this.l);break;}this.l+=a;return this}function Lr(e,r){var t=cr(this,this.l,e.length>>1);if(t!==e)throw new Error(r+"Expected "+e+" saw "+t);this.l+=e.length>>1}function Mr(e,r){e.l=r;e._R=Fr;e.chk=Lr;e._W=Nr}function Ur(e,r){e.l+=r}function Hr(e){var r=k(e);Mr(r,0);return r}function Wr(e,r,t){if(!e)return;var a,n,i;Mr(e,e.l||0);var s=e.length,l=0,f=0;while(e.la.l){a=a.slice(0,a.l);a.l=a.length}if(a.length>0)e.push(a);a=null};var i=function c(e){if(a&&e=128?1:0)+1;if(a>=128)++i;if(a>=16384)++i;if(a>=2097152)++i;var s=e.next(i);if(n<=127)s._W(1,n);else{s._W(1,(n&127)+128);s._W(1,n>>7)}for(var l=0;l!=4;++l){if(a>=128){s._W(1,(a&127)+128);a>>=7}else{s._W(1,a);break}}if(a>0&&Br(t))e.push(t)}function Xr(e,r,t){var a=ne(e);if(r.s){if(a.cRel)a.c+=r.s.c;if(a.rRel)a.r+=r.s.r}else{if(a.cRel)a.c+=r.c;if(a.rRel)a.r+=r.r}if(!t||t.biff<12){while(a.c>=256)a.c-=256;while(a.r>=65536)a.r-=65536}return a}function Gr(e,r,t){var a=ne(e);a.s=Xr(a.s,r.s,t);a.e=Xr(a.e,r.s,t);return a}function jr(e){var r=st(e);if(e.cRel===0)r=tt(r);if(e.rRel===0)r=Jr(r);return r}function Kr(e,r){if(e.s.r==0&&!e.s.rRel){if(e.e.r==(r.biff>=12?1048575:65535)&&!e.e.rRel){return(e.s.cRel?"":"$")+rt(e.s.c)+":"+(e.e.cRel?"":"$")+rt(e.e.c)}}if(e.s.c==0&&!e.s.cRel){if(e.e.c==(r.biff>=12?65535:255)&&!e.e.cRel){return(e.s.rRel?"":"$")+Qr(e.s.r)+":"+(e.e.rRel?"":"$")+Qr(e.e.r)}}return jr(e.s)+":"+jr(e.e)}var Yr={};var $r=function(e,r){var t;if(typeof r!=="undefined")t=r;else if(typeof require!=="undefined"){try{t=undefined}catch(a){t=null}}e.rc4=function(e,r){var t=new Array(256);var a=0,n=0,i=0,s=0;for(n=0;n!=256;++n)t[n]=n;for(n=0;n!=256;++n){i=i+t[n]+e[n%e.length].charCodeAt(0)&255;s=t[n];t[n]=t[i];t[i]=s}n=i=0;var l=Buffer(r.length);for(a=0;a!=r.length;++a){n=n+1&255;i=(i+t[n])%256;s=t[n];t[n]=t[i];t[i]=s;l[a]=r[a]^t[t[n]+t[i]&255]}return l};e.md5=function(e){if(!t)throw new Error("Unsupported crypto");return t.createHash("md5").update(e).digest("hex")}};$r(Yr,typeof crypto!=="undefined"?crypto:undefined);function Zr(e){return parseInt(qr(e),10)-1}function Qr(e){return""+(e+1)}function Jr(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}function qr(e){return e.replace(/\$(\d+)$/,"$1")}function et(e){var r=at(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function rt(e){var r="";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r}function tt(e){return e.replace(/^([A-Z])/,"$$$1")}function at(e){return e.replace(/^\$([A-Z])/,"$1")}function nt(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")}function it(e){var r=nt(e);return{c:et(r[0]),r:Zr(r[1])}}function st(e){return rt(e.c)+Qr(e.r)}function lt(e){var r=e.split(":").map(it);return{s:r[0],e:r[r.length-1]}}function ft(e,r){if(typeof r==="undefined"||typeof r==="number"){return ft(e.s,e.e)}if(typeof e!=="string")e=st(e);if(typeof r!=="string")r=st(r);return e==r?e:e+":"+r}function ot(e){var r={s:{c:0,r:0},e:{c:0,r:0}};var t=0,a=0,n=0;var i=e.length;for(t=0;a26)break;t=26*t+n}r.s.c=--t;for(t=0;a9)break;t=10*t+n}r.s.r=--t;if(a===i||e.charCodeAt(++a)===58){r.e.c=r.s.c;r.e.r=r.s.r;return r}for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-64)<1||n>26)break;t=26*t+n}r.e.c=--t;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-48)<0||n>9)break;t=10*t+n}r.e.r=--t;return r}function ct(e,r){var t=e.t=="d"&&r instanceof Date;if(e.z!=null)try{return e.w=I.format(e.z,t?Q(r):r)}catch(a){}try{return e.w=I.format((e.XF||{}).numFmtId||(t?14:0),t?Q(r):r)}catch(a){return""+r}}function ut(e,r,t){if(e==null||e.t==null||e.t=="z")return"";if(e.w!==undefined)return e.w;if(e.t=="d"&&!e.z&&t&&t.dateNF)e.z=t.dateNF;if(r==undefined)return ct(e,e.v);return ct(e,r)}function ht(e,r){var t=r&&r.sheet?r.sheet:"Sheet1";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function dt(e,r,t){var a=t||{};var n=e?Array.isArray(e):a.dense;if(m!=null&&n==null)n=m;var i=e||(n?[]:{});var s=0,l=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var f=typeof a.origin=="string"?it(a.origin):a.origin;s=f.r;l=f.c}}var o={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i["!ref"]){var c=ot(i["!ref"]);o.s.c=c.s.c;o.s.r=c.s.r;o.e.c=Math.max(o.e.c,c.e.c);o.e.r=Math.max(o.e.r,c.e.r);if(s==-1)o.e.r=s=c.e.r+1}for(var u=0;u!=r.length;++u){for(var h=0;h!=r[u].length;++h){if(typeof r[u][h]==="undefined")continue;var d={v:r[u][h]};if(Array.isArray(d.v)){d.f=r[u][h][1];d.v=d.v[0]}var v=s+u,p=l+h;if(o.s.r>v)o.s.r=v;if(o.s.c>p)o.s.c=p;if(o.e.r0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}function gt(e){return{ich:e._R(2),ifnt:e._R(2)}}function Et(e,r){if(!r)r=Hr(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function kt(e,r){var t=e.l;var a=e._R(1);var n=mt(e);var i=[];var s={t:n,h:n};if((a&1)!==0){var l=e._R(4);for(var f=0;f!=l;++f)i.push(gt(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function wt(e,r){var t=false;if(r==null){t=true;r=Hr(15+4*e.t.length)}r._W(1,0);bt(e.t,r);return t?r.slice(0,r.l):r}var St=kt;function _t(e,r){var t=false;if(r==null){t=true;r=Hr(23+4*e.t.length)}r._W(1,1);bt(e.t,r);r._W(4,1);Et({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function Ct(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function Bt(e,r){if(r==null)r=Hr(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var Tt=mt;var xt=bt;function yt(e){var r=e._R(4);return r===0||r===4294967295?"":e._R(r,"dbcs")}function It(e,r){var t=false;if(r==null){t=true;r=Hr(127)}r._W(4,e.length>0?e.length:4294967295);if(e.length>0)r._W(0,e,"dbcs");return t?r.slice(0,r.l):r}var At=mt;var Rt=yt;var Ft=It;function Dt(e){var r=e.slice(e.l,e.l+4);var t=r[0]&1,a=r[0]&2;e.l+=4;r[0]&=252;var n=a===0?_r([0,0,0,0,r[0],r[1],r[2],r[3]],0):Ar(r,0)>>2;return t?n/100:n}function Ot(e,r){if(r==null)r=Hr(4);var t=0,a=0,n=e*100;if(e==(e|0)&&e>=-(1<<29)&&e<1<<29){a=1}else if(n==(n|0)&&n>=-(1<<29)&&n<1<<29){a=1;t=1}if(a)r._W(-4,((t?n:e)<<2)+(t+2));else throw new Error("unsupported RkNumber "+e)}function Pt(e){var r={s:{},e:{}};r.s.r=e._R(4);r.e.r=e._R(4);r.s.c=e._R(4);r.e.c=e._R(4);return r}function Nt(e,r){if(!r)r=Hr(16);r._W(4,e.s.r);r._W(4,e.e.r);r._W(4,e.s.c);r._W(4,e.e.c);return r}var Lt=Pt;var Mt=Nt;function Ut(e){return e._R(8,"f")}function Ht(e,r){return(r||Hr(8))._W(8,e,"f")}var Wt={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"};var Vt=j(Wt);function zt(e){var r={};var t=e._R(1);var a=t>>>1;var n=e._R(1);var i=e._R(2,"i");var s=e._R(1);var l=e._R(1);var f=e._R(1);e.l++;switch(a){case 0:r.auto=1;break;case 1:r.index=n;var o=va[n];if(o)r.rgb=Rl(o);break;case 2:r.rgb=Rl([s,l,f]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function Xt(e,r){if(!r)r=Hr(8);if(!e||e.auto){r._W(4,0);r._W(4,0);return r}if(e.index){r._W(1,2);r._W(1,e.index)}else if(e.theme){r._W(1,6);r._W(1,e.theme)}else{r._W(1,5);r._W(1,0)}var t=e.tint||0;if(t>0)t*=32767;else if(t<0)t*=32768;r._W(2,t);if(!e.rgb){r._W(2,0);r._W(1,0);r._W(1,0)}else{var a=e.rgb||"FFFFFF";r._W(1,parseInt(a.slice(0,2),16));r._W(1,parseInt(a.slice(2,4),16));r._W(1,parseInt(a.slice(4,6),16));r._W(1,255)}return r}function Gt(e){var r=e._R(1);e.l++;var t={fItalic:r&2,fStrikeout:r&8,fOutline:r&16,fShadow:r&32,fCondense:r&64,fExtend:r&128};return t}function jt(e,r){if(!r)r=Hr(2);var t=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);r._W(1,t);r._W(1,0);return r}function Kt(e,r){var t={2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"};var a=e._R(4);switch(a){case 0:return"";case 4294967295:;case 4294967294:return t[e._R(4)]||"";}if(a>400)throw new Error("Unsupported Clipboard: "+a.toString(16));e.l-=4;return e._R(0,r==1?"lpstr":"lpwstr")}function Yt(e){return Kt(e,1)}function $t(e){return Kt(e,2)}var Zt=2;var Qt=3;var Jt=11;var qt=12;var ea=19;var ra=30;var ta=64;var aa=71;var na=4096;var ia=80;var sa=81;var la=[ia,sa];var fa={1:{n:"CodePage",t:Zt},2:{n:"Category",t:ia},3:{n:"PresentationFormat",t:ia},4:{n:"ByteCount",t:Qt},5:{n:"LineCount",t:Qt},6:{n:"ParagraphCount",t:Qt},7:{n:"SlideCount",t:Qt},8:{n:"NoteCount",t:Qt},9:{n:"HiddenCount",t:Qt},10:{n:"MultimediaClipCount",t:Qt},11:{n:"Scale",t:Jt},12:{n:"HeadingPair",t:na|qt},13:{n:"DocParts",t:na|ra},14:{n:"Manager",t:ia},15:{n:"Company",t:ia},16:{n:"LinksDirty",t:Jt},17:{n:"CharacterCount",t:Qt},19:{n:"SharedDoc",t:Jt},22:{n:"HLinksChanged",t:Jt},23:{n:"AppVersion",t:Qt,p:"version"},26:{n:"ContentType",t:ia},27:{n:"ContentStatus",t:ia},28:{n:"Language",t:ia},29:{n:"Version",t:ia},255:{}};var oa={1:{n:"CodePage",t:Zt},2:{n:"Title",t:ia},3:{n:"Subject",t:ia},4:{n:"Author",t:ia},5:{n:"Keywords",t:ia},6:{n:"Comments",t:ia},7:{n:"Template",t:ia},8:{n:"LastAuthor",t:ia},9:{n:"RevNumber",t:ia},10:{n:"EditTime",t:ta},11:{n:"LastPrinted",t:ta},12:{n:"CreatedDate",t:ta},13:{n:"ModifiedDate",t:ta},14:{n:"PageCount",t:Qt},15:{n:"WordCount",t:Qt},16:{n:"CharCount",t:Qt},17:{n:"Thumbnail",t:aa},18:{n:"ApplicationName",t:ia},19:{n:"DocumentSecurity",t:Qt},255:{}};var ca={2147483648:{n:"Locale",t:ea},2147483651:{n:"Behavior",t:ea},1919054434:{}};(function(){for(var e in ca)if(ca.hasOwnProperty(e))fa[e]=oa[e]=ca[e]})();var ua={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"};var ha=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function da(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var va=da([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]);var pa={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","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.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+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.sheetMetadata":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"TODO","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":"vba","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.chart+xml":"TODO","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"};var ma=function(){var e={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"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};z(e).forEach(function(r){["xlsm","xlam"].forEach(function(t){if(!e[r][t])e[r][t]=e[r].xlsx})});z(e).forEach(function(r){z(e[r]).forEach(function(t){pa[e[r][t]]=r})});return e}();var ba=K(pa);tr.CT="http://schemas.openxmlformats.org/package/2006/content-types";function ga(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],TODO:[],xmlns:""}}function Ea(e){var r=ga();if(!e||!e.match)return r;var t={};(e.match(we)||[]).forEach(function(e){var a=Ce(e);switch(a[0].replace(Se,"<")){case"0?r.calcchains[0]:"";r.sst=r.strs.length>0?r.strs[0]:"";r.style=r.styles.length>0?r.styles[0]:"";r.defaults=t;delete r.calcchains;return r}var ka=qe("Types",null,{xmlns:tr.CT,"xmlns:xsd":tr.xsd,"xmlns:xsi":tr.xsi});var wa=[["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["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",ba.rels[0]]].map(function(e){ +return qe("Default",null,{Extension:e[0],ContentType:e[1]})});function Sa(e,r){var t=[],a;t[t.length]=Ee;t[t.length]=ka;t=t.concat(wa);var n=function(n){if(e[n]&&e[n].length>0){a=e[n][0];t[t.length]=qe("Override",null,{PartName:(a[0]=="/"?"":"/")+a,ContentType:ma[n][r.bookType||"xlsx"]})}};var i=function(a){(e[a]||[]).forEach(function(e){t[t.length]=qe("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:ma[a][r.bookType||"xlsx"]})})};var s=function(r){(e[r]||[]).forEach(function(e){t[t.length]=qe("Override",null,{PartName:(e[0]=="/"?"":"/")+e,ContentType:ba[r][0]})})};n("workbooks");i("sheets");i("charts");s("themes");["strs","styles"].forEach(n);["coreprops","extprops","custprops"].forEach(s);s("vba");s("comments");s("drawings");if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}var _a={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",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function Ca(e){var r=e.lastIndexOf("/");return e.slice(0,r+1)+"_rels/"+e.slice(r+1)+".rels"}function Ba(e,r){if(!e)return e;if(r.charAt(0)!=="/"){r="/"+r}var t={};var a={};(e.match(we)||[]).forEach(function(e){var n=Ce(e);if(n[0]==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function ya(e,r,t,a,n){if(!n)n={};if(!e["!id"])e["!id"]={};if(r<0)for(r=1;e["!id"]["rId"+r];++r){}n.Id="rId"+r;n.Type=a;n.Target=t;if(n.Type==_a.HLINK)n.TargetMode="External";if(e["!id"][n.Id])throw new Error("Cannot rewrite rId "+r);e["!id"][n.Id]=n;e[("/"+n.Target).replace("//","/")]=n;return r}var Ia="application/vnd.oasis.opendocument.spreadsheet";function Aa(e,r){var t=vv(e);var a;var n;while(a=pv.exec(t))switch(a[3]){case"manifest":break;case"file-entry":n=Ce(a[0],false);if(n.path=="/"&&n.type!==Ia)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":;case"algorithm":;case"start-key-generation":;case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(r&&r.WTF)throw a;}}function Ra(e){var r=[Ee];r.push('\n');r.push(' \n');for(var t=0;t\n');r.push("");return r.join("")}function Fa(e,r,t){return[' \n',' \n'," \n"].join("")}function Da(e,r){return[' \n',' \n'," \n"].join("")}function Oa(e){var r=[Ee];r.push('\n');for(var t=0;t!=e.length;++t){r.push(Fa(e[t][0],e[t][1]));r.push(Da("",e[t][0]))}r.push(Fa("","Document","pkg"));r.push("");return r.join("")}var Pa=function(){var e='Sheet'+"JS "+r.version+"";return function t(){return e}}();var Na=[["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"]];tr.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/metadata/core-properties";_a.CORE_PROPS="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";var La=function(){var e=new Array(Na.length);for(var r=0;r]*>([\\s\\S]*?)")}return e}();function Ma(e){var r={};e=Ue(e);for(var t=0;t0)r[a[1]]=n[1];if(a[2]==="date"&&r[a[1]])r[a[1]]=te(r[a[1]])}return r}var Ua=qe("cp:coreProperties",null,{"xmlns:cp":tr.CORE_PROPS,"xmlns:dc":tr.dc,"xmlns:dcterms":tr.dcterms,"xmlns:dcmitype":tr.dcmitype,"xmlns:xsi":tr.xsi});function Ha(e,r,t,a,n){if(n[e]!=null||r==null||r==="")return;n[e]=r;a[a.length]=t?qe(e,r,t):Qe(e,r)}function Wa(e,r){var t=r||{};var a=[Ee,Ua],n={};if(!e&&!t.Props)return a.join("");if(e){if(e.CreatedDate!=null)Ha("dcterms:created",typeof e.CreatedDate==="string"?e.CreatedDate:er(e.CreatedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n);if(e.ModifiedDate!=null)Ha("dcterms:modified",typeof e.ModifiedDate==="string"?e.ModifiedDate:er(e.ModifiedDate,t.WTF),{"xsi:type":"dcterms:W3CDTF"},a,n)}for(var i=0;i!=Na.length;++i){var s=Na[i];var l=t.Props&&t.Props[s[1]]!=null?t.Props[s[1]]:e?e[s[1]]:null;if(l===true)l="1";else if(l===false)l="0";else if(typeof l=="number")l=String(l);if(l!=null)Ha(s[0],l,null,a,n)}if(a.length>2){a[a.length]="";a[1]=a[1].replace("/>",">")}return a.join("")}var Va=[["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"]];tr.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties";_a.EXT_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";function za(e,r,t){var a={};if(!r)r={};e=Ue(e);Va.forEach(function(t){switch(t[2]){case"string":r[t[1]]=(e.match(Xe(t[0]))||[])[1];break;case"bool":r[t[1]]=(e.match(Xe(t[0]))||[])[1]==="true";break;case"raw":var n=e.match(new RegExp("<"+t[0]+"[^>]*>([\\s\\S]*?)"));if(n&&n.length>0)a[t[1]]=n[1];break;}});if(a.HeadingPairs&&a.TitlesOfParts){var n=$e(a.HeadingPairs,t);var i=$e(a.TitlesOfParts,t).map(function(e){return e.v});var s=0,l=0;if(i.length>0)for(var f=0;f!==n.length;f+=2){l=+n[f+1].v;switch(n[f].v){case"Worksheets":;case"工作表":;case"Листы":;case"أوراق العمل":;case"ワークシート":;case"גליונות עבודה":;case"Arbeitsblätter":;case"Çalışma Sayfaları":;case"Feuilles de calcul":;case"Fogli di lavoro":;case"Folhas de cálculo":;case"Planilhas":;case"Regneark":;case"Werkbladen":r.Worksheets=l;r.SheetNames=i.slice(s,s+l);break;case"Named Ranges":;case"名前付き一覧":;case"Benannte Bereiche":;case"Navngivne områder":r.NamedRanges=l;r.DefinedNames=i.slice(s,s+l);break;case"Charts":;case"Diagramme":r.Chartsheets=l;r.ChartNames=i.slice(s,s+l);break;}s+=l}}return r}var Xa=qe("Properties",null,{xmlns:tr.EXT_PROPS,"xmlns:vt":tr.vt});function Ga(e){var r=[],t=qe;if(!e)e={};e.Application="SheetJS";r[r.length]=Ee;r[r.length]=Xa;Va.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case"string":n=String(e[a[1]]);break;case"bool":n=e[a[1]]?"true":"false";break;}if(n!==undefined)r[r.length]=t(a[0],n)});r[r.length]=t("HeadingPairs",t("vt:vector",t("vt:variant","Worksheets")+t("vt:variant",t("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"}));r[r.length]=t("TitlesOfParts",t("vt:vector",e.SheetNames.map(function(e){return""+Re(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"}));if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}tr.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties";_a.CUST_PROPS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties";var ja=/<[^>]+>[^<]*/g;function Ka(e,r){var t={},a="";var n=e.match(ja);if(n)for(var i=0;i!=n.length;++i){var s=n[i],l=Ce(s);switch(l[0]){case"":a=null;break;default:if(s.indexOf("");var o=f[0].slice(4),c=f[1];switch(o){case"lpstr":;case"bstr":;case"lpwstr":t[a]=ye(c);break;case"bool":t[a]=Me(c);break;case"i1":;case"i2":;case"i4":;case"i8":;case"int":;case"uint":t[a]=parseInt(c,10);break;case"r4":;case"r8":;case"decimal":t[a]=parseFloat(c);break;case"filetime":;case"date":t[a]=te(c);break;case"cy":;case"error":t[a]=ye(c);break;default:if(o.slice(-1)=="/")break;if(r.WTF&&typeof console!=="undefined")console.warn("Unexpected",s,o,f);}}else if(s.slice(0,2)==="2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}var Za={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"};var Qa=G(Za);function Ja(e,r,t){r=Qa[r]||r;e[r]=t}function qa(e,r){var t=[];z(Za).map(function(e){for(var r=0;r'+n.join("")+""}function rn(e){var r=e._R(4),t=e._R(4);return new Date((t/1e7*Math.pow(2,32)+r/1e7-11644473600)*1e3).toISOString().replace(/\.000/,"")}function tn(e,r,t){var a=e.l;var n=e._R(0,"lpstr-cp");if(t)while(e.l-a&3)++e.l;return n}function an(e,r,t){var a=e._R(0,"lpwstr");if(t)e.l+=4-(a.length+1&3)&3;return a}function nn(e,r,t){if(r===31)return an(e);return tn(e,r,t)}function sn(e,r,t){return nn(e,r,t===false?0:4)}function ln(e,r){if(!r)throw new Error("VtUnalignedString must have positive length");return nn(e,r,0)}function fn(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,"lpstr-cp").replace(x,"");return t}function on(e){return fn(e)}function cn(e){var r=mn(e,sa);var t=mn(e,Qt);return[r,t]}function un(e){var r=e._R(4);var t=[];for(var a=0;a!=r/2;++a)t.push(cn(e));return t}function hn(e){return un(e)}function dn(e,r){var t=e._R(4);var a={};for(var n=0;n!=t;++n){var i=e._R(4);var s=e._R(4);a[i]=e._R(s,r===1200?"utf16le":"utf8").replace(x,"").replace(y,"!")}if(e.l&3)e.l=e.l>>2+1<<2;return a}function vn(e){var r=e._R(4);var t=e.slice(e.l,e.l+r);if((r&3)>0)e.l+=4-(r&3)&3;return t}function pn(e){var r={};r.Size=e._R(4);e.l+=r.Size;return r}function mn(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==qt)if(a!==r&&la.indexOf(r)===-1)throw new Error("Expected type "+r+" saw "+a);switch(r===qt?a:r){case 2:n=e._R(2,"i");if(!i.raw)e.l+=2;return n;case 3:n=e._R(4,"i");return n;case 11:return e._R(4)!==0;case 19:n=e._R(4);return n;case 30:return tn(e,a,4).replace(x,"");case 31:return an(e);case 64:return rn(e);case 65:return vn(e);case 71:return pn(e);case 80:return sn(e,a,!i.raw).replace(x,"");case 81:return ln(e,a).replace(x,"");case 4108:return hn(e);case 4126:return on(e);default:throw new Error("TypedPropertyValue unrecognized type "+r+" "+a);}}function bn(e,r){var t=e.l;var a=e._R(4);var n=e._R(4);var i=[],s=0;var l=0;var f=-1,c={};for(s=0;s!=n;++s){var u=e._R(4);var h=e._R(4);i[s]=[u,h+t]}i.sort(function(e,r){return e[1]-r[1]});var d={};for(s=0;s!=n;++s){if(e.l!==i[s][1]){var v=true;if(s>0&&r)switch(r[i[s-1][0]].t){case 2:if(e.l+2===i[s][1]){e.l+=2;v=false}break;case 80:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;case 4108:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;}if((!r||s==0)&&e.l<=i[s][1]){v=false;e.l=i[s][1]}if(v)throw new Error("Read Error: Expected address "+i[s][1]+" at "+e.l+" :"+s)}if(r){var p=r[i[s][0]];d[p.n]=mn(e,p.t,{raw:true});if(p.p==="version")d[p.n]=String(d[p.n]>>16)+"."+String(d[p.n]&65535);if(p.n=="CodePage")switch(d[p.n]){case 0:d[p.n]=1252;case 874:;case 932:;case 936:;case 949:;case 950:;case 1250:;case 1251:;case 1253:;case 1254:;case 1255:;case 1256:;case 1257:;case 1258:;case 1e4:;case 1200:;case 1201:;case 1252:;case 65e3:;case-536:;case 65001:;case-535:o(l=d[p.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+d[p.n]);}}else{if(i[s][0]===1){l=d.CodePage=mn(e,Zt);o(l);if(f!==-1){var m=e.l;e.l=i[f][1];c=dn(e,l);e.l=m}}else if(i[s][0]===0){if(l===0){f=s;e.l=i[s+1][1];continue}c=dn(e,l)}else{var b=c[i[s][0]];var g;switch(e[e.l]){case 65:e.l+=4;g=vn(e);break;case 30:e.l+=4;g=sn(e,e[e.l-4]);break;case 31:e.l+=4;g=sn(e,e[e.l-4]);break;case 3:e.l+=4;g=e._R(4,"i");break;case 19:e.l+=4;g=e._R(4);break;case 5:e.l+=4;g=e._R(8,"f");break;case 11:e.l+=4;g=Sn(e,4);break;case 64:e.l+=4;g=te(rn(e));break;default:throw new Error("unparsed value: "+e[e.l]);}d[b]=g}}}e.l=t+a;return d}function gn(e,r,t){var a=e.content;if(!a)return{};Mr(a,0);var n,i,s,l,f=0;a.chk("feff","Byte Order: ");a._R(2);var o=a._R(4);var c=a._R(16);if(c!==L.utils.consts.HEADER_CLSID&&c!==t)throw new Error("Bad PropertySet CLSID "+c);n=a._R(4);if(n!==1&&n!==2)throw new Error("Unrecognized #Sets: "+n);i=a._R(16);l=a._R(4);if(n===1&&l!==a.l)throw new Error("Length mismatch: "+l+" !== "+a.l);else if(n===2){s=a._R(16);f=a._R(4)}var u=bn(a,r);var h={SystemIdentifier:o};for(var d in u)h[d]=u[d];h.FMTID=i;if(n===1)return h;if(a.l!==f)throw new Error("Length mismatch 2: "+a.l+" !== "+f);var v;try{v=bn(a,null)}catch(p){}for(d in v)h[d]=v[d];h.FMTID=[i,s];return h}function En(e,r){e._R(r);return null}function kn(e,r){if(!r)r=Hr(e);for(var t=0;t=12?2:1);var i="sbcs-cont";var s=t;if(a&&a.biff>=8)t=1200;if(!a||a.biff==8){var l=e._R(1);if(l){i="dbcs-cont"}}else if(a.biff==12){i="wstr"}if(a.biff>=2&&a.biff<=5)i="cpstr";var f=n?e._R(n,i):"";t=s;return f}function An(e){var r=t;t=1200;var a=e._R(2),n=e._R(1);var i=n&4,s=n&8;var l=1+(n&1);var f=0,o;var c={};if(s)f=e._R(2);if(i)o=e._R(4);var u=l==2?"dbcs-cont":"sbcs-cont";var h=a===0?"":e._R(a,u);if(s)e.l+=4*f;if(i)e.l+=o;c.t=h;if(!s){c.raw=""+c.t+"";c.r=c.t}t=r;return c}function Rn(e,r,t){var a;if(t){if(t.biff>=2&&t.biff<=5)return e._R(r,"cpstr");if(t.biff>=12)return e._R(r,"dbcs-cont")}var n=e._R(1);if(n===0){a=e._R(r,"sbcs-cont")}else{a=e._R(r,"dbcs-cont")}return a}function Fn(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return""}return Rn(e,a,t)}function Dn(e,r,t){if(t.biff>5)return Fn(e,r,t);var a=e._R(1);if(a===0){e.l++;return""}return e._R(a,t.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function On(e,r,t){if(!t)t=Hr(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,"utf16le");return t}function Pn(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function Nn(e){var r=e._R(4),t=e.l;var a=false;if(r>24){e.l+=r-24;if(e._R(16)==="795881f43b1d7f48af2c825dc4852763")a=true;e.l=t}var n=e._R((a?r-24:r)>>1,"utf16le").replace(x,"");if(a)e.l+=24;return n}function Ln(e){e.l+=2;var r=e._R(0,"lpstr-ansi");e.l+=2;if(e._R(2)!=57005)throw new Error("Bad FileMoniker");var t=e._R(4);if(t===0)return r.replace(/\\/g,"/");var a=e._R(4);if(e._R(2)!=3)throw new Error("Bad FileMoniker");var n=e._R(a>>1,"utf16le").replace(x,"");return n}function Mn(e,r){var t=e._R(16);r-=16;switch(t){case"e0c9ea79f9bace118c8200aa004ba90b":return Nn(e,r);case"0303000000000000c000000000000046":return Ln(e,r);default:throw new Error("Unsupported Moniker "+t);}}function Un(e){var r=e._R(4);var t=r>0?e._R(r,"utf16le").replace(x,""):"";return t}function Hn(e,r){var t=e.l+r;var a=e._R(4);if(a!==2)throw new Error("Unrecognized streamVersion: "+a);var n=e._R(2);e.l+=2;var i,s,l,f,o="",c,u;if(n&16)i=Un(e,t-e.l);if(n&128)s=Un(e,t-e.l);if((n&257)===257)l=Un(e,t-e.l);if((n&257)===1)f=Mn(e,t-e.l);if(n&8)o=Un(e,t-e.l);if(n&32)c=e._R(16);if(n&64)u=rn(e);e.l=t;var h=s||l||f||"";if(h&&o)h+="#"+o;if(!h)h="#"+o;var d={Target:h};if(c)d.guid=c;if(u)d.time=u;if(i)d.Tooltip=i;return d}function Wn(e){var r=Hr(512),t=0;var a=e.Target;var n=a.indexOf("#")>-1?31:23;switch(a.charAt(0)){case"#":n=28;break;case".":n&=~2;break;}r._W(4,2);r._W(4,n);var i=[8,6815827,6619237,4849780,83];for(t=0;t8?4:2;var n=e._R(a),i=e._R(a,"i"),s=e._R(a,"i");return[n,i,s]}function $n(e){var r=e._R(2);var t=Dt(e);return[r,t]}function Zn(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=In(e,r,t);var i=e._R(2);a-=e.l;if(i!==a)throw new Error("Malformed AddinUdf: padding = "+a+" != "+i);e.l+=i;return n}function Qn(e){var r=e._R(2);var t=e._R(2);var a=e._R(2);var n=e._R(2);return{s:{c:a,r:r},e:{c:n,r:t}}}function Jn(e,r){if(!r)r=Hr(8);r._W(2,e.s.r);r._W(2,e.e.r);r._W(2,e.s.c);r._W(2,e.e.c);return r}function qn(e){var r=e._R(2);var t=e._R(2);var a=e._R(1);var n=e._R(1);return{s:{c:a,r:r},e:{c:n,r:t}}}var ei=qn;function ri(e){e.l+=4;var r=e._R(2);var t=e._R(2);var a=e._R(2);e.l+=12;return[t,r,a]}function ti(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function ai(e){var r={};e.l+=4;e.cf=e._R(2);return r}function ni(e){e.l+=2;e.l+=e._R(2)}var ii={0:ni,4:ni,5:ni,6:ni,7:ai,8:ni,9:ni,10:ni,11:ni,12:ni,13:ti,14:ni,15:ni,16:ni,17:ni,18:ni,19:ni,20:ni,21:ri};function si(e,r){var t=e.l+r;var a=[];while(e.l=2){t.dt=e._R(2);e.l-=2}switch(t.BIFFVer){case 1536:;case 1280:;case 2:;case 7:break;default:if(r>6)throw new Error("Unexpected BIFF Ver "+t.BIFFVer);}e._R(r);return t}function fi(e,r,t){var a=1536,n=16;switch(t.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=Hr(n);i._W(2,a);i._W(2,r);if(n>4)i._W(2,29282);if(n>6)i._W(2,1997);if(n>8){i._W(2,49161);i._W(2,1);i._W(2,1798);i._W(2,0)}return i}function oi(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function ci(e,r,t){if(t.enc){e.l+=r;return""}var a=e.l;var n=Dn(e,0,t);e._R(r+a-e.l);return n}function ui(e,r){var t=!r||r.biff==8;var a=Hr(t?112:54);a._W(r.biff==8?2:1,7);if(t)a._W(1,0);a._W(4,859007059);a._W(4,5458548|(t?0:536870912));while(a.l=8?2:1;var a=Hr(8+t*e.name.length);a._W(4,e.pos);a._W(1,e.hs||0);a._W(1,e.dt);a._W(1,e.name.length);if(r.biff>=8)a._W(1,1);a._W(t*e.name.length,e.name,r.biff<8?"sbcs":"utf16le");var n=a.slice(0,a.l);n.l=a.l;return n}function pi(e,r){var t=e.l+r;var a=e._R(4);var n=e._R(4);var i=[];for(var s=0;s!=n&&e.l>15);n&=32767}var i={Unsynced:a&1,DyZero:(a&2)>>1,ExAsc:(a&4)>>2,ExDsc:(a&8)>>3};return[i,n]}function wi(e){var r=e._R(2),t=e._R(2),a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2),l=e._R(2);var f=e._R(2),o=e._R(2);return{Pos:[r,t],Dim:[a,n],Flags:i,CurTab:s,FirstTab:l,Selected:f,TabRatio:o}}function Si(){var e=Hr(18);e._W(2,0);e._W(2,0);e._W(2,29280);e._W(2,17600);e._W(2,56);e._W(2,0);e._W(2,0);e._W(2,1);e._W(2,500);return e}function _i(e,r,t){if(t&&t.biff>=2&&t.biff<8)return{};var a=e._R(2);return{RTL:a&64}}function Ci(e){var r=Hr(18),t=1718;if(e&&e.RTL)t|=64;r._W(2,t);r._W(4,0);r._W(4,64);r._W(4,0);r._W(4,0);return r}function Bi(e,r,t){var a={dyHeight:e._R(2),fl:e._R(2)};switch(t&&t.biff||8){case 2:break;case 3:;case 4:e.l+=2;break;default:e.l+=10;break;}a.name=In(e,0,t);return a}function Ti(e,r){var t=e.name||"Arial";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=Hr(n);i._W(2,(e.sz||12)*20);i._W(4,0);i._W(2,400);i._W(4,0);i._W(2,0);i._W(1,t.length);if(!a)i._W(1,1);i._W((a?1:2)*t.length,t,a?"sbcs":"utf16le");return i}function xi(e){var r=Xn(e);r.isst=e._R(4);return r}function yi(e,r,t){var a=e.l+r;var n=Xn(e,6);if(t.biff==2)e.l++;var i=Fn(e,a-e.l,t);n.val=i;return n}function Ii(e,r,t,a,n){var i=!n||n.biff==8;var s=Hr(6+2+ +i+(1+i)*t.length);Gn(e,r,a,s);s._W(2,t.length);if(i)s._W(1,1);s._W((1+i)*t.length,t,i?"utf16le":"sbcs");return s}function Ai(e,r,t){var a=e._R(2);var n=Dn(e,0,t);return[a,n]}function Ri(e,r,t,a){var n=t&&t.biff==5;if(!a)a=Hr(n?3+r.length:5+2*r.length);a._W(2,e);a._W(n?1:2,r.length);if(!n)a._W(1,1);a._W((n?1:2)*r.length,r,n?"sbcs":"utf16le");var i=a.length>a.l?a.slice(0,a.l):a;if(i.l==null)i.l=i.length;return i}var Fi=Dn;function Di(e,r,t){var a=e.l+r;var n=t.biff==8||!t.biff?4:2;var i=e._R(n),s=e._R(n);var l=e._R(2),f=e._R(2);e.l=a;return{s:{r:i,c:l},e:{r:s,c:f}}}function Oi(e,r){var t=r.biff==8||!r.biff?4:2;var a=Hr(2*t+6);a._W(t,e.s.r);a._W(t,e.e.r+1);a._W(2,e.s.c);a._W(2,e.e.c+1);a._W(2,0);return a}function Pi(e){var r=e._R(2),t=e._R(2);var a=$n(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function Ni(e,r){var t=e.l+r-2;var a=e._R(2),n=e._R(2);var i=[];while(e.l>26];if(!a.cellStyles)return n;n.alc=i&7;n.fWrap=i>>3&1;n.alcV=i>>4&7;n.fJustLast=i>>7&1;n.trot=i>>8&255;n.cIndent=i>>16&15;n.fShrinkToFit=i>>20&1;n.iReadOrder=i>>22&2;n.fAtrNum=i>>26&1;n.fAtrFnt=i>>27&1;n.fAtrAlc=i>>28&1;n.fAtrBdr=i>>29&1;n.fAtrPat=i>>30&1;n.fAtrProt=i>>31&1;n.dgLeft=s&15;n.dgRight=s>>4&15;n.dgTop=s>>8&15;n.dgBottom=s>>12&15;n.icvLeft=s>>16&127;n.icvRight=s>>23&127;n.grbitDiag=s>>30&3;n.icvTop=l&127;n.icvBottom=l>>7&127;n.icvDiag=l>>14&127;n.dgDiag=l>>21&15;n.icvFore=f&127;n.icvBack=f>>7&127;n.fsxButton=f>>14&1;return n}function Ui(e,r,t){var a={};a.ifnt=e._R(2);a.numFmtId=e._R(2);a.flags=e._R(2);a.fStyle=a.flags>>2&1;r-=6;a.data=Mi(e,r,a.fStyle,t);return a}function Hi(e,r,t,a){var n=t&&t.biff==5;if(!a)a=Hr(n?16:20);a._W(2,0);if(e.style){a._W(2,e.numFmtId||0);a._W(2,65524)}else{a._W(2,e.numFmtId||0);a._W(2,r<<4)}a._W(4,0);a._W(4,0);if(!n)a._W(4,0);a._W(2,0);return a}function Wi(e){e.l+=4;var r=[e._R(2),e._R(2)];if(r[0]!==0)r[0]--;if(r[1]!==0)r[1]--;if(r[0]>7||r[1]>7)throw new Error("Bad Gutters: "+r.join("|"));return r}function Vi(e){var r=Hr(8);r._W(4,0);r._W(2,e[0]?e[0]+1:0);r._W(2,e[1]?e[1]+1:0);return r}function zi(e,r,t){var a=Xn(e,6);if(t.biff==2)++e.l;var n=xn(e,2);a.val=n;a.t=n===true||n===false?"b":"e";return a}function Xi(e,r,t,a,n,i){var s=Hr(8);Gn(e,r,a,s);yn(t,i,s);return s}function Gi(e){var r=Xn(e,6);var t=Ut(e,8);r.val=t;return r}function ji(e,r,t,a){var n=Hr(14);Gn(e,r,a,n);Ht(t,n);return n}var Ki=Kn;function Yi(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(2);t.sbcch=i;if(i==1025||i==14849)return[i,n];if(i<1||i>255)throw new Error("Unexpected SupBook type: "+i);var s=Rn(e,i);var l=[];while(a>e.l)l.push(Fn(e));return[i,n,s,l]}function $i(e,r,t){var a=e._R(2);var n;var i={fBuiltIn:a&1,fWantAdvise:a>>>1&1,fWantPict:a>>>2&1,fOle:a>>>3&1,fOleLink:a>>>4&1,cf:a>>>5&1023,fIcon:a>>>15&1};if(t.sbcch===14849)n=Zn(e,r-2,t);i.body=n||e._R(r-2);if(typeof n==="string")i.Name=n;return i}var Zi=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function Qi(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(1);var s=e._R(1);var l=e._R(t&&t.biff==2?1:2);var f=0;if(!t||t.biff>=5){if(t.biff!=5)e.l+=2;f=e._R(2);if(t.biff==5)e.l+=2;e.l+=4}var o=Rn(e,s,t);if(n&32)o=Zi[o.charCodeAt(0)];var c=a-e.l;if(t&&t.biff==2)--c;var u=a==e.l||l===0?[]:su(e,c,t,l);return{chKey:i,Name:o,itab:f,rgce:u}}function Ji(e,r,t){if(t.biff<8)return qi(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(Yn(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error("Bad ExternSheet: "+e.l+" != "+n);return a}function qi(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=In(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function es(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=Rn(e,a,t);var s=Rn(e,n,t);return[i,s]}function rs(e,r,t){var a=qn(e,6);e.l++;var n=e._R(1);r-=8;return[lu(e,r,t),n,a]}function ts(e,r,t){var a=ei(e,6);switch(t.biff){case 2:e.l++;r-=7;break;case 3:;case 4:e.l+=2;r-=8;break;default:e.l+=6;r-=12;}return[a,nu(e,r,t,a)]}function as(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function ns(e,r,t){if(t.biff<8)return;var a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2);var l=Dn(e,0,t);if(t.biff<8)e._R(1);return[{r:a,c:n},l,s,i]}function is(e,r,t){ +return ns(e,r,t)}function ss(e,r){var t=[];var a=e._R(2);while(a--)t.push(Qn(e,r));return t}function ls(e){var r=Hr(2+e.length*8);r._W(2,e.length);for(var t=0;t=(c?l:2*l))break}if(n.length!==l&&n.length!==l*2){throw new Error("cchText: "+l+" != "+n.length)}e.l=a+r;return{t:n}}catch(h){e.l=a+r;return{t:n}}}function hs(e,r){var t=Qn(e,8);e.l+=16;var a=Hn(e,r-24);return[t,a]}function ds(e){var r=Hr(24);var t=it(e[0]);r._W(2,t.r);r._W(2,t.r);r._W(2,t.c);r._W(2,t.c);var a="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" ");for(var n=0;n<16;++n)r._W(1,parseInt(a[n],16));return T([r,Wn(e[1])])}function vs(e,r){e._R(2);var t=Qn(e,8);var a=e._R((r-10)/2,"dbcs-cont");a=a.replace(x,"");return[t,a]}function ps(e){var r=e[1].Tooltip;var t=Hr(10+2*(r.length+1));t._W(2,2048);var a=it(e[0]);t._W(2,a.r);t._W(2,a.r);t._W(2,a.c);t._W(2,a.c);for(var n=0;n0)t.push(zn(e,8));return t}function Es(e){var r=e._R(2);var t=[];while(r-- >0)t.push(zn(e,8));return t}function ks(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function ws(e,r,t){if(!t.cellStyles)return Ur(e,r);var a=t&&t.biff>=12?4:2;var n=e._R(a);var i=e._R(a);var s=e._R(a);var l=e._R(a);var f=e._R(2);if(a==2)e.l+=2;return{s:n,e:i,w:s,ixfe:l,flags:f}}function Ss(e,r){var t={};if(r<32)return t;e.l+=16;t.header=Ut(e,8);t.footer=Ut(e,8);e.l+=2;return t}function _s(e,r,t){var a={area:false};if(t.biff!=5){e.l+=r;return a}var n=e._R(1);e.l+=3;if(n&16)a.area=true;return a}function Cs(e){var r=Hr(2*e);for(var t=0;t0){if(n[n.l]===42){n.l+=u;continue}++n.l;a[++b]=[];E=0;for(E=0;E!=d.length;++E){var S=n.slice(n.l,n.l+d[E].len);n.l+=d[E].len;Mr(S,0);var _=cptable.utils.decode(h,S);switch(d[E].type){case"C":a[b][E]=cptable.utils.decode(h,S);a[b][E]=a[b][E].trim();break;case"D":if(_.length===8)a[b][E]=new Date(+_.slice(0,4),+_.slice(4,6)-1,+_.slice(6,8));else a[b][E]=_;break;case"F":a[b][E]=parseFloat(_.trim());break;case"+":;case"I":a[b][E]=f?S._R(-4,"i")^2147483648:S._R(4,"i");break;case"L":switch(_.toUpperCase()){case"Y":;case"T":a[b][E]=true;break;case"N":;case"F":a[b][E]=false;break;case" ":;case"?":a[b][E]=false;break;default:throw new Error("DBF Unrecognized L:|"+_+"|");}break;case"M":if(!s)throw new Error("DBF Unexpected MEMO for type "+i.toString(16));a[b][E]="##MEMO##"+(f?parseInt(_.trim(),10):S._R(4));break;case"N":a[b][E]=+_.replace(/\u0000/g,"").trim();break;case"@":a[b][E]=new Date(S._R(-8,"f")-621356832e5);break;case"T":a[b][E]=new Date((S._R(4)-2440588)*864e5+S._R(4));break;case"Y":a[b][E]=S._R(4,"i")/1e4;break;case"O":a[b][E]=-S._R(-8,"f");break;case"B":if(l&&d[E].len==8){a[b][E]=S._R(8,"f");break};case"G":;case"P":S.l+=d[E].len;break;case"0":if(d[E].name==="_NullFlags")break;default:throw new Error("DBF Unsupported data type "+d[E].type);}}}if(i!=2)if(n.l0)switch(g){case"ID":break;case"E":break;case"B":break;case"O":break;case"P":if(b[1].charAt(0)=="P")f.push(m.slice(3).replace(/;;/g,";"));break;case"C":for(s=1;s0){u[a].hpt=v;u[a].hpx=Yl(v)}else if(v===0)u[a].hidden=true;break;default:if(r&&r.WTF)throw new Error("SYLK bad record "+m);}if(w<1)o=null;break;default:if(r&&r.WTF)throw new Error("SYLK bad record "+m);}}if(u.length>0)c["!rows"]=u;if(h.length>0)c["!cols"]=h;return[l,c]}function t(r,t){var a=e(r,t);var n=a[0],i=a[1];var s=vt(n,t);z(i).forEach(function(e){s[e]=i[e]});return s}function a(e,r){return ht(t(e,r),r)}function n(e,r,t,a){var n="C;Y"+(t+1)+";X"+(a+1)+";K";switch(e.t){case"n":n+=e.v||0;if(e.f&&!e.F)n+=";E"+Ao(e.f,{r:t,c:a});break;case"b":n+=e.v?"TRUE":"FALSE";break;case"e":n+=e.w||e.v;break;case"d":n+='"'+(e.w||e.v)+'"';break;case"s":n+='"'+e.v.replace(/"/g,"")+'"';break;}return n}function i(e,r){r.forEach(function(r,t){var a="F;W"+(t+1)+" "+(t+1)+" ";if(r.hidden)a+="0";else{if(typeof r.width=="number")r.wpx=Ul(r.width);if(typeof r.wpx=="number")r.wch=Hl(r.wpx);if(typeof r.wch=="number")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=" ")e.push(a)})}function s(e,r){r.forEach(function(r,t){var a="F;";if(r.hidden)a+="M0;";else if(r.hpt)a+="M"+20*r.hpt+";";else if(r.hpx)a+="M"+20*Kl(r.hpx)+";";if(a.length>2)e.push(a+"R"+(t+1))})}function l(e,r){var t=["ID;PWXL;N;E"],a=[];var l=ot(e["!ref"]),f;var o=Array.isArray(e);var c="\r\n";t.push("P;PGeneral");t.push("F;P0;DG0G8;M255");if(e["!cols"])i(t,e["!cols"]);if(e["!rows"])s(t,e["!rows"]);t.push("B;Y"+(l.e.r-l.s.r+1)+";X"+(l.e.c-l.s.c+1)+";D"+[l.s.c,l.s.r,l.e.c,l.e.r].join(" "));for(var u=l.s.r;u<=l.e.r;++u){for(var h=l.s.c;h<=l.e.c;++h){var d=st({r:u,c:h});f=o?(e[u]||[])[h]:e[d];if(!f||f.v==null&&(!f.f||f.F))continue;a.push(n(f,e,u,h,r))}}return t.join(c)+c+a.join(c)+c+"E"+c}return{to_workbook:a,to_sheet:t,from_sheet:l}}();var Us=function(){function e(e,t){switch(t.type){case"base64":return r(g.decode(e),t);case"binary":return r(e,t);case"buffer":return r(e.toString("binary"),t);case"array":return r(ae(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e){var r=e.split("\n"),t=-1,a=-1,n=0,i=[];for(;n!==r.length;++n){if(r[n].trim()==="BOT"){i[++t]=[];a=0;continue}if(t<0)continue;var s=r[n].trim().split(",");var l=s[0],f=s[1];++n;var o=r[n].trim();switch(+l){case-1:if(o==="BOT"){i[++t]=[];a=0;continue}else if(o!=="EOD")throw new Error("Unrecognized DIF special command "+o);break;case 0:if(o==="TRUE")i[t][a]=true;else if(o==="FALSE")i[t][a]=false;else if(!isNaN(se(f)))i[t][a]=se(f);else if(!isNaN(le(f).getDate()))i[t][a]=te(f);else i[t][a]=f;++a;break;case 1:o=o.slice(1,o.length-1);i[t][a++]=o!==""?o:null;break;}if(o==="EOD")break}return i}function t(r,t){return vt(e(r,t),t)}function a(e,r){return ht(t(e,r),r)}var n=function(){var e=function t(e,r,a,n,i){e.push(r);e.push(a+","+n);e.push('"'+i.replace(/"/g,'""')+'"')};var r=function a(e,r,t,n){e.push(r+","+t);e.push(r==1?'"'+n.replace(/"/g,'""')+'"':n)};return function n(t){var a=[];var n=ot(t["!ref"]),i;var s=Array.isArray(t);e(a,"TABLE",0,1,"sheetjs");e(a,"VECTORS",0,n.e.r-n.s.r+1,"");e(a,"TUPLES",0,n.e.c-n.s.c+1,"");e(a,"DATA",0,0,"");for(var l=n.s.r;l<=n.e.r;++l){r(a,-1,0,"BOT");for(var f=n.s.c;f<=n.e.c;++f){var o=st({r:l,c:f});i=s?(t[l]||[])[f]:t[o];if(!i){r(a,1,0,"");continue}switch(i.t){case"n":var c=b?i.w:i.v;if(!c&&i.v!=null)c=i.v;if(c==null){if(b&&i.f&&!i.F)r(a,1,0,"="+i.f);else r(a,1,0,"")}else r(a,0,c,"V");break;case"b":r(a,0,i.v?1:0,i.v?"TRUE":"FALSE");break;case"s":r(a,1,0,!b||isNaN(i.v)?i.v:'="'+i.v+'"');break;case"d":if(!i.w)i.w=I.format(i.z||I._table[14],Q(te(i.v)));if(b)r(a,0,i.w,"V");else r(a,1,0,i.w);break;default:r(a,1,0,"");}}}r(a,-1,0,"EOD");var u="\r\n";var h=a.join(u);return h}}();return{to_workbook:a,to_sheet:t,from_sheet:n}}();var Hs=function(){function e(e){return e.replace(/\\b/g,"\\").replace(/\\c/g,":").replace(/\\n/g,"\n")}function r(e){return e.replace(/\\/g,"\\b").replace(/:/g,"\\c").replace(/\n/g,"\\n")}function t(r){var t=r.split("\n"),a=-1,n=-1,i=0,s=[];for(;i!==t.length;++i){var l=t[i].trim().split(":");if(l[0]!=="cell")continue;var f=it(l[1]);if(s.length<=f.r)for(a=s.length;a<=f.r;++a)if(!s[a])s[a]=[];a=f.r;n=f.c;switch(l[2]){case"t":s[a][n]=e(l[3]);break;case"v":s[a][n]=+l[3];break;case"vtf":var o=l[l.length-1];case"vtc":switch(l[3]){case"nl":s[a][n]=+l[4]?true:false;break;default:s[a][n]=+l[4];break;}if(l[2]=="vtf")s[a][n]=[s[a][n],o];}}return s}function a(e,r){return vt(t(e,r),r)}function n(e,r){return ht(a(e,r),r)}var i=["socialcalc:version:1.5","MIME-Version: 1.0","Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave"].join("\n");var s=["--SocialCalcSpreadsheetControlSave","Content-type: text/plain; charset=UTF-8"].join("\n")+"\n";var l=["# SocialCalc Spreadsheet Control Save","part:sheet"].join("\n");var f="--SocialCalcSpreadsheetControlSave--";function o(e){if(!e||!e["!ref"])return"";var t=[],a=[],n,i="";var s=lt(e["!ref"]);var l=Array.isArray(e);for(var f=s.s.r;f<=s.e.r;++f){for(var o=s.s.c;o<=s.e.c;++o){i=st({r:f,c:o});n=l?(e[f]||[])[o]:e[i];if(!n||n.v==null||n.t==="z")continue;a=["cell",i,"t"];switch(n.t){case"s":;case"str":a.push(r(n.v));break;case"n":if(!n.f){a[2]="v";a[3]=n.v}else{a[2]="vtf";a[3]="n";a[4]=n.v;a[5]=r(n.f)}break;case"b":a[2]="vt"+(n.f?"f":"c");a[3]="nl";a[4]=n.v?"1":"0";a[5]=r(n.f||(n.v?"TRUE":"FALSE"));break;case"d":var c=Q(te(n.v));a[2]="vtc";a[3]="nd";a[4]=""+c;a[5]=n.w||I.format(n.z||I._table[14],c);break;case"e":continue;}t.push(a.join(":"))}}t.push("sheet:c:"+(s.e.c-s.s.c+1)+":r:"+(s.e.r-s.s.r+1)+":tvf:1");t.push("valueformat:1:text-wiki");return t.join("\n")}function c(e){return[i,s,l,s,o(e),f].join("\n")}return{to_workbook:n,to_sheet:a,from_sheet:c}}();var Ws=function(){function e(e,r,t,a,n){if(n.raw)r[t][a]=e;else if(e==="TRUE")r[t][a]=true;else if(e==="FALSE")r[t][a]=false;else if(e===""){}else if(!isNaN(se(e)))r[t][a]=se(e);else if(!isNaN(le(e).getDate()))r[t][a]=te(e);else r[t][a]=e}function r(r,t){var a=t||{};var n=[];if(!r||r.length===0)return n;var i=r.split(/[\r\n]/);var s=i.length-1;while(s>=0&&i[s].length===0)--s;var l=10,f=0;var o=0;for(;o<=s;++o){f=i[o].indexOf(" ");if(f==-1)f=i[o].length;else f++;l=Math.max(l,f)}for(o=0;o<=s;++o){n[o]=[];var c=0;e(i[o].slice(0,l).trim(),n,o,c,a);for(c=1;c<=(i[o].length-l)/10+1;++c)e(i[o].slice(l+(c-1)*10,l+c*10).trim(),n,o,c,a)}return n}var t={44:",",9:"\t",59:";"};var a={44:3,9:2,59:1};function n(e){var r={},n=false,i=0,s=0;for(;i0)b();i["!ref"]=ft(s);return i}function s(e,t){if(e.slice(0,4)=="sep=")return i(e,t);if(e.indexOf("\t")>=0||e.indexOf(",")>=0||e.indexOf(";")>=0)return i(e,t);return vt(r(e,t),t)}function l(e,r){var t="",a=r.type=="string"?[0,0,0,0]:Lp(e,r);switch(r.type){case"base64":t=g.decode(e);break;case"binary":t=e;break;case"buffer":t=e.toString("binary");break;case"array":t=ae(e);break;case"string":t=e;break;default:throw new Error("Unrecognized type "+r.type);}if(a[0]==239&&a[1]==187&&a[2]==191)t=Ue(t.slice(3));else if((r.type=="binary"||r.type=="buffer")&&typeof cptable!=="undefined"&&r.codepage)t=cptable.utils.decode(r.codepage,cptable.utils.encode(1252,t));if(t.slice(0,19)=="socialcalc:version:")return Hs.to_sheet(r.type=="string"?t:Ue(t),r);return s(t,r)}function f(e,r){return ht(l(e,r),r)}function o(e){var r=[];var t=ot(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){var s=[];for(var l=t.s.c;l<=t.e.c;++l){var f=st({r:i,c:l});a=n?(e[i]||[])[l]:e[f];if(!a||a.v==null){s.push(" ");continue}var o=(a.w||(ut(a),a.w)||"").slice(0,10);while(o.length<10)o+=" ";s.push(o+(l===0?" ":""))}r.push(s.join(""))}return r.join("\n")}return{to_workbook:f,to_sheet:l,from_sheet:o}}();function Vs(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=Ms.to_workbook(e,t);t.WTF=a;return n}catch(i){t.WTF=a;if(!i.message.match(/SYLK bad record ID/)&&a)throw i;return Ws.to_workbook(e,r)}}var zs=function(){function e(e,r,t){if(!e)return;Mr(e,e.l||0);var a=t.Enum||E;while(e.l=4096)a.qpro=true;break;case 6:o=e;break;case 15:if(!a.qpro)e[1].v=e[1].v.slice(1);case 13:;case 14:;case 16:;case 51:if(c==14&&(e[2]&112)==112&&(e[2]&15)>1&&(e[2]&15)<15){e[1].z=a.dateNF||I._table[14];if(a.cellDates){e[1].t="d";e[1].v=J(e[1].v)}}if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[st(e[0])]=e[1];break;}else switch(c){case 22:e[1].v=e[1].v.slice(1);case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>s){n["!ref"]=ft(o);l[i]=n;n=a.dense?[]:{};o={s:{r:0,c:0},e:{r:0,c:0}};s=e[3];i="Sheet"+(s+1);f.push(i)}if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[st(e[0])]=e[1];if(o.e.c>1;if(t[1].v&1){switch(a&7){case 1:a=(a>>3)*500;break;case 2:a=(a>>3)/20;break;case 4:a=(a>>3)/2e3;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64;break;default:throw"unknown NUMBER_18 encoding "+(a&7);}}t[1].v=a;return t}function h(e,r){var t=o(e,r);var a=e._R(4);var n=e._R(4);var i=e._R(2);if(i==65535){t[1].v=0;return t}var s=i&32768;i=(i&32767)-16446;t[1].v=(s*2-1)*((i>0?n<>>-i)+(i>-32?a<>>-(i+32)));return t}function d(e,r){var t=h(e,14);e.l+=r-14;return t}function v(e,r){var t=o(e,r);var a=e._R(4);t[1].v=a>>6;return t}function p(e,r){var t=o(e,r);var a=e._R(8,"f");t[1].v=a;return t}function b(e,r){var t=p(e,14);e.l+=r-10;return t}var E={0:{n:"BOF",f:Cn},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:a},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:s},14:{n:"NUMBER",f:l},15:{n:"LABEL",f:i},16:{n:"FORMULA",f:f},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:i},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"},255:{n:"",f:Ur}};var k={0:{n:"BOF"},1:{n:"EOF"},3:{n:"??"},4:{n:"??"},5:{n:"??"},6:{n:"??"},7:{n:"??"},9:{n:"??"},10:{n:"??"},11:{n:"??"},12:{n:"??"},14:{n:"??"},15:{n:"??"},16:{n:"??"},17:{n:"??"},18:{n:"??"},19:{n:"??"},21:{n:"??"},22:{n:"LABEL16",f:c},23:{n:"NUMBER17",f:h},24:{n:"NUMBER18",f:u},25:{n:"FORMULA19",f:d},26:{n:"??"},27:{n:"??"},28:{n:"??"},29:{n:"??"},30:{n:"??"},31:{n:"??"},33:{n:"??"},37:{n:"NUMBER25",f:v},39:{n:"NUMBER27",f:p},40:{n:"FORMULA28",f:b},255:{n:"",f:Ur}};return{to_workbook:r}}();var Xs=function Im(){var e=Xe("t"),r=Xe("rPr"),t=/<(?:\w+:)?r>/g,a=/<\/(?:\w+:)?r>/,n=/\r\n/g;var i=function f(e,r,t){var a={},n=65001,i="";var l=e.match(we),f=0;if(l)for(;f!=l.length;++f){var o=Ce(l[f]);switch(o[0].replace(/\w*:/g,"")){case"":;case"":a.shadow=1;break;case"":break;case"":;case"":a.outline=1;break;case"":break;case"":;case"":a.strike=1;break;case"":break;case"":;case"":a.u=1;break;case"":break;case"":;case"":a.b=1;break;case"":break;case"":;case"":a.i=1;break;case"":break;case"');if(a.b){r.push("");t.push("")}if(a.i){r.push("");t.push("")}if(a.strike){r.push("");t.push("")}if(i=="superscript")i="sup";else if(i=="subscript")i="sub";if(i!=""){r.push("<"+i+">");t.push("")}t.push("");return n};function l(t){var a=[[],"",[]];var s=t.match(e);if(!s)return"";a[1]=s[1];var l=t.match(r);if(l)i(l[1],a[0],a[2]);return a[0].join("")+a[1].replace(n,"
")+a[2].join("")}return function o(e){return e.replace(t,"").split(a).map(l).join("")}}();var Gs=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,js=/<(?:\w+:)?r>/;var Ks=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function Ys(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return null;if(e.match(/^\s*<(?:\w+:)?t[^>]*>/)){a.t=ye(Ue(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||""));a.r=Ue(e);if(t)a.h=Oe(a.t)}else if(e.match(js)){a.r=Ue(e);a.t=ye(Ue((e.replace(Ks,"").match(Gs)||[]).join("").replace(we,"")));if(t)a.h=Xs(a.r)}return a}var $s=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/;var Zs=/<(?:\w+:)?(?:si|sstItem)>/g;var Qs=/<\/(?:\w+:)?(?:si|sstItem)>/;function Js(e,r){var t=[],a="";if(!e)return t;var n=e.match($s);if(n){a=n[2].replace(Zs,"").split(Qs);for(var i=0;i!=a.length;++i){var s=Ys(a[i].trim(),r);if(s!=null)t[t.length]=s}n=Ce(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}_a.SST="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings";var qs=/^\s|\s$|[\t\n\r]/;function el(e,r){if(!r.bookSST)return"";var t=[Ee];t[t.length]=qe("sst",null,{xmlns:tr.main[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a){if(e[a]==null)continue;var n=e[a];var i="";if(n.r)i+=n.r;else{i+=""}i+="";t[t.length]=i}if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function rl(e){return[e._R(4),e._R(4)]}function tl(e,r){var t=[];var a=false;Wr(e,function n(e,i,s){switch(s){case 159:t.Count=e[0];t.Unique=e[1];break;case 19:t.push(e);break;case 160:return true;case 35:a=true;break;case 36:a=false;break;default:if(i.indexOf("Begin")>0){}else if(i.indexOf("End")>0){}if(!a||r.WTF)throw new Error("Unexpected record "+s+" "+i);}});return t}function al(e,r){if(!r)r=Hr(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var nl=wt;function il(e){var r=Vr();zr(r,"BrtBeginSst",al(e));for(var t=0;t=4)e.l+=r-4;return t}function fl(e){var r={};r.id=e._R(0,"lpp4");r.R=ll(e,4);r.U=ll(e,4);r.W=ll(e,4);return r}function ol(e){var r=e._R(4);var t=e.l+r-4;var a={};var n=e._R(4);var i=[];while(n-- >0)i.push({t:e._R(4),v:e._R(0,"lpp4")});a.name=e._R(0,"lpp4");a.comps=i;if(e.l!=t)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+t);return a}function cl(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(ol(e));return r}function ul(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,"lpp4"));return r}function hl(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,"lpp4");r.name=e._R(0,"lpp4");r.R=ll(e,4);r.U=ll(e,4);r.W=ll(e,4);return r}function dl(e){var r=hl(e);r.ename=e._R(0,"8lpp4");r.blksz=e._R(4);r.cmode=e._R(4);if(e._R(4)!=4)throw new Error("Bad !Primary record");return r}function vl(e,r){var t=e.l+r;var a={};a.Flags=e._R(4)&63;e.l+=4;a.AlgID=e._R(4);var n=false;switch(a.AlgID){case 26126:;case 26127:;case 26128:n=a.Flags==36;break;case 26625:n=a.Flags==4;break;case 0:n=a.Flags==16||a.Flags==4||a.Flags==36;break;default:throw"Unrecognized encryption algorithm: "+a.AlgID;}if(!n)throw new Error("Encryption Flags/AlgID mismatch");a.AlgIDHash=e._R(4);a.KeySize=e._R(4);a.ProviderType=e._R(4);e.l+=8;a.CSPName=e._R(t-e.l>>1,"utf16le");e.l=t;return a}function pl(e,r){var t={},a=e.l+r;e.l+=4;t.Salt=e.slice(e.l,e.l+16);e.l+=16;t.Verifier=e.slice(e.l,e.l+16);e.l+=16;e._R(4);t.VerifierHash=e.slice(e.l,a);e.l=a;return t}function ml(e){var r=ll(e);switch(r.Minor){case 2:return[r.Minor,bl(e,r)];case 3:return[r.Minor,gl(e,r)];case 4:return[r.Minor,El(e,r)];}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+r.Minor)}function bl(e){ +var r=e._R(4);if((r&63)!=36)throw new Error("EncryptionInfo mismatch");var t=e._R(4);var a=vl(e,t);var n=pl(e,e.length-e.l);return{t:"Std",h:a,v:n}}function gl(){throw new Error("File is password-protected: ECMA-376 Extensible")}function El(e){var r=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var t=e._R(e.length-e.l,"utf8");var a={};t.replace(we,function n(e){var t=Ce(e);switch(Be(t[0])){case"":break;case"":;case"":break;case"":break;case"4||a.Major<2)throw new Error("unrecognized major version code: "+a.Major);t.Flags=e._R(4);r-=4;var n=e._R(4);r-=4;t.EncryptionHeader=vl(e,n);r-=n;t.EncryptionVerifier=pl(e,r);return t}function wl(e){var r={};var t=r.EncryptionVersionInfo=ll(e,4);if(t.Major!=1||t.Minor!=1)throw"unrecognized version code "+t.Major+" : "+t.Minor;r.Salt=e._R(16);r.EncryptedVerifier=e._R(16);r.EncryptedVerifierHash=e._R(16);return r}function Sl(e){var r=0,t;var a=sl(e);var n=a.length+1,i,s;var l,f,o;t=k(n);t[0]=a.length;for(i=1;i!=n;++i)t[i]=a[i-1];for(i=n-1;i>=0;--i){s=t[i];l=(r&16384)===0?0:1;f=r<<1&32767;o=l|f;r=o^s}return r^52811}var _l=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var r=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var t=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628];var a=function(e){return(e/2|e*128)&255};var n=function(e,r){return a(e^r)};var i=function(e){var a=r[e.length-1];var n=104;for(var i=e.length-1;i>=0;--i){var s=e[i];for(var l=0;l!=7;++l){if(s&64)a^=t[n];s*=2;--n}}return a};return function(r){var t=sl(r);var a=i(t);var s=t.length;var l=k(16);for(var f=0;f!=16;++f)l[f]=0;var o,c,u;if((s&1)===1){o=a>>8;l[s]=n(e[0],o);--s;o=a&255;c=t[t.length-1];l[s]=n(c,o)}while(s>0){--s;o=a>>8;l[s]=n(t[s],o);--s;o=a&255;l[s]=n(t[s],o)}s=15;u=15-t.length;while(u>0){o=a>>8;l[s]=n(e[u],o);--s;--u;o=a&255;l[s]=n(t[s],o);--s;--u}return l}}();var Cl=function(e,r,t,a,n){if(!n)n=r;if(!a)a=_l(e);var i,s;for(i=0;i!=r.length;++i){s=r[i];s^=a[t];s=(s>>5|s<<3)&255;n[i]=s;++t}return[n,t,a]};var Bl=function(e){var r=0,t=_l(e);return function(e){var a=Cl("",e,r,t);r=a[1];return a[0]}};function Tl(e,r,t,a){var n={key:Cn(e),verificationBytes:Cn(e)};if(t.password)n.verifier=Sl(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=Bl(t.password);return n}function xl(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=wl(e,r);else a.Data=kl(e,r);return a}function yl(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)xl(e,r-2,a);else Tl(e,r-2,t,a);return a}var Il=function(){function e(e,t){switch(t.type){case"base64":return r(g.decode(e),t);case"binary":return r(e,t);case"buffer":return r(e.toString("binary"),t);case"array":return r(ae(e),t);}throw new Error("Unrecognized type "+t.type)}function r(e,r){var t=r||{};var a=t.dense?[]:{};var n={s:{c:0,r:0},e:{c:0,r:0}};if(!e.match(/\\trowd/))throw new Error("RTF missing table");a["!ref"]=ft(n);return a}function t(r,t){return ht(e(r,t),t)}function a(e){var r=["{\\rtf1\\ansi"];var t=ot(e["!ref"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){r.push("\\trowd\\trautofit1");for(var s=t.s.c;s<=t.e.c;++s)r.push("\\cellx"+(s+1));r.push("\\pard\\intbl");for(s=t.s.c;s<=t.e.c;++s){var l=st({r:i,c:s});a=n?(e[i]||[])[s]:e[l];if(!a||a.v==null&&(!a.f||a.F))continue;r.push(" "+(a.w||(ut(a),a.w)));r.push("\\cell")}r.push("\\pard\\intbl\\row")}return r.join("")+"}"}return{to_workbook:t,to_sheet:e,from_sheet:a}}();function Al(e){var r=e.slice(e[0]==="#"?1:0).slice(0,6);return[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16)]}function Rl(e){for(var r=0,t=1;r!=3;++r)t=t*256+(e[r]>255?255:e[r]<0?0:e[r]);return t.toString(16).toUpperCase().slice(1)}function Fl(e){var r=e[0]/255,t=e[1]/255,a=e[2]/255;var n=Math.max(r,t,a),i=Math.min(r,t,a),s=n-i;if(s===0)return[0,0,r];var l=0,f=0,o=n+i;f=s/(o>1?2-o:o);switch(n){case r:l=((t-a)/s+6)%6;break;case t:l=(a-r)/s+2;break;case a:l=(r-t)/s+4;break;}return[l/6,f,o/2]}function Dl(e){var r=e[0],t=e[1],a=e[2];var n=t*2*(a<.5?a:1-a),i=a-n/2;var s=[i,i,i],l=6*r;var f;if(t!==0)switch(l|0){case 0:;case 6:f=n*l;s[0]+=n;s[1]+=f;break;case 1:f=n*(2-l);s[0]+=f;s[1]+=n;break;case 2:f=n*(l-2);s[1]+=n;s[2]+=f;break;case 3:f=n*(4-l);s[1]+=f;s[2]+=n;break;case 4:f=n*(l-4);s[2]+=n;s[0]+=f;break;case 5:f=n*(6-l);s[2]+=f;s[0]+=n;break;}for(var o=0;o!=3;++o)s[o]=Math.round(s[o]*255);return s}function Ol(e,r){if(r===0)return e;var t=Fl(Al(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return Rl(Dl(t))}var Pl=6,Nl=15,Ll=1,Ml=Pl;function Ul(e){return Math.floor((e+Math.round(128/Ml)/256)*Ml)}function Hl(e){return Math.floor((e-5)/Ml*100+.5)/100}function Wl(e){return Math.round((e*Ml+5)/Ml*256)/256}function Vl(e){return Wl(Hl(Ul(e)))}function zl(e){var r=Math.abs(e-Vl(e)),t=Ml;if(r>.005)for(Ml=Ll;Ml":;case"":break;case"":;case"":n={};if(t.diagonalUp){n.diagonalUp=t.diagonalUp}if(t.diagonalDown){n.diagonalDown=t.diagonalDown}r.Borders.push(n);break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;default:if(a&&a.WTF)throw new Error("unrecognized "+t[0]+" in borders");}})}function Ql(e,r,t,a){r.Fills=[];var n={};e[0].match(we).forEach(function(e){var t=Ce(e);switch(t[0]){case"":;case"":break;case"":;case"":n={};r.Fills.push(n);break;case"":break;case"":break;case"":r.Fills.push(n);n={};break;case"":if(t.patternType)n.patternType=t.patternType;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":break;case"":break;default:if(a&&a.WTF)throw new Error("unrecognized "+t[0]+" in fills");}})}function Jl(e,r,t,a){r.Fonts=[];var n={};e[0].match(we).forEach(function(e){var i=Ce(e);switch(i[0]){case"":;case"":break;case"":break;case"":;case"":r.Fonts.push(n);n={};break;case"":;case"":break;case"":n.bold=1;break;case"":n.italic=1;break;case"":n.underline=1;break;case"":n.strike=1;break;case"":n.outline=1;break;case"":n.shadow=1;break;case"":n.condense=1;break;case"":n.extend=1;break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;case"":;case"":break;default:if(a&&a.WTF)throw new Error("unrecognized "+i[0]+" in fonts");}})}function ql(e,r,t){r.NumberFmt=[];var a=z(I._table);for(var n=0;n":;case"":;case"":break;case"0){if(f>392){for(f=392;f>60;--f)if(r.NumberFmt[f]==null)break;r.NumberFmt[f]=l}I.load(l,f)}}break;case"":break;default:if(t.WTF)throw new Error("unrecognized "+s[0]+" in numFmts");}}}function ef(e){var r=[""];[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(e[a]!=null)r[r.length]=qe("numFmt",null,{numFmtId:a,formatCode:Re(e[a])})});if(r.length===1)return"";r[r.length]="";r[0]=qe("numFmts",null,{count:r.length-2}).replace("/>",">");return r.join("")}var rf=["numFmtId","fillId","fontId","borderId","xfId"];var tf=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];function af(e,r,t){r.CellXf=[];var a;e[0].match(we).forEach(function(e){var n=Ce(e),i=0;switch(n[0]){case"":;case"":;case"":break;case"":a=n;delete a[0];for(i=0;i392){for(i=392;i>60;--i)if(r.NumberFmt[a.numFmtId]==r.NumberFmt[i]){a.numFmtId=i;break}}r.CellXf.push(a);break;case"":break;case"":var s={};if(n.vertical)s.vertical=n.vertical;if(n.horizontal)s.horizontal=n.horizontal;if(n.textRotation!=null)s.textRotation=n.textRotation;if(n.indent)s.indent=n.indent;if(n.wrapText)s.wrapText=n.wrapText;a.alignment=s;break;case"":break;case"":;case"":break;case"":break;case"";if(r.length===2)return"";r[0]=qe("cellXfs",null,{count:r.length-2}).replace("/>",">");return r.join("")}var sf=function Am(){var e=/]*)>[\S\s]*?<\/numFmts>/;var r=/]*)>[\S\s]*?<\/cellXfs>/;var t=/]*)>[\S\s]*?<\/fills>/;var a=/]*)>[\S\s]*?<\/fonts>/;var n=/]*)>[\S\s]*?<\/borders>/;return function i(s,l,f){var o={};if(!s)return o;s=s.replace(//gm,"").replace(//gm,"");var c;if(c=s.match(e))ql(c,o,f);if(c=s.match(a))Jl(c,o,l,f);if(c=s.match(t))Ql(c,o,l,f);if(c=s.match(n))Zl(c,o,l,f);if(c=s.match(r))af(c,o,f);return o}}();var lf=qe("styleSheet",null,{xmlns:tr.main[0],"xmlns:vt":tr.vt});_a.STY="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";function ff(e,r){var t=[Ee,lf],a;if(e.SSF&&(a=ef(e.SSF))!=null)t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';if(a=nf(r.cellXfs))t[t.length]=a;t[t.length]='';t[t.length]='';t[t.length]='';if(t.length>2){t[t.length]="";t[1]=t[1].replace("/>",">")}return t.join("")}function of(e,r){var t=e._R(2);var a=mt(e,r-2);return[t,a]}function cf(e,r,t){if(!t)t=Hr(6+4*r.length);t._W(2,e);bt(r,t);var a=t.length>t.l?t.slice(0,t.l):t;if(t.l==null)t.l=t.length;return a}function uf(e,r,t){var a={};a.sz=e._R(2)/20;var n=Gt(e,2,t);if(n.fCondense)a.condense=1;if(n.fExtend)a.extend=1;if(n.fShadow)a.shadow=1;if(n.fOutline)a.outline=1;if(n.fStrikeout)a.strike=1;if(n.fItalic)a.italic=1;var i=e._R(2);if(i===700)a.bold=1;switch(e._R(2)){case 1:a.vertAlign="superscript";break;case 2:a.vertAlign="subscript";break;}var s=e._R(1);if(s!=0)a.underline=s;var l=e._R(1);if(l>0)a.family=l;var f=e._R(1);if(f>0)a.charset=f;e.l++;a.color=zt(e,8);switch(e._R(1)){case 1:a.scheme="major";break;case 2:a.scheme="minor";break;}a.name=mt(e,r-21);return a}function hf(e,r){if(!r)r=Hr(25+4*32);r._W(2,e.sz*20);jt(e,r);r._W(2,e.bold?700:400);var t=0;if(e.vertAlign=="superscript")t=1;else if(e.vertAlign=="subscript")t=2;r._W(2,t);r._W(1,e.underline||0);r._W(1,e.family||0);r._W(1,e.charset||0);r._W(1,0);Xt(e.color,r);var a=0;if(e.scheme=="major")a=1;if(e.scheme=="minor")a=2;r._W(1,a);bt(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var df=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];var vf=G(df);var pf=Ur;function mf(e,r){if(!r)r=Hr(4*3+8*7+16*1);var t=vf[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){Xt({auto:1},r);Xt({auto:1},r);for(;a<12;++a)r._W(4,0)}else{for(;a<4;++a)r._W(4,0);for(;a<12;++a)r._W(4,0)}return r.length>r.l?r.slice(0,r.l):r}function bf(e,r){var t=e.l+r;var a=e._R(2);var n=e._R(2);e.l=t;return{ixfe:a,numFmtId:n}}function gf(e,r,t){if(!t)t=Hr(16);t._W(2,r||0);t._W(2,e.numFmtId||0);t._W(2,0);t._W(2,0);t._W(2,0);t._W(1,0);t._W(1,0);t._W(1,0);t._W(1,0);t._W(1,0);t._W(1,0);return t}function Ef(e,r){if(!r)r=Hr(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var kf=Ur;function wf(e,r){if(!r)r=Hr(51);r._W(1,0);Ef(null,r);Ef(null,r);Ef(null,r);Ef(null,r);Ef(null,r);return r.length>r.l?r.slice(0,r.l):r}function Sf(e,r){if(!r)r=Hr(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);It(e.name||"",r);return r.length>r.l?r.slice(0,r.l):r}function _f(e,r,t){var a=Hr(4+256*2*4);a._W(4,e);It(r,a);It(t,a);return a.length>a.l?a.slice(0,a.l):a}function Cf(e,r,t){var a={};a.NumberFmt=[];for(var n in I._table)a.NumberFmt[n]=I._table[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;Wr(e,function l(e,n,f){switch(f){case 44:a.NumberFmt[e[0]]=e[1];I.load(e[1],e[0]);break;case 43:a.Fonts.push(e);if(e.color.theme!=null&&r&&r.themeElements&&r.themeElements.clrScheme){e.color.rgb=Ol(r.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0)}break;case 1025:break;case 45:break;case 46:break;case 47:if(i[i.length-1]=="BrtBeginCellXFs"){a.CellXf.push(e)}break;case 48:;case 507:;case 572:;case 475:break;case 1171:;case 2102:;case 1130:;case 512:;case 2095:break;case 35:s=true;break;case 36:s=false;break;case 37:i.push(n);break;case 38:i.pop();break;default:if((n||"").indexOf("Begin")>0)i.push(n);else if((n||"").indexOf("End")>0)i.pop();else if(!s||t.WTF)throw new Error("Unexpected record "+f+" "+n);}});return a}function Bf(e,r){if(!r)return;var t=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)if(r[a]!=null)++t});if(t==0)return;zr(e,"BrtBeginFmts",pt(t));[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(r[a]!=null)zr(e,"BrtFmt",cf(a,r[a]))});zr(e,"BrtEndFmts")}function Tf(e){var r=1;if(r==0)return;zr(e,"BrtBeginFonts",pt(r));zr(e,"BrtFont",hf({sz:12,color:{theme:1},name:"Calibri",family:2,scheme:"minor"}));zr(e,"BrtEndFonts")}function xf(e){var r=2;if(r==0)return;zr(e,"BrtBeginFills",pt(r));zr(e,"BrtFill",mf({patternType:"none"}));zr(e,"BrtFill",mf({patternType:"gray125"}));zr(e,"BrtEndFills")}function yf(e){var r=1;if(r==0)return;zr(e,"BrtBeginBorders",pt(r));zr(e,"BrtBorder",wf({}));zr(e,"BrtEndBorders")}function If(e){var r=1;zr(e,"BrtBeginCellStyleXFs",pt(r));zr(e,"BrtXF",gf({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));zr(e,"BrtEndCellStyleXFs")}function Af(e,r){zr(e,"BrtBeginCellXFs",pt(r.length));r.forEach(function(r){zr(e,"BrtXF",gf(r,0))});zr(e,"BrtEndCellXFs")}function Rf(e){var r=1;zr(e,"BrtBeginStyles",pt(r));zr(e,"BrtStyle",Sf({xfId:0,builtinId:0,name:"Normal"}));zr(e,"BrtEndStyles")}function Ff(e){var r=0;zr(e,"BrtBeginDXFs",pt(r));zr(e,"BrtEndDXFs")}function Df(e){var r=0;zr(e,"BrtBeginTableStyles",_f(r,"TableStyleMedium9","PivotStyleMedium4"));zr(e,"BrtEndTableStyles")}function Of(){return}function Pf(e,r){var t=Vr();zr(t,"BrtBeginStyleSheet");Bf(t,e.SSF);Tf(t,e);xf(t,e);yf(t,e);If(t,e);Af(t,r.cellXfs);Rf(t,e);Ff(t,e);Df(t,e);Of(t,e);zr(t,"BrtEndStyleSheet");return t.end()}_a.THEME="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";function Nf(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(we)||[]).forEach(function(e){var n=Ce(e);switch(n[0]){case"":break;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":;case"":if(n[0].charAt(1)==="/"){r.themeElements.clrScheme.push(a);a={}}else{a.name=n[0].slice(3,n[0].length-1)}break;default:if(t&&t.WTF)throw new Error("Unrecognized "+n[0]+" in clrScheme");}})}function Lf(){}function Mf(){}var Uf=/]*)>[\s\S]*<\/a:clrScheme>/;var Hf=/]*)>[\s\S]*<\/a:fontScheme>/;var Wf=/]*)>[\s\S]*<\/a:fmtScheme>/;function Vf(e,r,t){r.themeElements={};var a;[["clrScheme",Uf,Nf],["fontScheme",Hf,Lf],["fmtScheme",Wf,Mf]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+" not found in themeElements");n[2](a,r,t)})}var zf=/]*)>[\s\S]*<\/a:themeElements>/;function Xf(e,r){if(!e||e.length===0)return Xf(Gf());var t;var a={};if(!(t=e.match(zf)))throw new Error("themeElements not found in theme");Vf(t[0],a,r);return a}function Gf(e,r){if(r&&r.themeXLSX)return r.themeXLSX;var t=[Ee];t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]='';t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]='';t[t.length]="";t[t.length]="";t[t.length]="";t[t.length]="";return t.join("")}function jf(e,r,t){var a=e.l+r; +var n=e._R(4);if(n===124226)return;if(!t.cellStyles||!be){e.l=a;return}var i=e.slice(e.l);e.l=a;var s;try{s=new be(i)}catch(l){return}var f=me(s,"theme/theme/theme1.xml",true);if(!f)return;return Xf(f,t)}function Kf(e){return e._R(4)}function Yf(e){var r={};r.xclrType=e._R(2);r.nTintShade=e._R(2);switch(r.xclrType){case 0:e.l+=4;break;case 1:r.xclrValue=$f(e,4);break;case 2:r.xclrValue=Vn(e,4);break;case 3:r.xclrValue=Kf(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function $f(e,r){return Ur(e,r)}function Zf(e,r){return Ur(e,r)}function Qf(e){var r=e._R(2);var t=e._R(2)-4;var a=[r];switch(r){case 4:;case 5:;case 7:;case 8:;case 9:;case 10:;case 11:;case 13:a[1]=Yf(e,t);break;case 6:a[1]=Zf(e,t);break;case 14:;case 15:a[1]=e._R(t===1?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+r+" "+t);}return a}function Jf(e,r){var t=e.l+r;e.l+=2;var a=e._R(2);e.l+=2;var n=e._R(2);var i=[];while(n-- >0)i.push(Qf(e,t-e.l));return{ixfe:a,ext:i}}function qf(e,r){r.forEach(function(e){switch(e[0]){case 4:break;case 5:break;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break;}})}function eo(e){var r=[];if(!e)return r;var t=1;(e.match(we)||[]).forEach(function(e){var a=Ce(e);switch(a[0]){case"":;case"":break;case"0){}else if((r||"").indexOf("End")>0){}else if(!n||t.WTF)throw new Error("Unexpected record "+s+" "+r);}});return a}function ao(){}function no(e,r,t){if(!e)return e;var a=t||{};var n=false,i=false;Wr(e,function s(e,r,t){if(i)return;switch(t){case 359:;case 363:;case 364:;case 366:;case 367:;case 368:;case 369:;case 370:;case 371:;case 472:;case 577:;case 578:;case 579:;case 580:;case 581:;case 582:;case 583:;case 584:;case 585:;case 586:;case 587:break;case 35:n=true;break;case 36:n=false;break;default:if((r||"").indexOf("Begin")>0){}else if((r||"").indexOf("End")>0){}else if(!n||a.WTF)throw new Error("Unexpected record "+t.toString(16)+" "+r);}},a)}_a.IMG="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image";_a.DRAW="http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing";function io(e,r){if(!e)return"??";var t=(e.match(/]*r:id="([^"]*)"/)||["",""])[1];return r["!id"][t].Target}var so=1024;function lo(e,r){var t=[21600,21600];var a=["m0,0l0",t[1],t[0],t[1],t[0],"0xe"].join(",");var n=[qe("xml",null,{"xmlns:v":ar.v,"xmlns:o":ar.o,"xmlns:x":ar.x,"xmlns:mv":ar.mv}).replace(/\/>/,">"),qe("o:shapelayout",qe("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),qe("v:shapetype",[qe("v:stroke",null,{joinstyle:"miter"}),qe("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:t.join(","),path:a})];while(so",qe("v:fill",qe("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}),{color2:"#BEFF82",angle:"-180",type:"gradient"}),qe("v:shadow",null,{on:"t",obscured:"t"}),qe("v:path",null,{"o:connecttype":"none"}),'
','',"","",Qe("x:Anchor",[e.c,0,e.r,0,e.c+3,100,e.r+5,100].join(",")),Qe("x:AutoFill","False"),Qe("x:Row",String(e.r)),Qe("x:Column",String(e.c)),"","",""])});n.push("");return n.join("")}_a.CMNT="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";function fo(e,r,t,a,n){for(var i=0;i!=r.length;++i){var s=r[i];var l=Yd(pe(e,s.replace(/^\//,""),true),s,n);if(!l||!l.length)continue;var f=z(t);for(var o=0;o!=f.length;++o){var c=f[o];var u=a[c];if(u){var h=u[s];if(h)oo(c,t[c],l)}}}}function oo(e,r,t){var a=Array.isArray(r);var n,i;t.forEach(function(e){if(a){i=it(e.ref);if(!r[i.r])r[i.r]=[];n=r[i.r][i.c]}else n=r[e.ref];if(!n){n={};if(a)r[i.r][i.c]=n;else r[e.ref]=n;var t=ot(r["!ref"]||"BDWGO1000001:A1");var s=it(e.ref);if(t.s.r>s.r)t.s.r=s.r;if(t.e.rs.c)t.s.c=s.c;if(t.e.c/))return[];var t=[];var a=[];var n=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);if(n&&n[1])n[1].split(/<\/\w*:?author>/).forEach(function(e){if(e===""||e.trim()==="")return;var r=e.match(/<(?:\w+:)?author[^>]*>(.*)/);if(r)t.push(r[1])});var i=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);if(i&&i[1])i[1].split(/<\/\w*:?comment>/).forEach(function(e){if(e===""||e.trim()==="")return;var n=e.match(/<(?:\w+:)?comment[^>]*>/);if(!n)return;var i=Ce(n[0]);var s={author:i.authorId&&t[i.authorId]||"sheetjsghost",ref:i.ref,guid:i.guid};var l=it(i.ref);if(r.sheetRows&&r.sheetRows<=l.r)return;var f=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/);var o=!!f&&!!f[1]&&Ys(f[1])||{r:"",t:"",h:""};s.r=o.r;if(o.r=="")o.t=o.h="";s.t=o.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");if(r.cellHTML)s.h=o.h;a.push(s)});return a}var uo=qe("comments",null,{xmlns:tr.main[0]});function ho(e){var r=[Ee,uo];var t=[];r.push("");e.map(function(e){return e[1]}).forEach(function(e){e.map(function(e){return Re(e.a)}).forEach(function(e){if(t.indexOf(e)>-1)return;t.push(e);r.push(""+e+"")})});r.push("");r.push("");e.forEach(function(e){e[1].forEach(function(a){r.push('');r.push(Qe("t",a.t==null?"":a.t));r.push("")})});r.push("");if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function vo(e){var r={};r.iauthor=e._R(4);var t=Lt(e,16);r.rfx=t.s;r.ref=st(t.s);e.l+=16;return r}function po(e,r){if(r==null)r=Hr(36);r._W(4,e[1].iauthor);Mt(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var mo=mt;function bo(e){return bt(e.slice(0,54))}function go(e,r){var t=[];var a=[];var n={};var i=false;Wr(e,function s(e,l,f){switch(f){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t;n.h=e.h;n.r=e.r;break;case 636:n.author=a[n.iauthor];delete n.iauthor;if(r.sheetRows&&r.sheetRows<=n.rfx.r)break;if(!n.t)n.t="";delete n.rfx;t.push(n);break;case 35:i=true;break;case 36:i=false;break;case 37:break;case 38:break;default:if((l||"").indexOf("Begin")>0){}else if((l||"").indexOf("End")>0){}else if(!i||r.WTF)throw new Error("Unexpected record "+f+" "+l);}});return t}function Eo(e){var r=Vr();var t=[];zr(r,"BrtBeginComments");zr(r,"BrtBeginCommentAuthors");e.forEach(function(e){e[1].forEach(function(e){if(t.indexOf(e.a)>-1)return;t.push(e.a.slice(0,54));zr(r,"BrtCommentAuthor",bo(e.a))})});zr(r,"BrtEndCommentAuthors");zr(r,"BrtBeginCommentList");e.forEach(function(e){e[1].forEach(function(a){a.iauthor=t.indexOf(a.a);var n={s:it(e[0]),e:it(e[0])};zr(r,"BrtBeginComment",po([n,a]));if(a.t&&a.t.length>0)zr(r,"BrtCommentText",_t(a));zr(r,"BrtEndComment");delete a.iauthor})});zr(r,"BrtEndCommentList");zr(r,"BrtEndComments");return r.end()}var ko="application/vnd.ms-office.vbaProject";function wo(e){var r=L.utils.cfb_new({root:"R"});e.FullPaths.forEach(function(t,a){if(t.slice(-1)==="/"||!t.match(/_VBA_PROJECT_CUR/))return;var n=t.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");L.utils.cfb_add(r,n,e.FileIndex[a].content)});return L.write(r)}function So(e,r){r.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");if(n.slice(-1)!=="/")L.utils.cfb_add(e,n,r.FileIndex[a].content)})}var _o=["xlsb","xlsm","xlam","biff8","xla"];_a.DS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet";_a.MS="http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet";function Co(){return{"!type":"dialog"}}function Bo(){return{"!type":"dialog"}}function To(){return{"!type":"macro"}}function xo(){return{"!type":"macro"}}var yo=function(){var e=/(^|[^A-Za-z])R(\[?)(-?\d+|)\]?C(\[?)(-?\d+|)\]?/g;var r={r:0,c:0};function t(e,t,a,n,i,s){var l=n.length>0?parseInt(n,10)|0:0,f=s.length>0?parseInt(s,10)|0:0;if(f<0&&i.length===0)f=0;var o=false,c=false;if(i.length>0||s.length==0)o=true;if(o)f+=r.c;else--f;if(a.length>0||n.length==0)c=true;if(c)l+=r.r;else--l;return t+(o?"":"$")+rt(f)+(c?"":"$")+Qr(l)}return function a(n,i){r=i;return n.replace(e,t)}}();var Io=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)([1-9]\d{0,5}|10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6])(?![_.\(A-Za-z0-9])/g;var Ao=function(){return function e(r,t){return r.replace(Io,function(e,r,a,n,i,s){var l=et(n)-(a?0:t.c);var f=Zr(s)-(i?0:t.r);var o=f==0?"":!i?"["+f+"]":f+1;var c=l==0?"":!a?"["+l+"]":l+1;return r+"R"+o+"C"+c})}}();function Ro(e,r){return e.replace(Io,function(e,t,a,n,i,s){return t+(a=="$"?a+n:rt(et(n)+r.c))+(i=="$"?i+s:Qr(Zr(s)+r.r))})}function Fo(e,r,t){var a=lt(r),n=a.s,i=it(t);var s={r:i.r-n.r,c:i.c-n.c};return Ro(e,s)}function Do(e){if(e.length==1)return false;return true}function Oo(e){return e.replace(/_xlfn\./g,"")}function Po(e){e.l+=1;return}function No(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function Lo(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return Mo(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=No(e,2);var l=No(e,2);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:i,c:l[0],cRel:l[1],rRel:l[2]}}}function Mo(e){var r=No(e,2),t=No(e,2);var a=e._R(1);var n=e._R(1);return{s:{r:r[0],c:a,cRel:r[1],rRel:r[2]},e:{r:t[0],c:n,cRel:t[1],rRel:t[2]}}}function Uo(e,r){var t=e._R(r==12?4:2),a=e._R(r==12?4:2);var n=No(e,2);var i=No(e,2);return{s:{r:t,c:n[0],cRel:n[1],rRel:n[2]},e:{r:a,c:i[0],cRel:i[1],rRel:i[2]}}}function Ho(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return Wo(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=No(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function Wo(e){var r=No(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function Vo(e){var r=e._R(2);var t=e._R(2);return{r:r,c:t&255,fQuoted:!!(t&16384),cRel:t>>15,rRel:t>>15}}function zo(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return Xo(e,r,t);var n=e._R(a>=12?4:2);var i=e._R(2);var s=(i&16384)>>14,l=(i&32768)>>15;i&=16383;if(l==1)while(n>524287)n-=1048576;if(s==1)while(i>8191)i=i-16384;return{r:n,c:i,cRel:s,rRel:l}}function Xo(e){var r=e._R(2);var t=e._R(1);var a=(r&32768)>>15,n=(r&16384)>>14;r&=16383;if(a==1&&r>=8192)r=r-16384;if(n==1&&t>=128)t=t-256;return{r:r,c:t,cRel:n,rRel:a}}function Go(e,r,t){var a=(e[e.l++]&96)>>5;var n=Lo(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function jo(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2,"i");var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}var s=Lo(e,i,t);return[a,n,s]}function Ko(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t&&t.biff>8?12:8;return[a]}function Yo(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}e.l+=i;return[a,n]}function $o(e,r,t){var a=(e[e.l++]&96)>>5;var n=Uo(e,t&&t.biff>8?12:8,t);return[a,n]}function Zo(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function Qo(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function Jo(e,r,t){e.l+=2;var a=e._R(t&&t.biff==2?1:2);var n=[];for(var i=0;i<=a;++i)n.push(e._R(t&&t.biff==2?1:2));return n}function qo(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function ec(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function rc(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function tc(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function ac(e){var r=e._R(1),t=e._R(1);return[r,t]}function nc(e){e._R(2);return ac(e,2)}function ic(e){e._R(2);return ac(e,2)}function sc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=Ho(e,0,t);return[a,n]}function lc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=zo(e,0,t);return[a,n]}function fc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(2);if(t&&t.biff==5)e.l+=12;var i=Ho(e,0,t);return[a,n,i]}function oc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[bu[n],mu[n],a]}function cc(e,r,t){e.l++;var a=e._R(1),n=t&&t.biff<=3?[0,e._R(1)]:uc(e);return[a,(n[0]===0?mu:pu)[n[1]]]}function uc(e){return[e[e.l+1]>>7,e._R(2)&32767]}function hc(e,r,t){e.l+=t&&t.biff==2?3:4;return}function dc(e,r,t){e.l++;if(t&&t.biff==12)return[e._R(4,"i"),0];var a=e._R(2);var n=e._R(t&&t.biff==2?1:2);return[a,n]}function vc(e){e.l++;return Wt[e._R(1)]}function pc(e){e.l++;return e._R(2)}function mc(e){e.l++;return e._R(1)!==0}function bc(e){e.l++;return Ut(e,8)}function gc(e,r,t){e.l++;return In(e,r-1,t)}function Ec(e,r){var t=[e._R(1)];if(r==12)switch(t[0]){case 2:t[0]=4;break;case 4:t[0]=16;break;case 0:t[0]=1;break;case 1:t[0]=2;break;}switch(t[0]){case 4:t[1]=Sn(e,1)?"TRUE":"FALSE";if(r!=12)e.l+=7;break;case 16:t[1]=Wt[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=Ut(e,8);break;case 2:t[1]=Dn(e,0,{biff:r>0&&r<8?2:r});break;default:throw"Bad SerAr: "+t[0];}return t}function kc(e,r,t){var a=e._R(t.biff==12?4:2);var n=[];for(var i=0;i!=a;++i)n.push((t.biff==12?Lt:Qn)(e,8));return n}function wc(e,r,t){var a=0,n=0;if(t.biff==12){a=e._R(4);n=e._R(4)}else{n=1+e._R(1);a=1+e._R(2)}if(t.biff>=2&&t.biff<8){--a;if(--n==0)n=256}for(var i=0,s=[];i!=a&&(s[i]=[]);++i)for(var l=0;l!=n;++l)s[i][l]=Ec(e,t.biff);return s}function Sc(e,r,t){var a=e._R(1)>>>5&3;var n=!t||t.biff>=8?4:2;var i=e._R(n);switch(t.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 _c(e,r,t){if(t.biff==5)return Cc(e,r,t);var a=e._R(1)>>>5&3;var n=e._R(2);var i=e._R(4);return[a,n,i]}function Cc(e){var r=e._R(1)>>>5&3;var t=e._R(2,"i");e.l+=8;var a=e._R(2);e.l+=12;return[r,t,a]}function Bc(e,r,t){var a=e._R(1)>>>5&3;e.l+=t&&t.biff==2?3:4;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function Tc(e,r,t){var a=e._R(1)>>>5&3;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function xc(e,r,t){var a=e._R(1)>>>5&3;e.l+=4;if(t.biff==12)e.l+=2;return[a]}function yc(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=4;if(t)switch(t.biff){case 5:i=15;break;case 12:i=6;break;}e.l+=i;return[a,n]}var Ic=Ur;var Ac=Ur;var Rc=Ur;function Fc(e,r,t){e.l+=2;return[Vo(e,4,t)]}function Dc(e){e.l+=6;return[]}var Oc=Fc;var Pc=Dc;var Nc=Dc;var Lc=Fc;function Mc(e){e.l+=2;return[Cn(e),e._R(2)&1]}var Uc=Fc;var Hc=Mc;var Wc=Dc;var Vc=Fc;var zc=Fc;function Xc(e){e.l+=2;var r=e._R(2);e.l+=10;return{ixti:r}}function Gc(e){e.l+=2;return[e._R(4)]}var jc={1:{n:"PtgExp",f:dc},2:{n:"PtgTbl",f:Rc},3:{n:"PtgAdd",f:Po},4:{n:"PtgSub",f:Po},5:{n:"PtgMul",f:Po},6:{n:"PtgDiv",f:Po},7:{n:"PtgPower",f:Po},8:{n:"PtgConcat",f:Po},9:{n:"PtgLt",f:Po},10:{n:"PtgLe",f:Po},11:{n:"PtgEq",f:Po},12:{n:"PtgGe",f:Po},13:{n:"PtgGt",f:Po},14:{n:"PtgNe",f:Po},15:{n:"PtgIsect",f:Po},16:{n:"PtgUnion",f:Po},17:{n:"PtgRange",f:Po},18:{n:"PtgUplus",f:Po},19:{n:"PtgUminus",f:Po},20:{n:"PtgPercent",f:Po},21:{n:"PtgParen",f:Po},22:{n:"PtgMissArg",f:Po},23:{n:"PtgStr",f:gc},28:{n:"PtgErr",f:vc},29:{n:"PtgBool",f:mc},30:{n:"PtgInt",f:pc},31:{n:"PtgNum",f:bc},32:{n:"PtgArray",f:Zo},33:{n:"PtgFunc",f:oc},34:{n:"PtgFuncVar",f:cc},35:{n:"PtgName",f:Sc},36:{n:"PtgRef",f:sc},37:{n:"PtgArea",f:Go},38:{n:"PtgMemArea",f:Bc},39:{n:"PtgMemErr",f:Ic},40:{n:"PtgMemNoMem",f:Ac},41:{n:"PtgMemFunc",f:Tc},42:{n:"PtgRefErr",f:xc},43:{n:"PtgAreaErr",f:Ko},44:{n:"PtgRefN",f:lc},45:{n:"PtgAreaN",f:$o},57:{n:"PtgNameX",f:_c},58:{n:"PtgRef3d",f:fc},59:{n:"PtgArea3d",f:jo},60:{n:"PtgRefErr3d",f:yc},61:{n:"PtgAreaErr3d",f:Yo},255:{}};var Kc={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,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};(function(){for(var e in Kc)jc[e]=jc[Kc[e]]})();var Yc={1:{n:"PtgElfLel",f:Mc},2:{n:"PtgElfRw",f:Vc},3:{n:"PtgElfCol",f:Oc},6:{n:"PtgElfRwV",f:zc},7:{n:"PtgElfColV",f:Lc},10:{n:"PtgElfRadical",f:Uc},11:{n:"PtgElfRadicalS",f:Wc},13:{n:"PtgElfColS",f:Pc},15:{n:"PtgElfColSV",f:Nc},16:{n:"PtgElfRadicalLel",f:Hc},25:{n:"PtgList",f:Xc},29:{n:"PtgSxName",f:Gc},255:{}};var $c={1:{n:"PtgAttrSemi",f:tc},2:{n:"PtgAttrIf",f:ec},4:{n:"PtgAttrChoose",f:Jo},8:{n:"PtgAttrGoto",f:qo},16:{n:"PtgAttrSum",f:hc},32:{n:"PtgAttrBaxcel",f:Qo},64:{n:"PtgAttrSpace",f:nc},65:{n:"PtgAttrSpaceSemi",f:ic},128:{n:"PtgAttrIfError",f:rc},255:{}};$c[33]=$c[32];function Zc(e,r,t,a){if(a.biff<8)return Ur(e,r);var n=e.l+r;var i=[];for(var s=0;s!==t.length;++s){switch(t[s][0]){case"PtgArray":t[s][1]=wc(e,0,a);i.push(t[s][1]);break;case"PtgMemArea":t[s][2]=kc(e,t[s][1],a);i.push(t[s][2]);break;case"PtgExp":if(a&&a.biff==12){t[s][1][1]=e._R(4);i.push(t[s][1])}break;case"PtgList":;case"PtgElfRadicalS":;case"PtgElfColS":;case"PtgElfColSV":throw"Unsupported "+t[s][0];default:break;}}r=n-e.l;if(r!==0)i.push(Ur(e,r));return i}function Qc(e,r,t){var a=e.l+r;var n,i,s=[];while(a!=e.l){r=a-e.l;i=e[e.l];n=jc[i];if(i===24||i===25){i=e[e.l+1];n=(i===24?Yc:$c)[i]}if(!n||!n.f){Ur(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function Jc(e){var r=[];for(var t=0;t=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function eu(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error("empty sheet name");if(e.indexOf(" ")>-1)return"'"+e+"'";return e}function ru(e,r,t){if(!e)return"SH33TJSERR0";if(!e.XTI)return"SH33TJSERR6";var a=e.XTI[r];if(t.biff>8&&!e.XTI[r])return e.SheetNames[r];if(t.biff<8){if(r>1e4)r-=65536;if(r<0)r=-r;return r==0?"":e.XTI[r-1]}if(!a)return"SH33TJSERR1";var n="";if(t.biff>8)switch(e[a[0]][0]){case 357:n=a[1]==-1?"#REF":e.SheetNames[a[1]];return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 358:if(t.SID!=null)return e.SheetNames[t.SID];return"SH33TJSSAME"+e[a[0]][0];case 355:;default:return"SH33TJSSRC"+e[a[0]][0];}switch(e[a[0]][0][0]){case 1025:n=a[1]==-1?"#REF":e.SheetNames[a[1]]||"SH33TJSERR3";return a[1]==a[2]?n:n+":"+e.SheetNames[a[2]];case 14849:return"SH33TJSERR8";default:if(!e[a[0]][0][3])return"SH33TJSERR2";n=a[1]==-1?"#REF":e[a[0]][0][3][a[1]]||"SH33TJSERR4";return a[1]==a[2]?n:n+":"+e[a[0]][0][3][a[2]];}}function tu(e,r,t){return eu(ru(e,r,t),t)}function au(e,r,t,a,n){var i={s:{c:0,r:0},e:{c:0,r:0}};var s=[],l,f,o,c=0,u=0,h,d="";if(!e[0]||!e[0][0])return"";var v=-1,p="";for(var m=0,b=e[0].length;m=0){switch(e[0][v][1][0]){case 0:p=ie(" ",e[0][v][1][1]);break;case 1:p=ie("\r",e[0][v][1][1]);break;default:p="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][v][1][0]);}f=f+p;v=-1}s.push(f+qc[g[0]]+l);break;case"PtgIsect":l=s.pop();f=s.pop();s.push(f+" "+l);break;case"PtgUnion":l=s.pop();f=s.pop();s.push(f+","+l);break;case"PtgRange":l=s.pop();f=s.pop();s.push(f+":"+l);break;case"PtgAttrChoose":break;case"PtgAttrGoto":break;case"PtgAttrIf":break;case"PtgAttrIfError":break;case"PtgRef":o=Xr(g[1][1],i,n);s.push(jr(o));break;case"PtgRefN":o=t?Xr(g[1][1],t,n):g[1][1];s.push(jr(o));break;case"PtgRef3d":c=g[1][1];o=Xr(g[1][2],i,n);d=tu(a,c,n);var E=d;s.push(d+"!"+jr(o));break;case"PtgFunc":;case"PtgFuncVar":var k=g[1][0],w=g[1][1];if(!k)k=0;var S=k==0?[]:s.slice(-k);s.length-=k;if(w==="User")w=S.shift();s.push(w+"("+S.join(",")+")");break;case"PtgBool":s.push(g[1]?"TRUE":"FALSE");break;case"PtgInt":s.push(g[1]);break;case"PtgNum":s.push(String(g[1]));break;case"PtgStr":s.push('"'+g[1]+'"');break;case"PtgErr":s.push(g[1]);break;case"PtgAreaN":h=Gr(g[1][1],t?{s:t}:i,n);s.push(Kr(h,n));break;case"PtgArea":h=Gr(g[1][1],i,n);s.push(Kr(h,n));break;case"PtgArea3d":c=g[1][1];h=g[1][2];d=tu(a,c,n);s.push(d+"!"+Kr(h,n));break;case"PtgAttrSum":s.push("SUM("+s.pop()+")");break;case"PtgAttrSemi":break;case"PtgName":u=g[1][2];var _=(a.names||[])[u-1]||(a[0]||[])[u];var C=_?_.Name:"SH33TJSNAME"+String(u);if(C in gu)C=gu[C];s.push(C);break;case"PtgNameX":var B=g[1][1];u=g[1][2];var T;if(n.biff<=5){if(B<0)B=-B;if(a[B])T=a[B][u]}else{var x="";if(((a[B]||[])[0]||[])[0]==14849){}else if(((a[B]||[])[0]||[])[0]==1025){if(a[B][u]&&a[B][u].itab>0){x=a.SheetNames[a[B][u].itab-1]+"!"}}else x=a.SheetNames[u-1]+"!";if(a[B]&&a[B][u])x+=a[B][u].Name;else if(a[0]&&a[0][u])x+=a[0][u].Name;else x+="SH33TJSERRX";s.push(x);break}if(!T)T={Name:"SH33TJSERRY"};s.push(T.Name);break;case"PtgParen":var y="(",I=")";if(v>=0){p="";switch(e[0][v][1][0]){case 2:y=ie(" ",e[0][v][1][1])+y;break;case 3:y=ie("\r",e[0][v][1][1])+y;break;case 4:I=ie(" ",e[0][v][1][1])+I;break;case 5:I=ie("\r",e[0][v][1][1])+I;break;default:if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][v][1][0]);}v=-1}s.push(y+s.pop()+I);break;case"PtgRefErr":s.push("#REF!");break;case"PtgRefErr3d":s.push("#REF!");break;case"PtgExp":o={c:g[1][1],r:g[1][0]};var A={c:t.c,r:t.r};if(a.sharedf[st(o)]){var R=a.sharedf[st(o)];s.push(au(R,i,A,a,n))}else{var F=false;for(l=0;l!=a.arrayf.length;++l){f=a.arrayf[l];if(o.cf[0].e.c)continue;if(o.rf[0].e.r)continue;s.push(au(f[1],i,A,a,n));F=true;break}if(!F)s.push(g[1])}break;case"PtgArray":s.push("{"+Jc(g[1])+"}");break;case"PtgMemArea":break;case"PtgAttrSpace":;case"PtgAttrSpaceSemi":v=m;break;case"PtgTbl":break;case"PtgMemErr":break;case"PtgMissArg":s.push("");break;case"PtgAreaErr":s.push("#REF!");break;case"PtgAreaErr3d":s.push("#REF!");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"PtgAttrBaxcel":throw new Error("Unrecognized Formula Token: "+String(g));case"PtgSxName":throw new Error("Unrecognized Formula Token: "+String(g));case"PtgList":throw new Error("Unrecognized Formula Token: "+String(g));default:throw new Error("Unrecognized Formula Token: "+String(g));}var D=["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"];if(v>=0&&D.indexOf(e[0][m][0])==-1){g=e[0][v];var O=true;switch(g[1][0]){case 4:O=false;case 0:p=ie(" ",g[1][1]);break;case 5:O=false;case 1:p=ie("\r",g[1][1]);break;default:p="";if(n.WTF)throw new Error("Unexpected PtgAttrSpaceType "+g[1][0]);}s.push((O?p:"")+s.pop()+(O?"":p));v=-1}}if(s.length>1&&n.WTF)throw new Error("bad formula stack");return s[0]}function nu(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],Ur(e,r-2)];var l=Qc(e,s,t);if(r!==s+n)i=Zc(e,r-s-n,l,t);e.l=a;return[l,i]}function iu(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],Ur(e,r-2)];var l=Qc(e,s,t);if(r!==s+n)i=Zc(e,r-s-n,l,t);e.l=a;return[l,i]}function su(e,r,t,a){var n=e.l+r;var i=Qc(e,a,t);var s;if(n!==e.l)s=Zc(e,n-e.l,i,t);return[i,s]}function lu(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=Qc(e,i,t);if(i==65535)return[[],Ur(e,r-2)];if(r!==i+2)n=Zc(e,a-i-2,s,t);return[s,n]}function fu(e){var r;if(xr(e,e.l+6)!==65535)return[Ut(e),"n"];switch(e[e.l]){case 0:e.l+=8;return["String","s"];case 1:r=e[e.l+2]===1;e.l+=8;return[r,"b"];case 2:r=e[e.l+2];e.l+=8;return[r,"e"];case 3:e.l+=8;return["","s"];}return[]}function ou(e,r,t){var a=e.l+r;var n=Xn(e,6);if(t.biff==2)++e.l;var i=fu(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var l=iu(e,a-e.l,t);return{cell:n,val:i[0],formula:l,shared:s>>3&1,tt:i[1]}}function cu(e,r,t){var a=e._R(4);var n=Qc(e,a,t);var i=e._R(4);var s=i>0?Zc(e,i,n,t):null;return[n,s]}var uu=cu;var hu=cu;var du=cu;var vu=cu;var pu={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"};var mu={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"};var bu={2:1,3:1,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,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,90:1,97:2,98:1,99:1,101:3,102:3,105:1,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,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184: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,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};var gu={"_xlfn.ACOT":"ACOT","_xlfn.ACOTH":"ACOTH","_xlfn.AGGREGATE":"AGGREGATE","_xlfn.ARABIC":"ARABIC","_xlfn.AVERAGEIF":"AVERAGEIF","_xlfn.AVERAGEIFS":"AVERAGEIFS","_xlfn.BASE":"BASE","_xlfn.BETA.DIST":"BETA.DIST","_xlfn.BETA.INV":"BETA.INV","_xlfn.BINOM.DIST":"BINOM.DIST","_xlfn.BINOM.DIST.RANGE":"BINOM.DIST.RANGE","_xlfn.BINOM.INV":"BINOM.INV","_xlfn.BITAND":"BITAND","_xlfn.BITLSHIFT":"BITLSHIFT","_xlfn.BITOR":"BITOR","_xlfn.BITRSHIFT":"BITRSHIFT","_xlfn.BITXOR":"BITXOR","_xlfn.CEILING.MATH":"CEILING.MATH","_xlfn.CEILING.PRECISE":"CEILING.PRECISE","_xlfn.CHISQ.DIST":"CHISQ.DIST","_xlfn.CHISQ.DIST.RT":"CHISQ.DIST.RT","_xlfn.CHISQ.INV":"CHISQ.INV","_xlfn.CHISQ.INV.RT":"CHISQ.INV.RT","_xlfn.CHISQ.TEST":"CHISQ.TEST","_xlfn.COMBINA":"COMBINA","_xlfn.CONCAT":"CONCAT","_xlfn.CONFIDENCE.NORM":"CONFIDENCE.NORM","_xlfn.CONFIDENCE.T":"CONFIDENCE.T","_xlfn.COT":"COT","_xlfn.COTH":"COTH","_xlfn.COUNTIFS":"COUNTIFS","_xlfn.COVARIANCE.P":"COVARIANCE.P","_xlfn.COVARIANCE.S":"COVARIANCE.S","_xlfn.CSC":"CSC","_xlfn.CSCH":"CSCH","_xlfn.DAYS":"DAYS","_xlfn.DECIMAL":"DECIMAL","_xlfn.ECMA.CEILING":"ECMA.CEILING","_xlfn.ERF.PRECISE":"ERF.PRECISE","_xlfn.ERFC.PRECISE":"ERFC.PRECISE","_xlfn.EXPON.DIST":"EXPON.DIST","_xlfn.F.DIST":"F.DIST","_xlfn.F.DIST.RT":"F.DIST.RT","_xlfn.F.INV":"F.INV","_xlfn.F.INV.RT":"F.INV.RT","_xlfn.F.TEST":"F.TEST","_xlfn.FILTERXML":"FILTERXML","_xlfn.FLOOR.MATH":"FLOOR.MATH","_xlfn.FLOOR.PRECISE":"FLOOR.PRECISE","_xlfn.FORECAST.ETS":"FORECAST.ETS","_xlfn.FORECAST.ETS.CONFINT":"FORECAST.ETS.CONFINT","_xlfn.FORECAST.ETS.SEASONALITY":"FORECAST.ETS.SEASONALITY","_xlfn.FORECAST.ETS.STAT":"FORECAST.ETS.STAT","_xlfn.FORECAST.LINEAR":"FORECAST.LINEAR","_xlfn.FORMULATEXT":"FORMULATEXT","_xlfn.GAMMA":"GAMMA","_xlfn.GAMMA.DIST":"GAMMA.DIST","_xlfn.GAMMA.INV":"GAMMA.INV","_xlfn.GAMMALN.PRECISE":"GAMMALN.PRECISE","_xlfn.GAUSS":"GAUSS","_xlfn.HYPGEOM.DIST":"HYPGEOM.DIST","_xlfn.IFERROR":"IFERROR","_xlfn.IFNA":"IFNA","_xlfn.IFS":"IFS","_xlfn.IMCOSH":"IMCOSH","_xlfn.IMCOT":"IMCOT","_xlfn.IMCSC":"IMCSC","_xlfn.IMCSCH":"IMCSCH","_xlfn.IMSEC":"IMSEC","_xlfn.IMSECH":"IMSECH","_xlfn.IMSINH":"IMSINH","_xlfn.IMTAN":"IMTAN","_xlfn.ISFORMULA":"ISFORMULA","_xlfn.ISO.CEILING":"ISO.CEILING","_xlfn.ISOWEEKNUM":"ISOWEEKNUM","_xlfn.LOGNORM.DIST":"LOGNORM.DIST","_xlfn.LOGNORM.INV":"LOGNORM.INV","_xlfn.MAXIFS":"MAXIFS","_xlfn.MINIFS":"MINIFS","_xlfn.MODE.MULT":"MODE.MULT","_xlfn.MODE.SNGL":"MODE.SNGL","_xlfn.MUNIT":"MUNIT","_xlfn.NEGBINOM.DIST":"NEGBINOM.DIST","_xlfn.NETWORKDAYS.INTL":"NETWORKDAYS.INTL","_xlfn.NIGBINOM":"NIGBINOM","_xlfn.NORM.DIST":"NORM.DIST","_xlfn.NORM.INV":"NORM.INV","_xlfn.NORM.S.DIST":"NORM.S.DIST","_xlfn.NORM.S.INV":"NORM.S.INV","_xlfn.NUMBERVALUE":"NUMBERVALUE","_xlfn.PDURATION":"PDURATION","_xlfn.PERCENTILE.EXC":"PERCENTILE.EXC","_xlfn.PERCENTILE.INC":"PERCENTILE.INC","_xlfn.PERCENTRANK.EXC":"PERCENTRANK.EXC","_xlfn.PERCENTRANK.INC":"PERCENTRANK.INC","_xlfn.PERMUTATIONA":"PERMUTATIONA","_xlfn.PHI":"PHI","_xlfn.POISSON.DIST":"POISSON.DIST","_xlfn.QUARTILE.EXC":"QUARTILE.EXC","_xlfn.QUARTILE.INC":"QUARTILE.INC","_xlfn.QUERYSTRING":"QUERYSTRING","_xlfn.RANK.AVG":"RANK.AVG","_xlfn.RANK.EQ":"RANK.EQ","_xlfn.RRI":"RRI","_xlfn.SEC":"SEC","_xlfn.SECH":"SECH","_xlfn.SHEET":"SHEET","_xlfn.SHEETS":"SHEETS","_xlfn.SKEW.P":"SKEW.P","_xlfn.STDEV.P":"STDEV.P","_xlfn.STDEV.S":"STDEV.S","_xlfn.SUMIFS":"SUMIFS","_xlfn.SWITCH":"SWITCH","_xlfn.T.DIST":"T.DIST","_xlfn.T.DIST.2T":"T.DIST.2T","_xlfn.T.DIST.RT":"T.DIST.RT","_xlfn.T.INV":"T.INV","_xlfn.T.INV.2T":"T.INV.2T","_xlfn.T.TEST":"T.TEST","_xlfn.TEXTJOIN":"TEXTJOIN","_xlfn.UNICHAR":"UNICHAR","_xlfn.UNICODE":"UNICODE","_xlfn.VAR.P":"VAR.P","_xlfn.VAR.S":"VAR.S","_xlfn.WEBSERVICE":"WEBSERVICE","_xlfn.WEIBULL.DIST":"WEIBULL.DIST","_xlfn.WORKDAY.INTL":"WORKDAY.INTL","_xlfn.XOR":"XOR","_xlfn.Z.TEST":"Z.TEST"};function Eu(e){if(e.slice(0,3)=="of:")e=e.slice(3);if(e.charCodeAt(0)==61){e=e.slice(1);if(e.charCodeAt(0)==61)e=e.slice(1)}e=e.replace(/COM\.MICROSOFT\./g,"");e=e.replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,r){return r.replace(/\./g,"")});e=e.replace(/\[.(#[A-Z]*[?!])\]/g,"$1");return e.replace(/[;~]/g,",").replace(/\|/g,";")}function ku(e){var r="of:="+e.replace(Io,"$1[.$2$3$4$5]").replace(/\]:\[/g,":");return r.replace(/;/g,"|").replace(/,/g,";")}function wu(e){var r=e.split(":");var t=r[0].split(".")[0];return[t,r[0].split(".")[1]+(r.length>1?":"+(r[1].split(".")[1]||r[1].split(".")[0]):"")]}function Su(e){return e.replace(/\./,"!")}var _u={};var Cu={};_a.WS=["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"];function Bu(e,r){for(var t=0,a=e.length;t-1){t.width=Wl(a);t.customWidth=1}else if(r.width!=null)t.width=r.width;if(r.hidden)t.hidden=true;return t}function xu(e,r){if(!e)return;var t=[.7,.7,.75,.75,.3,.3];if(r=="xlml")t=[1,1,1,1,.5,.5];if(e.left==null)e.left=t[0];if(e.right==null)e.right=t[1];if(e.top==null)e.top=t[2];if(e.bottom==null)e.bottom=t[3];if(e.header==null)e.header=t[4];if(e.footer==null)e.footer=t[5]}function yu(e,r,t){var a=t.revssf[r.z!=null?r.z:"General"];var n=60,i=e.length;if(a==null&&t.ssf){for(;n<392;++n)if(t.ssf[n]==null){I.load(r.z,n);t.ssf[n]=r.z;t.revssf[r.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return i}function Iu(e,r,t,a,n,i){if(e.t==="z")return;if(e.t==="d"&&typeof e.v==="string")e.v=te(e.v);try{if(a.cellNF)e.z=I._table[r]}catch(s){if(a.WTF)throw s}if(!a||a.cellText!==false)try{if(I._table[r]==null)I.load(F[r]||"General",r);if(e.t==="e")e.w=e.w||Wt[e.v];else if(r===0){if(e.t==="n"){if((e.v|0)===e.v)e.w=I._general_int(e.v);else e.w=I._general_num(e.v)}else if(e.t==="d"){var l=Q(e.v);if((l|0)===l)e.w=I._general_int(l);else e.w=I._general_num(l)}else if(e.v===undefined)return"";else e.w=I._general(e.v,Cu)}else if(e.t==="d")e.w=I.format(r,Q(e.v),Cu);else e.w=I.format(r,e.v,Cu)}catch(s){if(a.WTF)throw s}if(!a.cellStyles)return;if(t!=null)try{e.s=i.Fills[t];if(e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb){e.s.fgColor.rgb=Ol(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0);if(a.WTF)e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb}if(e.s.bgColor&&e.s.bgColor.theme){e.s.bgColor.rgb=Ol(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0);if(a.WTF)e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb}}catch(s){if(a.WTF&&i.Fills)throw s}}function Au(e,r){var t=ot(r);if(t.s.r<=t.e.r&&t.s.c<=t.e.c&&t.s.r>=0&&t.s.c>=0)e["!ref"]=ft(t)}var Ru=/<(?:\w:)?mergeCell ref="[A-Z0-9:]+"\s*[\/]?>/g;var Fu=/<(?:\w+:)?sheetData>([\s\S]*)<\/(?:\w+:)?sheetData>/;var Du=/<(?:\w:)?hyperlink [^>]*>/gm;var Ou=/"(\w*:\w*)"/;var Pu=/<(?:\w:)?col[^>]*[\/]?>/g;var Nu=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g;var Lu=/<(?:\w:)?pageMargins[^>]*\/>/g;var Mu=/<(?:\w:)?sheetPr(?:[^>a-z][^>]*)?\/>/;var Uu=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function Hu(e,r,t,a,n,i,s){if(!e)return e;if(m!=null&&r.dense==null)r.dense=m;var l=r.dense?[]:{};var f={s:{r:2e6,c:2e6},e:{r:0,c:0}};var o="",c="";var u=e.match(Fu);if(u){o=e.slice(0,u.index);c=e.slice(u.index+u[0].length)}else o=c=e;var h=o.match(Mu);if(h)Vu(h[0],l,n,t);var d=(o.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(d>0){var v=o.slice(d,d+50).match(Ou);if(v)Au(l,v[1])}var p=o.match(Uu);if(p&&p[1])Ju(p[1],n);var b=[];if(r.cellStyles){var g=o.match(Pu);if(g)Ku(b,g)}if(u)rh(u[1],l,r,f,i,s);var E=c.match(Nu);if(E)l["!autofilter"]=$u(E[0]);var k=[];var w=c.match(Ru);if(w)for(d=0;d!=w.length;++d)k[d]=ot(w[d].slice(w[d].indexOf('"')+1));var S=c.match(Du);if(S)Xu(l,S,a);var _=c.match(Lu);if(_)l["!margins"]=Gu(Ce(_[0]));if(!l["!ref"]&&f.e.c>=f.s.c&&f.e.r>=f.s.r)l["!ref"]=ft(f);if(r.sheetRows>0&&l["!ref"]){var C=ot(l["!ref"]);if(r.sheetRows<+C.e.r){C.e.r=r.sheetRows-1;if(C.e.r>f.e.r)C.e.r=f.e.r;if(C.e.rf.e.c)C.e.c=f.e.c;if(C.e.c0)l["!cols"]=b;if(k.length>0)l["!merges"]=k;return l}function Wu(e){if(e.length===0)return"";var r='';for(var t=0;t!=e.length;++t)r+='';return r+""}function Vu(e,r,t,a){var n=Ce(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=n.codeName}function zu(e){var r={sheet:1};var t=["objects","scenarios","selectLockedCells","selectUnlockedCells"];var a=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];t.forEach(function(t){if(e[t]!=null&&e[t])r[t]="1"});a.forEach(function(t){if(e[t]!=null&&!e[t])r[t]="0"});if(e.password)r.password=Sl(e.password).toString(16).toUpperCase();return qe("sheetProtection",null,r)}function Xu(e,r,t){var a=Array.isArray(e);for(var n=0;n!=r.length;++n){var i=Ce(Ue(r[n]),true);if(!i.ref)return;var s=((t||{})["!id"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+="#"+i.location}else{i.Target="#"+i.location;s={Target:i.Target,TargetMode:"Internal"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var l=ot(i.ref);for(var f=l.s.r;f<=l.e.r;++f)for(var o=l.s.c;o<=l.e.c;++o){var c=st({c:o,r:f});if(a){if(!e[f])e[f]=[];if(!e[f][o])e[f][o]={t:"z",v:undefined};e[f][o].l=i}else{if(!e[c])e[c]={t:"z",v:undefined};e[c].l=i}}}}function Gu(e){var r={};["left","right","top","bottom","header","footer"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function ju(e){xu(e);return qe("pageMargins",null,e)}function Ku(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=Ce(r[a],true);if(n.hidden)n.hidden=Me(n.hidden);var i=parseInt(n.min,10)-1,s=parseInt(n.max,10)-1;delete n.min;delete n.max;n.width=+n.width;if(!t&&n.width){t=true;zl(n.width)}Xl(n);while(i<=s)e[i++]=ne(n)}}function Yu(e,r){var t=[""],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=qe("col",null,Tu(n,a))}t[t.length]="";return t.join("")}function $u(e){var r={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return r}function Zu(e){return qe("autoFilter",null,{ref:e.ref})}var Qu=/<(?:\w:)?sheetView(?:[^>a-z][^>]*)?\/>/;function Ju(e,r){(e.match(Qu)||[]).forEach(function(e){var t=Ce(e);if(Me(t.rightToLeft)){if(!r.Views)r.Views=[{}];if(!r.Views[0])r.Views[0]={};r.Views[0].RTL=true}})}function qu(e,r,t,a){var n={workbookViewId:"0"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?"1":"0";return qe("sheetViews",qe("sheetView",null,n),{})}function eh(e,r,t,a){if(e.v===undefined&&e.f===undefined||e.t==="z")return"";var n="";var i=e.t,s=e.v;switch(e.t){case"b":n=e.v?"1":"0";break;case"n":n=""+e.v;break;case"e":n=Wt[e.v];break;case"d":if(a.cellDates)n=te(e.v,-1).toISOString();else{e=ne(e);e.t="n";n=""+(e.v=Q(te(e.v)))}if(typeof e.z==="undefined")e.z=I._table[14];break;default:n=e.v;break;}var l=Qe("v",Re(n)),f={r:r};var o=yu(a.cellXfs,e,a);if(o!==0)f.s=o;switch(e.t){case"n":break;case"d":f.t="d";break;case"b":f.t="b";break;case"e":f.t="e";break;default:if(e.v==null){delete e.t;break}if(a.bookSST){l=Qe("v",""+Bu(a.Strings,e.v));f.t="s";break}f.t="str";break;}if(e.t!=i){e.t=i;e.v=s}if(e.f){var c=e.F&&e.F.slice(0,r.length)==r?{t:"array",ref:e.F}:null;l=qe("f",Re(e.f),c)+(e.v!=null?l:"")}if(e.l)t["!links"].push([r,e.l]);if(e.c)t["!comments"].push([r,e.c]);return qe("c",l,f)}var rh=function(){var e=/<(?:\w+:)?c[ >]/,r=/<\/(?:\w+:)?row>/;var t=/r=["']([^"']*)["']/,a=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/;var n=/ref=["']([^"']*)["']/;var i=Xe("v"),s=Xe("f");return function l(f,o,c,u,h,d){var v=0,p="",m=[],b=[],g=0,E=0,k=0,w="",S;var _,C=0,B=0;var T,x;var y=0,A=0;var R=Array.isArray(d.CellXf),F;var D=[];var O=[];var P=Array.isArray(o);var N=[],L={},M=false;for(var U=f.split(r),H=0,W=U.length;H!=W;++H){p=U[H].trim();var V=p.length;if(V===0)continue;for(v=0;vC-1)u.s.r=C-1;if(u.e.r":"")+p;if(b!=null&&b.length===2){g=0;w=b[1];for(E=0;E!=w.length;++E){if((k=w.charCodeAt(E)-64)<1||k>26)break;g=26*g+k}--g;B=g}else++B;for(E=0;E!=p.length;++E)if(p.charCodeAt(E)===62)break;++E;_=Ce(p.slice(0,E),true);if(!_.r)_.r=st({r:C-1,c:B});w=p.slice(E);S={t:""};if((b=w.match(i))!=null&&b[1]!=="")S.v=ye(b[1]);if(c.cellFormula){if((b=w.match(s))!=null&&b[1]!==""){S.f=Oo(ye(Ue(b[1])));if(b[0].indexOf('t="array"')>-1){S.F=(w.match(n)||[])[1];if(S.F.indexOf(":")>-1)D.push([ot(S.F),S.F])}else if(b[0].indexOf('t="shared"')>-1){x=Ce(b[0]);O[parseInt(x.si,10)]=[x,Oo(ye(Ue(b[1])))]}}else if(b=w.match(/]*\/>/)){x=Ce(b[0]);if(O[x.si])S.f=Fo(O[x.si][1],O[x.si][0].ref,_.r)}var z=it(_.r);for(E=0;E=D[E][0].s.r&&z.r<=D[E][0].e.r)if(z.c>=D[E][0].s.c&&z.c<=D[E][0].e.c)S.F=D[E][1]}if(_.t==null&&S.v===undefined){if(S.f||S.F){S.v=0;S.t="n"}else if(!c.sheetStubs)continue;else S.t="z"}else S.t=_.t||"n";if(u.s.c>g)u.s.c=g;if(u.e.c0)o["!rows"]=N}}();function th(e,r,t,a){var n=[],i=[],s=ot(e["!ref"]),l="",f,o="",c=[],u=0,h=0,d=e["!rows"];var v=Array.isArray(e);var p={r:o},m,b=-1;for(h=s.s.c;h<=s.e.c;++h)c[h]=rt(h);for(u=s.s.r;u<=s.e.r;++u){i=[];o=Qr(u);for(h=s.s.c;h<=s.e.c;++h){f=c[h]+o;var g=v?(e[u]||[])[h]:e[f];if(g===undefined)continue;if((l=eh(g,f,e,r,t,a))!=null)i.push(l)}if(i.length>0||d&&d[u]){p={r:o};if(d&&d[u]){m=d[u];if(m.hidden)p.hidden=1;b=-1;if(m.hpx)b=Kl(m.hpx);else if(m.hpt)b=m.hpt;if(b>-1){p.ht=b;p.customHeight=1}if(m.level){p.outlineLevel=m.level}}n[n.length]=qe("row",i.join(""),p)}}if(d)for(;u-1){p.ht=b;p.customHeight=1}if(m.level){p.outlineLevel=m.level}n[n.length]=qe("row","",p)}}return n.join("")}var ah=qe("worksheet",null,{xmlns:tr.main[0],"xmlns:r":tr.r});function nh(e,r,t,a){var n=[Ee,ah];var i=t.SheetNames[e],s=0,l="";var f=t.Sheets[i];if(f==null)f={};var o=f["!ref"];if(o==null)o="A1";if(!a)a={};f["!comments"]=[];f["!drawing"]=[];if(r.bookType!=="xlsx"&&t.vbaraw){var c=t.SheetNames[e];try{if(t.Workbook)c=t.Workbook.Sheets[e].CodeName||c}catch(u){}n[n.length]=qe("sheetPr",null,{codeName:Re(c)})}n[n.length]=qe("dimension",null,{ref:o});n[n.length]=qu(f,r,e,t);if(r.sheetFormat)n[n.length]=qe("sheetFormatPr",null,{defaultRowHeight:r.sheetFormat.defaultRowHeight||"16",baseColWidth:r.sheetFormat.baseColWidth||"10",outlineLevelRow:r.sheetFormat.outlineLevelRow||"7"});if(f["!cols"]!=null&&f["!cols"].length>0)n[n.length]=Yu(f,f["!cols"]);n[s=n.length]="";f["!links"]=[];if(f["!ref"]!=null){l=th(f,r,e,t,a);if(l.length>0)n[n.length]=l}if(n.length>s+1){n[n.length]="";n[s]=n[s].replace("/>",">")}if(f["!protect"]!=null)n[n.length]=zu(f["!protect"]);if(f["!autofilter"]!=null)n[n.length]=Zu(f["!autofilter"]);if(f["!merges"]!=null&&f["!merges"].length>0)n[n.length]=Wu(f["!merges"]);var h=-1,d,v=-1;if(f["!links"].length>0){n[n.length]="";f["!links"].forEach(function(e){if(!e[1].Target)return;d={ref:e[0]};if(e[1].Target.charAt(0)!="#"){v=ya(a,-1,Re(e[1].Target).replace(/#.*$/,""),_a.HLINK);d["r:id"]="rId"+v}if((h=e[1].Target.indexOf("#"))>-1)d.location=Re(e[1].Target.slice(h+1));if(e[1].Tooltip)d.tooltip=Re(e[1].Tooltip);n[n.length]=qe("hyperlink",null,d)});n[n.length]=""}delete f["!links"];if(f["!margins"]!=null)n[n.length]=ju(f["!margins"]);n[n.length]="";n[n.length]=Qe("ignoredErrors",qe("ignoredError",null,{numberStoredAsText:1,sqref:o}));if(f["!drawing"].length>0){v=ya(a,-1,"../drawings/drawing"+(e+1)+".xml",_a.DRAW);n[n.length]=qe("drawing",null,{"r:id":"rId"+v})}else delete f["!drawing"];if(f["!comments"].length>0){v=ya(a,-1,"../drawings/vmlDrawing"+(e+1)+".vml",_a.VML);n[n.length]=qe("legacyDrawing",null,{"r:id":"rId"+v});f["!legacy"]=v}if(n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function ih(e,r){var t={};var a=e.l+r;t.r=e._R(4);e.l+=4;var n=e._R(2);e.l+=1;var i=e._R(1);e.l=a;if(i&7)t.level=i&7;if(i&16)t.hidden=true;if(i&32)t.hpt=n/20;return t}function sh(e,r,t){var a=Hr(17+8*16);var n=(t["!rows"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=Kl(n.hpx)*20;else if(n.hpt)i=n.hpt*20;a._W(2,i);a._W(1,0);var s=0;if(n.level)s|=n.level;if(n.hidden)s|=16;if(n.hpx||n.hpt)s|=32;a._W(1,s);a._W(1,0);var l=0,f=a.l;a.l+=4;var o={r:e,c:0};for(var c=0;c<16;++c){if(r.s.c>c+1<<10||r.e.ca.l?a.slice(0,a.l):a}function lh(e,r,t,a){var n=sh(a,t,r);if(n.length>17||(r["!rows"]||[])[a])zr(e,"BrtRowHdr",n)}var fh=Lt;var oh=Mt;function ch(){}function uh(e,r){var t={};e.l+=19;t.name=Tt(e,r-19);return t}function hh(e,r){if(r==null)r=Hr(84+4*e.length);for(var t=0;t<3;++t)r._W(1,0);Xt({auto:1},r);r._W(-4,-1);r._W(-4,-1);xt(e,r);return r.slice(0,r.l)}function dh(e){var r=Ct(e);return[r]}function vh(e,r,t){if(t==null)t=Hr(8);return Bt(r,t)}function ph(e){var r=Ct(e);var t=e._R(1);return[r,t,"b"]}function mh(e,r,t){if(t==null)t=Hr(9);Bt(r,t);t._W(1,e.v?1:0);return t}function bh(e){var r=Ct(e);var t=e._R(1);return[r,t,"e"]}function gh(e){var r=Ct(e);var t=e._R(4);return[r,t,"s"]}function Eh(e,r,t){if(t==null)t=Hr(12);Bt(r,t);t._W(4,r.v);return t}function kh(e){var r=Ct(e);var t=Ut(e);return[r,t,"n"]}function wh(e,r,t){if(t==null)t=Hr(16);Bt(r,t);Ht(e.v,t);return t}function Sh(e){var r=Ct(e);var t=Dt(e);return[r,t,"n"]}function _h(e,r,t){if(t==null)t=Hr(12);Bt(r,t);Ot(e.v,t);return t}function Ch(e){var r=Ct(e);var t=mt(e);return[r,t,"str"]}function Bh(e,r,t){if(t==null)t=Hr(12+4*e.v.length);Bt(r,t);bt(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function Th(e,r,t){var a=e.l+r;var n=Ct(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"b"];if(t.cellFormula){e.l+=2;var l=hu(e,a-e.l,t);s[3]=au(l,null,n,t.supbooks,t)}else e.l=a;return s}function xh(e,r,t){var a=e.l+r;var n=Ct(e);n.r=t["!row"];var i=e._R(1);var s=[n,i,"e"];if(t.cellFormula){e.l+=2;var l=hu(e,a-e.l,t);s[3]=au(l,null,n,t.supbooks,t)}else e.l=a;return s}function yh(e,r,t){var a=e.l+r;var n=Ct(e);n.r=t["!row"];var i=Ut(e);var s=[n,i,"n"];if(t.cellFormula){e.l+=2;var l=hu(e,a-e.l,t);s[3]=au(l,null,n,t.supbooks,t)}else e.l=a;return s}function Ih(e,r,t){var a=e.l+r;var n=Ct(e);n.r=t["!row"];var i=mt(e);var s=[n,i,"str"];if(t.cellFormula){e.l+=2;var l=hu(e,a-e.l,t);s[3]=au(l,null,n,t.supbooks,t)}else e.l=a;return s}var Ah=Lt;var Rh=Mt;function Fh(e,r){if(r==null)r=Hr(4);r._W(4,e);return r}function Dh(e,r){var t=e.l+r;var a=Lt(e,16);var n=yt(e);var i=mt(e);var s=mt(e);var l=mt(e);e.l=t;var f={rfx:a,relId:n,loc:i,display:l};if(s)f.Tooltip=s;return f}function Oh(e,r){var t=Hr(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));Mt({s:it(e[0]),e:it(e[0])},t);Ft("rId"+r,t);var a=e[1].Target.indexOf("#");var n=a==-1?"":e[1].Target.slice(a+1);bt(n||"",t);bt(e[1].Tooltip||"",t);bt("",t);return t.slice(0,t.l)}function Ph(e,r,t){var a=e.l+r;var n=Pt(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var l=uu(e,a-e.l,t);s[1]=l}else e.l=a;return s}function Nh(e,r,t){var a=e.l+r;var n=Lt(e,16);var i=[n];if(t.cellFormula){var s=vu(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function Lh(e,r,t){if(t==null)t=Hr(18);var a=Tu(e,r);t._W(-4,e);t._W(-4,e);t._W(4,(a.width||10)*256);t._W(4,0);var n=0;if(r.hidden)n|=1;if(typeof a.width=="number")n|=2;t._W(1,n);t._W(1,0);return t}var Mh=["left","right","top","bottom","header","footer"];function Uh(e){var r={};Mh.forEach(function(t){r[t]=Ut(e,8)});return r}function Hh(e,r){if(r==null)r=Hr(6*8);xu(e);Mh.forEach(function(t){Ht(e[t],r)});return r}function Wh(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function Vh(e,r,t){if(t==null)t=Hr(30);var a=924;if((((r||{}).Views||[])[0]||{}).RTL)a|=32;t._W(2,a);t._W(4,0);t._W(4,0);t._W(4,0);t._W(1,0);t._W(1,0);t._W(2,0);t._W(2,100);t._W(2,0);t._W(2,0);t._W(2,0);t._W(4,0);return t}function zh(e){var r=Hr(24);r._W(4,4);r._W(4,1);Mt(e,r);return r}function Xh(e,r){if(r==null)r=Hr(16*4+2);r._W(2,e.password?Sl(e.password):0);r._W(4,1);[["objects",false],["scenarios",false],["formatCells",true],["formatColumns",true],["formatRows",true],["insertColumns",true],["insertRows",true],["insertHyperlinks",true],["deleteColumns",true],["deleteRows",true],["selectLockedCells",false],["sort",true],["autoFilter",true],["pivotTables",true],["selectUnlockedCells",false]].forEach(function(t){if(t[1])r._W(4,e[t[0]]!=null&&!e[t[0]]?1:0);else r._W(4,e[t[0]]!=null&&e[t[0]]?0:1)});return r}function Gh(e,r,t,a,n,i,s){if(!e)return e;var l=r||{};if(!a)a={"!id":{}};if(m!=null&&l.dense==null)l.dense=m;var f=l.dense?[]:{};var o;var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var u=false,h=false;var d,v,p,b,g,E,k,w,S;var _=[];l.biff=12;l["!row"]=0;var C=0,B=false;var T=[];var x={};var y=l.supbooks||[[]];y.sharedf=x;y.arrayf=T;y.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name});if(!l.supbooks){l.supbooks=y;if(n.Names)for(var A=0;A=A[0].s.r&&d.r<=A[0].e.r)if(g>=A[0].s.c&&g<=A[0].e.c){v.F=ft(A[0]);B=true}}if(!B&&e.length>3)v.f=e[3]}if(c.s.r>d.r)c.s.r=d.r;if(c.s.c>g)c.s.c=g;if(c.e.rd.r)c.s.r=d.r;if(c.s.c>g)c.s.c=g;if(c.e.r=e.s){R[e.e--]={width:e.w/256,hidden:!!(e.flags&1)};if(!D){D=true;zl(e.w/256)}Xl(R[e.e+1])}break;case 161:f["!autofilter"]={ref:ft(e)};break;case 476:f["!margins"]=e;break;case 147:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;break;case 137:if(!n.Views)n.Views=[{}];if(!n.Views[0])n.Views[0]={};if(e.RTL)n.Views[0].RTL=true;break;case 485:break;case 175:;case 644:;case 625:;case 562:;case 396:;case 1112:;case 1146:;case 471:;case 1050:;case 649:;case 1105:;case 49:;case 589:;case 607:;case 564:;case 1055:;case 168:;case 174:;case 1180:;case 499:;case 64:;case 1053:;case 550:;case 171:;case 167:;case 1177:;case 169:;case 1181:;case 551:;case 552:;case 661:;case 639:;case 478:;case 151:;case 537:;case 477:;case 536:;case 1103:;case 680:;case 1104:;case 1024:;case 152:;case 663:;case 535:;case 678:;case 504:;case 1043:;case 428:;case 170:;case 50:;case 2070:;case 1045:break;case 35:u=true;break;case 36:u=false;break;case 37:break;case 38:break;default:if((r||"").indexOf("Begin")>0){}else if((r||"").indexOf("End")>0){}else if(!u||l.WTF)throw new Error("Unexpected record "+m+" "+r);}},l);delete l.supbooks;delete l["!row"];if(!f["!ref"]&&(c.s.r<2e6||o&&(o.e.r>0||o.e.c>0||o.s.r>0||o.s.c>0)))f["!ref"]=ft(o||c);if(l.sheetRows&&f["!ref"]){var O=ot(f["!ref"]);if(l.sheetRows<+O.e.r){O.e.r=l.sheetRows-1;if(O.e.r>c.e.r)O.e.r=c.e.r;if(O.e.rc.e.c)O.e.c=c.e.c;if(O.e.c0)f["!merges"]=_;if(R.length>0)f["!cols"]=R;if(F.length>0)f["!rows"]=F;return f}function jh(e,r,t,a,n,i){if(r.v===undefined)return"";var s="";switch(r.t){case"b":s=r.v?"1":"0";break;case"d":r=ne(r);r.z=r.z||I._table[14];r.v=Q(te(r.v));r.t="n";break;case"n":;case"e":s=""+r.v;break;default:s=r.v;break;}var l={r:t,c:a};l.s=yu(n.cellXfs,r,n);if(r.l)i["!links"].push([st(l),r.l]);if(r.c)i["!comments"].push([st(l),r.c]);switch(r.t){case"s":;case"str":if(n.bookSST){s=Bu(n.Strings,r.v);l.t="s";l.v=s;zr(e,"BrtCellIsst",Eh(r,l))}else{l.t="str";zr(e,"BrtCellSt",Bh(r,l))}return;case"n":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3)zr(e,"BrtCellRk",_h(r,l));else zr(e,"BrtCellReal",wh(r,l));return;case"b":l.t="b";zr(e,"BrtCellBool",mh(r,l));return;case"e":l.t="e";break;}zr(e,"BrtCellBlank",vh(r,l))}function Kh(e,r,t,a){var n=ot(r["!ref"]||"A1"),i,s="",l=[];zr(e,"BrtBeginSheetData");var f=Array.isArray(r);var o=n.e.r;if(r["!rows"])o=Math.max(n.e.r,r["!rows"].length-1);for(var c=n.s.r;c<=o;++c){s=Qr(c);lh(e,r,n,c);if(c<=n.e.r)for(var u=n.s.c;u<=n.e.c;++u){if(c===n.s.r)l[u]=rt(u);i=l[u]+s;var h=f?(r[c]||[])[u]:r[i];if(!h)continue;jh(e,h,c,u,a,r)}}zr(e,"BrtEndSheetData")}function Yh(e,r){if(!r||!r["!merges"])return;zr(e,"BrtBeginMergeCells",Fh(r["!merges"].length));r["!merges"].forEach(function(r){zr(e,"BrtMergeCell",Rh(r))});zr(e,"BrtEndMergeCells")}function $h(e,r){if(!r||!r["!cols"])return;zr(e,"BrtBeginColInfos");r["!cols"].forEach(function(r,t){if(r)zr(e,"BrtColInfo",Lh(t,r))});zr(e,"BrtEndColInfos")}function Zh(e,r){if(!r||!r["!ref"])return;zr(e,"BrtBeginCellIgnoreECs");zr(e,"BrtCellIgnoreEC",zh(ot(r["!ref"])));zr(e,"BrtEndCellIgnoreECs")}function Qh(e,r,t){r["!links"].forEach(function(r){if(!r[1].Target)return;var a=ya(t,-1,r[1].Target.replace(/#.*$/,""),_a.HLINK);zr(e,"BrtHLink",Oh(r,a))});delete r["!links"]}function Jh(e,r,t,a){if(r["!comments"].length>0){var n=ya(a,-1,"../drawings/vmlDrawing"+(t+1)+".vml",_a.VML);zr(e,"BrtLegacyDrawing",Ft("rId"+n));r["!legacy"]=n}}function qh(e,r){if(!r["!autofilter"])return;zr(e,"BrtBeginAFilter",Mt(ot(r["!autofilter"].ref)));zr(e,"BrtEndAFilter")}function ed(e,r,t){zr(e,"BrtBeginWsViews");{zr(e,"BrtBeginWsView",Vh(r,t));zr(e,"BrtEndWsView")}zr(e,"BrtEndWsViews")}function rd(){}function td(e,r){if(!r["!protect"])return;zr(e,"BrtSheetProtection",Xh(r["!protect"]))}function ad(e,r,t,a){var n=Vr();var i=t.SheetNames[e],s=t.Sheets[i]||{};var l=i;try{if(t&&t.Workbook)l=t.Workbook.Sheets[e].CodeName||l}catch(f){}var o=ot(s["!ref"]||"A1");s["!links"]=[];s["!comments"]=[];zr(n,"BrtBeginSheet");if(t.vbaraw)zr(n,"BrtWsProp",hh(l));zr(n,"BrtWsDim",oh(o));ed(n,s,t.Workbook);rd(n,s);$h(n,s,e,r,t);Kh(n,s,e,r,t);td(n,s);qh(n,s);Yh(n,s);Qh(n,s,a);if(s["!margins"])zr(n,"BrtMargins",Hh(s["!margins"]));Zh(n,s);Jh(n,s,e,a);zr(n,"BrtEndSheet");return n.end()}function nd(e){var r=[];(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var t=e.match(/(.*)<\/c:v><\/c:pt>/);if(!t)return;r[+t[1]]=+t[2]});var t=ye((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);return[r,t]}function id(e,r,t,a,n,i){var s=i||{"!type":"chart"};if(!e)return i;var l=0,f=0,o="A";var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var r=nd(e);c.s.r=c.s.c=0;c.e.c=l;o=rt(l);r[0].forEach(function(e,t){s[o+Qr(t)]={t:"n",v:e,z:r[1]};f=t});if(c.e.r0)s["!ref"]=ft(c);return s}_a.CS="http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet";var sd=qe("chartsheet",null,{xmlns:tr.main[0],"xmlns:r":tr.r});function ld(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!chart":null,"!rel":""};var s;var l=e.match(Mu);if(l)Vu(l[0],i,n,t);if(s=e.match(/drawing r:id="(.*?)"/))i["!rel"]=s[1];if(a["!id"][i["!rel"]])i["!chart"]=a["!id"][i["!rel"]];return i}function fd(e,r,t,a){var n=[Ee,sd];n[n.length]=qe("drawing",null,{"r:id":"rId1"});ya(a,-1,"../drawings/drawing"+(e+1)+".xml",_a.DRAW);if(n.length>2){n[n.length]="";n[1]=n[1].replace("/>",">")}return n.join("")}function od(e,r){e.l+=10;var t=mt(e,r-10);return{name:t}}function cd(e,r,t,a,n){if(!e)return e;if(!a)a={"!id":{}};var i={"!type":"chart","!chart":null,"!rel":""};var s=[];var l=false;Wr(e,function f(e,a,o){switch(o){case 550:i["!rel"]=e;break;case 651:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;break;case 562:;case 652:;case 669:;case 679:;case 551:;case 552:;case 476:break;case 35:l=true;break;case 36:l=false;break;case 37:s.push(a);break;case 38:s.pop();break;default:if((a||"").indexOf("Begin")>0)s.push(a);else if((a||"").indexOf("End")>0)s.pop();else if(!l||r.WTF)throw new Error("Unexpected record "+o+" "+a);}},r);if(a["!id"][i["!rel"]])i["!chart"]=a["!id"][i["!rel"]];return i}function ud(){var e=Vr();zr(e,"BrtBeginSheet");zr(e,"BrtEndSheet");return e.end()}var hd=[["allowRefreshQuery",false,"bool"],["autoCompressPictures",true,"bool"],["backupFile",false,"bool"],["checkCompatibility",false,"bool"],["CodeName",""],["date1904",false,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",false,"bool"],["hidePivotFieldList",false,"bool"],["promptedSolutions",false,"bool"],["publishItems",false,"bool"],["refreshAllConnections",false,"bool"],["saveExternalLinkValues",true,"bool"],["showBorderUnselectedTables",true,"bool"],["showInkAnnotation",true,"bool"],["showObjects","all"],["showPivotChartFilter",false,"bool"],["updateLinks","userSet"]];var dd=[["activeTab",0,"int"],["autoFilterDateGrouping",true,"bool"],["firstSheet",0,"int"],["minimized",false,"bool"],["showHorizontalScroll",true,"bool"],["showSheetTabs",true,"bool"],["showVerticalScroll",true,"bool"],["tabRatio",600,"int"],["visibility","visible"]];var vd=[];var pd=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function md(e,r){for(var t=0;t!=e.length;++t){var a=e[t];for(var n=0;n!=r.length;++n){var i=r[n];if(a[i[0]]==null)a[i[0]]=i[1];else switch(i[2]){case"bool":if(typeof a[i[0]]=="string")a[i[0]]=Me(a[i[0]]);break;case"int":if(typeof a[i[0]]=="string")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function bd(e,r){for(var t=0;t!=r.length;++t){var a=r[t];if(e[a[0]]==null)e[a[0]]=a[1];else switch(a[2]){case"bool":if(typeof e[a[0]]=="string")e[a[0]]=Me(e[a[0]]);break;case"int":if(typeof e[a[0]]=="string")e[a[0]]=parseInt(e[a[0]],10);break;}}}function gd(e){bd(e.WBProps,hd);bd(e.CalcPr,pd);md(e.WBView,dd);md(e.Sheets,vd);Cu.date1904=Me(e.WBProps.date1904)}function Ed(e){if(!e.Workbook)return"false";if(!e.Workbook.WBProps)return"false";return Me(e.Workbook.WBProps.date1904)?"true":"false"}var kd="][*?/\\".split("");function wd(e,r){if(e.length>31){if(r)return false;throw new Error("Sheet names cannot exceed 31 chars")}var t=true;kd.forEach(function(a){if(e.indexOf(a)==-1)return;if(!r)throw new Error("Sheet name cannot contain : \\ / ? * [ ]");t=false});return t}function Sd(e,r,t){e.forEach(function(a,n){wd(a);for(var i=0;i22)throw new Error("Bad Code Name: Worksheet"+s)}})}function _d(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var r=e.Workbook&&e.Workbook.Sheets||[];Sd(e.SheetNames,r,!!e.vbaraw)}var Cd=/<\w+:workbook/;function Bd(e,r){if(!e)throw new Error("Could not find file");var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},Names:[],xmlns:""};var a=false,n="xmlns";var i={},s=0;e.replace(we,function l(f,o){var c=Ce(f);switch(Be(c[0])){case"":break;case"":;case"":break;case"":break;case"":hd.forEach(function(e){if(c[e[0]]==null)return;switch(e[2]){case"bool":t.WBProps[e[0]]=Me(c[e[0]]);break;case"int":t.WBProps[e[0]]=parseInt(c[e[0]],10);break;default:t.WBProps[e[0]]=c[e[0]];}});if(c.codeName)t.WBProps.CodeName=c.codeName;break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":break;case"":;case"":a=false;break;case"":{i.Ref=e.slice(s,o);t.Names.push(i)}break;case"":break;case"":delete c[0];t.CalcPr=c;break;case"":break;case"":;case"":;case"":break;case"":;case"":;case"":break;case"":;case"":break;case"":break;case"":break;case"":;case"":break;case"":;case"":;case"":break;case"":a=false;break;case"":a=true;break;case"":a=false;break;case"0;var a={codeName:"ThisWorkbook"};if(e.Workbook&&e.Workbook.WBProps){hd.forEach(function(r){if(e.Workbook.WBProps[r[0]]==null)return;if(e.Workbook.WBProps[r[0]]==r[1])return;a[r[0]]=e.Workbook.WBProps[r[0]]});if(e.Workbook.WBProps.CodeName){a.codeName=e.Workbook.WBProps.CodeName;delete a.CodeName}}r[r.length]=qe("workbookPr",null,a);r[r.length]="";var n=e.Workbook&&e.Workbook.Sheets||[];for(var i=0;i!=e.SheetNames.length;++i){var s={name:Re(e.SheetNames[i].slice(0,31))};s.sheetId=""+(i+1);s["r:id"]="rId"+(i+1);if(n[i])switch(n[i].Hidden){case 1:s.state="hidden";break;case 2:s.state="veryHidden";break;}r[r.length]=qe("sheet",null,s)}r[r.length]="";if(t){r[r.length]="";if(e.Workbook&&e.Workbook.Names)e.Workbook.Names.forEach(function(e){var t={name:e.Name};if(e.Comment)t.comment=e.Comment;if(e.Sheet!=null)t.localSheetId=""+e.Sheet;if(!e.Ref)return;r[r.length]=qe("definedName",String(e.Ref),t)});r[r.length]=""}if(r.length>2){r[r.length]="";r[1]=r[1].replace("/>",">")}return r.join("")}function yd(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=Rt(e,r-8);t.name=mt(e);return t}function Id(e,r){if(!r)r=Hr(127);r._W(4,e.Hidden);r._W(4,e.iTabID);Ft(e.strRelID,r);bt(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function Ad(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?mt(e):"";if(n.length>0)t.CodeName=n;t.autoCompressPictures=!!(a&65536);t.backupFile=!!(a&64);t.checkCompatibility=!!(a&4096);t.date1904=!!(a&1);t.filterPrivacy=!!(a&8);t.hidePivotFieldList=!!(a&1024);t.promptedSolutions=!!(a&16);t.publishItems=!!(a&2048);t.refreshAllConnections=!!(a&262144);t.saveExternalLinkValues=!!(a&128);t.showBorderUnselectedTables=!!(a&4);t.showInkAnnotation=!!(a&32);t.showObjects=["all","placeholders","none"][a>>13&3];t.showPivotChartFilter=!!(a&32768);t.updateLinks=["userSet","never","always"][a>>8&3];return t}function Rd(e,r){if(!r)r=Hr(72);var t=0;if(e){if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);xt(e&&e.CodeName||"ThisWorkbook",r);return r.slice(0,r.l)}function Fd(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function Dd(e,r,t){var a=e.l+r;e.l+=4;e.l+=1;var n=e._R(4);var i=At(e);var s=du(e,0,t);var l=yt(e);e.l=a;var f={Name:i,Ptg:s};if(n<268435455)f.Sheet=n;if(l)f.Comment=l;return f}function Od(e,r){var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""};var a=false;if(!r)r={};r.biff=12;var n=[];var i=[[]];i.SheetNames=[];i.XTI=[];Wr(e,function s(e,l,f){switch(f){case 156:i.SheetNames.push(e.name);t.Sheets.push(e);break;case 153:t.WBProps=e;break;case 39:if(e.Sheet!=null)r.SID=e.Sheet;e.Ref=au(e.Ptg,null,null,i,r);delete r.SID;delete e.Ptg;n.push(e);break;case 1036:break;case 357:;case 358:;case 355:;case 667:if(!i[0].length)i[0]=[f,e];else i.push([f,e]);i[i.length-1].XTI=[];break;case 362:if(i.length===0){i[0]=[];i[0].XTI=[]}i[i.length-1].XTI=i[i.length-1].XTI.concat(e);i.XTI=i.XTI.concat(e);break;case 361:break;case 2071:;case 534:;case 677:;case 158:;case 157:;case 610:;case 2050:;case 155:;case 548:;case 676:;case 128:;case 665:;case 2128:;case 2125:;case 549:;case 2053:;case 596:;case 2076:;case 2075:;case 2082:;case 397:;case 154:;case 1117:;case 553:;case 2091:break;case 35:a=true;break;case 36:a=false;break;case 37:break;case 38:break;case 16:break;default:if((l||"").indexOf("Begin")>0){}else if((l||"").indexOf("End")>0){}else if(!a||r.WTF)throw new Error("Unexpected record "+f+" "+l);}},r);gd(t);t.Names=n;t.supbooks=i;return t}function Pd(e,r){zr(e,"BrtBeginBundleShs");for(var t=0;t!=r.SheetNames.length;++t){var a=r.Workbook&&r.Workbook.Sheets&&r.Workbook.Sheets[t]&&r.Workbook.Sheets[t].Hidden||0;var n={Hidden:a,iTabID:t+1,strRelID:"rId"+(t+1),name:r.SheetNames[t]};zr(e,"BrtBundleSh",Id(n))}zr(e,"BrtEndBundleShs")}function Nd(e,t){if(!t)t=Hr(127);for(var a=0;a!=4;++a)t._W(4,0);bt("SheetJS",t);bt(r.version,t);bt(r.version,t);bt("7262",t);t.length=t.l;return t.length>t.l?t.slice(0,t.l):t}function Ld(e,r){if(!r)r=Hr(29);r._W(-4,0);r._W(-4,460);r._W(4,28800);r._W(4,17600);r._W(4,500);r._W(4,e);r._W(4,e);var t=120;r._W(1,t);return r.length>r.l?r.slice(0,r.l):r}function Md(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;an)return;zr(e,"BrtBeginBookViews");zr(e,"BrtBookView",Ld(n));zr(e,"BrtEndBookViews")}function Ud(e,r){var t=Vr();zr(t,"BrtBeginBook");zr(t,"BrtFileVersion",Nd());zr(t,"BrtWbProp",Rd(e.Workbook&&e.Workbook.WBProps||null));Md(t,e,r);Pd(t,e,r);zr(t,"BrtEndBook");return t.end()}function Hd(e,r,t){if(r.slice(-4)===".bin")return Od(e,t);return Bd(e,t)}function Wd(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return Gh(e,a,t,n,i,s,l);return Hu(e,a,t,n,i,s,l)}function Vd(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return cd(e,a,t,n,i,s,l);return ld(e,a,t,n,i,s,l)}function zd(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return To(e,a,t,n,i,s,l);return xo(e,a,t,n,i,s,l)}function Xd(e,r,t,a,n,i,s,l){if(r.slice(-4)===".bin")return Co(e,a,t,n,i,s,l);return Bo(e,a,t,n,i,s,l)}function Gd(e,r,t,a){if(r.slice(-4)===".bin")return Cf(e,t,a);return sf(e,t,a)}function jd(e,r,t){return Xf(e,t)}function Kd(e,r,t){if(r.slice(-4)===".bin")return tl(e,t);return Js(e,t)}function Yd(e,r,t){if(r.slice(-4)===".bin")return go(e,t);return co(e,t)}function $d(e,r,t){if(r.slice(-4)===".bin")return to(e,r,t);return eo(e,r,t)}function Zd(e,r,t){if(r.slice(-4)===".bin")return no(e,r,t);return ao(e,r,t)}function Qd(e,r,t){return(r.slice(-4)===".bin"?Ud:xd)(e,t)}function Jd(e,r,t,a,n){return(r.slice(-4)===".bin"?ad:nh)(e,t,a,n)}function qd(e,r,t,a,n){return(r.slice(-4)===".bin"?ud:fd)(e,t,a,n)}function ev(e,r,t){return(r.slice(-4)===".bin"?Pf:ff)(e,t)}function rv(e,r,t){return(r.slice(-4)===".bin"?il:el)(e,t)}function tv(e,r,t){return(r.slice(-4)===".bin"?Eo:ho)(e,t)}var av=/([\w:]+)=((?:")([^"]*)(?:")|(?:')([^']*)(?:'))/g;var nv=/([\w:]+)=((?:")(?:[^"]*)(?:")|(?:')(?:[^']*)(?:'))/;var iv=function(e){return String.fromCharCode(e)};function sv(e,r){var t=e.split(/\s+/);var a=[];if(!r)a[0]=t[0];if(t.length===1)return a;var n=e.match(av),i,s,l,f;if(n)for(f=0;f!=n.length;++f){i=n[f].match(nv);if((s=i[1].indexOf(":"))===-1)a[i[1]]=i[2].slice(1,i[2].length-1);else{if(i[1].slice(0,6)==="xmlns:")l="xmlns"+i[1].slice(6);else l=i[1].slice(s+1);a[l]=i[2].slice(1,i[2].length-1)}}return a}function lv(e){var r=e.split(/\s+/);var t={};if(r.length===1)return t;var a=e.match(av),n,i,s,l;if(a)for(l=0;l!=a.length;++l){n=a[l].match(nv);if((i=n[1].indexOf(":"))===-1)t[n[1]]=n[2].slice(1,n[2].length-1);else{if(n[1].slice(0,6)==="xmlns:")s="xmlns"+n[1].slice(6);else s=n[1].slice(i+1);t[s]=n[2].slice(1,n[2].length-1)}}return t}function fv(e,r){var t=R[e]||ye(e);if(t==="General")return I._general(r);return I.format(t,r)}function ov(e,r,t,a){var n=a;switch((t[0].match(/dt:dt="([\w.]+)"/)||["",""])[1]){case"boolean":n=Me(a);break;case"i2":;case"int":n=parseInt(a,10);break;case"r4":;case"float":n=parseFloat(a);break;case"date":;case"dateTime.tz":n=te(a);break;case"i8":;case"string":;case"fixed":;case"uuid":;case"bin.base64":break;default:throw new Error("bad custprop:"+t[0]);}e[ye(r)]=n}function cv(e,r,t){if(e.t==="z")return;if(!t||t.cellText!==false)try{if(e.t==="e"){e.w=e.w||Wt[e.v]}else if(r==="General"){if(e.t==="n"){if((e.v|0)===e.v)e.w=I._general_int(e.v);else e.w=I._general_num(e.v)}else e.w=I._general(e.v)}else e.w=fv(r||"General",e.v)}catch(a){if(t.WTF)throw a}try{var n=R[r]||r||"General";if(t.cellNF)e.z=n;if(t.cellDates&&e.t=="n"&&I.is_date(n)){var i=I.parse_date_code(e.v);if(i){e.t="d";e.v=new Date(i.y,i.m-1,i.d,i.H,i.M,i.S,i.u)}}}catch(a){if(t.WTF)throw a}}function uv(e,r,t){if(t.cellStyles){if(r.Interior){var a=r.Interior;if(a.Pattern)a.patternType=$l[a.Pattern]||a.Pattern}}e[r.ID]=r}function hv(e,r,t,a,n,i,s,l,f,o){var c="General",u=a.StyleID,h={};o=o||{};var d=[];var v=0;if(u===undefined&&l)u=l.StyleID;if(u===undefined&&s)u=s.StyleID;while(i[u]!==undefined){if(i[u].nf)c=i[u].nf;if(i[u].Interior)d.push(i[u].Interior);if(!i[u].Parent)break;u=i[u].Parent}switch(t.Type){case"Boolean":a.t="b";a.v=Me(e);break;case"String":a.t="s";a.r=Ne(ye(e));a.v=e.indexOf("<")>-1?ye(r):a.r;break;case"DateTime":if(e.slice(-1)!="Z")e+="Z";a.v=(te(e)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(a.v!==a.v)a.v=ye(e);else if(a.v<60)a.v=a.v-1;if(!c||c=="General")c="yyyy-mm-dd";case"Number":if(a.v===undefined)a.v=+e;if(!a.t)a.t="n";break;case"Error":a.t="e";a.v=Vt[e];if(o.cellText!==false)a.w=e;break;default:a.t="s";a.v=Ne(r||e);break;}cv(a,c,o);if(o.cellFormula!==false){if(a.Formula){var p=ye(a.Formula);if(p.charCodeAt(0)==61)p=p.slice(1);a.f=yo(p,n);delete a.Formula;if(a.ArrayRange=="RC")a.F=yo("RC:RC",n);else if(a.ArrayRange){a.F=yo(a.ArrayRange,n);f.push([ot(a.F),a.F])}}else{for(v=0;v=f[v][0].s.r&&n.r<=f[v][0].e.r)if(n.c>=f[v][0].s.c&&n.c<=f[v][0].e.c)a.F=f[v][1]}}if(o.cellStyles){d.forEach(function(e){if(!h.patternType&&e.patternType)h.patternType=e.patternType});a.s=h}if(a.StyleID!==undefined)a.ixfe=a.StyleID}function dv(e){e.t=e.v||"";e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n");e.v=e.w=e.ixfe=undefined}function vv(e){if(E&&Buffer.isBuffer(e))return e.toString("utf8");if(typeof e==="string")return e;throw new Error("Bad input format: expected Buffer or string")}var pv=/<(\/?)([^\s?>!\/:]*:|)([^\s?>]*[^\s?>\/])[^>]*>/gm;function mv(e,r){var t=r||{};A(I);var a=v(vv(e));if(t.type=="binary"||t.type=="array"||t.type=="base64"){if(typeof cptable!=="undefined")a=cptable.utils.decode(65001,u(a));else a=Ue(a)}var n=a.slice(0,1024).toLowerCase(),i=false;if(n.indexOf("=0)i=true});if(i)return sp.to_workbook(a,t);var s;var l=[],f;if(m!=null&&t.dense==null)t.dense=m;var o={},c=[],h=t.dense?[]:{},d="";var p={},b={},g={};var E=sv(''),k=0;var w=0,S=0;var _={s:{r:2e6,c:2e6},e:{r:0,c:0}};var C={},B={};var T="",x=0;var y=[];var F={},D={},O=0,P=[];var N=[],L={};var M=[],U,H=false;var W=[];var V=[],z={},X=0,G=0;var j={Sheets:[],WBProps:{date1904:false}},K={};pv.lastIndex=0;a=a.replace(//gm,"");while(s=pv.exec(a))switch(s[3]){case"Data":if(l[l.length-1][1])break;if(s[1]==="/")hv(a.slice(k,s.index),T,E,l[l.length-1][0]=="Comment"?L:b,{c:w,r:S},C,M[w],g,W,t);else{T="";E=sv(s[0]);k=s.index+s[0].length}break;case"Cell":if(s[1]==="/"){if(N.length>0)b.c=N;if((!t.sheetRows||t.sheetRows>S)&&b.v!==undefined){if(t.dense){if(!h[S])h[S]=[];h[S][w]=b}else h[rt(w)+Qr(S)]=b}if(b.HRef){b.l={Target:b.HRef};if(b.HRefScreenTip)b.l.Tooltip=b.HRefScreenTip;delete b.HRef;delete b.HRefScreenTip}if(b.MergeAcross||b.MergeDown){X=w+(parseInt(b.MergeAcross,10)|0);G=S+(parseInt(b.MergeDown,10)|0);y.push({s:{c:w,r:S},e:{c:X,r:G}})}if(!t.sheetStubs){if(b.MergeAcross)w=X+1;else++w}else if(b.MergeAcross||b.MergeDown){for(var Y=w;Y<=X;++Y){for(var $=S;$<=G;++$){if(Y>w||$>S){if(t.dense){if(!h[$])h[$]=[];h[$][Y]={t:"z"}}else h[rt(Y)+Qr($)]={t:"z"}}}}w=X+1}else++w}else{b=lv(s[0]);if(b.Index)w=+b.Index-1;if(w<_.s.c)_.s.c=w;if(w>_.e.c)_.e.c=w;if(s[0].slice(-2)==="/>")++w;N=[]}break;case"Row":if(s[1]==="/"||s[0].slice(-2)==="/>"){if(S<_.s.r)_.s.r=S;if(S>_.e.r)_.e.r=S;if(s[0].slice(-2)==="/>"){g=sv(s[0]);if(g.Index)S=+g.Index-1}w=0;++S}else{g=sv(s[0]);if(g.Index)S=+g.Index-1;z={};if(g.AutoFitHeight=="0"||g.Height){z.hpx=parseInt(g.Height,10);z.hpt=Kl(z.hpx);V[S]=z}if(g.Hidden=="1"){z.hidden=true;V[S]=z}}break;case"Worksheet":if(s[1]==="/"){if((f=l.pop())[0]!==s[3])throw new Error("Bad state: "+f.join("|"));c.push(d);if(_.s.r<=_.e.r&&_.s.c<=_.e.c)h["!ref"]=ft(_);if(y.length)h["!merges"]=y;if(M.length>0)h["!cols"]=M;if(V.length>0)h["!rows"]=V;o[d]=h}else{_={s:{r:2e6,c:2e6},e:{r:0,c:0}};S=w=0;l.push([s[3],false]);f=sv(s[0]);d=ye(f.Name);h=t.dense?[]:{};y=[];W=[];V=[];K={name:d,Hidden:0};j.Sheets.push(K)}break;case"Table":if(s[1]==="/"){if((f=l.pop())[0]!==s[3])throw new Error("Bad state: "+f.join("|"))}else if(s[0].slice(-2)=="/>")break;else{p=sv(s[0]);l.push([s[3],false]);M=[];H=false}break;case"Style":if(s[1]==="/")uv(C,B,t);else B=sv(s[0]);break;case"NumberFormat":B.nf=ye(sv(s[0]).Format||"General");if(R[B.nf])B.nf=R[B.nf];for(var Z=0;Z!=392;++Z)if(I._table[Z]==B.nf)break;if(Z==392)for(Z=57;Z!=392;++Z)if(I._table[Z]==null){I.load(B.nf,Z);break}break;case"Column":if(l[l.length-1][0]!=="Table")break;U=sv(s[0]);if(U.Hidden){U.hidden=true;delete U.Hidden}if(U.Width)U.wpx=parseInt(U.Width,10);if(!H&&U.wpx>10){H=true;Ml=Pl;for(var Q=0;Q0)ee.Sheet=j.Sheets.length-1;j.Names.push(ee);break;case"NamedCell":break;case"B":break;case"I":break;case"U":break;case"S":break;case"Sub":break;case"Sup":break;case"Span":break;case"Border":break;case"Alignment":break;case"Borders":break;case"Font":if(s[0].slice(-2)==="/>")break;else if(s[1]==="/")T+=a.slice(x,s.index);else x=s.index+s[0].length;break;case"Interior":if(!t.cellStyles)break;B.Interior=sv(s[0]);break;case"Protection":break;case"Author":;case"Title":;case"Description":;case"Created":;case"Keywords":;case"Subject":;case"Category":;case"Company":;case"LastAuthor":;case"LastSaved":;case"LastPrinted":;case"Version":;case"Revision":;case"TotalTime":;case"HyperlinkBase":;case"Manager":;case"ContentStatus":;case"Identifier":;case"Language":;case"AppName":if(s[0].slice(-2)==="/>")break;else if(s[1]==="/")Ja(F,s[3],a.slice(O,s.index));else O=s.index+s[0].length;break;case"Paragraphs":break;case"Styles":;case"Workbook":if(s[1]==="/"){if((f=l.pop())[0]!==s[3])throw new Error("Bad state: "+f.join("|"))}else l.push([s[3],false]);break;case"Comment":if(s[1]==="/"){if((f=l.pop())[0]!==s[3])throw new Error("Bad state: "+f.join("|"));dv(L);N.push(L)}else{l.push([s[3],false]);f=sv(s[0]);L={a:f.Author}}break;case"AutoFilter":if(s[1]==="/"){if((f=l.pop())[0]!==s[3])throw new Error("Bad state: "+f.join("|"))}else if(s[0].charAt(s[0].length-2)!=="/"){var re=sv(s[0]);h["!autofilter"]={ref:yo(re.Range).replace(/\$/g,"")};l.push([s[3],true])}break;case"Name":break;case"ComponentOptions":;case"DocumentProperties":;case"CustomDocumentProperties":;case"OfficeDocumentSettings":;case"PivotTable":;case"PivotCache":;case"Names":;case"MapInfo":;case"PageBreaks":;case"QueryTable":;case"DataValidation":;case"Sorting":;case"Schema":;case"data":;case"ConditionalFormatting":;case"SmartTagType":;case"SmartTags":;case"ExcelWorkbook":;case"WorkbookOptions":;case"WorksheetOptions":if(s[1]==="/"){if((f=l.pop())[0]!==s[3])throw new Error("Bad state: "+f.join("|"))}else if(s[0].charAt(s[0].length-2)!=="/")l.push([s[3],true]);break;default:if(l.length==0&&s[3]=="document")return up(a,t);if(l.length==0&&s[3]=="UOF")return up(a,t);var te=true;switch(l[l.length-1][0]){case"OfficeDocumentSettings":switch(s[3]){case"AllowPNG":break;case"RemovePersonalInformation":break;case"DownloadComponents":break;case"LocationOfComponents":break;case"Colors":break;case"Color":break;case"Index":break;case"RGB":break;case"PixelsPerInch":break;case"TargetScreenSize":break;case"ReadOnlyRecommended":break;default:te=false;}break;case"ComponentOptions":switch(s[3]){case"Toolbar":break;case"HideOfficeLogo":break;case"SpreadsheetAutoFit":break;case"Label":break;case"Caption":break;case"MaxHeight":break;case"MaxWidth":break;case"NextSheetNumber":break;default:te=false;}break;case"ExcelWorkbook":switch(s[3]){case"Date1904":j.WBProps.date1904=true;break;case"WindowHeight":break;case"WindowWidth":break;case"WindowTopX":break;case"WindowTopY":break;case"TabRatio":break;case"ProtectStructure":break;case"ProtectWindows":break;case"ActiveSheet":break;case"DisplayInkNotes":break;case"FirstVisibleSheet":break;case"SupBook":break;case"SheetName":break;case"SheetIndex":break;case"SheetIndexFirst":break;case"SheetIndexLast":break;case"Dll":break;case"AcceptLabelsInFormulas":break;case"DoNotSaveLinkValues":break;case"Iteration":break;case"MaxIterations":break;case"MaxChange":break;case"Path":break;case"Xct":break;case"Count":break;case"SelectedSheets":break;case"Calculation":break;case"Uncalced":break;case"StartupPrompt":break;case"Crn":break;case"ExternName":break;case"Formula":break;case"ColFirst":break;case"ColLast":break;case"WantAdvise":break;case"Boolean":break;case"Error":break;case"Text":break;case"OLE":break;case"NoAutoRecover":break;case"PublishObjects":break;case"DoNotCalculateBeforeSave":break;case"Number":break;case"RefModeR1C1":break;case"EmbedSaveSmartTags":break;default:te=false;}break;case"WorkbookOptions":switch(s[3]){case"OWCVersion":break;case"Height":break;case"Width":break;default:te=false;}break;case"WorksheetOptions":switch(s[3]){case"Visible":if(s[0].slice(-2)==="/>"){}else if(s[1]==="/")switch(a.slice(O,s.index)){case"SheetHidden":K.Hidden=1;break;case"SheetVeryHidden":K.Hidden=2;break;}else O=s.index+s[0].length;break;case"Header":if(!h["!margins"])xu(h["!margins"]={},"xlml");h["!margins"].header=Ce(s[0]).Margin;break;case"Footer":if(!h["!margins"])xu(h["!margins"]={},"xlml");h["!margins"].footer=Ce(s[0]).Margin;break;case"PageMargins":var ae=Ce(s[0]);if(!h["!margins"])xu(h["!margins"]={},"xlml");if(ae.Top)h["!margins"].top=ae.Top;if(ae.Left)h["!margins"].left=ae.Left;if(ae.Right)h["!margins"].right=ae.Right;if(ae.Bottom)h["!margins"].bottom=ae.Bottom;break;case"DisplayRightToLeft":if(!j.Views)j.Views=[];if(!j.Views[0])j.Views[0]={};j.Views[0].RTL=true;break;case"Unsynced":break;case"Print":break;case"Panes":break;case"Scale":break;case"Pane":break;case"Number":break;case"Layout":break;case"PageSetup":break;case"Selected":break;case"ProtectObjects":break;case"EnableSelection":break;case"ProtectScenarios":break;case"ValidPrinterInfo":break;case"HorizontalResolution":break;case"VerticalResolution":break;case"NumberofCopies":break;case"ActiveRow":break;case"ActiveCol":break;case"ActivePane":break; +;case"TopRowVisible":break;case"TopRowBottomPane":break;case"LeftColumnVisible":break;case"LeftColumnRightPane":break;case"FitToPage":break;case"RangeSelection":break;case"PaperSizeIndex":break;case"PageLayoutZoom":break;case"PageBreakZoom":break;case"FilterOn":break;case"DoNotDisplayGridlines":break;case"SplitHorizontal":break;case"SplitVertical":break;case"FreezePanes":break;case"FrozenNoSplit":break;case"FitWidth":break;case"FitHeight":break;case"CommentsLayout":break;case"Zoom":break;case"LeftToRight":break;case"Gridlines":break;case"AllowSort":break;case"AllowFilter":break;case"AllowInsertRows":break;case"AllowDeleteRows":break;case"AllowInsertCols":break;case"AllowDeleteCols":break;case"AllowInsertHyperlinks":break;case"AllowFormatCells":break;case"AllowSizeCols":break;case"AllowSizeRows":break;case"NoSummaryRowsBelowDetail":break;case"TabColorIndex":break;case"DoNotDisplayHeadings":break;case"ShowPageLayoutZoom":break;case"NoSummaryColumnsRightDetail":break;case"BlackAndWhite":break;case"DoNotDisplayZeros":break;case"DisplayPageBreak":break;case"RowColHeadings":break;case"DoNotDisplayOutline":break;case"NoOrientation":break;case"AllowUsePivotTables":break;case"ZeroHeight":break;case"ViewableRange":break;case"Selection":break;case"ProtectContents":break;default:te=false;}break;case"PivotTable":;case"PivotCache":switch(s[3]){case"ImmediateItemsOnDrop":break;case"ShowPageMultipleItemLabel":break;case"CompactRowIndent":break;case"Location":break;case"PivotField":break;case"Orientation":break;case"LayoutForm":break;case"LayoutSubtotalLocation":break;case"LayoutCompactRow":break;case"Position":break;case"PivotItem":break;case"DataType":break;case"DataField":break;case"SourceName":break;case"ParentField":break;case"PTLineItems":break;case"PTLineItem":break;case"CountOfSameItems":break;case"Item":break;case"ItemType":break;case"PTSource":break;case"CacheIndex":break;case"ConsolidationReference":break;case"FileName":break;case"Reference":break;case"NoColumnGrand":break;case"NoRowGrand":break;case"BlankLineAfterItems":break;case"Hidden":break;case"Subtotal":break;case"BaseField":break;case"MapChildItems":break;case"Function":break;case"RefreshOnFileOpen":break;case"PrintSetTitles":break;case"MergeLabels":break;case"DefaultVersion":break;case"RefreshName":break;case"RefreshDate":break;case"RefreshDateCopy":break;case"VersionLastRefresh":break;case"VersionLastUpdate":break;case"VersionUpdateableMin":break;case"VersionRefreshableMin":break;case"Calculation":break;default:te=false;}break;case"PageBreaks":switch(s[3]){case"ColBreaks":break;case"ColBreak":break;case"RowBreaks":break;case"RowBreak":break;case"ColStart":break;case"ColEnd":break;case"RowEnd":break;default:te=false;}break;case"AutoFilter":switch(s[3]){case"AutoFilterColumn":break;case"AutoFilterCondition":break;case"AutoFilterAnd":break;case"AutoFilterOr":break;default:te=false;}break;case"QueryTable":switch(s[3]){case"Id":break;case"AutoFormatFont":break;case"AutoFormatPattern":break;case"QuerySource":break;case"QueryType":break;case"EnableRedirections":break;case"RefreshedInXl9":break;case"URLString":break;case"HTMLTables":break;case"Connection":break;case"CommandText":break;case"RefreshInfo":break;case"NoTitles":break;case"NextId":break;case"ColumnInfo":break;case"OverwriteCells":break;case"DoNotPromptForFile":break;case"TextWizardSettings":break;case"Source":break;case"Number":break;case"Decimal":break;case"ThousandSeparator":break;case"TrailingMinusNumbers":break;case"FormatSettings":break;case"FieldType":break;case"Delimiters":break;case"Tab":break;case"Comma":break;case"AutoFormatName":break;case"VersionLastEdit":break;case"VersionLastRefresh":break;default:te=false;}break;case"Sorting":;case"ConditionalFormatting":;case"DataValidation":switch(s[3]){case"Range":break;case"Type":break;case"Min":break;case"Max":break;case"Sort":break;case"Descending":break;case"Order":break;case"CaseSensitive":break;case"Value":break;case"ErrorStyle":break;case"ErrorMessage":break;case"ErrorTitle":break;case"CellRangeList":break;case"InputMessage":break;case"InputTitle":break;case"ComboHide":break;case"InputHide":break;case"Condition":break;case"Qualifier":break;case"UseBlank":break;case"Value1":break;case"Value2":break;case"Format":break;default:te=false;}break;case"MapInfo":;case"Schema":;case"data":switch(s[3]){case"Map":break;case"Entry":break;case"Range":break;case"XPath":break;case"Field":break;case"XSDType":break;case"FilterOn":break;case"Aggregate":break;case"ElementType":break;case"AttributeType":break;case"schema":;case"element":;case"complexType":;case"datatype":;case"all":;case"attribute":;case"extends":break;case"row":break;default:te=false;}break;case"SmartTags":break;default:te=false;break;}if(te)break;if(!l[l.length-1][1])throw"Unrecognized tag: "+s[3]+"|"+l.join("|");if(l[l.length-1][0]==="CustomDocumentProperties"){if(s[0].slice(-2)==="/>")break;else if(s[1]==="/")ov(D,s[3],P,a.slice(O,s.index));else{P=s;O=s.index+s[0].length}break}if(t.WTF)throw"Unrecognized tag: "+s[3]+"|"+l.join("|");}var ie={};if(!t.bookSheets&&!t.bookProps)ie.Sheets=o;ie.SheetNames=c;ie.Workbook=j;ie.SSF=I.get_table();ie.Props=F;ie.Custprops=D;return ie}function bv(e,r){xp(r=r||{});switch(r.type||"base64"){case"base64":return mv(g.decode(e),r);case"binary":;case"buffer":;case"file":return mv(e,r);case"array":return mv(_(e),r);}}function gv(e,r){var t=[];if(e.Props)t.push(qa(e.Props,r));if(e.Custprops)t.push(en(e.Props,e.Custprops,r));return t.join("")}function Ev(){return""}function kv(e,r){var t=[''];r.cellXfs.forEach(function(e,r){var a=[];a.push(qe("NumberFormat",null,{"ss:Format":Re(I._table[e.numFmtId])}));t.push(qe("Style",a.join(""),{"ss:ID":"s"+(21+r)}))});return qe("Styles",t.join(""))}function wv(e){return qe("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+Ao(e.Ref,{r:0,c:0})})}function Sv(e){if(!((e||{}).Workbook||{}).Names)return"";var r=e.Workbook.Names;var t=[];for(var a=0;a");if(e["!margins"].header)n.push(qe("Header",null,{"x:Margin":e["!margins"].header}));if(e["!margins"].footer)n.push(qe("Footer",null,{"x:Margin":e["!margins"].footer}));n.push(qe("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("")}if(a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[t]){if(a.Workbook.Sheets[t].Hidden)n.push(qe("Visible",a.Workbook.Sheets[t].Hidden==1?"SheetHidden":"SheetVeryHidden",{}));else{for(var i=0;i")}}if(((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL)n.push("");if(e["!protect"]){n.push(Qe("ProtectContents","True"));if(e["!protect"].objects)n.push(Qe("ProtectObjects","True"));if(e["!protect"].scenarios)n.push(Qe("ProtectScenarios","True"));if(e["!protect"].selectLockedCells!=null&&!e["!protect"].selectLockedCells)n.push(Qe("EnableSelection","NoSelection"));else if(e["!protect"].selectUnlockedCells!=null&&!e["!protect"].selectUnlockedCells)n.push(Qe("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(r){if(e["!protect"][r[0]])n.push("<"+r[1]+"/>")})}if(n.length==0)return"";return qe("WorksheetOptions",n.join(""),{xmlns:ar.x})}function Bv(e){return e.map(function(e){var r=Le(e.t||"");var t=qe("ss:Data",r,{xmlns:"http://www.w3.org/TR/REC-html40"});return qe("Comment",t,{"ss:Author":e.a})}).join("")}function Tv(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return"";var l={};if(e.f)l["ss:Formula"]="="+Re(Ao(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var f=it(e.F.slice(r.length+1));l["ss:ArrayRange"]="RC:R"+(f.r==s.r?"":"["+(f.r-s.r)+"]")+"C"+(f.c==s.c?"":"["+(f.c-s.c)+"]")}if(e.l&&e.l.Target){l["ss:HRef"]=Re(e.l.Target);if(e.l.Tooltip)l["x:HRefScreenTip"]=Re(e.l.Tooltip)}if(t["!merges"]){var o=t["!merges"];for(var c=0;c!=o.length;++c){if(o[c].s.c!=s.c||o[c].s.r!=s.r)continue;if(o[c].e.c>o[c].s.c)l["ss:MergeAcross"]=o[c].e.c-o[c].s.c;if(o[c].e.r>o[c].s.r)l["ss:MergeDown"]=o[c].e.r-o[c].s.r}}var u="",h="";switch(e.t){case"z":return"";case"n":u="Number";h=String(e.v);break;case"b":u="Boolean";h=e.v?"1":"0";break;case"e":u="Error";h=Wt[e.v];break;case"d":u="DateTime";h=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||I._table[14];break;case"s":u="String";h=Pe(e.v||"");break;}var d=yu(a.cellXfs,e,a);l["ss:StyleID"]="s"+(21+d);l["ss:Index"]=s.c+1;var v=e.v!=null?h:"";var p=''+v+"";if((e.c||[]).length>0)p+=Bv(e.c);return qe("Cell",p,l)}function xv(e,r){var t='"}function yv(e,r,t,a){if(!e["!ref"])return"";var n=ot(e["!ref"]);var i=e["!merges"]||[],s=0;var l=[];if(e["!cols"])e["!cols"].forEach(function(e,r){Xl(e);var t=!!e.width;var a=Tu(r,e);var n={"ss:Index":r+1};if(t)n["ss:Width"]=Ul(a.width);if(e.hidden)n["ss:Hidden"]="1";l.push(qe("Column",null,n))});var f=Array.isArray(e);for(var o=n.s.r;o<=n.e.r;++o){var c=[xv(o,(e["!rows"]||[])[o])];for(var u=n.s.c;u<=n.e.c;++u){var h=false;for(s=0;s!=i.length;++s){if(i[s].s.c>u)continue;if(i[s].s.r>o)continue;if(i[s].e.c");if(c.length>2)l.push(c.join(""))}return l.join("")}function Iv(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?_v(i,r,e,t):"";if(s.length>0)a.push(""+s+"");s=i?yv(i,r,e,t):"";if(s.length>0)a.push(""+s+"
");a.push(Cv(i,r,e,t));return a.join("")}function Av(e,r){if(!r)r={};if(!e.SSF)e.SSF=I.get_table();if(e.SSF){A(I);I.load_table(e.SSF);r.revssf=j(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];yu(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(gv(e,r));t.push(Ev(e,r));t.push("");t.push("");for(var a=0;a40)return r;t.l-=4;r.Reserved1=t._R(0,"lpstr-ansi");if(t.length-t.l<=4)return r;a=t._R(4);if(a!==1907505652)return r;r.UnicodeClipboardFormat=$t(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,"lpwstr")}function Fv(e,r,t,a){var n=t;var i=[];var s=r.slice(r.l,r.l+n);if(a&&a.enc&&a.enc.insitu)switch(e.n){case"BOF":;case"FilePass":;case"FileLock":;case"InterfaceHdr":;case"RRDInfo":;case"RRDHead":;case"UsrExcl":break;default:if(s.length===0)break;a.enc.insitu(s);}i.push(s);r.l+=n;var l=Wv[xr(r,r.l)];var f=0;while(l!=null&&l.n.slice(0,8)==="Continue"){n=xr(r,r.l+2);f=r.l+4;if(l.n=="ContinueFrt")f+=4;else if(l.n.slice(0,11)=="ContinueFrt")f+=12;i.push(r.slice(f,r.l+4+n));r.l+=4+n;l=Wv[xr(r,r.l)]}var o=T(i);Mr(o,0);var c=0;o.lens=[];for(var u=0;u1)return;if(!_)return;if(t.cellStyles&&r.XF&&r.XF.data)A(e,r,t);delete r.ixfe;delete r.XF;h=e;d=st(e);if(s.s){if(e.rs.e.r)s.e.r=e.r+1;if(e.c+1>s.e.c)s.e.c=e.c+1}if(t.cellFormula&&r.f){for(var a=0;ae.c||k[a][0].s.r>e.r)continue;if(k[a][0].e.c=t.sheetRows)_=false;else{if(t.dense){if(!n[e.r])n[e.r]=[];n[e.r][e.c]=r}else n[d]=r}};var F={enc:false,sbcch:0,snames:[],sharedf:E,arrayf:k,rrtabid:[],lastuser:"",biff:8,codepage:0,winlocked:0,cellStyles:!!r&&!!r.cellStyles,WTF:!!r&&!!r.wtf};if(r.password)F.password=r.password;var D;var O=[];var P=[];var N=[],L=[];var M=0,U=0;var H=false;var W=[];W.SheetNames=F.snames;W.sharedf=F.sharedf;W.arrayf=F.arrayf;W.names=[];W.XTI=[];var V="";var X=0;var G=0,j=[];var K=[];var Y;F.codepage=1200;o(1200);var $=false;while(e.l0)Y.Sheet=re.itab-1;W.names.push(Y);if(!W[0]){W[0]=[];W[0].XTI=[]}W[W.length-1].push(re);if(re.Name=="_xlnm._FilterDatabase"&&re.itab>0)if(re.rgce&&re.rgce[0]&&re.rgce[0][0]&&re.rgce[0][0][0]=="PtgArea3d")K[re.itab-1]={ref:ft(re.rgce[0][0][1][2])};break;case"ExternCount":F.ExternCount=re;break;case"ExternSheet":if(W.length==0){W[0]=[];W[0].XTI=[]}W[W.length-1].XTI=W[W.length-1].XTI.concat(re);W.XTI=W.XTI.concat(re);break;case"NameCmt":if(F.biff<8)break;if(Y!=null)Y.Comment=re[1];break;case"Protect":n["!protect"]=re;break;case"Password":if(re!==0&&F.WTF)console.error("Password verifier: "+re);break;case"Prot4Rev":;case"Prot4RevPass":break;case"BoundSheet8":{i[re.pos]=re;F.snames.push(re.name)}break;case"EOF":{if(--X)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n["!ref"]=ft(s);s.e.r++;s.e.c++}if(O.length>0)n["!merges"]=O;if(P.length>0)n["!objects"]=P;if(N.length>0)n["!cols"]=N;if(L.length>0)n["!rows"]=L;T.Sheets.push(x)}if(c==="")u=n;else a[c]=n;n=r.dense?[]:{}}break;case"BOF":{if(F.biff===8)F.biff={9:2,521:3,1033:4}[Q]||{1280:5,1536:8,2:2,7:2}[re.BIFFVer]||8;if(X++)break;_=true;n=r.dense?[]:{};if(F.biff<8&&!$){$=true;o(F.codepage=r.codepage||1252)}if(F.biff<5){if(c==="")c="Sheet1";s={s:{r:0,c:0},e:{r:0,c:0}};var ae={pos:e.l-J,name:c};i[ae.pos]=ae;F.snames.push(c)}else c=(i[Z]||{name:""}).name;if(re.dt==32)n["!type"]="chart";if(re.dt==64)n["!type"]="macro";O=[];P=[];F.arrayf=k=[];N=[];L=[];M=U=0;H=false;x={Hidden:(i[Z]||{hs:0}).hs,name:c}}break;case"Number":;case"BIFF2NUM":;case"BIFF2INT":{if(n["!type"]=="chart")if(r.dense?(n[re.r]||[])[re.c]:n[st({c:re.c,r:re.r})])++re.c;w={ixfe:re.ixfe,XF:C[re.ixfe]||{},v:re.val,t:"n"};if(G>0)w.z=j[w.ixfe>>8&31];Dv(w,r,t.opts.Date1904);R({c:re.c,r:re.r},w,r)}break;case"BoolErr":{w={ixfe:re.ixfe,XF:C[re.ixfe],v:re.val,t:re.t};if(G>0)w.z=j[w.ixfe>>8&31];Dv(w,r,t.opts.Date1904);R({c:re.c,r:re.r},w,r)}break;case"RK":{w={ixfe:re.ixfe,XF:C[re.ixfe],v:re.rknum,t:"n"};if(G>0)w.z=j[w.ixfe>>8&31];Dv(w,r,t.opts.Date1904);R({c:re.c,r:re.r},w,r)}break;case"MulRk":{for(var ne=re.c;ne<=re.C;++ne){var ie=re.rkrec[ne-re.c][0];w={ixfe:ie,XF:C[ie],v:re.rkrec[ne-re.c][1],t:"n"};if(G>0)w.z=j[w.ixfe>>8&31];Dv(w,r,t.opts.Date1904);R({c:ne,r:re.r},w,r)}}break;case"Formula":{if(re.val=="String"){l=re;break}w=Ov(re.val,re.cell.ixfe,re.tt);w.XF=C[w.ixfe];if(r.cellFormula){var se=re.formula;if(se&&se[0]&&se[0][0]&&se[0][0][0]=="PtgExp"){var le=se[0][0][1][0],fe=se[0][0][1][1];var oe=st({r:le,c:fe});if(E[oe])w.f=""+au(re.formula,s,re.cell,W,F);else w.F=((r.dense?(n[le]||[])[fe]:n[oe])||{}).F}else w.f=""+au(re.formula,s,re.cell,W,F)}if(G>0)w.z=j[w.ixfe>>8&31];Dv(w,r,t.opts.Date1904);R(re.cell,w,r);l=re}break;case"String":{if(l){l.val=re;w=Ov(re,l.cell.ixfe,"s");w.XF=C[w.ixfe];if(r.cellFormula){w.f=""+au(l.formula,s,l.cell,W,F)}if(G>0)w.z=j[w.ixfe>>8&31];Dv(w,r,t.opts.Date1904);R(l.cell,w,r);l=null}else throw new Error("String record expects Formula")}break;case"Array":{k.push(re);var ce=st(re[0].s);v=r.dense?(n[re[0].s.r]||[])[re[0].s.c]:n[ce];if(r.cellFormula&&v){if(!l)break;if(!ce||!v)break;v.f=""+au(re[1],s,re[0],W,F);v.F=ft(re[0])}}break;case"ShrFmla":{if(!_)break;if(!r.cellFormula)break;if(d){if(!l)break;E[st(l.cell)]=re[0];v=r.dense?(n[l.cell.r]||[])[l.cell.c]:n[st(l.cell)];(v||{}).f=""+au(re[0],s,h,W,F)}}break;case"LabelSst":w=Ov(f[re.isst].t,re.ixfe,"s");w.XF=C[w.ixfe];if(G>0)w.z=j[w.ixfe>>8&31];Dv(w,r,t.opts.Date1904);R({c:re.c,r:re.r},w,r);break;case"Blank":if(r.sheetStubs){w={ixfe:re.ixfe,XF:C[re.ixfe],t:"z"};if(G>0)w.z=j[w.ixfe>>8&31];Dv(w,r,t.opts.Date1904);R({c:re.c,r:re.r},w,r)}break;case"MulBlank":if(r.sheetStubs){for(var ue=re.c;ue<=re.C;++ue){var he=re.ixfe[ue-re.c];w={ixfe:he,XF:C[he],t:"z"};if(G>0)w.z=j[w.ixfe>>8&31];Dv(w,r,t.opts.Date1904);R({c:ue,r:re.r},w,r)}}break;case"RString":;case"Label":;case"BIFF2STR":w=Ov(re.val,re.ixfe,"s");w.XF=C[w.ixfe];if(G>0)w.z=j[w.ixfe>>8&31];Dv(w,r,t.opts.Date1904);R({c:re.c,r:re.r},w,r);break;case"Dimensions":{if(X===1)s=re}break;case"SST":{f=re}break;case"Format":{if(F.biff==4){j[G++]=re[1];for(var de=0;de=163)I.load(re[1],G+163)}else I.load(re[1],re[0])}break;case"BIFF2FORMAT":{j[G++]=re;for(var ve=0;ve=163)I.load(re,G+163)}break;case"MergeCells":O=O.concat(re);break;case"Obj":P[re.cmo[0]]=F.lastobj=re;break;case"TxO":F.lastobj.TxO=re;break;case"ImData":F.lastobj.ImData=re;break;case"HLink":{for(g=re[0].s.r;g<=re[0].e.r;++g)for(b=re[0].s.c;b<=re[0].e.c;++b){v=r.dense?(n[g]||[])[b]:n[st({c:b,r:g})];if(v)v.l=re[1]}}break;case"HLinkTooltip":{for(g=re[0].s.r;g<=re[0].e.r;++g)for(b=re[0].s.c;b<=re[0].e.c;++b){v=r.dense?(n[g]||[])[b]:n[st({c:b,r:g})];if(v)v.l.Tooltip=re[1]}}break;case"Note":{if(F.biff<=5&&F.biff>=2)break;v=r.dense?(n[re[0].r]||[])[re[0].c]:n[st(re[0])];var pe=P[re[2]];if(!v)break;if(!v.c)v.c=[];p={a:re[1],t:pe.TxO.t};v.c.push(p)}break;default:switch(q.n){case"ClrtClient":break;case"XFExt":qf(C[re.ixfe],re.ext);break;case"DefColWidth":M=re;break;case"DefaultRowHeight":U=re[1];break;case"ColInfo":{if(!F.cellStyles)break;while(re.e>=re.s){N[re.e--]={width:re.w/256};if(!H){H=true;zl(re.w/256)}Xl(N[re.e+1])}}break;case"Row":{var me={};if(re.level!=null){L[re.r]=me;me.level=re.level}if(re.hidden){L[re.r]=me;me.hidden=true}if(re.hpt){L[re.r]=me;me.hpt=re.hpt;me.hpx=Yl(re.hpt)}}break;case"LeftMargin":;case"RightMargin":;case"TopMargin":;case"BottomMargin":if(!n["!margins"])xu(n["!margins"]={});n["!margins"][te.slice(0,-6).toLowerCase()]=re;break;case"Setup":if(!n["!margins"])xu(n["!margins"]={});n["!margins"].header=re.header;n["!margins"].footer=re.footer;break;case"Window2":if(re.RTL)T.Views[0].RTL=true;break;case"Header":break;case"Footer":break;case"HCenter":break;case"VCenter":break;case"Pls":break;case"GCW":break;case"LHRecord":break;case"DBCell":break;case"EntExU2":break;case"SxView":break;case"Sxvd":break;case"SXVI":break;case"SXVDEx":break;case"SxIvd":break;case"SXString":break;case"Sync":break;case"Addin":break;case"SXDI":break;case"SXLI":break;case"SXEx":break;case"QsiSXTag":break;case"Selection":break;case"Feat":break;case"FeatHdr":;case"FeatHdr11":break;case"Feature11":;case"Feature12":;case"List12":break;case"Country":S=re;break;case"RecalcId":break;case"DxGCol":break;case"Fbi":;case"Fbi2":;case"GelFrame":break;case"Font":break;case"XFCRC":break;case"Style":break;case"StyleExt":break;case"Palette":B=re;break;case"Theme":D=re;break;case"ScenarioProtect":break;case"ObjProtect":break;case"CondFmt12":break;case"Table":break;case"TableStyles":break;case"TableStyle":break;case"TableStyleElement":break;case"SXStreamID":break;case"SXVS":break;case"DConRef":break;case"SXAddl":break;case"DConBin":break;case"DConName":break;case"SXPI":break;case"SxFormat":break;case"SxSelect":break;case"SxRule":break;case"SxFilt":break;case"SxItm":break;case"SxDXF":break;case"ScenMan":break;case"DCon":break;case"CellWatch":break;case"PrintRowCol":break;case"PrintGrid":break;case"PrintSize":break;case"XCT":break;case"CRN":break;case"Scl":{}break;case"SheetExt":{}break;case"SheetExtOptional":{}break;case"ObNoMacros":{}break;case"ObProj":{}break;case"CodeName":{if(!c)T.WBProps.CodeName=re||"ThisWorkbook";else x.CodeName=re||x.name}break;case"GUIDTypeLib":{}break;case"WOpt":break;case"PhoneticInfo":break;case"OleObjectSize":break;case"DXF":;case"DXFN":;case"DXFN12":;case"DXFN12List":;case"DXFN12NoCB":break;case"Dv":;case"DVal":break;case"BRAI":;case"Series":;case"SeriesText":break;case"DConn":break;case"DbOrParamQry":break;case"DBQueryExt":break;case"OleDbConn":break;case"ExtString":break;case"IFmtRecord":break;case"CondFmt":;case"CF":;case"CF12":;case"CFEx":break;case"Excel9File":break;case"Units":break;case"InterfaceHdr":;case"Mms":;case"InterfaceEnd":;case"DSF":break;case"BuiltInFnGroupCount":break;case"Window1":;case"HideObj":;case"GridSet":;case"Guts":;case"UserBView":;case"UserSViewBegin":;case"UserSViewEnd":;case"Pane":break;default:switch(q.n){case"Dat":;case"Begin":;case"End":;case"StartBlock":;case"EndBlock":;case"Frame":;case"Area":;case"Axis":;case"AxisLine":;case"Tick":break;case"AxesUsed":;case"CrtLayout12":;case"CrtLayout12A":;case"CrtLink":;case"CrtLine":;case"CrtMlFrt":;case"CrtMlFrtContinue":break;case"LineFormat":;case"AreaFormat":;case"Chart":;case"Chart3d":;case"Chart3DBarShape":;case"ChartFormat":;case"ChartFrtInfo":break;case"PlotArea":;case"PlotGrowth":break;case"SeriesList":;case"SerParent":;case"SerAuxTrend":break;case"DataFormat":;case"SerToCrt":;case"FontX":break;case"CatSerRange":;case"AxcExt":;case"SerFmt":break;case"ShtProps":break;case"DefaultText":;case"Text":;case"CatLab":break;case"DataLabExtContents":break;case"Legend":;case"LegendException":break;case"Pie":;case"Scatter":break;case"PieFormat":;case"MarkerFormat":break;case"StartObject":;case"EndObject":break;case"AlRuns":;case"ObjectLink":break;case"SIIndex":break;case"AttachedLabel":;case"YMult":break;case"Line":;case"Bar":break;case"Surf":break;case"AxisParent":break;case"Pos":break;case"ValueRange":break;case"SXViewEx9":break;case"SXViewLink":break;case"PivotChartBits":break;case"SBaseRef":break;case"TextPropsStream":break;case"LnExt":break;case"MkrExt":break;case"CrtCoopt":break;case"Qsi":;case"Qsif":;case"Qsir":;case"QsiSXTag":break;case"TxtQry":break;case"FilterMode":break;case"AutoFilter":;case"AutoFilterInfo":break;case"AutoFilter12":break;case"DropDownObjIds":break;case"Sort":break;case"SortData":break;case"ShapePropsStream":break;case"MsoDrawing":;case"MsoDrawingGroup":;case"MsoDrawingSelection":break;case"WebPub":;case"AutoWebPub":break;case"HeaderFooter":;case"HFPicture":;case"PLV":;case"HorizontalPageBreaks":;case"VerticalPageBreaks":break;case"Backup":;case"CompressPictures":;case"Compat12":break;case"Continue":;case"ContinueFrt12":break;case"FrtFontList":;case"FrtWrapper":break;default:switch(q.n){case"TabIdConf":;case"Radar":;case"RadarArea":;case"DropBar":;case"Intl":;case"CoordList":;case"SerAuxErrBar":break;case"BIFF2FONTCLR":;case"BIFF2FMTCNT":;case"BIFF2FONTXTRA":break;case"BIFF2XF":;case"BIFF3XF":;case"BIFF4XF":break;case"BIFF4FMTCNT":;case"BIFF2ROW":;case"BIFF2WINDOW2":break;case"SCENARIO":;case"DConBin":;case"PicF":;case"DataLabExt":;case"Lel":;case"BopPop":;case"BopPopCustom":;case"RealTimeData":;case"Name":break;case"LHNGraph":;case"FnGroupName":;case"AddMenu":;case"LPr":break;case"ListObj":;case"ListField":break;case"RRSort":break;case"BigName":break;case"ToolbarHdr":;case"ToolbarEnd":break;case"DDEObjName":break;case"FRTArchId$":break;default:if(r.WTF)throw"Unrecognized Record "+q.n;};};};}}else e.l+=J}t.SheetNames=z(i).sort(function(e,r){return Number(e)-Number(r)}).map(function(e){return i[e].name});if(!r.bookSheets)t.Sheets=a;if(t.Sheets)K.forEach(function(e,r){t.Sheets[t.SheetNames[r]]["!autofilter"]=e});t.Preamble=u;t.Strings=f;t.SSF=I.get_table();if(F.enc)t.Encryption=F.enc;if(D)t.Themes=D;t.Metadata={};if(S!==undefined)t.Metadata.Country=S;if(W.names.length>0)T.Names=W.names;t.Workbook=T;return t}function Nv(e,r,t){var a=L.find(e,"!DocumentSummaryInformation");if(a&&a.size>0)try{var n=gn(a,fa,"02d5cdd59c2e1b10939708002b2cf9ae");for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var l=L.find(e,"!SummaryInformation");if(l&&l.size>0)try{var f=gn(l,oa,"e0859ff2f94f6810ab9108002b27b3d9");for(var o in f)if(r[o]==null)r[o]=f[o]}catch(s){if(t.WTF)throw s}}function Lv(e,r){if(!r)r={};xp(r);c();if(r.codepage)l(r.codepage);var t,a;if(e.FullPaths){if(L.find(e,"/encryption"))throw new Error("File is password-protected");t=L.find(e,"!CompObj");a=L.find(e,"/Workbook")||L.find(e,"/Book")}else{switch(r.type){case"base64":e=w(g.decode(e));break;case"binary":e=w(e);break;case"buffer":break;case"array":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}Mr(e,0);a={content:e}}var n;var i;if(t)Rv(t);if(r.bookProps&&!r.bookSheets)n={};else{var s=E?"buffer":"array";if(a&&a.content)n=Pv(a.content,r);else if((i=L.find(e,"PerfectOffice_MAIN"))&&i.content)n=zs.to_workbook(i.content,(r.type=s,r));else if((i=L.find(e,"NativeContent_MAIN"))&&i.content)n=zs.to_workbook(i.content,(r.type=s,r));else throw new Error("Cannot find Workbook stream");if(r.bookVBA&&e.FullPaths&&L.find(e,"/_VBA_PROJECT_CUR/VBA/dir"))n.vbaraw=wo(e)}var f={};if(e.FullPaths)Nv(e,f,r);n.Props=n.Custprops=f;if(r.bookFiles)n.cfb=e;return n}function Mv(e,r){var t=r||{};var a=L.utils.cfb_new({root:"R"});var n="/Workbook";switch(t.bookType||"xls"){case"xls":t.bookType="biff8";case"xla":if(!t.bookType)t.bookType="xla";case"biff8":n="/Workbook";t.biff=8;break;case"biff5":n="/Book";t.biff=5;break;default:throw new Error("invalid type "+t.bookType+" for XLS CFB");}L.utils.cfb_add(a,n,ip(e,t));if(t.biff==8&&e.vbaraw)So(a,L.read(e.vbaraw,{type:typeof e.vbaraw=="string"?"binary":"buffer"}));return a}var Uv={0:{n:"BrtRowHdr",f:ih},1:{n:"BrtCellBlank",f:dh},2:{n:"BrtCellRk",f:Sh},3:{n:"BrtCellError",f:bh},4:{n:"BrtCellBool",f:ph},5:{n:"BrtCellReal",f:kh},6:{n:"BrtCellSt",f:Ch},7:{n:"BrtCellIsst",f:gh},8:{n:"BrtFmlaString",f:Ih},9:{n:"BrtFmlaNum",f:yh},10:{n:"BrtFmlaBool",f:Th},11:{n:"BrtFmlaError",f:xh},16:{n:"BrtFRTArchID$",f:Fd},19:{n:"BrtSSTItem",f:kt},20:{n:"BrtPCDIMissing"},21:{n:"BrtPCDINumber"},22:{n:"BrtPCDIBoolean"},23:{n:"BrtPCDIError"},24:{n:"BrtPCDIString"},25:{n:"BrtPCDIDatetime"},26:{n:"BrtPCDIIndex"},27:{n:"BrtPCDIAMissing"},28:{n:"BrtPCDIANumber"},29:{n:"BrtPCDIABoolean"},30:{n:"BrtPCDIAError"},31:{n:"BrtPCDIAString"},32:{n:"BrtPCDIADatetime"},33:{n:"BrtPCRRecord"},34:{n:"BrtPCRRecordDt"},35:{n:"BrtFRTBegin"},36:{n:"BrtFRTEnd"},37:{n:"BrtACBegin"},38:{n:"BrtACEnd"},39:{n:"BrtName",f:Dd},40:{n:"BrtIndexRowBlock"},42:{n:"BrtIndexBlock"},43:{n:"BrtFont",f:uf},44:{n:"BrtFmt",f:of},45:{n:"BrtFill",f:pf},46:{n:"BrtBorder",f:kf},47:{n:"BrtXF",f:bf},48:{n:"BrtStyle"},49:{n:"BrtCellMeta"},50:{n:"BrtValueMeta"},51:{n:"BrtMdb"},52:{n:"BrtBeginFmd"},53:{n:"BrtEndFmd"},54:{n:"BrtBeginMdx"},55:{n:"BrtEndMdx"},56:{n:"BrtBeginMdxTuple"},57:{n:"BrtEndMdxTuple"},58:{n:"BrtMdxMbrIstr"},59:{n:"BrtStr"},60:{n:"BrtColInfo",f:ws},62:{n:"BrtCellRString"},63:{n:"BrtCalcChainItem$",f:ro},64:{n:"BrtDVal"},65:{n:"BrtSxvcellNum"},66:{n:"BrtSxvcellStr"},67:{n:"BrtSxvcellBool"},68:{n:"BrtSxvcellErr"},69:{n:"BrtSxvcellDate"},70:{n:"BrtSxvcellNil"},128:{n:"BrtFileVersion"},129:{n:"BrtBeginSheet"},130:{n:"BrtEndSheet"},131:{n:"BrtBeginBook",f:Ur,p:0},132:{n:"BrtEndBook"},133:{n:"BrtBeginWsViews"},134:{n:"BrtEndWsViews"},135:{n:"BrtBeginBookViews"},136:{n:"BrtEndBookViews"},137:{n:"BrtBeginWsView",f:Wh},138:{n:"BrtEndWsView"},139:{n:"BrtBeginCsViews"},140:{n:"BrtEndCsViews"},141:{n:"BrtBeginCsView"},142:{n:"BrtEndCsView"},143:{n:"BrtBeginBundleShs"},144:{n:"BrtEndBundleShs"},145:{n:"BrtBeginSheetData"},146:{n:"BrtEndSheetData"},147:{n:"BrtWsProp",f:uh},148:{n:"BrtWsDim",f:fh,p:16},151:{n:"BrtPane"},152:{n:"BrtSel"},153:{n:"BrtWbProp",f:Ad},154:{n:"BrtWbFactoid"},155:{n:"BrtFileRecover"},156:{n:"BrtBundleSh",f:yd},157:{n:"BrtCalcProp"},158:{n:"BrtBookView"},159:{n:"BrtBeginSst",f:rl},160:{n:"BrtEndSst"},161:{n:"BrtBeginAFilter",f:Lt},162:{n:"BrtEndAFilter"},163:{n:"BrtBeginFilterColumn"},164:{n:"BrtEndFilterColumn"},165:{n:"BrtBeginFilters"},166:{n:"BrtEndFilters"},167:{n:"BrtFilter"},168:{n:"BrtColorFilter"},169:{n:"BrtIconFilter"},170:{n:"BrtTop10Filter"},171:{n:"BrtDynamicFilter"},172:{n:"BrtBeginCustomFilters"},173:{n:"BrtEndCustomFilters"},174:{n:"BrtCustomFilter"},175:{n:"BrtAFilterDateGroupItem"},176:{n:"BrtMergeCell",f:Ah},177:{n:"BrtBeginMergeCells"},178:{n:"BrtEndMergeCells"},179:{n:"BrtBeginPivotCacheDef"},180:{n:"BrtEndPivotCacheDef"},181:{n:"BrtBeginPCDFields"},182:{n:"BrtEndPCDFields"},183:{n:"BrtBeginPCDField"},184:{n:"BrtEndPCDField"},185:{n:"BrtBeginPCDSource"},186:{n:"BrtEndPCDSource"},187:{n:"BrtBeginPCDSRange"},188:{n:"BrtEndPCDSRange"},189:{n:"BrtBeginPCDFAtbl"},190:{n:"BrtEndPCDFAtbl"},191:{n:"BrtBeginPCDIRun"},192:{n:"BrtEndPCDIRun" +},193:{n:"BrtBeginPivotCacheRecords"},194:{n:"BrtEndPivotCacheRecords"},195:{n:"BrtBeginPCDHierarchies"},196:{n:"BrtEndPCDHierarchies"},197:{n:"BrtBeginPCDHierarchy"},198:{n:"BrtEndPCDHierarchy"},199:{n:"BrtBeginPCDHFieldsUsage"},200:{n:"BrtEndPCDHFieldsUsage"},201:{n:"BrtBeginExtConnection"},202:{n:"BrtEndExtConnection"},203:{n:"BrtBeginECDbProps"},204:{n:"BrtEndECDbProps"},205:{n:"BrtBeginECOlapProps"},206:{n:"BrtEndECOlapProps"},207:{n:"BrtBeginPCDSConsol"},208:{n:"BrtEndPCDSConsol"},209:{n:"BrtBeginPCDSCPages"},210:{n:"BrtEndPCDSCPages"},211:{n:"BrtBeginPCDSCPage"},212:{n:"BrtEndPCDSCPage"},213:{n:"BrtBeginPCDSCPItem"},214:{n:"BrtEndPCDSCPItem"},215:{n:"BrtBeginPCDSCSets"},216:{n:"BrtEndPCDSCSets"},217:{n:"BrtBeginPCDSCSet"},218:{n:"BrtEndPCDSCSet"},219:{n:"BrtBeginPCDFGroup"},220:{n:"BrtEndPCDFGroup"},221:{n:"BrtBeginPCDFGItems"},222:{n:"BrtEndPCDFGItems"},223:{n:"BrtBeginPCDFGRange"},224:{n:"BrtEndPCDFGRange"},225:{n:"BrtBeginPCDFGDiscrete"},226:{n:"BrtEndPCDFGDiscrete"},227:{n:"BrtBeginPCDSDTupleCache"},228:{n:"BrtEndPCDSDTupleCache"},229:{n:"BrtBeginPCDSDTCEntries"},230:{n:"BrtEndPCDSDTCEntries"},231:{n:"BrtBeginPCDSDTCEMembers"},232:{n:"BrtEndPCDSDTCEMembers"},233:{n:"BrtBeginPCDSDTCEMember"},234:{n:"BrtEndPCDSDTCEMember"},235:{n:"BrtBeginPCDSDTCQueries"},236:{n:"BrtEndPCDSDTCQueries"},237:{n:"BrtBeginPCDSDTCQuery"},238:{n:"BrtEndPCDSDTCQuery"},239:{n:"BrtBeginPCDSDTCSets"},240:{n:"BrtEndPCDSDTCSets"},241:{n:"BrtBeginPCDSDTCSet"},242:{n:"BrtEndPCDSDTCSet"},243:{n:"BrtBeginPCDCalcItems"},244:{n:"BrtEndPCDCalcItems"},245:{n:"BrtBeginPCDCalcItem"},246:{n:"BrtEndPCDCalcItem"},247:{n:"BrtBeginPRule"},248:{n:"BrtEndPRule"},249:{n:"BrtBeginPRFilters"},250:{n:"BrtEndPRFilters"},251:{n:"BrtBeginPRFilter"},252:{n:"BrtEndPRFilter"},253:{n:"BrtBeginPNames"},254:{n:"BrtEndPNames"},255:{n:"BrtBeginPName"},256:{n:"BrtEndPName"},257:{n:"BrtBeginPNPairs"},258:{n:"BrtEndPNPairs"},259:{n:"BrtBeginPNPair"},260:{n:"BrtEndPNPair"},261:{n:"BrtBeginECWebProps"},262:{n:"BrtEndECWebProps"},263:{n:"BrtBeginEcWpTables"},264:{n:"BrtEndECWPTables"},265:{n:"BrtBeginECParams"},266:{n:"BrtEndECParams"},267:{n:"BrtBeginECParam"},268:{n:"BrtEndECParam"},269:{n:"BrtBeginPCDKPIs"},270:{n:"BrtEndPCDKPIs"},271:{n:"BrtBeginPCDKPI"},272:{n:"BrtEndPCDKPI"},273:{n:"BrtBeginDims"},274:{n:"BrtEndDims"},275:{n:"BrtBeginDim"},276:{n:"BrtEndDim"},277:{n:"BrtIndexPartEnd"},278:{n:"BrtBeginStyleSheet"},279:{n:"BrtEndStyleSheet"},280:{n:"BrtBeginSXView"},281:{n:"BrtEndSXVI"},282:{n:"BrtBeginSXVI"},283:{n:"BrtBeginSXVIs"},284:{n:"BrtEndSXVIs"},285:{n:"BrtBeginSXVD"},286:{n:"BrtEndSXVD"},287:{n:"BrtBeginSXVDs"},288:{n:"BrtEndSXVDs"},289:{n:"BrtBeginSXPI"},290:{n:"BrtEndSXPI"},291:{n:"BrtBeginSXPIs"},292:{n:"BrtEndSXPIs"},293:{n:"BrtBeginSXDI"},294:{n:"BrtEndSXDI"},295:{n:"BrtBeginSXDIs"},296:{n:"BrtEndSXDIs"},297:{n:"BrtBeginSXLI"},298:{n:"BrtEndSXLI"},299:{n:"BrtBeginSXLIRws"},300:{n:"BrtEndSXLIRws"},301:{n:"BrtBeginSXLICols"},302:{n:"BrtEndSXLICols"},303:{n:"BrtBeginSXFormat"},304:{n:"BrtEndSXFormat"},305:{n:"BrtBeginSXFormats"},306:{n:"BrtEndSxFormats"},307:{n:"BrtBeginSxSelect"},308:{n:"BrtEndSxSelect"},309:{n:"BrtBeginISXVDRws"},310:{n:"BrtEndISXVDRws"},311:{n:"BrtBeginISXVDCols"},312:{n:"BrtEndISXVDCols"},313:{n:"BrtEndSXLocation"},314:{n:"BrtBeginSXLocation"},315:{n:"BrtEndSXView"},316:{n:"BrtBeginSXTHs"},317:{n:"BrtEndSXTHs"},318:{n:"BrtBeginSXTH"},319:{n:"BrtEndSXTH"},320:{n:"BrtBeginISXTHRws"},321:{n:"BrtEndISXTHRws"},322:{n:"BrtBeginISXTHCols"},323:{n:"BrtEndISXTHCols"},324:{n:"BrtBeginSXTDMPS"},325:{n:"BrtEndSXTDMPs"},326:{n:"BrtBeginSXTDMP"},327:{n:"BrtEndSXTDMP"},328:{n:"BrtBeginSXTHItems"},329:{n:"BrtEndSXTHItems"},330:{n:"BrtBeginSXTHItem"},331:{n:"BrtEndSXTHItem"},332:{n:"BrtBeginMetadata"},333:{n:"BrtEndMetadata"},334:{n:"BrtBeginEsmdtinfo"},335:{n:"BrtMdtinfo"},336:{n:"BrtEndEsmdtinfo"},337:{n:"BrtBeginEsmdb"},338:{n:"BrtEndEsmdb"},339:{n:"BrtBeginEsfmd"},340:{n:"BrtEndEsfmd"},341:{n:"BrtBeginSingleCells"},342:{n:"BrtEndSingleCells"},343:{n:"BrtBeginList"},344:{n:"BrtEndList"},345:{n:"BrtBeginListCols"},346:{n:"BrtEndListCols"},347:{n:"BrtBeginListCol"},348:{n:"BrtEndListCol"},349:{n:"BrtBeginListXmlCPr"},350:{n:"BrtEndListXmlCPr"},351:{n:"BrtListCCFmla"},352:{n:"BrtListTrFmla"},353:{n:"BrtBeginExternals"},354:{n:"BrtEndExternals"},355:{n:"BrtSupBookSrc",f:Rt},357:{n:"BrtSupSelf"},358:{n:"BrtSupSame"},359:{n:"BrtSupTabs"},360:{n:"BrtBeginSupBook"},361:{n:"BrtPlaceholderName"},362:{n:"BrtExternSheet",f:Ji},363:{n:"BrtExternTableStart"},364:{n:"BrtExternTableEnd"},366:{n:"BrtExternRowHdr"},367:{n:"BrtExternCellBlank"},368:{n:"BrtExternCellReal"},369:{n:"BrtExternCellBool"},370:{n:"BrtExternCellError"},371:{n:"BrtExternCellString"},372:{n:"BrtBeginEsmdx"},373:{n:"BrtEndEsmdx"},374:{n:"BrtBeginMdxSet"},375:{n:"BrtEndMdxSet"},376:{n:"BrtBeginMdxMbrProp"},377:{n:"BrtEndMdxMbrProp"},378:{n:"BrtBeginMdxKPI"},379:{n:"BrtEndMdxKPI"},380:{n:"BrtBeginEsstr"},381:{n:"BrtEndEsstr"},382:{n:"BrtBeginPRFItem"},383:{n:"BrtEndPRFItem"},384:{n:"BrtBeginPivotCacheIDs"},385:{n:"BrtEndPivotCacheIDs"},386:{n:"BrtBeginPivotCacheID"},387:{n:"BrtEndPivotCacheID"},388:{n:"BrtBeginISXVIs"},389:{n:"BrtEndISXVIs"},390:{n:"BrtBeginColInfos"},391:{n:"BrtEndColInfos"},392:{n:"BrtBeginRwBrk"},393:{n:"BrtEndRwBrk"},394:{n:"BrtBeginColBrk"},395:{n:"BrtEndColBrk"},396:{n:"BrtBrk"},397:{n:"BrtUserBookView"},398:{n:"BrtInfo"},399:{n:"BrtCUsr"},400:{n:"BrtUsr"},401:{n:"BrtBeginUsers"},403:{n:"BrtEOF"},404:{n:"BrtUCR"},405:{n:"BrtRRInsDel"},406:{n:"BrtRREndInsDel"},407:{n:"BrtRRMove"},408:{n:"BrtRREndMove"},409:{n:"BrtRRChgCell"},410:{n:"BrtRREndChgCell"},411:{n:"BrtRRHeader"},412:{n:"BrtRRUserView"},413:{n:"BrtRRRenSheet"},414:{n:"BrtRRInsertSh"},415:{n:"BrtRRDefName"},416:{n:"BrtRRNote"},417:{n:"BrtRRConflict"},418:{n:"BrtRRTQSIF"},419:{n:"BrtRRFormat"},420:{n:"BrtRREndFormat"},421:{n:"BrtRRAutoFmt"},422:{n:"BrtBeginUserShViews"},423:{n:"BrtBeginUserShView"},424:{n:"BrtEndUserShView"},425:{n:"BrtEndUserShViews"},426:{n:"BrtArrFmla",f:Ph},427:{n:"BrtShrFmla",f:Nh},428:{n:"BrtTable"},429:{n:"BrtBeginExtConnections"},430:{n:"BrtEndExtConnections"},431:{n:"BrtBeginPCDCalcMems"},432:{n:"BrtEndPCDCalcMems"},433:{n:"BrtBeginPCDCalcMem"},434:{n:"BrtEndPCDCalcMem"},435:{n:"BrtBeginPCDHGLevels"},436:{n:"BrtEndPCDHGLevels"},437:{n:"BrtBeginPCDHGLevel"},438:{n:"BrtEndPCDHGLevel"},439:{n:"BrtBeginPCDHGLGroups"},440:{n:"BrtEndPCDHGLGroups"},441:{n:"BrtBeginPCDHGLGroup"},442:{n:"BrtEndPCDHGLGroup"},443:{n:"BrtBeginPCDHGLGMembers"},444:{n:"BrtEndPCDHGLGMembers"},445:{n:"BrtBeginPCDHGLGMember"},446:{n:"BrtEndPCDHGLGMember"},447:{n:"BrtBeginQSI"},448:{n:"BrtEndQSI"},449:{n:"BrtBeginQSIR"},450:{n:"BrtEndQSIR"},451:{n:"BrtBeginDeletedNames"},452:{n:"BrtEndDeletedNames"},453:{n:"BrtBeginDeletedName"},454:{n:"BrtEndDeletedName"},455:{n:"BrtBeginQSIFs"},456:{n:"BrtEndQSIFs"},457:{n:"BrtBeginQSIF"},458:{n:"BrtEndQSIF"},459:{n:"BrtBeginAutoSortScope"},460:{n:"BrtEndAutoSortScope"},461:{n:"BrtBeginConditionalFormatting"},462:{n:"BrtEndConditionalFormatting"},463:{n:"BrtBeginCFRule"},464:{n:"BrtEndCFRule"},465:{n:"BrtBeginIconSet"},466:{n:"BrtEndIconSet"},467:{n:"BrtBeginDatabar"},468:{n:"BrtEndDatabar"},469:{n:"BrtBeginColorScale"},470:{n:"BrtEndColorScale"},471:{n:"BrtCFVO"},472:{n:"BrtExternValueMeta"},473:{n:"BrtBeginColorPalette"},474:{n:"BrtEndColorPalette"},475:{n:"BrtIndexedColor"},476:{n:"BrtMargins",f:Uh},477:{n:"BrtPrintOptions"},478:{n:"BrtPageSetup"},479:{n:"BrtBeginHeaderFooter"},480:{n:"BrtEndHeaderFooter"},481:{n:"BrtBeginSXCrtFormat"},482:{n:"BrtEndSXCrtFormat"},483:{n:"BrtBeginSXCrtFormats"},484:{n:"BrtEndSXCrtFormats"},485:{n:"BrtWsFmtInfo",f:ch},486:{n:"BrtBeginMgs"},487:{n:"BrtEndMGs"},488:{n:"BrtBeginMGMaps"},489:{n:"BrtEndMGMaps"},490:{n:"BrtBeginMG"},491:{n:"BrtEndMG"},492:{n:"BrtBeginMap"},493:{n:"BrtEndMap"},494:{n:"BrtHLink",f:Dh},495:{n:"BrtBeginDCon"},496:{n:"BrtEndDCon"},497:{n:"BrtBeginDRefs"},498:{n:"BrtEndDRefs"},499:{n:"BrtDRef"},500:{n:"BrtBeginScenMan"},501:{n:"BrtEndScenMan"},502:{n:"BrtBeginSct"},503:{n:"BrtEndSct"},504:{n:"BrtSlc"},505:{n:"BrtBeginDXFs"},506:{n:"BrtEndDXFs"},507:{n:"BrtDXF"},508:{n:"BrtBeginTableStyles"},509:{n:"BrtEndTableStyles"},510:{n:"BrtBeginTableStyle"},511:{n:"BrtEndTableStyle"},512:{n:"BrtTableStyleElement"},513:{n:"BrtTableStyleClient"},514:{n:"BrtBeginVolDeps"},515:{n:"BrtEndVolDeps"},516:{n:"BrtBeginVolType"},517:{n:"BrtEndVolType"},518:{n:"BrtBeginVolMain"},519:{n:"BrtEndVolMain"},520:{n:"BrtBeginVolTopic"},521:{n:"BrtEndVolTopic"},522:{n:"BrtVolSubtopic"},523:{n:"BrtVolRef"},524:{n:"BrtVolNum"},525:{n:"BrtVolErr"},526:{n:"BrtVolStr"},527:{n:"BrtVolBool"},528:{n:"BrtBeginCalcChain$"},529:{n:"BrtEndCalcChain$"},530:{n:"BrtBeginSortState"},531:{n:"BrtEndSortState"},532:{n:"BrtBeginSortCond"},533:{n:"BrtEndSortCond"},534:{n:"BrtBookProtection"},535:{n:"BrtSheetProtection"},536:{n:"BrtRangeProtection"},537:{n:"BrtPhoneticInfo"},538:{n:"BrtBeginECTxtWiz"},539:{n:"BrtEndECTxtWiz"},540:{n:"BrtBeginECTWFldInfoLst"},541:{n:"BrtEndECTWFldInfoLst"},542:{n:"BrtBeginECTwFldInfo"},548:{n:"BrtFileSharing"},549:{n:"BrtOleSize"},550:{n:"BrtDrawing",f:Rt},551:{n:"BrtLegacyDrawing"},552:{n:"BrtLegacyDrawingHF"},553:{n:"BrtWebOpt"},554:{n:"BrtBeginWebPubItems"},555:{n:"BrtEndWebPubItems"},556:{n:"BrtBeginWebPubItem"},557:{n:"BrtEndWebPubItem"},558:{n:"BrtBeginSXCondFmt"},559:{n:"BrtEndSXCondFmt"},560:{n:"BrtBeginSXCondFmts"},561:{n:"BrtEndSXCondFmts"},562:{n:"BrtBkHim"},564:{n:"BrtColor"},565:{n:"BrtBeginIndexedColors"},566:{n:"BrtEndIndexedColors"},569:{n:"BrtBeginMRUColors"},570:{n:"BrtEndMRUColors"},572:{n:"BrtMRUColor"},573:{n:"BrtBeginDVals"},574:{n:"BrtEndDVals"},577:{n:"BrtSupNameStart"},578:{n:"BrtSupNameValueStart"},579:{n:"BrtSupNameValueEnd"},580:{n:"BrtSupNameNum"},581:{n:"BrtSupNameErr"},582:{n:"BrtSupNameSt"},583:{n:"BrtSupNameNil"},584:{n:"BrtSupNameBool"},585:{n:"BrtSupNameFmla"},586:{n:"BrtSupNameBits"},587:{n:"BrtSupNameEnd"},588:{n:"BrtEndSupBook"},589:{n:"BrtCellSmartTagProperty"},590:{n:"BrtBeginCellSmartTag"},591:{n:"BrtEndCellSmartTag"},592:{n:"BrtBeginCellSmartTags"},593:{n:"BrtEndCellSmartTags"},594:{n:"BrtBeginSmartTags"},595:{n:"BrtEndSmartTags"},596:{n:"BrtSmartTagType"},597:{n:"BrtBeginSmartTagTypes"},598:{n:"BrtEndSmartTagTypes"},599:{n:"BrtBeginSXFilters"},600:{n:"BrtEndSXFilters"},601:{n:"BrtBeginSXFILTER"},602:{n:"BrtEndSXFilter"},603:{n:"BrtBeginFills"},604:{n:"BrtEndFills"},605:{n:"BrtBeginCellWatches"},606:{n:"BrtEndCellWatches"},607:{n:"BrtCellWatch"},608:{n:"BrtBeginCRErrs"},609:{n:"BrtEndCRErrs"},610:{n:"BrtCrashRecErr"},611:{n:"BrtBeginFonts"},612:{n:"BrtEndFonts"},613:{n:"BrtBeginBorders"},614:{n:"BrtEndBorders"},615:{n:"BrtBeginFmts"},616:{n:"BrtEndFmts"},617:{n:"BrtBeginCellXFs"},618:{n:"BrtEndCellXFs"},619:{n:"BrtBeginStyles"},620:{n:"BrtEndStyles"},625:{n:"BrtBigName"},626:{n:"BrtBeginCellStyleXFs"},627:{n:"BrtEndCellStyleXFs"},628:{n:"BrtBeginComments"},629:{n:"BrtEndComments"},630:{n:"BrtBeginCommentAuthors"},631:{n:"BrtEndCommentAuthors"},632:{n:"BrtCommentAuthor",f:mo},633:{n:"BrtBeginCommentList"},634:{n:"BrtEndCommentList"},635:{n:"BrtBeginComment",f:vo},636:{n:"BrtEndComment"},637:{n:"BrtCommentText",f:St},638:{n:"BrtBeginOleObjects"},639:{n:"BrtOleObject"},640:{n:"BrtEndOleObjects"},641:{n:"BrtBeginSxrules"},642:{n:"BrtEndSxRules"},643:{n:"BrtBeginActiveXControls"},644:{n:"BrtActiveX"},645:{n:"BrtEndActiveXControls"},646:{n:"BrtBeginPCDSDTCEMembersSortBy"},648:{n:"BrtBeginCellIgnoreECs"},649:{n:"BrtCellIgnoreEC"},650:{n:"BrtEndCellIgnoreECs"},651:{n:"BrtCsProp",f:od},652:{n:"BrtCsPageSetup"},653:{n:"BrtBeginUserCsViews"},654:{n:"BrtEndUserCsViews"},655:{n:"BrtBeginUserCsView"},656:{n:"BrtEndUserCsView"},657:{n:"BrtBeginPcdSFCIEntries"},658:{n:"BrtEndPCDSFCIEntries"},659:{n:"BrtPCDSFCIEntry"},660:{n:"BrtBeginListParts"},661:{n:"BrtListPart"},662:{n:"BrtEndListParts"},663:{n:"BrtSheetCalcProp"},664:{n:"BrtBeginFnGroup"},665:{n:"BrtFnGroup"},666:{n:"BrtEndFnGroup"},667:{n:"BrtSupAddin"},668:{n:"BrtSXTDMPOrder"},669:{n:"BrtCsProtection"},671:{n:"BrtBeginWsSortMap"},672:{n:"BrtEndWsSortMap"},673:{n:"BrtBeginRRSort"},674:{n:"BrtEndRRSort"},675:{n:"BrtRRSortItem"},676:{n:"BrtFileSharingIso"},677:{n:"BrtBookProtectionIso"},678:{n:"BrtSheetProtectionIso"},679:{n:"BrtCsProtectionIso"},680:{n:"BrtRangeProtectionIso"},1024:{n:"BrtRwDescent"},1025:{n:"BrtKnownFonts"},1026:{n:"BrtBeginSXTupleSet"},1027:{n:"BrtEndSXTupleSet"},1028:{n:"BrtBeginSXTupleSetHeader"},1029:{n:"BrtEndSXTupleSetHeader"},1030:{n:"BrtSXTupleSetHeaderItem"},1031:{n:"BrtBeginSXTupleSetData"},1032:{n:"BrtEndSXTupleSetData"},1033:{n:"BrtBeginSXTupleSetRow"},1034:{n:"BrtEndSXTupleSetRow"},1035:{n:"BrtSXTupleSetRowItem"},1036:{n:"BrtNameExt"},1037:{n:"BrtPCDH14"},1038:{n:"BrtBeginPCDCalcMem14"},1039:{n:"BrtEndPCDCalcMem14"},1040:{n:"BrtSXTH14"},1041:{n:"BrtBeginSparklineGroup"},1042:{n:"BrtEndSparklineGroup"},1043:{n:"BrtSparkline"},1044:{n:"BrtSXDI14"},1045:{n:"BrtWsFmtInfoEx14"},1046:{n:"BrtBeginConditionalFormatting14"},1047:{n:"BrtEndConditionalFormatting14"},1048:{n:"BrtBeginCFRule14"},1049:{n:"BrtEndCFRule14"},1050:{n:"BrtCFVO14"},1051:{n:"BrtBeginDatabar14"},1052:{n:"BrtBeginIconSet14"},1053:{n:"BrtDVal14"},1054:{n:"BrtBeginDVals14"},1055:{n:"BrtColor14"},1056:{n:"BrtBeginSparklines"},1057:{n:"BrtEndSparklines"},1058:{n:"BrtBeginSparklineGroups"},1059:{n:"BrtEndSparklineGroups"},1061:{n:"BrtSXVD14"},1062:{n:"BrtBeginSXView14"},1063:{n:"BrtEndSXView14"},1064:{n:"BrtBeginSXView16"},1065:{n:"BrtEndSXView16"},1066:{n:"BrtBeginPCD14"},1067:{n:"BrtEndPCD14"},1068:{n:"BrtBeginExtConn14"},1069:{n:"BrtEndExtConn14"},1070:{n:"BrtBeginSlicerCacheIDs"},1071:{n:"BrtEndSlicerCacheIDs"},1072:{n:"BrtBeginSlicerCacheID"},1073:{n:"BrtEndSlicerCacheID"},1075:{n:"BrtBeginSlicerCache"},1076:{n:"BrtEndSlicerCache"},1077:{n:"BrtBeginSlicerCacheDef"},1078:{n:"BrtEndSlicerCacheDef"},1079:{n:"BrtBeginSlicersEx"},1080:{n:"BrtEndSlicersEx"},1081:{n:"BrtBeginSlicerEx"},1082:{n:"BrtEndSlicerEx"},1083:{n:"BrtBeginSlicer"},1084:{n:"BrtEndSlicer"},1085:{n:"BrtSlicerCachePivotTables"},1086:{n:"BrtBeginSlicerCacheOlapImpl"},1087:{n:"BrtEndSlicerCacheOlapImpl"},1088:{n:"BrtBeginSlicerCacheLevelsData"},1089:{n:"BrtEndSlicerCacheLevelsData"},1090:{n:"BrtBeginSlicerCacheLevelData"},1091:{n:"BrtEndSlicerCacheLevelData"},1092:{n:"BrtBeginSlicerCacheSiRanges"},1093:{n:"BrtEndSlicerCacheSiRanges"},1094:{n:"BrtBeginSlicerCacheSiRange"},1095:{n:"BrtEndSlicerCacheSiRange"},1096:{n:"BrtSlicerCacheOlapItem"},1097:{n:"BrtBeginSlicerCacheSelections"},1098:{n:"BrtSlicerCacheSelection"},1099:{n:"BrtEndSlicerCacheSelections"},1100:{n:"BrtBeginSlicerCacheNative"},1101:{n:"BrtEndSlicerCacheNative"},1102:{n:"BrtSlicerCacheNativeItem"},1103:{n:"BrtRangeProtection14"},1104:{n:"BrtRangeProtectionIso14"},1105:{n:"BrtCellIgnoreEC14"},1111:{n:"BrtList14"},1112:{n:"BrtCFIcon"},1113:{n:"BrtBeginSlicerCachesPivotCacheIDs"},1114:{n:"BrtEndSlicerCachesPivotCacheIDs"},1115:{n:"BrtBeginSlicers"},1116:{n:"BrtEndSlicers"},1117:{n:"BrtWbProp14"},1118:{n:"BrtBeginSXEdit"},1119:{n:"BrtEndSXEdit"},1120:{n:"BrtBeginSXEdits"},1121:{n:"BrtEndSXEdits"},1122:{n:"BrtBeginSXChange"},1123:{n:"BrtEndSXChange"},1124:{n:"BrtBeginSXChanges"},1125:{n:"BrtEndSXChanges"},1126:{n:"BrtSXTupleItems"},1128:{n:"BrtBeginSlicerStyle"},1129:{n:"BrtEndSlicerStyle"},1130:{n:"BrtSlicerStyleElement"},1131:{n:"BrtBeginStyleSheetExt14"},1132:{n:"BrtEndStyleSheetExt14"},1133:{n:"BrtBeginSlicerCachesPivotCacheID"},1134:{n:"BrtEndSlicerCachesPivotCacheID"},1135:{n:"BrtBeginConditionalFormattings"},1136:{n:"BrtEndConditionalFormattings"},1137:{n:"BrtBeginPCDCalcMemExt"},1138:{n:"BrtEndPCDCalcMemExt"},1139:{n:"BrtBeginPCDCalcMemsExt"},1140:{n:"BrtEndPCDCalcMemsExt"},1141:{n:"BrtPCDField14"},1142:{n:"BrtBeginSlicerStyles"},1143:{n:"BrtEndSlicerStyles"},1144:{n:"BrtBeginSlicerStyleElements"},1145:{n:"BrtEndSlicerStyleElements"},1146:{n:"BrtCFRuleExt"},1147:{n:"BrtBeginSXCondFmt14"},1148:{n:"BrtEndSXCondFmt14"},1149:{n:"BrtBeginSXCondFmts14"},1150:{n:"BrtEndSXCondFmts14"},1152:{n:"BrtBeginSortCond14"},1153:{n:"BrtEndSortCond14"},1154:{n:"BrtEndDVals14"},1155:{n:"BrtEndIconSet14"},1156:{n:"BrtEndDatabar14"},1157:{n:"BrtBeginColorScale14"},1158:{n:"BrtEndColorScale14"},1159:{n:"BrtBeginSxrules14"},1160:{n:"BrtEndSxrules14"},1161:{n:"BrtBeginPRule14"},1162:{n:"BrtEndPRule14"},1163:{n:"BrtBeginPRFilters14"},1164:{n:"BrtEndPRFilters14"},1165:{n:"BrtBeginPRFilter14"},1166:{n:"BrtEndPRFilter14"},1167:{n:"BrtBeginPRFItem14"},1168:{n:"BrtEndPRFItem14"},1169:{n:"BrtBeginCellIgnoreECs14"},1170:{n:"BrtEndCellIgnoreECs14"},1171:{n:"BrtDxf14"},1172:{n:"BrtBeginDxF14s"},1173:{n:"BrtEndDxf14s"},1177:{n:"BrtFilter14"},1178:{n:"BrtBeginCustomFilters14"},1180:{n:"BrtCustomFilter14"},1181:{n:"BrtIconFilter14"},1182:{n:"BrtPivotCacheConnectionName"},2048:{n:"BrtBeginDecoupledPivotCacheIDs"},2049:{n:"BrtEndDecoupledPivotCacheIDs"},2050:{n:"BrtDecoupledPivotCacheID"},2051:{n:"BrtBeginPivotTableRefs"},2052:{n:"BrtEndPivotTableRefs"},2053:{n:"BrtPivotTableRef"},2054:{n:"BrtSlicerCacheBookPivotTables"},2055:{n:"BrtBeginSxvcells"},2056:{n:"BrtEndSxvcells"},2057:{n:"BrtBeginSxRow"},2058:{n:"BrtEndSxRow"},2060:{n:"BrtPcdCalcMem15"},2067:{n:"BrtQsi15"},2068:{n:"BrtBeginWebExtensions"},2069:{n:"BrtEndWebExtensions"},2070:{n:"BrtWebExtension"},2071:{n:"BrtAbsPath15"},2072:{n:"BrtBeginPivotTableUISettings"},2073:{n:"BrtEndPivotTableUISettings"},2075:{n:"BrtTableSlicerCacheIDs"},2076:{n:"BrtTableSlicerCacheID"},2077:{n:"BrtBeginTableSlicerCache"},2078:{n:"BrtEndTableSlicerCache"},2079:{n:"BrtSxFilter15"},2080:{n:"BrtBeginTimelineCachePivotCacheIDs"},2081:{n:"BrtEndTimelineCachePivotCacheIDs"},2082:{n:"BrtTimelineCachePivotCacheID"},2083:{n:"BrtBeginTimelineCacheIDs"},2084:{n:"BrtEndTimelineCacheIDs"},2085:{n:"BrtBeginTimelineCacheID"},2086:{n:"BrtEndTimelineCacheID"},2087:{n:"BrtBeginTimelinesEx"},2088:{n:"BrtEndTimelinesEx"},2089:{n:"BrtBeginTimelineEx"},2090:{n:"BrtEndTimelineEx"},2091:{n:"BrtWorkBookPr15"},2092:{n:"BrtPCDH15"},2093:{n:"BrtBeginTimelineStyle"},2094:{n:"BrtEndTimelineStyle"},2095:{n:"BrtTimelineStyleElement"},2096:{n:"BrtBeginTimelineStylesheetExt15"},2097:{n:"BrtEndTimelineStylesheetExt15"},2098:{n:"BrtBeginTimelineStyles"},2099:{n:"BrtEndTimelineStyles"},2100:{n:"BrtBeginTimelineStyleElements"},2101:{n:"BrtEndTimelineStyleElements"},2102:{n:"BrtDxf15"},2103:{n:"BrtBeginDxfs15"},2104:{n:"brtEndDxfs15"},2105:{n:"BrtSlicerCacheHideItemsWithNoData"},2106:{n:"BrtBeginItemUniqueNames"},2107:{n:"BrtEndItemUniqueNames"},2108:{n:"BrtItemUniqueName"},2109:{n:"BrtBeginExtConn15"},2110:{n:"BrtEndExtConn15"},2111:{n:"BrtBeginOledbPr15"},2112:{n:"BrtEndOledbPr15"},2113:{n:"BrtBeginDataFeedPr15"},2114:{n:"BrtEndDataFeedPr15"},2115:{n:"BrtTextPr15"},2116:{n:"BrtRangePr15"},2117:{n:"BrtDbCommand15"},2118:{n:"BrtBeginDbTables15"},2119:{n:"BrtEndDbTables15"},2120:{n:"BrtDbTable15"},2121:{n:"BrtBeginDataModel"},2122:{n:"BrtEndDataModel"},2123:{n:"BrtBeginModelTables"},2124:{n:"BrtEndModelTables"},2125:{n:"BrtModelTable"},2126:{n:"BrtBeginModelRelationships"},2127:{n:"BrtEndModelRelationships"},2128:{n:"BrtModelRelationship"},2129:{n:"BrtBeginECTxtWiz15"},2130:{n:"BrtEndECTxtWiz15"},2131:{n:"BrtBeginECTWFldInfoLst15"},2132:{n:"BrtEndECTWFldInfoLst15"},2133:{n:"BrtBeginECTWFldInfo15"},2134:{n:"BrtFieldListActiveItem"},2135:{n:"BrtPivotCacheIdVersion"},2136:{n:"BrtSXDI15"},2137:{n:"BrtBeginModelTimeGroupings"},2138:{n:"BrtEndModelTimeGroupings"},2139:{n:"BrtBeginModelTimeGrouping"},2140:{n:"BrtEndModelTimeGrouping"},2141:{n:"BrtModelTimeGroupingCalcCol"},3073:{n:"BrtRevisionPtr"},65535:{n:""}};var Hv=X(Uv,"n");var Wv={3:{n:"BIFF2NUM",f:As},4:{n:"BIFF2STR",f:Is},6:{n:"Formula",f:ou},9:{n:"BOF",f:li},10:{n:"EOF",f:En},12:{n:"CalcCount",f:Cn},13:{n:"CalcMode",f:Cn},14:{n:"CalcPrecision",f:Sn},15:{n:"CalcRefMode",f:Sn},16:{n:"CalcDelta",f:Ut},17:{n:"CalcIter",f:Sn},18:{n:"Protect",f:Sn},19:{n:"Password",f:Cn},20:{n:"Header",f:Ki},21:{n:"Footer",f:Ki},23:{n:"ExternSheet",f:Ji},24:{n:"Lbl",f:Qi},25:{n:"WinProtect",f:Sn},26:{n:"VerticalPageBreaks"},27:{n:"HorizontalPageBreaks"},28:{n:"Note",f:is},29:{n:"Selection"},34:{n:"Date1904",f:Sn},35:{n:"ExternName",f:$i},38:{n:"LeftMargin",f:Ut},39:{n:"RightMargin",f:Ut},40:{n:"TopMargin",f:Ut},41:{n:"BottomMargin",f:Ut},42:{n:"PrintRowCol",f:Sn},43:{n:"PrintGrid",f:Sn},47:{n:"FilePass",f:yl},49:{n:"Font",f:Bi},51:{n:"PrintSize",f:Cn},60:{n:"Continue"},61:{n:"Window1",f:wi},64:{n:"Backup",f:Sn},65:{n:"Pane"},66:{n:"CodePage",f:Cn},77:{n:"Pls"},80:{n:"DCon"},81:{n:"DConRef"},82:{n:"DConName"},85:{n:"DefColWidth",f:Cn},89:{n:"XCT"},90:{n:"CRN"},91:{n:"FileSharing"},92:{n:"WriteAccess",f:ci},93:{n:"Obj",f:fs},94:{n:"Uncalced"},95:{n:"CalcSaveRecalc",f:Sn},96:{n:"Template"},97:{n:"Intl"},99:{n:"ObjProtect",f:Sn},125:{n:"ColInfo",f:ws},128:{n:"Guts",f:Wi},129:{n:"WsBool",f:hi},130:{n:"GridSet",f:Cn},131:{n:"HCenter",f:Sn},132:{n:"VCenter",f:Sn},133:{n:"BoundSheet8",f:di},134:{n:"WriteProtect"},140:{n:"Country",f:ms},141:{n:"HideObj",f:Cn},144:{n:"Sort"},146:{n:"Palette",f:Es},151:{n:"Sync"},152:{n:"LPr"},153:{n:"DxGCol"},154:{n:"FnGroupName"},155:{n:"FilterMode"},156:{n:"BuiltInFnGroupCount",f:Cn},157:{n:"AutoFilterInfo"},158:{n:"AutoFilter"},160:{n:"Scl",f:Ts},161:{n:"Setup",f:Ss},174:{n:"ScenMan"},175:{n:"SCENARIO"},176:{n:"SxView"},177:{n:"Sxvd"},178:{n:"SXVI"},180:{n:"SxIvd"},181:{n:"SXLI"},182:{n:"SXPI"},184:{n:"DocRoute"},185:{n:"RecipName"},189:{n:"MulRk",f:Ni},190:{n:"MulBlank",f:Li},193:{n:"Mms",f:En},197:{n:"SXDI"},198:{n:"SXDB"},199:{n:"SXFDB"},200:{n:"SXDBB"},201:{n:"SXNum"},202:{n:"SxBool",f:Sn},203:{n:"SxErr"},204:{n:"SXInt"},205:{n:"SXString"},206:{n:"SXDtr"},207:{n:"SxNil"},208:{n:"SXTbl"},209:{n:"SXTBRGIITM"},210:{n:"SxTbpg"},211:{n:"ObProj"},213:{n:"SXStreamID"},215:{n:"DBCell"},216:{n:"SXRng"},217:{n:"SxIsxoper"},218:{n:"BookBool",f:Cn},220:{n:"DbOrParamQry"},221:{n:"ScenarioProtect",f:Sn},222:{n:"OleObjectSize"},224:{n:"XF",f:Ui},225:{n:"InterfaceHdr",f:oi},226:{n:"InterfaceEnd",f:En},227:{n:"SXVS"},229:{n:"MergeCells",f:ss},233:{n:"BkHim"},235:{n:"MsoDrawingGroup"},236:{n:"MsoDrawing"},237:{n:"MsoDrawingSelection"},239:{n:"PhoneticInfo"},240:{n:"SxRule"},241:{n:"SXEx"},242:{n:"SxFilt"},244:{n:"SxDXF"},245:{n:"SxItm"},246:{n:"SxName"},247:{n:"SxSelect"},248:{n:"SXPair"},249:{n:"SxFmla"},251:{n:"SxFormat"},252:{n:"SST",f:pi},253:{n:"LabelSst",f:xi},255:{n:"ExtSST",f:mi},256:{n:"SXVDEx"},259:{n:"SXFormula"},290:{n:"SXDBEx"},311:{n:"RRDInsDel"},312:{n:"RRDHead"},315:{n:"RRDChgCell"},317:{n:"RRTabId",f:Tn},318:{n:"RRDRenSheet"},319:{n:"RRSort"},320:{n:"RRDMove"},330:{n:"RRFormat"},331:{n:"RRAutoFmt"},333:{n:"RRInsertSh"},334:{n:"RRDMoveBegin"},335:{n:"RRDMoveEnd"},336:{n:"RRDInsDelBegin"},337:{n:"RRDInsDelEnd"},338:{n:"RRDConflict"},339:{n:"RRDDefName"},340:{n:"RRDRstEtxp"},351:{n:"LRng"},352:{n:"UsesELFs",f:Sn},353:{n:"DSF",f:En},401:{n:"CUsr"},402:{n:"CbUsr"},403:{n:"UsrInfo"},404:{n:"UsrExcl"},405:{n:"FileLock"},406:{n:"RRDInfo"},407:{n:"BCUsrs"},408:{n:"UsrChk"},425:{n:"UserBView"},426:{n:"UserSViewBegin"},427:{n:"UserSViewEnd"},428:{n:"RRDUserView"},429:{n:"Qsi"},430:{n:"SupBook",f:Yi},431:{n:"Prot4Rev",f:Sn},432:{n:"CondFmt"},433:{n:"CF"},434:{n:"DVal"},437:{n:"DConBin"},438:{n:"TxO",f:us},439:{n:"RefreshAll",f:Sn},440:{n:"HLink",f:hs},441:{n:"Lel"},442:{n:"CodeName",f:Fn},443:{n:"SXFDBType"},444:{n:"Prot4RevPass",f:Cn},445:{n:"ObNoMacros"},446:{n:"Dv"},448:{n:"Excel9File",f:En},449:{n:"RecalcId",f:Ei,r:2},450:{n:"EntExU2",f:En},512:{n:"Dimensions",f:Di},513:{n:"Blank",f:Bs},515:{n:"Number",f:Gi},516:{n:"Label",f:yi},517:{n:"BoolErr",f:zi},518:{n:"Formula",f:ou},519:{n:"String",f:xs},520:{n:"Row",f:bi},523:{n:"Index"},545:{n:"Array",f:ts},549:{n:"DefaultRowHeight",f:ki},566:{n:"Table"},574:{n:"Window2",f:_i},638:{n:"RK",f:Pi},659:{n:"Style"},1030:{n:"Formula",f:ou},1048:{n:"BigName"},1054:{n:"Format",f:Ai},1084:{n:"ContinueBigName"},1212:{n:"ShrFmla",f:rs},2048:{n:"HLinkTooltip",f:vs},2049:{n:"WebPub"},2050:{n:"QsiSXTag"},2051:{n:"DBQueryExt"},2052:{n:"ExtString"},2053:{n:"TxtQry"},2054:{n:"Qsir"},2055:{n:"Qsif"},2056:{n:"RRDTQSIF"},2057:{n:"BOF",f:li},2058:{n:"OleDbConn"},2059:{n:"WOpt"},2060:{n:"SXViewEx"},2061:{n:"SXTH"},2062:{n:"SXPIEx"},2063:{n:"SXVDTEx"},2064:{n:"SXViewEx9"},2066:{n:"ContinueFrt"},2067:{n:"RealTimeData"},2128:{n:"ChartFrtInfo"},2129:{n:"FrtWrapper"},2130:{n:"StartBlock"},2131:{n:"EndBlock"},2132:{n:"StartObject"},2133:{n:"EndObject"},2134:{n:"CatLab"},2135:{n:"YMult"},2136:{n:"SXViewLink"},2137:{n:"PivotChartBits"},2138:{n:"FrtFontList"},2146:{n:"SheetExt"},2147:{n:"BookExt",r:12},2148:{n:"SXAddl"},2149:{n:"CrErr"},2150:{n:"HFPicture"},2151:{n:"FeatHdr",f:En},2152:{n:"Feat"},2154:{n:"DataLabExt"},2155:{n:"DataLabExtContents"},2156:{n:"CellWatch"},2161:{n:"FeatHdr11"},2162:{n:"Feature11"},2164:{n:"DropDownObjIds"},2165:{n:"ContinueFrt11"},2166:{n:"DConn"},2167:{n:"List12"},2168:{n:"Feature12"},2169:{n:"CondFmt12"},2170:{n:"CF12"},2171:{n:"CFEx"},2172:{n:"XFCRC",f:ks,r:12},2173:{n:"XFExt",f:Jf,r:12},2174:{n:"AutoFilter12"},2175:{n:"ContinueFrt12"},2180:{n:"MDTInfo"},2181:{n:"MDXStr"},2182:{n:"MDXTuple"},2183:{n:"MDXSet"},2184:{n:"MDXProp"},2185:{n:"MDXKPI"},2186:{n:"MDB"},2187:{n:"PLV"},2188:{n:"Compat12",f:Sn,r:12},2189:{n:"DXF"},2190:{n:"TableStyles",r:12},2191:{n:"TableStyle"},2192:{n:"TableStyleElement"},2194:{n:"StyleExt"},2195:{n:"NamePublish"},2196:{n:"NameCmt",f:es,r:12},2197:{n:"SortData"},2198:{n:"Theme",f:jf,r:12},2199:{n:"GUIDTypeLib"},2200:{n:"FnGrp12"},2201:{n:"NameFnGrp12"},2202:{n:"MTRSettings",f:as,r:12},2203:{n:"CompressPictures",f:En},2204:{n:"HeaderFooter"},2205:{n:"CrtLayout12"},2206:{n:"CrtMlFrt"},2207:{n:"CrtMlFrtContinue"},2211:{n:"ForceFullCalculation",f:gi},2212:{n:"ShapePropsStream"},2213:{n:"TextPropsStream"},2214:{n:"RichTextStream"},2215:{n:"CrtLayout12A"},4097:{n:"Units"},4098:{n:"Chart"},4099:{n:"Series"},4102:{n:"DataFormat"},4103:{n:"LineFormat"},4105:{n:"MarkerFormat"},4106:{n:"AreaFormat"},4107:{n:"PieFormat"},4108:{n:"AttachedLabel"},4109:{n:"SeriesText"},4116:{n:"ChartFormat"},4117:{n:"Legend"},4118:{n:"SeriesList"},4119:{n:"Bar"},4120:{n:"Line"},4121:{n:"Pie"},4122:{n:"Area"},4123:{n:"Scatter"},4124:{n:"CrtLine"},4125:{n:"Axis"},4126:{n:"Tick"},4127:{n:"ValueRange"},4128:{n:"CatSerRange"},4129:{n:"AxisLine"},4130:{n:"CrtLink"},4132:{n:"DefaultText"},4133:{n:"Text"},4134:{n:"FontX",f:Cn},4135:{n:"ObjectLink"},4146:{n:"Frame"},4147:{n:"Begin"},4148:{n:"End"},4149:{n:"PlotArea"},4154:{n:"Chart3d"},4156:{n:"PicF"},4157:{n:"DropBar"},4158:{n:"Radar"},4159:{n:"Surf"},4160:{n:"RadarArea"},4161:{n:"AxisParent"},4163:{n:"LegendException"},4164:{n:"ShtProps",f:_s},4165:{n:"SerToCrt"},4166:{n:"AxesUsed"},4168:{n:"SBaseRef"},4170:{n:"SerParent"},4171:{n:"SerAuxTrend"},4174:{n:"IFmtRecord"},4175:{n:"Pos"},4176:{n:"AlRuns"},4177:{n:"BRAI"},4187:{n:"SerAuxErrBar"},4188:{n:"ClrtClient",f:gs},4189:{n:"SerFmt"},4191:{n:"Chart3DBarShape"},4192:{n:"Fbi"},4193:{n:"BopPop"},4194:{n:"AxcExt"},4195:{n:"Dat"},4196:{n:"PlotGrowth"},4197:{n:"SIIndex"},4198:{n:"GelFrame"},4199:{n:"BopPopCustom"},4200:{n:"Fbi2"},0:{n:"Dimensions",f:Di},2:{n:"BIFF2INT",f:Fs},5:{n:"BoolErr",f:zi},7:{n:"String",f:Os},8:{n:"BIFF2ROW"},11:{n:"Index"},22:{n:"ExternCount",f:Cn},30:{n:"BIFF2FORMAT",f:Fi},31:{n:"BIFF2FMTCNT"},32:{n:"BIFF2COLINFO"},33:{n:"Array",f:ts},37:{n:"DefaultRowHeight",f:ki},50:{n:"BIFF2FONTXTRA",f:Ps},52:{n:"DDEObjName"},62:{n:"BIFF2WINDOW2"},67:{n:"BIFF2XF"},69:{n:"BIFF2FONTCLR"},86:{n:"BIFF4FMTCNT"},126:{n:"RK"},127:{n:"ImData",f:ys},135:{n:"Addin"},136:{n:"Edg"},137:{n:"Pub"},145:{n:"Sub"},148:{n:"LHRecord"},149:{n:"LHNGraph"},150:{n:"Sound"},169:{n:"CoordList"},171:{n:"GCW"},188:{n:"ShrFmla"},191:{n:"ToolbarHdr"},192:{n:"ToolbarEnd"},194:{n:"AddMenu"},195:{n:"DelMenu"},214:{n:"RString",f:Ns},223:{n:"UDDesc"},234:{n:"TabIdConf"},354:{n:"XL5Modify"},421:{n:"FileSharing2"},521:{n:"BOF",f:li},536:{n:"Lbl",f:Qi},547:{n:"ExternName",f:$i},561:{n:"Font"},579:{n:"BIFF3XF"},1033:{n:"BOF",f:li},1091:{n:"BIFF4XF"},2157:{n:"FeatInfo"},2163:{n:"FeatInfo11"},2177:{n:"SXAddl12"},2240:{n:"AutoWebPub"},2241:{n:"ListObj"},2242:{n:"ListField"},2243:{n:"ListDV"},2244:{n:"ListCondFmt"},2245:{n:"ListCF"},2246:{n:"FMQry"},2247:{n:"FMSQry"},2248:{n:"PLV"},2249:{n:"LnExt"},2250:{n:"MkrExt"},2251:{n:"CrtCoopt"},2262:{n:"FRTArchId$",r:12},29282:{}};var Vv=X(Wv,"n");function zv(e,r,t,a){var n=+r||+Vv[r];if(isNaN(n))return;var i=a||(t||[]).length||0;var s=e.next(4);s._W(2,n);s._W(2,i);if(i>0&&Br(t))e.push(t)}function Xv(e,r,t){if(!e)e=Hr(7);e._W(2,r);e._W(2,t);e._W(2,0);e._W(1,0);return e}function Gv(e,r,t,a){var n=Hr(9);Xv(n,e,r);if(a=="e"){n._W(1,t);n._W(1,1)}else{n._W(1,t?1:0);n._W(1,0)}return n}function jv(e,r,t){var a=Hr(8+2*t.length);Xv(a,e,r);a._W(1,t.length);a._W(t.length,t,"sbcs");return a.l=0&&n<65536)zv(e,2,Ds(t,a,n));else zv(e,3,Rs(t,a,n));return;case"b":;case"e":zv(e,5,Gv(t,a,r.v,r.t));return;case"s":;case"str":zv(e,4,jv(t,a,r.v));return;}zv(e,1,Xv(null,t,a))}function Yv(e,r,t,a){var n=Array.isArray(r);var i=ot(r["!ref"]||"A1"),s,l="",f=[];for(var o=i.s.r;o<=i.e.r;++o){l=Qr(o);for(var c=i.s.c;c<=i.e.c;++c){if(o===i.s.r)f[c]=rt(c);s=f[c]+l;var u=n?(r[o]||[])[c]:r[s];if(!u)continue;Kv(e,u,o,c,a)}}}function $v(e,r){var t=r||{};if(m!=null&&t.dense==null)t.dense=m;var a=Vr();var n=0;for(var i=0;i");var i=e.match(/<\/table/i);var s=n.index,l=i&&i.index||e.length;var f=oe(e.slice(s,l),/(:?]*>)/i,"");var o=-1,c=0,u=0,h=0;var d={s:{r:1e7,c:1e7},e:{r:0,c:0}};var v=[];for(s=0;s/i);for(l=0;l"))>-1)k=k.slice(w+1);var S=Ce(E.slice(0,E.indexOf(">")));h=S.colspan?+S.colspan:1;if((u=+S.rowspan)>0||h>1)v.push({s:{r:o,c:c},e:{r:o+(u||1)-1,c:c+h-1}});var _=S.t||"";if(!k.length){c+=h;continue}k=Ge(ye(k));if(d.s.r>o)d.s.r=o;if(d.e.rc)d.s.c=c;if(d.e.c':"")+"";for(var l=r.s.c;l<=r.e.c;++l){var f=0,o=0;for(var c=0;ct||n[c].s.c>l)continue;if(n[c].e.r1)v.rowspan=f;if(o>1)v.colspan=o;v.t=h.t;if(a.editable)d=''+d+"";v.id="sjs-"+u;i.push(qe("td",d,v))}var p="";return p+i.join("")+""}function a(e,r,t){var a=[];return a.join("")+""}var n='SheetJS Table Export';var i="";function s(e,r){var s=r||{};var l=s.header!=null?s.header:n;var f=s.footer!=null?s.footer:i;var o=[l];var c=lt(e["!ref"]);s.dense=Array.isArray(e);o.push(a(e,c,s));for(var u=c.s.r;u<=c.e.r;++u)o.push(t(e,c,u,s));o.push(""+f);return o.join("")}return{to_workbook:r,to_sheet:e,_row:t,BEGIN:n,END:i,_preamble:a,from_sheet:s}}();function lp(e,r){var t=r||{};if(m!=null)t.dense=m;var a=t.dense?[]:{};var n=e.getElementsByTagName("tr");var i={s:{r:0,c:0},e:{r:n.length-1,c:0}};var s=[],l=0;var f=0,o=0,c=0,u=0,h=0;for(;f0||h>1)s.push({s:{r:f,c:c},e:{r:f+(u||1)-1,c:c+h-1}});var E={t:"s",v:b};var k=p.getAttribute("t")||"";if(b!=null){if(b.length==0)E.t=k||"z";else if(t.raw||b.trim().length==0||k=="s"){}else if(b==="TRUE")E={t:"b",v:true};else if(b==="FALSE")E={t:"b",v:false};else if(!isNaN(se(b)))E={t:"n",v:se(b)};else if(!isNaN(le(b).getDate())){E={t:"d",v:te(b)};if(!t.cellDates)E={t:"n",v:Q(E.v)};E.z=t.dateNF||I._table[14]}}if(t.dense){if(!a[f])a[f]=[];a[f][c]=E}else a[st({c:c,r:f})]=E;if(i.e.c/g," ").replace(//g,function(e,r){return Array(parseInt(r,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n").replace(/<[^>]*>/g,""))};var r={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};return function t(a,n){var i=n||{};if(m!=null&&i.dense==null)i.dense=m;var s=vv(a);var l=[],f;var o;var c={name:""},u="",h=0;var d;var v;var p={},b=[];var g=i.dense?[]:{};var E,k;var w={value:""};var S="",_=0,C;var B=-1,T=-1,x={s:{r:1e6,c:1e7},e:{r:0,c:0}};var y=0;var I={};var A=[],R={},F=0,D=0;var O=[],P=1,N=1;var L=[];var M={Names:[]};var U={};var H=["",""];var W=[],V={};var z="",X=0;var G=false,j=false;var K=0;pv.lastIndex=0;s=s.replace(//gm,"").replace(//gm,"");while(E=pv.exec(s))switch(E[3]=E[3].replace(/_.*$/,"")){case"table":;case"工作表":if(E[1]==="/"){if(x.e.c>=x.s.c&&x.e.r>=x.s.r)g["!ref"]=ft(x);if(A.length)g["!merges"]=A;if(O.length)g["!rows"]=O;d.name=Ue(d["名称"]||d.name);b.push(d.name);p[d.name]=g;j=false}else if(E[0].charAt(E[0].length-2)!=="/"){d=Ce(E[0],false);B=T=-1;x.s.r=x.s.c=1e7;x.e.r=x.e.c=0;g=i.dense?[]:{};A=[];O=[];j=true}break;case"table-row-group":if(E[1]==="/")--y;else++y;break;case"table-row":;case"行":if(E[1]==="/"){B+=P;P=1;break}v=Ce(E[0],false);if(v["行号"])B=v["行号"]-1;else if(B==-1)B=0;P=+v["number-rows-repeated"]||1;if(P<10)for(K=0;K0)O[B+K]={level:y};T=-1;break;case"covered-table-cell":++T;if(i.sheetStubs){if(i.dense){if(!g[B])g[B]=[];g[B][T]={t:"z"}}else g[st({r:B,c:T})]={t:"z"}}break;case"table-cell":;case"数据":if(E[0].charAt(E[0].length-2)==="/"){++T;w=Ce(E[0],false);N=parseInt(w["number-columns-repeated"]||"1",10);k={t:"z",v:null};if(w.formula&&i.cellFormula!=false)k.f=Eu(ye(w.formula));if((w["数据类型"]||w["value-type"])=="string"){k.t="s";k.v=ye(w["string-value"]||"");if(i.dense){if(!g[B])g[B]=[];g[B][T]=k}else{g[st({r:B,c:T})]=k}}T+=N-1}else if(E[1]!=="/"){++T;N=1;var Y=P?B+P-1:B;if(T>x.e.c)x.e.c=T;if(Tx.e.r)x.e.r=Y;w=Ce(E[0],false);W=[];V={};k={t:w["数据类型"]||w["value-type"],v:null};if(i.cellFormula){if(w.formula)w.formula=ye(w.formula);if(w["number-matrix-columns-spanned"]&&w["number-matrix-rows-spanned"]){F=parseInt(w["number-matrix-rows-spanned"],10)||0;D=parseInt(w["number-matrix-columns-spanned"],10)||0;R={s:{r:B,c:T},e:{r:B+F-1,c:T+D-1}};k.F=ft(R);L.push([R,k.F])}if(w.formula)k.f=Eu(w.formula);else for(K=0;K=L[K][0].s.r&&B<=L[K][0].e.r)if(T>=L[K][0].s.c&&T<=L[K][0].e.c)k.F=L[K][1]}if(w["number-columns-spanned"]||w["number-rows-spanned"]){F=parseInt(w["number-rows-spanned"],10)||0;D=parseInt(w["number-columns-spanned"],10)||0;R={s:{r:B,c:T},e:{r:B+F-1,c:T+D-1}};A.push(R)}if(w["number-columns-repeated"])N=parseInt(w["number-columns-repeated"],10);switch(k.t){case"boolean":k.t="b";k.v=Me(w["boolean-value"]);break;case"float":k.t="n";k.v=parseFloat(w.value);break;case"percentage":k.t="n";k.v=parseFloat(w.value);break;case"currency":k.t="n";k.v=parseFloat(w.value);break;case"date":k.t="d";k.v=te(w["date-value"]);if(!i.cellDates){k.t="n";k.v=Q(k.v)}k.z="m/d/yy";break;case"time":k.t="n";k.v=q(w["time-value"])/86400;break;case"number":k.t="n";k.v=parseFloat(w["数据数值"]);break;default:if(k.t==="string"||k.t==="text"||!k.t){k.t="s";if(w["string-value"]!=null)S=ye(w["string-value"])}else throw new Error("Unsupported value type "+k.t);}}else{G=false;if(k.t==="s"){k.v=S||"";G=_==0}if(U.Target)k.l=U;if(W.length>0){k.c=W;W=[]}if(S&&i.cellText!==false)k.w=S;if(!G||i.sheetStubs){if(!(i.sheetRows&&i.sheetRows0)g[B+$][T+N]=ne(k)}else{g[st({r:B+$,c:T})]=k;while(--N>0)g[st({r:B+$,c:T+N})]=ne(k)}if(x.e.c<=T)x.e.c=T}}}N=parseInt(w["number-columns-repeated"]||"1",10);T+=N-1;N=0;k={};S=""}U={};break;case"document":;case"document-content":;case"电子表格文档":;case"spreadsheet":;case"主体":;case"scripts":;case"styles":;case"font-face-decls":if(E[1]==="/"){if((f=l.pop())[0]!==E[3])throw"Bad state: "+f}else if(E[0].charAt(E[0].length-2)!=="/")l.push([E[3],true]);break;case"annotation":if(E[1]==="/"){if((f=l.pop())[0]!==E[3])throw"Bad state: "+f;V.t=S;V.a=z;W.push(V)}else if(E[0].charAt(E[0].length-2)!=="/"){l.push([E[3],false])}z="";X=0;S="";_=0;break;case"creator":if(E[1]==="/"){z=s.slice(X,E.index)}else X=E.index+E[0].length;break;case"meta":;case"元数据":;case"settings":;case"config-item-set":;case"config-item-map-indexed":;case"config-item-map-entry":;case"config-item-map-named":;case"shapes":;case"frame":;case"text-box":;case"image":;case"data-pilot-tables":;case"list-style":;case"form":;case"dde-links":;case"event-listeners":;case"chart":if(E[1]==="/"){if((f=l.pop())[0]!==E[3])throw"Bad state: "+f}else if(E[0].charAt(E[0].length-2)!=="/")l.push([E[3],false]);S="";_=0;break;case"scientific-number":break;case"currency-symbol":break;case"currency-style":break;case"number-style":;case"percentage-style":;case"date-style":;case"time-style":if(E[1]==="/"){I[c.name]=u;if((f=l.pop())[0]!==E[3])throw"Bad state: "+f}else if(E[0].charAt(E[0].length-2)!=="/"){u="";c=Ce(E[0],false);l.push([E[3],true])}break;case"script":break;case"libraries":break;case"automatic-styles":break;case"master-styles":break;case"default-style":;case"page-layout":break;case"style":break;case"map":break;case"font-face":break;case"paragraph-properties":break;case"table-properties":break;case"table-column-properties":break;case"table-row-properties":break;case"table-cell-properties":break;case"number":switch(l[l.length-1][0]){case"time-style":;case"date-style":o=Ce(E[0],false);u+=r[E[3]][o.style==="long"?1:0];break;}break;case"fraction":break;case"day":;case"month":;case"year":;case"era":;case"day-of-week":;case"week-of-year":;case"quarter":;case"hours":;case"minutes":;case"seconds":;case"am-pm":switch(l[l.length-1][0]){case"time-style":;case"date-style":o=Ce(E[0],false);u+=r[E[3]][o.style==="long"?1:0];break;}break;case"boolean-style":break;case"boolean":break;case"text-style":break;case"text":if(E[0].slice(-2)==="/>")break;else if(E[1]==="/")switch(l[l.length-1][0]){case"number-style":;case"date-style":;case"time-style":u+=s.slice(h,E.index);break;}else h=E.index+E[0].length;break;case"named-range":o=Ce(E[0],false);H=wu(o["cell-range-address"]);var Z={Name:o.name,Ref:H[0]+"!"+H[1]};if(j)Z.Sheet=b.length;M.Names.push(Z);break;case"text-content":break;case"text-properties":break;case"embedded-text":break;case"body":;case"电子表格":break;case"forms":break;case"table-column":break;case"table-header-rows":break;case"table-rows":break;case"table-column-group":break;case"table-header-columns":break;case"table-columns":break;case"null-date":break;case"graphic-properties":break;case"calculation-settings":break;case"named-expressions":break;case"label-range":break;case"label-ranges":break;case"named-expression":break;case"sort":break;case"sort-by":break;case"sort-groups":break;case"tab":break;case"line-break":break;case"span":break;case"p":;case"文本串":if(E[1]==="/"&&(!w||!w["string-value"]))S=(S.length>0?S+"\n":"")+e(s.slice(_,E.index),C);else{C=Ce(E[0],false);_=E.index+E[0].length}break;case"s":break;case"database-range":if(E[1]==="/")break;try{H=wu(Ce(E[0])["target-range-address"]);p[H[0]]["!autofilter"]={ref:H[1]}}catch(J){}break;case"date":break;case"object":break;case"title":;case"标题":break;case"desc":break;case"binary-data":break;case"table-source":break;case"scenario":break;case"iteration":break;case"content-validations":break;case"content-validation":break;case"help-message":break;case"error-message":break;case"database-ranges":break;case"filter":break;case"filter-and":break;case"filter-or":break;case"filter-condition":break;case"list-level-style-bullet":break;case"list-level-style-number":break;case"list-level-properties":break;case"sender-firstname":;case"sender-lastname":;case"sender-initials":;case"sender-title":;case"sender-position":;case"sender-email":;case"sender-phone-private":;case"sender-fax":;case"sender-company":;case"sender-phone-work":;case"sender-street":;case"sender-city":;case"sender-postal-code":;case"sender-country":;case"sender-state-or-province":;case"author-name":;case"author-initials":;case"chapter":;case"file-name":;case"template-name":;case"sheet-name":break;case"event-listener":break;case"initial-creator":;case"creation-date":;case"print-date":;case"generator":;case"document-statistic":;case"user-defined":;case"editing-duration":;case"editing-cycles":break;case"config-item":break;case"page-number":break;case"page-count":break;case"time":break;case"cell-range-source":break;case"detective":break;case"operation":break;case"highlighted-range":break;case"data-pilot-table":;case"source-cell-range":;case"source-service":;case"data-pilot-field":;case"data-pilot-level":;case"data-pilot-subtotals":;case"data-pilot-subtotal":;case"data-pilot-members":;case"data-pilot-member":;case"data-pilot-display-info":;case"data-pilot-sort-info":;case"data-pilot-layout-info":;case"data-pilot-field-reference":;case"data-pilot-groups":;case"data-pilot-group":;case"data-pilot-group-member":break;case"rect":break;case"dde-connection-decls":;case"dde-connection-decl":;case"dde-link":;case"dde-source":break;case"properties":break;case"property":break;case"a":if(E[1]!=="/"){U=Ce(E[0],false);if(!U.href)break;U.Target=U.href;delete U.href;if(U.Target.charAt(0)=="#"&&U.Target.indexOf(".")>-1){H=wu(U.Target.slice(1));U.Target="#"+H[0]+"!"+H[1]}}break;case"table-protection":break;case"data-pilot-grand-total":break;case"office-document-common-attrs":break;default:switch(E[2]){case"dc:":;case"calcext:":;case"loext:":;case"ooo:":;case"chartooo:":;case"draw:":;case"style:":;case"chart:":;case"form:":;case"uof:":;case"表:":;case"字:":break;default:if(i.WTF)throw new Error(E);};}var ee={Sheets:p,SheetNames:b,Workbook:M};if(i.bookSheets)delete ee.Sheets;return ee}}();function cp(e,r){r=r||{};var t=!!de(e,"objectdata");if(t)Aa(pe(e,"META-INF/manifest.xml"),r);var a=me(e,"content.xml");if(!a)throw new Error("Missing content.xml in "+(t?"ODS":"UOF")+" file");var n=op(t?a:Ue(a),r);if(de(e,"meta.xml"))n.Props=Ma(pe(e,"meta.xml"));return n}function up(e,r){return op(e,r)}var hp=function(){var e="";return function r(){return Ee+e}}();var dp=function(){var e=function(e){return Re(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")};var r=" \n";var t=" \n";var a=function(a,n,i){var s=[];s.push(' \n');var l=0,f=0,o=lt(a["!ref"]);var c=a["!merges"]||[],u=0;var h=Array.isArray(a);for(l=0;l\n");for(;l<=o.e.r;++l){s.push(" \n");for(f=0;ff)continue;if(c[u].s.r>l)continue;if(c[u].e.c\n")}s.push(" \n");return s.join("")};var n=function(e){e.push(" \n");e.push(' \n');e.push(' \n');e.push(" /\n");e.push(' \n');e.push(" /\n");e.push(" \n");e.push(" \n");e.push(' \n');e.push(" \n")};return function i(e,r){var t=[Ee];var i=Je({"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"});var s=Je({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});if(r.bookType=="fods")t.push("\n");else t.push("\n");n(t);t.push(" \n");t.push(" \n");for(var l=0;l!=e.SheetNames.length;++l)t.push(a(e.Sheets[e.SheetNames[l]],e,l,r));t.push(" \n");t.push(" \n");if(r.bookType=="fods")t.push("");else t.push("");return t.join("")}}();function vp(e,r){if(r.bookType=="fods")return dp(e,r);var t=new be;var a="";var n=[];var i=[];a="mimetype";t.file(a,"application/vnd.oasis.opendocument.spreadsheet");a="content.xml";t.file(a,dp(e,r));n.push([a,"text/xml"]);i.push([a,"ContentFile"]);a="styles.xml";t.file(a,hp(e,r));n.push([a,"text/xml"]);i.push([a,"StylesFile"]);a="meta.xml";t.file(a,Pa());n.push([a,"text/xml"]);i.push([a,"MetadataFile"]);a="manifest.rdf";t.file(a,Oa(i));n.push([a,"application/rdf+xml"]);a="META-INF/manifest.xml";t.file(a,Ra(n));return t}function pp(e,r){if(!r)return 0;var t=e.SheetNames.indexOf(r);if(t==-1)throw new Error("Sheet not found: "+r);return t}function mp(e){return function r(t,a){var n=pp(t,a.sheet);return e.from_sheet(t.Sheets[t.SheetNames[n]],a,t)}}var bp=mp(sp);var gp=mp({from_sheet:im});var Ep=mp(Ms);var kp=mp(Us);var wp=mp(Ws);var Sp=mp(Il);var _p=mp({from_sheet:sm});var Cp=mp(Ls);var Bp=mp(Hs);function Tp(e){return function r(t){for(var a=0;a!=e.length;++a){var n=e[a];if(t[n[0]]===undefined)t[n[0]]=n[1];if(n[2]==="n")t[n[0]]=Number(t[n[0]])}}}var xp=Tp([["cellNF",false],["cellHTML",true],["cellFormula",true],["cellStyles",false],["cellText",true],["cellDates",false],["sheetStubs",false],["sheetRows",0,"n"],["bookDeps",false],["bookSheets",false],["bookProps",false],["bookFiles",false],["bookVBA",false],["password",""],["WTF",false]]);var yp=Tp([["cellDates",false],["bookSST",false],["bookType","xlsx"],["compression",false],["WTF",false]]);function Ip(e){if(_a.WS.indexOf(e)>-1)return"sheet";if(_a.CS&&e==_a.CS)return"chart";if(_a.DS&&e==_a.DS)return"dialog";if(_a.MS&&e==_a.MS)return"macro";return e&&e.length?e:"sheet"}function Ap(e,r){if(!e)return 0;try{e=r.map(function a(r){if(!r.id)r.id=r.strRelID;return[r.name,e["!id"][r.id].Target,Ip(e["!id"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function Rp(e,r,t,a,n,i,s,l,f,o,c,u){try{i[a]=Ba(me(e,t,true),r);var h=pe(e,r);switch(l){case"sheet":s[a]=Wd(h,r,n,f,i[a],o,c,u);break;case"chart":var d=Vd(h,r,n,f,i[a],o,c,u);s[a]=d;if(!d||!d["!chart"])break;var v=ge(d["!chart"].Target,r);var p=Ca(v);var m=io(me(e,v,true),Ba(me(e,p,true),v));var b=ge(m,v);var g=Ca(b);d=id(me(e,b,true),b,f,Ba(me(e,g,true),b),o,d);break;case"macro":s[a]=zd(h,r,n,f,i[a],o,c,u);break;case"dialog":s[a]=Xd(h,r,n,f,i[a],o,c,u);break;}}catch(E){if(f.WTF)throw E}}var Fp=function Rm(e){return e.slice(-1)!="/"};function Dp(e){return e.charAt(0)=="/"?e.slice(1):e}function Op(e,r){A(I);r=r||{};xp(r);if(de(e,"META-INF/manifest.xml"))return cp(e,r);if(de(e,"objectdata.xml"))return cp(e,r);if(de(e,"Index/Document.iwa"))throw new Error("Unsupported NUMBERS file");var t=z(e.files).filter(Fp).sort();var a=Ea(me(e,"[Content_Types].xml"));var n=false;var i,s;if(a.workbooks.length===0){s="xl/workbook.xml";if(pe(e,s,true))a.workbooks.push(s)}if(a.workbooks.length===0){s="xl/workbook.bin";if(!pe(e,s,true))throw new Error("Could not find workbook");a.workbooks.push(s);n=true}if(a.workbooks[0].slice(-3)=="bin")n=true;var l={};var f={};if(!r.bookSheets&&!r.bookProps){_u=[];if(a.sst)_u=Kd(pe(e,Dp(a.sst)),a.sst,r);if(r.cellStyles&&a.themes.length)l=jd(me(e,a.themes[0].replace(/^\//,""),true)||"",a.themes[0],r);if(a.style)f=Gd(pe(e,Dp(a.style)),a.style,l,r)}a.links.map(function(t){return Zd(pe(e,Dp(t)),t,r)});var o=Hd(pe(e,Dp(a.workbooks[0])),a.workbooks[0],r);var c={},u="";if(a.coreprops.length){u=pe(e,Dp(a.coreprops[0]),true);if(u)c=Ma(u);if(a.extprops.length!==0){u=pe(e,Dp(a.extprops[0]),true);if(u)za(u,c,r)}}var h={};if(!r.bookSheets||r.bookProps){if(a.custprops.length!==0){u=me(e,Dp(a.custprops[0]),true);if(u)h=Ka(u,r)}}var d={};if(r.bookSheets||r.bookProps){if(o.Sheets)i=o.Sheets.map(function T(e){return e.name});else if(c.Worksheets&&c.SheetNames.length>0)i=c.SheetNames;if(r.bookProps){d.Props=c;d.Custprops=h}if(r.bookSheets&&typeof i!=="undefined")d.SheetNames=i;if(r.bookSheets?d.SheetNames:r.bookProps)return d}i={};var v={};if(r.bookDeps&&a.calcchain)v=$d(pe(e,Dp(a.calcchain)),a.calcchain,r);var p=0;var m={};var b,g;{var E=o.Sheets;c.Worksheets=E.length;c.SheetNames=[];for(var k=0;k!=E.length;++k){c.SheetNames[k]=E[k].name}}var w=n?"bin":"xml";var S="xl/_rels/workbook."+w+".rels";var _=Ba(me(e,S,true),S);if(_)_=Ap(_,o.Sheets);var C=pe(e,"xl/worksheets/sheet.xml",true)?1:0;for(p=0;p!=c.Worksheets;++p){var B="sheet";if(_&&_[p]){b="xl/"+_[p][1].replace(/[\/]?xl\//,"");B=_[p][2]}else{b="xl/worksheets/sheet"+(p+1-C)+"."+w;b=b.replace(/sheet0\./,"sheet.")}g=b.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels");Rp(e,b,g,c.SheetNames[p],p,m,i,B,r,o,l,f)}if(a.comments)fo(e,a.comments,i,m,r);d={Directory:a,Workbook:o,Props:c,Custprops:h,Deps:v,Sheets:i,SheetNames:c.SheetNames,Strings:_u,Styles:f,Themes:l,SSF:I.get_table()};if(r.bookFiles){d.keys=t;d.files=e.files}if(r.bookVBA){if(a.vba.length>0)d.vbaraw=pe(e,Dp(a.vba[0]),true);else if(a.defaults&&a.defaults.bin===ko)d.vbaraw=pe(e,"xl/vbaProject.bin",true)}return d}function Pp(e,r){var t=r||{};var a="/!DataSpaces/Version";var n=L.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);fl(n.content);a="/!DataSpaces/DataSpaceMap";n=L.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=cl(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace";n=L.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=ul(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary";n=L.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);dl(n.content);a="/EncryptionInfo";n=L.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var l=ml(n.content);a="/EncryptedPackage";n=L.find(e,a);if(!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(l[0]==4&&typeof decrypt_agile!=="undefined")return decrypt_agile(l[1],n.content,t.password||"",t);if(l[0]==2&&typeof decrypt_std76!=="undefined")return decrypt_std76(l[1],n.content,t.password||"",t);throw new Error("File is password-protected")}function Np(e,r){so=1024;if(r.bookType=="ods")return vp(e,r);if(e&&!e.SSF){e.SSF=I.get_table()}if(e&&e.SSF){A(I);I.load_table(e.SSF);r.revssf=j(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;var t=r.bookType=="xlsb"?"bin":"xml";var a=_o.indexOf(r.bookType)>-1;var n=ga();yp(r=r||{});var i=new be;var s="",l=0;r.cellXfs=[];yu(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s="docProps/core.xml";i.file(s,Wa(e.Props,r));n.coreprops.push(s);ya(r.rels,2,s,_a.CORE_PROPS);s="docProps/app.xml";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else e.Props.SheetNames=e.SheetNames.map(function(r,t){return[(e.Workbook.Sheets[t]||{}).Hidden!=2,r]}).filter(function(e){return e[0]}).map(function(e){return e[1]});e.Props.Worksheets=e.Props.SheetNames.length;i.file(s,Ga(e.Props,r));n.extprops.push(s);ya(r.rels,3,s,_a.EXT_PROPS);if(e.Custprops!==e.Props&&z(e.Custprops||{}).length>0){s="docProps/custom.xml";i.file(s,$a(e.Custprops,r));n.custprops.push(s);ya(r.rels,4,s,_a.CUST_PROPS)}s="xl/workbook."+t;i.file(s,Qd(e,s,r));n.workbooks.push(s);ya(r.rels,1,s,_a.WB);for(l=1;l<=e.SheetNames.length;++l){var f={"!id":{}};var o=e.Sheets[e.SheetNames[l-1]];var c=(o||{})["!type"]||"sheet";switch(c){case"chart":;default:s="xl/worksheets/sheet"+l+"."+t;i.file(s,Jd(l-1,s,r,e,f));n.sheets.push(s);ya(r.wbrels,-1,"worksheets/sheet"+l+"."+t,_a.WS[0]);}if(o){var u=o["!comments"];if(u&&u.length>0){var h="xl/comments"+l+"."+t;i.file(h,tv(u,h,r));n.comments.push(h);ya(f,-1,"../comments"+l+"."+t,_a.CMNT)}if(o["!legacy"]){i.file("xl/drawings/vmlDrawing"+l+".vml",lo(l,o["!comments"]))}delete o["!comments"];delete o["!legacy"]}if(f["!id"].rId1)i.file(Ca(s),xa(f))}if(r.Strings!=null&&r.Strings.length>0){s="xl/sharedStrings."+t;i.file(s,rv(r.Strings,s,r));n.strs.push(s);ya(r.wbrels,-1,"sharedStrings."+t,_a.SST)}s="xl/theme/theme1.xml";i.file(s,Gf(e.Themes,r));n.themes.push(s);ya(r.wbrels,-1,"theme/theme1.xml",_a.THEME);s="xl/styles."+t;i.file(s,ev(e,s,r));n.styles.push(s);ya(r.wbrels,-1,"styles."+t,_a.STY);if(e.vbaraw&&a){s="xl/vbaProject.bin";i.file(s,e.vbaraw);n.vba.push(s);ya(r.wbrels,-1,"vbaProject.bin",_a.VBA)}i.file("[Content_Types].xml",Sa(n,r));i.file("_rels/.rels",xa(r.rels));i.file("xl/_rels/workbook."+t+".rels",xa(r.wbrels));delete r.revssf;delete r.ssf;return i}function Lp(e,r){var t="";switch((r||{}).type||"base64"){case"buffer":return[e[0],e[1],e[2],e[3]];case"base64":t=g.decode(e.slice(0,24));break;case"binary":t=e;break;case"array":return[e[0],e[1],e[2],e[3]];default:throw new Error("Unrecognized type "+(r&&r.type||"undefined"));}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]}function Mp(e,r){if(L.find(e,"EncryptedPackage"))return Pp(e,r);return Lv(e,r)}function Up(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=E&&Buffer.isBuffer(e)?"buffer":"base64";switch(n.type){case"base64":t=new be(a,{base64:true});break;case"binary":;case"array":t=new be(a,{base64:false});break;case"buffer":t=new be(a);break;default:throw new Error("Unrecognized type "+n.type);}return Op(t,n)}function Hp(e,r){var t=0;e:while(t=2&&a[3]===0)return zs.to_workbook(t,i);break;case 3:;case 131:;case 139:;case 140:return Ls.to_workbook(t,i);case 123:if(a[1]===92&&a[2]===114&&a[3]===116)return Il.to_workbook(t,i);break;case 10:;case 13:;case 32:return Wp(t,i);}if(a[2]<=12&&a[3]<=31)return Ls.to_workbook(t,i);return Xp(e,t,i,n)}function jp(e,r){var t=r||{};t.type="file";return Gp(e,t)}function Kp(e,r){var t=r||{};var a=Np(e,t);var n={};if(t.compression)n.compression="DEFLATE";switch(t.type){case"base64":n.type="base64";break;case"binary":n.type="string";break;case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");case"buffer":;case"file":n.type=E?"nodebuffer":"string";break;default:throw new Error("Unrecognized type "+t.type);}if(t.type==="file")return W(t.file,a.generate(n));var i=a.generate(n);return t.type=="string"?Ue(i):i}function Yp(e,r){var t=r||{};var a=Mv(e,t);switch(t.type){case"base64":;case"binary":break;case"buffer":;case"array":t.type="";break;case"file":return W(t.file,L.write(a,{type:E?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");default:throw new Error("Unrecognized type "+t.type);}return L.write(a,t)}function $p(e,r,t){if(!t)t="";var a=t+e;switch(r.type){case"base64":return g.encode(He(a));case"binary":return He(a);case"string":return e;case"file":return W(r.file,a,"utf8");case"buffer":{if(E)return new Buffer(a,"utf8");else return $p(a,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Zp(e,r){switch(r.type){case"base64":return g.encode(e);case"binary":return e;case"string":return e;case"file":return W(r.file,e,"binary");case"buffer":{if(E)return new Buffer(e,"binary");else return e.split("").map(function(e){return e.charCodeAt(0)})};}throw new Error("Unrecognized type "+r.type)}function Qp(e,r){switch(r.type){case"string":;case"base64":;case"binary":var t="";for(var a=0;a0)n=0;var v=Qr(o.s.r);var p=[];var m=[];var b=0,g=0;var E=Array.isArray(e);var k=o.s.r,w=0,S=0;if(E&&!e[k])e[k]=[];for(w=o.s.c;w<=o.e.c;++w){p[w]=rt(w);t=E?e[k][w]:e[p[w]+v];switch(a){case 1:i[w]=w-o.s.c;break;case 2:i[w]=p[w];break;case 3:i[w]=c.header[w-o.s.c];break;default:if(t==null)t={w:"__EMPTY",t:"s"};f=l=ut(t,null,c);g=0;for(S=0;S=0)c='"'+c.replace(am,'""')+'"'}else c="";o.push(c)}if(l.blankrows===false&&f)return null;return o.join(s)}function im(e,r){var t=[];var a=r==null?{}:r;if(e==null||e["!ref"]==null)return"";var n=ot(e["!ref"]);var i=a.FS!==undefined?a.FS:",",s=i.charCodeAt(0);var l=a.RS!==undefined?a.RS:"\n",f=l.charCodeAt(0);var o=new RegExp((i=="|"?"\\|":i)+"+$");var c="",u=[];a.dense=Array.isArray(e);var h=a.skipHidden&&e["!cols"]||[];var d=a.skipHidden&&e["!rows"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(h[v]||{}).hidden)u[v]=rt(v);for(var p=n.s.r;p<=n.e.r;++p){if((d[p]||{}).hidden)continue;c=nm(e,n,p,u,s,f,i,a);if(c==null){continue}if(a.strip)c=c.replace(o,"");t.push(c+l)}delete a.dense;return t.join("")}function sm(e,r){if(!r)r={};r.FS="\t";r.RS="\n";var t=im(e,r);if(typeof cptable=="undefined"||r.type=="string")return t;var a=cptable.utils.encode(1200,t,"str");return String.fromCharCode(255)+String.fromCharCode(254)+a}function lm(e){var r="",t,a="";if(e==null||e["!ref"]==null)return[];var n=ot(e["!ref"]),i="",s=[],l;var f=[];var o=Array.isArray(e);for(l=n.s.c;l<=n.e.c;++l)s[l]=rt(l);for(var c=n.s.r;c<=n.e.r;++c){i=Qr(c);for(l=n.s.c;l<=n.e.c;++l){r=s[l]+i;t=o?(e[c]||[])[l]:e[r];a="";if(t===undefined)continue;else if(t.F!=null){r=t.F;if(!t.f)continue;a=t.f;if(r.indexOf(":")==-1)r=r+":"+r}if(t.f!=null)a=t.f;else if(t.t=="z")continue;else if(t.t=="n"&&t.v!=null)a=""+t.v;else if(t.t=="b")a=t.v?"TRUE":"FALSE";else if(t.w!==undefined)a="'"+t.w;else if(t.v===undefined)continue;else if(t.t=="s")a="'"+t.v;else a=""+t.v;f[f.length]=r+"="+a}}return f}function fm(e,r,t){var a=t||{};var n=+!a.skipHeader;var i=e||{};var s=0,l=0;if(i&&a.origin!=null){if(typeof a.origin=="number")s=a.origin;else{var f=typeof a.origin=="string"?it(a.origin):a.origin;s=f.r;l=f.c}}var o;var c={s:{c:0,r:0},e:{c:l,r:s+r.length-1+n}};if(i["!ref"]){var u=ot(i["!ref"]);c.e.c=Math.max(c.e.c,u.e.c);c.e.r=Math.max(c.e.r,u.e.r);if(s==-1){s=c.e.r+1;c.e.r=s+r.length-1+n}}var h=a.header||[],d=0;r.forEach(function(e,r){z(e).filter(function(r){return e.hasOwnProperty(r)}).forEach(function(t){if((d=h.indexOf(t))==-1)h[d=h.length]=t;var f=e[t];var c="z";var u="";if(typeof f=="number")c="n";else if(typeof f=="boolean")c="b";else if(typeof f=="string")c="s";else if(f instanceof Date){c="d";if(!a.cellDates){c="n";f=Q(f)}u=a.dateNF||I._table[14]}i[st({c:l+d,r:s+r+n})]=o={t:c,v:f};if(u)o.z=u})});c.e.c=Math.max(c.e.c,l+h.length-1);var v=Qr(s);if(n)for(d=0;d=0&&e.SheetNames.length>r)return r;throw new Error("Cannot find sheet # "+r)}else if(typeof r=="string"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error("Cannot find sheet name |"+r+"|")}else throw new Error("Cannot find sheet |"+r+"|")}e.book_new=function(){return{SheetNames:[],Sheets:{}}};e.book_append_sheet=function(e,r,t){if(!t)for(var a=1;a<=65535;++a)if(e.SheetNames.indexOf(t="Sheet"+a)==-1)break;if(!t)throw new Error("Too many worksheets");wd(t);if(e.SheetNames.indexOf(t)>=0)throw new Error("Worksheet with name |"+t+"| already exists!");e.SheetNames.push(t);e.Sheets[t]=r};e.book_set_sheet_visibility=function(e,r,a){t(e,"Workbook",{});t(e.Workbook,"Sheets",[]);var i=n(e,r);t(e.Workbook.Sheets,i,{});switch(a){case 0:;case 1:;case 2:break;default:throw new Error("Bad sheet visibility setting "+a);}e.Workbook.Sheets[i].Hidden=a};r([["SHEET_VISIBLE",0],["SHEET_HIDDEN",1],["SHEET_VERY_HIDDEN",2]]);e.cell_set_number_format=function(e,r){e.z=r;return e};e.cell_set_hyperlink=function(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e};e.cell_set_internal_link=function(r,t,a){return e.cell_set_hyperlink(r,"#"+t,a)};e.cell_add_comment=function(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||"SheetJS"})};e.sheet_set_array_formula=function(e,r,t){var n=typeof r!="string"?r:ot(r);var i=typeof r=="string"?r:ft(r);for(var s=n.s.r;s<=n.e.r;++s)for(var l=n.s.c;l<=n.e.c;++l){var f=a(e,s,l);f.t="n";f.F=i;delete f.v;if(s==n.s.r&&l==n.s.c)f.f=t}return e};return e})(cm);if(E&&typeof require!="undefined")(function(){var e={}.Readable;var t=function(r,t){var a=e();var n=t==null?{}:t;if(r==null||r["!ref"]==null){a.push(null);return a}var i=ot(r["!ref"]);var s=n.FS!==undefined?n.FS:",",l=s.charCodeAt(0);var f=n.RS!==undefined?n.RS:"\n",o=f.charCodeAt(0);var c=new RegExp((s=="|"?"\\|":s)+"+$");var u="",h=[];n.dense=Array.isArray(r);var d=n.skipHidden&&r["!cols"]||[];var v=n.skipHidden&&r["!rows"]||[];for(var p=i.s.c;p<=i.e.c;++p)if(!(d[p]||{}).hidden)h[p]=rt(p);var m=i.s.r;a._read=function(){if(m>i.e.r)return a.push(null);while(m<=i.e.r){++m;if((v[m-1]||{}).hidden)continue;u=nm(r,i,m-1,h,l,o,s,n);if(u!=null){if(n.strip)u=u.replace(c,"");a.push(u+f);break}}};return a};var a=function(r,t){var a=e();var n=t||{};var i=n.header!=null?n.header:sp.BEGIN;var s=n.footer!=null?n.footer:sp.END;a.push(i);var l=lt(r["!ref"]);n.dense=Array.isArray(r);a.push(sp._preamble(r,l,n));var f=l.s.r;var o=false;a._read=function(){if(f>l.e.r){if(!o){o=true;a.push(""+s)}return a.push(null)}while(f<=l.e.r){a.push(sp._row(r,l,f,n));++f;break}};return a};r.stream={to_html:a,to_csv:t}})();r.parse_xlscfb=Lv;r.parse_ods=cp;r.parse_fods=up;r.write_ods=vp;r.parse_zip=Op;r.read=Gp;r.readFile=jp;r.readFileSync=jp;r.write=Jp;r.writeFile=em;r.writeFileSync=em;r.writeFileAsync=rm;r.utils=cm;r.SSF=I;r.CFB=L})(typeof exports!=="undefined"?exports:XLSX);var XLS=XLSX,ODS=XLSX; diff --git a/dist/xlsx.core.min.map b/dist/xlsx.core.min.map index 284e26f..639f358 100644 --- a/dist/xlsx.core.min.map +++ b/dist/xlsx.core.min.map @@ -1 +1 @@ -{"version":3,"sources":["misc/suppress_export.js","jszip.js","dist/xlsx.js"],"names":["DO_NOT_EXPORT_CODEPAGE","DO_NOT_EXPORT_JSZIP","e","exports","module","define","amd","JSZip","f","window","global","$","self","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","_keyStr","encode","input","utf8","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","charCodeAt","isNaN","charAt","decode","replace","indexOf","String","fromCharCode","2","CompressedObject","this","compressedSize","uncompressedSize","crc32","compressionMethod","compressedContent","prototype","getContent","getCompressedContent","3","STORE","magic","compress","content","uncompress","compressInputType","uncompressInputType","DEFLATE","./flate","4","utils","table","crc","isArray","getTypeOf","x","y","b","iTop","./utils","5","DataReader","data","index","checkOffset","offset","checkIndex","newIndex","setIndex","skip","byteAt","readInt","size","result","readString","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","Date","6","base64","binary","dir","createFolders","date","compression","comment","7","string2binary","str","string2Uint8Array","uint8Array2String","array","string2Blob","buffer","arrayBuffer2Blob","outputType","checkSupport","type","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","findCompression","isRegExp","object","8","USE_TYPEDARRAY","Uint8Array","Uint16Array","Uint32Array","pako","deflateRaw","inflateRaw","9","options","files","root","load","clone","newObj","support","defaults","compressions","./base64","./compressions","./defaults","./deprecatedPublicUtils","./load","./object","./support","10","ZipEntries","zipEntries","file","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","./zipEntries","11","Buffer","encoding","test","isBuffer","undefined","12","Uint8ArrayReader","NodeBufferReader","slice","./uint8ArrayReader","13","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","_data","copy","set","getBinaryData","nodebuffer","asBinary","dataToString","asUTF8","out","utf8decode","utf8encode","ZipObject","name","_initialMetadata","asText","asNodeBuffer","asUint8Array","asArrayBuffer","decToHex","dec","bytes","hex","extend","attr","arguments","hasOwnProperty","prepareFileAttrs","toUpperCase","fileAdd","dataType","parent","parentFolder","folderAdd","path","substring","lastSlash","lastIndexOf","generateCompressedObjectFrom","generateZipParts","compressedObject","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","dosTime","dosDate","extraFields","unicodePathExtraField","unicodeCommentExtraField","getHours","getMinutes","getSeconds","getFullYear","getMonth","getDate","header","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","stream","filter","search","filename","relativePath","fileClone","push","regexp","folder","arg","newFolder","ret","remove","kids","generate","zipData","localDirLength","centralDirLength","writer","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","toLowerCase","append","zip","finalize","string","./compressedObject","./crc32","./nodeBuffer","./signature","./stringWriter","./uint8ArrayWriter","./utf8","14","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","15","StringReader","./dataReader","16","join","17","arraybuffer","ArrayBuffer","uint8array","blob","Blob","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","getBlob","18","sig0","sig1","sig2","sig3","subarray","19","20","_utf8len","Array","string2buf","buf","c","c2","m_pos","str_len","buf_len","utf8border","max","pos","buf2string","c_len","len","utf16buf","applyFromCharCode","toString","k","chunk","nextBoundary","Math","min","21","identity","stringToArrayLike","arrayLikeToString","canUseApply","apply","resultStr","floor","arrayLikeToArrayLike","arrayFrom","arrayTo","transform","byteLength","inputType","Object","supported","res","code","method","22","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraDataSize","extraFieldId","extraFieldLength","extraFieldValue","id","value","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","./nodeBufferReader","./stringReader","./zipEntry","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","from","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","start","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","assign","deflate","inflate","constants","./lib/deflate","./lib/inflate","./lib/utils/common","./lib/zlib/constants","25","zlib_deflate","strings","msg","zstream","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_DEFAULT_COMPRESSION","Z_DEFAULT_STRATEGY","Z_DEFLATED","Deflate","level","chunkSize","windowBits","memLevel","strategy","to","opt","raw","gzip","err","ended","chunks","strm","avail_out","status","deflateInit2","deflateSetHeader","mode","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","deflator","./utils/common","./utils/strings","./zlib/deflate.js","./zlib/messages","./zlib/zstream","26","zlib_inflate","gzheader","Inflate","inflateInit2","inflateGetHeader","next_out_utf8","tail","utf8str","binstring2buf","arraySet","inflateEnd","inflator","ungzip","./zlib/constants","./zlib/gzheader","./zlib/inflate.js","27","TYPED_OK","Int32Array","obj","sources","source","shift","TypeError","p","fnTyped","dest","src","src_offs","dest_offs","l","fnUntyped","concat","setTyped","on","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","__","./common","29","adler32","adler","s1","s2","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_BINARY","Z_TEXT","Z_UNKNOWN","31","makeTable","crcTable","end","32","trees","MAX_MEM_LEVEL","MAX_WBITS","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","rank","zero","flush_pending","state","pending","pending_buf","pending_out","total_out","flush_block_only","last","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","match","best_len","prev_length","nice_match","limit","w_size","_win","wmask","w_mask","prev","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","_w_size","m","more","window_size","hash_size","head","insert","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","max_start","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","Config","good_length","max_lazy","nice_length","max_chain","func","configuration_table","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","matches","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","deflateInit","old_flush","beg","val","text","hcrc","extra","time","os","level_flags","bstate","_tr_align","_tr_stored_block","deflateInfo","../utils/common","./adler32","./messages","./trees","33","GZheader","xflags","extra_len","done","34","BAD","TYPE","inflate_fast","_in","_out","dmax","wsize","whave","wnext","hold","bits","lcode","dcode","lmask","dmask","here","op","dist","from_source","lencode","distcode","lenbits","distbits","top","dolen","dodist","sane","35","inflate_table","CODES","LENS","DISTS","Z_MEM_ERROR","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","DEF_WBITS","ZSWAP32","q","InflateState","havedict","flags","check","total","wbits","ncode","nlen","ndist","have","next","lens","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","inflateInit","virgin","lenfix","distfix","fixedtables","sym","updatewindow","put","left","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","opts","order","inf_leave","inflateInfo","./inffast","./inftrees","36","MAXBITS","lbase","lext","dbase","dext","lens_index","codes","table_index","curr","drop","used","huff","incr","fill","low","mask","base","base_index","count","offs","extra_index","37","0","-1","-2","-3","-4","-5","-6","38","STORED_BLOCK","STATIC_TREES","DYN_TREES","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","static_l_desc","static_d_desc","static_bl_desc","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","w","send_bits","send_code","tree","bi_reverse","bi_flush","gen_bitlen","desc","stree","h","xbits","overflow","gen_codes","next_code","tr_static_init","init_block","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","v","j","compress_block","ltree","dtree","lc","lx","build_tree","node","scan_tree","prevlen","curlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","stored_len","opt_lenb","static_lenb","39","ZStream","XLSX","make_xlsx","version","current_codepage","current_ansi","cptable","VALID_ANSI","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","cp","reset_ansi","set_cp","reset_cp","char_codes","utf16leread","utf16beread","debom","c1","_getchar","_gc1","_gc2","DENSE","DIF_XL","Base64","make_b64","map","c3","e1","e2","e3","e4","b64_decode","has_buf","process","versions","new_raw_buf","s2a","split","s2ab","view","a2s","_chr","a2u","ab2a","bconcat","bufs","chr0","SSF","make_ssf","_strrev","pad0","d","pad_","rpad_","pad0r1","round","pad0r2","p2_32","pow","pad0r","isgeneral","days","months","init_table","table_fmt","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","parse_date_code","b2","dow","dout","T","H","M","S","abs","date1904","setDate","getDay","fix_hijri","basedate","dnthresh","getTime","base1904","datenum_local","epoch","getTimezoneOffset","general_fmt_int","_general_int","general_fmt_num","make_general_fmt_num","gnr1","gnr2","gnr4","gnr5","gnr6","gfn2","gfn5","toFixed","toPrecision","toExponential","gfn3","gfn4","V","log","LOG10E","substr","_general_num","general_fmt","format","_general","write_date","fmt","ss0","ss","tt","outl","commaify","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","aval","sign","den","parseInt","rr","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","cc","rnd","dd","carry","flr","write_num_flt","ffmt","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","fmt_is_date","is_date","eval_fmt","flen","lst","dt","hr","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","dateNF","load_entry","_table","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","forEach","datestr","timestr","DO_NOT_EXPORT_CFB","CFB","_CFB","namecmp","L","R","Z","dirname","fs","get_fs","parse","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","prep_blob","mv","check_get_mver","check_shifts","dir_cnt","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPaths","read_directory","build_full_paths","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FP","C","pl","dad","get_mfat_entry","entry","payload","mini","MSSZ","__readInt32LE","new_buf","cnt","sector","get_sector_list","chkd","buf_chain","modulus","addr","nodes","__toBuffer","sl","minifat_store","namelen","__utf16le","color","clsid","ctime","ct","read_date","mtime","mt","storage","__readUInt32LE","read_file","readFileSync","read","init_cfb","cfb","CLSID","seed_cfb","nm","find","rebuild_cfb","gc","_file","pop","now","sort","elt","_write","_opts","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","write_shift","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","UCFullPaths","UCPaths","UCPath","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","write","cfb_new","cfb_add","fpath","cfb_gc","cfb_del","splice","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_fs","blobify","write_dl","fname","enc","utf8write","IE_SaveFile","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","download","url","href","body","appendChild","click","removeChild","revokeObjectURL","setTimeout","File","Folder","open","close","message","read_binary","infile","keys","evert_key","key","K","evert","evert_num","evert_arr","datenum","numdate","setTime","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","setFullYear","cc2str","arr","dup","JSON","stringify","fuzzynum","Number","wt","fuzzydate","NaN","getYear","safe_split_regex","split_regex","re","def","getdatastr","getdatabin","getdata","safegetzipfile","g","getzipfile","getzipdata","safe","getzipstr","jszip","resolve_path","target","step","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","quot","trim","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","baseType","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","XLMLNS","html","read_double_le","Infinity","write_double_le","bs","av","isFinite","LN2","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__lpp4","___lpp4","lpp4_","__8lpp4","___8lpp4","__double","___double","is_buf","is_buf_a","lpstr_b","readUInt32LE","cpstr_b","lpwstr_b","lpp4_b","lpp4_8b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","__readInt32BE","oI","oR","oo","loc","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","hexstr","fld","parsenoop","sz","recordhopper","cb","tmpbyte","cntbyte","RT","tgt","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","ba_next","ba_end","ba_push","_bufs","write_record","ba","XLSBRE","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_col","encode_row","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","update","digest","decode_row","rowstr","unfix_row","row","cstr","decode_col","colstr","unfix_col","col","split_cell","decode_cell","splt","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","cellStubs","cellDates","cell_ref","aoa_to_sheet","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","write_StrRun","run","parse_RichStr","rgsStrRun","dwSizeStrRun","write_RichStr","parse_BrtCommentText","write_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","42","43","RBErr","parse_BrtColor","xColorType","nTS","bR","bG","bB","auto","icv","XLSIcv","rgb","rgb2Hex","theme","tint","write_BrtColor","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","write_FontFlags","font","grbit","italic","strike","outline","shadow","condense","parse_ClipboardFormatOrString","ClipFmt","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_LPSTR","VT_FILETIME","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","CountryEnum","41","44","45","46","47","48","49","52","55","61","64","66","81","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","65535","XLSFillPattern","rgbify","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.ms-office.chartcolorstyle+xml","application/vnd.ms-office.chartstyle+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.openxmlformats-officedocument.themeOverride+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","image/png","CT_LIST","workbooks","xlsx","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","styles","type2ct","CT","new_ct","rels","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","calcchain","sst","style","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","VBA","get_rels_path","parse_rels","currentFilePath","hash","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","add_rels","rId","relobj","CT_ODS","parse_manifest","xlml_normalize","Rn","FEtag","xlmlregex","exec","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","wmo","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","cp_doit","write_core_props","Props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","console","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","xlml_write_docprops","xlml_write_custprops","Custprops","BLACKLIST","dt:dt","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","parse_ClipboardData","Size","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","writezeroes","parslurp","writebool","parseuint16","writeuint16","parseuint16a","parse_Bes","write_Bes","parse_ShortXLUnicodeString","cch","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","width","cRun","cbExtRst","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_ControlInfo","accel","parse_URLMoniker","parse_FileMoniker","ansiPath","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","Loc","guid","fileTime","Tooltip","write_Hyperlink","hl","F","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","write_XLSCell","parse_frtHeader","rt","parse_OptXLUnicodeString","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","parse_FtNts","fSharedNote","parse_FtCf","cf","parse_FtSkip","FtTab","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","wb","parse_InterfaceHdr","parse_WriteAccess","UserName","write_WriteAccess","b8","parse_WsBool","fDialog","parse_BoundSheet8","hidden","hs","write_BoundSheet8","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","miyRw","hpt","parse_ForceFullCalculation","fullcalc","parse_RecalcId","parse_DefaultRowHeight","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","write_Window1","parse_Window2","RTL","write_Window2","parse_Font","dyHeight","parse_LabelSst","isst","parse_Label","write_Label","parse_Format","fmtstr","write_Format","parse_BIFF2Format","parse_Dimensions","write_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","parse_XF","fStyle","write_XF","ixfeP","parse_Guts","write_Guts","guts","parse_BoolErr","write_BoolErr","parse_Number","xnum","write_Number","parse_XLHeaderFooter","parse_SupBook","ctab","sbcch","virtPath","rgst","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_NameCmt","cchName","cchComment","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","write_MergeCells","parse_Obj","parse_BIFF5Obj","cmo","parse_BIFF5OT","parse_TxO","texts","lastobj","controlInfo","cchText","hdr","parse_HLink","hlink","write_HLink","parse_HLinkTooltip","wzTooltip","write_HLinkTooltip","TT","parse_Country","write_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","parse_ColInfo","coldx","parse_Setup","footer","parse_ShtProps","area","write_RRTabId","parse_Blank","parse_Scl","parse_String","parse_ImData","env","lcb","parse_BIFF2STR","parse_BIFF2NUM","num","write_BIFF2NUM","write_BIFF2Cell","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","DBF","dbf_codepage_map","100","101","102","103","104","106","107","120","121","122","123","124","125","126","150","151","152","200","201","202","203","78","79","80","87","88","89","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","fields","field","hend","dbf_to_sheet","dbf_to_workbook","_RLEN","?","","sheet_to_dbf","aoa","sheet_to_json","headers","hcnt","coltypes","guess","_guess","hf","_f","hb","rout","_s","to_workbook","to_sheet","from_sheet","SYLK","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","formula","rc_to_a1","F_seen","wch","process_col","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_workbook","write_ws_cell_sylk","a1_to_rc","write_ws_cols_sylk","cols","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","preamble","RS","coord","DIF","dif_to_aoa","dif_to_aoa_str","metadata","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","pf","topic","push_value","po","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","59","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","sepcc","_re","finish_cell","fuzzyfmla","cellText","cellNF","prn_to_sheet_str","prn_to_sheet","firstbyte","codepage","prn_to_workbook","sheet_to_prn","read_wb_ID","OLD_WTF","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","sidx","snames","refguess","WK3Enum","qpro","vers","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","40","50","51","56","60","62","63","65","67","68","70","71","72","73","74","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","align","uval","family","parse_r","terms","rs","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","R_n","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","U","parse_DataSpaceMapEntry","comps","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","cmode","parse_EncryptionHeader","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","verifier","KeyData","xml","xml_agile","encryptedHmacKey","encryptedHmacValue","encs","uri","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","insitu","parse_FilePassHeader","Info","parse_FilePass","RTF","rtf_to_sheet","rtf_to_sheet_str","rtf_to_workbook","sheet_to_rtf","hex2RGB","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_borders","Borders","border","diagonalUp","diagonalDown","parse_fills","Fills","bgColor","indexed","fgColor","parse_fonts","Fonts","bold","underline","vertAlign","scheme","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","write_numFmts","NF","cellXF_uint","cellXF_bool","parse_cellXfs","CellXf","xf","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","STYLES_XML_ROOT","STY","write_sty_xml","parse_BrtFmt","stFmtCode","write_BrtFmt","parse_BrtFont","bls","bCharSet","charset","write_BrtFont","sss","XLSBFillPTNames","rev_XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","parse_BrtXF","ixfeParent","ifmt","write_BrtXF","write_Blxf","parse_BrtBorder","write_BrtBorder","write_BrtStyle","xfId","builtinId","write_BrtBeginTableStyles","defTableStyle","defPivotStyle","parse_sty_bin","hopper_sty","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","write_CELLSTYLEXFS_bin","fontId","fillId","borderId","write_CELLXFS_bin","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","write_COLORPALETTE_bin","write_sty_bin","THEME","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_Theme","dwThemeVersion","themeXML","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xfext","xfe","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","parse_xlink_xml","parse_xlink_bin","xlink_parse","IMG","DRAW","parse_drawing","_shapeid","write_comments_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","joinstyle","gradientshapeok","o:connecttype","o:spt","coordsize","fillcolor","strokecolor","color2","angle","obscured","CMNT","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","thisCell","encoded","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","sheetRows","textMatch","CMNT_XML_ROOT","write_comments_xml","iauthor","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","write_BrtCommentAuthor","parse_comments_bin","hopper_cmnt","write_comments_bin","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","DS","MS","parse_ds_bin","!type","parse_ds_xml","parse_ms_bin","parse_ms_xml","rcregex","rcbase","rcfunc","$4","$5","fstr","crefregex","$0","shift_formula_str","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgTbl","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfCol","parse_PtgElfColS","parse_PtgElfColSV","parse_PtgElfColV","parse_PtgElfLel","parse_PtgElfRadical","parse_PtgElfRadicalLel","parse_PtgElfRadicalS","parse_PtgElfRw","parse_PtgElfRwV","parse_PtgList","parse_PtgSxName","PtgTypes","57","58","PtgDupes","96","97","98","99","75","76","108","109","91","92","93","Ptg18","Ptg19","parse_RgbExtra","parse_Rgce","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","formula_quote_sheet_name","sname","get_ixti_raw","supbooks","XTI","SID","get_ixti","stringify_formula","stack","nameidx","last_sp","sp","fflen","argc","args","lbl","names","XLSXFutureFunctions","bookidx","externbook","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","rgcb","parse_XLSCellParsedFormula","parse_FormulaValue","parse_Formula","cbf","shared","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","53","54","83","85","94","95","110","111","112","113","114","115","116","117","118","119","127","131","132","133","135","137","138","139","140","142","143","144","145","146","147","148","149","153","155","159","164","166","167","168","169","170","171","172","173","174","175","185","187","188","189","190","191","192","193","194","195","196","197","198","199","206","207","208","209","210","211","212","214","215","217","219","220","223","224","225","226","227","228","229","240","243","249","250","251","252","253","254","256","259","260","265","266","267","268","269","272","273","274","276","277","278","279","280","281","282","283","284","285","288","289","290","291","292","293","295","296","297","298","302","305","306","307","308","309","310","311","312","313","314","315","316","318","319","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","355","356","370","373","374","375","376","377","378","379","380","381","382","383","384","385","386","388","390","391","392","393","394","395","396","397","398","399","400","412","413","414","415","416","417","421","422","423","424","425","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","480","481","482","485","489","491","493","494","495","509","510","511","517","518","519","520","521","522","523","545","546","547","548","549","620","621","647","653","667","673","753","755","808","141","154","156","157","158","160","165","176","179","180","181","182","183","184","205","221","230","231","232","233","234","235","236","237","239","241","242","244","245","246","247","248","257","258","261","262","263","264","270","271","275","286","287","294","299","300","301","303","304","317","326","327","329","331","332","334","335","337","340","341","345","346","347","348","349","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","387","389","401","402","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","724","479","483","484","_xlfn.ACOT","_xlfn.ACOTH","_xlfn.AGGREGATE","_xlfn.ARABIC","_xlfn.AVERAGEIF","_xlfn.AVERAGEIFS","_xlfn.BASE","_xlfn.BETA.DIST","_xlfn.BETA.INV","_xlfn.BINOM.DIST","_xlfn.BINOM.DIST.RANGE","_xlfn.BINOM.INV","_xlfn.BITAND","_xlfn.BITLSHIFT","_xlfn.BITOR","_xlfn.BITRSHIFT","_xlfn.BITXOR","_xlfn.CEILING.MATH","_xlfn.CEILING.PRECISE","_xlfn.CHISQ.DIST","_xlfn.CHISQ.DIST.RT","_xlfn.CHISQ.INV","_xlfn.CHISQ.INV.RT","_xlfn.CHISQ.TEST","_xlfn.COMBINA","_xlfn.CONCAT","_xlfn.CONFIDENCE.NORM","_xlfn.CONFIDENCE.T","_xlfn.COT","_xlfn.COTH","_xlfn.COUNTIFS","_xlfn.COVARIANCE.P","_xlfn.COVARIANCE.S","_xlfn.CSC","_xlfn.CSCH","_xlfn.DAYS","_xlfn.DECIMAL","_xlfn.ECMA.CEILING","_xlfn.ERF.PRECISE","_xlfn.ERFC.PRECISE","_xlfn.EXPON.DIST","_xlfn.F.DIST","_xlfn.F.DIST.RT","_xlfn.F.INV","_xlfn.F.INV.RT","_xlfn.F.TEST","_xlfn.FILTERXML","_xlfn.FLOOR.MATH","_xlfn.FLOOR.PRECISE","_xlfn.FORECAST.ETS","_xlfn.FORECAST.ETS.CONFINT","_xlfn.FORECAST.ETS.SEASONALITY","_xlfn.FORECAST.ETS.STAT","_xlfn.FORECAST.LINEAR","_xlfn.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFERROR","_xlfn.IFNA","_xlfn.IFS","_xlfn.IMCOSH","_xlfn.IMCOT","_xlfn.IMCSC","_xlfn.IMCSCH","_xlfn.IMSEC","_xlfn.IMSECH","_xlfn.IMSINH","_xlfn.IMTAN","_xlfn.ISFORMULA","_xlfn.ISO.CEILING","_xlfn.ISOWEEKNUM","_xlfn.LOGNORM.DIST","_xlfn.LOGNORM.INV","_xlfn.MAXIFS","_xlfn.MINIFS","_xlfn.MODE.MULT","_xlfn.MODE.SNGL","_xlfn.MUNIT","_xlfn.NEGBINOM.DIST","_xlfn.NETWORKDAYS.INTL","_xlfn.NIGBINOM","_xlfn.NORM.DIST","_xlfn.NORM.INV","_xlfn.NORM.S.DIST","_xlfn.NORM.S.INV","_xlfn.NUMBERVALUE","_xlfn.PDURATION","_xlfn.PERCENTILE.EXC","_xlfn.PERCENTILE.INC","_xlfn.PERCENTRANK.EXC","_xlfn.PERCENTRANK.INC","_xlfn.PERMUTATIONA","_xlfn.PHI","_xlfn.POISSON.DIST","_xlfn.QUARTILE.EXC","_xlfn.QUARTILE.INC","_xlfn.QUERYSTRING","_xlfn.RANK.AVG","_xlfn.RANK.EQ","_xlfn.RRI","_xlfn.SEC","_xlfn.SECH","_xlfn.SHEET","_xlfn.SHEETS","_xlfn.SKEW.P","_xlfn.STDEV.P","_xlfn.STDEV.S","_xlfn.SUMIFS","_xlfn.SWITCH","_xlfn.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.TEXTJOIN","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","WS","get_sst_id","col_obj_w","default_margins","margins","defs","right","bottom","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fillid","raw_rgb","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","svsregex","parse_ws_xml","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","ridx","svs","parse_ws_xml_sheetviews","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","_merge","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","codeName","CodeName","write_ws_xml_protection","deffalse","deftrue","location","Rel","tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","sviewregex","rightToLeft","Views","write_ws_xml_sheetviews","sview","workbookViewId","Workbook","write_ws_xml_cell","oldt","oldv","Strings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","cells","cref","tagr","tagc","sstr","ftag","do_format","rowobj","rowrite","marr","marrlen","xlen","ht","outlineLevel","cellFormula","si","_tag","sheetStubs","_r","write_ws_xml_data","params","height","_cell","customHeight","WS_XML_ROOT","xmlns:r","write_ws_xml","rdata","cname","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","r:id","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsFmtInfo","parse_BrtWsProp","write_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtCellError","bError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","display","write_BrtHLink","locidx","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","write_BrtColInfo","BrtMarginKeys","parse_BrtMargins","write_BrtMargins","parse_BrtBeginWsView","write_BrtBeginWsView","write_BrtSheetProtection","parse_ws_bin","!id","ai","af","Names","ws_parse","aii","_d","write_ws_bin_cell","write_CELLTABLE","cap","write_MERGECELLS","write_COLINFOS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_WSFMTINFO","write_SHEETPROTECT","write_ws_bin","parse_numCache","nf","parse_chart","csheet","nc","cache","CS","CS_XML_ROOT","parse_cs_xml","!chart","!rel","write_cs_xml","parse_BrtCsProp","parse_cs_bin","cs_parse","write_cs_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","safe1904","badchars","check_ws_name","_good","check_wb_names","N","check_wb","wbnsregex","parse_wb_xml","dname","dnstart","xml_wb","Hidden","Comment","localSheetId","Sheet","Ref","WB_XML_ROOT","write_wb_xml","write_names","workbookPr","sheetId","parse_BrtBundleSh","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","filterPrivacy","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_theme","parse_sst","parse_cc","parse_xlink","write_wb","write_ws","write_cs","write_sty","write_sst","write_cmnt","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","opening","ishtml","HTML_","tmp","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","lastIndex","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","seen","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","write_wb_xlml","write_sty_xlml","ss:Format","ss:ID","write_name_xlml","ss:Name","ss:RefersTo","write_names_xlml","write_ws_xlml_names","outer","write_ws_xlml_wsopts","x:Margin","x:Bottom","x:Left","x:Right","x:Top","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","ss:Author","write_ws_xlml_cell","mi","_v","write_ws_xlml_row","write_ws_xlml_table","ss:Index","write_ws_xlml","write_xlml","General","xmlns:ss","xmlns:dt","xmlns:html","parse_compobj","AnsiUserType","AnsiClipboardFormat","Reserved1","UnicodeClipboardFormat","Reserved2","slurp","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","Directory","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","process_cell_style","pcs","line","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","defwidth","defheight","last_Rn","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","last_lbl","seen_codepage","RecordType","Date1904","WriteProtect","error","CalcRefMode","FullCalc","ExternCount","1033","1280","1536","fakebs8","_fr","_fc","_fe","_arraystart","_j","_ixfe","b4idx","b2idx","TxO","ImData","noteobj","Encryption","Metadata","Country","parse_props","props","DSI","DocSummary","SI","Summary","parse_xlscfb","CompObj","WorkbookP","bookVBA","vbaraw","bookFiles","write_xlscfb","wbpath","write_biff_buf","333","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","512","513","514","515","516","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","648","649","650","651","652","654","655","656","657","658","659","660","661","662","663","664","665","666","668","669","671","672","674","675","676","677","678","679","680","1024","1025","1026","1027","1028","1029","1030","1031","1032","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","1212","2059","2061","2062","2063","2064","2066","2137","2138","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4097","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2262","29282","XLSRE","write_biff_rec","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff2_cell","write_ws_biff2","write_biff2_buf","write_FMTS_biff8","write_CELLXFS_biff8","write_ws_biff8_hlinks","HL","write_ws_biff8_cell","write_ws_biff8","_WB","_sheet","write_biff8_global","_wb","b5","blen","write_biff8_buf","unshift","html_to_sheet","mtch2","hd","colspan","rowspan","_t","html_to_book","make_html_row","nullcell","editable","make_html_preamble","_BEGIN","_END","sheet_to_html","_row","BEGIN","END","_preamble","parse_dom_table","getElementsByTagName","midx","elts","innerHTML","getAttribute","table_to_book","parse_content_xml","parse_text_p","number_formats","day","month","year","hours","minutes","seconds","am-pm","day-of-week","era","quarter","pcx","NFtag","sheetag","rowtag","ctag","textp","textpidx","textptag","row_ol","number_format_map","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","parse_ods","ods","write_styles_ods","xmlns:office","xmlns:table","xmlns:style","xmlns:text","xmlns:draw","xmlns:fo","xmlns:xlink","xmlns:number","xmlns:svg","xmlns:of","office:version","wso","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","_Fref","text_p","_tgt","xlink:href","write_automatic_styles_ods","wcx","xmlns:meta","xmlns:presentation","xmlns:chart","xmlns:dr3d","xmlns:math","xmlns:form","xmlns:script","xmlns:ooo","xmlns:ooow","xmlns:oooc","xmlns:dom","xmlns:xforms","xmlns:sheet","xmlns:rpt","xmlns:xhtml","xmlns:grddl","xmlns:tableooo","xmlns:drawooo","xmlns:calcext","xmlns:loext","xmlns:field","xmlns:formx","xmlns:css3t","fods","xmlns:config","office:mimetype","write_ods","write_sheet_index","write_obj_str","factory","write_str","write_htm_str","write_csv_str","sheet_to_csv","write_slk_str","write_dif_str","write_prn_str","write_rtf_str","write_txt_str","sheet_to_txt","write_dbf_buf","write_eth_str","fix_opts_func","fix_opts","fix_write_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","safe_parse_sheet","relsPath","stype","dfile","drelsp","draw","chartp","crelsp","nodirs","strip_front_slash","parse_zip","entries","binname","link","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","write_zip","vbafmt","wsrels","_type","rId1","read_cfb","read_zip","read_plaintext","read_plaintext_raw","read_utf16","bstrify","read_prn","readSync","ab","vu","foo","write_zip_type","oopts","write_cfb_type","write_string_type","bom","write_stxt_type","write_binary_type","bstr","writeSync","resolve_book_type","_BT","xls","htm","slk","socialcalc","Sh33tJS","writeFileAsync","_cb","Function","isempty","defval","outi","counter","CC","defineProperty","enumerable","__rowNum__","blankrows","qreg","make_csv_row","FS","txt","endregex","skipHidden","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","JS","json_to_sheet","get_formulae","make_csv","make_json","make_formulae","table_to_sheet","sheet_to_slk","sheet_to_row_object_array","add_consts","get_default","ws_get_cell_stub","wb_sheet_idx","sh","book_new","book_append_sheet","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","rngstr","Readable","write_csv_stream","_read","write_html_stream","to_html","to_csv","readFile","XLS","ODS"],"mappings":"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","file":"dist/xlsx.core.min.js"} \ No newline at end of file +{"version":3,"sources":["misc/suppress_export.js","jszip.js","dist/xlsx.js"],"names":["DO_NOT_EXPORT_CODEPAGE","DO_NOT_EXPORT_JSZIP","e","exports","module","define","amd","JSZip","f","window","global","$","self","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","_keyStr","encode","input","utf8","output","chr1","chr2","chr3","enc1","enc2","enc3","enc4","charCodeAt","isNaN","charAt","decode","replace","indexOf","String","fromCharCode","2","CompressedObject","this","compressedSize","uncompressedSize","crc32","compressionMethod","compressedContent","prototype","getContent","getCompressedContent","3","STORE","magic","compress","content","uncompress","compressInputType","uncompressInputType","DEFLATE","./flate","4","utils","table","crc","isArray","getTypeOf","x","y","b","iTop","./utils","5","DataReader","data","index","checkOffset","offset","checkIndex","newIndex","setIndex","skip","byteAt","readInt","size","result","readString","transformTo","readData","lastIndexOfSignature","sig","readDate","dostime","Date","6","base64","binary","dir","createFolders","date","compression","comment","7","string2binary","str","string2Uint8Array","uint8Array2String","array","string2Blob","buffer","arrayBuffer2Blob","outputType","checkSupport","type","MAX_VALUE_16BITS","MAX_VALUE_32BITS","pretty","findCompression","isRegExp","object","8","USE_TYPEDARRAY","Uint8Array","Uint16Array","Uint32Array","pako","deflateRaw","inflateRaw","9","options","files","root","load","clone","newObj","support","defaults","compressions","./base64","./compressions","./defaults","./deprecatedPublicUtils","./load","./object","./support","10","ZipEntries","zipEntries","file","fileName","decompressed","optimizedBinaryString","fileComment","zipComment","./zipEntries","11","Buffer","encoding","test","isBuffer","undefined","12","Uint8ArrayReader","NodeBufferReader","slice","./uint8ArrayReader","13","signature","nodeBuffer","StringWriter","Uint8ArrayWriter","getRawData","_data","copy","set","getBinaryData","nodebuffer","asBinary","dataToString","asUTF8","out","utf8decode","utf8encode","ZipObject","name","_initialMetadata","asText","asNodeBuffer","asUint8Array","asArrayBuffer","decToHex","dec","bytes","hex","extend","attr","arguments","hasOwnProperty","prepareFileAttrs","toUpperCase","fileAdd","dataType","parent","parentFolder","folderAdd","path","substring","lastSlash","lastIndexOf","generateCompressedObjectFrom","generateZipParts","compressedObject","utfEncodedFileName","utfEncodedComment","useUTF8ForFileName","useUTF8ForComment","dosTime","dosDate","extraFields","unicodePathExtraField","unicodeCommentExtraField","getHours","getMinutes","getSeconds","getFullYear","getMonth","getDate","header","fileRecord","LOCAL_FILE_HEADER","dirRecord","CENTRAL_FILE_HEADER","stream","filter","search","filename","relativePath","fileClone","push","regexp","folder","arg","newFolder","ret","remove","kids","generate","zipData","localDirLength","centralDirLength","writer","compressionName","zipPart","dirEnd","CENTRAL_DIRECTORY_END","typeName","toLowerCase","append","zip","finalize","string","./compressedObject","./crc32","./nodeBuffer","./signature","./stringWriter","./uint8ArrayWriter","./utf8","14","ZIP64_CENTRAL_DIRECTORY_LOCATOR","ZIP64_CENTRAL_DIRECTORY_END","DATA_DESCRIPTOR","15","StringReader","./dataReader","16","join","17","arraybuffer","ArrayBuffer","uint8array","blob","Blob","Builder","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","getBlob","18","sig0","sig1","sig2","sig3","subarray","19","20","_utf8len","Array","string2buf","buf","c","c2","m_pos","str_len","buf_len","utf8border","max","pos","buf2string","c_len","len","utf16buf","applyFromCharCode","toString","k","chunk","nextBoundary","Math","min","21","identity","stringToArrayLike","arrayLikeToString","canUseApply","apply","resultStr","floor","arrayLikeToArrayLike","arrayFrom","arrayTo","transform","byteLength","inputType","Object","supported","res","code","method","22","ZipEntry","jszipProto","loadOptions","checkSignature","expectedSignature","reader","readBlockEndOfCentral","diskNumber","diskWithCentralDirStart","centralDirRecordsOnThisDisk","centralDirRecords","centralDirSize","centralDirOffset","zipCommentLength","readBlockZip64EndOfCentral","zip64EndOfCentralSize","versionMadeBy","versionNeeded","zip64ExtensibleData","extraDataSize","extraFieldId","extraFieldLength","extraFieldValue","id","value","readBlockZip64EndOfCentralLocator","diskWithZip64CentralDirStart","relativeOffsetEndOfZip64CentralDir","disksCount","readLocalFiles","localHeaderOffset","readLocalPart","handleUTF8","readCentralDir","zip64","readCentralPart","readEndOfCentral","prepareReader","./nodeBufferReader","./stringReader","./zipEntry","23","isEncrypted","bitFlag","useUTF8","prepareCompressedContent","from","previousIndex","compressedFileData","prepareContent","uncompressedFileData","localExtraFieldsLength","fileNameLength","checkCRC32","extraFieldsLength","fileCommentLength","diskNumberStart","internalFileAttributes","externalFileAttributes","readExtraFields","parseZIP64ExtraField","extraReader","start","upath","findExtraFieldUnicodePath","ucomment","findExtraFieldUnicodeComment","upathField","ucommentField","24","assign","deflate","inflate","constants","./lib/deflate","./lib/inflate","./lib/utils/common","./lib/zlib/constants","25","zlib_deflate","strings","msg","zstream","Z_NO_FLUSH","Z_FINISH","Z_OK","Z_STREAM_END","Z_DEFAULT_COMPRESSION","Z_DEFAULT_STRATEGY","Z_DEFLATED","Deflate","level","chunkSize","windowBits","memLevel","strategy","to","opt","raw","gzip","err","ended","chunks","strm","avail_out","status","deflateInit2","deflateSetHeader","mode","_mode","next_in","avail_in","Buf8","next_out","onEnd","onData","buf2binstring","shrinkBuf","deflateEnd","flattenChunks","deflator","./utils/common","./utils/strings","./zlib/deflate.js","./zlib/messages","./zlib/zstream","26","zlib_inflate","gzheader","Inflate","inflateInit2","inflateGetHeader","next_out_utf8","tail","utf8str","binstring2buf","arraySet","inflateEnd","inflator","ungzip","./zlib/constants","./zlib/gzheader","./zlib/inflate.js","27","TYPED_OK","Int32Array","obj","sources","source","shift","TypeError","p","fnTyped","dest","src","src_offs","dest_offs","l","fnUntyped","concat","setTyped","on","Buf16","Buf32","28","STR_APPLY_OK","STR_APPLY_UIA_OK","__","./common","29","adler32","adler","s1","s2","30","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_BLOCK","Z_TREES","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_BINARY","Z_TEXT","Z_UNKNOWN","31","makeTable","crcTable","end","32","trees","MAX_MEM_LEVEL","MAX_WBITS","DEF_MEM_LEVEL","LENGTH_CODES","LITERALS","L_CODES","D_CODES","BL_CODES","HEAP_SIZE","MAX_BITS","MIN_MATCH","MAX_MATCH","MIN_LOOKAHEAD","PRESET_DICT","INIT_STATE","EXTRA_STATE","NAME_STATE","COMMENT_STATE","HCRC_STATE","BUSY_STATE","FINISH_STATE","BS_NEED_MORE","BS_BLOCK_DONE","BS_FINISH_STARTED","BS_FINISH_DONE","OS_CODE","errorCode","rank","zero","flush_pending","state","pending","pending_buf","pending_out","total_out","flush_block_only","last","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","read_buf","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","match","best_len","prev_length","nice_match","limit","w_size","_win","wmask","w_mask","prev","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","_w_size","m","more","window_size","hash_size","head","insert","ins_h","hash_shift","hash_mask","deflate_stored","flush","max_block_size","pending_buf_size","max_start","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","last_lit","deflate_slow","max_insert","prev_match","match_available","deflate_rle","deflate_huff","Config","good_length","max_lazy","nice_length","max_chain","func","configuration_table","lm_init","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","heap","heap_len","heap_max","depth","l_buf","lit_bufsize","d_buf","opt_len","static_len","matches","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","deflateReset","deflateInit","old_flush","beg","val","text","hcrc","extra","time","os","level_flags","bstate","_tr_align","_tr_stored_block","deflateInfo","../utils/common","./adler32","./messages","./trees","33","GZheader","xflags","extra_len","done","34","BAD","TYPE","inflate_fast","_in","_out","dmax","wsize","whave","wnext","hold","bits","lcode","dcode","lmask","dmask","here","op","dist","from_source","lencode","distcode","lenbits","distbits","top","dolen","dodist","sane","35","inflate_table","CODES","LENS","DISTS","Z_MEM_ERROR","HEAD","FLAGS","TIME","OS","EXLEN","EXTRA","NAME","COMMENT","HCRC","DICTID","DICT","TYPEDO","STORED","COPY_","COPY","TABLE","LENLENS","CODELENS","LEN_","LEN","LENEXT","DIST","DISTEXT","MATCH","LIT","CHECK","LENGTH","DONE","MEM","SYNC","ENOUGH_LENS","ENOUGH_DISTS","DEF_WBITS","ZSWAP32","q","InflateState","havedict","flags","check","total","wbits","ncode","nlen","ndist","have","next","lens","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset","inflateReset2","inflateInit","virgin","lenfix","distfix","fixedtables","sym","updatewindow","put","left","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","opts","order","inf_leave","inflateInfo","./inffast","./inftrees","36","MAXBITS","lbase","lext","dbase","dext","lens_index","codes","table_index","curr","drop","used","huff","incr","fill","low","mask","base","base_index","count","offs","extra_index","37","0","-1","-2","-3","-4","-5","-6","38","STORED_BLOCK","STATIC_TREES","DYN_TREES","Buf_size","MAX_BL_BITS","END_BLOCK","REP_3_6","REPZ_3_10","REPZ_11_138","extra_lbits","extra_dbits","extra_blbits","bl_order","DIST_CODE_LEN","static_ltree","static_dtree","_dist_code","_length_code","base_length","base_dist","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","static_l_desc","static_d_desc","static_bl_desc","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","w","send_bits","send_code","tree","bi_reverse","bi_flush","gen_bitlen","desc","stree","h","xbits","overflow","gen_codes","next_code","tr_static_init","init_block","bi_windup","copy_block","smaller","_n2","_m2","pqdownheap","v","j","compress_block","ltree","dtree","lc","lx","build_tree","node","scan_tree","prevlen","curlen","nextlen","max_count","min_count","send_tree","build_bl_tree","max_blindex","send_all_trees","lcodes","dcodes","blcodes","detect_data_type","black_mask","static_init_done","stored_len","opt_lenb","static_lenb","39","ZStream","XLSX","make_xlsx","version","current_codepage","current_ansi","cptable","VALID_ANSI","CS2CP","77","128","129","130","134","136","161","162","163","177","178","186","204","222","238","255","69","set_ansi","cp","reset_ansi","set_cp","reset_cp","char_codes","utf16leread","utf16beread","debom","c1","_getchar","_gc1","_gc2","DENSE","DIF_XL","Base64","make_b64","map","c3","e1","e2","e3","e4","b64_decode","has_buf","process","versions","new_raw_buf","s2a","split","s2ab","view","a2s","_chr","a2u","ab2a","bconcat","bufs","chr0","SSF","make_ssf","_strrev","pad0","d","pad_","rpad_","pad0r1","round","pad0r2","p2_32","pow","pad0r","isgeneral","days","months","init_table","table_fmt","frac","D","mixed","sgn","B","P_2","P_1","P","Q_2","Q_1","Q","A","parse_date_code","b2","dow","dout","T","H","M","S","abs","date1904","setDate","getDay","fix_hijri","basedate","dnthresh","getTime","base1904","datenum_local","epoch","getTimezoneOffset","general_fmt_int","_general_int","general_fmt_num","make_general_fmt_num","gnr1","gnr2","gnr4","gnr5","gnr6","gfn2","gfn5","toFixed","toPrecision","toExponential","gfn3","gfn4","V","log","LOG10E","substr","_general_num","general_fmt","format","_general","write_date","fmt","ss0","ss","tt","outl","commaify","write_num","make_write_num","pct1","write_num_pct","sfmt","mul","write_num_cm","idx","write_num_exp","period","ee","fakee","$$","$1","$2","$3","frac1","write_num_f1","aval","sign","den","parseInt","rr","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","cc","rnd","dd","carry","flr","write_num_flt","ffmt","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","split_fmt","in_str","_split","abstime","fmt_is_date","is_date","eval_fmt","flen","lst","dt","hr","bt","ssm","nstr","jj","vv","myv","ostr","decpt","lasti","retval","_eval","cfregex","cfregex2","chkcond","thresh","parseFloat","choose_fmt","lat","m1","m2","dateNF","load_entry","_table","get_table","load_table","tbl","XLMLFormatMap","General Number","General Date","Long Date","Medium Date","Short Date","Long Time","Medium Time","Short Time","Currency","Fixed","Standard","Percent","Scientific","Yes/No","True/False","On/Off","SSFImplicit","41","42","43","44","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","70","71","72","73","74","75","76","78","79","80","81","dateNFregex","dateNF_regex","RegExp","dateNF_fix","Y","forEach","datestr","timestr","DO_NOT_EXPORT_CFB","CFB","_CFB","namecmp","L","R","Z","dirname","fs","get_fs","parse","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","prep_blob","mv","check_get_mver","check_shifts","dir_cnt","read_shift","chk","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPaths","read_directory","build_full_paths","HEADER_SIGNATURE","HEADER_CLSID","nsectors","ceil","FI","FP","C","pl","dad","get_mfat_entry","entry","payload","mini","MSSZ","__readInt32LE","new_buf","cnt","sector","get_sector_list","chkd","buf_chain","modulus","addr","nodes","__toBuffer","sl","minifat_store","namelen","__utf16le","color","clsid","ctime","ct","read_date","mtime","mt","storage","__readUInt32LE","read_file","readFileSync","read","init_cfb","cfb","CLSID","seed_cfb","nm","find","rebuild_cfb","gc","_file","pop","now","sort","elt","_write","_opts","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","write_shift","HEADER_SIG","chainit","consts","DIFSECT","FATSECT","_nm","UCFullPaths","UCPaths","UCPath","MAXREGSECT","FREESECT","HEADER_MINOR_VERSION","MAXREGSID","NOSTREAM","EntryTypes","write_file","writeFileSync","write","cfb_new","cfb_add","fpath","cfb_gc","cfb_del","splice","cfb_mov","old_name","new_name","writeFile","ReadShift","CheckField","_fs","blobify","write_dl","fname","enc","utf8write","IE_SaveFile","navigator","msSaveBlob","saveAs","URL","document","createElement","createObjectURL","download","url","href","body","appendChild","click","removeChild","revokeObjectURL","setTimeout","File","Folder","open","close","message","read_binary","infile","keys","evert_key","key","K","evert","evert_num","evert_arr","datenum","numdate","setTime","parse_isodur","sec","good_pd_date","good_pd","parseDate","fixdate","setFullYear","cc2str","arr","dup","JSON","stringify","fuzzynum","Number","wt","fuzzydate","NaN","getYear","safe_split_regex","split_regex","re","def","getdatastr","getdatabin","getdata","safegetzipfile","g","getzipfile","getzipdata","safe","getzipstr","jszip","resolve_path","target","step","XML_HEADER","attregexg","tagregex","nsregex","nsregex2","parsexmltag","tag","skip_root","z","eq","quot","trim","strip_ns","encodings",""","'",">","<","&","rencoding","unescapexml","encregex","coderegex","decregex","charegex","escapexml","escapexmltag","htmlcharegex","escapehtml","escapexlml","xlml_fixstr","entregex","entrepl","xlml_unfixstr","parsexmlbool","utf8read","utf8reada","orig","utf8readb","ww","corpus","utf8readc","matchtag","mtcache","htmldecode","entities","vtregex","vt_cache","vt_regex","vtvregex","vtmregex","parseVector","baseType","WTF","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","toISOString","write_vt","XMLNS","dc","dcterms","dcmitype","mx","sjs","vt","xsi","xsd","main","XLMLNS","html","read_double_le","Infinity","write_double_le","bs","av","isFinite","LN2","___toBuffer","__readUInt16LE","___utf16le","__hexlify","___hexlify","__utf8","__readUInt8","__lpstr","___lpstr","__cpstr","___cpstr","__lpwstr","___lpwstr","__lpp4","___lpp4","lpp4_","__8lpp4","___8lpp4","__double","___double","is_buf","is_buf_a","lpstr_b","readUInt32LE","cpstr_b","lpwstr_b","lpp4_b","lpp4_8b","utf8_b","double_","readDoubleLE","is_buf_b","__readInt16LE","__readInt32BE","oI","oR","oo","loc","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","hexstr","fld","parsenoop","sz","recordhopper","cb","tmpbyte","cntbyte","RT","tgt","XLSBRecordEnum","buf_array","blksz","newblk","ba_newblk","curbuf","endbuf","ba_endbuf","ba_next","ba_end","ba_push","_bufs","write_record","ba","XLSBRE","shift_cell_xls","cell","cRel","rRel","biff","shift_range_xls","range","encode_cell_xls","encode_cell","fix_col","fix_row","encode_range_xls","encode_col","encode_row","OFFCRYPTO","make_offcrypto","O","_crypto","crypto","rc4","md5","createHash","update","digest","decode_row","rowstr","unfix_row","row","cstr","decode_col","colstr","unfix_col","col","split_cell","decode_cell","splt","decode_range","encode_range","cs","ce","safe_decode_range","safe_format_cell","XF","numFmtId","format_cell","sheet_to_workbook","sheet","sheets","SheetNames","Sheets","sheet_add_aoa","_ws","dense","ws","_R","_C","origin","_origin","_range","__R","__C","cellStubs","cellDates","cell_ref","aoa_to_sheet","write_UInt32LE","parse_XLWideString","cchCharacters","write_XLWideString","_null","parse_StrRun","ich","ifnt","write_StrRun","run","parse_RichStr","rgsStrRun","dwSizeStrRun","write_RichStr","parse_BrtCommentText","write_BrtCommentText","parse_XLSBCell","iStyleRef","write_XLSBCell","parse_XLSBCodeName","write_XLSBCodeName","parse_XLNullableWideString","write_XLNullableWideString","parse_XLNameWideString","parse_RelID","write_RelID","parse_RkNumber","fX100","fInt","RK","write_RkNumber","d100","parse_RfX","write_RfX","parse_UncheckedRfX","write_UncheckedRfX","parse_Xnum","write_Xnum","BErr","RBErr","parse_BrtColor","xColorType","nTS","bR","bG","bB","auto","icv","XLSIcv","rgb","rgb2Hex","theme","tint","write_BrtColor","parse_FontFlags","fItalic","fStrikeout","fOutline","fShadow","fCondense","fExtend","write_FontFlags","font","grbit","italic","strike","outline","shadow","condense","parse_ClipboardFormatOrString","ClipFmt","parse_ClipboardFormatOrAnsiString","parse_ClipboardFormatOrUnicodeString","VT_I2","VT_I4","VT_BOOL","VT_VARIANT","VT_UI4","VT_LPSTR","VT_FILETIME","VT_CF","VT_VECTOR","VT_STRING","VT_USTR","VT_CUSTOM","DocSummaryPIDDSI","SummaryPIDSI","SpecialProperties","2147483648","2147483651","1919054434","CountryEnum","45","46","47","48","49","82","84","86","90","105","213","216","218","351","354","358","420","886","961","962","963","964","965","966","971","972","974","981","65535","XLSFillPattern","rgbify","ct2type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","application/vnd.ms-excel.binIndexWs","application/vnd.ms-excel.intlmacrosheet","application/vnd.ms-excel.binIndexMs","application/vnd.openxmlformats-package.core-properties+xml","application/vnd.openxmlformats-officedocument.custom-properties+xml","application/vnd.openxmlformats-officedocument.extended-properties+xml","application/vnd.openxmlformats-officedocument.customXmlProperties+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty","application/vnd.ms-excel.pivotTable","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","application/vnd.ms-office.chartcolorstyle+xml","application/vnd.ms-office.chartstyle+xml","application/vnd.ms-excel.calcChain","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings","application/vnd.ms-office.activeX","application/vnd.ms-office.activeX+xml","application/vnd.ms-excel.attachedToolbars","application/vnd.ms-excel.connections","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","application/vnd.ms-excel.externalLink","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","application/vnd.ms-excel.sheetMetadata","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","application/vnd.ms-excel.pivotCacheDefinition","application/vnd.ms-excel.pivotCacheRecords","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","application/vnd.ms-excel.queryTable","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","application/vnd.ms-excel.userNames","application/vnd.ms-excel.revisionHeaders","application/vnd.ms-excel.revisionLog","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","application/vnd.ms-excel.tableSingleCells","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","application/vnd.ms-excel.slicer","application/vnd.ms-excel.slicerCache","application/vnd.ms-excel.slicer+xml","application/vnd.ms-excel.slicerCache+xml","application/vnd.ms-excel.wsSortMap","application/vnd.ms-excel.table","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","application/vnd.openxmlformats-officedocument.theme+xml","application/vnd.openxmlformats-officedocument.themeOverride+xml","application/vnd.ms-excel.Timeline+xml","application/vnd.ms-excel.TimelineCache+xml","application/vnd.ms-office.vbaProject","application/vnd.ms-office.vbaProjectSignature","application/vnd.ms-office.volatileDependencies","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","application/vnd.ms-excel.controlproperties+xml","application/vnd.openxmlformats-officedocument.model+data","application/vnd.ms-excel.Survey+xml","application/vnd.openxmlformats-officedocument.drawing+xml","application/vnd.openxmlformats-officedocument.drawingml.chart+xml","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","application/vnd.openxmlformats-officedocument.vmlDrawing","application/vnd.openxmlformats-package.relationships+xml","application/vnd.openxmlformats-officedocument.oleObject","image/png","CT_LIST","workbooks","xlsx","xlsm","xlsb","xlam","xltx","strs","comments","charts","dialogs","macros","styles","type2ct","CT","new_ct","rels","links","coreprops","extprops","custprops","themes","calcchains","vba","drawings","TODO","xmlns","parse_ct","ctext","Extension","ContentType","PartName","calcchain","sst","style","CTYPE_XML_ROOT","xmlns:xsd","xmlns:xsi","CTYPE_DEFAULTS","write_ct","f1","bookType","f2","f3","RELS","WB","SHEET","HLINK","VML","VBA","get_rels_path","parse_rels","currentFilePath","hash","rel","Type","Target","Id","TargetMode","canonictarget","RELS_ROOT","write_rels","rid","add_rels","rId","relobj","CT_ODS","parse_manifest","xlml_normalize","Rn","FEtag","xlmlregex","exec","write_manifest","manifest","write_rdf_type","write_rdf_has","write_rdf","rdf","write_meta_ods","wmo","CORE_PROPS","CORE_PROPS_REGEX","parse_core_props","cur","CORE_PROPS_XML_ROOT","xmlns:cp","xmlns:dc","xmlns:dcterms","xmlns:dcmitype","cp_doit","write_core_props","Props","CreatedDate","xsi:type","ModifiedDate","EXT_PROPS","parse_ext_props","HeadingPairs","TitlesOfParts","parts","Worksheets","NamedRanges","DefinedNames","Chartsheets","ChartNames","EXT_PROPS_XML_ROOT","xmlns:vt","write_ext_props","W","Application","CUST_PROPS","custregex","parse_cust_props","toks","console","warn","CUST_PROPS_XML_ROOT","write_cust_props","pid","custprop","fmtid","XLMLDocPropsMap","Title","Subject","Author","Keywords","Comments","LastAuthor","RevNumber","LastPrinted","Category","Manager","Company","AppVersion","ContentStatus","Identifier","Language","evert_XLMLDPM","xlml_set_prop","xlml_write_docprops","xlml_write_custprops","Custprops","BLACKLIST","dt:dt","parse_FILETIME","dwLowDateTime","dwHighDateTime","parse_lpstr","pad","parse_lpwstr","parse_VtStringBase","stringType","parse_VtString","parse_VtUnalignedString","parse_VtVecUnalignedLpstrValue","parse_VtVecUnalignedLpstr","parse_VtHeadingPair","headingString","parse_TypedPropertyValue","headerParts","parse_VtVecHeadingPairValue","cElements","parse_VtVecHeadingPair","parse_dictionary","CodePage","dict","parse_BLOB","parse_ClipboardData","Size","parse_PropertySet","PIDSI","start_addr","NumProps","Dictionary","DictObj","PropID","Offset","PropH","fail","piddsi","oldpos","parsebool","parse_PropertySetStream","NumSets","FMTID0","FMTID1","Offset0","Offset1","SystemIdentifier","PSet0","rval","FMTID","PSet1","parsenoop2","writezeroes","parslurp","writebool","parseuint16","writeuint16","parseuint16a","parse_Bes","write_Bes","parse_ShortXLUnicodeString","cch","fHighByte","parse_XLUnicodeRichExtendedString","fExtSt","fRichSt","width","cRun","cbExtRst","parse_XLUnicodeStringNoCch","parse_XLUnicodeString","parse_XLUnicodeString2","write_XLUnicodeString","parse_ControlInfo","accel","parse_URLMoniker","parse_FileMoniker","ansiPath","unicodePath","parse_HyperlinkMoniker","parse_HyperlinkString","parse_Hyperlink","sVer","displayName","targetFrameName","moniker","oleMoniker","Loc","guid","fileTime","Tooltip","write_Hyperlink","hl","F","parse_LongRGBA","parse_LongRGB","parse_XLSCell","rw","ixfe","write_XLSCell","parse_frtHeader","rt","parse_OptXLUnicodeString","parse_XTI","iSupBook","itabFirst","itabLast","parse_RkRec","parse_AddinUdf","udfName","parse_Ref8U","rwFirst","rwLast","colFirst","colLast","write_Ref8U","parse_RefU","parse_Ref","parse_FtCmo","ot","parse_FtNts","fSharedNote","parse_FtCf","cf","parse_FtSkip","FtTab","parse_FtArray","fts","ft","parse_BOF","BIFFVer","write_BOF","wb","parse_InterfaceHdr","parse_WriteAccess","UserName","write_WriteAccess","b8","parse_WsBool","fDialog","parse_BoundSheet8","hidden","hs","write_BoundSheet8","parse_SST","ucnt","Count","Unique","parse_ExtSST","extsst","dsst","parse_Row","miyRw","hpt","parse_ForceFullCalculation","fullcalc","parse_RecalcId","parse_DefaultRowHeight","fl","Unsynced","DyZero","ExAsc","ExDsc","parse_Window1","xWn","yWn","dxWn","dyWn","iTabCur","iTabFirst","ctabSel","wTabRatio","Pos","Dim","Flags","CurTab","FirstTab","Selected","TabRatio","write_Window1","parse_Window2","RTL","write_Window2","parse_Font","dyHeight","write_Font","b5","parse_LabelSst","isst","parse_Label","write_Label","parse_Format","fmtstr","write_Format","parse_BIFF2Format","parse_Dimensions","write_Dimensions","parse_RK","rkrec","rknum","parse_MulRk","rkrecs","lastcol","parse_MulBlank","ixfes","parse_CellStyleXF","patternType","cellStyles","alc","fWrap","alcV","fJustLast","trot","cIndent","fShrinkToFit","iReadOrder","fAtrNum","fAtrFnt","fAtrAlc","fAtrBdr","fAtrPat","fAtrProt","dgLeft","dgRight","dgTop","dgBottom","icvLeft","icvRight","grbitDiag","icvTop","icvBottom","icvDiag","dgDiag","icvFore","icvBack","fsxButton","parse_XF","fStyle","write_XF","ixfeP","parse_Guts","write_Guts","guts","parse_BoolErr","write_BoolErr","parse_Number","xnum","write_Number","parse_XLHeaderFooter","parse_SupBook","ctab","sbcch","virtPath","rgst","parse_ExternName","fBuiltIn","fWantAdvise","fWantPict","fOle","fOleLink","fIcon","Name","XLSLblBuiltIn","parse_Lbl","chKey","cce","itab","npflen","rgce","parse_NameParsedFormula","parse_ExternSheet","parse_BIFF5ExternSheet","parse_NameCmt","cchName","cchComment","parse_ShrFmla","ref","cUse","parse_SharedParsedFormula","parse_Array","parse_ArrayParsedFormula","parse_MTRSettings","fMTREnabled","fUserSetThreadCount","cUserThreadCount","parse_NoteSh","idObj","stAuthor","parse_Note","parse_MergeCells","merges","cmcs","write_MergeCells","parse_Obj","parse_BIFF5Obj","cmo","parse_BIFF5OT","parse_TxO","texts","lastobj","controlInfo","cchText","hdr","parse_HLink","hlink","write_HLink","parse_HLinkTooltip","wzTooltip","write_HLinkTooltip","TT","parse_Country","write_Country","parse_ClrtClient","ccv","parse_Palette","parse_XFCRC","cxfs","parse_ColInfo","coldx","parse_Setup","footer","parse_ShtProps","area","write_RRTabId","parse_Blank","parse_Scl","parse_String","parse_ImData","env","lcb","parse_BIFF2STR","parse_BIFF2NUM","num","write_BIFF2NUM","write_BIFF2Cell","parse_BIFF2INT","write_BIFF2INT","parse_BIFF2STRING","parse_BIFF2FONTXTRA","parse_RString","DBF","dbf_codepage_map","100","101","102","103","104","106","107","120","121","122","123","124","125","126","150","151","152","200","201","202","203","87","88","89","dbf_to_aoa","memo","vfp","l7","nrow","fpos","rlen","current_cp","fields","field","hend","dbf_to_sheet","dbf_to_workbook","_RLEN","?","","sheet_to_dbf","aoa","sheet_to_json","headers","hcnt","coltypes","guess","_guess","hf","_f","hb","rout","_s","to_workbook","to_sheet","from_sheet","SYLK","sylk_to_aoa","sylk_to_aoa_str","records","rj","formats","next_cell_format","sht","rowinfo","colinfo","cw","Mval","rstr","record","formula","rc_to_a1","F_seen","wch","process_col","hpx","pt2px","sylk_to_sheet","aoasht","sylk_to_workbook","write_ws_cell_sylk","a1_to_rc","write_ws_cols_sylk","cols","rec","wpx","width2px","px2char","write_ws_rows_sylk","rows","px2pt","sheet_to_sylk","preamble","RS","coord","DIF","dif_to_aoa","dif_to_aoa_str","metadata","dif_to_sheet","dif_to_workbook","sheet_to_dif","push_field","pf","topic","push_value","po","ETH","eth_to_aoa","eth_to_sheet","eth_to_workbook","sep","meta","sheet_to_eth_data","sheet_to_eth","PRN","set_text_arr","prn_to_aoa_str","lines","guess_seps","guess_sep_weights","guess_sep","instr","dsv_to_sheet_str","sepcc","_re","finish_cell","fuzzyfmla","cellText","cellNF","prn_to_sheet_str","prn_to_sheet","firstbyte","codepage","prn_to_workbook","sheet_to_prn","read_wb_ID","OLD_WTF","WK_","lotushopper","Enum","WK1Enum","lotus_to_workbook","lotus_to_workbook_buf","sidx","snames","refguess","WK3Enum","qpro","vers","parse_RANGE","parse_cell","parse_LABEL","parse_INTEGER","parse_NUMBER","parse_FORMULA","parse_cell_3","parse_LABEL_16","parse_NUMBER_18","parse_NUMBER_17","v1","v2","parse_FORMULA_19","parse_NUMBER_25","parse_NUMBER_27","parse_FORMULA_28","40","parse_rs","parse_rs_factory","tregex","rpregex","rregex","rend","nlregex","parse_rpr","rpr","intro","outro","align","uval","family","parse_r","terms","rs","sitregex","sirregex","sirphregex","parse_si","cellHTML","sstr0","sstr1","sstr2","parse_sst_xml","uniqueCount","SST","straywsregex","write_sst_xml","bookSST","sitag","parse_BrtBeginSst","parse_sst_bin","pass","hopper_sst","R_n","write_BrtBeginSst","write_BrtSSTItem","write_sst_bin","_JS2ANSI","parse_CRYPTOVersion","Major","Minor","parse_DataSpaceVersionInfo","U","parse_DataSpaceMapEntry","comps","parse_DataSpaceMap","parse_DataSpaceDefinition","parse_TransformInfoHeader","parse_Primary","ename","cmode","parse_EncryptionHeader","AlgID","valid","AlgIDHash","KeySize","ProviderType","CSPName","parse_EncryptionVerifier","Salt","Verifier","VerifierHash","parse_EncryptionInfo","parse_EncInfoStd","parse_EncInfoExt","parse_EncInfoAgl","verifier","KeyData","xml","xml_agile","encryptedHmacKey","encryptedHmacValue","encs","uri","parse_RC4CryptoHeader","EncryptionVersionInfo","EncryptionHeader","EncryptionVerifier","parse_RC4Header","EncryptedVerifier","EncryptedVerifierHash","crypto_CreatePasswordVerifier_Method1","Password","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","crypto_CreateXorArray_Method1","PadArray","InitialCode","XorMatrix","Ror","Byte","XorRor","byte1","byte2","CreateXorKey_Method1","XorKey","CurrentElement","Char","password","Index","ObfuscationArray","Temp","PasswordLastChar","PadIndex","crypto_DecryptData_Method1","Data","XorArrayIndex","XorArray","Value","crypto_MakeXorDecryptor","parse_XORObfuscation","verificationBytes","insitu","parse_FilePassHeader","Info","parse_FilePass","RTF","rtf_to_sheet","rtf_to_sheet_str","rtf_to_workbook","sheet_to_rtf","hex2RGB","rgb2HSL","G","H6","L2","hsl2RGB","hsl","h6","X","rgb_tint","DEF_MDW","MAX_MDW","MIN_MDW","MDW","px","char2width","chr","cycle_width","collw","find_mdw_colw","delta","_MDW","coll","customWidth","DEF_PPI","PPI","pt","XLMLPatternTypeMap","None","Solid","Gray50","Gray75","Gray25","HorzStripe","VertStripe","ReverseDiagStripe","DiagStripe","DiagCross","ThickDiagCross","ThinHorzStripe","ThinVertStripe","ThinReverseDiagStripe","ThinHorzCross","parse_borders","Borders","border","diagonalUp","diagonalDown","parse_fills","Fills","bgColor","indexed","fgColor","parse_fonts","Fonts","bold","underline","vertAlign","scheme","themeElements","clrScheme","parse_numFmts","NumberFmt","formatCode","write_numFmts","NF","cellXF_uint","cellXF_bool","parse_cellXfs","CellXf","xf","alignment","vertical","horizontal","textRotation","indent","wrapText","write_cellXfs","cellXfs","parse_sty_xml","make_pstyx","numFmtRegex","cellXfRegex","fillsRegex","fontsRegex","bordersRegex","STYLES_XML_ROOT","STY","write_sty_xml","parse_BrtFmt","stFmtCode","write_BrtFmt","parse_BrtFont","bls","bCharSet","charset","write_BrtFont","sss","XLSBFillPTNames","rev_XLSBFillPTNames","parse_BrtFill","write_BrtFill","fls","parse_BrtXF","ixfeParent","ifmt","write_BrtXF","write_Blxf","parse_BrtBorder","write_BrtBorder","write_BrtStyle","xfId","builtinId","write_BrtBeginTableStyles","defTableStyle","defPivotStyle","parse_sty_bin","hopper_sty","write_FMTS_bin","write_FONTS_bin","write_FILLS_bin","write_BORDERS_bin","write_CELLSTYLEXFS_bin","fontId","fillId","borderId","write_CELLXFS_bin","write_STYLES_bin","write_DXFS_bin","write_TABLESTYLES_bin","write_COLORPALETTE_bin","write_sty_bin","THEME","parse_clrScheme","lastClr","parse_fontScheme","parse_fmtScheme","clrsregex","fntsregex","fmtsregex","parse_themeElements","themeltregex","parse_theme_xml","write_theme","Themes","themeXLSX","parse_Theme","dwThemeVersion","themeXML","parse_ColorTheme","parse_FullColorExt","xclrType","nTintShade","xclrValue","parse_IcvXF","parse_XFExtGradient","parse_ExtProp","extType","parse_XFExt","cexts","ext","update_xfext","xfext","xfe","parse_cc_xml","parse_BrtCalcChainItem$","parse_cc_bin","hopper_cc","parse_xlink_xml","parse_xlink_bin","xlink_parse","IMG","DRAW","parse_drawing","_shapeid","write_comments_vml","csize","bbox","xmlns:v","xmlns:o","xmlns:x","xmlns:mv","v:ext","joinstyle","gradientshapeok","o:connecttype","o:spt","coordsize","fillcolor","strokecolor","color2","angle","obscured","CMNT","parse_comments","dirComments","sheetRels","canonicalpath","parse_cmnt","sheetNames","sheetName","insertCommentsIntoSheet","thisCell","encoded","author","parse_comments_xml","authors","commentList","authtag","cmnttag","cm","authorId","sheetRows","textMatch","CMNT_XML_ROOT","write_comments_xml","iauthor","parse_BrtBeginComment","rfx","write_BrtBeginComment","parse_BrtCommentAuthor","write_BrtCommentAuthor","parse_comments_bin","hopper_cmnt","write_comments_bin","CT_VBA","make_vba_xls","newcfb","newpath","fill_vba_xls","VBAFMTS","DS","MS","parse_ds_bin","!type","parse_ds_xml","parse_ms_bin","parse_ms_xml","rcregex","rcbase","rcfunc","$4","$5","fstr","crefregex","$0","shift_formula_str","shift_formula_xlsx","_xlfn","parseread1","parse_ColRelU","parse_RgceArea","parse_RgceArea_BIFF2","parse_RgceAreaRel","parse_RgceLoc","parse_RgceLoc_BIFF2","parse_RgceElfLoc","fQuoted","parse_RgceLocRel","parse_RgceLocRel_BIFF2","cl","rl","parse_PtgArea","parse_PtgArea3d","ixti","parse_PtgAreaErr","parse_PtgAreaErr3d","parse_PtgAreaN","parse_PtgArray","parse_PtgAttrBaxcel","bitSemi","bitBaxcel","parse_PtgAttrChoose","parse_PtgAttrGoto","bitGoto","parse_PtgAttrIf","bitIf","parse_PtgAttrIfError","parse_PtgAttrSemi","parse_PtgAttrSpaceType","parse_PtgAttrSpace","parse_PtgAttrSpaceSemi","parse_PtgRef","parse_PtgRefN","parse_PtgRef3d","parse_PtgFunc","iftab","FtabArgc","Ftab","parse_PtgFuncVar","cparams","tab","parsetab","Cetab","parse_PtgAttrSum","parse_PtgExp","parse_PtgErr","parse_PtgInt","parse_PtgBool","parse_PtgNum","parse_PtgStr","parse_SerAr","parse_PtgExtraMem","parse_PtgExtraArray","parse_PtgName","nameindex","parse_PtgNameX","parse_PtgNameX_BIFF5","parse_PtgMemArea","parse_PtgMemFunc","parse_PtgRefErr","parse_PtgRefErr3d","parse_PtgMemErr","parse_PtgMemNoMem","parse_PtgTbl","parse_PtgElfLoc","parse_PtgElfNoop","parse_PtgElfCol","parse_PtgElfColS","parse_PtgElfColSV","parse_PtgElfColV","parse_PtgElfLel","parse_PtgElfRadical","parse_PtgElfRadicalLel","parse_PtgElfRadicalS","parse_PtgElfRw","parse_PtgElfRwV","parse_PtgList","parse_PtgSxName","PtgTypes","PtgDupes","96","97","98","99","108","109","91","92","93","Ptg18","Ptg19","parse_RgbExtra","parse_Rgce","ptgs","stringify_array","PtgBinOp","PtgAdd","PtgConcat","PtgDiv","PtgEq","PtgGe","PtgGt","PtgLe","PtgLt","PtgMul","PtgNe","PtgPower","PtgSub","formula_quote_sheet_name","sname","get_ixti_raw","supbooks","XTI","SID","get_ixti","stringify_formula","stack","nameidx","last_sp","sp","fflen","argc","args","lbl","names","XLSXFutureFunctions","bookidx","externbook","lp","rp","sharedf","parsedf","fnd","arrayf","PtgNonDisp","_left","rgcb","parse_XLSCellParsedFormula","parse_FormulaValue","parse_Formula","cbf","shared","parse_XLSBParsedFormula","parse_XLSBArrayParsedFormula","parse_XLSBCellParsedFormula","parse_XLSBNameParsedFormula","parse_XLSBSharedParsedFormula","83","85","94","95","110","111","112","113","114","115","116","117","118","119","127","131","132","133","135","137","138","139","140","142","143","144","145","146","147","148","149","153","155","159","164","166","167","168","169","170","171","172","173","174","175","185","187","188","189","190","191","192","193","194","195","196","197","198","199","206","207","208","209","210","211","212","214","215","217","219","220","223","224","225","226","227","228","229","240","243","249","250","251","252","253","254","256","259","260","265","266","267","268","269","272","273","274","276","277","278","279","280","281","282","283","284","285","288","289","290","291","292","293","295","296","297","298","302","305","306","307","308","309","310","311","312","313","314","315","316","318","319","320","321","322","323","324","325","328","330","336","338","339","342","343","344","350","352","355","356","370","373","374","375","376","377","378","379","380","381","382","383","384","385","386","388","390","391","392","393","394","395","396","397","398","399","400","412","413","414","415","416","417","421","422","423","424","425","430","431","432","433","434","435","436","437","438","439","440","441","442","443","444","445","446","447","448","449","450","451","452","453","454","455","456","458","459","460","461","462","463","464","465","466","467","468","469","470","471","472","473","474","475","476","477","478","480","481","482","485","489","491","493","494","495","509","510","511","517","518","519","520","521","522","523","545","546","547","548","549","620","621","647","653","667","673","753","755","808","141","154","156","157","158","160","165","176","179","180","181","182","183","184","205","221","230","231","232","233","234","235","236","237","239","241","242","244","245","246","247","248","257","258","261","262","263","264","270","271","275","286","287","294","299","300","301","303","304","317","326","327","329","331","332","334","335","337","340","341","345","346","347","348","349","353","357","359","360","361","362","363","364","365","366","367","368","369","371","372","387","389","401","402","403","404","405","406","407","408","409","410","411","418","419","426","427","428","429","457","724","479","483","484","_xlfn.ACOT","_xlfn.ACOTH","_xlfn.AGGREGATE","_xlfn.ARABIC","_xlfn.AVERAGEIF","_xlfn.AVERAGEIFS","_xlfn.BASE","_xlfn.BETA.DIST","_xlfn.BETA.INV","_xlfn.BINOM.DIST","_xlfn.BINOM.DIST.RANGE","_xlfn.BINOM.INV","_xlfn.BITAND","_xlfn.BITLSHIFT","_xlfn.BITOR","_xlfn.BITRSHIFT","_xlfn.BITXOR","_xlfn.CEILING.MATH","_xlfn.CEILING.PRECISE","_xlfn.CHISQ.DIST","_xlfn.CHISQ.DIST.RT","_xlfn.CHISQ.INV","_xlfn.CHISQ.INV.RT","_xlfn.CHISQ.TEST","_xlfn.COMBINA","_xlfn.CONCAT","_xlfn.CONFIDENCE.NORM","_xlfn.CONFIDENCE.T","_xlfn.COT","_xlfn.COTH","_xlfn.COUNTIFS","_xlfn.COVARIANCE.P","_xlfn.COVARIANCE.S","_xlfn.CSC","_xlfn.CSCH","_xlfn.DAYS","_xlfn.DECIMAL","_xlfn.ECMA.CEILING","_xlfn.ERF.PRECISE","_xlfn.ERFC.PRECISE","_xlfn.EXPON.DIST","_xlfn.F.DIST","_xlfn.F.DIST.RT","_xlfn.F.INV","_xlfn.F.INV.RT","_xlfn.F.TEST","_xlfn.FILTERXML","_xlfn.FLOOR.MATH","_xlfn.FLOOR.PRECISE","_xlfn.FORECAST.ETS","_xlfn.FORECAST.ETS.CONFINT","_xlfn.FORECAST.ETS.SEASONALITY","_xlfn.FORECAST.ETS.STAT","_xlfn.FORECAST.LINEAR","_xlfn.FORMULATEXT","_xlfn.GAMMA","_xlfn.GAMMA.DIST","_xlfn.GAMMA.INV","_xlfn.GAMMALN.PRECISE","_xlfn.GAUSS","_xlfn.HYPGEOM.DIST","_xlfn.IFERROR","_xlfn.IFNA","_xlfn.IFS","_xlfn.IMCOSH","_xlfn.IMCOT","_xlfn.IMCSC","_xlfn.IMCSCH","_xlfn.IMSEC","_xlfn.IMSECH","_xlfn.IMSINH","_xlfn.IMTAN","_xlfn.ISFORMULA","_xlfn.ISO.CEILING","_xlfn.ISOWEEKNUM","_xlfn.LOGNORM.DIST","_xlfn.LOGNORM.INV","_xlfn.MAXIFS","_xlfn.MINIFS","_xlfn.MODE.MULT","_xlfn.MODE.SNGL","_xlfn.MUNIT","_xlfn.NEGBINOM.DIST","_xlfn.NETWORKDAYS.INTL","_xlfn.NIGBINOM","_xlfn.NORM.DIST","_xlfn.NORM.INV","_xlfn.NORM.S.DIST","_xlfn.NORM.S.INV","_xlfn.NUMBERVALUE","_xlfn.PDURATION","_xlfn.PERCENTILE.EXC","_xlfn.PERCENTILE.INC","_xlfn.PERCENTRANK.EXC","_xlfn.PERCENTRANK.INC","_xlfn.PERMUTATIONA","_xlfn.PHI","_xlfn.POISSON.DIST","_xlfn.QUARTILE.EXC","_xlfn.QUARTILE.INC","_xlfn.QUERYSTRING","_xlfn.RANK.AVG","_xlfn.RANK.EQ","_xlfn.RRI","_xlfn.SEC","_xlfn.SECH","_xlfn.SHEET","_xlfn.SHEETS","_xlfn.SKEW.P","_xlfn.STDEV.P","_xlfn.STDEV.S","_xlfn.SUMIFS","_xlfn.SWITCH","_xlfn.T.DIST","_xlfn.T.DIST.2T","_xlfn.T.DIST.RT","_xlfn.T.INV","_xlfn.T.INV.2T","_xlfn.T.TEST","_xlfn.TEXTJOIN","_xlfn.UNICHAR","_xlfn.UNICODE","_xlfn.VAR.P","_xlfn.VAR.S","_xlfn.WEBSERVICE","_xlfn.WEIBULL.DIST","_xlfn.WORKDAY.INTL","_xlfn.XOR","_xlfn.Z.TEST","ods_to_csf_formula","csf_to_ods_formula","ods_to_csf_3D","csf_to_ods_3D","_ssfopts","WS","get_sst_id","col_obj_w","default_margins","margins","defs","right","bottom","get_cell_style","revssf","ssf","applyNumberFormat","safe_format","fillid","raw_rgb","parse_ws_xml_dim","mergecregex","sheetdataregex","hlinkregex","dimregex","colregex","afregex","marginregex","sheetprregex","svsregex","parse_ws_xml","data1","data2","mtch","sheetPr","parse_ws_xml_sheetpr","ridx","svs","parse_ws_xml_sheetviews","columns","parse_ws_xml_cols","parse_ws_xml_data","afilter","parse_ws_xml_autofilter","_merge","parse_ws_xml_hlinks","parse_ws_xml_margins","tmpref","write_ws_xml_merges","codeName","CodeName","write_ws_xml_protection","deffalse","deftrue","location","Rel","tooltip","rng","margin","write_ws_xml_margins","seencol","coli","colm","colM","write_ws_xml_cols","write_ws_xml_autofilter","sviewregex","rightToLeft","Views","write_ws_xml_sheetviews","sview","workbookViewId","Workbook","write_ws_xml_cell","oldt","oldv","Strings","cellregex","rowregex","isregex","refregex","match_v","match_f","sdata","cells","cref","tagr","tagc","sstr","ftag","do_format","rowobj","rowrite","marr","marrlen","xlen","ht","outlineLevel","cellFormula","si","_tag","sheetStubs","_r","write_ws_xml_data","params","height","_cell","customHeight","WS_XML_ROOT","xmlns:r","write_ws_xml","rdata","vbaraw","cname","sheetFormat","defaultRowHeight","baseColWidth","outlineLevelRow","relc","numberStoredAsText","sqref","r:id","parse_BrtRowHdr","write_BrtRowHdr","ncolspan","lcs","caddr","first","write_row_header","parse_BrtWsDim","write_BrtWsDim","parse_BrtWsFmtInfo","parse_BrtWsProp","write_BrtWsProp","parse_BrtCellBlank","write_BrtCellBlank","ncell","parse_BrtCellBool","fBool","write_BrtCellBool","parse_BrtCellError","bError","parse_BrtCellIsst","write_BrtCellIsst","parse_BrtCellReal","write_BrtCellReal","parse_BrtCellRk","write_BrtCellRk","parse_BrtCellSt","write_BrtCellSt","parse_BrtFmlaBool","parse_BrtFmlaError","parse_BrtFmlaNum","parse_BrtFmlaString","parse_BrtMergeCell","write_BrtMergeCell","write_BrtBeginMergeCells","parse_BrtHLink","relId","display","write_BrtHLink","locidx","parse_BrtArrFmla","fAlwaysCalc","parse_BrtShrFmla","write_BrtColInfo","BrtMarginKeys","parse_BrtMargins","write_BrtMargins","parse_BrtBeginWsView","write_BrtBeginWsView","write_BrtCellIgnoreEC","write_BrtSheetProtection","parse_ws_bin","!id","ai","af","Names","ws_parse","aii","_d","write_ws_bin_cell","write_CELLTABLE","cap","write_MERGECELLS","write_COLINFOS","write_IGNOREECS","write_HLINKS","write_LEGACYDRAWING","write_AUTOFILTER","write_WSVIEWS2","write_WSFMTINFO","write_SHEETPROTECT","write_ws_bin","parse_numCache","nf","parse_chart","csheet","nc","cache","CS","CS_XML_ROOT","parse_cs_xml","!chart","!rel","write_cs_xml","parse_BrtCsProp","parse_cs_bin","cs_parse","write_cs_bin","WBPropsDef","WBViewDef","SheetDef","CalcPrDef","push_defaults_array","push_defaults","parse_wb_defaults","WBProps","CalcPr","WBView","safe1904","badchars","check_ws_name","_good","check_wb_names","N","cn","check_wb","wbnsregex","parse_wb_xml","dname","dnstart","xml_wb","Hidden","Comment","localSheetId","Sheet","Ref","WB_XML_ROOT","write_wb_xml","write_names","workbookPr","sheetId","parse_BrtBundleSh","iTabID","strRelID","write_BrtBundleSh","parse_BrtWbProp","defaultThemeVersion","strName","autoCompressPictures","backupFile","checkCompatibility","filterPrivacy","hidePivotFieldList","promptedSolutions","publishItems","refreshAllConnections","saveExternalLinkValues","showBorderUnselectedTables","showInkAnnotation","showObjects","showPivotChartFilter","updateLinks","write_BrtWbProp","parse_BrtFRTArchID$","ArchID","parse_BrtName","Ptg","parse_wb_bin","hopper_wb","write_BUNDLESHS","viz","write_BrtFileVersion","write_BrtBookView","write_BOOKVIEWS","vistab","write_wb_bin","parse_wb","parse_ws","parse_cs","parse_ms","parse_ds","parse_sty","parse_theme","parse_sst","parse_cc","parse_xlink","write_wb","write_ws","write_cs","write_sty","write_sst","write_cmnt","attregexg2","attregex2","xlml_parsexmltag","words","xlml_parsexmltagobj","xlml_format","xlml_set_custprop","oval","safe_format_xlml","process_style_xlml","stag","Interior","I","Pattern","ID","parse_xlml_data","csty","sid","StyleID","interiors","Parent","UTC","Formula","ArrayRange","xlml_clean_comment","parse_xlml_xml","opening","ishtml","HTML_","tmp","sheetnames","cursheet","sheetname","dtag","didx","fidx","pidx","cstys","wsprops","lastIndex","HRef","HRefScreenTip","MergeAcross","MergeDown","cma","cmd","AutoFitHeight","Height","Format","ssfidx","Width","_col","Span","_NamedRange","_DefinedName","RefersTo","AutoFilter","Range","parse_fods","seen","Margin","pagemargins","Top","Left","Right","Bottom","bookSheets","bookProps","parse_xlml","fix_read_opts","write_props_xlml","write_wb_xlml","write_sty_xlml","ss:Format","ss:ID","write_name_xlml","ss:Name","ss:RefersTo","write_names_xlml","write_ws_xlml_names","outer","write_ws_xlml_wsopts","x:Margin","x:Bottom","x:Left","x:Right","x:Top","objects","scenarios","selectLockedCells","selectUnlockedCells","write_ws_xlml_comment","ss:Author","write_ws_xlml_cell","mi","_v","write_ws_xlml_row","write_ws_xlml_table","ss:Index","write_ws_xlml","write_xlml","General","xmlns:ss","xmlns:dt","xmlns:html","parse_compobj","AnsiUserType","AnsiClipboardFormat","Reserved1","UnicodeClipboardFormat","Reserved2","slurp","XLSRecordEnum","ll","safe_format_xf","make_cell","parse_workbook","Directory","last_formula","cur_sheet","Preamble","lastcell","last_cell","cmnt","rngC","rngR","temp_val","country","cell_valid","XFs","palette","get_rgb","getrgb","process_cell_style","pcs","line","xfd","addcell","file_depth","afi","rrtabid","lastuser","winlocked","wtf","defwidth","defheight","last_Rn","BIFF2Fmt","BIFF2FmtTable","FilterDatabases","last_lbl","seen_codepage","RecordType","Date1904","WriteProtect","error","CalcRefMode","FullCalc","ExternCount","1033","1280","1536","fakebs8","_fr","_fc","_fe","_arraystart","_j","_ixfe","b4idx","b2idx","TxO","ImData","noteobj","Encryption","Metadata","Country","parse_props","props","DSI","DocSummary","SI","Summary","parse_xlscfb","CompObj","WorkbookP","bookVBA","bookFiles","write_xlscfb","wbpath","write_biff_buf","333","486","487","488","490","492","496","497","498","499","500","501","502","503","504","505","506","507","508","512","513","514","515","516","524","525","526","527","528","529","530","531","532","533","534","535","536","537","538","539","540","541","542","550","551","552","553","554","555","556","557","558","559","560","561","562","564","565","566","569","570","572","573","574","577","578","579","580","581","582","583","584","585","586","587","588","589","590","591","592","593","594","595","596","597","598","599","600","601","602","603","604","605","606","607","608","609","610","611","612","613","614","615","616","617","618","619","625","626","627","628","629","630","631","632","633","634","635","636","637","638","639","640","641","642","643","644","645","646","648","649","650","651","652","654","655","656","657","658","659","660","661","662","663","664","665","666","668","669","671","672","674","675","676","677","678","679","680","1024","1025","1026","1027","1028","1029","1030","1031","1032","1034","1035","1036","1037","1038","1039","1040","1041","1042","1043","1044","1045","1046","1047","1048","1049","1050","1051","1052","1053","1054","1055","1056","1057","1058","1059","1061","1062","1063","1064","1065","1066","1067","1068","1069","1070","1071","1072","1073","1075","1076","1077","1078","1079","1080","1081","1082","1083","1084","1085","1086","1087","1088","1089","1090","1091","1092","1093","1094","1095","1096","1097","1098","1099","1100","1101","1102","1103","1104","1105","1111","1112","1113","1114","1115","1116","1117","1118","1119","1120","1121","1122","1123","1124","1125","1126","1128","1129","1130","1131","1132","1133","1134","1135","1136","1137","1138","1139","1140","1141","1142","1143","1144","1145","1146","1147","1148","1149","1150","1152","1153","1154","1155","1156","1157","1158","1159","1160","1161","1162","1163","1164","1165","1166","1167","1168","1169","1170","1171","1172","1173","1177","1178","1180","1181","1182","2048","2049","2050","2051","2052","2053","2054","2055","2056","2057","2058","2060","2067","2068","2069","2070","2071","2072","2073","2075","2076","2077","2078","2079","2080","2081","2082","2083","2084","2085","2086","2087","2088","2089","2090","2091","2092","2093","2094","2095","2096","2097","2098","2099","2100","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114","2115","2116","2117","2118","2119","2120","2121","2122","2123","2124","2125","2126","2127","2128","2129","2130","2131","2132","2133","2134","2135","2136","2137","2138","2139","2140","2141","3073","1212","2059","2061","2062","2063","2064","2066","2146","2147","2148","2149","2150","2151","2152","2154","2155","2156","2161","2162","2164","2165","2166","2167","2168","2169","2170","2171","2172","2173","2174","2175","2180","2181","2182","2183","2184","2185","2186","2187","2188","2189","2190","2191","2192","2194","2195","2196","2197","2198","2199","2200","2201","2202","2203","2204","2205","2206","2207","2211","2212","2213","2214","2215","4097","4098","4099","4102","4103","4105","4106","4107","4108","4109","4116","4117","4118","4119","4120","4121","4122","4123","4124","4125","4126","4127","4128","4129","4130","4132","4133","4134","4135","4146","4147","4148","4149","4154","4156","4157","4158","4159","4160","4161","4163","4164","4165","4166","4168","4170","4171","4174","4175","4176","4177","4187","4188","4189","4191","4192","4193","4194","4195","4196","4197","4198","4199","4200","2157","2163","2177","2240","2241","2242","2243","2244","2245","2246","2247","2248","2249","2250","2251","2262","29282","XLSRE","write_biff_rec","write_BIFF2BERR","write_BIFF2LABEL","write_ws_biff2_cell","write_ws_biff2","write_biff2_buf","write_FONTS_biff8","write_FMTS_biff8","write_FEAT","write_CELLXFS_biff8","write_ws_biff8_hlinks","HL","write_ws_biff8_cell","write_ws_biff8","_WB","_sheet","write_biff8_global","_sheets","_wb","blen","write_biff8_buf","unshift","html_to_sheet","mtch2","hd","colspan","rowspan","_t","html_to_book","make_html_row","nullcell","editable","make_html_preamble","_BEGIN","_END","sheet_to_html","_row","BEGIN","END","_preamble","parse_dom_table","getElementsByTagName","midx","elts","innerHTML","getAttribute","table_to_book","parse_content_xml","parse_text_p","number_formats","day","month","year","hours","minutes","seconds","am-pm","day-of-week","era","quarter","pcx","NFtag","sheetag","rowtag","ctag","textp","textpidx","textptag","row_ol","number_format_map","mrange","mR","mC","rowpeat","colpeat","atag","_Ref","creator","creatoridx","isstub","intable","rptR","rpt","nrange","parse_ods","ods","write_styles_ods","xmlns:office","xmlns:table","xmlns:style","xmlns:text","xmlns:draw","xmlns:fo","xmlns:xlink","xmlns:number","xmlns:svg","xmlns:of","office:version","wso","write_content_ods","write_text_p","null_cell_xml","covered_cell_xml","_Fref","text_p","_tgt","xlink:href","write_automatic_styles_ods","wcx","xmlns:meta","xmlns:presentation","xmlns:chart","xmlns:dr3d","xmlns:math","xmlns:form","xmlns:script","xmlns:ooo","xmlns:ooow","xmlns:oooc","xmlns:dom","xmlns:xforms","xmlns:sheet","xmlns:rpt","xmlns:xhtml","xmlns:grddl","xmlns:tableooo","xmlns:drawooo","xmlns:calcext","xmlns:loext","xmlns:field","xmlns:formx","xmlns:css3t","fods","xmlns:config","office:mimetype","write_ods","write_sheet_index","write_obj_str","factory","write_str","write_htm_str","write_csv_str","sheet_to_csv","write_slk_str","write_dif_str","write_prn_str","write_rtf_str","write_txt_str","sheet_to_txt","write_dbf_buf","write_eth_str","fix_opts_func","fix_opts","fix_write_opts","get_sheet_type","safe_parse_wbrels","wbrels","pwbr","safe_parse_sheet","relsPath","stype","dfile","drelsp","draw","chartp","crelsp","nodirs","strip_front_slash","parse_zip","entries","binname","link","propdata","pluck","deps","bookDeps","wbsheets","wbext","wbrelsfile","nmode","Deps","Styles","bin","parse_xlsxcfb","dsm","seds","einfo","decrypt_agile","decrypt_std76","write_zip","vbafmt","wsrels","_type","rId1","read_cfb","read_zip","read_plaintext","read_plaintext_raw","read_utf16","bstrify","read_prn","readSync","ab","vu","foo","write_zip_type","oopts","write_cfb_type","write_string_type","bom","write_stxt_type","write_binary_type","bstr","writeSync","resolve_book_type","_BT","xls","htm","slk","socialcalc","Sh33tJS","writeFileAsync","_cb","Function","isempty","defval","outi","counter","CC","defineProperty","enumerable","__rowNum__","blankrows","qreg","make_csv_row","FS","txt","endregex","skipHidden","strip","sheet_to_formulae","cmds","sheet_add_json","js","skipHeader","JS","json_to_sheet","get_formulae","make_csv","make_json","make_formulae","table_to_sheet","sheet_to_slk","sheet_to_row_object_array","add_consts","get_default","ws_get_cell_stub","wb_sheet_idx","sh","book_new","book_append_sheet","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","sheet_set_array_formula","rngstr","Readable","write_csv_stream","_read","write_html_stream","to_html","to_csv","readFile","XLS","ODS"],"mappings":"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","file":"dist/xlsx.core.min.js"} \ No newline at end of file diff --git a/dist/xlsx.extendscript.js b/dist/xlsx.extendscript.js index d54ba07..9eb676e 100644 --- a/dist/xlsx.extendscript.js +++ b/dist/xlsx.extendscript.js @@ -369,6 +369,21 @@ var IE_SaveFile = (function() { try { } return function(data, filename) { return IE_SaveFile_Impl(IE_GetPath(filename), fix_data(data)); }; } catch(e) { return void 0; }})(); +var IE_LoadFile = (function() { try { + if(typeof IE_LoadFile_Impl == "undefined") document.write([ +' -
-
diff --git a/tests/xhr-hack.js b/tests/xhr-hack.js deleted file mode 100644 index 1ba021b..0000000 --- a/tests/xhr-hack.js +++ /dev/null @@ -1,17 +0,0 @@ -var IEBinaryToArray_ByteStr_Script = - "\r\n"+ - "\r\n"; - -document.write(IEBinaryToArray_ByteStr_Script); - diff --git a/types/index.d.ts b/types/index.d.ts index 5417128..5363b75 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -1,5 +1,6 @@ /* index.d.ts (C) 2015-present SheetJS and contributors */ // TypeScript Version: 2.2 +import * as CFB from "cfb"; /** Version string */ export const version: string; @@ -8,7 +9,7 @@ export const version: string; export const SSF: any; /** CFB Library */ -export const CFB: any; +export { CFB }; /** NODE ONLY! Attempts to read filename and parse */ export function readFile(filename: string, opts?: ParsingOptions): WorkBook; diff --git a/types/xlsx-tests.ts b/types/xlsx-tests.ts index f2a431a..2835743 100644 --- a/types/xlsx-tests.ts +++ b/types/xlsx-tests.ts @@ -48,3 +48,9 @@ const newwb = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(newwb, aoa2, "AOA"); XLSX.utils.book_append_sheet(newwb, js2ws, "JSON"); const bstrxlsx: string = XLSX.write(newwb, {type: "binary", bookType: "xlsx" }); + +const CFB = XLSX.CFB; +const vbawb = XLSX.readFile("test.xlsm", {bookVBA:true}); +if(vbawb.vbaraw) { + const cfb: XLSX.CFB.CFB$Container = CFB.read(vbawb.vbaraw, {type: "buffer"}); +} diff --git a/xlsx.flow.js b/xlsx.flow.js index 9e43271..f939bc7 100644 --- a/xlsx.flow.js +++ b/xlsx.flow.js @@ -4,7 +4,7 @@ /*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */ var XLSX = {}; (function make_xlsx(XLSX){ -XLSX.version = '0.12.0'; +XLSX.version = '0.12.1'; var current_codepage = 1200, current_ansi = 1252; /*:: declare var cptable:any; */ /*global cptable:true */ @@ -1078,6 +1078,46 @@ var XLMLFormatMap/*{[string]:string}*/ = ({ "On/Off": '"Yes";"Yes";"No";@' }/*:any*/); +var SSFImplicit/*{[number]:string}*/ = ({ + "5": '"$"#,##0_);\\("$"#,##0\\)', + "6": '"$"#,##0_);[Red]\\("$"#,##0\\)', + "7": '"$"#,##0.00_);\\("$"#,##0.00\\)', + "8": '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', + "23": 'General', "24": 'General', "25": 'General', "26": 'General', + "27": 'm/d/yy', "28": 'm/d/yy', "29": 'm/d/yy', "30": 'm/d/yy', "31": 'm/d/yy', + "32": 'h:mm:ss', "33": 'h:mm:ss', "34": 'h:mm:ss', "35": 'h:mm:ss', + "36": 'm/d/yy', + "41": '_(* #,##0_);_(* \(#,##0\);_(* "-"_);_(@_)', + "42": '_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"_);_(@_)', + "43": '_(* #,##0.00_);_(* \(#,##0.00\);_(* "-"??_);_(@_)', + "44": '_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)', + "50": 'm/d/yy', "51": 'm/d/yy', "52": 'm/d/yy', "53": 'm/d/yy', "54": 'm/d/yy', + "55": 'm/d/yy', "56": 'm/d/yy', "57": 'm/d/yy', "58": 'm/d/yy', + "59": '0', + "60": '0.00', + "61": '#,##0', + "62": '#,##0.00', + "63": '"$"#,##0_);\\("$"#,##0\\)', + "64": '"$"#,##0_);[Red]\\("$"#,##0\\)', + "65": '"$"#,##0.00_);\\("$"#,##0.00\\)', + "66": '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', + "67": '0%', + "68": '0.00%', + "69": '# ?/?', + "70": '# ??/??', + "71": 'm/d/yy', + "72": 'm/d/yy', + "73": 'd-mmm-yy', + "74": 'd-mmm', + "75": 'mmm-yy', + "76": 'h:mm', + "77": 'h:mm:ss', + "78": 'm/d/yy h:mm', + "79": 'mm:ss', + "80": '[h]:mm:ss', + "81": 'mmss.0' +}/*:any*/); + /* dateNF parse TODO: move to SSF */ var dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g; function dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ { @@ -1145,7 +1185,7 @@ type CFBFiles = {[n:string]:CFBEntry}; /* [MS-CFB] v20130118 */ var CFB = (function _CFB(){ var exports/*:CFBModule*/ = /*::(*/{}/*:: :any)*/; -exports.version = '1.0.2'; +exports.version = '1.0.3'; /* [MS-CFB] 2.6.4 */ function namecmp(l/*:string*/, r/*:string*/)/*:number*/ { var L = l.split("/"), R = r.split("/"); @@ -1460,14 +1500,14 @@ function read_directory(dir_start/*:number*/, sector_list/*:SectorList*/, sector if(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz); sector_list[o.start].name = o.name; o.content = (sector_list[o.start].data.slice(0,o.size)/*:any*/); - prep_blob(o.content, 0); } else { o.storage = 'minifat'; - if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) { + if(o.size < 0) o.size = 0; + else if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) { o.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data); - prep_blob(o.content, 0); } } + if(o.content) prep_blob(o.content, 0); files[name] = o; FileIndex.push(o); } @@ -1918,7 +1958,7 @@ function keys(o/*:any*/)/*:Array*/ { return Object.keys(o); } function evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ { var o = ([]/*:any*/), K = keys(obj); - for(var i = 0; i !== K.length; ++i) o[obj[K[i]][key]] = K[i]; + for(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i]; return o; } @@ -2568,7 +2608,7 @@ function WriteShift(t/*:number*/, val/*:string|number*/, f/*:?string*/)/*:any*/ } return this; } else if(f === 'utf16le') { /*:: if(typeof val !== "string") throw new Error("unreachable"); */ - var end/*:number*/ = this.l + t; + var end/*:number*/ = Math.min(this.l + t, this.length); for(i = 0; i < Math.min(val.length, t); ++i) { var cc = val.charCodeAt(i); this[this.l++] = (cc & 0xff); @@ -2928,7 +2968,7 @@ function write_StrRun(run, o) { return o; } -/* [MS-XLSB] 2.1.7.121 */ +/* [MS-XLSB] 2.5.121 */ function parse_RichStr(data, length/*:number*/)/*:XLString*/ { var start = data.l; var flags = data.read_shift(1); @@ -2955,7 +2995,7 @@ function write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ { write_XLWideString(str.t, o); return _null ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.325 BrtCommentText (RichStr w/1 run) */ +/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */ var parse_BrtCommentText = parse_RichStr; function write_BrtCommentText(str/*:XLString*/, o/*:?Block*/)/*:Block*/ { /* TODO: formatted string */ @@ -3009,8 +3049,7 @@ var parse_RelID = parse_XLNullableWideString; var write_RelID = write_XLNullableWideString; -/* [MS-XLSB] 2.5.122 */ -/* [MS-XLS] 2.5.217 */ +/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */ function parse_RkNumber(data)/*:number*/ { var b = data.slice(data.l, data.l+4); var fX100 = (b[0] & 1), fInt = (b[0] & 2); @@ -3038,7 +3077,6 @@ function parse_RfX(data /*::, length*/)/*:Range*/ { cell.e.c = data.read_shift(4); return cell; } - function write_RfX(r/*:Range*/, o) { if(!o) o = new_buf(16); o.write_shift(4, r.s.r); @@ -3052,13 +3090,12 @@ function write_RfX(r/*:Range*/, o) { var parse_UncheckedRfX = parse_RfX; var write_UncheckedRfX = write_RfX; -/* [MS-XLSB] 2.5.171 */ -/* [MS-XLS] 2.5.342 */ +/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */ /* TODO: error checking, NaN and Infinity values are not valid Xnum */ function parse_Xnum(data/*::, length*/) { return data.read_shift(8, 'f'); } function write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); } -/* [MS-XLSB] 2.5.198.2 */ +/* [MS-XLSB] 2.5.97.2 */ var BErr = { /*::[*/0x00/*::]*/: "#NULL!", /*::[*/0x07/*::]*/: "#DIV/0!", @@ -3072,7 +3109,7 @@ var BErr = { }; var RBErr = evert_num(BErr); -/* [MS-XLSB] 2.4.321 BrtColor */ +/* [MS-XLSB] 2.4.324 BrtColor */ function parse_BrtColor(data/*::, length*/) { var out = {}; var d = data.read_shift(1); @@ -3368,7 +3405,7 @@ var XLSFillPattern = [ function rgbify(arr) { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); } /* [MS-XLS] 2.5.161 */ -/* [MS-XLSB] 2.5.75 */ +/* [MS-XLSB] 2.5.75 Icv */ var XLSIcv = rgbify([ /* Color Constants */ 0x000000, @@ -3465,8 +3502,7 @@ var XLSIcv = rgbify([ /* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */ /* 12.3 Part Summary */ /* 14.2 Part Summary */ -/* [MS-XLSX] 2.1 Part Enumerations */ -/* [MS-XLSB] 2.1.7 Part Enumeration */ +/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */ var ct2type/*{[string]:string}*/ = ({ /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", @@ -4449,7 +4485,7 @@ function parse_PropertySet(blob, PIDSI) { } /* [MS-OLEPS] 2.21 PropertySetStream */ -function parse_PropertySetStream(file, PIDSI) { +function parse_PropertySetStream(file, PIDSI, clsid) { var blob = file.content; if(!blob) return ({}/*:any*/); prep_blob(blob, 0); @@ -4459,7 +4495,8 @@ function parse_PropertySetStream(file, PIDSI) { /*var vers = */blob.read_shift(2); // TODO: check version var SystemIdentifier = blob.read_shift(4); - blob.chk(CFB.utils.consts.HEADER_CLSID, 'CLSID: '); + var CLSID = blob.read_shift(16); + if(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error("Bad PropertySet CLSID " + CLSID); NumSets = blob.read_shift(4); if(NumSets !== 1 && NumSets !== 2) throw new Error("Unrecognized #Sets: " + NumSets); FMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4); @@ -4510,7 +4547,7 @@ function parse_Bes(blob/*::, length*/) { function write_Bes(v, t/*:string*/, o) { if(!o) o = new_buf(2); o.write_shift(1, +v); - o.write_shift(1, t == 'e' ? 1 : 0); + o.write_shift(1, ((t == 'e') ? 1 : 0)); return o; } @@ -4709,9 +4746,7 @@ function parse_LongRGBA(blob/*::, length*/) { var r = blob.read_shift(1), g = bl function parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; } -/* --- MS-XLS --- */ - -/* 2.5.19 */ +/* [MS-XLS] 2.5.19 */ function parse_XLSCell(blob/*::, length*/)/*:Cell*/ { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); @@ -4726,7 +4761,7 @@ function write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) { return o; } -/* 2.5.134 */ +/* [MS-XLS] 2.5.134 */ function parse_frtHeader(blob) { var rt = blob.read_shift(2); var flags = blob.read_shift(2); // TODO: parse these flags @@ -4738,21 +4773,21 @@ function parse_frtHeader(blob) { function parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? "" : parse_XLUnicodeString2(blob, length, opts); } -/* 2.5.344 */ +/* [MS-XLS] 2.5.344 */ function parse_XTI(blob, length, opts) { var w = opts.biff > 8 ? 4 : 2; var iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i'); return [iSupBook, itabFirst, itabLast]; } -/* 2.5.218 */ +/* [MS-XLS] 2.5.218 */ function parse_RkRec(blob) { var ixfe = blob.read_shift(2); var RK = parse_RkNumber(blob); return [ixfe, RK]; } -/* 2.5.1 */ +/* [MS-XLS] 2.5.1 */ function parse_AddinUdf(blob, length, opts) { blob.l += 4; length -= 4; var l = blob.l + length; @@ -4764,7 +4799,7 @@ function parse_AddinUdf(blob, length, opts) { return udfName; } -/* 2.5.209 TODO: Check sizes */ +/* [MS-XLS] 2.5.209 TODO: Check sizes */ function parse_Ref8U(blob/*::, length*/) { var rwFirst = blob.read_shift(2); var rwLast = blob.read_shift(2); @@ -4781,7 +4816,7 @@ function write_Ref8U(r/*:Range*/, o) { return o; } -/* 2.5.211 */ +/* [MS-XLS] 2.5.211 */ function parse_RefU(blob/*::, length*/) { var rwFirst = blob.read_shift(2); var rwLast = blob.read_shift(2); @@ -4790,10 +4825,10 @@ function parse_RefU(blob/*::, length*/) { return {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}}; } -/* 2.5.207 */ +/* [MS-XLS] 2.5.207 */ var parse_Ref = parse_RefU; -/* 2.5.143 */ +/* [MS-XLS] 2.5.143 */ function parse_FtCmo(blob/*::, length*/) { blob.l += 4; var ot = blob.read_shift(2); @@ -4803,7 +4838,7 @@ function parse_FtCmo(blob/*::, length*/) { return [id, ot, flags]; } -/* 2.5.149 */ +/* [MS-XLS] 2.5.149 */ function parse_FtNts(blob) { var out = {}; blob.l += 4; @@ -4813,7 +4848,7 @@ function parse_FtNts(blob) { return out; } -/* 2.5.142 */ +/* [MS-XLS] 2.5.142 */ function parse_FtCf(blob) { var out = {}; blob.l += 4; @@ -4821,7 +4856,7 @@ function parse_FtCf(blob) { return out; } -/* 2.5.140 - 2.5.154 and friends */ +/* [MS-XLS] 2.5.140 - 2.5.154 and friends */ function parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); } var FtTab = { /*::[*/0x00/*::]*/: parse_FtSkip, /* FtEnd */ @@ -4860,7 +4895,7 @@ function parse_FtArray(blob, length/*::, ot*/) { /* --- 2.4 Records --- */ -/* 2.4.21 */ +/* [MS-XLS] 2.4.21 */ function parse_BOF(blob, length) { var o = {BIFFVer:0, dt:0}; o.BIFFVer = blob.read_shift(2); length -= 2; @@ -4902,7 +4937,7 @@ function write_BOF(wb/*:Workbook*/, t/*:number*/, o) { } -/* 2.4.146 */ +/* [MS-XLS] 2.4.146 */ function parse_InterfaceHdr(blob, length) { if(length === 0) return 0x04b0; if((blob.read_shift(2))!==0x04b0){/* empty */} @@ -4910,7 +4945,7 @@ function parse_InterfaceHdr(blob, length) { } -/* 2.4.349 */ +/* [MS-XLS] 2.4.349 */ function parse_WriteAccess(blob, length, opts) { if(opts.enc) { blob.l += length; return ""; } var l = blob.l; @@ -4923,20 +4958,20 @@ function write_WriteAccess(s/*:string*/, opts) { var b8 = !opts || opts.biff == 8; var o = new_buf(b8 ? 112 : 54); o.write_shift(opts.biff == 8 ? 2 : 1, 7); - o.write_shift(1, 0); + if(b8) o.write_shift(1, 0); o.write_shift(4, 0x33336853); - o.write_shift(4, 0x00534A74); - while(o.l < o.length) o.write_shift(1, 0); + o.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000))); + while(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32)); return o; } -/* 2.4.351 */ +/* [MS-XLS] 2.4.351 */ function parse_WsBool(blob, length, opts) { var flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0); return { fDialog: flags & 0x10 }; } -/* 2.4.28 */ +/* [MS-XLS] 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { var pos = blob.read_shift(4); var hidden = blob.read_shift(1) & 0x03; @@ -4964,7 +4999,7 @@ function write_BoundSheet8(data, opts) { out.l = o.l; return out; } -/* 2.4.265 TODO */ +/* [MS-XLS] 2.4.265 TODO */ function parse_SST(blob, length)/*:SST*/ { var end = blob.l + length; var cnt = blob.read_shift(4); @@ -4977,7 +5012,7 @@ function parse_SST(blob, length)/*:SST*/ { return strs; } -/* 2.4.107 */ +/* [MS-XLS] 2.4.107 */ function parse_ExtSST(blob, length) { var extsst = {}; extsst.dsst = blob.read_shift(2); @@ -4986,7 +5021,7 @@ function parse_ExtSST(blob, length) { } -/* 2.4.221 TODO: check BIFF2-4 */ +/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */ function parse_Row(blob) { var z = ({}/*:any*/); z.r = blob.read_shift(2); @@ -5004,7 +5039,7 @@ function parse_Row(blob) { } -/* 2.4.125 */ +/* [MS-XLS] 2.4.125 */ function parse_ForceFullCalculation(blob) { var header = parse_frtHeader(blob); if(header.type != 0x08A3) throw new Error("Invalid Future Record " + header.type); @@ -5016,13 +5051,13 @@ function parse_ForceFullCalculation(blob) { -/* 2.4.215 rt */ +/* [MS-XLS] 2.4.215 rt */ function parse_RecalcId(blob) { blob.read_shift(2); return blob.read_shift(4); } -/* 2.4.87 */ +/* [MS-XLS] 2.4.87 */ function parse_DefaultRowHeight(blob, length, opts) { var f = 0; if(!(opts && opts.biff == 2)) { @@ -5036,7 +5071,7 @@ function parse_DefaultRowHeight(blob, length, opts) { return [fl, miyRw]; } -/* 2.4.345 TODO */ +/* [MS-XLS] 2.4.345 TODO */ function parse_Window1(blob) { var xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2); var flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2); @@ -5057,7 +5092,7 @@ function write_Window1(/*::opts*/) { o.write_shift(2, 0x01f4); return o; } -/* 2.4.346 TODO */ +/* [MS-XLS] 2.4.346 TODO */ function parse_Window2(blob, length, opts) { if(opts && opts.biff >= 2 && opts.biff < 8) return {}; var f = blob.read_shift(2); @@ -5074,13 +5109,13 @@ function write_Window2(view) { return o; } -/* 2.4.122 TODO */ +/* [MS-XLS] 2.4.122 TODO */ function parse_Font(blob, length, opts) { var o/*:any*/ = { dyHeight: blob.read_shift(2), fl: blob.read_shift(2) }; - switch(opts && opts.biff || 8) { + switch((opts && opts.biff) || 8) { case 2: break; case 3: case 4: blob.l += 2; break; default: blob.l += 10; break; @@ -5088,15 +5123,29 @@ function parse_Font(blob, length, opts) { o.name = parse_ShortXLUnicodeString(blob, 0, opts); return o; } +function write_Font(data, opts) { + var name = data.name || "Arial"; + var b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length)); + var o = new_buf(w); + o.write_shift(2, (data.sz || 12) * 20); + o.write_shift(4, 0); + o.write_shift(2, 400); + o.write_shift(4, 0); + o.write_shift(2, 0); + o.write_shift(1, name.length); + if(!b5) o.write_shift(1, 1); + o.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? "sbcs" : "utf16le")); + return o; +} -/* 2.4.149 */ +/* [MS-XLS] 2.4.149 */ function parse_LabelSst(blob) { var cell = parse_XLSCell(blob); cell.isst = blob.read_shift(4); return cell; } -/* 2.4.148 */ +/* [MS-XLS] 2.4.148 */ function parse_Label(blob, length, opts) { var target = blob.l + length; var cell = parse_XLSCell(blob, 6); @@ -5116,23 +5165,26 @@ function write_Label(R/*:number*/, C/*:number*/, v/*:string*/, os/*:number*/, op } -/* 2.4.126 Number Formats */ +/* [MS-XLS] 2.4.126 Number Formats */ function parse_Format(blob, length, opts) { var numFmtId = blob.read_shift(2); var fmtstr = parse_XLUnicodeString2(blob, 0, opts); return [numFmtId, fmtstr]; } -function write_Format(i/*:number*/, f/*:string*/, o) { - if(!o) o = new_buf(6 + 4 * f.length); +function write_Format(i/*:number*/, f/*:string*/, opts, o) { + var b5 = (opts && (opts.biff == 5)); + if(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length)); o.write_shift(2, i); - write_XLUnicodeString(f, null, o); + o.write_shift((b5 ? 1 : 2), f.length); + if(!b5) o.write_shift(1, 1); + o.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le')); var out = (o.length > o.l) ? o.slice(0, o.l) : o; - if(o.l == null) o.l = o.length; + if(out.l == null) out.l = out.length; return out; } var parse_BIFF2Format = parse_XLUnicodeString2; -/* 2.4.90 */ +/* [MS-XLS] 2.4.90 */ function parse_Dimensions(blob, length, opts) { var end = blob.l + length; var w = opts.biff == 8 || !opts.biff ? 4 : 2; @@ -5152,14 +5204,14 @@ function write_Dimensions(range, opts) { return o; } -/* 2.4.220 */ +/* [MS-XLS] 2.4.220 */ function parse_RK(blob) { var rw = blob.read_shift(2), col = blob.read_shift(2); var rkrec = parse_RkRec(blob); return {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]}; } -/* 2.4.175 */ +/* [MS-XLS] 2.4.175 */ function parse_MulRk(blob, length) { var target = blob.l + length - 2; var rw = blob.read_shift(2), col = blob.read_shift(2); @@ -5170,7 +5222,7 @@ function parse_MulRk(blob, length) { if(rkrecs.length != lastcol - col + 1) throw new Error("MulRK length mismatch"); return {r:rw, c:col, C:lastcol, rkrec:rkrecs}; } -/* 2.4.174 */ +/* [MS-XLS] 2.4.174 */ function parse_MulBlank(blob, length) { var target = blob.l + length - 2; var rw = blob.read_shift(2), col = blob.read_shift(2); @@ -5182,7 +5234,7 @@ function parse_MulBlank(blob, length) { return {r:rw, c:col, C:lastcol, ixfe:ixfes}; } -/* 2.5.20 2.5.249 TODO: interpret values here */ +/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */ function parse_CellStyleXF(blob, length, style, opts) { var o = {}; var a = blob.read_shift(4), b = blob.read_shift(4); @@ -5226,7 +5278,7 @@ function parse_CellStyleXF(blob, length, style, opts) { //function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);} //function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);} -/* 2.4.353 TODO: actually do this right */ +/* [MS-XLS] 2.4.353 TODO: actually do this right */ function parse_XF(blob, length, opts) { var o = {}; o.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2); @@ -5235,19 +5287,25 @@ function parse_XF(blob, length, opts) { o.data = parse_CellStyleXF(blob, length, o.fStyle, opts); return o; } -function write_XF(data, ixfeP, o) { - if(!o) o = new_buf(20); - o.write_shift(2, 0); - o.write_shift(2, data.numFmtId||0); +function write_XF(data, ixfeP, opts, o) { + var b5 = (opts && (opts.biff == 5)); + if(!o) o = new_buf(b5 ? 16 : 20); o.write_shift(2, 0); + if(data.style) { + o.write_shift(2, (data.numFmtId||0)); + o.write_shift(2, 0xFFF4); + } else { + o.write_shift(2, (data.numFmtId||0)); + o.write_shift(2, (ixfeP<<4)); + } o.write_shift(4, 0); o.write_shift(4, 0); - o.write_shift(4, 0); + if(!b5) o.write_shift(4, 0); o.write_shift(2, 0); return o; } -/* 2.4.134 */ +/* [MS-XLS] 2.4.134 */ function parse_Guts(blob) { blob.l += 4; var out = [blob.read_shift(2), blob.read_shift(2)]; @@ -5264,7 +5322,7 @@ function write_Guts(guts/*:Array*/) { return o; } -/* 2.4.24 */ +/* [MS-XLS] 2.4.24 */ function parse_BoolErr(blob, length, opts) { var cell = parse_XLSCell(blob, 6); if(opts.biff == 2) ++blob.l; @@ -5280,7 +5338,7 @@ function write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:s return o; } -/* 2.4.180 Number */ +/* [MS-XLS] 2.4.180 Number */ function parse_Number(blob) { var cell = parse_XLSCell(blob, 6); var xnum = parse_Xnum(blob, 8); @@ -5296,7 +5354,7 @@ function write_Number(R/*:number*/, C/*:number*/, v, os/*:: :number, opts*/) { var parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136 -/* 2.4.271 */ +/* [MS-XLS] 2.4.271 */ function parse_SupBook(blob, length, opts) { var end = blob.l + length; var ctab = blob.read_shift(2); @@ -5311,7 +5369,7 @@ function parse_SupBook(blob, length, opts) { return [cch, ctab, virtPath, rgst]; } -/* 2.4.105 TODO */ +/* [MS-XLS] 2.4.105 TODO */ function parse_ExternName(blob, length, opts) { var flags = blob.read_shift(2); var body; @@ -5331,7 +5389,7 @@ function parse_ExternName(blob, length, opts) { return o; } -/* 2.4.150 TODO */ +/* [MS-XLS] 2.4.150 TODO */ var XLSLblBuiltIn = [ "_xlnm.Consolidate_Area", "_xlnm.Auto_Open", @@ -5373,7 +5431,7 @@ function parse_Lbl(blob, length, opts) { }; } -/* 2.4.106 TODO: verify filename encoding */ +/* [MS-XLS] 2.4.106 TODO: verify filename encoding */ function parse_ExternSheet(blob, length, opts) { if(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts); var o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2); @@ -5388,7 +5446,7 @@ function parse_BIFF5ExternSheet(blob, length, opts) { return o.charCodeAt(0) == 0x03 ? o.slice(1) : o; } -/* 2.4.176 TODO: check older biff */ +/* [MS-XLS] 2.4.176 TODO: check older biff */ function parse_NameCmt(blob, length, opts) { if(opts.biff < 8) { blob.l += length; return; } var cchName = blob.read_shift(2); @@ -5398,7 +5456,7 @@ function parse_NameCmt(blob, length, opts) { return [name, comment]; } -/* 2.4.260 */ +/* [MS-XLS] 2.4.260 */ function parse_ShrFmla(blob, length, opts) { var ref = parse_RefU(blob, 6); blob.l++; @@ -5407,7 +5465,7 @@ function parse_ShrFmla(blob, length, opts) { return [parse_SharedParsedFormula(blob, length, opts), cUse, ref]; } -/* 2.4.4 TODO */ +/* [MS-XLS] 2.4.4 TODO */ function parse_Array(blob, length, opts) { var ref = parse_Ref(blob, 6); /* TODO: fAlwaysCalc */ @@ -5419,7 +5477,7 @@ function parse_Array(blob, length, opts) { return [ref, parse_ArrayParsedFormula(blob, length, opts, ref)]; } -/* 2.4.173 */ +/* [MS-XLS] 2.4.173 */ function parse_MTRSettings(blob) { var fMTREnabled = blob.read_shift(4) !== 0x00; var fUserSetThreadCount = blob.read_shift(4) !== 0x00; @@ -5427,7 +5485,7 @@ function parse_MTRSettings(blob) { return [fMTREnabled, fUserSetThreadCount, cUserThreadCount]; } -/* 2.5.186 TODO: BIFF5 */ +/* [MS-XLS] 2.5.186 TODO: BIFF5 */ function parse_NoteSh(blob, length, opts) { if(opts.biff < 8) return; var row = blob.read_shift(2), col = blob.read_shift(2); @@ -5437,13 +5495,13 @@ function parse_NoteSh(blob, length, opts) { return [{r:row,c:col}, stAuthor, idObj, flags]; } -/* 2.4.179 */ +/* [MS-XLS] 2.4.179 */ function parse_Note(blob, length, opts) { /* TODO: Support revisions */ return parse_NoteSh(blob, length, opts); } -/* 2.4.168 */ +/* [MS-XLS] 2.4.168 */ function parse_MergeCells(blob, length)/*:Array*/ { var merges/*:Array*/ = []; var cmcs = blob.read_shift(2); @@ -5457,7 +5515,7 @@ function write_MergeCells(merges/*:Array*/) { return o; } -/* 2.4.181 TODO: parse all the things! */ +/* [MS-XLS] 2.4.181 TODO: parse all the things! */ function parse_Obj(blob, length, opts) { if(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts); var cmo = parse_FtCmo(blob, 22); // id, ot, flags @@ -5502,7 +5560,7 @@ function parse_BIFF5Obj(blob, length, opts) { return { cmo: [id, ot, grbit], ft:fts }; } -/* 2.4.329 TODO: parse properly */ +/* [MS-XLS] 2.4.329 TODO: parse properly */ function parse_TxO(blob, length, opts) { var s = blob.l; var texts = ""; @@ -5531,7 +5589,7 @@ try { } blob.l = s + length; - /* 2.5.272 TxORuns */ + /* [MS-XLS] 2.5.272 TxORuns */ // var rgTxoRuns = []; // for(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8; // var cchText2 = blob.read_shift(2); @@ -5542,7 +5600,7 @@ try { } catch(e) { blob.l = s + length; return { t: texts }; } } -/* 2.4.140 */ +/* [MS-XLS] 2.4.140 */ function parse_HLink(blob, length) { var ref = parse_Ref8U(blob, 8); blob.l += 16; /* CLSID */ @@ -5560,7 +5618,7 @@ function write_HLink(hl) { } -/* 2.4.141 */ +/* [MS-XLS] 2.4.141 */ function parse_HLinkTooltip(blob, length) { blob.read_shift(2); var ref = parse_Ref8U(blob, 8); @@ -5580,7 +5638,7 @@ function write_HLinkTooltip(hl) { return O; } -/* 2.4.63 */ +/* [MS-XLS] 2.4.63 */ function parse_Country(blob)/*:[string|number, string|number]*/ { var o = [0,0], d; d = blob.read_shift(2); o[0] = CountryEnum[d] || d; @@ -5594,7 +5652,7 @@ function write_Country(o) { return o; } -/* 2.4.50 ClrtClient */ +/* [MS-XLS] 2.4.50 ClrtClient */ function parse_ClrtClient(blob) { var ccv = blob.read_shift(2); var o = []; @@ -5602,7 +5660,7 @@ function parse_ClrtClient(blob) { return o; } -/* 2.4.188 */ +/* [MS-XLS] 2.4.188 */ function parse_Palette(blob) { var ccv = blob.read_shift(2); var o = []; @@ -5610,7 +5668,7 @@ function parse_Palette(blob) { return o; } -/* 2.4.354 */ +/* [MS-XLS] 2.4.354 */ function parse_XFCRC(blob) { blob.l += 2; var o = {cxfs:0, crc:0}; @@ -5619,7 +5677,7 @@ function parse_XFCRC(blob) { return o; } -/* 2.4.53 TODO: parse flags */ +/* [MS-XLS] 2.4.53 TODO: parse flags */ /* [MS-XLSB] 2.4.323 TODO: parse flags */ function parse_ColInfo(blob, length, opts) { if(!opts.cellStyles) return parsenoop(blob, length); @@ -5633,9 +5691,10 @@ function parse_ColInfo(blob, length, opts) { return {s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags}; } -/* 2.4.257 */ -function parse_Setup(blob/*, length*/) { +/* [MS-XLS] 2.4.257 */ +function parse_Setup(blob, length) { var o = {}; + if(length < 32) return o; blob.l += 16; o.header = parse_Xnum(blob, 8); o.footer = parse_Xnum(blob, 8); @@ -5643,7 +5702,7 @@ function parse_Setup(blob/*, length*/) { return o; } -/* 2.4.261 */ +/* [MS-XLS] 2.4.261 */ function parse_ShtProps(blob, length, opts) { var def = {area:false}; if(opts.biff != 5) { blob.l += length; return def; } @@ -5652,16 +5711,16 @@ function parse_ShtProps(blob, length, opts) { return def; } -/* 2.4.241 */ +/* [MS-XLS] 2.4.241 */ function write_RRTabId(n/*:number*/) { var out = new_buf(2 * n); for(var i = 0; i < n; ++i) out.write_shift(2, i+1); return out; } -var parse_Blank = parse_XLSCell; /* 2.4.20 Just the cell */ -var parse_Scl = parseuint16a; /* 2.4.247 num, den */ -var parse_String = parse_XLUnicodeString; /* 2.4.268 */ +var parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */ +var parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */ +var parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */ /* --- Specific to versions before BIFF8 --- */ function parse_ImData(blob) { @@ -7159,7 +7218,7 @@ function write_sst_xml(sst/*:SST*/, opts)/*:string*/ { if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } -/* [MS-XLSB] 2.4.219 BrtBeginSst */ +/* [MS-XLSB] 2.4.221 BrtBeginSst */ function parse_BrtBeginSst(data) { return [data.read_shift(4), data.read_shift(4)]; } @@ -8090,7 +8149,7 @@ function write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ { if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } -/* [MS-XLSB] 2.4.651 BrtFmt */ +/* [MS-XLSB] 2.4.657 BrtFmt */ function parse_BrtFmt(data, length/*:number*/) { var numFmtId = data.read_shift(2); var stFmtCode = parse_XLWideString(data,length-2); @@ -8105,7 +8164,7 @@ function write_BrtFmt(i/*:number*/, f/*:string*/, o) { return out; } -/* [MS-XLSB] 2.4.653 BrtFont TODO */ +/* [MS-XLSB] 2.4.659 BrtFont TODO */ function parse_BrtFont(data, length/*:number*/, opts) { var out = ({}/*:any*/); @@ -8172,7 +8231,7 @@ function write_BrtFont(font, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.644 BrtFill */ +/* [MS-XLSB] 2.4.650 BrtFill */ var XLSBFillPTNames = [ "none", "solid", @@ -8226,7 +8285,7 @@ function write_BrtFill(fill, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.816 BrtXF */ +/* [MS-XLSB] 2.4.824 BrtXF */ function parse_BrtXF(data, length/*:number*/) { var tgt = data.l + length; var ixfeParent = data.read_shift(2); @@ -8259,7 +8318,7 @@ function write_Blxf(data, o) { o.write_shift(4, 0); /* color */ return o; } -/* [MS-XLSB] 2.4.299 BrtBorder TODO */ +/* [MS-XLSB] 2.4.302 BrtBorder TODO */ var parse_BrtBorder = parsenoop; function write_BrtBorder(border, o) { if(!o) o = new_buf(51); @@ -8272,7 +8331,7 @@ function write_BrtBorder(border, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.755 BrtStyle TODO */ +/* [MS-XLSB] 2.4.763 BrtStyle TODO */ function write_BrtStyle(style, o) { if(!o) o = new_buf(12+4*10); o.write_shift(4, style.xfId); @@ -8283,7 +8342,7 @@ function write_BrtStyle(style, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.269 BrtBeginTableStyles */ +/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */ function write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) { var o = new_buf(4+256*2*4); o.write_shift(4, cnt); @@ -8795,17 +8854,17 @@ function parse_XFExtGradient(blob, length) { return parsenoop(blob, length); } -/* 2.5.108 */ +/* [MS-XLS] 2.5.108 */ function parse_ExtProp(blob/*::, length*/)/*:Array*/ { var extType = blob.read_shift(2); - var cb = blob.read_shift(2); + var cb = blob.read_shift(2) - 4; var o = [extType]; switch(extType) { case 0x04: case 0x05: case 0x07: case 0x08: case 0x09: case 0x0A: case 0x0B: case 0x0D: o[1] = parse_FullColorExt(blob, cb); break; case 0x06: o[1] = parse_XFExtGradient(blob, cb); break; - case 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 5 ? 1 : 2); break; + case 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break; default: throw new Error("Unrecognized ExtProp type: " + extType + " " + cb); } return o; @@ -9141,7 +9200,7 @@ function write_BrtBeginComment(data, o) { return o; } -/* [MS-XLSB] 2.4.324 BrtCommentAuthor */ +/* [MS-XLSB] 2.4.327 BrtCommentAuthor */ var parse_BrtCommentAuthor = parse_XLWideString; function write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); } @@ -9298,20 +9357,15 @@ function fuzzyfmla(f/*:string*/)/*:boolean*/ { function _xlfn(f/*:string*/)/*:string*/ { return f.replace(/_xlfn\./g,""); } -/* --- formula references point to MS-XLS --- */ -/* Small helpers */ function parseread1(blob) { blob.l+=1; return; } -/* Rgce Helpers */ - -/* 2.5.51 */ +/* [MS-XLS] 2.5.51 */ function parse_ColRelU(blob, length) { var c = blob.read_shift(length == 1 ? 1 : 2); return [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1]; } -/* [MS-XLS] 2.5.198.105 */ -/* [MS-XLSB] 2.5.97.89 */ +/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */ function parse_RgceArea(blob, length, opts) { var w = 2; if(opts) { @@ -9331,7 +9385,7 @@ function parse_RgceArea_BIFF2(blob/*::, length, opts*/) { return { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} }; } -/* 2.5.198.105 TODO */ +/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */ function parse_RgceAreaRel(blob, length/*::, opts*/) { var r=blob.read_shift(length == 12 ? 4 : 2), R=blob.read_shift(length == 12 ? 4 : 2); var c=parse_ColRelU(blob, 2); @@ -9339,7 +9393,7 @@ function parse_RgceAreaRel(blob, length/*::, opts*/) { return { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} }; } -/* 2.5.198.109 */ +/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */ function parse_RgceLoc(blob, length, opts) { if(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts); var r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2); @@ -9352,15 +9406,14 @@ function parse_RgceLoc_BIFF2(blob/*::, length, opts*/) { return {r:r[0], c:c, cRel:r[1], rRel:r[2]}; } -/* 2.5.198.107 , 2.5.47 */ +/* [MS-XLS] 2.5.198.107, 2.5.47 */ function parse_RgceElfLoc(blob/*::, length, opts*/) { var r = blob.read_shift(2); var c = blob.read_shift(2); return {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 }; } -/* [MS-XLS] 2.5.198.111 TODO */ -/* [MS-XLSB] 2.5.97.92 TODO */ +/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */ function parse_RgceLocRel(blob, length, opts) { var biff = opts && opts.biff ? opts.biff : 8; if(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts); @@ -9382,17 +9435,14 @@ function parse_RgceLocRel_BIFF2(blob/*::, length:number, opts*/) { return {r:rl,c:c,cRel:cRel,rRel:rRel}; } -/* Ptg Tokens */ - -/* 2.5.198.27 */ +/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */ function parse_PtgArea(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts); return [type, area]; } -/* [MS-XLS] 2.5.198.28 */ -/* [MS-XLSB] 2.5.97.19 */ +/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */ function parse_PtgArea3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2, 'i'); @@ -9405,13 +9455,13 @@ function parse_PtgArea3d(blob, length, opts) { return [type, ixti, area]; } -/* 2.5.198.29 */ +/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */ function parse_PtgAreaErr(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; blob.l += opts && opts.biff > 8 ? 12 : 8; return [type]; } -/* 2.5.198.30 */ +/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */ function parse_PtgAreaErr3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2); @@ -9424,22 +9474,21 @@ function parse_PtgAreaErr3d(blob, length, opts) { return [type, ixti]; } -/* 2.5.198.31 */ +/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */ function parse_PtgAreaN(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var area = parse_RgceAreaRel(blob, opts && opts.biff > 8 ? 12 : 8, opts); return [type, area]; } -/* [MS-XLS] 2.5.198.32 */ -/* [MS-XLSB] 2.5.97.23 */ +/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */ function parse_PtgArray(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; blob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7; return [type]; } -/* 2.5.198.33 */ +/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */ function parse_PtgAttrBaxcel(blob) { var bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */ var bitBaxcel = 1; @@ -9447,7 +9496,7 @@ function parse_PtgAttrBaxcel(blob) { return [bitSemi, bitBaxcel]; } -/* 2.5.198.34 */ +/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */ function parse_PtgAttrChoose(blob, length, opts)/*:Array*/ { blob.l +=2; var offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); @@ -9457,14 +9506,14 @@ function parse_PtgAttrChoose(blob, length, opts)/*:Array*/ { return o; } -/* 2.5.198.35 */ +/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */ function parse_PtgAttrGoto(blob, length, opts) { var bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; return [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; } -/* 2.5.198.36 */ +/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */ function parse_PtgAttrIf(blob, length, opts) { var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; @@ -9478,32 +9527,32 @@ function parse_PtgAttrIfError(blob) { return [bitIf, blob.read_shift(2)]; } -/* 2.5.198.37 */ +/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */ function parse_PtgAttrSemi(blob, length, opts) { var bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += opts && opts.biff == 2 ? 3 : 4; return [bitSemi]; } -/* 2.5.198.40 (used by PtgAttrSpace and PtgAttrSpaceSemi) */ +/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */ function parse_PtgAttrSpaceType(blob/*::, length*/) { var type = blob.read_shift(1), cch = blob.read_shift(1); return [type, cch]; } -/* 2.5.198.38 */ +/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */ function parse_PtgAttrSpace(blob) { blob.read_shift(2); return parse_PtgAttrSpaceType(blob, 2); } -/* 2.5.198.39 */ +/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */ function parse_PtgAttrSpaceSemi(blob) { blob.read_shift(2); return parse_PtgAttrSpaceType(blob, 2); } -/* 2.5.198.84 TODO */ +/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */ function parse_PtgRef(blob, length, opts) { //var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; @@ -9512,7 +9561,7 @@ function parse_PtgRef(blob, length, opts) { return [type, loc]; } -/* 2.5.198.88 TODO */ +/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */ function parse_PtgRefN(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; @@ -9520,17 +9569,18 @@ function parse_PtgRefN(blob, length, opts) { return [type, loc]; } -/* 2.5.198.85 TODO */ +/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */ function parse_PtgRef3d(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; var ixti = blob.read_shift(2); // XtiIndex + if(opts && opts.biff == 5) blob.l += 12; var loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel return [type, ixti, loc]; } -/* 2.5.198.62 TODO */ +/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */ function parse_PtgFunc(blob, length, opts) { //var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; @@ -9538,7 +9588,7 @@ function parse_PtgFunc(blob, length, opts) { var iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2); return [FtabArgc[iftab], Ftab[iftab], type]; } -/* 2.5.198.63 TODO */ +/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */ function parse_PtgFuncVar(blob, length, opts) { blob.l++; var cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [0, blob.read_shift(1)]: parsetab(blob); @@ -9549,12 +9599,12 @@ function parsetab(blob) { return [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF]; } -/* 2.5.198.41 */ +/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */ function parse_PtgAttrSum(blob, length, opts) { blob.l += opts && opts.biff == 2 ? 3 : 4; return; } -/* 2.5.198.58 */ +/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */ function parse_PtgExp(blob, length, opts) { blob.l++; if(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0]; @@ -9563,19 +9613,19 @@ function parse_PtgExp(blob, length, opts) { return [row, col]; } -/* 2.5.198.57 */ +/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */ function parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; } -/* 2.5.198.66 */ +/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */ function parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); } -/* 2.5.198.42 */ +/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */ function parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;} -/* 2.5.198.79 */ +/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */ function parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); } -/* 2.5.198.89 */ +/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */ function parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); } /* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */ @@ -9589,37 +9639,32 @@ function parse_SerAr(blob, biff/*:number*/) { case 0x01: val[0] = 0x02; break; /* SerStr */ } switch(val[0]) { - /* 2.5.192.113 */ case 0x04: /* SerBool -- boolean */ val[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE'; - blob.l += 7; break; - /* 2.5.192.114 */ + if(biff != 12) blob.l += 7; break; case 0x10: /* SerErr -- error */ val[1] = BErr[blob[blob.l]]; - blob.l += 8; break; - /* 2.5.192.115 */ + blob.l += ((biff == 12) ? 4 : 8); break; case 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */ blob.l += 8; break; - /* 2.5.192.116 */ case 0x01: /* SerNum -- Xnum */ val[1] = parse_Xnum(blob, 8); break; - /* 2.5.192.117 */ case 0x02: /* SerStr -- XLUnicodeString (<256 chars) */ val[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break; - // default: throw "Bad SerAr: " + val[0]; /* Unreachable */ + default: throw "Bad SerAr: " + val[0]; /* Unreachable */ } return val; } -/* 2.5.198.61 */ -function parse_PtgExtraMem(blob/*::, cce*/) { - var count = blob.read_shift(2); +/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */ +function parse_PtgExtraMem(blob, cce, opts) { + var count = blob.read_shift((opts.biff == 12) ? 4 : 2); var out/*:Array*/ = []; - for(var i = 0; i != count; ++i) out.push(parse_Ref8U(blob, 8)); + for(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8)); return out; } -/* 2.5.198.59 */ +/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */ function parse_PtgExtraArray(blob, length, opts) { var rows = 0, cols = 0; if(opts.biff == 12) { @@ -9636,7 +9681,7 @@ function parse_PtgExtraArray(blob, length, opts) { return o; } -/* 2.5.198.76 */ +/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */ function parse_PtgName(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; var w = (!opts || (opts.biff >= 8)) ? 4 : 2; @@ -9649,7 +9694,7 @@ function parse_PtgName(blob, length, opts) { return [type, 0, nameindex]; } -/* 2.5.198.77 */ +/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */ function parse_PtgNameX(blob, length, opts) { if(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts); var type = (blob.read_shift(1) >>> 5) & 0x03; @@ -9666,7 +9711,7 @@ function parse_PtgNameX_BIFF5(blob/*::, length, opts*/) { return [type, ixti, nameindex]; } -/* 2.5.198.70 */ +/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */ function parse_PtgMemArea(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; blob.l += (opts && opts.biff == 2 ? 3 : 4); @@ -9674,7 +9719,7 @@ function parse_PtgMemArea(blob, length, opts) { return [type, cce]; } -/* 2.5.198.72 */ +/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */ function parse_PtgMemFunc(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); @@ -9682,7 +9727,7 @@ function parse_PtgMemFunc(blob, length, opts) { } -/* 2.5.198.86 */ +/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */ function parse_PtgRefErr(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; blob.l += 4; @@ -9690,24 +9735,24 @@ function parse_PtgRefErr(blob, length, opts) { return [type]; } -/* 2.5.198.87 */ +/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */ function parse_PtgRefErr3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2); var w = 4; if(opts) switch(opts.biff) { - case 5: throw new Error("PtgRefErr3d -- 5"); // TODO: find test case + case 5: w = 15; break; case 12: w = 6; break; } blob.l += w; return [type, ixti]; } -/* 2.5.198.71 */ +/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */ var parse_PtgMemErr = parsenoop; -/* 2.5.198.73 */ +/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */ var parse_PtgMemNoMem = parsenoop; -/* 2.5.198.92 */ +/* [MS-XLS] 2.5.198.92 */ var parse_PtgTbl = parsenoop; function parse_PtgElfLoc(blob, length, opts) { @@ -9718,28 +9763,28 @@ function parse_PtgElfNoop(blob/*::, length, opts*/) { blob.l += 6; return []; } -/* 2.5.198.46 */ +/* [MS-XLS] 2.5.198.46 */ var parse_PtgElfCol = parse_PtgElfLoc; -/* 2.5.198.47 */ +/* [MS-XLS] 2.5.198.47 */ var parse_PtgElfColS = parse_PtgElfNoop; -/* 2.5.198.48 */ +/* [MS-XLS] 2.5.198.48 */ var parse_PtgElfColSV = parse_PtgElfNoop; -/* 2.5.198.49 */ +/* [MS-XLS] 2.5.198.49 */ var parse_PtgElfColV = parse_PtgElfLoc; -/* 2.5.198.50 */ +/* [MS-XLS] 2.5.198.50 */ function parse_PtgElfLel(blob/*::, length, opts*/) { blob.l += 2; return [parseuint16(blob), blob.read_shift(2) & 0x01]; } -/* 2.5.198.51 */ +/* [MS-XLS] 2.5.198.51 */ var parse_PtgElfRadical = parse_PtgElfLoc; -/* 2.5.198.52 */ +/* [MS-XLS] 2.5.198.52 */ var parse_PtgElfRadicalLel = parse_PtgElfLel; -/* 2.5.198.53 */ +/* [MS-XLS] 2.5.198.53 */ var parse_PtgElfRadicalS = parse_PtgElfNoop; -/* 2.5.198.54 */ +/* [MS-XLS] 2.5.198.54 */ var parse_PtgElfRw = parse_PtgElfLoc; -/* 2.5.198.55 */ +/* [MS-XLS] 2.5.198.55 */ var parse_PtgElfRwV = parse_PtgElfLoc; /* [MS-XLSB] 2.5.97.52 */ @@ -9749,13 +9794,13 @@ function parse_PtgList(blob/*::, length, opts*/) { blob.l += 10; return {ixti: ixti}; } -/* 2.5.198.91 */ +/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */ function parse_PtgSxName(blob/*::, length, opts*/) { blob.l += 2; return [blob.read_shift(4)]; } -/* 2.5.198.25 */ +/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */ var PtgTypes = { /*::[*/0x01/*::]*/: { n:'PtgExp', f:parse_PtgExp }, /*::[*/0x02/*::]*/: { n:'PtgTbl', f:parse_PtgTbl }, @@ -9858,7 +9903,7 @@ var Ptg19 = { }; Ptg19[0x21] = Ptg19[0x20]; -/* 2.5.198.103 */ +/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */ function parse_RgbExtra(blob, length, rgce, opts) { if(opts.biff < 8) return parsenoop(blob, length); var target = blob.l + length; @@ -9870,7 +9915,7 @@ function parse_RgbExtra(blob, length, rgce, opts) { o.push(rgce[i][1]); break; case 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */ - rgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1]); + rgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts); o.push(rgce[i][2]); break; case 'PtgExp': /* PtgExp -> PtgExtraCol */ @@ -9893,7 +9938,7 @@ function parse_RgbExtra(blob, length, rgce, opts) { return o; } -/* 2.5.198.104 */ +/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */ function parse_Rgce(blob, length, opts) { var target = blob.l + length; var R, id, ptgs = []; @@ -9931,8 +9976,7 @@ function stringify_array(f/*:Array>*/)/*:string*/ { return o.join(";"); } -/* [MS-XLS] 2.2.2 TODO */ -/* [MS-XLSB] 2.2.2 */ +/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */ var PtgBinOp = { PtgAdd: "+", PtgConcat: "&", @@ -9997,25 +10041,25 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, for(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) { var f = formula[0][ff]; switch(f[0]) { - case 'PtgUminus': /* 2.5.198.93 */ + case 'PtgUminus': /* [MS-XLS] 2.5.198.93 */ stack.push("-" + stack.pop()); break; - case 'PtgUplus': /* 2.5.198.95 */ + case 'PtgUplus': /* [MS-XLS] 2.5.198.95 */ stack.push("+" + stack.pop()); break; - case 'PtgPercent': /* 2.5.198.81 */ + case 'PtgPercent': /* [MS-XLS] 2.5.198.81 */ stack.push(stack.pop() + "%"); break; - case 'PtgAdd': /* 2.5.198.26 */ - case 'PtgConcat': /* 2.5.198.43 */ - case 'PtgDiv': /* 2.5.198.45 */ - case 'PtgEq': /* 2.5.198.56 */ - case 'PtgGe': /* 2.5.198.64 */ - case 'PtgGt': /* 2.5.198.65 */ - case 'PtgLe': /* 2.5.198.68 */ - case 'PtgLt': /* 2.5.198.69 */ - case 'PtgMul': /* 2.5.198.75 */ - case 'PtgNe': /* 2.5.198.78 */ - case 'PtgPower': /* 2.5.198.82 */ - case 'PtgSub': /* 2.5.198.90 */ + case 'PtgAdd': /* [MS-XLS] 2.5.198.26 */ + case 'PtgConcat': /* [MS-XLS] 2.5.198.43 */ + case 'PtgDiv': /* [MS-XLS] 2.5.198.45 */ + case 'PtgEq': /* [MS-XLS] 2.5.198.56 */ + case 'PtgGe': /* [MS-XLS] 2.5.198.64 */ + case 'PtgGt': /* [MS-XLS] 2.5.198.65 */ + case 'PtgLe': /* [MS-XLS] 2.5.198.68 */ + case 'PtgLt': /* [MS-XLS] 2.5.198.69 */ + case 'PtgMul': /* [MS-XLS] 2.5.198.75 */ + case 'PtgNe': /* [MS-XLS] 2.5.198.78 */ + case 'PtgPower': /* [MS-XLS] 2.5.198.82 */ + case 'PtgSub': /* [MS-XLS] 2.5.198.90 */ e1 = stack.pop(); e2 = stack.pop(); if(last_sp >= 0) { switch(formula[0][last_sp][1][0]) { @@ -10036,46 +10080,46 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, stack.push(e2+PtgBinOp[f[0]]+e1); break; - case 'PtgIsect': /* 2.5.198.67 */ + case 'PtgIsect': /* [MS-XLS] 2.5.198.67 */ e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+" "+e1); break; - case 'PtgUnion': /* 2.5.198.94 */ + case 'PtgUnion': /* [MS-XLS] 2.5.198.94 */ e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+","+e1); break; - case 'PtgRange': /* 2.5.198.83 */ + case 'PtgRange': /* [MS-XLS] 2.5.198.83 */ e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+":"+e1); break; - case 'PtgAttrChoose': /* 2.5.198.34 */ + case 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */ break; - case 'PtgAttrGoto': /* 2.5.198.35 */ + case 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */ break; - case 'PtgAttrIf': /* 2.5.198.36 */ + case 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */ break; case 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */ break; - case 'PtgRef': /* 2.5.198.84 */ + case 'PtgRef': /* [MS-XLS] 2.5.198.84 */ /*::type = f[1][0]; */c = shift_cell_xls((f[1][1]/*:any*/), _range, opts); stack.push(encode_cell_xls(c)); break; - case 'PtgRefN': /* 2.5.198.88 */ + case 'PtgRefN': /* [MS-XLS] 2.5.198.88 */ /*::type = f[1][0]; */c = cell ? shift_cell_xls((f[1][1]/*:any*/), cell, opts) : (f[1][1]/*:any*/); stack.push(encode_cell_xls(c)); break; - case 'PtgRef3d': /* 2.5.198.85 */ + case 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */ /*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; c = shift_cell_xls((f[1][2]/*:any*/), _range, opts); sname = get_ixti(supbooks, ixti, opts); var w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars stack.push(sname + "!" + encode_cell_xls(c)); break; - case 'PtgFunc': /* 2.5.198.62 */ - case 'PtgFuncVar': /* 2.5.198.63 */ + case 'PtgFunc': /* [MS-XLS] 2.5.198.62 */ + case 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */ /* f[1] = [argc, func, type] */ var argc/*:number*/ = (f[1][0]/*:any*/), func/*:string*/ = (f[1][1]/*:any*/); if(!argc) argc = 0; @@ -10085,38 +10129,38 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, stack.push(func + "(" + args.join(",") + ")"); break; - case 'PtgBool': /* 2.5.198.42 */ + case 'PtgBool': /* [MS-XLS] 2.5.198.42 */ stack.push(f[1] ? "TRUE" : "FALSE"); break; - case 'PtgInt': /* 2.5.198.66 */ + case 'PtgInt': /* [MS-XLS] 2.5.198.66 */ stack.push(/*::String(*/f[1]/*::)*/); break; - case 'PtgNum': /* 2.5.198.79 TODO: precision? */ + case 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */ stack.push(String(f[1])); break; - case 'PtgStr': /* 2.5.198.89 */ + case 'PtgStr': /* [MS-XLS] 2.5.198.89 */ // $FlowIgnore stack.push('"' + f[1] + '"'); break; - case 'PtgErr': /* 2.5.198.57 */ + case 'PtgErr': /* [MS-XLS] 2.5.198.57 */ stack.push(/*::String(*/f[1]/*::)*/); break; - case 'PtgAreaN': /* 2.5.198.31 TODO */ + case 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */ /*::type = f[1][0]; */r = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts); stack.push(encode_range_xls((r/*:any*/), opts)); break; - case 'PtgArea': /* 2.5.198.27 TODO: fixed points */ + case 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */ /*::type = f[1][0]; */r = shift_range_xls(f[1][1], _range, opts); stack.push(encode_range_xls((r/*:any*/), opts)); break; - case 'PtgArea3d': /* 2.5.198.28 TODO */ + case 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */ /*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; r = f[1][2]; sname = get_ixti(supbooks, ixti, opts); stack.push(sname + "!" + encode_range_xls((r/*:any*/), opts)); break; - case 'PtgAttrSum': /* 2.5.198.41 */ + case 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */ stack.push("SUM(" + stack.pop() + ")"); break; - case 'PtgAttrSemi': /* 2.5.198.37 */ + case 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */ break; - case 'PtgName': /* 2.5.97.60 TODO: revisions */ + case 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */ /* f[1] = type, 0, nameindex */ nameidx = (f[1][2]/*:any*/); var lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx]; @@ -10125,7 +10169,7 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, stack.push(name); break; - case 'PtgNameX': /* 2.5.97.61 TODO: revisions */ + case 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */ /* f[1] = type, ixti, nameindex */ var bookidx/*:number*/ = (f[1][1]/*:any*/); nameidx = (f[1][2]/*:any*/); var externbook; /* TODO: Properly handle missing values */ @@ -10151,7 +10195,7 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, stack.push(externbook.Name); break; - case 'PtgParen': /* 2.5.198.80 */ + case 'PtgParen': /* [MS-XLS] 2.5.198.80 */ var lp = '(', rp = ')'; if(last_sp >= 0) { sp = ""; @@ -10172,13 +10216,13 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, } stack.push(lp + stack.pop() + rp); break; - case 'PtgRefErr': /* 2.5.198.86 */ + case 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */ stack.push('#REF!'); break; - case 'PtgRefErr3d': /* 2.5.198.87 */ + case 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */ stack.push('#REF!'); break; - case 'PtgExp': /* 2.5.198.58 TODO */ + case 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */ c = {c:(f[1][1]/*:any*/),r:(f[1][0]/*:any*/)}; var q = ({c: cell.c, r:cell.r}/*:any*/); if(supbooks.sharedf[encode_cell(c)]) { @@ -10200,55 +10244,55 @@ function stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, } break; - case 'PtgArray': /* 2.5.198.32 TODO */ + case 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */ stack.push("{" + stringify_array(/*::(*/f[1]/*:: :any)*/) + "}"); break; - case 'PtgMemArea': /* 2.5.198.70 TODO: confirm this is a non-display */ + case 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */ //stack.push("(" + f[2].map(encode_range).join(",") + ")"); break; - case 'PtgAttrSpace': /* 2.5.198.38 */ - case 'PtgAttrSpaceSemi': /* 2.5.198.39 */ + case 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */ + case 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */ last_sp = ff; break; - case 'PtgTbl': /* 2.5.198.92 TODO */ + case 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */ break; - case 'PtgMemErr': /* 2.5.198.71 */ + case 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */ break; - case 'PtgMissArg': /* 2.5.198.74 */ + case 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */ stack.push(""); break; - case 'PtgAreaErr': /* 2.5.198.29 */ + case 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */ stack.push("#REF!"); break; - case 'PtgAreaErr3d': /* 2.5.198.30 */ + case 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */ stack.push("#REF!"); break; - case 'PtgMemFunc': /* 2.5.198.72 TODO */ + case 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */ + break; + case 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */ break; - case 'PtgMemNoMem': /* 2.5.198.73 TODO -- find a test case */ - throw new Error('Unrecognized Formula Token: ' + String(f)); - case 'PtgElfCol': /* 2.5.198.46 */ - case 'PtgElfColS': /* 2.5.198.47 */ - case 'PtgElfColSV': /* 2.5.198.48 */ - case 'PtgElfColV': /* 2.5.198.49 */ - case 'PtgElfLel': /* 2.5.198.50 */ - case 'PtgElfRadical': /* 2.5.198.51 */ - case 'PtgElfRadicalLel': /* 2.5.198.52 */ - case 'PtgElfRadicalS': /* 2.5.198.53 */ - case 'PtgElfRw': /* 2.5.198.54 */ - case 'PtgElfRwV': /* 2.5.198.55 */ + case 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */ + case 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */ + case 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */ + case 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */ + case 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */ + case 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */ + case 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */ + case 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */ + case 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */ + case 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */ throw new Error("Unsupported ELFs"); - case 'PtgAttrBaxcel': /* 2.5.198.33 TODO -- find a test case*/ + case 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 TODO -- find a test case*/ throw new Error('Unrecognized Formula Token: ' + String(f)); - case 'PtgSxName': /* 2.5.198.91 TODO -- find a test case */ + case 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */ throw new Error('Unrecognized Formula Token: ' + String(f)); case 'PtgList': /* [MS-XLSB] 2.5.97.52 TODO -- find a test case */ throw new Error('Unrecognized Formula Token: ' + String(f)); @@ -10357,7 +10401,6 @@ function parse_Formula(blob, length, opts) { /* XLSB Parsed Formula records have the same shape */ function parse_XLSBParsedFormula(data, length, opts) { - //var end = data.l + length; var cce = data.read_shift(4); var rgce = parse_Rgce(data, cce, opts); var cb = data.read_shift(4); @@ -11734,6 +11777,7 @@ function safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, the if(opts.cellNF) p.z = SSF._table[fmtid]; } catch(e) { if(opts.WTF) throw e; } if(!opts || opts.cellText !== false) try { + if(SSF._table[fmtid] == null) SSF.load(SSFImplicit[fmtid] || "General", fmtid); if(p.t === 'e') p.w = p.w || BErr[p.v]; else if(fmtid === 0) { if(p.t === 'n') { @@ -12240,9 +12284,11 @@ function write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ { ws['!comments'] = []; ws['!drawing'] = []; - var cname = wb.SheetNames[idx]; - try { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {} - o[o.length] = (writextag('sheetPr', null, {'codeName': escapexml(cname)})); + if(opts.bookType !== 'xlsx' && wb.vbaraw) { + var cname = wb.SheetNames[idx]; + try { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {} + o[o.length] = (writextag('sheetPr', null, {'codeName': escapexml(cname)})); + } o[o.length] = (writextag('dimension', null, {'ref': ref})); @@ -12313,7 +12359,9 @@ function write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ { /* colBreaks */ /* customProperties */ /* cellWatches */ - /* ignoredErrors */ + + o[o.length] = writetag("ignoredErrors", writextag("ignoredError", null, {numberStoredAsText:1, sqref:ref})); + /* smartTags */ if(ws['!drawing'].length > 0) { @@ -12340,7 +12388,7 @@ function write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ { return o.join(""); } -/* [MS-XLSB] 2.4.718 BrtRowHdr */ +/* [MS-XLSB] 2.4.726 BrtRowHdr */ function parse_BrtRowHdr(data, length) { var z = ({}/*:any*/); var tgt = data.l + length; @@ -12408,16 +12456,16 @@ function write_row_header(ba, ws, range, R) { if((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 'BrtRowHdr', o); } -/* [MS-XLSB] 2.4.812 BrtWsDim */ +/* [MS-XLSB] 2.4.820 BrtWsDim */ var parse_BrtWsDim = parse_UncheckedRfX; var write_BrtWsDim = write_UncheckedRfX; -/* [MS-XLSB] 2.4.813 BrtWsFmtInfo */ +/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */ function parse_BrtWsFmtInfo(/*::data, length*/) { } //function write_BrtWsFmtInfo(ws, o) { } -/* [MS-XLSB] 2.4.815 BrtWsProp */ +/* [MS-XLSB] 2.4.823 BrtWsProp */ function parse_BrtWsProp(data, length) { var z = {}; /* TODO: pull flags */ @@ -12435,7 +12483,7 @@ function write_BrtWsProp(str, o) { return o.slice(0, o.l); } -/* [MS-XLSB] 2.4.303 BrtCellBlank */ +/* [MS-XLSB] 2.4.306 BrtCellBlank */ function parse_BrtCellBlank(data) { var cell = parse_XLSBCell(data); return [cell]; @@ -12446,7 +12494,7 @@ function write_BrtCellBlank(cell, ncell, o) { } -/* [MS-XLSB] 2.4.304 BrtCellBool */ +/* [MS-XLSB] 2.4.307 BrtCellBool */ function parse_BrtCellBool(data) { var cell = parse_XLSBCell(data); var fBool = data.read_shift(1); @@ -12459,14 +12507,14 @@ function write_BrtCellBool(cell, ncell, o) { return o; } -/* [MS-XLSB] 2.4.305 BrtCellError */ +/* [MS-XLSB] 2.4.308 BrtCellError */ function parse_BrtCellError(data) { var cell = parse_XLSBCell(data); var bError = data.read_shift(1); return [cell, bError, 'e']; } -/* [MS-XLSB] 2.4.308 BrtCellIsst */ +/* [MS-XLSB] 2.4.311 BrtCellIsst */ function parse_BrtCellIsst(data) { var cell = parse_XLSBCell(data); var isst = data.read_shift(4); @@ -12479,7 +12527,7 @@ function write_BrtCellIsst(cell, ncell, o) { return o; } -/* [MS-XLSB] 2.4.310 BrtCellReal */ +/* [MS-XLSB] 2.4.313 BrtCellReal */ function parse_BrtCellReal(data) { var cell = parse_XLSBCell(data); var value = parse_Xnum(data); @@ -12492,7 +12540,7 @@ function write_BrtCellReal(cell, ncell, o) { return o; } -/* [MS-XLSB] 2.4.311 BrtCellRk */ +/* [MS-XLSB] 2.4.314 BrtCellRk */ function parse_BrtCellRk(data) { var cell = parse_XLSBCell(data); var value = parse_RkNumber(data); @@ -12506,7 +12554,7 @@ function write_BrtCellRk(cell, ncell, o) { } -/* [MS-XLSB] 2.4.314 BrtCellSt */ +/* [MS-XLSB] 2.4.317 BrtCellSt */ function parse_BrtCellSt(data) { var cell = parse_XLSBCell(data); var value = parse_XLWideString(data); @@ -12519,7 +12567,7 @@ function write_BrtCellSt(cell, ncell, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.647 BrtFmlaBool */ +/* [MS-XLSB] 2.4.653 BrtFmlaBool */ function parse_BrtFmlaBool(data, length, opts) { var end = data.l + length; var cell = parse_XLSBCell(data); @@ -12535,7 +12583,7 @@ function parse_BrtFmlaBool(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.648 BrtFmlaError */ +/* [MS-XLSB] 2.4.654 BrtFmlaError */ function parse_BrtFmlaError(data, length, opts) { var end = data.l + length; var cell = parse_XLSBCell(data); @@ -12551,7 +12599,7 @@ function parse_BrtFmlaError(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.649 BrtFmlaNum */ +/* [MS-XLSB] 2.4.655 BrtFmlaNum */ function parse_BrtFmlaNum(data, length, opts) { var end = data.l + length; var cell = parse_XLSBCell(data); @@ -12567,7 +12615,7 @@ function parse_BrtFmlaNum(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.650 BrtFmlaString */ +/* [MS-XLSB] 2.4.656 BrtFmlaString */ function parse_BrtFmlaString(data, length, opts) { var end = data.l + length; var cell = parse_XLSBCell(data); @@ -12583,17 +12631,17 @@ function parse_BrtFmlaString(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.676 BrtMergeCell */ +/* [MS-XLSB] 2.4.682 BrtMergeCell */ var parse_BrtMergeCell = parse_UncheckedRfX; var write_BrtMergeCell = write_UncheckedRfX; -/* [MS-XLSB] 2.4.108 BrtBeginMergeCells */ +/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */ function write_BrtBeginMergeCells(cnt, o) { if(o == null) o = new_buf(4); o.write_shift(4, cnt); return o; } -/* [MS-XLSB] 2.4.656 BrtHLink */ +/* [MS-XLSB] 2.4.662 BrtHLink */ function parse_BrtHLink(data, length/*::, opts*/) { var end = data.l + length; var rfx = parse_UncheckedRfX(data, 16); @@ -12631,7 +12679,7 @@ function parse_BrtArrFmla(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.742 BrtShrFmla */ +/* [MS-XLSB] 2.4.750 BrtShrFmla */ function parse_BrtShrFmla(data, length, opts) { var end = data.l + length; var rfx = parse_UncheckedRfX(data, 16); @@ -12661,7 +12709,7 @@ function write_BrtColInfo(C/*:number*/, col, o) { return o; } -/* [MS-XLSB] 2.4.672 BrtMargins */ +/* [MS-XLSB] 2.4.678 BrtMargins */ var BrtMarginKeys = ["left","right","top","bottom","header","footer"]; function parse_BrtMargins(data/*::, length, opts*/)/*:Margins*/ { var margins = ({}/*:any*/); @@ -12675,7 +12723,7 @@ function write_BrtMargins(margins/*:Margins*/, o) { return o; } -/* [MS-XLSB] 2.4.292 BrtBeginWsView */ +/* [MS-XLSB] 2.4.299 BrtBeginWsView */ function parse_BrtBeginWsView(data/*::, length, opts*/) { var f = data.read_shift(2); data.l += 28; @@ -12701,7 +12749,16 @@ function write_BrtBeginWsView(ws, Workbook, o) { return o; } -/* [MS-XLSB] 2.4.740 BrtSheetProtection */ +/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */ +function write_BrtCellIgnoreEC(ref) { + var o = new_buf(24); + o.write_shift(4, 4); + o.write_shift(4, 1); + write_UncheckedRfX(ref, o); + return o; +} + +/* [MS-XLSB] 2.4.748 BrtSheetProtection */ function write_BrtSheetProtection(sp, o) { if(o == null) o = new_buf(16*4+2); o.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0); @@ -13077,6 +13134,13 @@ function write_COLINFOS(ba, ws/*:Worksheet*//*::, idx:number, opts, wb:Workbook* write_record(ba, 'BrtEndColInfos'); } +function write_IGNOREECS(ba, ws/*:Worksheet*/) { + if(!ws || !ws['!ref']) return; + write_record(ba, 'BrtBeginCellIgnoreECs'); + write_record(ba, 'BrtCellIgnoreEC', write_BrtCellIgnoreEC(safe_decode_range(ws['!ref']))); + write_record(ba, 'BrtEndCellIgnoreECs'); +} + function write_HLINKS(ba, ws/*:Worksheet*/, rels) { /* *BrtHLink */ ws['!links'].forEach(function(l) { @@ -13097,7 +13161,7 @@ function write_LEGACYDRAWING(ba, ws/*:Worksheet*/, idx/*:number*/, rels) { function write_AUTOFILTER(ba, ws) { if(!ws['!autofilter']) return; - write_record(ba, "BrtBeginAFilter", write_UncheckedRfX(decode_range(ws['!autofilter'].ref))); + write_record(ba, "BrtBeginAFilter", write_UncheckedRfX(safe_decode_range(ws['!autofilter'].ref))); /* *FILTERCOLUMN */ /* [SORTSTATE] */ /* BrtEndAFilter */ @@ -13139,7 +13203,7 @@ function write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) { /* passed back to write_zip and removed there */ ws['!comments'] = []; write_record(ba, "BrtBeginSheet"); - write_record(ba, "BrtWsProp", write_BrtWsProp(c)); + if(wb.vbaraw) write_record(ba, "BrtWsProp", write_BrtWsProp(c)); write_record(ba, "BrtWsDim", write_BrtWsDim(r)); write_WSVIEWS2(ba, ws, wb.Workbook); write_WSFMTINFO(ba, ws); @@ -13166,7 +13230,7 @@ function write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) { /* [COLBRK] */ /* *BrtBigName */ /* [CELLWATCHES] */ - /* [IGNOREECS] */ + write_IGNOREECS(ba, ws); /* [SMARTTAGS] */ /* [BrtDrawing] */ write_LEGACYDRAWING(ba, ws, idx, rels); @@ -13453,16 +13517,21 @@ function check_ws_name(n/*:string*/, safe/*:?boolean*/)/*:boolean*/ { }); return _good; } -function check_wb_names(N) { +function check_wb_names(N, S, codes) { N.forEach(function(n,i) { check_ws_name(n); for(var j = 0; j < i; ++j) if(n == N[j]) throw new Error("Duplicate Sheet Name: " + n); + if(codes) { + var cn = (S && S[i] && S[i].CodeName) || n; + if(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error("Bad Code Name: Worksheet" + cn); + } }); } function check_wb(wb) { if(!wb || !wb.SheetNames || !wb.Sheets) throw new Error("Invalid Workbook"); if(!wb.SheetNames.length) throw new Error("Workbook is empty"); - check_wb_names(wb.SheetNames); + var Sheets = (wb.Workbook && wb.Workbook.Sheets) || []; + check_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw); /* TODO: validate workbook */ } /* 18.2 Workbook */ @@ -13696,7 +13765,7 @@ function write_wb_xml(wb/*:Workbook*//*::, opts:?WriteOpts*/)/*:string*/ { if(o.length>2){ o[o.length] = ''; o[1]=o[1].replace("/>",">"); } return o.join(""); } -/* [MS-XLSB] 2.4.301 BrtBundleSh */ +/* [MS-XLSB] 2.4.304 BrtBundleSh */ function parse_BrtBundleSh(data, length/*:number*/) { var z = {}; z.Hidden = data.read_shift(4); //hsState ST_SheetState @@ -13714,7 +13783,7 @@ function write_BrtBundleSh(data, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.807 BrtWbProp */ +/* [MS-XLSB] 2.4.815 BrtWbProp */ function parse_BrtWbProp(data, length)/*:WBProps*/ { var o/*:WBProps*/ = ({}/*:any*/); var flags = data.read_shift(4); @@ -13759,7 +13828,7 @@ function parse_BrtFRTArchID$(data, length) { return o; } -/* [MS-XLSB] 2.4.680 BrtName */ +/* [MS-XLSB] 2.4.687 BrtName */ function parse_BrtName(data, length, opts) { var end = data.l + length; data.l += 4; //var flags = data.read_shift(4); @@ -13781,7 +13850,7 @@ function parse_BrtName(data, length, opts) { return out; } -/* [MS-XLSB] 2.1.7.60 Workbook */ +/* [MS-XLSB] 2.1.7.61 Workbook */ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; var pass = false; @@ -13883,7 +13952,6 @@ function parse_wb_bin(data, opts)/*:WorkbookFile*/ { return wb; } -/* [MS-XLSB] 2.1.7.60 Workbook */ function write_BUNDLESHS(ba, wb/*::, opts*/) { write_record(ba, "BrtBeginBundleShs"); for(var idx = 0; idx != wb.SheetNames.length; ++idx) { @@ -13894,7 +13962,7 @@ function write_BUNDLESHS(ba, wb/*::, opts*/) { write_record(ba, "BrtEndBundleShs"); } -/* [MS-XLSB] 2.4.643 BrtFileVersion */ +/* [MS-XLSB] 2.4.649 BrtFileVersion */ function write_BrtFileVersion(data, o) { if(!o) o = new_buf(127); for(var i = 0; i != 4; ++i) o.write_shift(4, 0); @@ -13906,7 +13974,7 @@ function write_BrtFileVersion(data, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.298 BrtBookView */ +/* [MS-XLSB] 2.4.301 BrtBookView */ function write_BrtBookView(idx, o) { if(!o) o = new_buf(29); o.write_shift(-4, 0); @@ -13921,7 +13989,6 @@ function write_BrtBookView(idx, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.1.7.60 Workbook */ function write_BOOKVIEWS(ba, wb/*::, opts*/) { /* required if hidden tab appears before visible tab */ if(!wb.Workbook || !wb.Workbook.Sheets) return; @@ -13938,7 +14005,7 @@ function write_BOOKVIEWS(ba, wb/*::, opts*/) { write_record(ba, "BrtEndBookViews"); } -/* [MS-XLSB] 2.4.302 BrtCalcProp */ +/* [MS-XLSB] 2.4.305 BrtCalcProp */ /*function write_BrtCalcProp(data, o) { if(!o) o = new_buf(26); o.write_shift(4,0); // force recalc @@ -13951,14 +14018,14 @@ function write_BOOKVIEWS(ba, wb/*::, opts*/) { return o; }*/ -/* [MS-XLSB] 2.4.640 BrtFileRecover */ +/* [MS-XLSB] 2.4.646 BrtFileRecover */ /*function write_BrtFileRecover(data, o) { if(!o) o = new_buf(1); o.write_shift(1,0); return o; }*/ -/* [MS-XLSB] 2.1.7.60 Workbook */ +/* [MS-XLSB] 2.1.7.61 Workbook */ function write_wb_bin(wb, opts) { var ba = buf_array(); write_record(ba, "BrtBeginBook"); @@ -16060,15 +16127,15 @@ function parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ { function parse_props(cfb/*:CFBContainer*/, props, o) { /* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */ var DSI = CFB.find(cfb, '!DocumentSummaryInformation'); - if(DSI) try { - var DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI); + if(DSI && DSI.size > 0) try { + var DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, "02d5cdd59c2e1b10939708002b2cf9ae"); for(var d in DocSummary) props[d] = DocSummary[d]; } catch(e) {if(o.WTF) throw e;/* empty */} /* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/ var SI = CFB.find(cfb, '!SummaryInformation'); - if(SI) try { - var Summary = parse_PropertySetStream(SI, SummaryPIDSI); + if(SI && SI.size > 0) try { + var Summary = parse_PropertySetStream(SI, SummaryPIDSI, "e0859ff2f94f6810ab9108002b27b3d9"); for(var s in Summary) if(props[s] == null) props[s] = Summary[s]; } catch(e) {if(o.WTF) throw e;/* empty */} } @@ -16770,8 +16837,10 @@ var XLSBRecordEnum = { /*::[*/0x0422/*::]*/: { n:"BrtBeginSparklineGroups" }, /*::[*/0x0423/*::]*/: { n:"BrtEndSparklineGroups" }, /*::[*/0x0425/*::]*/: { n:"BrtSXVD14" }, - /*::[*/0x0426/*::]*/: { n:"BrtBeginSxview14" }, - /*::[*/0x0427/*::]*/: { n:"BrtEndSxview14" }, + /*::[*/0x0426/*::]*/: { n:"BrtBeginSXView14" }, + /*::[*/0x0427/*::]*/: { n:"BrtEndSXView14" }, + /*::[*/0x0428/*::]*/: { n:"BrtBeginSXView16" }, + /*::[*/0x0429/*::]*/: { n:"BrtEndSXView16" }, /*::[*/0x042A/*::]*/: { n:"BrtBeginPCD14" }, /*::[*/0x042B/*::]*/: { n:"BrtEndPCD14" }, /*::[*/0x042C/*::]*/: { n:"BrtBeginExtConn14" }, @@ -16958,6 +17027,12 @@ var XLSBRecordEnum = { /*::[*/0x0856/*::]*/: { n:"BrtFieldListActiveItem" }, /*::[*/0x0857/*::]*/: { n:"BrtPivotCacheIdVersion" }, /*::[*/0x0858/*::]*/: { n:"BrtSXDI15" }, + /*::[*/0x0859/*::]*/: { n:"BrtBeginModelTimeGroupings" }, + /*::[*/0x085A/*::]*/: { n:"BrtEndModelTimeGroupings" }, + /*::[*/0x085B/*::]*/: { n:"BrtBeginModelTimeGrouping" }, + /*::[*/0x085C/*::]*/: { n:"BrtEndModelTimeGrouping" }, + /*::[*/0x085D/*::]*/: { n:"BrtModelTimeGroupingCalcCol" }, + /*::[*/0x0C01/*::]*/: { n:"BrtRevisionPtr" }, /*::[*/0xFFFF/*::]*/: { n:"" } }; @@ -17477,16 +17552,45 @@ function write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) { return ba.end(); } -function write_FMTS_biff8(ba, NF/*:?SSFTable*/) { +function write_FONTS_biff8(ba, data, opts) { + write_biff_rec(ba, "Font", write_Font({ + sz:12, + color: {theme:1}, + name: "Arial", + family: 2, + scheme: "minor" + }, opts)); +} + + +function write_FMTS_biff8(ba, NF/*:?SSFTable*/, opts) { if(!NF) return; [[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) { /*:: if(!NF) return; */ - for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_biff_rec(ba, "Format", write_Format(i, NF[i])); + for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_biff_rec(ba, "Format", write_Format(i, NF[i], opts)); }); } -function write_CELLXFS_biff8(ba, data) { - data.forEach(function(c) { - write_biff_rec(ba, "XF", write_XF(c,0)); + +function write_FEAT(ba, ws) { + /* [MS-XLS] 2.4.112 */ + var o = new_buf(19); + o.write_shift(4, 0x867); o.write_shift(4, 0); o.write_shift(4, 0); + o.write_shift(2, 3); o.write_shift(1, 1); o.write_shift(4, 0); + write_biff_rec(ba, "FeatHdr", o); + /* [MS-XLS] 2.4.111 */ + o = new_buf(39); + o.write_shift(4, 0x868); o.write_shift(4, 0); o.write_shift(4, 0); + o.write_shift(2, 3); o.write_shift(1, 0); o.write_shift(4, 0); + o.write_shift(2, 1); o.write_shift(4, 4); o.write_shift(2, 0); + write_Ref8U(safe_decode_range(ws['!ref']), o); + o.write_shift(4, 4); + write_biff_rec(ba, "Feat", o); +} + +function write_CELLXFS_biff8(ba, opts) { + for(var i = 0; i < 16; ++i) write_biff_rec(ba, "XF", write_XF({numFmtId:0, style:true}, 0, opts)); + opts.cellXfs.forEach(function(c) { + write_biff_rec(ba, "XF", write_XF(c, 0, opts)); }); } @@ -17500,14 +17604,14 @@ function write_ws_biff8_hlinks(ba/*:BufArray*/, ws) { } function write_ws_biff8_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts) { - var os = get_cell_style(opts.cellXfs, cell, opts); + var os = 16 + get_cell_style(opts.cellXfs, cell, opts); if(cell.v != null) switch(cell.t) { case 'd': case 'n': var v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v; /* TODO: emit RK as appropriate */ write_biff_rec(ba, "Number", write_Number(R, C, v, os, opts)); return; - case 'b': case 'e': write_biff_rec(ba, "BoolErr", write_BoolErr(R, C, cell.v, os, opts, cell.t)); return; + case 'b': case 'e': write_biff_rec(ba, 0x0205, write_BoolErr(R, C, cell.v, os, opts, cell.t)); return; /* TODO: codepage, sst */ case 's': case 'str': write_biff_rec(ba, "Label", write_Label(R, C, cell.v, os, opts)); @@ -17562,12 +17666,14 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { /* ... */ if(b8 && _WB.Views) write_biff_rec(ba, "Window2", write_Window2(_WB.Views[0])); /* ... */ - if(b8) write_biff_rec(ba, "MergeCells", write_MergeCells(ws['!merges']||[])); + if(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, "MergeCells", write_MergeCells(ws['!merges'])); /* ... */ if(b8) write_ws_biff8_hlinks(ba, ws); /* ... */ write_biff_rec(ba, "CodeName", write_XLUnicodeString(cname, opts)); /* ... */ + if(b8) write_FEAT(ba, ws); + /* ... */ write_biff_rec(ba, "EOF"); return ba.end(); } @@ -17575,7 +17681,9 @@ function write_ws_biff8(idx/*:number*/, opts, wb/*:Workbook*/) { /* [MS-XLS] 2.1.7.20.3 */ function write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) { var A = buf_array(); - var _wb/*:WBWBProps*/ = /*::((*/(wb.Workbook||{}).WBProps||{/*::CodeName:"ThisWorkbook"*/}/*:: ):any)*/; + var _WB/*:WBWBProps*/ = ((wb||{}).Workbook||{}/*:any*/); + var _sheets/*:Array*/ = (_WB.Sheets||[]); + var _wb/*:WBProps*/ = /*::((*/_WB.WBProps||{/*::CodeName:"ThisWorkbook"*/}/*:: ):any)*/; var b8 = opts.biff == 8, b5 = opts.biff == 5; write_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts)); if(opts.bookType == "xla") write_biff_rec(A, "Addin"); @@ -17587,10 +17695,10 @@ function write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) { write_biff_rec(A, "WriteAccess", write_WriteAccess("SheetJS", opts)); write_biff_rec(A, "CodePage", writeuint16(b8 ? 0x04b0 : 0x04E4)); if(b8) write_biff_rec(A, "DSF", writeuint16(0)); + if(b8) write_biff_rec(A, "Excel9File"); write_biff_rec(A, "RRTabId", write_RRTabId(wb.SheetNames.length)); if(b8 && wb.vbaraw) { write_biff_rec(A, "ObProj"); - // $FlowIgnore var cname/*:string*/ = _wb.CodeName || "ThisWorkbook"; write_biff_rec(A, "CodeName", write_XLUnicodeString(cname, opts)); } @@ -17608,8 +17716,9 @@ function write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) { if(b8) write_biff_rec(A, "RefreshAll", writebool(false)); write_biff_rec(A, "BookBool", writeuint16(0)); /* ... */ - if(b8) write_FMTS_biff8(A, wb.SSF); - if(b8) write_CELLXFS_biff8(A, opts.cellXfs); + write_FONTS_biff8(A, wb, opts); + write_FMTS_biff8(A, wb.SSF, opts); + write_CELLXFS_biff8(A, opts); /* ... */ if(b8) write_biff_rec(A, "UsesELFs", writebool(false)); var a = A.end(); @@ -17625,7 +17734,8 @@ function write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) { for(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length; var start = a.length + blen + c.length; for(j = 0; j < wb.SheetNames.length; ++j) { - write_biff_rec(B, "BoundSheet8", write_BoundSheet8({pos:start, hs:0, dt:0, name:wb.SheetNames[j]}, opts)); + var _sheet/*:WBWSProp*/ = _sheets[j] || ({}/*:any*/); + write_biff_rec(B, "BoundSheet8", write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts)); start += bufs[j].length; } /* 1*BoundSheet8 */ diff --git a/xlsx.js b/xlsx.js index cf989e3..b81db21 100644 --- a/xlsx.js +++ b/xlsx.js @@ -4,7 +4,7 @@ /*global global, exports, module, require:false, process:false, Buffer:false, ArrayBuffer:false */ var XLSX = {}; (function make_xlsx(XLSX){ -XLSX.version = '0.12.0'; +XLSX.version = '0.12.1'; var current_codepage = 1200, current_ansi = 1252; /*global cptable:true */ if(typeof module !== "undefined" && typeof require !== 'undefined') { @@ -1044,6 +1044,46 @@ var XLMLFormatMap/*{[string]:string}*/ = ({ "On/Off": '"Yes";"Yes";"No";@' }); +var SSFImplicit/*{[number]:string}*/ = ({ + "5": '"$"#,##0_);\\("$"#,##0\\)', + "6": '"$"#,##0_);[Red]\\("$"#,##0\\)', + "7": '"$"#,##0.00_);\\("$"#,##0.00\\)', + "8": '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', + "23": 'General', "24": 'General', "25": 'General', "26": 'General', + "27": 'm/d/yy', "28": 'm/d/yy', "29": 'm/d/yy', "30": 'm/d/yy', "31": 'm/d/yy', + "32": 'h:mm:ss', "33": 'h:mm:ss', "34": 'h:mm:ss', "35": 'h:mm:ss', + "36": 'm/d/yy', + "41": '_(* #,##0_);_(* \(#,##0\);_(* "-"_);_(@_)', + "42": '_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"_);_(@_)', + "43": '_(* #,##0.00_);_(* \(#,##0.00\);_(* "-"??_);_(@_)', + "44": '_("$"* #,##0.00_);_("$"* \(#,##0.00\);_("$"* "-"??_);_(@_)', + "50": 'm/d/yy', "51": 'm/d/yy', "52": 'm/d/yy', "53": 'm/d/yy', "54": 'm/d/yy', + "55": 'm/d/yy', "56": 'm/d/yy', "57": 'm/d/yy', "58": 'm/d/yy', + "59": '0', + "60": '0.00', + "61": '#,##0', + "62": '#,##0.00', + "63": '"$"#,##0_);\\("$"#,##0\\)', + "64": '"$"#,##0_);[Red]\\("$"#,##0\\)', + "65": '"$"#,##0.00_);\\("$"#,##0.00\\)', + "66": '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', + "67": '0%', + "68": '0.00%', + "69": '# ?/?', + "70": '# ??/??', + "71": 'm/d/yy', + "72": 'm/d/yy', + "73": 'd-mmm-yy', + "74": 'd-mmm', + "75": 'mmm-yy', + "76": 'h:mm', + "77": 'h:mm:ss', + "78": 'm/d/yy h:mm', + "79": 'mm:ss', + "80": '[h]:mm:ss', + "81": 'mmss.0' +}); + /* dateNF parse TODO: move to SSF */ var dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g; function dateNF_regex(dateNF) { @@ -1081,7 +1121,7 @@ var DO_NOT_EXPORT_CFB = true; /* [MS-CFB] v20130118 */ var CFB = (function _CFB(){ var exports = {}; -exports.version = '1.0.2'; +exports.version = '1.0.3'; /* [MS-CFB] 2.6.4 */ function namecmp(l, r) { var L = l.split("/"), R = r.split("/"); @@ -1396,14 +1436,14 @@ function read_directory(dir_start, sector_list, sectors, Paths, nmfs, files, Fil if(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz); sector_list[o.start].name = o.name; o.content = (sector_list[o.start].data.slice(0,o.size)); - prep_blob(o.content, 0); } else { o.storage = 'minifat'; - if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) { + if(o.size < 0) o.size = 0; + else if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) { o.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data); - prep_blob(o.content, 0); } } + if(o.content) prep_blob(o.content, 0); files[name] = o; FileIndex.push(o); } @@ -1843,7 +1883,7 @@ function keys(o) { return Object.keys(o); } function evert_key(obj, key) { var o = ([]), K = keys(obj); - for(var i = 0; i !== K.length; ++i) o[obj[K[i]][key]] = K[i]; + for(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i]; return o; } @@ -2486,7 +2526,7 @@ for(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF); this[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0); } return this; } else if(f === 'utf16le') { -var end = this.l + t; +var end = Math.min(this.l + t, this.length); for(i = 0; i < Math.min(val.length, t); ++i) { var cc = val.charCodeAt(i); this[this.l++] = (cc & 0xff); @@ -2840,7 +2880,7 @@ function write_StrRun(run, o) { return o; } -/* [MS-XLSB] 2.1.7.121 */ +/* [MS-XLSB] 2.5.121 */ function parse_RichStr(data, length) { var start = data.l; var flags = data.read_shift(1); @@ -2867,7 +2907,7 @@ function write_RichStr(str, o) { write_XLWideString(str.t, o); return _null ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.325 BrtCommentText (RichStr w/1 run) */ +/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */ var parse_BrtCommentText = parse_RichStr; function write_BrtCommentText(str, o) { /* TODO: formatted string */ @@ -2921,8 +2961,7 @@ var parse_RelID = parse_XLNullableWideString; var write_RelID = write_XLNullableWideString; -/* [MS-XLSB] 2.5.122 */ -/* [MS-XLS] 2.5.217 */ +/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */ function parse_RkNumber(data) { var b = data.slice(data.l, data.l+4); var fX100 = (b[0] & 1), fInt = (b[0] & 2); @@ -2950,7 +2989,6 @@ function parse_RfX(data ) { cell.e.c = data.read_shift(4); return cell; } - function write_RfX(r, o) { if(!o) o = new_buf(16); o.write_shift(4, r.s.r); @@ -2964,13 +3002,12 @@ function write_RfX(r, o) { var parse_UncheckedRfX = parse_RfX; var write_UncheckedRfX = write_RfX; -/* [MS-XLSB] 2.5.171 */ -/* [MS-XLS] 2.5.342 */ +/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */ /* TODO: error checking, NaN and Infinity values are not valid Xnum */ function parse_Xnum(data) { return data.read_shift(8, 'f'); } function write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); } -/* [MS-XLSB] 2.5.198.2 */ +/* [MS-XLSB] 2.5.97.2 */ var BErr = { 0x00: "#NULL!", 0x07: "#DIV/0!", @@ -2984,7 +3021,7 @@ var BErr = { }; var RBErr = evert_num(BErr); -/* [MS-XLSB] 2.4.321 BrtColor */ +/* [MS-XLSB] 2.4.324 BrtColor */ function parse_BrtColor(data) { var out = {}; var d = data.read_shift(1); @@ -3280,7 +3317,7 @@ var XLSFillPattern = [ function rgbify(arr) { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); } /* [MS-XLS] 2.5.161 */ -/* [MS-XLSB] 2.5.75 */ +/* [MS-XLSB] 2.5.75 Icv */ var XLSIcv = rgbify([ /* Color Constants */ 0x000000, @@ -3377,8 +3414,7 @@ var XLSIcv = rgbify([ /* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */ /* 12.3 Part Summary */ /* 14.2 Part Summary */ -/* [MS-XLSX] 2.1 Part Enumerations */ -/* [MS-XLSB] 2.1.7 Part Enumeration */ +/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */ var ct2type/*{[string]:string}*/ = ({ /* Workbook */ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": "workbooks", @@ -4359,7 +4395,7 @@ function parse_PropertySet(blob, PIDSI) { } /* [MS-OLEPS] 2.21 PropertySetStream */ -function parse_PropertySetStream(file, PIDSI) { +function parse_PropertySetStream(file, PIDSI, clsid) { var blob = file.content; if(!blob) return ({}); prep_blob(blob, 0); @@ -4369,7 +4405,8 @@ function parse_PropertySetStream(file, PIDSI) { /*var vers = */blob.read_shift(2); // TODO: check version var SystemIdentifier = blob.read_shift(4); - blob.chk(CFB.utils.consts.HEADER_CLSID, 'CLSID: '); + var CLSID = blob.read_shift(16); + if(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error("Bad PropertySet CLSID " + CLSID); NumSets = blob.read_shift(4); if(NumSets !== 1 && NumSets !== 2) throw new Error("Unrecognized #Sets: " + NumSets); FMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4); @@ -4420,7 +4457,7 @@ function parse_Bes(blob) { function write_Bes(v, t, o) { if(!o) o = new_buf(2); o.write_shift(1, +v); - o.write_shift(1, t == 'e' ? 1 : 0); + o.write_shift(1, ((t == 'e') ? 1 : 0)); return o; } @@ -4619,9 +4656,7 @@ function parse_LongRGBA(blob) { var r = blob.read_shift(1), g = blob.read_shift( function parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; } -/* --- MS-XLS --- */ - -/* 2.5.19 */ +/* [MS-XLS] 2.5.19 */ function parse_XLSCell(blob) { var rw = blob.read_shift(2); // 0-indexed var col = blob.read_shift(2); @@ -4636,7 +4671,7 @@ function write_XLSCell(R, C, ixfe, o) { return o; } -/* 2.5.134 */ +/* [MS-XLS] 2.5.134 */ function parse_frtHeader(blob) { var rt = blob.read_shift(2); var flags = blob.read_shift(2); // TODO: parse these flags @@ -4648,21 +4683,21 @@ function parse_frtHeader(blob) { function parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? "" : parse_XLUnicodeString2(blob, length, opts); } -/* 2.5.344 */ +/* [MS-XLS] 2.5.344 */ function parse_XTI(blob, length, opts) { var w = opts.biff > 8 ? 4 : 2; var iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i'); return [iSupBook, itabFirst, itabLast]; } -/* 2.5.218 */ +/* [MS-XLS] 2.5.218 */ function parse_RkRec(blob) { var ixfe = blob.read_shift(2); var RK = parse_RkNumber(blob); return [ixfe, RK]; } -/* 2.5.1 */ +/* [MS-XLS] 2.5.1 */ function parse_AddinUdf(blob, length, opts) { blob.l += 4; length -= 4; var l = blob.l + length; @@ -4674,7 +4709,7 @@ function parse_AddinUdf(blob, length, opts) { return udfName; } -/* 2.5.209 TODO: Check sizes */ +/* [MS-XLS] 2.5.209 TODO: Check sizes */ function parse_Ref8U(blob) { var rwFirst = blob.read_shift(2); var rwLast = blob.read_shift(2); @@ -4691,7 +4726,7 @@ function write_Ref8U(r, o) { return o; } -/* 2.5.211 */ +/* [MS-XLS] 2.5.211 */ function parse_RefU(blob) { var rwFirst = blob.read_shift(2); var rwLast = blob.read_shift(2); @@ -4700,10 +4735,10 @@ function parse_RefU(blob) { return {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}}; } -/* 2.5.207 */ +/* [MS-XLS] 2.5.207 */ var parse_Ref = parse_RefU; -/* 2.5.143 */ +/* [MS-XLS] 2.5.143 */ function parse_FtCmo(blob) { blob.l += 4; var ot = blob.read_shift(2); @@ -4713,7 +4748,7 @@ function parse_FtCmo(blob) { return [id, ot, flags]; } -/* 2.5.149 */ +/* [MS-XLS] 2.5.149 */ function parse_FtNts(blob) { var out = {}; blob.l += 4; @@ -4723,7 +4758,7 @@ function parse_FtNts(blob) { return out; } -/* 2.5.142 */ +/* [MS-XLS] 2.5.142 */ function parse_FtCf(blob) { var out = {}; blob.l += 4; @@ -4731,7 +4766,7 @@ function parse_FtCf(blob) { return out; } -/* 2.5.140 - 2.5.154 and friends */ +/* [MS-XLS] 2.5.140 - 2.5.154 and friends */ function parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); } var FtTab = { 0x00: parse_FtSkip, /* FtEnd */ @@ -4770,7 +4805,7 @@ function parse_FtArray(blob, length) { /* --- 2.4 Records --- */ -/* 2.4.21 */ +/* [MS-XLS] 2.4.21 */ function parse_BOF(blob, length) { var o = {BIFFVer:0, dt:0}; o.BIFFVer = blob.read_shift(2); length -= 2; @@ -4812,7 +4847,7 @@ function write_BOF(wb, t, o) { } -/* 2.4.146 */ +/* [MS-XLS] 2.4.146 */ function parse_InterfaceHdr(blob, length) { if(length === 0) return 0x04b0; if((blob.read_shift(2))!==0x04b0){/* empty */} @@ -4820,7 +4855,7 @@ function parse_InterfaceHdr(blob, length) { } -/* 2.4.349 */ +/* [MS-XLS] 2.4.349 */ function parse_WriteAccess(blob, length, opts) { if(opts.enc) { blob.l += length; return ""; } var l = blob.l; @@ -4833,20 +4868,20 @@ function write_WriteAccess(s, opts) { var b8 = !opts || opts.biff == 8; var o = new_buf(b8 ? 112 : 54); o.write_shift(opts.biff == 8 ? 2 : 1, 7); - o.write_shift(1, 0); + if(b8) o.write_shift(1, 0); o.write_shift(4, 0x33336853); - o.write_shift(4, 0x00534A74); - while(o.l < o.length) o.write_shift(1, 0); + o.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000))); + while(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32)); return o; } -/* 2.4.351 */ +/* [MS-XLS] 2.4.351 */ function parse_WsBool(blob, length, opts) { var flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0); return { fDialog: flags & 0x10 }; } -/* 2.4.28 */ +/* [MS-XLS] 2.4.28 */ function parse_BoundSheet8(blob, length, opts) { var pos = blob.read_shift(4); var hidden = blob.read_shift(1) & 0x03; @@ -4874,7 +4909,7 @@ function write_BoundSheet8(data, opts) { out.l = o.l; return out; } -/* 2.4.265 TODO */ +/* [MS-XLS] 2.4.265 TODO */ function parse_SST(blob, length) { var end = blob.l + length; var cnt = blob.read_shift(4); @@ -4887,7 +4922,7 @@ function parse_SST(blob, length) { return strs; } -/* 2.4.107 */ +/* [MS-XLS] 2.4.107 */ function parse_ExtSST(blob, length) { var extsst = {}; extsst.dsst = blob.read_shift(2); @@ -4896,7 +4931,7 @@ function parse_ExtSST(blob, length) { } -/* 2.4.221 TODO: check BIFF2-4 */ +/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */ function parse_Row(blob) { var z = ({}); z.r = blob.read_shift(2); @@ -4914,7 +4949,7 @@ function parse_Row(blob) { } -/* 2.4.125 */ +/* [MS-XLS] 2.4.125 */ function parse_ForceFullCalculation(blob) { var header = parse_frtHeader(blob); if(header.type != 0x08A3) throw new Error("Invalid Future Record " + header.type); @@ -4926,13 +4961,13 @@ function parse_ForceFullCalculation(blob) { -/* 2.4.215 rt */ +/* [MS-XLS] 2.4.215 rt */ function parse_RecalcId(blob) { blob.read_shift(2); return blob.read_shift(4); } -/* 2.4.87 */ +/* [MS-XLS] 2.4.87 */ function parse_DefaultRowHeight(blob, length, opts) { var f = 0; if(!(opts && opts.biff == 2)) { @@ -4946,7 +4981,7 @@ function parse_DefaultRowHeight(blob, length, opts) { return [fl, miyRw]; } -/* 2.4.345 TODO */ +/* [MS-XLS] 2.4.345 TODO */ function parse_Window1(blob) { var xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2); var flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2); @@ -4967,7 +5002,7 @@ function write_Window1() { o.write_shift(2, 0x01f4); return o; } -/* 2.4.346 TODO */ +/* [MS-XLS] 2.4.346 TODO */ function parse_Window2(blob, length, opts) { if(opts && opts.biff >= 2 && opts.biff < 8) return {}; var f = blob.read_shift(2); @@ -4984,13 +5019,13 @@ function write_Window2(view) { return o; } -/* 2.4.122 TODO */ +/* [MS-XLS] 2.4.122 TODO */ function parse_Font(blob, length, opts) { var o = { dyHeight: blob.read_shift(2), fl: blob.read_shift(2) }; - switch(opts && opts.biff || 8) { + switch((opts && opts.biff) || 8) { case 2: break; case 3: case 4: blob.l += 2; break; default: blob.l += 10; break; @@ -4998,15 +5033,29 @@ function parse_Font(blob, length, opts) { o.name = parse_ShortXLUnicodeString(blob, 0, opts); return o; } +function write_Font(data, opts) { + var name = data.name || "Arial"; + var b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length)); + var o = new_buf(w); + o.write_shift(2, (data.sz || 12) * 20); + o.write_shift(4, 0); + o.write_shift(2, 400); + o.write_shift(4, 0); + o.write_shift(2, 0); + o.write_shift(1, name.length); + if(!b5) o.write_shift(1, 1); + o.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? "sbcs" : "utf16le")); + return o; +} -/* 2.4.149 */ +/* [MS-XLS] 2.4.149 */ function parse_LabelSst(blob) { var cell = parse_XLSCell(blob); cell.isst = blob.read_shift(4); return cell; } -/* 2.4.148 */ +/* [MS-XLS] 2.4.148 */ function parse_Label(blob, length, opts) { var target = blob.l + length; var cell = parse_XLSCell(blob, 6); @@ -5026,23 +5075,26 @@ function write_Label(R, C, v, os, opts) { } -/* 2.4.126 Number Formats */ +/* [MS-XLS] 2.4.126 Number Formats */ function parse_Format(blob, length, opts) { var numFmtId = blob.read_shift(2); var fmtstr = parse_XLUnicodeString2(blob, 0, opts); return [numFmtId, fmtstr]; } -function write_Format(i, f, o) { - if(!o) o = new_buf(6 + 4 * f.length); +function write_Format(i, f, opts, o) { + var b5 = (opts && (opts.biff == 5)); + if(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length)); o.write_shift(2, i); - write_XLUnicodeString(f, null, o); + o.write_shift((b5 ? 1 : 2), f.length); + if(!b5) o.write_shift(1, 1); + o.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le')); var out = (o.length > o.l) ? o.slice(0, o.l) : o; - if(o.l == null) o.l = o.length; + if(out.l == null) out.l = out.length; return out; } var parse_BIFF2Format = parse_XLUnicodeString2; -/* 2.4.90 */ +/* [MS-XLS] 2.4.90 */ function parse_Dimensions(blob, length, opts) { var end = blob.l + length; var w = opts.biff == 8 || !opts.biff ? 4 : 2; @@ -5062,14 +5114,14 @@ function write_Dimensions(range, opts) { return o; } -/* 2.4.220 */ +/* [MS-XLS] 2.4.220 */ function parse_RK(blob) { var rw = blob.read_shift(2), col = blob.read_shift(2); var rkrec = parse_RkRec(blob); return {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]}; } -/* 2.4.175 */ +/* [MS-XLS] 2.4.175 */ function parse_MulRk(blob, length) { var target = blob.l + length - 2; var rw = blob.read_shift(2), col = blob.read_shift(2); @@ -5080,7 +5132,7 @@ function parse_MulRk(blob, length) { if(rkrecs.length != lastcol - col + 1) throw new Error("MulRK length mismatch"); return {r:rw, c:col, C:lastcol, rkrec:rkrecs}; } -/* 2.4.174 */ +/* [MS-XLS] 2.4.174 */ function parse_MulBlank(blob, length) { var target = blob.l + length - 2; var rw = blob.read_shift(2), col = blob.read_shift(2); @@ -5092,7 +5144,7 @@ function parse_MulBlank(blob, length) { return {r:rw, c:col, C:lastcol, ixfe:ixfes}; } -/* 2.5.20 2.5.249 TODO: interpret values here */ +/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */ function parse_CellStyleXF(blob, length, style, opts) { var o = {}; var a = blob.read_shift(4), b = blob.read_shift(4); @@ -5136,7 +5188,7 @@ function parse_CellStyleXF(blob, length, style, opts) { //function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);} //function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);} -/* 2.4.353 TODO: actually do this right */ +/* [MS-XLS] 2.4.353 TODO: actually do this right */ function parse_XF(blob, length, opts) { var o = {}; o.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2); @@ -5145,19 +5197,25 @@ function parse_XF(blob, length, opts) { o.data = parse_CellStyleXF(blob, length, o.fStyle, opts); return o; } -function write_XF(data, ixfeP, o) { - if(!o) o = new_buf(20); - o.write_shift(2, 0); - o.write_shift(2, data.numFmtId||0); +function write_XF(data, ixfeP, opts, o) { + var b5 = (opts && (opts.biff == 5)); + if(!o) o = new_buf(b5 ? 16 : 20); o.write_shift(2, 0); + if(data.style) { + o.write_shift(2, (data.numFmtId||0)); + o.write_shift(2, 0xFFF4); + } else { + o.write_shift(2, (data.numFmtId||0)); + o.write_shift(2, (ixfeP<<4)); + } o.write_shift(4, 0); o.write_shift(4, 0); - o.write_shift(4, 0); + if(!b5) o.write_shift(4, 0); o.write_shift(2, 0); return o; } -/* 2.4.134 */ +/* [MS-XLS] 2.4.134 */ function parse_Guts(blob) { blob.l += 4; var out = [blob.read_shift(2), blob.read_shift(2)]; @@ -5174,7 +5232,7 @@ function write_Guts(guts) { return o; } -/* 2.4.24 */ +/* [MS-XLS] 2.4.24 */ function parse_BoolErr(blob, length, opts) { var cell = parse_XLSCell(blob, 6); if(opts.biff == 2) ++blob.l; @@ -5190,7 +5248,7 @@ function write_BoolErr(R, C, v, os, opts, t) { return o; } -/* 2.4.180 Number */ +/* [MS-XLS] 2.4.180 Number */ function parse_Number(blob) { var cell = parse_XLSCell(blob, 6); var xnum = parse_Xnum(blob, 8); @@ -5206,7 +5264,7 @@ function write_Number(R, C, v, os) { var parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136 -/* 2.4.271 */ +/* [MS-XLS] 2.4.271 */ function parse_SupBook(blob, length, opts) { var end = blob.l + length; var ctab = blob.read_shift(2); @@ -5221,7 +5279,7 @@ function parse_SupBook(blob, length, opts) { return [cch, ctab, virtPath, rgst]; } -/* 2.4.105 TODO */ +/* [MS-XLS] 2.4.105 TODO */ function parse_ExternName(blob, length, opts) { var flags = blob.read_shift(2); var body; @@ -5241,7 +5299,7 @@ function parse_ExternName(blob, length, opts) { return o; } -/* 2.4.150 TODO */ +/* [MS-XLS] 2.4.150 TODO */ var XLSLblBuiltIn = [ "_xlnm.Consolidate_Area", "_xlnm.Auto_Open", @@ -5283,7 +5341,7 @@ function parse_Lbl(blob, length, opts) { }; } -/* 2.4.106 TODO: verify filename encoding */ +/* [MS-XLS] 2.4.106 TODO: verify filename encoding */ function parse_ExternSheet(blob, length, opts) { if(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts); var o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2); @@ -5298,7 +5356,7 @@ function parse_BIFF5ExternSheet(blob, length, opts) { return o.charCodeAt(0) == 0x03 ? o.slice(1) : o; } -/* 2.4.176 TODO: check older biff */ +/* [MS-XLS] 2.4.176 TODO: check older biff */ function parse_NameCmt(blob, length, opts) { if(opts.biff < 8) { blob.l += length; return; } var cchName = blob.read_shift(2); @@ -5308,7 +5366,7 @@ function parse_NameCmt(blob, length, opts) { return [name, comment]; } -/* 2.4.260 */ +/* [MS-XLS] 2.4.260 */ function parse_ShrFmla(blob, length, opts) { var ref = parse_RefU(blob, 6); blob.l++; @@ -5317,7 +5375,7 @@ function parse_ShrFmla(blob, length, opts) { return [parse_SharedParsedFormula(blob, length, opts), cUse, ref]; } -/* 2.4.4 TODO */ +/* [MS-XLS] 2.4.4 TODO */ function parse_Array(blob, length, opts) { var ref = parse_Ref(blob, 6); /* TODO: fAlwaysCalc */ @@ -5329,7 +5387,7 @@ function parse_Array(blob, length, opts) { return [ref, parse_ArrayParsedFormula(blob, length, opts, ref)]; } -/* 2.4.173 */ +/* [MS-XLS] 2.4.173 */ function parse_MTRSettings(blob) { var fMTREnabled = blob.read_shift(4) !== 0x00; var fUserSetThreadCount = blob.read_shift(4) !== 0x00; @@ -5337,7 +5395,7 @@ function parse_MTRSettings(blob) { return [fMTREnabled, fUserSetThreadCount, cUserThreadCount]; } -/* 2.5.186 TODO: BIFF5 */ +/* [MS-XLS] 2.5.186 TODO: BIFF5 */ function parse_NoteSh(blob, length, opts) { if(opts.biff < 8) return; var row = blob.read_shift(2), col = blob.read_shift(2); @@ -5347,13 +5405,13 @@ function parse_NoteSh(blob, length, opts) { return [{r:row,c:col}, stAuthor, idObj, flags]; } -/* 2.4.179 */ +/* [MS-XLS] 2.4.179 */ function parse_Note(blob, length, opts) { /* TODO: Support revisions */ return parse_NoteSh(blob, length, opts); } -/* 2.4.168 */ +/* [MS-XLS] 2.4.168 */ function parse_MergeCells(blob, length) { var merges = []; var cmcs = blob.read_shift(2); @@ -5367,7 +5425,7 @@ function write_MergeCells(merges) { return o; } -/* 2.4.181 TODO: parse all the things! */ +/* [MS-XLS] 2.4.181 TODO: parse all the things! */ function parse_Obj(blob, length, opts) { if(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts); var cmo = parse_FtCmo(blob, 22); // id, ot, flags @@ -5412,7 +5470,7 @@ function parse_BIFF5Obj(blob, length, opts) { return { cmo: [id, ot, grbit], ft:fts }; } -/* 2.4.329 TODO: parse properly */ +/* [MS-XLS] 2.4.329 TODO: parse properly */ function parse_TxO(blob, length, opts) { var s = blob.l; var texts = ""; @@ -5441,7 +5499,7 @@ try { } blob.l = s + length; - /* 2.5.272 TxORuns */ + /* [MS-XLS] 2.5.272 TxORuns */ // var rgTxoRuns = []; // for(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8; // var cchText2 = blob.read_shift(2); @@ -5452,7 +5510,7 @@ try { } catch(e) { blob.l = s + length; return { t: texts }; } } -/* 2.4.140 */ +/* [MS-XLS] 2.4.140 */ function parse_HLink(blob, length) { var ref = parse_Ref8U(blob, 8); blob.l += 16; /* CLSID */ @@ -5470,7 +5528,7 @@ function write_HLink(hl) { } -/* 2.4.141 */ +/* [MS-XLS] 2.4.141 */ function parse_HLinkTooltip(blob, length) { blob.read_shift(2); var ref = parse_Ref8U(blob, 8); @@ -5490,7 +5548,7 @@ function write_HLinkTooltip(hl) { return O; } -/* 2.4.63 */ +/* [MS-XLS] 2.4.63 */ function parse_Country(blob) { var o = [0,0], d; d = blob.read_shift(2); o[0] = CountryEnum[d] || d; @@ -5504,7 +5562,7 @@ function write_Country(o) { return o; } -/* 2.4.50 ClrtClient */ +/* [MS-XLS] 2.4.50 ClrtClient */ function parse_ClrtClient(blob) { var ccv = blob.read_shift(2); var o = []; @@ -5512,7 +5570,7 @@ function parse_ClrtClient(blob) { return o; } -/* 2.4.188 */ +/* [MS-XLS] 2.4.188 */ function parse_Palette(blob) { var ccv = blob.read_shift(2); var o = []; @@ -5520,7 +5578,7 @@ function parse_Palette(blob) { return o; } -/* 2.4.354 */ +/* [MS-XLS] 2.4.354 */ function parse_XFCRC(blob) { blob.l += 2; var o = {cxfs:0, crc:0}; @@ -5529,7 +5587,7 @@ function parse_XFCRC(blob) { return o; } -/* 2.4.53 TODO: parse flags */ +/* [MS-XLS] 2.4.53 TODO: parse flags */ /* [MS-XLSB] 2.4.323 TODO: parse flags */ function parse_ColInfo(blob, length, opts) { if(!opts.cellStyles) return parsenoop(blob, length); @@ -5543,9 +5601,10 @@ function parse_ColInfo(blob, length, opts) { return {s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags}; } -/* 2.4.257 */ -function parse_Setup(blob/*, length*/) { +/* [MS-XLS] 2.4.257 */ +function parse_Setup(blob, length) { var o = {}; + if(length < 32) return o; blob.l += 16; o.header = parse_Xnum(blob, 8); o.footer = parse_Xnum(blob, 8); @@ -5553,7 +5612,7 @@ function parse_Setup(blob/*, length*/) { return o; } -/* 2.4.261 */ +/* [MS-XLS] 2.4.261 */ function parse_ShtProps(blob, length, opts) { var def = {area:false}; if(opts.biff != 5) { blob.l += length; return def; } @@ -5562,16 +5621,16 @@ function parse_ShtProps(blob, length, opts) { return def; } -/* 2.4.241 */ +/* [MS-XLS] 2.4.241 */ function write_RRTabId(n) { var out = new_buf(2 * n); for(var i = 0; i < n; ++i) out.write_shift(2, i+1); return out; } -var parse_Blank = parse_XLSCell; /* 2.4.20 Just the cell */ -var parse_Scl = parseuint16a; /* 2.4.247 num, den */ -var parse_String = parse_XLUnicodeString; /* 2.4.268 */ +var parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */ +var parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */ +var parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */ /* --- Specific to versions before BIFF8 --- */ function parse_ImData(blob) { @@ -7068,7 +7127,7 @@ function write_sst_xml(sst, opts) { if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } -/* [MS-XLSB] 2.4.219 BrtBeginSst */ +/* [MS-XLSB] 2.4.221 BrtBeginSst */ function parse_BrtBeginSst(data) { return [data.read_shift(4), data.read_shift(4)]; } @@ -7998,7 +8057,7 @@ function write_sty_xml(wb, opts) { if(o.length>2){ o[o.length] = (''); o[1]=o[1].replace("/>",">"); } return o.join(""); } -/* [MS-XLSB] 2.4.651 BrtFmt */ +/* [MS-XLSB] 2.4.657 BrtFmt */ function parse_BrtFmt(data, length) { var numFmtId = data.read_shift(2); var stFmtCode = parse_XLWideString(data,length-2); @@ -8013,7 +8072,7 @@ function write_BrtFmt(i, f, o) { return out; } -/* [MS-XLSB] 2.4.653 BrtFont TODO */ +/* [MS-XLSB] 2.4.659 BrtFont TODO */ function parse_BrtFont(data, length, opts) { var out = ({}); @@ -8080,7 +8139,7 @@ function write_BrtFont(font, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.644 BrtFill */ +/* [MS-XLSB] 2.4.650 BrtFill */ var XLSBFillPTNames = [ "none", "solid", @@ -8134,7 +8193,7 @@ function write_BrtFill(fill, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.816 BrtXF */ +/* [MS-XLSB] 2.4.824 BrtXF */ function parse_BrtXF(data, length) { var tgt = data.l + length; var ixfeParent = data.read_shift(2); @@ -8167,7 +8226,7 @@ function write_Blxf(data, o) { o.write_shift(4, 0); /* color */ return o; } -/* [MS-XLSB] 2.4.299 BrtBorder TODO */ +/* [MS-XLSB] 2.4.302 BrtBorder TODO */ var parse_BrtBorder = parsenoop; function write_BrtBorder(border, o) { if(!o) o = new_buf(51); @@ -8180,7 +8239,7 @@ function write_BrtBorder(border, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.755 BrtStyle TODO */ +/* [MS-XLSB] 2.4.763 BrtStyle TODO */ function write_BrtStyle(style, o) { if(!o) o = new_buf(12+4*10); o.write_shift(4, style.xfId); @@ -8191,7 +8250,7 @@ function write_BrtStyle(style, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.269 BrtBeginTableStyles */ +/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */ function write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) { var o = new_buf(4+256*2*4); o.write_shift(4, cnt); @@ -8701,17 +8760,17 @@ function parse_XFExtGradient(blob, length) { return parsenoop(blob, length); } -/* 2.5.108 */ +/* [MS-XLS] 2.5.108 */ function parse_ExtProp(blob) { var extType = blob.read_shift(2); - var cb = blob.read_shift(2); + var cb = blob.read_shift(2) - 4; var o = [extType]; switch(extType) { case 0x04: case 0x05: case 0x07: case 0x08: case 0x09: case 0x0A: case 0x0B: case 0x0D: o[1] = parse_FullColorExt(blob, cb); break; case 0x06: o[1] = parse_XFExtGradient(blob, cb); break; - case 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 5 ? 1 : 2); break; + case 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break; default: throw new Error("Unrecognized ExtProp type: " + extType + " " + cb); } return o; @@ -9047,7 +9106,7 @@ function write_BrtBeginComment(data, o) { return o; } -/* [MS-XLSB] 2.4.324 BrtCommentAuthor */ +/* [MS-XLSB] 2.4.327 BrtCommentAuthor */ var parse_BrtCommentAuthor = parse_XLWideString; function write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); } @@ -9204,20 +9263,15 @@ function fuzzyfmla(f) { function _xlfn(f) { return f.replace(/_xlfn\./g,""); } -/* --- formula references point to MS-XLS --- */ -/* Small helpers */ function parseread1(blob) { blob.l+=1; return; } -/* Rgce Helpers */ - -/* 2.5.51 */ +/* [MS-XLS] 2.5.51 */ function parse_ColRelU(blob, length) { var c = blob.read_shift(length == 1 ? 1 : 2); return [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1]; } -/* [MS-XLS] 2.5.198.105 */ -/* [MS-XLSB] 2.5.97.89 */ +/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */ function parse_RgceArea(blob, length, opts) { var w = 2; if(opts) { @@ -9237,7 +9291,7 @@ function parse_RgceArea_BIFF2(blob) { return { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} }; } -/* 2.5.198.105 TODO */ +/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */ function parse_RgceAreaRel(blob, length) { var r=blob.read_shift(length == 12 ? 4 : 2), R=blob.read_shift(length == 12 ? 4 : 2); var c=parse_ColRelU(blob, 2); @@ -9245,7 +9299,7 @@ function parse_RgceAreaRel(blob, length) { return { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} }; } -/* 2.5.198.109 */ +/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */ function parse_RgceLoc(blob, length, opts) { if(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts); var r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2); @@ -9258,15 +9312,14 @@ function parse_RgceLoc_BIFF2(blob) { return {r:r[0], c:c, cRel:r[1], rRel:r[2]}; } -/* 2.5.198.107 , 2.5.47 */ +/* [MS-XLS] 2.5.198.107, 2.5.47 */ function parse_RgceElfLoc(blob) { var r = blob.read_shift(2); var c = blob.read_shift(2); return {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 }; } -/* [MS-XLS] 2.5.198.111 TODO */ -/* [MS-XLSB] 2.5.97.92 TODO */ +/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */ function parse_RgceLocRel(blob, length, opts) { var biff = opts && opts.biff ? opts.biff : 8; if(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts); @@ -9288,17 +9341,14 @@ function parse_RgceLocRel_BIFF2(blob) { return {r:rl,c:c,cRel:cRel,rRel:rRel}; } -/* Ptg Tokens */ - -/* 2.5.198.27 */ +/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */ function parse_PtgArea(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts); return [type, area]; } -/* [MS-XLS] 2.5.198.28 */ -/* [MS-XLSB] 2.5.97.19 */ +/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */ function parse_PtgArea3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2, 'i'); @@ -9311,13 +9361,13 @@ function parse_PtgArea3d(blob, length, opts) { return [type, ixti, area]; } -/* 2.5.198.29 */ +/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */ function parse_PtgAreaErr(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; blob.l += opts && opts.biff > 8 ? 12 : 8; return [type]; } -/* 2.5.198.30 */ +/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */ function parse_PtgAreaErr3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2); @@ -9330,22 +9380,21 @@ function parse_PtgAreaErr3d(blob, length, opts) { return [type, ixti]; } -/* 2.5.198.31 */ +/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */ function parse_PtgAreaN(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var area = parse_RgceAreaRel(blob, opts && opts.biff > 8 ? 12 : 8, opts); return [type, area]; } -/* [MS-XLS] 2.5.198.32 */ -/* [MS-XLSB] 2.5.97.23 */ +/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */ function parse_PtgArray(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; blob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7; return [type]; } -/* 2.5.198.33 */ +/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */ function parse_PtgAttrBaxcel(blob) { var bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */ var bitBaxcel = 1; @@ -9353,7 +9402,7 @@ function parse_PtgAttrBaxcel(blob) { return [bitSemi, bitBaxcel]; } -/* 2.5.198.34 */ +/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */ function parse_PtgAttrChoose(blob, length, opts) { blob.l +=2; var offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); @@ -9363,14 +9412,14 @@ function parse_PtgAttrChoose(blob, length, opts) { return o; } -/* 2.5.198.35 */ +/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */ function parse_PtgAttrGoto(blob, length, opts) { var bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; return [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)]; } -/* 2.5.198.36 */ +/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */ function parse_PtgAttrIf(blob, length, opts) { var bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += 2; @@ -9384,32 +9433,32 @@ function parse_PtgAttrIfError(blob) { return [bitIf, blob.read_shift(2)]; } -/* 2.5.198.37 */ +/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */ function parse_PtgAttrSemi(blob, length, opts) { var bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0; blob.l += opts && opts.biff == 2 ? 3 : 4; return [bitSemi]; } -/* 2.5.198.40 (used by PtgAttrSpace and PtgAttrSpaceSemi) */ +/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */ function parse_PtgAttrSpaceType(blob) { var type = blob.read_shift(1), cch = blob.read_shift(1); return [type, cch]; } -/* 2.5.198.38 */ +/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */ function parse_PtgAttrSpace(blob) { blob.read_shift(2); return parse_PtgAttrSpaceType(blob, 2); } -/* 2.5.198.39 */ +/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */ function parse_PtgAttrSpaceSemi(blob) { blob.read_shift(2); return parse_PtgAttrSpaceType(blob, 2); } -/* 2.5.198.84 TODO */ +/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */ function parse_PtgRef(blob, length, opts) { //var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; @@ -9418,7 +9467,7 @@ function parse_PtgRef(blob, length, opts) { return [type, loc]; } -/* 2.5.198.88 TODO */ +/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */ function parse_PtgRefN(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; @@ -9426,17 +9475,18 @@ function parse_PtgRefN(blob, length, opts) { return [type, loc]; } -/* 2.5.198.85 TODO */ +/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */ function parse_PtgRef3d(blob, length, opts) { var type = (blob[blob.l] & 0x60)>>5; blob.l += 1; var ixti = blob.read_shift(2); // XtiIndex + if(opts && opts.biff == 5) blob.l += 12; var loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel return [type, ixti, loc]; } -/* 2.5.198.62 TODO */ +/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */ function parse_PtgFunc(blob, length, opts) { //var ptg = blob[blob.l] & 0x1F; var type = (blob[blob.l] & 0x60)>>5; @@ -9444,7 +9494,7 @@ function parse_PtgFunc(blob, length, opts) { var iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2); return [FtabArgc[iftab], Ftab[iftab], type]; } -/* 2.5.198.63 TODO */ +/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */ function parse_PtgFuncVar(blob, length, opts) { blob.l++; var cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [0, blob.read_shift(1)]: parsetab(blob); @@ -9455,12 +9505,12 @@ function parsetab(blob) { return [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF]; } -/* 2.5.198.41 */ +/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */ function parse_PtgAttrSum(blob, length, opts) { blob.l += opts && opts.biff == 2 ? 3 : 4; return; } -/* 2.5.198.58 */ +/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */ function parse_PtgExp(blob, length, opts) { blob.l++; if(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0]; @@ -9469,19 +9519,19 @@ function parse_PtgExp(blob, length, opts) { return [row, col]; } -/* 2.5.198.57 */ +/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */ function parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; } -/* 2.5.198.66 */ +/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */ function parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); } -/* 2.5.198.42 */ +/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */ function parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;} -/* 2.5.198.79 */ +/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */ function parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); } -/* 2.5.198.89 */ +/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */ function parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); } /* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */ @@ -9495,37 +9545,32 @@ function parse_SerAr(blob, biff) { case 0x01: val[0] = 0x02; break; /* SerStr */ } switch(val[0]) { - /* 2.5.192.113 */ case 0x04: /* SerBool -- boolean */ val[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE'; - blob.l += 7; break; - /* 2.5.192.114 */ + if(biff != 12) blob.l += 7; break; case 0x10: /* SerErr -- error */ val[1] = BErr[blob[blob.l]]; - blob.l += 8; break; - /* 2.5.192.115 */ + blob.l += ((biff == 12) ? 4 : 8); break; case 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */ blob.l += 8; break; - /* 2.5.192.116 */ case 0x01: /* SerNum -- Xnum */ val[1] = parse_Xnum(blob, 8); break; - /* 2.5.192.117 */ case 0x02: /* SerStr -- XLUnicodeString (<256 chars) */ val[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break; - // default: throw "Bad SerAr: " + val[0]; /* Unreachable */ + default: throw "Bad SerAr: " + val[0]; /* Unreachable */ } return val; } -/* 2.5.198.61 */ -function parse_PtgExtraMem(blob) { - var count = blob.read_shift(2); +/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */ +function parse_PtgExtraMem(blob, cce, opts) { + var count = blob.read_shift((opts.biff == 12) ? 4 : 2); var out = []; - for(var i = 0; i != count; ++i) out.push(parse_Ref8U(blob, 8)); + for(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8)); return out; } -/* 2.5.198.59 */ +/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */ function parse_PtgExtraArray(blob, length, opts) { var rows = 0, cols = 0; if(opts.biff == 12) { @@ -9542,7 +9587,7 @@ function parse_PtgExtraArray(blob, length, opts) { return o; } -/* 2.5.198.76 */ +/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */ function parse_PtgName(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; var w = (!opts || (opts.biff >= 8)) ? 4 : 2; @@ -9555,7 +9600,7 @@ function parse_PtgName(blob, length, opts) { return [type, 0, nameindex]; } -/* 2.5.198.77 */ +/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */ function parse_PtgNameX(blob, length, opts) { if(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts); var type = (blob.read_shift(1) >>> 5) & 0x03; @@ -9572,7 +9617,7 @@ function parse_PtgNameX_BIFF5(blob) { return [type, ixti, nameindex]; } -/* 2.5.198.70 */ +/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */ function parse_PtgMemArea(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; blob.l += (opts && opts.biff == 2 ? 3 : 4); @@ -9580,7 +9625,7 @@ function parse_PtgMemArea(blob, length, opts) { return [type, cce]; } -/* 2.5.198.72 */ +/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */ function parse_PtgMemFunc(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; var cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2); @@ -9588,7 +9633,7 @@ function parse_PtgMemFunc(blob, length, opts) { } -/* 2.5.198.86 */ +/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */ function parse_PtgRefErr(blob, length, opts) { var type = (blob.read_shift(1) >>> 5) & 0x03; blob.l += 4; @@ -9596,24 +9641,24 @@ function parse_PtgRefErr(blob, length, opts) { return [type]; } -/* 2.5.198.87 */ +/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */ function parse_PtgRefErr3d(blob, length, opts) { var type = (blob[blob.l++] & 0x60) >> 5; var ixti = blob.read_shift(2); var w = 4; if(opts) switch(opts.biff) { - case 5: throw new Error("PtgRefErr3d -- 5"); // TODO: find test case + case 5: w = 15; break; case 12: w = 6; break; } blob.l += w; return [type, ixti]; } -/* 2.5.198.71 */ +/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */ var parse_PtgMemErr = parsenoop; -/* 2.5.198.73 */ +/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */ var parse_PtgMemNoMem = parsenoop; -/* 2.5.198.92 */ +/* [MS-XLS] 2.5.198.92 */ var parse_PtgTbl = parsenoop; function parse_PtgElfLoc(blob, length, opts) { @@ -9624,28 +9669,28 @@ function parse_PtgElfNoop(blob) { blob.l += 6; return []; } -/* 2.5.198.46 */ +/* [MS-XLS] 2.5.198.46 */ var parse_PtgElfCol = parse_PtgElfLoc; -/* 2.5.198.47 */ +/* [MS-XLS] 2.5.198.47 */ var parse_PtgElfColS = parse_PtgElfNoop; -/* 2.5.198.48 */ +/* [MS-XLS] 2.5.198.48 */ var parse_PtgElfColSV = parse_PtgElfNoop; -/* 2.5.198.49 */ +/* [MS-XLS] 2.5.198.49 */ var parse_PtgElfColV = parse_PtgElfLoc; -/* 2.5.198.50 */ +/* [MS-XLS] 2.5.198.50 */ function parse_PtgElfLel(blob) { blob.l += 2; return [parseuint16(blob), blob.read_shift(2) & 0x01]; } -/* 2.5.198.51 */ +/* [MS-XLS] 2.5.198.51 */ var parse_PtgElfRadical = parse_PtgElfLoc; -/* 2.5.198.52 */ +/* [MS-XLS] 2.5.198.52 */ var parse_PtgElfRadicalLel = parse_PtgElfLel; -/* 2.5.198.53 */ +/* [MS-XLS] 2.5.198.53 */ var parse_PtgElfRadicalS = parse_PtgElfNoop; -/* 2.5.198.54 */ +/* [MS-XLS] 2.5.198.54 */ var parse_PtgElfRw = parse_PtgElfLoc; -/* 2.5.198.55 */ +/* [MS-XLS] 2.5.198.55 */ var parse_PtgElfRwV = parse_PtgElfLoc; /* [MS-XLSB] 2.5.97.52 */ @@ -9655,13 +9700,13 @@ function parse_PtgList(blob) { blob.l += 10; return {ixti: ixti}; } -/* 2.5.198.91 */ +/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */ function parse_PtgSxName(blob) { blob.l += 2; return [blob.read_shift(4)]; } -/* 2.5.198.25 */ +/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */ var PtgTypes = { 0x01: { n:'PtgExp', f:parse_PtgExp }, 0x02: { n:'PtgTbl', f:parse_PtgTbl }, @@ -9764,7 +9809,7 @@ var Ptg19 = { }; Ptg19[0x21] = Ptg19[0x20]; -/* 2.5.198.103 */ +/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */ function parse_RgbExtra(blob, length, rgce, opts) { if(opts.biff < 8) return parsenoop(blob, length); var target = blob.l + length; @@ -9776,7 +9821,7 @@ function parse_RgbExtra(blob, length, rgce, opts) { o.push(rgce[i][1]); break; case 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */ - rgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1]); + rgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts); o.push(rgce[i][2]); break; case 'PtgExp': /* PtgExp -> PtgExtraCol */ @@ -9799,7 +9844,7 @@ function parse_RgbExtra(blob, length, rgce, opts) { return o; } -/* 2.5.198.104 */ +/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */ function parse_Rgce(blob, length, opts) { var target = blob.l + length; var R, id, ptgs = []; @@ -9836,8 +9881,7 @@ r.push('"' + y[1].replace(/"/g,'""') + '"'); break; return o.join(";"); } -/* [MS-XLS] 2.2.2 TODO */ -/* [MS-XLSB] 2.2.2 */ +/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */ var PtgBinOp = { PtgAdd: "+", PtgConcat: "&", @@ -9902,25 +9946,25 @@ function stringify_formula(formula/*Array*/, range, cell, supbooks, opts) { for(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) { var f = formula[0][ff]; switch(f[0]) { - case 'PtgUminus': /* 2.5.198.93 */ + case 'PtgUminus': /* [MS-XLS] 2.5.198.93 */ stack.push("-" + stack.pop()); break; - case 'PtgUplus': /* 2.5.198.95 */ + case 'PtgUplus': /* [MS-XLS] 2.5.198.95 */ stack.push("+" + stack.pop()); break; - case 'PtgPercent': /* 2.5.198.81 */ + case 'PtgPercent': /* [MS-XLS] 2.5.198.81 */ stack.push(stack.pop() + "%"); break; - case 'PtgAdd': /* 2.5.198.26 */ - case 'PtgConcat': /* 2.5.198.43 */ - case 'PtgDiv': /* 2.5.198.45 */ - case 'PtgEq': /* 2.5.198.56 */ - case 'PtgGe': /* 2.5.198.64 */ - case 'PtgGt': /* 2.5.198.65 */ - case 'PtgLe': /* 2.5.198.68 */ - case 'PtgLt': /* 2.5.198.69 */ - case 'PtgMul': /* 2.5.198.75 */ - case 'PtgNe': /* 2.5.198.78 */ - case 'PtgPower': /* 2.5.198.82 */ - case 'PtgSub': /* 2.5.198.90 */ + case 'PtgAdd': /* [MS-XLS] 2.5.198.26 */ + case 'PtgConcat': /* [MS-XLS] 2.5.198.43 */ + case 'PtgDiv': /* [MS-XLS] 2.5.198.45 */ + case 'PtgEq': /* [MS-XLS] 2.5.198.56 */ + case 'PtgGe': /* [MS-XLS] 2.5.198.64 */ + case 'PtgGt': /* [MS-XLS] 2.5.198.65 */ + case 'PtgLe': /* [MS-XLS] 2.5.198.68 */ + case 'PtgLt': /* [MS-XLS] 2.5.198.69 */ + case 'PtgMul': /* [MS-XLS] 2.5.198.75 */ + case 'PtgNe': /* [MS-XLS] 2.5.198.78 */ + case 'PtgPower': /* [MS-XLS] 2.5.198.82 */ + case 'PtgSub': /* [MS-XLS] 2.5.198.90 */ e1 = stack.pop(); e2 = stack.pop(); if(last_sp >= 0) { switch(formula[0][last_sp][1][0]) { @@ -9941,46 +9985,46 @@ function stringify_formula(formula/*Array*/, range, cell, supbooks, opts) { stack.push(e2+PtgBinOp[f[0]]+e1); break; - case 'PtgIsect': /* 2.5.198.67 */ + case 'PtgIsect': /* [MS-XLS] 2.5.198.67 */ e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+" "+e1); break; - case 'PtgUnion': /* 2.5.198.94 */ + case 'PtgUnion': /* [MS-XLS] 2.5.198.94 */ e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+","+e1); break; - case 'PtgRange': /* 2.5.198.83 */ + case 'PtgRange': /* [MS-XLS] 2.5.198.83 */ e1 = stack.pop(); e2 = stack.pop(); stack.push(e2+":"+e1); break; - case 'PtgAttrChoose': /* 2.5.198.34 */ + case 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */ break; - case 'PtgAttrGoto': /* 2.5.198.35 */ + case 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */ break; - case 'PtgAttrIf': /* 2.5.198.36 */ + case 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */ break; case 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */ break; - case 'PtgRef': /* 2.5.198.84 */ + case 'PtgRef': /* [MS-XLS] 2.5.198.84 */ c = shift_cell_xls((f[1][1]), _range, opts); stack.push(encode_cell_xls(c)); break; - case 'PtgRefN': /* 2.5.198.88 */ + case 'PtgRefN': /* [MS-XLS] 2.5.198.88 */ c = cell ? shift_cell_xls((f[1][1]), cell, opts) : (f[1][1]); stack.push(encode_cell_xls(c)); break; - case 'PtgRef3d': /* 2.5.198.85 */ + case 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */ ixti = f[1][1]; c = shift_cell_xls((f[1][2]), _range, opts); sname = get_ixti(supbooks, ixti, opts); var w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars stack.push(sname + "!" + encode_cell_xls(c)); break; - case 'PtgFunc': /* 2.5.198.62 */ - case 'PtgFuncVar': /* 2.5.198.63 */ + case 'PtgFunc': /* [MS-XLS] 2.5.198.62 */ + case 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */ /* f[1] = [argc, func, type] */ var argc = (f[1][0]), func = (f[1][1]); if(!argc) argc = 0; @@ -9990,38 +10034,38 @@ ixti = f[1][1]; c = shift_cell_xls((f[1][2]), _range, opts); stack.push(func + "(" + args.join(",") + ")"); break; - case 'PtgBool': /* 2.5.198.42 */ + case 'PtgBool': /* [MS-XLS] 2.5.198.42 */ stack.push(f[1] ? "TRUE" : "FALSE"); break; - case 'PtgInt': /* 2.5.198.66 */ + case 'PtgInt': /* [MS-XLS] 2.5.198.66 */ stack.push(f[1]); break; - case 'PtgNum': /* 2.5.198.79 TODO: precision? */ + case 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */ stack.push(String(f[1])); break; - case 'PtgStr': /* 2.5.198.89 */ + case 'PtgStr': /* [MS-XLS] 2.5.198.89 */ // $FlowIgnore stack.push('"' + f[1] + '"'); break; - case 'PtgErr': /* 2.5.198.57 */ + case 'PtgErr': /* [MS-XLS] 2.5.198.57 */ stack.push(f[1]); break; - case 'PtgAreaN': /* 2.5.198.31 TODO */ + case 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */ r = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts); stack.push(encode_range_xls((r), opts)); break; - case 'PtgArea': /* 2.5.198.27 TODO: fixed points */ + case 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */ r = shift_range_xls(f[1][1], _range, opts); stack.push(encode_range_xls((r), opts)); break; - case 'PtgArea3d': /* 2.5.198.28 TODO */ + case 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */ ixti = f[1][1]; r = f[1][2]; sname = get_ixti(supbooks, ixti, opts); stack.push(sname + "!" + encode_range_xls((r), opts)); break; - case 'PtgAttrSum': /* 2.5.198.41 */ + case 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */ stack.push("SUM(" + stack.pop() + ")"); break; - case 'PtgAttrSemi': /* 2.5.198.37 */ + case 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */ break; - case 'PtgName': /* 2.5.97.60 TODO: revisions */ + case 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */ /* f[1] = type, 0, nameindex */ nameidx = (f[1][2]); var lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx]; @@ -10030,7 +10074,7 @@ ixti = f[1][1]; r = f[1][2]; stack.push(name); break; - case 'PtgNameX': /* 2.5.97.61 TODO: revisions */ + case 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */ /* f[1] = type, ixti, nameindex */ var bookidx = (f[1][1]); nameidx = (f[1][2]); var externbook; /* TODO: Properly handle missing values */ @@ -10056,7 +10100,7 @@ ixti = f[1][1]; r = f[1][2]; stack.push(externbook.Name); break; - case 'PtgParen': /* 2.5.198.80 */ + case 'PtgParen': /* [MS-XLS] 2.5.198.80 */ var lp = '(', rp = ')'; if(last_sp >= 0) { sp = ""; @@ -10077,13 +10121,13 @@ ixti = f[1][1]; r = f[1][2]; } stack.push(lp + stack.pop() + rp); break; - case 'PtgRefErr': /* 2.5.198.86 */ + case 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */ stack.push('#REF!'); break; - case 'PtgRefErr3d': /* 2.5.198.87 */ + case 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */ stack.push('#REF!'); break; - case 'PtgExp': /* 2.5.198.58 TODO */ + case 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */ c = {c:(f[1][1]),r:(f[1][0])}; var q = ({c: cell.c, r:cell.r}); if(supbooks.sharedf[encode_cell(c)]) { @@ -10105,55 +10149,55 @@ ixti = f[1][1]; r = f[1][2]; } break; - case 'PtgArray': /* 2.5.198.32 TODO */ + case 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */ stack.push("{" + stringify_array(f[1]) + "}"); break; - case 'PtgMemArea': /* 2.5.198.70 TODO: confirm this is a non-display */ + case 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */ //stack.push("(" + f[2].map(encode_range).join(",") + ")"); break; - case 'PtgAttrSpace': /* 2.5.198.38 */ - case 'PtgAttrSpaceSemi': /* 2.5.198.39 */ + case 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */ + case 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */ last_sp = ff; break; - case 'PtgTbl': /* 2.5.198.92 TODO */ + case 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */ break; - case 'PtgMemErr': /* 2.5.198.71 */ + case 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */ break; - case 'PtgMissArg': /* 2.5.198.74 */ + case 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */ stack.push(""); break; - case 'PtgAreaErr': /* 2.5.198.29 */ + case 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */ stack.push("#REF!"); break; - case 'PtgAreaErr3d': /* 2.5.198.30 */ + case 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */ stack.push("#REF!"); break; - case 'PtgMemFunc': /* 2.5.198.72 TODO */ + case 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */ + break; + case 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */ break; - case 'PtgMemNoMem': /* 2.5.198.73 TODO -- find a test case */ - throw new Error('Unrecognized Formula Token: ' + String(f)); - case 'PtgElfCol': /* 2.5.198.46 */ - case 'PtgElfColS': /* 2.5.198.47 */ - case 'PtgElfColSV': /* 2.5.198.48 */ - case 'PtgElfColV': /* 2.5.198.49 */ - case 'PtgElfLel': /* 2.5.198.50 */ - case 'PtgElfRadical': /* 2.5.198.51 */ - case 'PtgElfRadicalLel': /* 2.5.198.52 */ - case 'PtgElfRadicalS': /* 2.5.198.53 */ - case 'PtgElfRw': /* 2.5.198.54 */ - case 'PtgElfRwV': /* 2.5.198.55 */ + case 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */ + case 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */ + case 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */ + case 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */ + case 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */ + case 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */ + case 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */ + case 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */ + case 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */ + case 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */ throw new Error("Unsupported ELFs"); - case 'PtgAttrBaxcel': /* 2.5.198.33 TODO -- find a test case*/ + case 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 TODO -- find a test case*/ throw new Error('Unrecognized Formula Token: ' + String(f)); - case 'PtgSxName': /* 2.5.198.91 TODO -- find a test case */ + case 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */ throw new Error('Unrecognized Formula Token: ' + String(f)); case 'PtgList': /* [MS-XLSB] 2.5.97.52 TODO -- find a test case */ throw new Error('Unrecognized Formula Token: ' + String(f)); @@ -10262,7 +10306,6 @@ function parse_Formula(blob, length, opts) { /* XLSB Parsed Formula records have the same shape */ function parse_XLSBParsedFormula(data, length, opts) { - //var end = data.l + length; var cce = data.read_shift(4); var rgce = parse_Rgce(data, cce, opts); var cb = data.read_shift(4); @@ -11639,6 +11682,7 @@ function safe_format(p, fmtid, fillid, opts, themes, styles) { if(opts.cellNF) p.z = SSF._table[fmtid]; } catch(e) { if(opts.WTF) throw e; } if(!opts || opts.cellText !== false) try { + if(SSF._table[fmtid] == null) SSF.load(SSFImplicit[fmtid] || "General", fmtid); if(p.t === 'e') p.w = p.w || BErr[p.v]; else if(fmtid === 0) { if(p.t === 'n') { @@ -12145,9 +12189,11 @@ function write_ws_xml(idx, opts, wb, rels) { ws['!comments'] = []; ws['!drawing'] = []; - var cname = wb.SheetNames[idx]; - try { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {} - o[o.length] = (writextag('sheetPr', null, {'codeName': escapexml(cname)})); + if(opts.bookType !== 'xlsx' && wb.vbaraw) { + var cname = wb.SheetNames[idx]; + try { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {} + o[o.length] = (writextag('sheetPr', null, {'codeName': escapexml(cname)})); + } o[o.length] = (writextag('dimension', null, {'ref': ref})); @@ -12218,7 +12264,9 @@ function write_ws_xml(idx, opts, wb, rels) { /* colBreaks */ /* customProperties */ /* cellWatches */ - /* ignoredErrors */ + + o[o.length] = writetag("ignoredErrors", writextag("ignoredError", null, {numberStoredAsText:1, sqref:ref})); + /* smartTags */ if(ws['!drawing'].length > 0) { @@ -12245,7 +12293,7 @@ function write_ws_xml(idx, opts, wb, rels) { return o.join(""); } -/* [MS-XLSB] 2.4.718 BrtRowHdr */ +/* [MS-XLSB] 2.4.726 BrtRowHdr */ function parse_BrtRowHdr(data, length) { var z = ({}); var tgt = data.l + length; @@ -12313,16 +12361,16 @@ function write_row_header(ba, ws, range, R) { if((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 'BrtRowHdr', o); } -/* [MS-XLSB] 2.4.812 BrtWsDim */ +/* [MS-XLSB] 2.4.820 BrtWsDim */ var parse_BrtWsDim = parse_UncheckedRfX; var write_BrtWsDim = write_UncheckedRfX; -/* [MS-XLSB] 2.4.813 BrtWsFmtInfo */ +/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */ function parse_BrtWsFmtInfo() { } //function write_BrtWsFmtInfo(ws, o) { } -/* [MS-XLSB] 2.4.815 BrtWsProp */ +/* [MS-XLSB] 2.4.823 BrtWsProp */ function parse_BrtWsProp(data, length) { var z = {}; /* TODO: pull flags */ @@ -12340,7 +12388,7 @@ function write_BrtWsProp(str, o) { return o.slice(0, o.l); } -/* [MS-XLSB] 2.4.303 BrtCellBlank */ +/* [MS-XLSB] 2.4.306 BrtCellBlank */ function parse_BrtCellBlank(data) { var cell = parse_XLSBCell(data); return [cell]; @@ -12351,7 +12399,7 @@ function write_BrtCellBlank(cell, ncell, o) { } -/* [MS-XLSB] 2.4.304 BrtCellBool */ +/* [MS-XLSB] 2.4.307 BrtCellBool */ function parse_BrtCellBool(data) { var cell = parse_XLSBCell(data); var fBool = data.read_shift(1); @@ -12364,14 +12412,14 @@ function write_BrtCellBool(cell, ncell, o) { return o; } -/* [MS-XLSB] 2.4.305 BrtCellError */ +/* [MS-XLSB] 2.4.308 BrtCellError */ function parse_BrtCellError(data) { var cell = parse_XLSBCell(data); var bError = data.read_shift(1); return [cell, bError, 'e']; } -/* [MS-XLSB] 2.4.308 BrtCellIsst */ +/* [MS-XLSB] 2.4.311 BrtCellIsst */ function parse_BrtCellIsst(data) { var cell = parse_XLSBCell(data); var isst = data.read_shift(4); @@ -12384,7 +12432,7 @@ function write_BrtCellIsst(cell, ncell, o) { return o; } -/* [MS-XLSB] 2.4.310 BrtCellReal */ +/* [MS-XLSB] 2.4.313 BrtCellReal */ function parse_BrtCellReal(data) { var cell = parse_XLSBCell(data); var value = parse_Xnum(data); @@ -12397,7 +12445,7 @@ function write_BrtCellReal(cell, ncell, o) { return o; } -/* [MS-XLSB] 2.4.311 BrtCellRk */ +/* [MS-XLSB] 2.4.314 BrtCellRk */ function parse_BrtCellRk(data) { var cell = parse_XLSBCell(data); var value = parse_RkNumber(data); @@ -12411,7 +12459,7 @@ function write_BrtCellRk(cell, ncell, o) { } -/* [MS-XLSB] 2.4.314 BrtCellSt */ +/* [MS-XLSB] 2.4.317 BrtCellSt */ function parse_BrtCellSt(data) { var cell = parse_XLSBCell(data); var value = parse_XLWideString(data); @@ -12424,7 +12472,7 @@ function write_BrtCellSt(cell, ncell, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.647 BrtFmlaBool */ +/* [MS-XLSB] 2.4.653 BrtFmlaBool */ function parse_BrtFmlaBool(data, length, opts) { var end = data.l + length; var cell = parse_XLSBCell(data); @@ -12440,7 +12488,7 @@ function parse_BrtFmlaBool(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.648 BrtFmlaError */ +/* [MS-XLSB] 2.4.654 BrtFmlaError */ function parse_BrtFmlaError(data, length, opts) { var end = data.l + length; var cell = parse_XLSBCell(data); @@ -12456,7 +12504,7 @@ function parse_BrtFmlaError(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.649 BrtFmlaNum */ +/* [MS-XLSB] 2.4.655 BrtFmlaNum */ function parse_BrtFmlaNum(data, length, opts) { var end = data.l + length; var cell = parse_XLSBCell(data); @@ -12472,7 +12520,7 @@ function parse_BrtFmlaNum(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.650 BrtFmlaString */ +/* [MS-XLSB] 2.4.656 BrtFmlaString */ function parse_BrtFmlaString(data, length, opts) { var end = data.l + length; var cell = parse_XLSBCell(data); @@ -12488,17 +12536,17 @@ function parse_BrtFmlaString(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.676 BrtMergeCell */ +/* [MS-XLSB] 2.4.682 BrtMergeCell */ var parse_BrtMergeCell = parse_UncheckedRfX; var write_BrtMergeCell = write_UncheckedRfX; -/* [MS-XLSB] 2.4.108 BrtBeginMergeCells */ +/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */ function write_BrtBeginMergeCells(cnt, o) { if(o == null) o = new_buf(4); o.write_shift(4, cnt); return o; } -/* [MS-XLSB] 2.4.656 BrtHLink */ +/* [MS-XLSB] 2.4.662 BrtHLink */ function parse_BrtHLink(data, length) { var end = data.l + length; var rfx = parse_UncheckedRfX(data, 16); @@ -12536,7 +12584,7 @@ function parse_BrtArrFmla(data, length, opts) { return o; } -/* [MS-XLSB] 2.4.742 BrtShrFmla */ +/* [MS-XLSB] 2.4.750 BrtShrFmla */ function parse_BrtShrFmla(data, length, opts) { var end = data.l + length; var rfx = parse_UncheckedRfX(data, 16); @@ -12566,7 +12614,7 @@ function write_BrtColInfo(C, col, o) { return o; } -/* [MS-XLSB] 2.4.672 BrtMargins */ +/* [MS-XLSB] 2.4.678 BrtMargins */ var BrtMarginKeys = ["left","right","top","bottom","header","footer"]; function parse_BrtMargins(data) { var margins = ({}); @@ -12580,7 +12628,7 @@ function write_BrtMargins(margins, o) { return o; } -/* [MS-XLSB] 2.4.292 BrtBeginWsView */ +/* [MS-XLSB] 2.4.299 BrtBeginWsView */ function parse_BrtBeginWsView(data) { var f = data.read_shift(2); data.l += 28; @@ -12606,7 +12654,16 @@ function write_BrtBeginWsView(ws, Workbook, o) { return o; } -/* [MS-XLSB] 2.4.740 BrtSheetProtection */ +/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */ +function write_BrtCellIgnoreEC(ref) { + var o = new_buf(24); + o.write_shift(4, 4); + o.write_shift(4, 1); + write_UncheckedRfX(ref, o); + return o; +} + +/* [MS-XLSB] 2.4.748 BrtSheetProtection */ function write_BrtSheetProtection(sp, o) { if(o == null) o = new_buf(16*4+2); o.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0); @@ -12981,6 +13038,13 @@ function write_COLINFOS(ba, ws) { write_record(ba, 'BrtEndColInfos'); } +function write_IGNOREECS(ba, ws) { + if(!ws || !ws['!ref']) return; + write_record(ba, 'BrtBeginCellIgnoreECs'); + write_record(ba, 'BrtCellIgnoreEC', write_BrtCellIgnoreEC(safe_decode_range(ws['!ref']))); + write_record(ba, 'BrtEndCellIgnoreECs'); +} + function write_HLINKS(ba, ws, rels) { /* *BrtHLink */ ws['!links'].forEach(function(l) { @@ -13001,7 +13065,7 @@ function write_LEGACYDRAWING(ba, ws, idx, rels) { function write_AUTOFILTER(ba, ws) { if(!ws['!autofilter']) return; - write_record(ba, "BrtBeginAFilter", write_UncheckedRfX(decode_range(ws['!autofilter'].ref))); + write_record(ba, "BrtBeginAFilter", write_UncheckedRfX(safe_decode_range(ws['!autofilter'].ref))); /* *FILTERCOLUMN */ /* [SORTSTATE] */ /* BrtEndAFilter */ @@ -13043,7 +13107,7 @@ function write_ws_bin(idx, opts, wb, rels) { /* passed back to write_zip and removed there */ ws['!comments'] = []; write_record(ba, "BrtBeginSheet"); - write_record(ba, "BrtWsProp", write_BrtWsProp(c)); + if(wb.vbaraw) write_record(ba, "BrtWsProp", write_BrtWsProp(c)); write_record(ba, "BrtWsDim", write_BrtWsDim(r)); write_WSVIEWS2(ba, ws, wb.Workbook); write_WSFMTINFO(ba, ws); @@ -13070,7 +13134,7 @@ function write_ws_bin(idx, opts, wb, rels) { /* [COLBRK] */ /* *BrtBigName */ /* [CELLWATCHES] */ - /* [IGNOREECS] */ + write_IGNOREECS(ba, ws); /* [SMARTTAGS] */ /* [BrtDrawing] */ write_LEGACYDRAWING(ba, ws, idx, rels); @@ -13357,16 +13421,21 @@ function check_ws_name(n, safe) { }); return _good; } -function check_wb_names(N) { +function check_wb_names(N, S, codes) { N.forEach(function(n,i) { check_ws_name(n); for(var j = 0; j < i; ++j) if(n == N[j]) throw new Error("Duplicate Sheet Name: " + n); + if(codes) { + var cn = (S && S[i] && S[i].CodeName) || n; + if(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error("Bad Code Name: Worksheet" + cn); + } }); } function check_wb(wb) { if(!wb || !wb.SheetNames || !wb.Sheets) throw new Error("Invalid Workbook"); if(!wb.SheetNames.length) throw new Error("Workbook is empty"); - check_wb_names(wb.SheetNames); + var Sheets = (wb.Workbook && wb.Workbook.Sheets) || []; + check_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw); /* TODO: validate workbook */ } /* 18.2 Workbook */ @@ -13598,7 +13667,7 @@ if(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.Cod if(o.length>2){ o[o.length] = ''; o[1]=o[1].replace("/>",">"); } return o.join(""); } -/* [MS-XLSB] 2.4.301 BrtBundleSh */ +/* [MS-XLSB] 2.4.304 BrtBundleSh */ function parse_BrtBundleSh(data, length) { var z = {}; z.Hidden = data.read_shift(4); //hsState ST_SheetState @@ -13616,7 +13685,7 @@ function write_BrtBundleSh(data, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.807 BrtWbProp */ +/* [MS-XLSB] 2.4.815 BrtWbProp */ function parse_BrtWbProp(data, length) { var o = ({}); var flags = data.read_shift(4); @@ -13661,7 +13730,7 @@ function parse_BrtFRTArchID$(data, length) { return o; } -/* [MS-XLSB] 2.4.680 BrtName */ +/* [MS-XLSB] 2.4.687 BrtName */ function parse_BrtName(data, length, opts) { var end = data.l + length; data.l += 4; //var flags = data.read_shift(4); @@ -13683,7 +13752,7 @@ function parse_BrtName(data, length, opts) { return out; } -/* [MS-XLSB] 2.1.7.60 Workbook */ +/* [MS-XLSB] 2.1.7.61 Workbook */ function parse_wb_bin(data, opts) { var wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: "" }; var pass = false; @@ -13785,7 +13854,6 @@ function parse_wb_bin(data, opts) { return wb; } -/* [MS-XLSB] 2.1.7.60 Workbook */ function write_BUNDLESHS(ba, wb) { write_record(ba, "BrtBeginBundleShs"); for(var idx = 0; idx != wb.SheetNames.length; ++idx) { @@ -13796,7 +13864,7 @@ function write_BUNDLESHS(ba, wb) { write_record(ba, "BrtEndBundleShs"); } -/* [MS-XLSB] 2.4.643 BrtFileVersion */ +/* [MS-XLSB] 2.4.649 BrtFileVersion */ function write_BrtFileVersion(data, o) { if(!o) o = new_buf(127); for(var i = 0; i != 4; ++i) o.write_shift(4, 0); @@ -13808,7 +13876,7 @@ function write_BrtFileVersion(data, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.4.298 BrtBookView */ +/* [MS-XLSB] 2.4.301 BrtBookView */ function write_BrtBookView(idx, o) { if(!o) o = new_buf(29); o.write_shift(-4, 0); @@ -13823,7 +13891,6 @@ function write_BrtBookView(idx, o) { return o.length > o.l ? o.slice(0, o.l) : o; } -/* [MS-XLSB] 2.1.7.60 Workbook */ function write_BOOKVIEWS(ba, wb) { /* required if hidden tab appears before visible tab */ if(!wb.Workbook || !wb.Workbook.Sheets) return; @@ -13840,7 +13907,7 @@ function write_BOOKVIEWS(ba, wb) { write_record(ba, "BrtEndBookViews"); } -/* [MS-XLSB] 2.4.302 BrtCalcProp */ +/* [MS-XLSB] 2.4.305 BrtCalcProp */ /*function write_BrtCalcProp(data, o) { if(!o) o = new_buf(26); o.write_shift(4,0); // force recalc @@ -13853,14 +13920,14 @@ function write_BOOKVIEWS(ba, wb) { return o; }*/ -/* [MS-XLSB] 2.4.640 BrtFileRecover */ +/* [MS-XLSB] 2.4.646 BrtFileRecover */ /*function write_BrtFileRecover(data, o) { if(!o) o = new_buf(1); o.write_shift(1,0); return o; }*/ -/* [MS-XLSB] 2.1.7.60 Workbook */ +/* [MS-XLSB] 2.1.7.61 Workbook */ function write_wb_bin(wb, opts) { var ba = buf_array(); write_record(ba, "BrtBeginBook"); @@ -15951,15 +16018,15 @@ if(!cur_sheet) Workbook.WBProps.CodeName = val || "ThisWorkbook"; function parse_props(cfb, props, o) { /* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */ var DSI = CFB.find(cfb, '!DocumentSummaryInformation'); - if(DSI) try { - var DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI); + if(DSI && DSI.size > 0) try { + var DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, "02d5cdd59c2e1b10939708002b2cf9ae"); for(var d in DocSummary) props[d] = DocSummary[d]; } catch(e) {if(o.WTF) throw e;/* empty */} /* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/ var SI = CFB.find(cfb, '!SummaryInformation'); - if(SI) try { - var Summary = parse_PropertySetStream(SI, SummaryPIDSI); + if(SI && SI.size > 0) try { + var Summary = parse_PropertySetStream(SI, SummaryPIDSI, "e0859ff2f94f6810ab9108002b27b3d9"); for(var s in Summary) if(props[s] == null) props[s] = Summary[s]; } catch(e) {if(o.WTF) throw e;/* empty */} } @@ -16661,8 +16728,10 @@ var XLSBRecordEnum = { 0x0422: { n:"BrtBeginSparklineGroups" }, 0x0423: { n:"BrtEndSparklineGroups" }, 0x0425: { n:"BrtSXVD14" }, -0x0426: { n:"BrtBeginSxview14" }, -0x0427: { n:"BrtEndSxview14" }, +0x0426: { n:"BrtBeginSXView14" }, +0x0427: { n:"BrtEndSXView14" }, +0x0428: { n:"BrtBeginSXView16" }, +0x0429: { n:"BrtEndSXView16" }, 0x042A: { n:"BrtBeginPCD14" }, 0x042B: { n:"BrtEndPCD14" }, 0x042C: { n:"BrtBeginExtConn14" }, @@ -16849,6 +16918,12 @@ var XLSBRecordEnum = { 0x0856: { n:"BrtFieldListActiveItem" }, 0x0857: { n:"BrtPivotCacheIdVersion" }, 0x0858: { n:"BrtSXDI15" }, +0x0859: { n:"BrtBeginModelTimeGroupings" }, +0x085A: { n:"BrtEndModelTimeGroupings" }, +0x085B: { n:"BrtBeginModelTimeGrouping" }, +0x085C: { n:"BrtEndModelTimeGrouping" }, +0x085D: { n:"BrtModelTimeGroupingCalcCol" }, +0x0C01: { n:"BrtRevisionPtr" }, 0xFFFF: { n:"" } }; @@ -17368,15 +17443,44 @@ function write_biff2_buf(wb, opts) { return ba.end(); } -function write_FMTS_biff8(ba, NF) { +function write_FONTS_biff8(ba, data, opts) { + write_biff_rec(ba, "Font", write_Font({ + sz:12, + color: {theme:1}, + name: "Arial", + family: 2, + scheme: "minor" + }, opts)); +} + + +function write_FMTS_biff8(ba, NF, opts) { if(!NF) return; [[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) { -for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_biff_rec(ba, "Format", write_Format(i, NF[i])); +for(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_biff_rec(ba, "Format", write_Format(i, NF[i], opts)); }); } -function write_CELLXFS_biff8(ba, data) { - data.forEach(function(c) { - write_biff_rec(ba, "XF", write_XF(c,0)); + +function write_FEAT(ba, ws) { + /* [MS-XLS] 2.4.112 */ + var o = new_buf(19); + o.write_shift(4, 0x867); o.write_shift(4, 0); o.write_shift(4, 0); + o.write_shift(2, 3); o.write_shift(1, 1); o.write_shift(4, 0); + write_biff_rec(ba, "FeatHdr", o); + /* [MS-XLS] 2.4.111 */ + o = new_buf(39); + o.write_shift(4, 0x868); o.write_shift(4, 0); o.write_shift(4, 0); + o.write_shift(2, 3); o.write_shift(1, 0); o.write_shift(4, 0); + o.write_shift(2, 1); o.write_shift(4, 4); o.write_shift(2, 0); + write_Ref8U(safe_decode_range(ws['!ref']), o); + o.write_shift(4, 4); + write_biff_rec(ba, "Feat", o); +} + +function write_CELLXFS_biff8(ba, opts) { + for(var i = 0; i < 16; ++i) write_biff_rec(ba, "XF", write_XF({numFmtId:0, style:true}, 0, opts)); + opts.cellXfs.forEach(function(c) { + write_biff_rec(ba, "XF", write_XF(c, 0, opts)); }); } @@ -17390,14 +17494,14 @@ function write_ws_biff8_hlinks(ba, ws) { } function write_ws_biff8_cell(ba, cell, R, C, opts) { - var os = get_cell_style(opts.cellXfs, cell, opts); + var os = 16 + get_cell_style(opts.cellXfs, cell, opts); if(cell.v != null) switch(cell.t) { case 'd': case 'n': var v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v; /* TODO: emit RK as appropriate */ write_biff_rec(ba, "Number", write_Number(R, C, v, os, opts)); return; - case 'b': case 'e': write_biff_rec(ba, "BoolErr", write_BoolErr(R, C, cell.v, os, opts, cell.t)); return; + case 'b': case 'e': write_biff_rec(ba, 0x0205, write_BoolErr(R, C, cell.v, os, opts, cell.t)); return; /* TODO: codepage, sst */ case 's': case 'str': write_biff_rec(ba, "Label", write_Label(R, C, cell.v, os, opts)); @@ -17452,12 +17556,14 @@ function write_ws_biff8(idx, opts, wb) { /* ... */ if(b8 && _WB.Views) write_biff_rec(ba, "Window2", write_Window2(_WB.Views[0])); /* ... */ - if(b8) write_biff_rec(ba, "MergeCells", write_MergeCells(ws['!merges']||[])); + if(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, "MergeCells", write_MergeCells(ws['!merges'])); /* ... */ if(b8) write_ws_biff8_hlinks(ba, ws); /* ... */ write_biff_rec(ba, "CodeName", write_XLUnicodeString(cname, opts)); /* ... */ + if(b8) write_FEAT(ba, ws); + /* ... */ write_biff_rec(ba, "EOF"); return ba.end(); } @@ -17465,7 +17571,9 @@ function write_ws_biff8(idx, opts, wb) { /* [MS-XLS] 2.1.7.20.3 */ function write_biff8_global(wb, bufs, opts) { var A = buf_array(); - var _wb = (wb.Workbook||{}).WBProps||{}; + var _WB = ((wb||{}).Workbook||{}); + var _sheets = (_WB.Sheets||[]); + var _wb = _WB.WBProps||{}; var b8 = opts.biff == 8, b5 = opts.biff == 5; write_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts)); if(opts.bookType == "xla") write_biff_rec(A, "Addin"); @@ -17477,10 +17585,10 @@ function write_biff8_global(wb, bufs, opts) { write_biff_rec(A, "WriteAccess", write_WriteAccess("SheetJS", opts)); write_biff_rec(A, "CodePage", writeuint16(b8 ? 0x04b0 : 0x04E4)); if(b8) write_biff_rec(A, "DSF", writeuint16(0)); + if(b8) write_biff_rec(A, "Excel9File"); write_biff_rec(A, "RRTabId", write_RRTabId(wb.SheetNames.length)); if(b8 && wb.vbaraw) { write_biff_rec(A, "ObProj"); - // $FlowIgnore var cname = _wb.CodeName || "ThisWorkbook"; write_biff_rec(A, "CodeName", write_XLUnicodeString(cname, opts)); } @@ -17498,8 +17606,9 @@ function write_biff8_global(wb, bufs, opts) { if(b8) write_biff_rec(A, "RefreshAll", writebool(false)); write_biff_rec(A, "BookBool", writeuint16(0)); /* ... */ - if(b8) write_FMTS_biff8(A, wb.SSF); - if(b8) write_CELLXFS_biff8(A, opts.cellXfs); + write_FONTS_biff8(A, wb, opts); + write_FMTS_biff8(A, wb.SSF, opts); + write_CELLXFS_biff8(A, opts); /* ... */ if(b8) write_biff_rec(A, "UsesELFs", writebool(false)); var a = A.end(); @@ -17515,7 +17624,8 @@ function write_biff8_global(wb, bufs, opts) { for(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length; var start = a.length + blen + c.length; for(j = 0; j < wb.SheetNames.length; ++j) { - write_biff_rec(B, "BoundSheet8", write_BoundSheet8({pos:start, hs:0, dt:0, name:wb.SheetNames[j]}, opts)); + var _sheet = _sheets[j] || ({}); + write_biff_rec(B, "BoundSheet8", write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts)); start += bufs[j].length; } /* 1*BoundSheet8 */